. : : 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呢,不大明白
nk1
[第4楼] [ 回复时间:2010-03-29 16:01 ] 
荣誉值:0
信誉值:4
注册日期:2010-03-20 10:35
用16进制表示的,移动一位当然要乘上16,就像10进制,左移一位就乘上10. 
但这里为什么*16=12300 
应该是*10才=12300 

---------------
书中写的是*16,注意这个16后面没有“h”,也就是说乘以十进制的16 。

相当于*10h
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved