第2章 寄存器
前一章所说的总线,相对于CPU内部来说是外部总线。内部总线实现了CPU内部各个器件(运算器,控制器,寄存器)之间的联系,外部总线实现了CPU和主板上其他器件的联系。
不同的CPU,寄存器的个数、结构是不相同的。8086 CPU有14个寄存器,每个寄存器有一个名称,它们是AX, BX, CX, DX, IP, PSW, CS, DS, SS, ES, SP, BP, SI, DI。
2.1. 通用寄存器
8086 CPU的所有寄存器都是16位的,可以存放两个字节。AX, BX, CX, DX这4个寄存器通常用来存放一般性的数据,被称为通用寄存器。
图 2.1 – 2.1 16位寄存器的逻辑结构
这4个通用寄存器都可以分为两个可独立使用的8位寄存器来用。如AX可分为AH和AL两个。其中,AX的高8位(8-15位)构成了AH寄存器,低8位(0-7位)构成了AL寄存器。AH和AL均可独立使用。
个人注:目前CPU已经从16位,32位发展到了64位,这些通用寄存器也经历了AH/AL(8位), AX(16位), EAX(32位), RAX(64位)的发展,他们之间的关系如下图:
图 2.2 - ah al, ax, eax, rax的关系(网摘)
即:AH, AL分别是AX的高8位和低8位,AX是EAX的低16位,EAX是RAX的低32位。
2.2. 字在寄存器中的存储
出于对兼容性的考虑,8086 CPU可以一次性处理以下两种尺寸的数据:
l 字节:记为byte,一个字节由8个bit