## 4.2 系统指令 (System Instructions)
系统指令能完成以下功能:
1、 检测指针参数 (Verification of pointer parameters)(参看第6章):
ARPL —— 调整 RPL (Adjust RPL)
LAR —— 加载访问权限 (Load Access Rights)
LSL —— 加载段界限 (Load Segment Limit)
VERR —— 读检验 (Verify for Reading)
VERW —— 写检验 (Verify for Writing)
2、 寻址描述符表 (Addressing descriptor tables)(参看第5章):
LLDT —— 加载局部描述符表寄存器 (Load LDT Register)
SLDT —— 存储局部描述符表寄存器 (Store LDT Register)
LGDT —— 加载全局描述符表寄存器 (Load GDT Register)
SGDT —— 存储全局描述符表寄存器 (Store GDT Register)
3、 多任务 (Multitasking) (参看第7章):
LTR —— 加载任务寄存器 (Load Task Register)
STR —— 存储任务寄存器 (Store Task Register)
4、 协处理器和多处理器 (Coprocessing and Multiprocessing) (参看第11章):
CLTS —— 清除任务已切换标志 (Clear Task-Switched Flag)
ESC —— 转译指令 (Escape instructions)
WAIT —— 等待直到协处理器空闲 (Wait until Coprocessor not Busy)
LOCK —— 引发总线锁信号 (Assert Bus-Lock Signal)
5、 输入和输出 (Input and Output) (参看第8章):
IN —— 输入
OUT —— 输出
INS —— 输入串
OUTS —— 输出串
6、 中断控制 (Interrupt control) (参看第9章):
CLI —— 清除中断允许标志位 (Clear Interrupt-Enable Flag)
STI —— 设置不断允许标志位 (Set Interrupt-Enable Flag)
LIDT —— 加载中断描述符表寄存器 (Load IDT Register)
SIDT —— 存储中断描述符表寄存器 (Store IDT Register)
7、 调试 (Debugging) (参看第12章):
MOV —— 向调试寄存器输入或输出 (Move to and from debug registers)
8、 TLB 测试(TLB testing)(参看第10章):
MOV —— 向测试寄存器输入或输出 (Move to and from test registers)
9、 系统控制 (System Control):
SMSW —— 保存机器状态字(Set MSW)
LMSW —— 加载机器状态字(Load MSW)
HLT —— 处理器挂起(HALT Processor)
MOV —— 向控制寄存器输入或输出(Move to and from control registers)
SMSW 和 LMSW 指令主要用于兼容80286 处理器。80386 程序可以通过变形的MOV 指令访问CR0,来访问MSW。 HLT 指令使处理器停止工作,直到收到了个 INTR 或者 RESET 信号。
除了在上面提到的章节外,每条指令还可以在我们推荐的章——第17章,中找到相关介绍。
- 第一章 80386介绍
- 1.1 该手册的组织结构
- 1.2 其他文献
- 第二章 编程基本模型
- 2.1 存储器组织和段
- 2.2 数据类型
- 2.3 寄存器
- 2.4 指令格式
- 2.5 操作数选择
- 2.6 中断和异常
- 第4章 系统寄存器
- 4.1 系统寄存器 (System Registers)
- 4.2 系统指令 (System Instructions)
- 第五章 内存管理
- 5.1 分段地址转换(Segment Translation)
- 5.2 分页地址转换(Page Translation)
- 5.3 混合分段和分页地址转换(Combining Segment and Page Translation)
- 第六章 内存管理
- 6.1 为什么要保护(Why Protection?)
- 6.2 80386保护机制概述(Overview of 80386 Protection Mechnaisms)
- 6.3 段级保护(Segment-Level Protection)
- 6.4 页级保护(Page-Level Protection)
- 6.5 混合分页和分段保护(Combining Page and Segment Protection)
- 第7章 多任务(Multitasking)
- 8.1 I/O 寻址(I/O Addressing)
- 7.1 任务状态段(Task State Segment)
- 7.3 任务寄存器(Task Register)
- 7.4 任务门描述符(Task Gate Descriptor)
- 7.5 任务切换(Task Switching)
- 7.6 任务链(Task Linking)
- 7.7 任务寻址空间(Task Address Space)
- 第8章 输入 输出
- 8.2 I/O 指令(I/O Instructions)
- 8.3 保护和I/O(Protection and I/O)
- 第9章 异常和中断(Exceptions and Interrupts)
- 9.1 识别中断(Identifying Interrupts)
- 9.2 允许和禁止中断(Enabling and Disabling Interrupts)
- 9.3 同时发生的中断和异常的优先级(Priority Among Simultaneous Interrupts and Exceptions)
- 9.4 中断描述符表(Interrupt Descriptor Table)
- 9.5 IDT 描述符(IDT Descriptors)
- 9.6 中断任务和中断子程序(Interrupt Tasks and Interrupt Procedures)
- 9.7 出错码(Error Code)
- 9.8 异常条件(Exception Conditions)
- 9.9 异常总结(Exception Summary)
- 9.10 出错码总结(Error Code Summary)
- 第10章 初始化(Initialization)
- 10.1 复位后处理器状态(Processor State After Reset)
- 10.2 实模式初始化(Software Initialization for Real-Address Mode)
- 10.3 切换到保护模式(Switching to Protected Mode)
- 10.4 保护模式初始化(Software Initialization for Protected Mode)
- 10.5 初始化示例
- 10.6 TLB测试
- 第十四章 80386实地址模式
- 14.1 物理地址构成
- 14.2 寄存器和指令
- 14.3 中断和异常处理
- 14.4 进入和离开实地址模式
- 14.6 实地址模式异常
- 14.7 与8086的不同
- 14.8 与80286实地址模式的不同