assume cs:code,ss:stackstack segmentdb 16 dup(0)stack endscode segment mov ax,4c00h int 21h start: mov ax,stack mov ss,ax mov sp,16 mov ax,0 push ax mov bx,0 retcode endsend start
以上指令,让IP指向0000,程序正常退出。
执行PUSH AX的时候,将AX中的数据放入桟中,SP=SP-2。
执行ret指令的时候,将进行下面2步操作:
1: (IP) = ((SS) * 16 + (SP))
2: (SP) = (SP) + 2
用汇编指令表示RET操作,相当于进行:
POP IP
将桟中数据取出放入IP。