当我尝试编译时movd
指令显示错误为
error A2085:instruction or register not accepted in current CPU mode
我的代码如下:
.386
.model flat, c
.code
add_func_asm PROC
movd eax, ebx
ret
add_func_asm endp
END
this is .asm
文件,我从一个调用这个函数C
file
我使用下面的代码修复了它
.586
.mmx
.model flat, c
.code
add_func_asm PROC
movd mm1, ebx
ret
add_func_asm endp
END
.386
那不行,386处理器没有这条指令。您必须以 .586(Pentium 及更高版本)为目标并明确声明您要使用 MMX 指令集。使固定:
.586
.mmx
这将使汇编器接受 MOVD 指令。接下来您要做的就是修复操作数。从 ebx 移动到 eax 无效且毫无意义,您必须指定 MMx 寄存器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)