汇编语言 设AX=2875H BX=34DFH SS=1307H SP=8H 依次执行PUSH AX PUSH BX POP AX POP CX后
展开全部
PUSH AX ;sp-2-->sp=6 ,AX不变
PUSH BX ;sp-2-->sp=4 ,BX不变
POP AX ;sp+2-->sp=6 ,根据先入后出,后入先出原则,把上一条指令压入堆栈的值弹出到ax,
;即AX=34DFH
POP CX ;sp+2-->sp=8 ,把最先压入堆栈的值弹出到CX,即CX=2875H
所以,指令执行完毕后,AX=34DFH,BX=34DFH,CX=2875H,栈顶指针值sp=8H,
栈顶指针的逻辑地址为:SS:SP=1307H:0008H,
其对应物理地址为:1307H*10H+0008H=13078H。
PUSH BX ;sp-2-->sp=4 ,BX不变
POP AX ;sp+2-->sp=6 ,根据先入后出,后入先出原则,把上一条指令压入堆栈的值弹出到ax,
;即AX=34DFH
POP CX ;sp+2-->sp=8 ,把最先压入堆栈的值弹出到CX,即CX=2875H
所以,指令执行完毕后,AX=34DFH,BX=34DFH,CX=2875H,栈顶指针值sp=8H,
栈顶指针的逻辑地址为:SS:SP=1307H:0008H,
其对应物理地址为:1307H*10H+0008H=13078H。
展开全部
PUSH AX //sp-2-->sp=6PUSH BX //sp-2-->sp=4 POP AX //sp+2-->sp=6 , AX=34DFHPOP CX //sp+2-->sp=8 , CX=2875H所以,指令执行完毕后,AX=34DFH,BX=34DFH,CX=2875H栈顶指针的逻辑地址为: SS:SP=1307H:0008H,其对应物理地址为:1307H*16+0008H=13078H。
追问
为什么BX也等于34DFH
追答
入栈操作不改变原来寄存器的值,所以,BX=3D4FH
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询