x86汇编中cmove指令的用途?
反汇编遇到cmove指令的可执行文件。 我已经在互联网上搜索,但我只发现这是一个有条件的举动,如果源和目的地相等,则会发生mov。 我还没有理解的是为什么我需要它,因为它不会改变操作数。 请你能向我解释它的目的,如果有必要的话,也可以使用一个例子
谢谢
CMOVcc
指令不会比较源和目标。 它使用先前比较(或设置标志的其他操作)中的标志来确定移动是否应完成。
例; 如果eax
和ebx
相等,则将edx
复制到ecx
:
cmp eax, ebx
cmoveq ecx, edx
这与以下相同:
cmp eax, ebx
jne skip
mov ecx, edx
skip:
链接地址: http://www.djcxy.com/p/12561.html