8085 微處理器中的跳轉小於零 (JM) 指令
在 8085 指令集中,我們有一個助記符 **JM a16**,它代表“跳轉小於零”,其中“a16”代表任何 16 位地址。此指令用於跳轉到指令中提供的 a16 地址。但由於它是一個條件跳轉,因此只有在當前符號標誌值為 1 時才會發生。如果符號標誌值為 0,則程式流程將依次繼續。它是一個 3 位元組指令。
| 助記符,運算元 | 操作碼(十六進位制) | 位元組數 |
|---|---|---|
| JM 標籤 | FA | 3 |
讓我們考慮此指令型別 **JM 4000H** 的一個示例。它是一個 3 位元組指令。下面用一個示例顯示了執行此指令的結果。
| 地址 | 十六進位制程式碼 | 助記符 | 註釋 |
|---|---|---|---|
| 2000 | 3E | MVI A,30 | A ← 30H |
| 2001 | 30 | 8 位運算元 30H | |
| 2002 | 06 | MVI B,40 | B ← 40H |
| 2003 | 40 | 8 位運算元 40H | |
| 2004 | 90 | SUB B | A ← A – B= 30H – 40H = -10H = F0H。由於結果為 -10H 且結果為負數,因此 S 標誌位將為 1 |
| 2005 | FA | JM 4000 | 跳轉小於零,即當 S = 1 時跳轉,由於減法結果為 -10H,因此 S 標誌位將保持值為 1 |
| 2006 | 00 | 目標地址的低位位元組 | |
| 2007 | 40 | 目標地址的高位位元組 PC ← 4000H,因此程式控制將轉移到地址 4000H | |
| 2008 | 78 | MOV A, B | 此指令現在將不會獲得控制權,因為 JP 將控制權轉移到記憶體地址 4000H |
| …. | …. | …. | …. |
| 4000 | 41 | MOV B, C | 地址 4000H 處的下一條指令將獲得控制權 |
針對此指令 **JM 4000H** 執行的時序圖如下所示:

**總結** - 因此,此指令 **JM** 需要 3 個位元組、3 個機器週期(操作碼獲取、記憶體讀取、記憶體讀取)和 10 個 T 狀態才能執行,如時序圖所示。
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP