鱼C论坛

 找回密码
 立即注册
查看: 3257|回复: 4

检测点2.2 求助中 希望懂的给解释下

[复制链接]
发表于 2011-9-27 14:30:20 | 显示全部楼层 |阅读模式

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

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

x
(1)给定段地址为0001H。仅通过变化偏移地址寻址,CPU的寻址范围为:( )到:( )

注解:小甲鱼:因为偏移地址的范围是0000H到FFFFH这64KB
          段地址*16==00010H
所以,段地址*16+偏移地址==00010H到1000FH.

自己思考:假设偏移地址为X, 根据:偏移地址的范围是0000H到FFFFH。所以X的值为:0000H-FFFFH.
段地址已知道是:0001H。根据:物理地址=段地址*16+偏移地址。 可以得出CUP的寻址范围为:0001H*16+0000H和0001H*16+FFFFH结果:00010H和FF1FH啊(本人看了好几遍视频还是无法得出结论,为什么是00010H到1000FH?)

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

我们要求段地址能够取到的最小值,即要和偏移地址最大值配合,所以段地址应该为1001H,偏移地址为FFF0H:1001H * 10H + FFF0H == 20000H。(为什么是1001H*10H?)H不是代表16进制吗?
我们要求段地址能够取到的最大值,即要和偏移地址最小值配合,所以段地址应该为2000H,偏移地址为0H。

(2)有一个数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小:( ),最大:( )?
注解小甲鱼:1001H*16+FFFOH==20000H,2000H*16+0H==20000H.

自己思考:为什么是:1001H*16?为什么不是0?因为偏移地址的范围是0000H到FFFFH,1001H*16+FFFFH 和1001H*16+F000H,这些都可以吗?

写完问题后:为什么是:1001H*16?好像自己想出答案来了。是不是因为偏移地址的范围是0000H到FFFFH。而FFFFH也就是10000H 所以SA最小也得是10000H,相加才可以啊?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-27 15:55:57 | 显示全部楼层
(1)00010H+FFFFH=1000FH   我搞不懂你怎么算出等于FF1FH啊  
(2) 1001H*16+FFFFH=2000F了和 1001H*16+F000H=1F010H  这两个都不等于2000H啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-27 19:09:10 | 显示全部楼层
本帖最后由 topcookie 于 2011-9-27 19:30 编辑

没太明白,应该是2楼说的那样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-9-27 23:43:58 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-28 16:58:22 | 显示全部楼层
kiya 发表于 2011-9-27 23:43
哈哈 。理解了0.0  thanks!!!

my    pleasure !
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-8 22:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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