問題解答之 計算機中寄存器定義,分類

1.              計算機中寄存器定義,分類
   
寄存器是 CPU 內部的元件,寄存器擁有很是高的讀寫速度,因此在寄存器之間的數據傳送很是快。
寄存器的用途:
1.
可將寄存器內的數據執行算術及邏輯運算。
2.
存於寄存器內的地址可用來指向內存的某個位置,即尋址。
3.
能夠用來讀寫數據到電腦的周邊設備。

    8086 
8 8 位數據寄存器,這些 8 位寄存器可分別組成 16 位寄存器:
AH&AL
AX :累加寄存器,經常使用於運算;
BH&BL
BX :基址寄存器,經常使用於地址索引;
CH&CL
CX :計數寄存器,經常使用於計數;
DH&DL
DX :數據寄存器,經常使用於數據傳遞。

   
爲了運用全部的內存空間, 8086 設定了四個段寄存器,專門用來保存段地址:
CS
Code Segment ):代碼段寄存器;
DS
Data Segment ):數據段寄存器;
SS
Stack Segment ):堆棧段寄存器;
ES
Extra Segment ):附加段寄存器。
當一個程序要執行時,就要決定程序代碼、數據和堆棧各要用到內存的哪些位置,經過設定段寄存器  CS DS SS  來指向這些起始位置。一般是將 DS 固定,而根據須要修改 CS 。因此,程序能夠在可尋址空間小於 64K 的狀況下被寫成任意大小。   因此,程序和其數據組合起來的大小,限制在 DS  所指的 64K 內,這就是 COM 文件不得大於 64K 的緣由。 8086 之內存作爲戰場,用寄存器作爲軍事基地,以加速工做。
   
除了前面所提的寄存器外,還有一些特殊功能的寄存器:
IP
Intruction Pointer ):指令指針寄存器,與 CS 配合使用,可跟蹤程序的執行過程;
SP
Stack Pointer ):堆棧指針,與 SS 配合使用,可指向目前的堆棧位置。
BP
Base Pointer ):基址指針寄存器,可用做 SS 的一個相對基址位置;
SI
Source Index ):源變址寄存器可用來存放相對於 DS 段之源變址指針;
DI
Destination Index ):目的變址寄存器,可用來存放相對於  ES  段之目的變址指針。
   
還有一個標誌寄存器 FR Flag Register , 有九個有意義的標誌 (
OF: 
溢出標誌位      OF 用於反映有符號數加減運算所得結果是否溢出。若是運算結果超過當前運算位數所能表示的範圍,則稱爲溢出, OF 的值被置爲 1 ,不然, OF 的值被清爲 0. 
DF: 
方向標誌     DF 位用來決定在串操做指令執行時有關指針寄存器發生調整的方向。  
IF: 
中斷容許標誌     IF 位用來決定 CPU 是否響應 CPU 外部的可屏蔽中斷髮出的中斷請求。但無論該標誌爲什麼值, CPU 都必須響應 CPU 外部的不可屏蔽中斷所發出的中斷請求,以及 CPU 內部產生的中斷請求。具體規定以下:  
(1)
、當 IF=1 時, CPU 能夠響應 CPU 外部的可屏蔽中斷髮出的中斷請求;  
(2)
、當 IF=0 時, CPU 不響應 CPU 外部的可屏蔽中斷髮出的中斷請求。
TF: 
狀態控制標誌位     TF 是用來控制 CPU 操做的,它們要經過專門的指令才能使之發生改變  
SF: 
符號標誌     SF 用來反映運算結果的符號位,它與運算結果的最高位相同。在微機系統中,有符號數採用補碼錶示法,因此, SF 也就反映運算結果的正負號。運算結果爲正數時, SF 的值爲 0 ,不然其值爲 1  
ZF: 
零標誌     ZF 用來反映運算結果是否爲 0 。若是運算結果爲 0 ,則其值爲 1 ,不然其值爲 0 。在判斷運算結果是否爲 0 時,可以使用此標誌位。  
AF: 
下列狀況下,輔助進位標誌 AF 的值被置爲 1 ,不然其值爲 0  
(1)
、在字操做時,發生低字節向高字節進位或借位時;
(2)
、在字節操做時,發生低 4 位向高 4 位進位或借位時。
PF: 
奇偶標誌     PF 用於反映運算結果中 「1」 的個數的奇偶性。若是 「1」 的個數爲偶數,則 PF 的值爲 1 ,不然其值爲 0  
CF: 
進位標誌     CF 主要用來反映運算是否產生進位或借位。若是運算結果的最高位產生了一個進位或借位,那麼,其值爲 1 ,不然其值爲 0
相關文章
相關標籤/搜索