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

總結 - 因此,此指令DAD B需要 1 個位元組、3 個機器週期(操作碼獲取、匯流排空閒、匯流排空閒)和 10 個 T 狀態才能執行,如時序圖所示。此指令需要 10 個 T 狀態,包括操作碼獲取。操作碼獲取週期需要 4 個 T 狀態,其餘 6 個 T 狀態分為兩個機器週期,用於指令執行。在這 6 個 T(兩個機器週期)狀態期間,不執行匯流排操作。因此,它們被稱為匯流排空閒機器週期。在此期間,ALE、RD 等不會被啟用。

更新於:2019 年 7 月 30 日

16K+ 瀏覽量

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.