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