2012-02-22 54 views
1

我知道8086有一个20位地址总线和16位寄存器,所以它需要2个寄存器来定位绝对存储器地址。为什么8086不使用20位寄存器?为什么8086不使用20位寄存器?

+1

与8080&8088的兼容性(请注意,这里有一个wiki) – KevinDTimm 2012-02-22 16:10:56

回答

2

几个原因。

  1. 它保持了与8080的向后兼容性如果你将所有的段寄存器为0,我觉得将运行8080码。
  2. 数据总线只有16位宽。分段架构允许您在一个存储器读取周期中提取整个地址。 20位地址需要两个。

这些是我能想到的两个我的头顶。

+1

它不运行8080代码,但指令具有等效意义,并且具有足够的细节以便二进制代码可以自动转码,或者汇编程序编程为读取8080源,但生成8086的操作码。 – 2015-01-17 11:54:45

相关问题