8085 微處理器中的 RLC 指令
在 8085 指令集中,有一個助記符 **RLC** 代表“迴圈左移累加器”。它將累加器的內容向左旋轉 1 位。下圖詳細顯示了此操作。

在此圖中,它描述了累加器的最高有效位將移出,向左旋轉將在最低有效位處建立一個空位,並且此移出的位將被複制到空位以及標誌暫存器中的 Cy 位。因此,Cy 標誌獲得從 MS 位位置移出的位的副本。請注意,Cy 標誌不參與旋轉,它只是累加器內容的 8 位旋轉。只有 Cy 標誌受此指令執行的影響。
助記符,運算元 | 操作碼(十六進位制) | 位元組 |
---|---|---|
RLC | 07 | 1 |
此指令可用於以下不同的案例研究。
檢查數字是正數還是負數。因為累加器內容的最高有效位儲存符號位。
執行乘以 2 的操作,將累加器向左旋轉。它對無符號數有效,只要累加器的 MS 位在旋轉前為 0。眾所周知,乘以 2n 會導致數字向左移 n 位。
讓我們討論一些關於此助記符用法的示例。
示例 1
35H ---> 0011 0101 0 0110 1010 ---> 6AH
之前 | 之後 | |
---|---|---|
(A) |
35H | 6AH |
(Cy) |
任何值 | 0 |
地址 | 十六進位制程式碼 | 助記符 | 註釋 |
---|---|---|---|
2002 | 07 | RLC | 迴圈左移累加器 |
由於我們進行了 1 位左移並且 MSB 為 0,因此累加器內容已加倍。
示例 2
95H ---> 1001 0101 1 0010 1011 ---> 2BH
之前 | 之後 | |
---|---|---|
(A) |
95H | 2BH |
(Cy) |
任何值 | 1 |
在此示例中,累加器值沒有加倍,因為累加器的最高有效位在旋轉前為 1。
地址 | 十六進位制程式碼 | 助記符 | 註釋 |
---|---|---|---|
2002 | 07 | RLC | 迴圈左移累加器 |
針對此指令 **RLC** 執行的時序圖如下所示:

**總結** - 因此,此指令 **RLC** 需要 1 個位元組、1 個機器週期(操作碼獲取)和 4 個 T 狀態才能執行,如時序圖所示。
廣告