维基教科书,自由的教学读本
首頁 > 電腦科學與技術書架 > X86組合語言 > 關於X86的CPU
[编辑] X86的CPU家族
[编辑] Intel
- 8086/8087
- 8088
- 80186/80187
- 80286/80287
- 80386
- 80486
- Pentium
- Pentium Pro
- Pentium II
- Pentium III
- Pentium 4
- Celeron
- Xeon
- Core 2 Duo
[编辑] AMD
- Athlon
- Turion
- Duron
- Sempron
- Opteron
[编辑] CPU的工作模式
[编辑] 真實模式 (Real mode)
- 參照: 真實模式 (維基百科)
- 特性:
- 記憶體定址限制: 1 MByte (每一個記憶體區段限定 64 Kbyte, 使用區段暫存器擴展可存取的記憶體範圍到 1 MByte)
- 暫存器與資料操作寬度: 16 bits 與 8 bits
[编辑] 保護模式 (Protected Mode)
[编辑] 16位元保護模式 (16-bit protected mode)
- 特性:
- 記憶體定址限制: 16 MByte
- 暫存器與資料操作寬度: 16 bits 與 8 bits
[编辑] 32位元保護模式 (32-bit protected mode)
- 特性:
- 記憶體定址限制: 4 GByte
- 暫存器與資料操作寬度: 32 bits 與 16 bits 與 8 bits
[编辑] 虛擬86模式
[编辑] 暫存器
[编辑] 通用暫存器
| 暫存器別名 |
暫存器 |
暫存器示意圖 |
| 累積暫存器 |
EAX = 32 bits
AX = 16 bits
AH, AL = 8 bits |
|
| 基底暫存器 |
EBX = 32 bits
BX = 16 bits
BH, BL = 8 bits |
|
| 計數暫存器 |
ECX = 32 bits
CX = 16 bits
CH, CL = 8 bits |
|
| 資料暫存器 |
EDX = 32 bits
DX = 16 bits
DH, DL = 8 bits |
|
[编辑] 指標暫存器
| 暫存器別名 |
暫存器 |
預設的
區段暫存器 |
暫存器示意圖 |
| 來源索引暫存器 |
ESI = 32 bits
SI = 16 bits |
|
|
| 目的索引暫存器 |
EDI = 32 bits
DI = 16 bits |
|
|
| 堆疊指標暫存器 |
ESP = 32 bits
SP = 16 bits |
SS |
|
| 基底指標暫存器 |
EBP = 32 bits
BP = 16 bits |
|
|
| 程式指標暫存器 |
EIP = 32 bits
IP = 16 bits |
CS |
|
[编辑] 區段暫存器
| 暫存器別名 |
暫存器 |
暫存器示意圖 |
| 程式區段暫存器 |
CS = 16 bits |
|
| 資料區段暫存器 |
DS = 16 bits |
|
| 堆疊區段暫存器 |
SS = 16 bits |
|
| 額外區段暫存器 |
ES = 16 bits |
|
額外區段暫存器
(80386以後出現) |
FS = 16 bits |
|
額外區段暫存器
(80386以後出現) |
GS = 16 bits |
|
- 在真實模式或虛擬86模式時,『區段暫存器』用來擴展定址的範圍由 64 KByte 到 1 MByte 。
- 在保護模式時,『區段暫存器』將變成『選擇子暫存器』,用為對於程序與記憶體存取權限的控管的索引。
[编辑] 旗標暫存器
| 暫存器別名 |
暫存器 |
暫存器示意圖 |
| 旗標暫存器 |
EFLAG = 32 bits
FLAG = 16 bits |
| 31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| EFLAG |
| 31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
|
|
|
|
OF |
DF |
IF |
TF |
SF |
ZF |
|
AF |
|
PF |
|
CF |
|
FLAG |
|
|
|
|
|
OF |
DF |
IF |
TF |
SF |
ZF |
|
AF |
|
PF |
|
CF |
|
- AF:輔助進位旗標
- CF:進位旗標
- OF:溢位旗標
- SF:符號(負號)旗標
- PF:奇偶旗標
- ZF:零值旗標
- DF:方向旗標
- IF:中斷旗標
- TF:單步旗標