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