一個CPU有幾個寄存器


寄存器是中央處理機的一個不可分割的一部分。該寄存器是一個有限的存儲器容量的高速存儲的部件,它們可以被用於臨時存儲的指令,數據和地址。在中央處理機的控制部分,包含在指令寄存器(IR)和程序計數器(PC)中的寄存器。中央處理器的算術和邏輯組件,該寄存器包含累加器(ACC)。
注冊的內存層次結構的頂部,也是最快的方式運行數據系統。注冊,例如,他們可以節省數位,通常是衡量一個8位寄存器“或”32位寄存器“。注冊登記文件來實現,但它們也可能使用一個單獨的觸發器來實現的高速的核心內存,薄膜內存以及幾台機器上,否則
注冊通常意指的輸出或輸入的指令直接索引到注冊組。適當的給他們打電話“的架構寄存器。
例如,x86指令的集合,8個32位寄存器的定義,但執行x86指令集的CPU可以超過8個寄存器。
寄存器CPU內部組件,寄存器具有非常高的識字率,所以非常快速的數據傳輸寄存器之間進行。
[編輯本段]寄存器使用
寄存器中的數據進行算術和邏輯運算;
地址存儲在寄存器可以用來指向內存中的一個位置,即解決; /> 3可用於讀取和寫入數據的計算機外圍設備。
[編輯本段]數據寄存器
8086 14個16位寄存器,14個寄存器按其用途可以分為(1)通用寄存器,(2)指令指針(3)標志寄存器和(4)段寄存器4。
(1)通用寄存器8和可分為兩組,一組數據寄存器(4),另一組指針寄存器和變址寄存器(4)。
數據寄存器分為:
AH&AL = AX(累加器):累加器寄存器用來存儲操作數的計算中,常用的乘法和除法指令中指定的,所有的I / O指令的使用注冊設備傳輸數據以外
BH&BL = BX(基地):基址寄存器,常用的地址索引;
CH和CL = CX(計數):計數寄存器,常用的計數;通常用於保存所計算的值,如在移位指令,環路(環路),和串行處理指令所暗示計數器。
生署&DL = DX(數據):數據寄存器,常用的數據傳輸中。
他們的特點是4個16位寄存器,可分為八個高:AH,BH,CH,DH。以及低八:AL,BL,CL,DL。 2個組的8位寄存器可以是單獨可尋址的,並且單獨使用。
另一組指針寄存器和索引寄存器,包括:
SP(堆棧指針):堆棧指針,與SS配合使用,可以指向當前堆棧位置;
BP(基址指針):基址指針寄存器,可以作為一個相對基地址的SS
SI(指數):源變址寄存器可用來存放相對於DS段的源索引指針;
DI(目的地指數):指數在寄存器的目的,可以使用相對到ES段指針的目的存儲索引。
這4個16位寄存器只能進行16位的存取操作,主要用來形成操作數的地址,並使用計算有效地址的操作數堆棧操作和索引操作。
(2)指令指針IP(指令指針)
指令指針IP是一個16位專用寄存器,它指向需要刪除當前指令字節BIU刪除一個指令字節自動從記憶體IP加1點到下一個指令字節。注意IP點的指令的地址的地址的段內的偏移量的偏移地址(偏移地址)或有效地址(EA和有效地址),也被稱為。
(3)標志寄存器FR(標志寄存器)
8086有一個18位的標志寄存器FR和9 FR有意義的,六個狀態位和3個控制位。
作者:溢出標志,是用來反映加法和減法的有符號數溢出的結果。如果計算結果超過,可以表示在當前的算術中位數稱為溢出作者在值的范圍內被設置為1,否則,該值。被清除為0。
DF:方向標志DF位被用來確定的字符串操作指令的執行指針寄存器調整的方向。
IF:中斷允許標志IF位是用來決定是否發出的CPU可屏蔽中斷響應CPU外部中斷請求。然而,無論標志值,CPU必須響應非屏蔽中斷的問題,外部中斷請求的CPU,以及CPU內部生成的中斷請求。具體規定如下:
(1),當IF = 1,CPU響應可屏蔽中斷CPU發出中斷請求,
(2)IF = 0,CPU不響應CPU外部可屏蔽中斷的中斷請求發出。
TF:跟蹤旗TF。此標志可用於調試。 TF標志沒有專門的指令來設置或清除。
如果TF = 1(1)中,CPU是一個單步執行指令每執行的指令對每個寄存器的當前值和CPU將在CPU中執行的下一條指令。
(2)如果TF = 0,在連續模式。
SF:符號標志SF符號位是用來反映該操作的結果,它是相同的操作的結果的MSB。在微計算機系統中,用於補充符號的符號的數目,所以,SF也反映操作結果的符號。的操作的結果是肯定的,則SF有一個值,該值是0,否則,它的值是1。
ZF:零標志ZF用來反映操作的結果是0。如果結果為0,1的值,否則它的值是0。在操作結果是否為0的判斷,可以使用這個標志位。
AF:在下列情況下,輔助進位標志AF的值設置為1,否則它的值是0:
(1)低字節到高字節的二進制字操作發生或借用; BR />(2),低4字節的操作中,發生進位或借。
PF:奇偶標志PF用於反映的奇偶校驗計算的數字“1”的結果。如果“1”的數目為偶數時,PF值1,否則它的值是0。
CF:進位標志CF主要用來反映操作者是否進位或借。如果MSB操作的結果產生進位或借,那么它的值是1,否則其值為0。為了使用所有的內存空間)
4)段寄存器(段寄存器)
8086套4段寄存器,保存段地址:
CS(代碼段):驗證碼段寄存器;
DS(數據段):數據段寄存器;
SS(堆棧段):堆棧段寄存器;
附加段(ES):附加段寄存器。
時要被執行的一個程序,它是必要的決定的程序代碼,數據和堆棧存儲器中的什么位置,每次使用指向這些起始位置,通過設置段寄存器CS,DS,SS。一般的DS是固定的,同時可根據需要CS。因此,該程序可以是小於在可尋址空間中被寫入的64K的情況下在任何規模的。因此,組合的程序和數據,有限的DS所指的64K的大小,這是COM文件不得大於64K的原因。 8086內存當作戰場,注冊一個軍事基地,以加快工作。
以上是8086寄存器的整體形象,自80386啟動PC進入32位時代的尋址模式,寄存器的大小,功能的改變。
=============================下面是一些信息========= 80386寄存器= ============================
寄存器是32位的。
A,通用寄存器
這里是通用寄存器和成語。正如它的名字所暗示的,通用寄存器的寄存器,你可以根據自己的意願,並它們的值?通常不會造成很大的影響的計算機上運行。最普遍使用的通用寄存器的計算方法。
EAX:通用寄存器。相對於其他寄存器進行評估。在保護模式下,也可以用來作為存儲器偏移指針(在這種情況下,DS作為段寄存器或選擇器)
EBX:一般用途寄存器。通常作為內存偏移指針的使用(相對的EAX,ECX,EDX),DS是默認的段寄存器的選擇。在保護模式下,也可以扮演這個角色。
ECX:通用寄存器。通常是使用一個特定指令的計數。在保護模式下,也可以用來作為存儲器偏移指針(在這種情況下,DS寄存器或段選擇)。
EDX:通用寄存器。在某些操作中EAX的溢出寄存器(例如乘,除)。在保護模式下,也可以用來作為一個存儲器偏移指針(DS段寄存器或選擇器)。
AX分為AH&AL上述寄存器包括分組的相應的16 - 位和8位的數據包。在特殊寄存器
ESI
B,作為一個內存指針:通常在內存操作指令的源地址指針的使用。當然,ESI可以裝入的任何值,但通常沒有人正在使用它作為一個通用寄存器。 DS是默認的段寄存器的選擇。
EDI作為目的地址指針內存操作指令通常使用。當然,EDI也可以被加載到任何值,但通常沒有人使用它作為一個通用寄存器。 DS是默認的段寄存器的選擇。
EBP:這是一個寄存器作為指針。通常情況下,它是一種高級語言編譯器的建設的“堆棧幀”來保存局部變量的函數或過程,但是,還是那句話,您可以在其中保存任何您想要的數據。 SS是默認的段寄存器或選擇器。
注意,三個寄存器沒有相應的8位數據包。換句話說,你可以通過SI,DI,BP作為別名來訪問他們的低16位,但有沒有辦法直接訪問的低8。
C,段選擇:
實模式下,段寄存器保護模式的選擇搖身一變就成了。 ,實時模式下,段寄存器是16位和32位保護模式的選擇。
CS代碼段,或代碼選擇。的地址指向到當前正在執行的相同的IP寄存器(后述)。點從該寄存器中,當處理器執行的段(實模式),或存儲器(保護模式下),以獲得指示。除了跳轉或分支指令外,您不能該寄存器的內容。
DS數據段或數據選擇器。該寄存器的低16位處理內存與ESI點指令。在同一時間,所有的內存操作指令默認情況下,使用其指定的經營分部(實模式)或內存(作為選擇,這個寄存器可以被加載到保護模式中的任何值,但是,必須要小心這樣做,首先,將數據發送到AX,然后轉移從AX到DS的(當然,也可以通過堆棧)
ES附加段,或額外選擇低16位的寄存器同樣,該寄存器可以被加載到任何值,類似的方法和DS,連同EDI點的指令來處理與內存。的
FS f片段或F選擇器(大概F是免?)可以使用該寄存器默認的段寄存器選擇器可裝載任何值,相似的方法和DS的替代品。
GS G或G選擇器(G和F的意義,沒有任何文件對英特爾解釋),它幾乎完全是相同的,FS。
SS堆棧段或堆棧選擇低16位寄存器一起ESP指向下一個堆棧操作(push和pop)堆棧地址。寄存器可以也可裝入任何數值,你可以推和彈出操作要分配給他,但棧中的許多操作具有非常重要的意義,因此,不正確的可能會導致損壞的堆棧。<BR / *注意一定不在初學階段,在迷宮中迷路了,這些寄存器進行編譯。他們是非常重要的,一旦你掌握了它們,你可以做任何操作的段寄存器,或選擇不指定,使用默認的這些話,可能現在看來,可能有點稀里糊塗的情況下,你很快就會知道如何做到這一點在后面的指令指針寄存器。

EIP寄存器,非常這是一個32位寬的寄存器,點該指令一起執行CS地址不能直接該寄存器的值,跳轉或分支指令,它是唯一的方法。(CS默認的段或選擇器)
以上的基本寄存器。有一些其他寄存器,你可能不會甚至聽說過他們。(包括32-bit寬):
CR0,CR2,CR3(控制寄存器)。給你舉個例子,CR0的作用是切換到實模式和保護模式。
有一些其他的寄存器,D0,D1,D2,D3,D6和D7(調試寄存器)。他們作為調試器硬件支持,可以設置條件斷點。
TR3,TR4 ,TR5,TR6和TR注冊為一定條件下的測試(測試寄存器)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM