汇编 debug 物理地址

题:http://p13.freep.cn/p.aspx?u=v20_p13_p_0809071932183011_0.jpg答案:http://p13.freep.cn... 题:
http://p13.freep.cn/p.aspx?u=v20_p13_p_0809071932183011_0.jpg
答案:
http://p13.freep.cn/p.aspx?u=v20_p13_p_0809071933267602_0.jpg

有个很大的疑惑
题,给出了地址为0000:0000到0000:001F的内存中的数据
而,
mov ax,1 //AX=0001H
mov ds,ax //DS=0001H
mov ax.[0000] //把地址为0001:0000的内存中的数据赋值给AX
问题就出现在这,答案的这一空,AX=2662H
从此题出发,根本就不知道地址为0001:0000的内存中的数据的内容啊
我错呢?题错呢?AX=2662H又是怎么算出来的?
第一行为0000:0000 即物理地址为00000
第二行为0000:0010 即物理地址为00010

FIMLight - 魔法师 五级
“0001:0000的物理地址是0x10”这是个啥子表示法?
0001:0000的物理地址为00010

我知道,一个物理地址所对应的段地址和偏移地址的组合有很多种
都没讲清楚,还是我自己悟到的。
“第一行为0000:0000 即物理地址为00000
第二行为0000:0010 即物理地址为00010
0001:0000的物理地址为00010”
把这个整出来,不就清晰了吗
展开
 我来答
茅好慕渊
2020-03-18 · TA获得超过3583个赞
知道大有可为答主
回答量:3105
采纳率:31%
帮助的人:459万
展开全部
你悟到的没错啊,在汇编语言里段地址和偏移地址与物理地址有如下关系
假设段地址为0001
偏移地址为0000
那么物理地址为
0001
+
0000
=00010
这个物理地址对应的内存正是2662H
答案是正确的喽
补充一下,一个物理地址可以有很多种段地址和偏移地址的组合,
比如
00010
可以是
0000和0010的组合,也可以是
0001和0000的组合
KawaguchiSky
2008-09-10 · TA获得超过2638个赞
知道小有建树答主
回答量:296
采纳率:100%
帮助的人:128万
展开全部
答案是正确的:

物理地址=段地址*10H+偏移地址。题中直接给出了偏移。那么用DS段寻址的时候要*10H,即段地址定位在0010H,而偏移地址为0000H,直接相加,物理地址就在0010H。

题设中给出的debug信息,在地址0010H上存储的双字节内容正是2662H。高地址为26H,低地址为62H,在16 bit寄存器存储时,遵循“高高低低”的原则。

另外,debug显示时,每行的首个数据对应该行的偏移,那个段地址可能对一些初学者有点视觉干扰吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
焉湉湉00P
2008-09-07 · TA获得超过1856个赞
知道大有可为答主
回答量:1556
采纳率:100%
帮助的人:1387万
展开全部
呵呵,好象你搞混乱了~~0001:0000的物理地址不就是0x10嘛,即第二行第一个双字节
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李白风情口难5441
2008-09-08 · TA获得超过254个赞
知道小有建树答主
回答量:339
采纳率:0%
帮助的人:0
展开全部
ax不久等于2662h吗?mov ax.[0000]中间是“,”吧,0000是加括号的,这时候表示地址啊,就是把0001:0000地址里数据放到ax,而0001:0000对应的数据就是2662h啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
n101747
2008-09-20 · TA获得超过1535个赞
知道大有可为答主
回答量:3782
采纳率:0%
帮助的人:1798万
展开全部
前提:
mov ax,1
mov ds,ax

0x10就是10H的意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式