思路:用一个寄存器来做被加数同时也是最终的结果;
用另一个来做加数同时也是循环的计数器。
代码:
AREA TEST, CODE, READONLY
ENTRY
MOV R0, #0 ;每次循环的被加数,也是最终结果存放的寄存器,从0开始加
MOV R1, #1 ;加数,也是计数器,每次加1,循环计数50次
loop
ADD R0, R0, R1 ;每次循环,将R0与R1的值相加,结果保存到R0中
ADD R1, R1, #1 ;R1自加1,推进计数器
TEQ R1, #51 ;判断是否加到了51(感谢评论指出错误,我本来写的是50,结果就少加了一个50,所
;以下面那张结果图是不对的,它少加了最后的50,我也懒得重新截图了,但是现在这段
;代码是对的)
BNE loop ;如果没有加到51,继续累加
END ;如果加到了51,结束程序
结果: