汇编语言 王爽 题目求答案

1movax,2000H;ax=2000H2movss,ax;ss=ax3movsp,0;sp=04addsp,10;sp=10栈顶2000H:10H5popax;deb... 1 mov ax ,2000H ;ax=2000H
2 mov ss ,ax ;ss=ax
3 mov sp,0 ;sp=0
4 add sp,10 ;sp=10 栈顶2000H:10H
5 pop ax ;debug的结果是002a 问题是哪个地址出栈放进ax中? 是2000H:12H?
6 pop bx ;debug的结果是0011 问题是哪个地址出栈放进bx中? 是2000H:14H?
7 push ax ;ax放进栈
8 push bx ;bx放进栈
9 pop ax ;ax=0011
10 pop bx ;bx=002a

4 , 5 , 6这三行不理解

题目上看栈是非空的不然pop ax 会有 002a ,pop bx 会有 0011
现在我想知道 002a 的物理地址 0011的物理地址
是否分别是2000H:12H 和 2000H:14H
展开
 我来答
wangfan2000
2012-06-22 · TA获得超过2549个赞
知道小有建树答主
回答量:586
采纳率:50%
帮助的人:611万
展开全部
POP AX;表示把当前栈顶指到的内容先送AX,根据之前的指令知此时SS=2000H,SP=0010H,也就是说它是把(SS:SP)->(AX),物理地址就是20010H,然后SP+2-->SP,SP变成了0012H.
POP BX;(SS:SP)-->(BX),物理地址为20012H,然后SP+2-->SP,SP变成了0014H
追问
我的答案是
pop ax ;结果是002a 对应2000H:12H这个物理地址 我是当前栈顶sp+2后算的
pop bx ;结果是0011 对应2000H:14H这个物理地址
你的意思是
pop ax ;结果是002a 对应2000H:10H这个物理地址 因为你说pop ax 是当前栈顶
pop bx ;结果是0011 对应2000H:12H这个物理地址

就是说我错啦?
追答
我想是的
三娘901117
2012-06-25 · TA获得超过239个赞
知道小有建树答主
回答量:332
采纳率:0%
帮助的人:320万
展开全部
4 add sp,10 ;sp=10 栈顶2000H:10H
5 pop ax ;debug的结果是002a 是2000H:10H出栈放进ax
6 pop bx ;debug的结果是0011 是2000H:12H出栈放进bx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
__夜探青楼__
2012-07-06
知道答主
回答量:69
采纳率:0%
帮助的人:30.1万
展开全部
AX 是16位,
POP AX ;结果是002a 对应2000H:10H,2000H:11H这个物理地址,执行后SP 指向2000H:12
POP BX ;结果是0011 对应2000H:12H,2000H:13H这个物理地址,执行后SP 指向2000H:14
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式