彙編語言(王爽) 第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的過程。能夠類比高級語言的函數把。就好像函數定義在下面,執行卻能夠在上面,本身想的,不知道對不對

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

有點困,明天寫剩下的~~~~~~

相關文章
相關標籤/搜索