32位微型计算机的寄存器可以分为三大类:

用户级寄存器

系统级寄存器

程序调试寄存器


用户级寄存器:

通用寄存器:EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI

标志寄存器:EFLAGE

指令指针寄存器:EIP

段寄存器:CS,DS,ES,SS,FS,GS     还是16位


在80386工作于实模式和V86模式时,段寄存器中存放16位段基地址,与8086兼容。

当80386工作于保护模式时,6个段寄存器中存放的不再是段基地址,而是存放段选择子的指示器。(段选择子也叫做段选择符,通过它可以找到段的全部信息)

段的全部信息存放在段描述符中,每个段描述符的长度是8个字节,用它来存放段的基地址、段的长度范围以及段的各种属性。

描述符放在两张表中,一张为全局描述符表(GDT),另一张为局部描述符表(LDT)。


段选择子的格式:

ESD器件生成厂家和命名_80386


系统级寄存器:

控制寄存器  (CR0   CR1  CR2  CR3)

系统段表寄存器

CR0:

PG(paging enable):允许分页位

PE(protection enable):保护模式允许位

MP(monitor corprocessor):协处理器监控位

TS(task switched):任务切换位

EM(emulation):模拟协处理器控制位

ET(extension type):处理器扩展类型控制位

NE(number error):数字错误位

WP(write protect):写保护位

AM(alignment mask):对界屏蔽位

NW(not write-through):非写通位

CD(cache disable):cache禁止位


CR1保留

CR2:页故障线性地址寄存器

CR3:页目录基地址寄存器


全局描述符表GDT和中断描述符表IDT是面向系统中所有任务的,是全局性的表;局部描述符表是面向某一任务的,每个任务可以都有独立的LDT。

在分段机制中,除了上述3种表外,32位处理器为支持多任务操作,还设置了一个称为任务状态段的系统段(TSS),它保存当前正在处理器上执行的任务的各种重要信息。


GDTR和IDTR用来管理全局描述符表和中断描述符表,所有这两个寄存器被称为系统表寄存器。

TSS为系统段,LDT也作为系统段来寻址,TR和LDTR用来管理这两个系统段,它们被称为系统段寄存器。


程序调试寄存器:DR7~DR0