关于8086CPU计算物理地址问题

给定的段寄还器中的数是2988H,有效地址是8000H,则它的物理地址是多少??希望有过程... 给定的段寄还器中的数是2988H,有效地址是8000H,则它的物理地址是多少??

希望有过程
展开
 我来答
匿名用户
推荐于2016-06-25
展开全部
因为x86处理器地址总线是20位,最大管理1M内存,对应物理地址是00000H-fffffH

而内部数据总线、寄存器都是16位的,能表示的范围为0000H-ffffH

如何用16位寄存器表示20位?想到这样一种方式:
把两个16位寄存器相加得到20位,于是便有了

物理地址=段地址*16+偏移地址
相当于在16位地址后面加4个0,形成20位地址

具体过程如下:
段地址和偏移地址通过内部总线传入到地址加法器的部件;
地址加法器将两个16位地址合并为一个20位的物理地址;
0010 1001 1000 1000 0000 后面加4个0
0000 1000 0000 0000 0000 前面加4个0
-------------------------
0011 0001 1000 1000 0000
3 1 8 8 0
shaxunyeman
2008-04-09 · 超过17用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:54.1万
展开全部
物理地址=段地址左移4位(即乘以16)+偏移地址
(2988H<<4)+8000H=9880H+8000H=31880H

ps:乘以16的时候,要把16进制转换为10进制。

直观点还是【匿名 4-9 16:28】
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鲲鹏展翅LHY
2008-04-09 · TA获得超过2637个赞
知道小有建树答主
回答量:642
采纳率:0%
帮助的人:976万
展开全部
物理地址=段地址左移4位(即乘以10H)+偏移地址=2988H*10H+8000H=29880H+8000H=31880H
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wenqing8585
2008-04-10 · TA获得超过8252个赞
知道大有可为答主
回答量:8078
采纳率:70%
帮助的人:3879万
展开全部
物理地址=段地址左移4位(即乘以16)+偏移地址

所以,(2988H<<4)+8000H=9880H+8000H=11880H

我的答案有错,用楼上几位的吧,
是29880H+8000H=31880H
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式