从80386开始,包括更高的x86寄存器,还包括一些非正式寄存器,也称为Undocumented registers。
非正式寄存器
非正式寄存器分为控制寄存器(control registers), 调试寄存器(debug registers), 测试寄存器(test registers)以及保护模式分段寄存器(protected mode segmentation registers)
控制寄存器
CR0
Bit(s) Label Description
0 PE Protected Mode Enable
1 MP Monitor Co-Processor
2 EM Emulation
3 TS Task Switched
4 ET Extension Type
5 NE Numeric Error
6-15 0 Reserved
16 WP Write Protect
17 0 Reserved
18 AM Alignment Mask
19-28 0 Reserved
29 NW Not-Write Through
30 CD Cache Disable
31 PG Paging
CR2
CR3
CR4
CR8
CR1
CR5-7
CR9-15
调试寄存器
DR0 - DR3
DR6
DR7
测试寄存器
TR3 - TR5
TR6
TR7
保护模式分段寄存器
保护模式分段寄存器在文档手册中称为内存管理寄存器(Memory-Management Register)
GDTR
GDTR(Global Descriptor Table Register,全局描述符表寄存器)
GDTR寄存器在32位模式下,即保护模式下是个48位的寄存器,低16位表示GDT的大小,字节数,高32位表示GDT的基地址。
在64位模式下,GDTR寄存器是个80位的寄存器,低16位表示GDT的大小,字节数,高64位表示DT的基地址。
7 0 9 2 1 4 3 6 5 8 7 0
+--------+--------+--------+--------+--------+--------+
| base address | limit |
+--------+--------+--------+--------+--------+--------+
|<---------high 4 bytes------------>|<--low 2 bytes-->|
7 0 9 2 1 4 3 6 5 8 7 0
+--------+--------+--------+--------+--------+--------+
|00000000 base address | limit |
+--------+--------+--------+--------+--------+--------+
|<---------high 4 bytes------------>|<--low 2 bytes-->|
9 2 4 6 8 7 0 9 2 1 4 3 6 5 8 7 0
+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
| base address | limit |
+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|<---------------------------high 8 bytes------------------------------>|<--low 2 bytes-->|
LDTR
LDTR(Local Descriptor Table Register,局部描述符表寄存器)
TR
TR(Task Register, 任务寄存器)
任务寄存器(TR,Task Register)保存16位段选择子和整个段描述符(32位基地址,在IA-32e模式下是64位基地址,16位segment limit以及描述符属性)
任务寄存器由可见部分(visible part)和不可见部分(invisible part),可见部分可以被软件读取和修改,不可见部分由处理器维护,不可被软件访问。
可见部分:16位段选择子
处理器使用不可见部分缓存段描述符,在任务寄存器中缓存这个使得任务执行更高效。
The LTR instruction loads a segment selector (source operand) into the task register that points to a TSS descriptor in the GDT. It then loads the invisible portion of the task register with information from the TSS descriptor. LTR is a privileged instruction that may be executed only when the CPL is 0. It’s used during system initialization to put an initial value in the task register. Afterwards, the contents of the task register are changed implicitly when a task switch occurs.
The STR (store task register) instruction stores the visible portion of the task register in a general-purpose register or memory. This instruction can be executed by code running at any privilege level in order to identify the currently running task. However, it is normally used only by operating system software. (If CR4.UMIP = 1, STR can be executed only when CPL = 0.)
IDTR
IDTR(Interrupt Descriptor Table Register,中断描述符表寄存器)
7 0 9 2 1 4 3 6 5 8 7 0
+--------+--------+--------+--------+--------+--------+
| base address | limit |
+--------+--------+--------+--------+--------+--------+
|<---------high 4 bytes------------>|<--low 2 bytes-->|
7 0 9 2 1 4 3 6 5 8 7 0
+--------+--------+--------+--------+--------+--------+
|00000000 base address | limit |
+--------+--------+--------+--------+--------+--------+
|<---------high 4 bytes------------>|<--low 2 bytes-->|
9 2 4 6 8 7 0 9 2 1 4 3 6 5 8 7 0
+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
| base address | limit |
+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|<---------------------------high 8 bytes------------------------------>|<--low 2 bytes-->|
除了CPU有寄存器,很多外设,比如显卡,网卡等内部都有自己的寄存器。只是这些寄存器都不能直接访问。
POPF/POPFD/POPFQ — Pop Stack into EFLAGS Register也会影响CF标志。这在文档手册没有没有反应。
相关推荐
2. 数轴:第二题考察了数轴上两点之间的距离,点A对应的数为2,线段AB的长为3,要求找到点B对应的数,答案是-1。 3. 几何图形:第三题是平面图形与立体图形的对应,考察空间想象能力。 4. 代数表达式:第四题要求用...
宏观经济百图显示了2013年三季度各产业对GDP增长的贡献率,其中第三产业的比重上升至45.50%,第二产业降至45.28%,第一产业为9.22%。最终消费支出对GDP累计同比的贡献率为45.9%,资本形成总额的贡献率为55.8%,而...
网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的...
这篇C语言作业的目标是计算贷款在第一个月、第二个月、第三个月后的剩余还款金额。这里涉及到的编程概念和计算公式主要包括贷款利率、还款金额、剩余贷款金额以及利息的计算。 首先,我们需要理解贷款的基本概念。...
2. **内存管理**:DOS采用实模式内存管理,所有物理内存都被视为一个连续的地址空间,程序可以直接访问物理内存。由于内存资源有限,多任务处理能力较弱,通常只能运行单个应用程序。 3. **文件系统**:DOS使用FAT...
- **第一次发布**:1991年,发布了第一个版本 Linux 0.02。 - **社区贡献**:Linux 社区的参与和贡献对于 Linux 的成长至关重要。 - **版本多样化**: - **Distributions (发行版)**:Linux 有着众多的发行版,...
第2题解释了闰年的概念,一般每4年有一个闰年,但不是所有年份都是,例如1984年、2000年和2004年是闰年,而1989年和1994年是平年。 2. 日期和星期计算:第4题和第5题涉及到平年和闰年二月份的天数以及全年的总天数...
10. **LM386**:LM386是一款低电压音频运算放大器,脚2和3分别作为反相和非反相输入端,脚1和8之间的电阻和电容用于调整增益和频率响应,脚7通常用作电源负极,脚5是偏置控制,脚4和6连接输入和输出端子。...
本篇将基于提供的康佳彩电P系列(P29ST390、P25ST390、P34ST390、P29ST386、P34ST386、P29ST217、P25ST281)电路图纸进行深入分析,帮助维修人员和技术爱好者更好地理解这些型号的核心电路设计与工作原理。...
这篇文档是关于模拟电子技术基础的试题答案,涵盖了多项选择题、填空题和简答题,涉及了电子技术的基础概念和应用。以下是相关知识点的详细说明: 1. PN结:PN结是半导体器件的核心,当PN结反向偏置时,内部电场会...
其中,第二章节着重介绍了系统开发环境,包括Java技术、Mysql数据库、B/S结构和SSM框架等;第三章节则着重于需求分析,包括需求分析、系统可行性分析、项目设计目标与原则和系统流程分析等;第四章节聚焦于架构设计...
第二篇 基本黑客技术 第5章 走进黑客门 64 5.1 按密钥类型划分保护机制 67 5.2 保护机制的强度 68 5.3 商业化保护机制的缺点 70 5.4 定制保护机制的实现错误 70 5.4.1 非授权复制与序列号分发 70 5.4.2 试用...
第2部分 servlet篇 第5章 servlet与tomcat 182 5.1 servlet与servlet容器 182 5.2 servlet容器的分类 183 5.3 servlet和其他技术的比较 183 5.4 tomcat介绍 183 5.5 tomcat的安装与配置 184 5.5.1 安装tomcat...
第二篇 C++ STL泛化技术基础 第4章 C++ STL泛型库概述 48 4.1 C++ STL的发展历程 48 4.2 C++ STL的各种实现版本 49 4.2.1 HP STL 49 4.2.2 SGI STL 50 4.2.3 STLport 50 4.2.4 P.J.Plauger STL 50 ...
第2部分 servlet篇 第5章 servlet与tomcat 182 5.1 servlet与servlet容器 182 5.2 servlet容器的分类 183 5.3 servlet和其他技术的比较 183 5.4 tomcat介绍 183 5.5 tomcat的安装与配置 184 5.5.1 安装tomcat...
第2部分 servlet篇 第5章 servlet与tomcat 182 5.1 servlet与servlet容器 182 5.2 servlet容器的分类 183 5.3 servlet和其他技术的比较 183 5.4 tomcat介绍 183 5.5 tomcat的安装与配置 184 5.5.1 安装tomcat...