JZ/JE
指令格式 转移条件 说明
JZ/JE 标号 ZF=1 等于0或相等转移
code segment
assume cs:codemov ax,2mov bx,2cmp ax,bxje ok ;如果ax=bx 进行转移(其实是检测ZF的值进行转移操作)
;根据ZF=1 得出ax=bx ,所以才有ax=bx 相等则转移
iout: mov ax,4c00Hint 21H
ok: add ax,bxjmp iout
code ends
end
U反编译
-u
0C9A:0000 B80200 MOV AX,0002
0C9A:0003 BB0200 MOV BX,0002
0C9A:0006 3BC3 CMP AX,BX
0C9A:0008 7405 JZ 000F ;把编号编译成了目的地址
0C9A:000A B8004C MOV AX,4C00
0C9A:000D CD21 INT 21
0C9A:000F 03C3 ADD AX,BX
0C9A:0011 EBF7 JMP 000A
T单步执行
AX=0002 BX=0002 CX=0013 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=0C8A ES=0C8A SS=0C9A CS=0C9A IP=0006 NV UP EI PL NZ NA PO NC
0C9A:0006 3BC3 CMP AX,BX ;CMP指令进行两数的比较
-t ;如果相等则用je进行转移AX=0002 BX=0002 CX=0013 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=0C8A ES=0C8A SS=0C9A CS=0C9A IP=0008 NV UP EI PL ZR NA PE NC
0C9A:0008 7405 JZ 000F ;ZR(ZF=1) jz根据结果转移
-t AX=0002 BX=0002 CX=0013 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=0C8A ES=0C8A SS=0C9A CS=0C9A IP=000F NV UP EI PL ZR NA PE NC
0C9A:000F 03C3 ADD AX,BX ;转移到了目标地址指向的指令
je/jz根据CMP比较结果进行转移,ZF=1 就会发生转移