我在visual studio的c项目中有一个.asm文件。这些项目为x86
架构编译。
当我尝试编译以下.asm
文件时:
.386
.XMM
.model flat, c
;* Code ****
.code
movsd [eax], xmm0
我得到:
在A2070: Invalid instruction operands
行movsd [eax], xmm0
。
我的猜测是编译器以某种方式将其与Move Data from String to String
movsd
操作混淆,因为如果我用movsd [eax], xmm0
或movsd
更改movdqu [eax], xmm0
,它会正确编译
任何想法如何正确编译原始代码?
修改
通过将操作更改为:
来解决movsd qword ptr [eax], xmm0