新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM條件執(zhí)行指令

ARM條件執(zhí)行指令

作者: 時間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
1. 畫出下面程序的流程圖。并利用條件執(zhí)行指令,簡化程序:




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

2.ARM匯編實現(xiàn)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)利用條件執(zhí)行的思想計算n! (exp7.4.s)
AREA factorial,CODE,READONLY
ENTRY
START
MOV R2,#0xA
MOV R1,R2
LOOP
;遞減R2并更新狀態(tài)標志
;乘,注意結(jié)果寄存器應(yīng)該與源寄存器不同
;保存乘積,準備下一次計算
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


關(guān)鍵詞: ARM條件執(zhí)行指

評論


技術(shù)專區(qū)

關(guān)閉