0

我正在尝试将继承的 32 位 Windows 应用程序转换为 64 位。我挂断了嵌入在 32 位 C 文件中的这个位:

__asm {
     pxor mm0,mm0
     punpcklbw mm0, dword ptr[x]
     ...   }

'x' 是 C 中的结构。

根据 MA​​SM 64 位的要求,我将 ASM 重构为一个外部文件,如下所示:

mmx_speedup_asm PROC x:PTR DWORD
         pxor mm0,mm0
         punpcklbw mm0, x
         ...
mmx_spedup_asm ENDP

在编译时,我收到此错误:

invalid instruction operands

在“punpcklbw”线上

这似乎可能是 64 位/32 位之间的不匹配,但我无法确切说明原因或如何修复它。

4

0 回答 0