## 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實地址模式的不同