x86 處理器的狀態與控制寄存器組包含旗標寄存器 EFLAGS、指令指標 EIP 以及四個控制寄存器 CR0、CR1、CR2、CR3。下圖示意其結構:

1. 指令指標寄存器 (EIP) 與旗標寄存器 (EFLAGS)
EIP - 指令指標
EIP 儲存下一條將要執行指令的偏移量,此偏移量相對於當前代碼段寄存器 CS。偏移量加上代碼段基址即形成下一條指令的線性地址。EIP 低 16 位可單獨作為 IP 寄存器存取,用於 16 位定址模式。
EFLAGS - 旗標寄存器
EFLAGS 包含處理器狀態與控制旗標,其位定義如圖 2.2 所示。保留位包括第 1、3、5、15 位以及 18~31 位,這些位未定義用途。
關鍵旗標包括:
- CF (Carry Flag, 第 0 位):進位/借位旗標
- PF (Parity Flag, 第 2 位):奇偶校驗旗標
- AF (Adjust Flag, 第 4 位):輔助進位旗標(用於 BCD 運算)
- ZF (Zero Flag, 第 6 位):結果為零旗標
- SF (Sign Flag, 第 7 位):符號旗標
- TF (Trap Flag, 第 8 位):單步追蹤旗標
- IF (Interrupt Flag, 第 9 位):中斷啟用旗標
- DF (Direction Flag, 第 10 位):字串操作方向旗標
- OF (Overflow Flag, 第 11 位):溢位旗標
- IOPL (I/O Privilege Level, 第 12-13 位):I/O 特權級
- NT (Nested Task, 第 14 位):巢狀任務旗標
- RF (Resume Flag, 第 16 位):恢復旗標(除錯用)
- VM (Virtual-8086 Mode, 第 17 位):虛擬 8086 模式旗標
- AC (Alignment Check, 第 18 位):對齊檢查旗標
- VIF (Virtual Interrupt Flag, 第 19 位):虛擬中斷旗標
- VIP (Virtual Interrupt Pending, 第 20 位):虛擬中斷暫止旗標
- ID (Identification Flag, 第 21 位):CPUID 指令支援旗標
2. 控制寄存器 (CR0-CR3)
- CR0 (Machine Status Word):系統控制旗標,包含保護模式啟用 (PE)、監視器協處理器 (MP)、模擬協處理器 (EM)、任務切換 (TS)、擴展類型 (ET)、數值錯誤 (NE)、寫保護 (WP)、快取啟用 (CD)、分頁啟用 (PG) 等關鍵位。
- CR1:Intel 保留,未使用。
- CR2 (Page Fault Linear Address):儲存導致頁面錯誤的線性地址。
- CR3 (Page Directory Base Register):頁目錄表的物理基址,用於分頁轉換。