8085微處理器中的返回進位(RC)指令


在8085指令集中,RC是一個助記符,代表“返回進位”。只有當Cy標誌位值為1時,此指令才返回主程式。如果Cy標誌位值為0,程式流程將依次繼續在子程式中執行。它是一個1位元組指令。

助記符,運算元
操作碼(十六進位制)
位元組數
RC
D8
1


讓我們考慮以下示例程式碼以便更好地解釋:

地址
十六進位制程式碼
助記符
註釋
2000
31
LXI SP, 5000H
SP ← 5000H. 初始化堆疊指標(SP)
2001
00


地址的低位位元組
2002
50


地址的高位位元組
2003
21
LXI H, 4050H
HL ← 4050H,初始化HL暫存器對
2004
50


地址的低位位元組
2005
40


地址的高位位元組
2006
CD
CALL 200BH
呼叫地址為200BH的子程式。因此,程式的控制將轉移到200BH位置。返回地址2009H(即下一條指令的地址)將被壓入堆疊頂部。結果,4FFFH (SP – 1) 將包含 20H,而 4FFEH (SP – 2) 將分別包含 09H。
2007
0B


地址的低位位元組
2008
20


地址的高位位元組
2009
77
MOV M, A
M ← A,累加器的內容將被傳輸到HL暫存器對指向的記憶體位置4050H。因此,在4050H記憶體位置將儲存累加器的內容F0H。成功執行RC指令後,控制將返回到此指令。
200A
76
HLT
程式結束。
200B
3E
MVI A, 40H
A ← 40H,用初始值40H初始化累加器
200C
40


運算元為40H
200D
06
MVI B, 50H
B ← 50H,用初始值30H初始化暫存器B
200E
50


運算元為50H
200F
90
SUB B
A ← A – B = 40H – 50H = -10H = F0H,由於計算結果產生了進位,所以Cy = 1
2010
D8
RC
將控制返回到地址2009H。返回地址2009H將從堆疊頂部彈出。因此,從地址4FFEH彈出09H,從地址4FFFH彈出20H,SP將相應地恢復其初始地址5000H的內容。
2011
80
ADD B
A ← A + B ← -10H + 50H = 40H。
(但在這個例子中,這一行程式碼無法訪問,所以不會被執行)
2012
77
MOV M, A
M ← A,累加器的內容將被傳輸到HL暫存器對指向的記憶體位置4050H。因此,在4050H記憶體位置將儲存累加器的內容40H。
(但在這個例子中,這一行程式碼無法訪問,所以不會被執行)
2013
C9
RET
將控制返回到地址2009H。返回地址2009H將從堆疊頂部彈出。因此,從地址4FFEH彈出09H,從地址4FFFH彈出20H,SP將相應地恢復其初始地址5000H的內容。
(但在這個例子中,這一行程式碼無法訪問,所以不會被執行)


此指令RC執行的時序圖如下:


總結 − 因此,此指令RC需要1個位元組,3個機器週期(操作碼提取、記憶體讀取、記憶體讀取)和12個T狀態來執行,如時序圖所示。

更新於:2020年6月27日

627 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.