发布网友 发布时间:2022-04-22 13:38
共3个回答
热心网友 时间:2023-11-06 20:53
DPTR数据指针热心网友 时间:2023-11-06 20:53
DPTR是一个16位的寄存器,因为是16位,所以他的范围是0-0xffff就是0-64K的范围。那么就可以通过它来间接寻址访问内部或外部的存储器(不管是程序存储器,还是数据储存器。)。而PC则是程序计数器,也是一个16位的计数器。每过一个机器周期,PC就会加一。它里面的内容存的是CPU当前执行的指令存在ROM中的地址,所以MOVC A,@A+PC在执行程序的时候,因为PC在不同时刻里面的内容是不一样的。热心网友 时间:2023-11-06 20:54
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(程序计数器)值则因为该条指令的位置不同而不同,故该条指令在程序的不同位置,其执行结果是不同的。其余的同上一条指令