反汇编可执行文件时我遇到了cmove
操作说明。我已经在互联网上搜索过,但我只发现这是一个有条件的移动,如果源和目的地相等mov
发生。我还不明白为什么我需要它,因为它不会改变操作数。它的目的是什么?
The CMOVcc
指令不比较源和目标。它们使用先前比较(或设置标志的其他操作)中的标志来确定是否应该进行移动。 (英特尔手册 https://www.felixcloutier.com/x86/cmovcc)
例子;这个副本edx
to ecx
if eax
and ebx
相等:
cmp eax, ebx
cmove ecx, edx
这与以下操作相同:
cmp eax, ebx
jne skip
mov ecx, edx
skip:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)