MOVC A,@A+DPTR ;處理程序入口地址的低8位暫存入R3//
?問題所在,這個怎么就是把低八位存入呢
解答:
DPTR 是一個16位的索引寄存器,比較特殊.它由 DPH(高字節) 與 DPL(低字節) 組合而成.----沒有它,就無法直接或間接訪問 64K 的內部或外部的地址空間!
通常,我們對 DPTR 進行直接賦值,可以直接給它最大 65535 的數據(16BIT).但是,如果我們通過其它寄存器(或 A))間接賦值時,由于這些寄存器只有 8 位,因此,這種操作總是把這個 8 位存入到 DPL 去.
就象一臺汽車可以裝載 8 噸物資,但是,你每次只能運送 100 公斤物資給它,不能一下子滿載. 存入--寫入--賦值---拷貝到----移動到----.....都代表相同意思,就是把一個數據放入去某個寄存器.
某些情況下,也可以把 DPTR 作為一個 16 位或 2 個 8 位通用臨時寄存器來使用.----但是必須掌握清楚使用條件,不能有沖突!否則會影響到程序運行.
僅供參考! |