ITEEDU

9、转移指令

9.1、无条件转移指令

指令的语法 举例 周期数

JMP label

jmp NEAR PTR distant 1
jmp distant 3
JMP reg16 jmp ax 2
JMP mem16 jmp table[di] 2
JMP reg32 jmp eax 3
JMP mem32 jmp fpointer[si] 2
JMP mem48 jmp FWORD PTR [di] 4

9.2、条件转移指令

指令的语法 举例 周期数
Jcondition label je next 1

9.3、子程序调用指令

指令的语法 举例 周期数

CALL label

call upcase

1
call distant 4
CALL reg call ax 2
CALL mem32 call [bx] 2
CALL mem32 call dword ptr [bx] 5

9.4、子程序返回指令

指令的语法 举例 周期数
RETN retn 2
RETN immed16 retn 8 3
RETF retf 4, 23
RETF immed16 retf 32 4, 23

9.5、中断指令

指令的语法 举例 周期数
INT immed8 int 25h 16, pm=31, 48*(注)
INT 3 int 3 13, pm=27, 44*
INTO Into 13, pm=27, 44*

注:第一时间是同等优先级的中断时间,第二时间为高优先级的中断时间。

9.6、中断返回指令

指令的语法 举例 周期数
IRET Iret 8*(注),10, pm=27
IRETD Iretd 10, pm=27
IRETF Iretf  
IRETDF Iretdf  

注:实方式或虚拟8086方式。

10、条件设置字节指令

指令的语法 举例 周期数
SETcondition reg8 setc dh 1
SETcondition mem8 setle flag 2