allocate-registers big-case, two, zero, one, fib-proc, sp, n, cont, small, val li big-case, recursive-stuff li two, 2 li zero, 0 li one, 1 li fib-proc, fib li sp, 0 read n li cont, print-answer fib: slt small, n, two jeqz small, big-case add val, n, zero j cont print-answer: write val halt recursive-stuff: st cont, sp add sp, sp, one st n, sp add sp, sp, one sub n, n, one li cont, after-first j fib-proc after-first: sub sp, sp, one ld n, sp st val, sp add sp, sp, one sub n, n, two li cont, after-second j fib-proc after-second: sub sp, sp, one ld n, sp sub sp, sp, one ld cont, sp add val, val, n j cont