8085 微處理器中的跳過指令(JNC)


在 8085 指令集中,我們有一個助記符 **JNC a16**,它代表“如果非進位則跳躍”,而“a16”代表任何 16 位地址。此指令用於跳躍到指令中提供的 a16 地址。但由於它是條件跳轉,因此只有當前進位標誌值為 0 時才會發生。如果進位標誌值為 1,程式流程將按順序繼續。它是一個 3 位元組指令。

助記符,運算元
操作碼(十六進位制)
位元組
JNCLabel
D2
3


讓我們考慮此指令型別 **JNC 4000H** 的一個示例。它是一個 3 位元組指令。此指令執行的結果如下所示,並附帶一個示例。

地址
十六進位制程式碼
助記符
註釋
2000
37
STC
設定進位標誌位。因此 Cy = 1
2001
3F
CMC
反轉進位標誌位。因此 Cy = 0
2002
D2
JNC 4000
跳過非進位,即當 Cy = 0 時跳躍
2003
00


目標地址的低位位元組
2004
40


目標地址的高位位元組
PC ← 4000H,因此程式控制將轉移到地址 4000H
2005
78
MOV A,B
此指令現在不會獲得控制權,因為 JNC 會將控制權轉移到記憶體地址 4000H
….
….
….
….
4000
41
MOV B, C
地址 4000H 的下一條指令將獲得控制權


針對此指令 **JNC 4000H** 執行的時序圖如下所示:


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


更新於:2020年6月27日

7K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

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