. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  偏移地址为啥是16位?  [待解决] 回复[ 4次 ]   点击[ 340次 ]  
gwiily
[帖 主]   [ 发表时间:2011-12-06 12:01 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-11-15 20:57
偏移地址为啥16位?变化范围为啥是0~ffffh 


看了几遍书都不明白。。。
tomato
[第1楼]   [ 回复时间:2011-12-06 19:11 ]   [引用]   [回复]   [ top ] 
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51
偏移地址为16位,这个是由硬件决定的,寄存器为十六位,数据总线为16位。所以,偏移地址也为十六位。偏移地址为16位,范围就是0~ffffh了。
gwiily
[第2楼]   [ 回复时间:2011-12-06 20:03 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-11-15 20:57
回复:[第1楼]
------------------
  为啥 偏移地址为16位,范围就是0~ffffh了
e56004474
[第3楼]   [ 回复时间:2011-12-08 22:27 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:1
注册日期:2008-09-04 16:35
8086的cpu为16位结构的,  地址总线为 20位的,寻内存地址空间为1MB 。内存地址空间是从 “0” 开始 顺序排列的。

Cpu内部 处理,传输,存储的为16位,内存单元地址 在送上 地址总线之前, 在内部用2个 16位地址合成的方法来形成1个 20位的物理地址。 

物理地址=段地址X16 + 偏移地址。


看2.6,第19页
foraolita
[第4楼]   [ 回复时间:2011-12-15 08:07 ]   [引用]   [回复]   [ top ] 
荣誉值:1
信誉值:0
注册日期:2011-11-18 12:33
硬件决定的。他的寄存器,数据总线是16位的,决定了他的最大寻址只有2的16次方。要是当时造的硬件是15位的,那偏移地址就15位吧。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved