第二章 寄存器
在 CPU 中:
- 运算器进行信息处理;
- 寄存器进行信息存储(主要部分,工作原理);
- 控制器控制各种器件进行工作;
- 内部总线连接各种器件,在它们之间进行数据的传送。
不同的 CPU,寄存器的个数、结构不同。8086CPU 有 14 个寄存器,分别是:AX、BX、CX、DX、SI、DI、SP、BP、CS、SS、DS、ES、PSW。
2.1 通用寄存器
![f1b421f8b342000a17703b43d548c424.png](https://i-blog.csdnimg.cn/blog_migrate/1b955702ea1e1846de45236a239ae49d.jpeg)
![0fc869b6fb3ca01903632c3f1361ec7d.png](https://i-blog.csdnimg.cn/blog_migrate/46939bad5c89757bca5f92b60169f866.jpeg)
8086CPU 的上一代 CPU 中的寄存器都是 8 位的,为了保证兼容,8086CPU 的 AX、BX、CX、DX 都可以分为 2 个可独立使用的 8 位寄存器来使用:
- AX 可分为 AH 和 AL;
- BX 可分为 BH 和 BL;
- CX 可分为 CH 和 CL;
- DX 可分为 DH 和 DL。
AX 的低 8 位(0-7)构成了 AL 寄存器,高 8 位(8-15)构成了 AH 寄存器。它们是可以独立使用的 8 位寄存器。
![349994b391ec312c414342fa9763ed9e.png](https://i-blog.csdnimg.cn/blog_migrate/fc82cf5de7972e0610b10df804804bab.jpeg)
2.2 字在寄存器中的存储
8086CPU 可以一次处理“字节”和“字”两种尺寸的数据。
一个字可以存在一个 16 位寄存器中,这个字的高位字节和地位字节存在这个寄存器的高 8 位寄存器和低 8 位寄存器中。图 2.4 既可以是 20000,也可以是 78 和 32。
2.3 几条汇编指令
![f66831d8692c6a5c0b48db4831ec931b.png](https://i-blog.csdnimg.cn/blog_migrate/a5bd813048af1cb706e11c02008cd7d2.jpeg)
原 AX 中的值:0000H,原 BX 中的值:0000H。
程序段中指令的执行情况之一:
| 程序段中的指令 | 指令执行后 AX 中的数据 | 指令执行后 BX 中的数据 | | -------------- | ---------------------- | ---------------------- | | mov ax,4E20H |