Masm不能编译psrldq指令吗?



代码只有一行,我想如果我错过了一些声明。我的 ml 版本是6.14.8444.

错误是:

错误

A2008:语法错误:xmm

汇编代码:

.686
.XMM
.model flat,stdcall
option casemap:none
.code
psrldq  xmm0, 1
end

我在 vs2013 中尝试了内联组装。还行。代码:

int _tmain(unsigned int argc, _TCHAR* argv[]) {
__asm {
psrldq  xmm0, 1
}
return 0;
}

>psrldq是2001年推出的SSE2的一部分。MASM 版本 6.14.8444 于 1999 年发布 (http://bytepointer.com/masm/index.htm#MASM_6.14(。因此,SSE2 在该 MASM 版本中是未知的。

如果您的 CPU 支持 SSE2,您可以插入表示操作码的数据:

.686
.XMM
.model flat,stdcall
option casemap:none
.code
db 66h, 0Fh, 73h, 0D8h, 01h      ; psrldq  xmm0, 1
end

最新更新