求最大公约数
![](https://i-blog.csdnimg.cn/blog_migrate/f7ba72cf7d8ea0f008bcad1dcc2449b4.png)
.text @文本段
.globl _gcd @声明一个_start全局函数
_gcd: @_gcd函数入口,标签,相当于C语言中的函数
mov r0,#9
mov r1,#15
bl loop
loop:
cmp r0,r1
bEQ stop
subhi r0,r1
subcc r1,r0
mov pc,lr
stop: @stop标签入口,相当于C语言中的while(1)
b stop
.end @结束标志
结果为
![](https://i-blog.csdnimg.cn/blog_migrate/4914bae29b8fa5e554efcc56da7cabe8.png)
使用for循环实现1~100之间的和
.text @文本段
.globl _gcd @声明一个_start全局函数
_gcd: @_gcd函数入口,标签,相当于C语言中的函数
mov r0,#1
mov r1,#100
mov r2,#0
bl loop
loop:
cmp r0,r1
bhi stop
add r2,r0
add r0,#1
mov pc,lr
stop: @stop标签入口,相当于C语言中的while(1)
b stop
.end @结束标志
结果为
当相等时退出计算结果为 13BA 十进制为5050
![](https://i-blog.csdnimg.cn/blog_migrate/67caa6cddd7116501f1e62af1f6763a6.png)