一、CMP比较指令,相当于SUB命令

比较两个操作数,如果两个数相等,zf标志位就为1,将eax,ebx的值置为1,执行下面指令,je这个跳转指令就会根据zf标志位进行跳转

cmp eax,ebx
je 0x46b996

汇编指令学习(CMP,TEST)_与运算

汇编指令学习(CMP,TEST)_与运算_02

如果将eax,ebx分别置为1,2,je将不会发生跳转

汇编指令学习(CMP,TEST)_与运算_03

汇编指令学习(CMP,TEST)_与运算_04

二、test比较指令,相当于逻辑与运算

主要用来判断操作数是否为0,将eax置为1,执行下面指令,je不发生跳转,zf标志位为0

汇编指令学习(CMP,TEST)_与运算_05

汇编指令学习(CMP,TEST)_与运算_06

将eax置为0,je会发生跳转,zf标志位为1

汇编指令学习(CMP,TEST)_操作数_07

汇编指令学习(CMP,TEST)_与运算_08