dadalda 发表于 2011-7-14 09:31:38

课后习题2.2有点不解

为什么偏移地址最大是FFF0而不是FFFF呢?

再生缘 发表于 2011-7-14 09:46:06

详细看这里
http://bbs.fishc.com/forum.php?mod=viewthread&tid=2264&extra=page%3D1

哮月苍狼 发表于 2011-7-14 11:11:17

你记的段地址*16+偏移地址=物理地址,拿甲鱼老师的讲解,推算一下,很容易就想明白 了

dadalda 发表于 2011-7-14 11:43:26

哮月苍狼 发表于 2011-7-14 11:11 static/image/common/back.gif
你记的段地址*16+偏移地址=物理地址,拿甲鱼老师的讲解,推算一下,很容易就想明白 了

这个我是知道,不过偏移地址没有理由不能等于FFFF啊

yulin3192 发表于 2011-7-14 13:22:29

又是一个看不懂的贴子啊
加班加点的努力

435623636 发表于 2011-7-14 19:51:41

因为它要求的物理地址是20000H如果偏离地址是FFFF的话那么段地址*16=10001H那么段地址+偏移地址才是20000H可是段地址是1000.1H你认为可能吗?当然是不可能那么偏移地址是FFFE的话段地址*16要等于10002H那就是没乘前要是1000.2H也不可能既然后面有小数都不行的话就要设置成因为段地址乘以16前一定要大于1000如果等于1000的话乘16后是10000H+上段地址追大还是1FFFFH小于要求的20000H所以段地址要大于1000但又要是整数所以是1001H那么1001*16=10010H而10010H加上什么是20000H呢那就是FFF0我这道题也是看了好久才看懂的希望对楼主有帮助

鱼C# 发表于 2011-7-14 20:25:47

偏移地址最大就是FFFF,但是对于这个题目来说,用FFFF计算的话,会出现1000.**,就是说后面会出现小数点,那么这么说,只要偏移值不那么大的话,段地址还可以是1001的。 当段地址小于1001的时候,就存在满足条件为FFFF的偏移值。懂了吧?需要转下弯,这个有余数问题

dadalda 发表于 2011-7-15 08:32:55

哮月苍狼 发表于 2011-7-14 11:11 static/image/common/back.gif
你记的段地址*16+偏移地址=物理地址,拿甲鱼老师的讲解,推算一下,很容易就想明白 了

我懂了,谢谢啊

dadalda 发表于 2011-7-15 08:33:31

435623636 发表于 2011-7-14 19:51 static/image/common/back.gif
因为它要求的物理地址是20000H如果偏离地址是FFFF的话那么段地址*16=10001H那么段地址+偏移地址才是20000H可 ...

我懂了,谢谢啊

dadalda 发表于 2011-7-15 08:35:48

鱼C# 发表于 2011-7-14 20:25 static/image/common/back.gif
偏移地址最大就是FFFF,但是对于这个题目来说,用FFFF计算的话,会出现1000.**,就是说后面会出现小数点,那 ...

原来是我的计算器算不出小数

udsky 发表于 2011-7-19 23:04:31

段地址如果为1000h的话,加上偏移地址就是1FFFFH,是寻不到20000这个物理地址。
反过来考虑,只要1000H*16+1H这样的段地址才能使偏移地址找的到20000这个物理地址。而1000H*16+1H不是16的倍数(段地址*16必须是16的倍数)。所以答案是1001。:D
页: [1]
查看完整版本: 课后习题2.2有点不解