sc3297 发表于 2012-3-29 04:02:44

检测点2.2____还有个帖也是这个 ,但是我没看明白,求详细解释

本帖最后由 sc3297 于 2012-3-29 04:10 编辑

检测点2.2
一段数据存放在内存20000H单元中,现给定段地址为sa,若想用偏移地址找到此单元,SA应满足的条件是:最小为____,最大为____.这个题的答案为什么是1001H到2000H呢不是地址=段地址*16+偏移地址吗 反过来算 20000H-FFFFH=10001H啊

论坛里还有个帖子也是问这个问题的,有个朋友解释了下,还是没明白为什么这里算偏移地址的时候就是FFF0而不是FFFF,检测点2.2里面第一个题的偏移地址计算的时候都是FFFF.

莫名其妙 发表于 2012-3-29 08:27:14

本帖最后由 莫名其妙 于 2012-3-29 08:28 编辑

以前的帖子有介绍的去看看吧
http://bbs.fishc.com/thread-14024-1-11.html

还有置顶的那几篇帖子里也有关于 前几章节的问题的解释你可以看看

illk 发表于 2012-3-29 14:47:08

看看上面的那个帖子      很好 的   温故而知新了;P

㊣水晶龙㊣ 发表于 2012-3-30 17:43:53

反过来计算的结果没错,不过这个结果是x16之后的,所以sa还要再右移回去(换成16进制是10),结果为1001H
我的理解!

后面那个问题,用20000H-1001Hx16=FFF0H,如果是FFFF,那么公式不成立~不等于了~

最后一个使用FFFF的我也忘了~无法解释~

夜鸽 发表于 2012-3-30 18:39:07

按数学计算:
    SA*16+0H≤20000H≤SA*16+FFFFH
即SA*16+0H≤20000H -----------①
   20000H≤SA*16+FFFFH--------②
将①②联立求解得1000.1H≤SA≤2000H
问题关键就是,不能纯碎把它这个题当成数学问题来解,
因为在内存地址中是一位一位的进,即离散,因为1000.1H
是小数,你没听说过0点几0点几的进吧,所以1000.1H是取不到
的,紧接着1000.1H上的是1001,所有范围就是1001~2000H

武林稿手 发表于 2012-3-30 22:14:35

谢谢分享哈











static/image/common/sigline.gif
恐怖电影大全http://movie.dke8.com   爱看微电影 http://www.v88v.org
无弹窗电影网http://movie.dke8.com   手工制作http://www.dke8.com
页: [1]
查看完整版本: 检测点2.2____还有个帖也是这个 ,但是我没看明白,求详细解释