Pentium100的与我们应用有关的寄存器有8类。 1. 通用寄存器 2. 段寄存器和描述符寄存器 3. 指令指针寄存器
4. 标志寄存器 标志寄存器EFLAGS是一个32位的寄存器。该寄存器各位的定义如图75所示。
以下3位标志是Pentium所独有的:
VIF为虚拟中断标志。
VIP为虚拟中断挂起标志。
ID为鉴别标志,该标志用以指示Pentium处理器是否支持CPUID指令。
5. 控制寄存器 Pentium处理器的控制寄存器包括5个32位的寄存器,如图7.6所示。 图76所示的控制寄存器CR0~CR4是Pentium处理器的;而 CR0~CR3这4 个寄存器是80486的。可见Pentium与80486相比,只多了一个CR4。但 与80386相比,差别就多了,不再说明。 (1) CR0 CR0中包括控制整个系统的条件标志。在此只简单地给出它们的名称: PE为保护允许位。 MP为监视协处理器位。 EM为仿真协处理器位。 TS为任务转换位。 ET为协处理器类型位。 NE为数学运算错位。 WP为写保护位。
AM为对齐标志位。
NW为不透写位。
CD为Cache不允许位。
PG为页式管理允许位。
(2)CR1 CR1是Intel公司为将来的处理器保留的。 (3)CR2 CR2存放引起页错误(FAULT)的线性地址。 (4) CR3 CR3为处理器提供当前任务的页目录基地址。 (5)CR4 CR4仅为Pentium处理器所有。 VME为虚拟中断允许位。 PVI为保护模式下的中断允许位。 TSD为时间标记计数器读允许位。 DE为I/O断点允许位。 PSE是以4MB为一页的允许位。 MCE为机器校验异常允许位。 6. 调试寄存器 顾名思义,486及Pentium内部有8个32位专门用作调试的寄存器, 如图77所示。![]()
其中DR0~DR3为4个断点寄存器,用于存放相应断点的线性地址。 DR4和DR5是Intel公司保留备用的。 DR6为调试状态寄存器,其中某些位的状态用来指示调试异常发生的原因,以便调 试异常处理程序对它们进行分析、判断,进行相应的处理。 DR7为调试控制寄存器。 7. 测试寄存器 测试寄存器TR3~TR5用于Cache的测试。 测试寄存器TR6~TR7用于页面管理测试。它们的细节本书不做说明。 8. 系统地址寄存器 系统地址寄存器只用于保护模式。![]()
GDTR为全局描述符表寄存器。
IDTR为中断描述符表寄存器。
LDTR为局部描述表寄存器。
TR为任务寄存器。