上海到广州快递顺丰:汇编问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 01:40:11
设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,求:
执行指令PUSH AX后SP=?
再执行PUSH BX及POP AX后AX=?BX=?SP=?
请加上详细解释

SP=1FFEH
AX=5000H
BX=5000H
SP=1FFEH
第一个SP是这样来的,因为你压进了一个十六位数,而8086的堆栈是向下生成的,所以地址应该减二

PUSH BX后,BX成为栈顶,POP AX后,把刚才栈顶弹进了AX,也就是原来BX的内容进了AX

因为该过程一共执行两次进栈操作,一次出栈操作,所以总的来说地址减两个