1.
一般寄存器
:AX
、
BX
、
CX
、
DX
AX:
累加寄存器,
BX:
基址寄存器,
CX:
計數寄存器,
DX:
数据
寄存器
ax,bx,cx,dx
各為
16
位即
2bytes
空間的寄存器,其中
ax
又可化分為
ah
與
al
,而
bx
可化分為
bh
與
bl
,
cx
及
dx
亦同,而
ah
與
al
空間即為
8
位
1byte
的空間,舉例,如果
ax=3478h
,那麼
ah=34h
、
al=78h
其中
bx
又可用來
間接寻址
的寄存器使用,舉例,假如
ds=2300h
,
bx=0200h
,那麼執行
mov ax,[bx]
指令後就會把
2300:0200
存储器的数据取出
2byes
並存入
ax
,就是這樣懂了嗎?
EAX
|
AH
|
AL
|
AX
以上 EAX 為 32 位寄存器, AX 為 16 位, AH 及 AL 皆為 8 位
以上 EAX 為 32 位寄存器, AX 為 16 位, AH 及 AL 皆為 8 位
EBX
|
BH
|
BL
|
BX
以上 EBX 為 32 位寄存器, BX 為 16 位, BH 及 BL 皆為 8 位
以上 EBX 為 32 位寄存器, BX 為 16 位, BH 及 BL 皆為 8 位
ECX
|
CH
|
CL
|
CX
以上 ECX 為 32 位寄存器, CX 為 16 位, CH 及 CL 皆為 8 位
以上 ECX 為 32 位寄存器, CX 為 16 位, CH 及 CL 皆為 8 位
EDX
|
DH
|
DL
|
DX
以上 EDX 為 32 位寄存器, DX 為 16 位, DH 及 DL 皆為 8 位
以上 EDX 為 32 位寄存器, DX 為 16 位, DH 及 DL 皆為 8 位
2.
索引寄存器
:SI
、
DI
SI:
來源索引寄存器,
DI:
目的索引寄存器
16
位寄存器,功能同
bx
可間接寻址,但不能化分成兩個
8
位
ESI
|
SI
|
以上
ESI
為
32
位寄存器,
SI
為
16
位
EDI
|
DI
|
以上
EDI
為
32
位寄存器,
DI
為
16
位
3.
堆栈、基址寄存器
:SP
、
BP
SP:
堆栈指標寄存器,
BP:
基底指標寄存器
SP
是堆栈指標,當使用
push
指令時,
sp
會加
2
,而執行
pop
時
sp
會減
2
BP
是可間接寻址的寄存器,不過通常用於堆栈段,如
mov ax,ss:[bp]
ESP
|
SP
|
以上
ESP
為
32
位寄存器,
SP
為
16
位
EBP
|
BP
|
以上
EBP
為
32
位寄存器,
BP
為
16
位
4.
指位
/
指標寄存器
(
指位器
):IP
程序在執行時,它用來記錄現在程序執行到哪裡,當遇到
jmp
、
call
、
int
等等的跳转指令時,它的內容也會隨著欲跳转前往的地址而改變
EIP
|
IP
|
以上
EIP
為
32
位寄存器,
IP
為
16
位
5.
段寄存器
:CS
、
DS
、
ES
、
SS
、
FS
、
GS
代码段
CS
:如
IP
所執行地址都是
CS
代码段的內容
数据段
DS
:如
mov ax,[bx]
間接寻址法所指都是数据段的数据
附加段
ES
:如
mov ax,es:[di]
利用間接寻址法取其他區段存储器数据時
堆栈段
SS
:如
SP
堆栈数据,都是指在堆栈段的
附加段
FS
:新增區段寄存器
附加段
GS
:新增區段寄存器
CS
|
代码段寄存器
16
位
DS
|
数据段寄存器
16
位
ES
|
附加段寄存器
16
位
SS
|
堆栈段寄存器
16
位
FS
|
新增附加段寄存器
GS
|
新增附加段寄存器
6.
标志寄存器
:FLAG
16
位寄存器,先將它轉成
2
進制來看
15
|
14
|
13
|
12
|
11
|
10
|
09
|
08
|
07
|
06
|
05
|
04
|
03
|
02
|
01
|
00
|
|
|
|
|
OF
|
DF
|
IF
|
TF
|
SF
|
ZF
|
|
AF
|
|
PF
|
|
CF
|
AF
:輔助進位标志
CF
:進位标志
OF
:溢位标志
SF
:符號
(
負號
)
标志
PF
:奇偶标志
ZF
:零值标志
DF
:方向标志
IF
:中斷标志
TF
:單步标志
EFLAG
|
FLAG
|
以上
EFLAG
為
32
位寄存器,
FLAG
為
16
位
7.386
以上電腦新增擴充之寄存器
EAX
、
ECX
、
EDX
、
EBX
:為
ax,bx,cx,dx
的扩展,各為
32
位
ESI
、
EDI
、
ESP
、
EBP
:為
si,di,sp,bp
的扩展,
32
位
EFLAG
、
EIP
:為
FLAG
與
IP
之扩展,
32
位
FS
、
GS
:新增的段寄存器