汇编笔记 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。

原文地址:https://www.cnblogs.com/killbit/p/4850164.html