当前位置: 代码迷 >> 汇编语言 >> [masm]SSE2指令集中与普通指令名称相同的指令如何调用呢
  详细解决方案

[masm]SSE2指令集中与普通指令名称相同的指令如何调用呢

热度:232   发布时间:2016-05-02 04:27:05.0
[masm]SSE2指令集中与普通指令名称相同的指令怎么调用呢?
比如: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里面附带的