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 狀態才能執行,如時間圖所示。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP