答案 0 :(得分:0)
在x86
汇编中,相应的指令为CMPSD
。在Intel Instruction manual
中,它被描述为
OpCode字节:A7 ---指令:CMPSD ---编码:NP --- 64位:有效--- 32位:有效
- 对于传统模式,请在地址处比较dword DS:(E)在地址ES处带有双字的SI:(E)DI;
- 对于 64位模式比较地址(R | E)SI处的双字 在地址(R | E)DI处使用双字。状态标志 相应地设定。
CMPSD
比较两个内存操作数,并相应地设置EFLAGS
中的状态标志以消耗Jcc/CMOVcc/...
。
因此,为了比较两个DWORD / 4字节变量,您可以像这样设置ESI和EDI
lea esi, var1 ; ESI = address of var1
lea edi, var2 ; EDI = address of var2
cmpsd ; compare them
Jcc... ; use (E)FLAGS
对于其他变量大小,如1,2,4,8字节,分别使用CMPS(B,W,D,Q)。