X86組合語言/關於X86的CPU

维基教科书,自由的教学读本

跳转到: 导航, 搜索

首頁 > 電腦科學與技術書架 > 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

31 16 15 8 7 0
EAX
AX
AH AL


基底暫存器 EBX = 32 bits
BX = 16 bits
BH, BL = 8 bits

31 16 15 8 7 0
EBX
BX
BH BL


計數暫存器 ECX = 32 bits
CX = 16 bits
CH, CL = 8 bits

31 16 15 8 7 0
ECX
CX
CH CL


資料暫存器 EDX = 32 bits
DX = 16 bits
DH, DL = 8 bits

31 16 15 8 7 0
EDX
DX
DH DL


[编辑] 指標暫存器

暫存器別名 暫存器 預設的
區段暫存器
暫存器示意圖
來源索引暫存器 ESI = 32 bits
SI = 16 bits

31 16 15 0
ESI
SI


目的索引暫存器 EDI = 32 bits
DI = 16 bits

31 16 15 0
EDI
DI


堆疊指標暫存器 ESP = 32 bits
SP = 16 bits
SS
31 16 15 0
ESP
SP


基底指標暫存器 EBP = 32 bits
BP = 16 bits

31 16 15 0
EBP
BP


程式指標暫存器 EIP = 32 bits
IP = 16 bits
CS
31 16 15 0
EIP
IP


[编辑] 區段暫存器

暫存器別名 暫存器 暫存器示意圖
程式區段暫存器 CS = 16 bits
15 0
CS


資料區段暫存器 DS = 16 bits
15 0
DS


堆疊區段暫存器 SS = 16 bits
15 0
SS


額外區段暫存器 ES = 16 bits
15 0
ES


額外區段暫存器
(80386以後出現)
FS = 16 bits
15 0
FS


額外區段暫存器
(80386以後出現)
GS = 16 bits
15 0
GS


  • 在真實模式或虛擬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:單步旗標