比如:MOVSD/COMSD
在常规指令中,分别是在esi/edi之间移动或者比较字符串;
而SSE2同样有这两个指令,分别是移动或比较双精度浮点数。。。
但是我在masm中写类似:
cmpsd xmm0, xmm1, 0
这样的比较时,提示的竟然是“too many operands to instruction”
明显这是当做常规指令来处理了啊。。。
我想到个办法,就是写入硬编码,比如cmpsd在sse2中的opcode是 F2 0F C2
但是这样也太不直观了,对于后期维护也比较麻烦。。。
我想请问,类似这样的指令,在masm里面是不是应该有什么声明啥的来定义指令是sse的指令呢???
------解决思路----------------------
只能说是masm的问题,以下代码在nasm下表示毫无问题:
cmpsd
cmpsd xmm0,xmm1,0
------解决思路----------------------
你的masm神马版本?尝试使用较新版本的,比如vs2012里面附带的