|
MOVC指令是一個相當特別的指令,主要是用來讀取表格上的資料,並配合DPTR暫存器,將表格裡的資料取出,搬移到累積器A,指令的架構如下:
| MOVC |
A,@A+DPTR |
;把累積器A和DPTR內容的和,作為內部記憶體的位址,並將該位址之內容複製到累積器A |
上面那一道指令就如同下道指令
| MOV |
A,@Rn |
;把內部資料記憶體的內容複製到累積器A |
只是現在Rn = A+DPTR的值,將A+DPTR的和當成記憶體位址,讀出的值存入累積器A
範例
| MOV |
DPTR,#TBL |
;把表格位址存入DPTR |
| MOV |
A,#4H |
;A=4H |
| MOVC |
A,@A+DPTR |
;把表格的資料讀出到累積器A |
| JMP |
$ |
;無窮迴圈 |
| |
| TBL: |
| DB |
"Hello!!" |
;表格資料 |
執行完上述的MOVC指令之後,累積器A=?
|