From 9220a2a66c883e75117d01eb80bfa7bbf6f221e4 Mon Sep 17 00:00:00 2001 From: Isaac Date: Sat, 25 Mar 2023 20:16:58 +0000 Subject: [PATCH] Unrolled loop Does two iterations per loop, so doesn't need 3rd register for swapping --- programs/fib.as | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/programs/fib.as b/programs/fib.as index acbecfc..bf0cc7d 100644 --- a/programs/fib.as +++ b/programs/fib.as @@ -6,15 +6,16 @@ define iterations 13 ldi r1 #0 ldi r2 #1 - ldi r3 #0 ldi r4 iterations ldi r7 number_display .loop str r3 cmp r4 r0 bif zero .done - cpy r1 r2 - cpy r2 r3 - add r3 r1 r2 + add r1 r1 r2 + add r2 r1 r2 + dec r4 r4 + cmp r4 r0 + bif zero .done dec r4 r4 jmp .loop .done hlt