展开全部
一、作用不同
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
后者是一个间接寻址的问题。
展开全部
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
后者是一个间接寻址的问题。
MOV @R0,A是把累加器的内容给R0指向的内存单元。
比如MOV A,#01H
MOV R0,A ;执行完这一句之后,R0=#01H
MOV A,#20H
MOV @R0,A ;把#20H送给R0指向的单元#01H,执行完之后01地址中存储的内容就变成#20H
后者是一个间接寻址的问题。
追问
也就是说MOV R0,A就是一个数据传送指令?
追答
对,仅仅是把A中的数据送给寄存器R0
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个是对R0的操作,一个是以R0位地址的数据,例如R0位0x08,则取的数据是0x08地址RAM的数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把a赋给r0
把a赋给r0指向的ram
把a赋给r0指向的ram
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询