. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
主题 : :  我所理解的16位地址转20位地址  [待解决] 回复[ 17次 ]   点击[ 765次 ]  
chenandjun
[帖 主] [ 发表时间:2010-03-25 01:44 ] 
荣誉值:0
信誉值:0
注册日期:2010-03-16 21:08
刚在看2.4节,书上说8086内部是16位,而外部总线是20位,16位只能访问到64k的地址,而外部总线却有1M的地址空间,怎样用16位去访问1M的地址空间,书上讲的是分段,把1M地址分成小段,每段64k,CPU内部用了一个叫地址加法器的东西,物理段地址的形成是段地址*16+偏移地址,我看着没大明白,为什么段地址要*16,我理解的是象这样,你把1M地址分成小段,物理地址应该是,比如你是在第三段,就应该是段地址*3+偏移地址啊,怎么要*16呢,不大明白
a4576
[第3楼] [ 回复时间:2010-03-29 15:58 ] 
荣誉值:0
信誉值:0
注册日期:2010-03-26 17:25
我也是在这里给卡住了
书里面有一个图表示123c8的过程
12300
+ 00c8  
————
123c8
它下面的注释是1230*16=12300
我对这里百思不得其解
用16进制表示的,移动一位当然要乘上16,就像10进制,左移一位就乘上10.
但这里为什么*16=12300
应该是*10才=12300
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved