8051中的資料傳輸指令組
在 8051 微控制器中,資料傳輸指令組下有 28 條不同的指令。總共有 79 個操作碼。使用資料傳輸指令不會影響標誌位,但如果使用資料傳輸指令更改了 A 暫存器的值,則 P(奇偶校驗)標誌可能會發生變化。類似地,當資料傳輸到 PSW 暫存器時,標誌位將發生變化。
在下表中,我們將看到助記符、長度、機器週期執行時間、操作碼數量等。
| 助記符 | 位元組數 | 執行時間 | 操作碼數 |
|---|---|---|---|
| MOV A, Rn | 1 | 1 | 8 |
| MOV A, a8 | 2 | 1 | 1 |
| MOV A, @Ri | 1 | 1 | 2 |
| MOV A, #d8 | 2 | 1 | 1 |
| MOV Rn, A | 1 | 1 | 8 |
| MOV Rn, a8 | 2 | 2 | 8 |
| MOV Rn, #d8 | 2 | 1 | 8 |
| MOV a8, A | 2 | 1 | 1 |
| MOV a8, Rn | 2 | 2 | 8 |
| MOV a8, a8 | 3 | 2 | 1 |
| MOV a8, @Ri | 2 | 2 | 2 |
| MOV a8, #d8 | 3 | 2 | 1 |
| MOV @Ri, A | 1 | 1 | 2 |
| MOV @Ri, a8 | 2 | 2 | 2 |
| MOV @Ri, #d8 | 2 | 1 | 2 |
| MOV DPTR, #d16 | 3 | 2 | 1 |
| MOVC A, @A+DPTR | 1 | 2 | 1 |
| MOVC A, @A+PC | 1 | 2 | 1 |
| MOVX A, @Ri | 1 | 2 | 2 |
| MOVX A, @DPTR | 1 | 2 | 1 |
| MOVX @Ri, A | 1 | 2 | 2 |
| MOVX @DPTR, A | 1 | 2 | 1 |
| PUSH a8 | 2 | 2 | 1 |
| POP a8 | 2 | 2 | 1 |
| XCH A, Rn | 1 | 1 | 8 |
| XCH A, a8 | 2 | 1 | 1 |
| XCH A, @Ri | 1 | 1 | 2 |
| XCHD A, @Ri | 1 | 1 | 2 |
如果時鐘頻率為 12MHz,則 1 個機器週期將需要 1 µs 來執行。
示例
| 序號 | 指令和描述 |
|---|---|
| 1 | MOV R2, 35H 這是 MOV Rn, a8 的一個示例。內部儲存器 35H 位置的內容被移動到暫存器 R2。 |
| 2 | MOV 0F0H, #12H 這是 MOV a8, #d8 型別的示例。這裡 12H 將儲存在暫存器 B 中。此指令的等效指令是 MOV B, #25H |
| 3 | PUSH 0F0H 這是 PUSH a8 的一個示例。這裡暫存器 B 的內容被壓入堆疊。 |
| 4 | POP 40H 這類似於 POP a8。它表示堆疊頂部的內容被移動到內部 RAM 位置 40H。 |
| 5 | XCH A, R2 這類似於 XCH A, Rn。此指令用於交換 A 和暫存器 R2 的內容。 |
| 6 | XCHD A @R0 此指令類似於指令 XCHD A,@Ri。使用此指令,A 的低位數字和 R0 指向的內部 RAM 位置的低位數字將被交換。 |
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP