8085 微處理器中 PUSH rp 指令


在 8085 指令集中,PUSH rp 指令透過將其壓入堆疊頂端以上兩個位置來儲存暫存器對 rp 的內容。rp 代表以下暫存器對之一。

rp = BC, DE, HL, or PSW

由於 rp 可以具有四個值中的任何一個,因此此類指令有四個操作碼。它在記憶體中僅佔用 1 個位元組。

助記符,運算元 操作碼(十六進位制) 位元組
PUSH B C5 1
PUSH D D5 1
PUSH H E5 1
PUSH PSW F5 1

在上述操作碼中,2 位用於表示暫存器對。2 位可以有 4 種組合。因此,可以使用 POP 指令提及 4 個暫存器對。如前所述,它們是 BC、DE、HL 和 AF 或 PSW。

請注意,對於 LXI 指令,我們可以使用 4 個可能的暫存器對,即 BC、DE、HL 和 SP。因此,我們不能同時使用 SP 和 PSW 應用於同一指令。

rp 程式碼 暫存器對
0 0 BC
0 1 DE
1 0 HL
1 1 SP 或 PSW,但不能同時使用兩者。

讓我們以 PUSH B 作為此類別的示例指令。它是一個 1 位元組指令。

此指令執行的結果如下例所示。

之前 之後

(BC)

AABBH AABBH

(SP)

4000H 3FFEH

(3FFFH)

任何值 AAH

(3FFEH)

任何值 BBH

地址 十六進位制程式碼 助記符 註釋
2000 01 LXI B, AABBH 用 AABBH 初始化 BC 暫存器對
2001 BB 低位位元組 BBH
2002 AA 高位位元組 AAH
2003 31 LXI SP,4000H 用 4000H 初始化 SP
2004 00 低位位元組 00H
2005 40 高位位元組 40H
2006 C5 PUSH B AAH 將移動到 3FFFH,BBH 將移動到 3FFEH

此指令 PUSH B 執行的時序圖如下所示:

PUSH

總結 - 因此,此指令 PUSH B 需要 1 個位元組、3 個機器週期(操作碼獲取、記憶體寫入、記憶體寫入)和 12 個 T 狀態才能執行,如時序圖所示。

更新於:2019 年 7 月 30 日

11K+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.