(1)在8086CPU中,它是16bit结构,一次可以传送一个字的数据,但其地址总线有20根,一次可以传送2的20次方的数据
也就是说它的寻址能力为1MB,很明显,如果将地址从CPU内部简单的发出来,一次就只能传送16bit的地址,寻址能力
只有64KB了。
至于为什么这么设计,真心还不知道,但8086CPU采用了用两个地址相加的方法来解决 了这种消耗。
8086CPU提供一个16bit的段地址和一个16bit的偏移地址,利用一个地址加法器将两个地址合成一个20bit的地址
合成公式:
物理地址 = 段地址*16 + 偏移地址
如:2345C的物理地址,若其段地址为2345,其偏移地址就为C(这是根据16进制的加法算的,可以用熟悉的10进制加法
来理解16进制,10进制里乘以一个10就在其后加一个0,16进制里也是一样的,遇到16就往前进1,乘以16就在其后加0)
其中段地址和偏移地址是任意给出的,只要满足公式即可
(2)再想这么一件事,计算机中每一个字节放一个数,这些数有些是指令,有些又是数据,计算机在内存中获取这些数的时候,
是怎么区分这些数哪些是指令哪些是数据呢?8086CPU里,把这些东西分