通用寄存器 4個 EAX、EBX、ECX和EDX 32位
段寄存器 6個 ES、CS、SS、DS、FS和GS
變址寄存器 2個 ESI和EDI 32位
堆棧寄存器 2個 ESP和EBP 32位
指令指標寄存器 1個 EIP 32位
狀態標誌寄存器 1個 EFlags 32位
控制寄存器 CR0-CR4
調試寄存器 DR0-DR7
測試寄存器 TR3-TR5
系統地址寄存器 2個 GDTR,IDTR 48位
通用寄存器
EAX通常稱為累加器(Accumulator),用累加器進行的操作速度最快
EBX稱為基底位址暫存器(Base Register),可作為儲存空間地址指標來使用
ECX稱為計數寄存器(Count Register)。在迴圈和字串操作時,可用它來控制迴圈次數
EDX稱為資料寄存器(Data Register)。在進行乘、除運算時,作為預設運算元參與運算
變址寄存器
ESI 指標寄存器的一種。是記憶體移動和比較操作的源地址寄存器;
EDI 指標寄存器的一種。是記憶體移動和比較操作的目標地址寄存器;
堆棧寄存器
EBP 指標寄存器的一種,堆棧基址指標寄存器確定堆疊框架的起始位置,
ESP 指標寄存器的一種,總是指向當前堆棧頂位置。
段寄存器
段寄存器是根據記憶體分段的管理員模式而設定的。記憶體單元的物理地址由段寄存器的值和一個位移量組合而成的,這樣可用兩
個較少位元的值組合成一個可訪問較大物理空間的記憶體位址,CPU內部的段寄存器:
CS:程式碼片段寄存器(Code Segment Register):和IP(是用來存放下條待執行的指令在該段的位移量)合在一起可在該記憶體段內取到下次要執行的指令。
DS:資料區段寄存器(Data Segment Register):
SS:堆棧段寄存器(Stack Segment Register):堆棧操作所用的段寄存器和位移量一定是SS和ESP
ES:附加段寄存器(Extra Segment Register): 串操作的目標運算元所用的段寄存器和位移量一定是ES和EDI
FS:附加段寄存器(Extra Segment Register):
GS:附加段寄存器(Extra Segment Register):
指令指標寄存器
EIP:EIP的低16位為代碼CS段的位移量,高16位都為0。
狀態標誌寄存器
運算結果標誌位
1、進位標誌CF(Carry Flag):
進位標誌CF主要用來反映運算是否產生進位或借位。如果運算結果的最高位產生了一個進位或借位,那麼,其值為1,否則其值為0。使用該標誌位的情況有:多字(位元組)數的加減運算,無符號數的大小比較運算,移位操作,字(位元組)之間移位,專門改變CF值的指令等。
2、奇偶標誌PF(Parity Flag):
奇偶標誌PF用於反映運算結果中“1”的個數的奇偶性。如果“1”的個數為偶數,則PF的值為1,否則其值為0。利用PF可進行同位檢查,或產生同位位元。在資料傳送過程中,為了提供傳送的可靠性,如果採用同位的方法,就可使用該標誌位。
3、輔助進位標誌AF(Auxiliary Carry Flag):
在發生下列情況時,輔助進位標誌AF的值被置為1,否則其值為0:
(1) 註:暫存的內容只能恢複到當前文章的編輯器中,如需恢複到其他文章中,請編輯該文章並從暫存箱中恢複;或者直接複製以上內容,手工恢複到相關文章。