((code (label main (load-immediate $0 35) (call &fib ($0) $0) (int-to-string $1 $0) (call &pln ($1) nil) (halt)) (label fib (load-immediate $1 2) (jump-lt-int &base-case $0 $1) (load-immediate $3 2) (sub-int $4 $0 $3) (call &fib ($4) $5) (load-immediate $3 1) (sub-int $4 $0 $3) (call &fib ($4) $6) (add-int $7 $6 $5) (return $7) (label base-case (return $0))) (label pln (load-immediate $1 &terminal-namespace) ; get terminal device (load-immediate $11 0) (syscall OPEN $1 $1 $11) (load-immediate $3 &new-line) (load-offset-32 $7 $1 4) ; load handle (string-length $2 $0) (syscall WRITE $7 $0 $2) (string-length $4 $3) (syscall WRITE $7 $3 $4) (return nil))) (data (label terminal-namespace "/dev/term/0") (label new-line "\n")))