8085 微處理器累加器補碼指令
在 8085 指令集中,邏輯型別指令中有一條補碼指令,其助記符為 **CMA**。它實際上代表“對累加器取反 (CoMplement the Accumulator)”。它對累加器當前內容執行 1 的補碼運算,並將結果儲存回累加器,替換其先前的內容。需要注意的是,沒有其他指令可以對任何其他暫存器的內容進行取反。雖然它是一種邏輯型別的指令,但標誌位不受此指令執行的影響。它在記憶體中只佔用 1 個位元組。
| 助記符,運算元 | 操作碼(十六進位制) | 位元組數 |
|---|---|---|
| CMA | 2F | 1 |
例如,假設累加器的初始內容為 AAH,即 1010 1010。執行 CMA 指令後,累加器更新後的內容將以二進位制表示為 0101 0101,即 55H。如果我們兩次執行 CMA 指令,則累加器的二進位制內容將再次變回 AAH,即 1010 1010。
| 地址 | 十六進位制程式碼 | 助記符 | 註釋 |
|---|---|---|---|
| 2000 | 3E | MVI A, 55H | A ← 55H = 0101 0101B |
| 2001 | 55 | 運算元為 55H | |
| 2002 | 2F | CMA | A ← 0101 0101B 的 1 的補碼 = 1010 1010B = AAH |
| 2003 | 2F | CMA | A ← 1010 1010B 的 1 的補碼 = 0101 0101B = 55H |
該指令 **CMA** 執行的時間圖如下:
**總結** − 因此,該指令 **CMA** 需要 1 個位元組、1 個機器週期(操作碼提取)和 4 個 T 狀態才能執行,如時間圖所示。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP