MOVC A,@A+DPTR ;处理程序入口地址的低8位暂存入R3//
?问题所在,这个怎么就是把低八位存入呢
解答:
DPTR 是一个16位的索引寄存器,比较特殊.它由 DPH(高字节) 与 DPL(低字节) 组合而成.----没有它,就无法直接或间接访问 64K 的内部或外部的地址空间!
通常,我们对 DPTR 进行直接赋值,可以直接给它最大 65535 的数据(16BIT).但是,如果我们通过其它寄存器(或 A))间接赋值时,由于这些寄存器只有 8 位,因此,这种操作总是把这个 8 位存入到 DPL 去.
就象一台汽车可以装载 8 吨物资,但是,你每次只能运送 100 公斤物资给它,不能一下子满载. 存入--写入--赋值---拷贝到----移动到----.....都代表相同意思,就是把一个数据放入去某个寄存器.
某些情况下,也可以把 DPTR 作为一个 16 位或 2 个 8 位通用临时寄存器来使用.----但是必须掌握清楚使用条件,不能有冲突!否则会影响到程序运行.
仅供参考! |