第二章 寄存器
CPU内部的组件(运算器、控制器、寄存器等)依靠内部总线连接.前一章所说的总线相对于CPU内部来说是外部总线.
汇编程序员通过改变各种寄存器中的内容来实现对CPU的控制.
不同的CPU,寄存器的个数、结构是不相同的.
2.1 通用寄存器
8086CPU的所有寄存器都为16为,容量为2Byte.AX,BX,CX,DX这四个寄存器为通用寄存器,存放一般性数据.
8086CPU的上一代CPU中的寄存器都为8位,8086CPU的AX,BX,CX,DX这4个寄存器都可以分为两个独立使用的8位寄存器使用,基于上代CPU编写的程序稍加修改便可以兼容在8086CPU之上.
AX 可分为 AH 和 AL;
BX 可分为 BH 和 BL;
CX 可分为 CH 和 CL;
DX 可分为 DH 和 DL.
AX的**低8位(0位~7位)**构成 AL 寄存器,**高8位(8位~15位)**构成了 AH 寄存器.如图2.3所示:
2.2 字在寄存器中的存储
出于对兼容性的考虑,8086CPU可以一次性处理以下两种尺寸的数据.
-
字节: 记为byte,一个字节由8个bit组成,可以存放在8位寄存器中.
-
字: 记为word,一个字由两个字节组成,这两个字分别被称为这个字的改为字节和低位字节.
一个字型数据 20000 ,存在AX寄存器中. AH 和 AL 中的数据,既可以看成一个字型数据的高8位和低8位,这个字型数据的大小位20000;又可以看成是两个独立的字节型数据,它们的大小分别为78和32.
2.3 几条汇编指令
通过汇编指令控制CPU进行工作,看一下表 2.1中的几条指令.
接下来看一下CPU表 2.2中的指令后,寄存器中数据的变化.