## 10.2 實模式初始化(Software Initialization for Real-Address Mode)
在實模式下,當程序可以完全使用處理器的特性前,一些數據結構必須先初始化。
### 10.2.1 堆棧(Stack)
當堆棧段寄存器(SS寄存器)沒有被加載前,所有使用堆棧的指令都是不可以使用的。SS必須指向RAM內的一片區域。
### 10.2.2 中斷表(Interrupt Table)
80386開始時是禁止中斷的。但是,當一個異常或是不可屏蔽中斷(NMI)發生時,處理器還是可能訪問中斷表。初始化軟件應做一個以下的操作:
+ 把IDTR中的界限值改為0。這可以使,當發生異常或不可屏蔽中斷時,處理器停機。(關于如何在外部引起處理器的停機,請參看80386硬件參考手冊)
+ 將可能使用到的異常或中斷的有效的中斷處理程序的指針放入中斷表中。
+ 改變IDRT,使之指向一個合法的中斷表。
### 10.2.3 第一條指令(First Instructions)
復位以后,地址線{31-20}將自動置成高電平,以便取指令。這樣,加之CS:IP的初值,導致指令從物理地址 FFFFFFF0H處開始執行。近(段內的)的控制轉移可以用來將控制轉移到高于這個地址空間的64K字節的某處。第一條遠的(段間的)JMP或CALL指令將讓A{31-20}置成低電位,所以80386處理器就又執行在物理內存的低1M字節內了。這樣的自動設置地址線A{31-20}允許系統設計者把高端地址空間設計成ROM,從而來初始化系統。
- 第一章 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實地址模式的不同