数据指针(DPTR)是80C51中一个功能比较特殊的寄存器。从结构DPTR是一个16位的特殊功能寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示,DPTR既可以作为一个16位的寄存器来处理,也可以作为两个独立的8位寄存器来使用。主要功能是存放16位地址,作为片外RAM寻址用的地址寄存器(间接寻址),故称数据指针。
dptr功能dptr主要功能是存放16位地址,作为片外RAM寻址用的地址寄存器(间接寻址),故称数据指针,也可以将外部RAM中地址的内容传送到内部RAM的地址所指向的内容中。
访问片外数据存储器的指令:
MOVX A,@DPTR读
MOVX @DPTR,A写
指令以16位DPTR为间址寄存器读片外RAM,可以寻址整个64KB的片外空间。指令执行时,在DPH中的高八位地址由P2口输出,在DPL中的低八位地址由P0口分时输出,并由ALE信号锁存在地址锁存器中。
DPTR的另一个作用是变址寻址,访问程序存储器,做查表指令:如:
以dptr为基址寄存器,将dptr的内容与累加器a的内容相加得到变址
movc a, @a+dptr ; (a)《-----((a)+(dptr))
jmp @A+DPTR;间接转移指令,将DPTR中的16位数和累加器A中的8位数相加,并直接送入PC,实现散转功能。对A、DPTR和标志位无影响。
dptr由几个寄存器组成
dptr由两个8位寄存器DPH、DPL组成。
DPH(Data Pointer High)是高位字节寄存器。
DPL是一种32位可执行程序的格式。PE Explorer可以处理格式为PE文件的DPL文件。低位字节寄存器DPL(Data Pointer Low)。
DPH和DPL的地址分别为83H、82H。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)