20230418 ARM 汇编指令 练习

2个数的最大公约数

.text 
.global _start
_start:
	mov r0,#9
	mov r1,#15
loop:
	cmp r0,r1
	beq stop @r0 = r1
	
	bgt r0r1 @r0 > r1
	
	blt r1r0 @r0 < r1
	
	r0r1: 
	sub r0,r0,r1 @r0-=r1
	b loop
	r1r0:
	sub r1,r1,r0 @r1-=r0
	b loop
	
stop:
	b stop
.end
	

for循环1加到100

.global _start
	_start:
	
	mov r0,#1 @定义i
	mov r1,#0 @和
	
	loop:
	add r1,r0,r1 @ r1+=r0
	cmp r0,#100  @ r1<= 100
	beq stop @break
	blt add1 @if r0<100
	
	add1:
	add r0,r0,#1 @r0++
	b loop 
	
	stop:
		b stop
.end
	

str:

.text @文本段
.global _start @声明一个—_start全局函数
_start: @_start 函数入口

	ldr r0,=0x40000800
	ldr r1,=0x11111111
	ldr r2,=0x22222222
	ldr r3,=0x33333333
	@ 将 R1 中的数据存储到地址为 0x40000800+4 的内存中,存储地址不变
	str r1,[r0,#4]
	@ 将 R2 中的数据存储到地址为 0x40000800 的内存中,同时将存储地址加上 4
	str r2,[r0],#4
	@ 存储地址加上 4,将 R3 中的数据存储到地址为 0x40000800+4+4 的内存中
	str r3,[r0,#4]!
	
stop: @stop函数入口
	b stop @b跳转指令
.end @结束标志
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值