db fib_count: 10 // How many more numbers to calculate after F(0) and F(1) init: lli 0, rg0 // F(0) = 0 lli 1, rg1 // F(1) = 1 ldb fib_count, rg2 loop: add rg0, rg1, acc // rg4 = rg0 + rg1 (new Fibonacci number) push rg0 mov rg1, rg0 // rg0 = previous rg1 (F(n-2) = F(n-1)) mov acc, rg1 // rg1 = rg4 (F(n-1) = F(n)) dec rg2 // rg2 = rg2 - 1 cmp rg2, zero // Compare counter with 0 jgt loop // Jump back if counter > 0 finish: push rg0, push rg1, // Final Fibonacci number is in rg1 hlt // jmp print::run