其他指令
CMP
格式: CMP R/M,R/M/IMM. 主要根据 比较的结果 改变 ZF 标志位.
当 俩个数相等时,ZF == 1.
否则 ZF == 0.
如果是正向代码的话,就是IF 分支用来跳转,或者选择代码来执行
CMP相当于 执行 SUB 指令. 但是并不会将 比较结果存储到第一个操作数中
还会影响到 SF 标志位.
当第一个数比第二个数小,那么SF == 1.否则 SF== 0
CMP还可以寄存器和内存中的只进行比较
TEST
格式: TEST R/M,R/M/IMM. 主要根据 比较的结果 改变 ZF 标志位. 相当于 进行 AND 操作.
如果 AND 之后结果是0.那么ZF==0.
例如: TEST EAX,EAX. 判断的就是EAX中的值是不是0
其他指令
这些指令会根据一些标志位来进行跳转操作.
JE,JZ 结果 == 0时跳转. 这时,ZF == 1
JNE,JNZ 结果