22081-11-23 arm求最大公约数及(1-100)求和_wyl2333的博客-爱代码爱编程
1、求两个数的最大公约数
逻辑如下图
.text
.global _start
_start:
mov r0,#9 /*十进制的9*/
mov r1,#15 /*十进制的15*/
bl loop
loop:
cmp r0,r1
beq stop /*两个数相等时调到stop*/
subhi r0,r0,r1 /*r0=3*/
subcc r1,r1,r0 /*r1=6,r1=3*/
mov pc,lr /*跳转到loop标签下的第一条指令执行*/
stop:
b stop
.end
//仿真结果
2、题目要求:
用汇编语言实现1~100之间之和(5050 = 0x13BA)
for(表达式1;表达式2;表达式3)
{
表达式4;
}
思考:循环条件怎么进行编写标签?
.text
.global _start
_start:
mov r0,#1 /*r0=1*/
mov r2,#2 /*r2=2*/
bl loop
loop:
add r0,r0,r2 /*r0=r0+r2*/
add r2,r2,#1 /*r2=r2+1*/
cmp r2,#101 /*若r2=101,跳到stop*/
beq stop
mov pc,lr /*跳转到标签下的第一条指令执行*/
stop:
b stop
.end
//仿真结果