Skip to content

Commit 09497fb

Browse files
committed
Modify fib.s
Use Conditional suffixes: CMP r4, embedded2014#1 BLT( r4<1 , r4<=0 ) BEQ( r4=1 )
1 parent 38fd546 commit 09497fb

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

lab-1/fib.s

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,29 @@ fibonacci:
1414
push {r3, r4, r5, lr}
1515

1616
@ R4 = R0 - 0 (update flags)
17+
mov r4, r0
1718
@ if(R0 <= 0) goto .L3 (which returns 0)
19+
cmp r4, #1
20+
blt .L3
1821

1922
@ Compare R4 wtih 1
2023
@ If R4 == 1 goto .L4 (which returns 1)
24+
beq .L4
2125

2226
@ R0 = R4 - 1
27+
sub r0, r4, #1
2328
@ Recursive call to fibonacci with R4 - 1 as parameter
29+
bl fibonacci
2430

2531
@ R5 = R0
32+
mov r5, r0
2633
@ R0 = R4 - 2
34+
sub r0, r4, #2
2735
@ Recursive call to fibonacci with R4 - 2 as parameter
36+
bl fibonacci
2837

2938
@ R0 = R5 + R0 (update flags)
39+
add r0, r5, r0
3040

3141
pop {r3, r4, r5, pc} @EPILOG
3242

0 commit comments

Comments
 (0)