单片机MOV R0,A.和MOV @R0,A的区别
1个回答
展开全部
一、作用不同
MOV A,R0是直接寻址指令(直接寻址方式的操作指令直接把地址作为操作数来运行,既可作为源操作数,也可作为目的操作数)因此是传递的R0中存储的数据。
MOV A,@R0是间接寻址指令(间接寻址时,寄存器的内容是操作数的地址。通过@Ri可以对片内数据存储器单元间接寻址),因此Ri中存储的是数据存储器的地址,Ri相当于指针,@Ri中存储的是数据存储器的地址的内容。
二、意思不同
MOV R0,A是把累加器中的数送给寄存器R0,MOV @R0,A是把累加器的内容给R0指向的内存单元。
三、用法不同
比如MOV A,#01H
MOV R0,A ;执行完这一句之后,R0=#01H
MOV A,#20H
MOV @R0,A ;把#20H送给R0指向的单元#01H,执行完之后01地址中存储的内容就变成#20H
后者是一个间接寻址的问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询