| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1806 人关注过本帖
标题:求组王爽检测点2.2的问题,高手解答一下,谢谢。
只看楼主 加入收藏
zengshichun
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-9-13
结帖率:75%
收藏
已结贴  问题点数:15 回复次数:6 
求组王爽检测点2.2的问题,高手解答一下,谢谢。
王爽的书里面检测点2.2的问题。
  
(1) 给定段地址为0001H,通过变化偏移地址寻址,CPU的寻址范围为?到?

第一个答案我知道应该是~~00010H,,但cpu寻址范围为什么等于1000FH??
为什么不是等于。FFF1FH呢? (我这答案是根据下面想的,也是书里的)
比如给定段地址1000H,用偏移地址寻址,CPU的寻址范围是10000H到1FFFF


谁可以用比较笨的方法解释一下啊? 顺便举个例子
搜索更多相关主题的帖子: 王爽 检测点 解答 
2010-09-22 11:50
wisji8
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:53
专家分:198
注 册:2010-9-19
收藏
得分:5 
比如给定段地址1000H,用偏移地址寻址,CPU的寻址范围是10000H到1FFFF

段地址是1000H,如果剩以10H,那就是10000,而10000和1FFFF相差FFFF。
所以能得到最大的范围是FFFF,而你的题目0001H,要剩以10H是0010,然后
你说0010 ~ ?到哪里是CPU的寻址范围呢!
2010-09-22 13:36
wisji8
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:53
专家分:198
注 册:2010-9-19
收藏
得分:0 
首先我们就要得到物理地址,物理地址 = 段地址 * 16 + 偏移地址。可以看P21
比如给定段地址1000H,用偏移地址寻址,CPU的寻址范围是10000H到1FFFF
段地址是1000H,然后乘以16(16的十六进制是10H),所以得10000,然后偏移地址是16位,所以变化范围是0~FFFF,也就是说,刚才的段地址10000 + 0~FFFF是10000~1FFFF,这注是CPU所能寻址到的范围。
至于你的题目,段地址是0001H,所以要剩以16(10H),得0010,然后加上偏移地址,得1000FH,最后得0010H ~ 1000FH
可以看下课本P25
2010-09-22 13:49
wisji8
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:53
专家分:198
注 册:2010-9-19
收藏
得分:0 
结帖吧,我还没有被人结过帖。哈哈。
2010-09-22 22:59
绝对的菜
Rank: 2
等 级:论坛游民
帖 子:35
专家分:27
注 册:2010-9-5
收藏
得分:5 
简单地说。因为这里是16位的寄存器最多只能表示16位的数,16位的最大数用十六进制来表示就是ffffh,能够 寻到的范围就是段地址加ffffh
2010-09-25 11:46
mjsxjy
Rank: 2
等 级:论坛游民
帖 子:16
专家分:25
注 册:2008-12-30
收藏
得分:5 
5楼解释是对的,我来得更详细一点:
王爽书里讲的都是以16位机来讲的,所以CPU可寻址的范围是64KB,这点书里写得很详细;
书里还有个公式:物理地址=段地址*16+偏移地址。
此题里给的段地址是0001H,写成偏移地址的表示即:0001:0000
                                              0001:0001
                                              0001:0002
                                               ......
                                              0001:FFFF
所以,根据上面书里的公式,最后一位0001*16+FFFF=1000F。题解。
注意,此处的16,在16进制里*,既相当于左移一位。0001*16=0010。
2010-09-26 20:09
zengshichun
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-9-13
收藏
得分:0 
谢了,,明白了。。
 分我平均结贴的。

2010-09-26 23:55
快速回复:求组王爽检测点2.2的问题,高手解答一下,谢谢。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027288 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved