CPU 通用暫存器是什麼?


通用暫存器是CPU中存在的附加暫存器,根據需要用於儲存記憶體地址或資料。例如,在中斷髮生時儲存當前暫存器內容。

8086 處理器

讓我們考慮一個8086處理器。8086微處理器中有八個通用暫存器,解釋如下:

AX

這是一個16位的累加器,分為兩個8位暫存器AH和AL,以同樣執行8位指令。它通常用於算術和邏輯指令,但在8086晶片中,它不需要作為目標運算元。

示例 − ADD AX, AX (AX= AX+AX)

BX

這是一個16位的基址暫存器,分為兩個8位暫存器BH和BL,以同樣執行8位指令。它儲存偏移量值。

示例 − MOV BL, [500] (BL= 500H)

CX

這是一個16位的計數器暫存器,分為兩個8位暫存器CH和CL,以同樣執行8位指令。它通常用於迴圈和旋轉。

示例

MOV CX,0005

MOV CL,5000

DX

這是一個16位的資料暫存器,分為兩個8位暫存器DH和DL,以同樣執行8位指令。它通常用於輸入/輸出埠地址的乘法。

示例 − Mul BX (DX,AX=AX*BX)

SP

這是一個16位的堆疊指標,指向堆疊的頂部元素。

BP

這是一個16位的基址指標,用於訪問已傳遞到堆疊的引數。

SI

這是一個16位的源索引暫存器,用於資料的指標定址以及字串相關操作的源。

DI

這是一個16位的目標索引暫存器,用於資料的指標定址以及字串相關操作的目標。

如何使用通用暫存器?

CPU的8個通用暫存器能夠儲存32位二進位制數。除了32位資料外,它們還可以儲存16位或8位資料。

  • 當儲存32位資料時,指令表示為:

    ER0, ER1, ER2, ER3, ER4, ER5, ER6, ER7

  • 當儲存16位資料時,指令使用暫存器表示為16個單元:

    E0, E1, E2, E3, E4, E5, E6, E7, R0, R1, R2, R3, R4, R5, R6, R7

  • 當儲存8位資料時,指令使用暫存器表示為16個單元:

    R0H, R0L, R1H, R1L, R2H, R2L, R3H, R3L, R4H, R4L, R5H, R5L, R6H, R6L, R7H, R7L

更新於:2021年11月26日

12K+ 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告