单片机MOV R0,A.和MOV @R0,A的区别 5

急急急啊!... 急急急啊! 展开
 我来答
大野瘦子
高粉答主

2019-07-06 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:33.8万
展开全部

一、作用不同

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
后者是一个间接寻址的问题。

百度网友b89ce04
推荐于2017-05-22 · TA获得超过196个赞
知道答主
回答量:28
采纳率:0%
帮助的人:10.8万
展开全部
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就是一个数据传送指令?
追答
对,仅仅是把A中的数据送给寄存器R0
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丰小凝04J
2011-12-20 · 超过14用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:33.2万
展开全部
一个是对R0的操作,一个是以R0位地址的数据,例如R0位0x08,则取的数据是0x08地址RAM的数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tuwulin365
2011-12-20 · TA获得超过4644个赞
知道大有可为答主
回答量:1.3万
采纳率:100%
帮助的人:6398万
展开全部
把a赋给r0
把a赋给r0指向的ram
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式