CPU寄存器的种类

 
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
                              EBX
 
BH
BL
                                                 BX
以上 EBX 32 位寄存器, BX 16 位, BH BL 皆為 8
                              ECX
 
CH
CL
                                                 CX
以上 ECX 32 位寄存器, CX 16 位, CH CL 皆為 8
                              EDX
 
DH
DL
                                                 DX
以上 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 :新增的段寄存器 
 
 
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值