一道简单的汇编基础题

有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件是:最小值为____,最大值为_____.1000.1H2000H我... 有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件是:最小值为____,最大值为_____.

1000.1H 2000H我算是这样,有人算的是1001H 我怎么算也算不成那样的,真气人。
展开
 我来答
jcw_2010
2011-03-16 · TA获得超过942个赞
知道小有建树答主
回答量:219
采纳率:100%
帮助的人:292万
展开全部
sa *10 + offset(即段内偏移值) = 20000h
sa = (20000h - offset) /10h,offset的取值范围是[0, 0FFFFh]
用最小的offset值0可以得到最大的sa = 2000h

用最大的offset值0FFFFh算,得到sa = 1000.1h, 取整是1000h, 验算下
1000h*10 + 0FFFFH = 1FFFFH, 访问不到20000h内存单元
所以1000h小了点,换1001h, 1001h *10 + 0FFFFH = 2000FH, 可以访问到20000h,
所以sa最小值是1001h
做而论道
高能答主

2014-01-21 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3.2万
采纳率:86%
帮助的人:8800万
展开全部
物理地址 = 段地址 * 10H + 偏移地址

其中,乘以 16,就是把段地址左移了四位。

再相加后,很显然,物理地址和偏移地址的最低四位是相同的。

已知物理地址是 20000H,把偏移地址再取最大,即为:FFF0H。

于是,方程应该这样列:20000H = SA * 16 + FFF0H

由此即可求出最小的 SA = 1001H。

这个算法,可以保证正确。
不用像采纳答案那样,还需要验算、修正。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式