假设有一数据存放在内存20000H单元内,现给定段地址为SA,若想用偏移地址寻址到此单元。则

8086微机系统中,假设有一数据存放在内存20000H单元内,现给定段地址为SA,若想用偏移地址寻址到此单元。则SA应满足的范围是多少?写出具体分析过程。... 8086微机系统中,假设有一数据存放在内存20000H单元内,现给定段地址为SA,若想用偏移地址寻址到此单元。则SA应满足的范围是多少?写出具体分析过程。 展开
 我来答
chiconysun
2012-01-03 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2472万
展开全部
偏移地址为0000H~0FFFFH,因此从物理地址20000H可以得到SA的范围为:
1001H~2000H
过程:最大值为(20000H-0000H)/ 10H = 2000H
最小值为(20000H-0FFFFH)/10H = 1000.1H,因此上取整为1001H,注意段址SA为1000H时,无法得到物理地址20000H
做而论道
高能答主

2014-01-21 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
网友采纳的答案是错误的。

--------------------

物理地址 20000H = SA * 10H + 偏移地址

显然,偏移地址应该取最大值,SA 才能达到最小。

那么,偏移地址取最大值:FFFFH,行吗?

代入上述方程,发现,两边的,最末位,不相等。

偏移地址最大值,只能取到:FFF0H,方程才有可能成立。

按照公式:

物理地址 = SA * 10H + 偏移地址

可知,物理地址、偏移地址,两者的最低位,必定是相同的。

当物理地址=20000H,偏移地址也只能是:XXX0H,取最大就是 FFF0H。

于是:

SA = (20000H - FFF0H) / 16=10010H / 16 = 1001H。

--------------------
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
电气张同学
2022-09-23
知道答主
回答量:11
采纳率:0%
帮助的人:4044
展开全部
16进制和10进制混着算难道不晕吗?
把数据全部转10进制,结果如下:
基址 × 16 + 偏移 = 131072
基址 × 16 = 131072 - 偏移
∵ 偏移 ∈ [0, 65535]
∴ 基址 × 16 ∈ [65537, 131072]
但是因为65537÷16除不尽,结果是4096.0625
并且65537转16进制是10001H,因此最后取值4097
∴ 基址 ∈ [4097, 8192]
转为16进制
基址 ∈ [1001H, 2000H]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式