1.無條件跳轉指令
指令格式;JMP 目標地址
功能:JMP可以使程序無條件地跳轉到程序存儲器中某目標地址
注意點:
1)指令目標地址若在JMP指令所在的代碼段內,屬段內跳轉,指令只修改IP內容。指令目標地址若在JMP指令所在的代碼段外,屬段間跳轉,CS及IP均要修改。
2)無條件跳轉指令的執行結果不影響標志位。
條件跳轉指令,條件跳轉指令可分為三類:簡單條件跳轉指令、帶符號數條件跳轉指令和無符號數條件跳轉指令
(1)簡單條件跳轉指令
JC 目的地址 進位標志位CF=1,轉移
JNC 目的地址 進位標志位CF=0,轉移
JZ 目的地址 零標志位ZF=1,轉移
JNZ 目的地址 零標志位ZF=0,轉移
JS 目的地址 符號標志SF=1,轉移
JNS 目的地址 符號標志SF=0,轉移
JO 目的地址 溢出標志OF=1,轉移
JNO 目的地址 溢出標志OF=0,轉移
JP 目的地址 奇偶標志PF=1,轉移
JNP 目的地址 奇偶標志PF=0,轉移
JCXZ 目的地址 CX=0,轉移
注意點:
1)條件轉移指令只能轉移到離本指令-128~+127字節范圍內,是一種相對轉移形式,當要往較遠單元地址條件轉移時,可以在本指令-128~+127字節范圍內安排一條無條件轉移指令作為中轉指令即可
2)在使用簡單條件跳轉指令時,必須明確相應標志位的變化。
(2)帶符號數條件跳轉指令
指令格式:
JG/JNLE 目標地址 大於、或不小於且不等於,轉移
JGE/JNL 目標地址 大於或等於、或不小於,轉移
JL/JNGE 目標地址 小於或不大於且不等於,轉移
JLE/JNG 目標地址 小於或等於、或不大於
注意點:在使用帶符號數條件跳轉指令時,必須明確當處理的數據是帶符號數,否則將得不到正確答案
(3)無符號數條件跳轉指令
指令格式:
JB/JNAE 目標地址 低於、或不高於且不等於,轉移
JNB/JAE 目標地址 不低於、或高於或等於,轉移
JA/JNBE 目標地址 不低於、或高於且不等於,轉移
JNA/JBE 目標地址 低於、或不高於或等於,轉移
注意點:在使用無符號數條件跳轉指令時,必須明確當處理的數據是無符號數,否則將得不到正確答案。