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

如题所述

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

MOV A,DPL可以吗

追答

直接寻址 DPTR 的低字节。

追问

MOV DPTR,#data16 中DPTR属于寄存器寻址?

追答

直接寻址
你可以 去 网上 下载一个 单片机的 数据手册,
看 其中 的 指令系统,上面一详细介绍。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-21
它是一个只对A累加器有用的十六位地址指针,也就是可用它可只对A累加器进行间接寻址。这DPTR是一个十六位的寄存器,而A累加器是八位的,可它可分成二个八位的分别为DPH和DPL,如你想传送或何存它时就可分别用传DPH和DPL用二次分别传送或用二个八位RAM分别保存。
第2个回答  2013-03-21
DPTR是16位的地址指针,但通过寄存器寻址的就是间接寻址,而不通过寄存器能直接指明地址的就是直接寻址,如MOV R0,70H,将直接地址70H单元的内容送A,而MOV A,@R0就是间接寻址。
第3个回答  2013-03-21
可以用MOV A,DPH或MOV A,DPL,DPL和DPH属于特殊寄存器
意思是将DPH或DPL的内容给A,属于直接寻址
第4个回答  2013-03-21
MOV A,DPH
MOV A,DPL
可以有!
MOVX A,@DPTR 才对!
相似回答