. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  内存地址问题  [待解决] 回复[ 4次 ]   点击[ 325次 ]  
fang_jian
[帖 主]   [ 发表时间:2009-07-27 16:31 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-12-20 15:21
每一根地址线实际只有两种状态,通电和不通电,通电状态下为1,反之为0.因此20根的地址线0与1任意组合可有2的确次方种,地址编码就是根据20根地址线的通电状态得来的,地址编码在00000H到FFFFFH之间,1MB.CPU是如何驱动20根地址线的?8086的寄存器是非曲直16位的,它的最大表示是2的16次方=64KB,因此不可能用一个16位的寄存器来驱动20根地址线,在8088中,把一MB划分成一个个小段,第一段为00000H,依次为00010,。。。FFFF0H,共有助于64个小段,因此每个小段大小为2的4次方,16个字节,地址编码在XXXX0H--XXXXFH之间,得到64KX16=1MB。

问题1  地址编码为什么在00000H到FFFFFH之间,如何排的。
  
问题2  第一小段为00000H,。。。。FFFF0共64K个小段。  64K个小段是什么意思?
blackberry
[第1楼]   [ 回复时间:2009-07-28 10:25 ]   [引用]   [回复]   [ top ] 
荣誉值:16
信誉值:0
注册日期:2008-10-12 13:46
问题1  地址编码为什么在00000H到FFFFFH之间,如何排的。
----------------
20跟地址线根据高低电瓶可以表示[0,2^20-1]范围内的数据,即[0,FFFFFH]

问题2  第一小段为00000H,。。。。FFFF0共64K个小段。  64K个小段是什么意思?
==============
由于寻址是通过 段地址:偏移地址 这样的形式来进行的,对于地址的变动,只是修改偏移地址而段地址不会自动改变,所以,一个段地址下,能够寻址的范围为[0,FFFFH](段地址和偏移地址都是16位),这个范围的大小正好是64K,而相对于每个64K的段,其段地址的指定范围为[0,FFFFH],同样也是64K个,所以,段地址和偏移地址的搭配,就是64K个小段了。
fang_jian
[第2楼]   [ 回复时间:2009-07-29 14:53 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-12-20 15:21
谢谢
fang_jian
[第3楼]   [ 回复时间:2009-07-29 15:07 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-12-20 15:21
字节偏移 01BE什么意思?
mess
[第4楼]   [ 回复时间:2009-09-02 10:09 ]   [引用]   [回复]   [ top ] 
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
字节偏移 01BE什么意思? 
---------------
这样问是什么意思?

要描述清楚自己的问题,我们可不是你肚子中的蛔虫 呵呵
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved