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