汇编语言(王爽) 第10章 call和ret

这2个指令也是转移指令,一块儿用的时候有特效~~~~函数

10.1 ret and retfoop

ret 至关于pop ip 把栈顶的字弹出到ipcode

retf至关于先执行pop ip and pop csip

10.2 call内存

执行2步it

1 先把IP或cs和ip推入栈中class

2 转移到 标号或内存处im

10.3 call 标号call

call 标号word

转移范围为-32768-32767

16位转移

至关于执行 push ip jmp near ptr 标号

10.4 call far ptr 标号

至关于

push cs

push ip

jmp far ptr 标号

10.5 call ax

push ip

jmp ax

10.6 call word ptr 内存单元

至关于push ip

jmp word ptr 内存单元

call  dword ptr 内存单元

至关于push cs

push ip

jmp dword ptr 内存单元地址

高位放cs,低位放ip

10.7 ret and call 配合

assume cs:code,ds:data,ss:stack

data segment
dw 0123h,0456h
data ends

stack segment
dw 0,0
stack ends

code segment
start:mov ax,1
mov cx,3
call s
mov ax,bx
s:add ax,ax
loop s
ret
mov ax,4c00
int 21
code ends
end start

这里就实现了先从s 标号执行完再执行下面的mov ax,bx的过程。能够类比高级语言的函数把。就好像函数定义在下面,执行却能够在上面,本身想的,不知道对不对

====================================================================

有点困,明天写剩下的~~~~~~

相关文章
相关标签/搜索