鱼C论坛

 找回密码
 立即注册
查看: 3527|回复: 8

检测2.2 求真相

[复制链接]
发表于 2011-8-6 11:46:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
应朋友要求,将第二题的答案详细解释一下:
因为题目要求是要物理地址最终为20000H。
我们知道偏移地址最小为0H,最大为FFF0H。

为什么偏移地址最大为FFF0H。??不是FFFFH吗??
在课本也没有讲到偏移地址最大为FFF0H??

求真相!!
2.png
1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-6 11:48:35 | 显示全部楼层
段地址*16必须是一个以**x0为开始的数0-16个地址排列整齐的,而20000-ffff=10001,向后以了两位是不符合规定的,所以段要向后推移一个16位,这样就出现段地址为1001的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-6 12:00:41 | 显示全部楼层

没错啊,2000H减去偏移地址最大FFFFH等于10001H,移一位就是1000H
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-6 12:05:26 | 显示全部楼层
p22  页 讲的很清楚了  还问这么多遍
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-6 12:36:25 | 显示全部楼层
这个题上面的分享中有解释,请参考!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-6 20:16:54 | 显示全部楼层
先套用公式,段地址*16+偏移地址=物理地址
那么我们已经知道了物理地址为20000H

SA = 20000 - 0000H  / 16 = 2000H ;最大值

SA = 20000 - FFFFH  / 16= 10001H :最小值
那么这里就出问题了,10001不能被16整除,也就是段地址不能满足*16+偏移地址= 20000H
所以偏移地址就要发生变化来满足段地址*16+偏移地址=20000H
20000H - FFFF = 10001H
20000H - FFFE = 10002H
20000H - FFFD = 10003H
20000H - FFFC = 10004H
20000H - FFFB = 10005H
20000H - FFFA = 10006H
直到.......
20000H - FFF0 = 10010H
这时10010H满足16的倍数了
物理地址减去最大偏移地址除以16等于最小段地址
20000H - FFF0H  / 16 = 1001H  ;最小值
所以最小值是1001H,最大值是2000H
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-7 08:30:40 | 显示全部楼层
谢谢大家!!
明白了...............................
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-8 17:19:13 | 显示全部楼层
..谢6楼。。懂了……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-9 15:06:11 | 显示全部楼层
路过。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-8 15:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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