8085 微處理器中非零跳轉 (JNZ) 指令


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

助記符,運算元
操作碼(十六進位制)
位元組數
JNZLabel
C2
3


讓我們考慮此指令型別的示例 **JNZ 4000H**。它是一個 3 位元組指令。下面透過示例顯示此指令執行的結果。

地址
十六進位制程式碼
助記符
註釋
2000
3E
MVI A,40
A ← 40H
2001
40


8 位運算元 40H
2002
06
MVI B,30
B ← 30H
2003
30


8 位運算元 30H
2004
90
SUB B
A ← A – B= 40H – 30H = 10H
2005
C2
JNZ 4000
非零跳轉,即當 Z = 0 時跳轉,由於減法結果為 10H(非零),因此 Z 標誌位將保持值為 0
2006
00


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


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


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


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

更新於: 2020 年 6 月 27 日

9K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.