我还是不懂 发表于 2012-3-23 01:57:42

为什么这里的偏移64KB=FFF0H呢

本帖最后由 我还是不懂 于 2012-3-23 01:58 编辑

http://www.fishc.com/uploads/allimg/101213/1_101213222105_1.jpg

这里的第二题我提问一下,64KB不是 FFFFH吗,为什么老师的解答如下:
应朋友要求,将第二题的答案详细解释一下:
因为题目要求是要物理地址最终为20000H。
我们知道偏移地址最小为0H,最大为FFF0H。

我们要求段地址能够取到的最小值,即要和偏移地址最大值配合,所以段地址应该为1001H,偏移地址为FFF0H:1001H * 10H + FFF0H == 20000H。
我们要求段地址能够取到的最大值,即要和偏移地址最小值配合,所以段地址应该为2000H,偏移地址为0H。


为什么最大的偏移是FFF0H呢,64KB=2的16次方不就是FFFFH吗?

wAterLoo 发表于 2012-3-23 01:57:43

先套用公式,段地址*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

我还是不懂 发表于 2012-3-23 02:16:02

本帖最后由 我还是不懂 于 2012-3-23 02:21 编辑

明白了,谢谢楼上的版主,一下子就点开了,最主要的一点就是 必须为16的倍数

(20000H-FFF0H)/16=1001H

wAterLoo 发表于 2012-3-23 02:25:45

我还是不懂 发表于 2012-3-23 02:16 static/image/common/back.gif
明白了,谢谢楼上的版主,一下子就点开了,最主要的一点就是 必须为16的倍数

(20000H-FFF0H)/16=1001H ...

这个问题我不知道答了几遍了,直接复制粘贴{:5_99:}

我还是不懂 发表于 2012-3-23 02:29:58

恩恩,我看到了,刚在顶置的帖子里面看到了!谢谢你

鸭子2号 发表于 2012-9-10 14:58:52

顶楼主 楼主观点不错

http://www.ruiyish.com万艾可
http://www.zxgrow.com卡王
http://www.gzkemei.com基因育根
http://www.dfdzpcb.com阴茎增大
http://www.jishiyaofang.com超级P57
http://www.KYKYY.COM充气仿真娃娃
http://www.jskmvchina.com怎么样才能生儿子
http://www.cdwucheng.com脚气的治疗方法
http://www.am688.com阴茎短小
http://www.jxhaichuan.com快高
http://www.chxtn.comwifi 密码破解
页: [1]
查看完整版本: 为什么这里的偏移64KB=FFF0H呢