ARM汇编数据操作练习题

一、求两个数的最大公约数

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

	
_start:		@指定汇编中函数入口

	mov r0, #9
	mov r1, #15
cmp_func:	
	cmp r0, r1			@比较r0,r1
	beq stop			@如果相等,执行跳转指令
	subhi r0, r0, r1	@如果r0>r1, r0=r0-r1
	subcc r1, r1, r0	@如果r0<r1, r1=r1-r0
	
	b cmp_func			@循环比较直至r0==r1	
	
stop:
	b stop
.end

二、用for循环实现1-100的和

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

	
_start:		@指定汇编中函数入口
	
	mov r0, #1			@为计数器赋初值
	mov r1, #0			@初始和为零
for_func:				@循环标签
	cmp r0, #100		@比较计数器与100的大小
	bhi stop			@计数器大于100,执行跳转
	add r1, r1, r0		@进行累加
	add r0, r0, #1		@实现计数器自加
	
	b for_func			@循环累加
	
stop:
	b stop
.end
	

猜你喜欢

转载自blog.csdn.net/weixin_53478812/article/details/132909822