微机原理
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)。
段选择子的格式:
系统级寄存器:
控制寄存器 (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):非写通位
CR1保留
CR2:页故障线性地址寄存器
CR3:页目录基地址寄存器
全局描述符表GDT和中断描述符表IDT是面向系统中所有任务的,是全局性的表;局部描述符表是面向某一任务的,每个任务可以都有独立的LDT。
在分段机制中,除了上述3种表外,32位处理器为支持多任务操作,还设置了一个称为任务状态段的系统段(TSS),它保存当前正在处理器上执行的任务的各种重要信息。
GDTR和IDTR用来管理全局描述符表和中断描述符表,所有这两个寄存器被称为系统表寄存器。
TSS为系统段,LDT也作为系统段来寻址,TR和LDTR用来管理这两个系统段,它们被称为系统段寄存器。
程序调试寄存器:DR7~DR0