计算机三级微机原理
来源:百度知道 编辑:UC知道 时间:2024/06/06 05:46:00
设(AX)=1122H,(BX)=3344H,执行如下程序段后,IP的值是
SUN PROC
PUSH AX
PUSH BX
ADD AX,BX
POP BX
RET
SUN ENDP
SUN PROC
PUSH AX
PUSH BX
ADD AX,BX
POP BX
RET
SUN ENDP
执行后,IP为1122H
可以看到,这个子程序压栈和出栈次数不等,压栈有两次,出栈只有1次
其中PUSH BX和POP BX“抵消”掉了,那么就多出一个PUSH AX
当子程序返回时,CPU将栈顶的值取出,赋给IP,于是此时IP的值即初始AX的值,也就是1122H