本文目录一览:

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是什么指令