第 2 章 寄存器
add al,6 AX=
add al,al AX=
mov ax,cx AX=
(2) 只能使用目前学过的汇编指令,最多使用 4 条指令,编程计算 2 的 4 次方。
2.4 物 理 地 址
我们知道,CPU 访问内存单元时,要给出内存单元的地址。所有的内存单元构成的存
储空间是一个一维的线性空间,每一个内存单元在这个空间中都有唯一的地址,我们将这
个唯一的地址称为物理地址。
CPU 通过地址总线送入存储器的,必须是一个内存单元的物理地址。在 CPU 向地址
总线上发出物理地址之前,必须要在内部先形成这个物理地址。不同的 CPU 可以有不同的
形成物理地址的方式。我们现在讨论 8086CPU 是如何在内部形成内存单元的物理地址的。
2.5 16 位结构的 CPU
我们说 8086CPU 的上一代 CPU(8080、8085)等是 8 位机,而 8086 是 16 位机,也可以
说 8086 是 16 位结构的 CPU。那么什么是 16 位结构的 CPU 呢?
概括地讲,16 位结构(16 位机、字长为 16 位等常见说法,与 16 位结构的含义相同)描
述了一个 CPU 具有下面几方面的结构特性。
运算器一次最多可以处理 16 位的数据;
寄存器的最大宽度为 16 位;
寄存器和运算器之间的通路为 16 位。
8086 是 16 位结构的 CPU,这也就是说,在 8086 内部,能够一次性处理、传输、暂时
存储的信息的最大长度是 16 位的。内存单元的地址在送上地址总线之前,必须在 CPU 中
处理、传输、暂时存放,对于 16 位 CPU,能一次性处理、传输、暂时存储 16 位的地址。
2.6 8086CPU 给出物理地址的方法
8086CPU 有 20 位地址总线,可以传送 20 位地址,达到 1MB 寻址能力。8086CPU 又
是 16 位结构,在内部一次性处理、传输、暂时存储的地址为 16 位。从 8086CPU 的内部结
构来看,如果将地址从内部简单地发出,那么它只能送出 16 位的地址,表现出的寻址能
力只有 64KB。
8086CPU 采用一种在内部用两个 16 位地址合成的方法来形成一个 20 位的物理地址。