您的位置 首页 被动

ARM条件履行指令

1.画出下面程序的流程图。并利用条件执行指令,简化程序:CMPR0,#10BEQROUTINEADDR1,R1,R0SUBR1,R1,R2ROUTINE…2….

1. 画出下面程序的流程图。并使用条件履行指令,简化程序:


CMP R0, #10
BEQ ROUTINE
ADD R1,R1,R0
SUB R1,R1,R2
ROUTINE


2.ARM汇编完成C语言中的句子
(1)
If((R0= =R1)&&(R2= =R3))
R4++;

(2)
int gcd(int a, int b)
{
while(a!=b)
{
if(a>b)
a=a-b;
else
b=b-a;
}
return a;
}
(3)使用条件履行的思维核算n! (exp7.4.s)
AREA factorial,CODE,READONLY
ENTRY
START
MOV R2,#0xA
MOV R1,R2
LOOP
;递减R2并更新状况标志
;乘,留意成果寄存器应该与源寄存器不同
;保存乘积,预备下一次核算
BNE LOOP
STOP
B STOP
END


1. CMP R0,#10
ADDNE R1,R1,R0
SUBNE R1,R1,R2

Y


2. CMP R0,R1
CMPEQ R2,R3
ADDEQ R4,R4,#1


3.
答案一
GDC
CMP R0,R1
BEQ END
BLT LESS
SUB R0,R0,R1
B GDC
LESS
SUB R1,R1,R0
B GDC
END 。。。


答案二
GDC
CMP R0,R1
BEQ END
SUBLT R1,R1,R0
SUBGE R0,R0,R1
B GDC
END 。。。

4.
答案一
SUBS R2,R2,#0x1
MULNE R0,R1,R2
MOVNE R1,R0

答案二
SUBS R2,R2,#0x1
MUL R0,R1,R2
MOV R1,R0
CMP R2,#1
BNE LOOP

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/262742.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部