51单片机中MOV A,DPTR能这么使用吗?DPTR是属于直接寻址还是间接寻址?

2025-05-10 02:15:30
推荐回答(5个)
回答1:

首先 51单片机 指令 中 没有 MOV A,DPTR 这条指令,DPTR 是16位的数据指针,
读取 数据表 指令为 MOVC A,@A+DPTR 或者 MOVX A,@A+DPTR
只要 指令中有 @ 的指令 都属于间接寻址。

回答2:

它是一个只对A累加器有用的十六位地址指针,也就是可用它可只对A累加器进行间接寻址。这DPTR是一个十六位的寄存器,而A累加器是八位的,可它可分成二个八位的分别为DPH和DPL,如你想传送或何存它时就可分别用传DPH和DPL用二次分别传送或用二个八位RAM分别保存。

回答3:

DPTR是16位的地址指针,但通过寄存器寻址的就是间接寻址,而不通过寄存器能直接指明地址的就是直接寻址,如MOV R0,70H,将直接地址70H单元的内容送A,而MOV A,@R0就是间接寻址。

回答4:

可以用MOV A,DPH或MOV A,DPL,DPL和DPH属于特殊寄存器
意思是将DPH或DPL的内容给A,属于直接寻址

回答5:

MOV A,DPH
MOV A,DPL
可以有!
MOVX A,@DPTR 才对!