1.无条件转移指令
(1)无条件段内直接转移指令
无条件段内直接转移指令格式:
JMP 标号
使控制无条件的转移到标号地址。
例:
NEXT: MOV AX, CX
JMP NEXT
JMP OVER
OVER: MOV AX, 1
在执行无条件段内转移指令时,实际操作是把指令中的地址差加到指令指针ip上,使ip内容为目标地址,从而达到转移目的。
段内无条件直接转移指令中的地址差用一个字节表示时成为短转移,用一个字表示时叫做近转移。
段内近跳转:
JMP NEAR PTR PROG
段内短跳转:
JMP SHORT QUEST
(2)无条件段内间接转移指令
格式:JMP OPRD
跳转到操作数OPRD内容给定的目标地址,OPRD可以是通用寄存器,也可以是字存储单元。
例:JMP WORD PTR [1234H]
(3)无条件段间直接转移指令
格式:JMP FAR PTR 标号
控制无条件的转移到标号所对应的地址处,标号前FAR PTR 向汇编程序说明这是段间转移。
无条件段间直接转移指令的具体动作时把指令中包含的目标地址的段值和偏移分别放入CS和IP,这种在指令中直接包含转移目标地址的转移方式成为绝对转移。
(4)无条件段间间接转移指令
格式:JMP OPRD
控制无条件的转移到由操作数OPRD内容给定的目标地址处,OPRD必须是双子存储单元。
例:JMP DWORD PTR [1234H]; 双字但愿的低字内容送到IP,搞字存储单元内容送到CS。
2.条件转移指令
转移指令根据标志位或某些标志位的逻辑运算来判别条件是否成立,若成立,则转移,否则继续顺序执行。
所有条件转移都是只是段内转移,条件转移指令不影响标志。
例:判断AX低四位是否为0,若是 则使CX=0,否则CX=-1
TEST AX, 0FH
JNZ NZERO
MOV CX, 0
NZERO: