x86汇编中cmove指令的用途?

反汇编遇到cmove指令的可执行文件。 我已经在互联网上搜索,但我只发现这是一个有条件的举动,如果源和目的地相等,则会发生mov。 我还没有理解的是为什么我需要它,因为它不会改变操作数。 请你能向我解释它的目的,如果有必要的话,也可以使用一个例子

谢谢


CMOVcc指令不会比较源和目标。 它使用先前比较(或设置标志的其他操作)中的标志来确定移动是否应完成。

例; 如果eaxebx相等,则将edx复制到ecx

cmp eax, ebx
cmoveq ecx, edx

这与以下相同:

cmp eax, ebx
jne skip
  mov ecx, edx
skip:
链接地址: http://www.djcxy.com/p/12561.html

上一篇: Purpose of cmove instruction in x86 assembly?

下一篇: LEA & MOV instruction comparision