Chinaunix首页 | 论坛 | 博客
  • 博客访问: 719953
  • 博文数量: 33
  • 博客积分: 10012
  • 博客等级: 上将
  • 技术积分: 1365
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-15 09:11
文章分类
文章存档

2009年(10)

2008年(23)

我的朋友

分类: C/C++

2008-08-01 10:49:12

因为对压缩产生了兴趣,所以下载了众所周知的库zlib v1.2.3版来玩玩,但是发现在VC2005下无法编译汇编代码 inffas32.asm,错误如下:

inffas32.asm(594) : error A2070: invalid instruction operands
inffas32.asm(596) : error A2070: invalid instruction operands
inffas32.asm(610) : error A2070: invalid instruction operands
inffas32.asm(667) : error A2070: invalid instruction operands

压缩操作是明显的计算密集型操作,缺乏手工优化的汇编代码会慢不少。好在这个库是个用途广泛的东西,很快就找到了结果。

依据的 说法,这个情况是By Design,不是Bug。只需要将inffas32.asm 文件中的 4 处出错的类似 movd mm4, [esp+0] 的汇编代码,添加 dword ptr 修饰符,改为 movd mm4, dword ptr [esp+0] 即可。

阅读(2198) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~