tsl 发表于 2013-10-30 09:36:16

用16位字长机器访问20位地址。

在汇编中怎样用16位字长机器访问20位地址。我依旧理解不透。
定义:把存储器划分成段,每个段的大小可达到64k,这样段内地址可以用16位表示。
例如下面一下段:
00010,00011,00012,········,0001E,0001F。(都是十六进制)
这个小段,为什么只有64K?
我有点不明白,大家帮忙解答下,感激不尽。




tsl 发表于 2013-10-30 09:37:11

先自己顶下自己,不懂这个原理,一直学下去,感觉很懵懂。

禁忌白 发表于 2013-10-30 10:46:40

每个段可达到64K是由CPU决定的,8086CPU是16位结构的,其地址的索引最大为2的16次方,所以段为64k。

用16为地址访问20位地址也是因为CPU的设计原因,因为8086CPU内部的地址总线为4,而外部的地址总线为5,为了充分利用资源,而不造成浪费,用EA*16+SA=物理地址来进行寻址。

楼主可以再看一遍小甲鱼老师的视频教程哦,这些老师都有讲哦。。。


tsl 发表于 2014-2-7 15:12:27

禁忌白 发表于 2013-10-30 10:46 static/image/common/back.gif
每个段可达到64K是由CPU决定的,8086CPU是16位结构的,其地址的索引最大为2的16次方,所以段为64k。

用1 ...

一开始我看得不是小甲鱼的视频,现在正在小甲鱼的视频。

sidfate 发表于 2014-2-8 14:35:54

16^4/24=64KB

wbwchina 发表于 2014-2-8 15:08:51

小甲鱼的视频不错!看看可以理解。
也可以看看编程回忆录For汇编。
原来我也纠结能有1年多
多看多练就会了!
祝你成功!{:1_1:}
页: [1]
查看完整版本: 用16位字长机器访问20位地址。