鱼C论坛

 找回密码
 立即注册
查看: 5478|回复: 9

还有这里,为什么不是FFFFH呢?

[复制链接]
发表于 2011-5-15 16:28:51 | 显示全部楼层
本帖最后由 lxbwyr 于 2011-5-15 16:30 编辑

我帮你分解一下。看看你能不能理解。
       首先来说一下在8086CUP中一个段的偏移值范围是0H-FFFFH。
       一般来讲一个段的偏移地址的取值最大是FFFFH,这是没有错的。

         但是这里被20000H这个值约束了这个最大的取值。如果偏移值最大是FFFFH,那么SA可取最小值20000H - FFFFH = 10001H。但是段地址要求是16进制的倍数(比如可以是10000或10010或10020,也就是说最后一位应是0 【16的倍数】。很重要  

       那么10001H这个值 就能不做为段地址了。那比这大一点的数10002H-10005H……10010H……这些值只有10010H能是16进制的倍数,且是倍数中的最小值 。符合做为段地址的取值要求

       10010H变成段地址就是1001H     【16的倍数】。很重要
       那么20000H-10010H=FFF0H.

这样就得出偏移地址的最大值为什么不是FFFFH,而是FFF0了。
:):)

评分

参与人数 1鱼币 +2 收起 理由
loop + 2 解答的很好,鱼C有你更精彩!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-22 08:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表