22081-11-23 arm求最大公约数及(1-100)求和

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;

扫描二维码关注公众号,回复: 14609306 查看本文章

}

思考:循环条件怎么进行编写标签?

.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

//仿真结果

猜你喜欢

转载自blog.csdn.net/wyl2333/article/details/128006309
今日推荐