汇编笔记 CALL(1)

assume cs:code

code segment

start:        mov ax,0 ;将AX通用寄存器设0
            call s 
            inc ax
s:            pop ax ;将数据从桟中取出
                
code ends
end start

执行完以上指令,AX= ?

执行CALL S(标号)的时候,进行如下操作:

1:SP = SP-2

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

2:(IP) = (IP) + 16位位移。

当CPU执行CALL S(标号的时候),相当于进行:

PUSH IP

JMP NEAR PTR 标号

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