8085微處理器暫存器


它有八個可定址的8位暫存器:A、B、C、D、E、H、L、F,以及兩個16位暫存器PC和SP。這些暫存器可以分類為:

  • 通用暫存器

  • 臨時暫存器:a) 臨時資料暫存器 b) W和Z暫存器

  • 專用暫存器:a) 累加器 b) 標誌暫存器 c) 指令暫存器

  • 16位暫存器:a) 程式計數器 (PC) b) 堆疊指標 (SP)

通用暫存器

在8085微處理器中,B、C、D、E、H和L是通用暫存器。所有這些通用暫存器都是8位寬的。它們不如累加器重要。它們用於在程式執行期間臨時儲存資料。例如,沒有指令可以將B和E暫存器的內容相加。至少有一個運算元必須在A暫存器中。因此,要將B和E暫存器相加並將結果儲存在B暫存器中,必須執行以下操作:

  • 將B暫存器的內容移到A暫存器。

  • 然後將A和E暫存器相加。結果將儲存在A暫存器中。

  • 將此結果從A暫存器移到B暫存器。

可以使用這些暫存器對來儲存16位資訊。只有BC、DE和HL可以形成暫存器對。當它們在指令中用作暫存器對時,左暫存器被理解為具有高位位元組,右暫存器具有低位位元組。例如,在DE暫存器對中,D暫存器的內容被視為高位位元組,E暫存器的內容被視為低位位元組。

臨時暫存器

(a)臨時資料暫存器 - 算術邏輯單元 (ALU) 有兩個輸入。一個輸入由累加器提供,另一個來自臨時資料暫存器。程式設計師無法訪問此臨時資料暫存器。但是,它在內部用於執行大多數算術和邏輯指令。

(b) W和Z暫存器 - W和Z暫存器是臨時暫存器。這些暫存器用於在執行某些指令期間儲存8位資料。由於8085微處理器架構在內部使用它們,因此程式設計師無法使用這些暫存器。

專用暫存器

(a) A暫存器 (累加器) - A暫存器是一個8位暫存器,在8085中用於執行算術、邏輯、I/O和LOAD/STORE操作。A暫存器通常被稱為累加器。累加器是計算機CPU(中央處理器)中用於短期儲存算術和邏輯資料的暫存器。在涉及兩個運算元的算術運算中,一個運算元必須在此暫存器中。算術運算的結果將儲存或累積在此暫存器中。同樣,在涉及兩個運算元的邏輯運算中,一個運算元必須在累加器中。此外,一些其他操作,如求補和十進位制調整,只能對累加器執行。

(b)標誌暫存器 - 它是一個8位暫存器,其中五位攜帶重要的標誌資訊:S(符號標誌)、Z(零標誌)、AC(輔助進位標誌)、P(奇偶標誌)和CY(進位標誌);如圖1.2所示。

  • S-符號標誌 - 算術或邏輯運算執行後,如果結果的D7位為1,則設定符號標誌。在給定的位元組中,如果D7為1,則該數字將被視為負數。如果D7為0,則該數字將被視為正數。

  • Z-零標誌 - 如果ALU操作的結果為零,則設定零標誌;如果結果不為零,則復位零標誌。如果某個暫存器的值在自增或自減操作後變為零,則零標誌也會被設定。

  • AC-輔助進位標誌 - 如果從D3位到D4位有溢位(即從低4位到高4位的進位),則設定此標誌。此標誌用於BCD運算,程式設計師無法使用它。

  • P-奇偶標誌 - 奇偶性由累加器中存在的1的個數定義。算術或邏輯運算後,如果結果的1的個數為偶數,即偶數奇偶性,則設定此標誌。如果奇偶性為奇數,則復位此標誌。

  • CY-進位標誌 - 如果從D7位有溢位,則設定此標誌。進位標誌也用作減法的借位標誌。在下面顯示的兩個示例中,進位標誌都被設定。

          Addition

                    9BH     ----->   1001 1011

                  +75 H     -----> + 0111 0101

                 ---------         -----------

         Carry     1 10 H   -----> 1 0001 0000

        Subtraction

                    89H     ----->   1000 1001

                  -AB H     -----> - 1010 1011

                ---------           -----------

      Borrow1      10 H     ----->  1 1101 1110


c) 指令暫存器 - 在典型的處理器操作中,處理器首先從記憶體中獲取指令的操作碼(即,它將地址放在地址總線上,記憶體透過將儲存在指定地址上的資料放在資料匯流排上進行響應)。CPU 將此操作碼儲存在一個稱為指令暫存器的暫存器中。此操作碼將進一步傳送到指令解碼器以選擇 256 個備選項之一。

4. 16位暫存器

a) 程式計數器 (PC) - 程式是一系列指令。如前所述,微處理器從記憶體中獲取這些指令並執行它們。程式計數器是一個專用暫存器,在任何給定時間,它都儲存要獲取的下一條指令的地址。程式計數器充當指向下一條指令的指標。處理器如何遞增程式計數器取決於指令的性質;對於單位元組指令,它將程式計數器遞增一,對於雙位元組指令,它將程式計數器遞增二,對於三位元組指令,它將程式計數器遞增三,以便程式計數器始終指向下一條指令的地址。

對於跳轉和呼叫指令,跳轉和呼叫指令後面的地址將被放入程式計數器。然後,處理器從跳轉或呼叫指令指定的新的地址獲取下一條指令。在條件跳轉和條件呼叫指令中,如果條件不滿足,處理器將程式計數器遞增三,以便它指向條件跳轉或呼叫指令後面的指令;否則,處理器將從跳轉或呼叫指令指定的新的地址獲取下一條指令。

b) 堆疊指標 (SP) - 堆疊是RAM記憶體中一個保留區域,可以臨時儲存資訊。一個16位的堆疊指標用於儲存最近堆疊條目的地址。

下圖顯示了8085微處理器的架構及其暫存器組織:


更新於:2020年6月27日

18K+ 瀏覽量

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告