x86 汇编语言 - 04 寄存器
前面介绍了计算机从加电一直到主引导扇区加载到 0x7c00
的位置,然后继续执行。
那么这里介绍一下 8086 CPU 的寄存器,8086 有 14 个寄存器。
如果看过之前《CPU设计和实现》的同学呢,应该能够直到寄存器内部实际上是一堆 D 边沿触发器,这个是很关键的,可以对寄存器有个感性的认识。那么下面来说一下 8086 的寄存器。寄存器可以分为四类。分别对应不同的功能。
通用寄存器
寄存器 | 描述 |
---|---|
AX | 累加结果数据 |
BX | 数据段数据指针 |
CX | 字符串和循环计数器 |
DX | I/O 指针 |
DI | 目的数据指针 |
SI | 源数据指针 |
SP | 栈指针 |
BP | 栈数据指针 |
上面四个寄存器 AX
, BX
, CX
, DX
, 四个寄存器可以拆分成两个 8 位的寄存器来使用:
寄存器 | 高八位 | 低八位 |
---|---|---|
AX | AH | AL |
BX | BH | BL |
CX | CH | CL |
DX | DH | DL |
段寄存器
段寄存器 | 描述 |
---|---|
CS | 代码段寄存器 |
DS | 数据段寄存器 |
SS | 栈段寄存器 |
ES | 额外的寄存器 |
指令指针寄存器
- IP
程序状态字
- PSW,Program State Word,或者 FLAG
其中 CS:IP
共同决定了程序下一条将要执行的指令位置。
参考资料
- 王爽 - 《汇编语言》