4.2 系统指令 (System Instructions)

优质
小牛编辑
128浏览
2023-12-01

系统指令能完成以下功能:

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章,中找到相关介绍。