0%

第十章 call和ret指令

返回指令ret和retf

格式:ret ;实现近转移,相当于pop ip
格式:retf; 实现远转移,相当于pop ip ,pop cs

例10-1.补全程序,实现从内存1000:0处开始执行指令。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
assume cs:code
stack segment
db 16 dup(0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,---
push ax
mov ax,---
push ax
retf
code ends
end start
1
2
mov ax,0
mov ax,1000

call指令

执行call指令的功能相当于:
1、push ip或push cs、push ip;
2、修改当前ip或ip和cs指向目的地址。

依据位移进行转移的call指令

格式:call 标号
功能:将当前IP压栈,IP=IP+16位的位移量,转移到标号处执行。