8085 微處理器中 DAD rp 指令型別
儘管 8085 是一個 8 位微處理器,但 8085 指令集中有一些指令也可以進行 16 位加法運算。由於 8085 的內部架構僅為 8 位,因此此指令所需的時間是新增兩個 8 位數字所需時間的兩倍。
這裡,DAD 是助記符,代表Double ADd(雙加),rp 代表以下提到的任意一個暫存器對。
rp = BC, DE, or HL
由於 rp 可以具有三個值中的任何一個,因此此類指令有三個操作碼。它在記憶體中僅佔用 1 個位元組。
| 助記符,運算元 | 操作碼(十六進位制) | 位元組 |
|---|---|---|
| DAD B | 09 | 1 |
| DAD D | 19 | 1 |
| DAD H | 29 | 1 |
在此指令中,HL 暫存器對充當累加器。因為 rp 的 16 位內容將與 HL 暫存器對的內容相加,並且產生的和將再次儲存回 HL。
儘管它是一個算術指令,但根據設計,除了 Cy 之外的標誌不會受此指令DAD rp執行的影響。
讓我們考慮DAD B作為此類別的示例指令。由於它是 1 位元組指令,因此它在記憶體中佔用單個位元組的位置。我們認為 HL 和 BC 暫存器對的初始內容為 4050H 和 4060H。因此,在 16 位加法之後,HL 暫存器對的當前內容將為 80B0H。此指令執行的結果如下所示,並附有跟蹤表。
| 之前 | 之後 | |
|---|---|---|
(HL) |
4050H | 80B0H |
(BC) |
4060H | 4060H |
(F) |
任何值 | Cy=0,其他標誌位不變 |
| 地址 | 十六進位制程式碼 | 助記符 | 註釋 |
|---|---|---|---|
| 2006 | 09 | DAD B | HL = HL + BC |
針對此指令DAD B執行的時序圖如下所示。

總結 - 因此,此指令DAD B需要 1 個位元組、3 個機器週期(操作碼獲取、匯流排空閒、匯流排空閒)和 10 個 T 狀態才能執行,如時序圖所示。此指令需要 10 個 T 狀態,包括操作碼獲取。操作碼獲取週期需要 4 個 T 狀態,其餘 6 個 T 狀態分為兩個機器週期,用於指令執行。在這 6 個 T(兩個機器週期)狀態期間,不執行匯流排操作。因此,它們被稱為匯流排空閒機器週期。在此期間,ALE、RD 等不會被啟用。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP