1.
TEST EAX,EAX
JNZ SHORT program.00407190
2.
XOR EAX,EAX
JNZ SHORT program.00407190
如果我错了,请纠正我。谢谢!:)
据我目前的理解:
JNZ
is jump 如果不等于0,它是否会跳转取决于是否ZF
设置为1。如果为 1,则不会跳转。否则,它会跳。
根据我对代码 #1 的理解,TEST EAX,EAX
将检查它是否为零。如果不等于 0(ZF
为 0),则跳转到地址 00407190。
对于代码#2
XOR EAX,EAX
,将 EAX 寄存器设置为 0。它是否设置了任何标志?如果不是,JNZ
指令如何判断是否跳转?
最后,为什么人们要检查是否EAX
为 0?请帮助我更简单,更详细的解释,我还是一个初学者。