汇编笔记 RET

assume cs:code,ss:stack

stack segment

db 16 dup(0)

stack ends

code segment

                mov ax,4c00h
                int 21h
                
start:            mov ax,stack
                mov ss,ax
                mov sp,16
                
                mov ax,0
                push ax
                mov bx,0
                ret

code ends
end start

 

 

以上指令,让IP指向0000,程序正常退出。

 

执行PUSH AX的时候,将AX中的数据放入桟中,SP=SP-2。

执行ret指令的时候,将进行下面2步操作:

 

1: (IP) = ((SS) * 16 + (SP))

2:  (SP) = (SP) + 2

 

用汇编指令表示RET操作,相当于进行:

 

POP IP

 

将桟中数据取出放入IP。

 

 

posted @ 2015-09-30 20:03  杀死比特  阅读(1081)  评论(0编辑  收藏  举报