菜鸟求助:一个关于单片机跳转指令的简单问题

 我来答
买春左丘妮娜
2019-08-03 · TA获得超过989个赞
知道小有建树答主
回答量:1655
采纳率:100%
帮助的人:7.6万
展开全部
clr
a
应该
改为
clr
c
将c清零
循环一次要将cy位清零才对
而a是一个
累加器
不可以清零
mov
r0,
#20h

mov
r3,
#8

clr
c
loop:mov
a,
@r0;
addc
a,@r0;
mov
@r0,
a;
inc
r0;
djnz
r3,
loop;
end
这才是构成循环啊
我觉得
容易懂
呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
载罗翁歆
2020-04-27 · TA获得超过1306个赞
知道小有建树答主
回答量:1712
采纳率:100%
帮助的人:7.9万
展开全部
1、问题的关键是你要知道DJNZ的作用是什么,DJNZ是减1不为0跳转指令,也就是说执行完DJNZ后寄存器里面的数不为0的话是不会向下执行
2、因为这里是要加8次,当执行DJNZ
R3后,若R3里的数不为0的话说明还没加8次,那么就需要继续累加,所以这里要跳到累加的前面去
3、你这里用到INC
RO
指令,所以没次加的数都是下一个地址中的数
补充点问题:就是你这里书写有错,“RO”有写错,应该是“R0”,不要把数字的“0”写成字母的“O”,不然在编译的时候会出错,而且比较难找
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式