鱼C论坛

 找回密码
 立即注册
查看: 3797|回复: 6

检测点2.2的(2)

[复制链接]
发表于 2011-9-12 01:59:38 | 显示全部楼层 |阅读模式

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

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

x
          题如下:数据存放在20000H单元中,现给定个SA,若想用偏移地址寻到此单元,则SA应该满足的条件是:最小为_____,最大为____。
        鱼老师说 偏移地址最小是0H,最大是FFF0H。 偏移地址的范围不是最小为0H,最大为FFFFH吗?为什么又要说为FFF0H呢?
不是应该这么解么:X*10H+Y=20000H 求 X和Y的值出来吗?
      X=(20000H-Y)/10H  
      Y应该是个10H的倍数 所以 他得偏移地址的取值应该说成 是一个(0H到FFFH)*10H 数的集合 应该有 (1+FFFH)个这样的集合!
不知道我说的对不对 请各位大鱼们指正!!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-12 22:18:52 | 显示全部楼层
>>鱼老师说 偏移地址最小是0H,最大是FFF0H
不不,鱼老师没这麽说,老师这麽写只是因为在段地址最小的状况,
偏移地址提供FFF0H即可指向目标20000H

这麽考虑:

段地址=1000H,
这个时候,所能指向的地址最大为?
1000H*10H+FFFFH=1FFFFH

段地址加上1,1001H呢?
1001H*10H+FFFFH=2000FH.

但是我们想要到达的地方是20000H,所以鱼老师才写成
1001H*10H+FFF0H=20000H.

>>Y应该是个10H的倍数...是一个(0H到FFFH)*10H 数的集合
>>应该有 (1+FFFH)个这样的集合
没错,而你的结论跟老师答案也是吻合的,共1+FFFH=1000H个

老师解答:最小为1001H,最大为2000H,这之间有几个段呢?
2000H-1001H+1=1000H
(加1是为了算上本身,例如说,1到5有几个整数? 5-1 +1 =5个.)

依照你的公式
Y=0H~FFF0H(所有16的倍數)
所以,X=2000-Y/10=(2000-0)H~(2000-FFF)H=2000H~1001H

所谓的不谋而合,恩.

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
loop + 5 + 5 嗯,由浅到深,过程清晰。

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-16 17:45:38 | 显示全部楼层
还是不懂啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-16 22:37:12 | 显示全部楼层
我也刚做到这里。一开始和楼主一样的答案。 看了2楼的回复明白了。 看来不是什么都是*10H 给定数值(20000H)的就要倒过来做是不是相等了。我反正还是弄最大偏移做的。 1000H*10H+FFFFH=1FFFFH
20000H -1FFFFH=1 1000H+1=1001H 反正我是这样理解的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-17 23:29:44 | 显示全部楼层
谢谢2楼的解答,终于明白为什么了,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-18 00:36:32 | 显示全部楼层
头大  好难
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-20 23:39:02 | 显示全部楼层
进来学习下!!1希望能弄懂!!1{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-19 06:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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