本文目录一览:
1、DPTR是什么?
2、单片机里的 DPTR 和 PC 分别代表什么?
3、MOV DPTR,#4000H这个指令是什么意思
4、单片机里的DPTR和PC分别代表什么?
DPTR是什么?
数据指针(DPTR)是80C51中一个功能比较特殊的寄存器。从结构DPTR是一个16位的特殊功能寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示,DPTR既可以作为一个16位的寄存器来处理,也可以作为两个独立的8位寄存器来使用。主要功能是存放16位地址,作为片外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中的内容作为基地址,通过修改a的内容实现散转
单片机里的 DPTR 和 PC 分别代表什么?
DPTR是一个数据指针,PC是程序计数器
指令MOVC
A,@A+DPTR的意思是:将DPTR的值加上ACC的值,并将该结果所指的程序存储器地址的数据送入ACC。该指令和当前的PC(程序计数器)值无关,例:若执行前,DPTR=0300H(该值是自己赋予的),ACC=18H,[0318H]=0ABH,则执行后,ACC=0ABH,DPTR不变,
MOVC
A,@A+PC的意思是:将PC(程序计数器)的值加上ACC的值,并将该结果所指的程序存储器地址的数据送入ACC,该指令和DPTR无关,PC(程序计数器)值则因为该条指令的位置不同而不同,故该条指令在程序的不同位置,其执行结果是不同的。其余的同上一条指令
MOV DPTR,#4000H这个指令是什么意思
DPTR是数据地址指针,是一个16位的专用寄存器,用于存放16位地址,作为间址寄存器用。该指令就是将4000H这个地址赋给DPTR,以便访问片外存储器或在程序空间内查表,其中访问片外存储器的有MOVX
A,@DPTR和MOVX
@DPTR,A
,查表的是MOVC
A,@A+DPTR。
单片机里的DPTR和PC分别代表什么?
DPTR数据指针
数据指针(DPTR)是某些单片机中一个功能比较特殊的寄存器,是一个16位的特殊功能寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示,DPTR既可以作为一个16位的寄存器来处理,也可以作为两个独立的8位寄存器来使用。主要功能是存放16位地址,作为片外RAM寻址用的地址寄存器(间接寻址),故称数据指针,也可以将外部RAM中地址的内容传送到内部RAM的地址所指向的内容中。
2. PC程序指针:
PC——程序计数器,功能:用来指示下一条指令的地址(逻辑地址即偏移量),一般情况下,系统指示对其进行加1操作,担当遇到转移指令,如JMP,CALL,LOOP等时系统就会将跳转到的指令地址保存在PC中
[img]
标签: DPTR是什么指令