Max-Init 2016-12-07 02:13 采纳率: 50%
浏览 1171
已采纳

8088实地址模式下的存储器寻址问题

“intel 8088时代,计算机的地址总线是20位的,即可以寻址能力可以达到1M字节,但是它的ALU和寄存器都只有16位,也就是表示数的能力只能达64k,再大就逾锅了。那怎么办呢?INTEL想了一个办法,让两个寄存器对来表示一个物理地址,比如说DS:BX,前者叫段寄存器,后者叫偏址寄存器。由于这两个寄存器都是16位,直接相加还是不能匹配20位的地址线的访问能力,因此,INTEL公司变通了一下,人为地将这个组合寻址设计成:在它们组合时,让段寄存器左移四位(假设DS是1234H,左移4位就变成了12340H,至于它内部怎么实现我们不用管它。注意,对于16进制的数来说,乘以16就相当于在原数后面补个0,因为它是逢16进1啊;与10进制数乘10就是后面补0同样道理。)然后与偏址寄存器相加,这样得到的地址最大可以到0FFFFFH。这样行了。 ”


       上面的解释是不是有问题,8088的总线宽度是20位吗?对此有疑惑?
  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2016-12-10 15:44
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 maccms影视模板 制作影视网站失败 求
  • ¥15 stm32按键设置闹钟数进退位不正常
  • ¥15 三电平逆变器中点电位平衡问题
  • ¥20 这怎么写啊 java课设
  • ¥15 用C语言完成一个复杂的游戏
  • ¥15 如何批量更改很多个文件夹里的文件名中包含文件夹名?
  • ¥50 MTK手机模拟HID鼠标出现卡顿
  • ¥20 求下下面这个数据结构代码
  • ¥20 前端 二进制文件流图片转化异常
  • ¥15 github上的这个C语言项目如何跑起来