. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  为什么有段地址+偏移地址这个概念  [待解决] 回复[ 6次 ]   点击[ 272次 ]  
pepenm
[帖 主]   [ 发表时间:2011-11-21 16:03 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:13
注册日期:2011-10-31 15:52
是为了灵活,方便吧,有没有更好的说法呢
chinatree
[第1楼]   [ 回复时间:2011-11-21 18:14 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
应该是为了能处理更大的内存,因为8086的寻址能力是8088的16倍,这样就可以运行更大的程序.
tomato
[第2楼]   [ 回复时间:2011-11-21 18:50 ]   [引用]   [回复]   [ top ] 
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51
寄存器的长度为16位,而地址总线的宽度为20,所以,需要用段地址+偏移地址。
pepenm
[第3楼]   [ 回复时间:2011-11-22 10:32 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:13
注册日期:2011-10-31 15:52
寄存器的长度为16位,而地址总线的宽度为20,所以,需要用段地址+偏移地址。
==寄存器的长度跟地址总线有关系吗
pepenm
[第4楼]   [ 回复时间:2011-11-22 10:33 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:13
注册日期:2011-10-31 15:52
tomato的见解我听别人也说过,我不大明白,能解释清楚点吗
tomato
[第5楼]   [ 回复时间:2011-11-22 19:24 ]   [引用]   [回复]   [ top ] 
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51
地址数据是从寄存器中发出的,寄存器的长度和地址总线的长度不一致,就用两个16位的寄存器,通过段寄存器中的值*16+偏移寄存器中的值形成20位的地址数据。这样说你明白了吗?如果还不太明白,可以先认真把书看一下。
pepenm
[第6楼]   [ 回复时间:2011-11-24 16:21 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:13
注册日期:2011-10-31 15:52
ok,我现在明白了
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved