scm-to-vm/asm/fib.scm

35 lines
341 B
Scheme

(variable result 0)
(ref result)
(push fib)
(call)
(push cleanup)
(jmp)
fib
(dup)
(push 0)
(=)
(over)
(push 1)
(=)
(or)
(push recur)
(branch)
(return)
recur
(dup)
(push 1)
(-)
(push fib)
(call)
(over)
(push 2)
(-)
(push fib)
(call)
(+)
(nip)
(return)
cleanup
(set! result)
(bye)