x86 架構提供豐富的寄存器組,分為通用、指針、變址、段、控制、調試、任務、浮點、多媒體、SIMD 等類別。本表整理所有寄存器的命名、二進制編碼、位寬與說明,為內嵌組合語言開發提供快速查閱。
| 類型 | 名稱 | 二進制碼 | 說明 |
|---|---|---|---|
| 通用寄存器 | AL | 0 | 累加器低 8 位 |
| AH | 100 | 累加器高 8 位 | |
| AX | 0 | 16 位累加器 | |
| EAX | 0 | 32 位累加器 | |
| BL | 11 | 基址寄存器低 8 位 | |
| BH | 111 | 基址寄存器高 8 位 | |
| BX | 11 | 16 位基址寄存器 | |
| EBX | 11 | 32 位基址寄存器 | |
| CL | 1 | 計數器低 8 位 | |
| CH | 101 | 計數器高 8 位 | |
| CX | 1 | 16 位計數器 | |
| ECX | 1 | 32 位計數器 | |
| DL | 10 | 數據寄存器低 8 位 | |
| DH | 110 | 數據寄存器高 8 位 | |
| DX | 10 | 16 位數據寄存器 | |
| EDX | 10 | 32 位數據寄存器 | |
| 指針/基址 | SP | 100 | 16 位堆疊指針 |
| ESP | 100 | 32 位堆疊指針 | |
| BP | 101 | 16 位基址指針 | |
| EBP | 101 | 32 位基址指針 | |
| 變址寄存器 | DI | 111 | 16 位目標變址 |
| EDI | 111 | 32 位目標變址 | |
| SI | 110 | 16 位源變址 | |
| ESI | 110 | 32 位源變址 | |
| 專用寄存器 | IP | * | 16 位指令指針 |
| EIP | * | 32 位指令指針 | |
| FLAGS | * | 16 位標誌寄存器 | |
| EFLAGS | * | 32 位標誌寄存器 | |
| 段寄存器 | CS | 1 | 代碼段 |
| DS | 11 | 數據段 | |
| ES | 0 | 附加段 | |
| SS | 10 | 堆疊段 | |
| FS | 100 | 標誌段 | |
| GS | 101 | 全局段 | |
| 控制寄存器 | CR0 | 0 | 控制寄存器 0 |
| CR1* | 1 | 保留 | |
| CR2 | 10 | 控制寄存器 2 | |
| CR3 | 11 | 控制寄存器 3 | |
| CR4 | 100 | 控制寄存器 4 | |
| CR5* | 101 | 保留 | |
| CR6* | 110 | 保留 | |
| CR7* | 111 | 保留 | |
| 調試寄存器 | DR0 | 0 | 調試寄存器 0 |
| DR1 | 1 | 調試寄存器 1 | |
| DR2 | 10 | 調試寄存器 2 | |
| DR3 | 11 | 調試寄存器 3 | |
| DR4* | 100 | 保留 | |
| DR5* | 101 | 保留 | |
| DR6 | 110 | 調試寄存器 6 | |
| DR7 | 111 | 調試寄存器 7 | |
| 任務寄存器 | TR0 | 0 | 任務寄存器 0 |
| TR1 | 1 | 任務寄存器 1 | |
| TR2 | 10 | 任務寄存器 2 | |
| TR3 | 11 | 任務寄存器 3 | |
| TR4 | 100 | 任務寄存器 4 | |
| TR5 | 101 | 任務寄存器 5 | |
| TR6 | 110 | 任務寄存器 6 | |
| TR7 | 111 | 任務寄存器 7 | |
| 浮點寄存器 | ST0 | 0 | 浮點堆疊頂 |
| ST1 | 1 | 浮點寄存器 1 | |
| ST2 | 10 | 浮點寄存器 2 | |
| ST3 | 11 | 浮點寄存器 3 | |
| ST4 | 100 | 浮點寄存器 4 | |
| ST5 | 101 | 浮點寄存器 5 | |
| ST6 | 110 | 浮點寄存器 6 | |
| ST7 | 111 | 浮點寄存器 7 | |
| 多媒體 (MMX) | MM0 | 0 | 媒體寄存器 0 |
| MM1 | 1 | 媒體寄存器 1 | |
| MM2 | 10 | 媒體寄存器 2 | |
| MM3 | 11 | 媒體寄存器 3 | |
| MM4 | 100 | 媒體寄存器 4 | |
| MM5 | 101 | 媒體寄存器 5 | |
| MM6 | 110 | 媒體寄存器 6 | |
| MM7 | 111 | 媒體寄存器 7 | |
| SIMD (XMM) | XMM0 | 0 | SIMD 寄存器 0 |
| XMM1 | 1 | SIMD 寄存器 1 | |
| XMM2 | 10 | SIMD 寄存器 2 | |
| XMM3 | 11 | SIMD 寄存器 3 | |
| XMM4 | 100 | SIMD 寄存器 4 | |
| XMM5 | 101 | SIMD 寄存器 5 | |
| XMM6 | 110 | SIMD 寄存器 6 | |
| XMM7 | 111 | SIMD 寄存器 7 |
註:英文名稱帶 * 為保留字段;二進制碼帶 * 表示無固定編碼。資料整理自 www.olanguage.org。