. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  监测点2.2第二题疑问  [待解决] 回复[ 5次 ]   点击[ 402次 ]  
bigeq1
[帖 主]   [ 发表时间:2011-03-27 21:35 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-11-19 15:45
我思考如下:
SA*16+EA=20000H
EA的范围应该是0~FFFFH之间,那么算出的SA范围是:2000H~0BA2H

我看了别人的答案为
物理地址最终为20000H。
我们知道偏移地址最小为0H,最大为FFF0H。(关于这里我有些疑问,谁能详细跟我解释一下。书上哪里有说偏移地址最大最小吗?)
我们要求段地址能够取到的最小值,即要和偏移地址最大值配合,所以段地址应该为1001H,偏移地址为FFF0H;
我们要求段地址能够取到的最大值,即要和偏移地址最小值配合,所以段地址应该为2000H,偏移地址为0H。

括号内的是我的疑问,麻烦大家知道的给我解释一下。谢谢
734656064
[第1楼]   [ 回复时间:2011-04-01 07:50 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-03-27 20:45
不明白
crepuscular
[第2楼]   [ 回复时间:2011-04-07 20:03 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-04-07 16:21
偏移地址是一个16位的数 因此它的最大值为FFFF(2的16次方-1) 即偏移地址范围是0~FFFFH 也就意味着一个段的最大空间是64KB(2的16次方)
xiesong0303114
[第3楼]   [ 回复时间:2011-04-08 13:53 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-04-07 13:42
只要把握偏移地址的范围是0~FFFFH就行了
badwei2012
[第4楼]   [ 回复时间:2011-04-10 19:20 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-04-10 13:03
这道题目我是这么理解的
1.8086cpu只有16位地址总线,这就决定了不管是偏移地址还是段地址取值范围都是0H~FFFFH
2.段地址和偏移地址是相加的关系,当偏移地址取最大值时,段地址相对是最小值,当偏移地址取最小值时段地址
  是最大值
3.所以正常来讲当偏移地址是0H时,段地址最大是20000H,除以16,是2000H,这应该没什么问题
4.当偏移地址是FFFFH时,段地址最小,是10001H,这时候就会有一个问题,不能被16整除,无法用16位地址总线表示,所以我们需要将偏移地址逐渐减小,段地址相应增大
FFFEH 10002H 不行
FFFDH 10003H 不行
。。。
。。。
FFF0H 10010 可以
10010,除以16是1001,这就是要求的段地址
hongdan0714jin
[第5楼]   [ 回复时间:2011-04-13 22:09 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-03-27 21:54
惭愧,我虽然推出这样的结果。却是瞎猫碰上死耗子。。。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved