x86 汇编语言 - 04 寄存器

创建时间 2021-05-03
更新时间 2021-05-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 共同决定了程序下一条将要执行的指令位置。

参考资料

  • 王爽 - 《汇编语言》