   0 .s
   0  rz 0
   0  retv 28
   0  bp 29
   0  rads 30
   0  sp 31
   0  print 1
   0  printch 2
   0 .a 0
   0 .c 
   0    ld sp #1000 ;; initialise sp
   1    ld bp #3000 ;; initialise bp
   2    ;; ---- Call 49 
   2    jal  rads label_49
   3    ;; ---- Stop 
   3    trap  stop rz
   4    ;; ---- Func 1 0 
   4 :label_5 
   4    add  bp bp #2
   5    st   @0 bp rads
   6    ;; ---- save regs
   6    st   @1 sp r1
   7    st   @2 sp r2
   8    add  sp sp #2
   9    ;; ---- Rval 1 
   9    ;; ---- Lit 2 
   9    ;; ---- Lt 
   9    ld   r1 @-1 bp
  10    sub  rz r1 #2
  11    jmp  ge label_27
  12    ;; ---- Jz 27
  12    ;; ---- 2:   if(n < 2) return n;
  12    ;; ---- Rval 1 
  12    ;; ---- Ret1 
  12    ;; ---- 2:   if(n < 2) return n;
  12    ld   r1 @-1 bp
  13    or   retv r1 rz
  14    ld   rads @0 bp
  15    sub  bp bp #2
  16    ;; ---- restore regs
  16    ld   r1 @-1 sp
  17    ld   r2 @0 sp
  18    sub  sp sp #2
  19    jr   rads
  20    ;; ---- Jmp 49 
  20    jmp always label_49
  21    ;; ---- Rval 1 
  21 :label_27 
  21    ;; ---- Lit 1 
  21    ;; ---- Sub 
  21    ld   r1 @-1 bp
  22    sub  r1 r1 #1
  23    ;; ---- Call 5 
  23    st   @1 bp r1
  24    jal  rads label_5
  25    or   r1 retv rz
  26    ;; ---- Rval 1 
  26    ;; ---- Lit 2 
  26    ;; ---- Sub 
  26    ld   r2 @-1 bp
  27    sub  r2 r2 #2
  28    ;; ---- Call 5 
  28    st   @1 bp r2
  29    jal  rads label_5
  30    or   r2 retv rz
  31    ;; ---- Add 
  31    add  r1 r1 r2
  32    ;; ---- Ret1 
  32    ;; ---- 3:   else return (fib(n - 1) + fib(n - 2));
  32    or   retv r1 rz
  33    ld   rads @0 bp
  34    sub  bp bp #2
  35    ;; ---- restore regs
  35    ld   r1 @-1 sp
  36    ld   r2 @0 sp
  37    sub  sp sp #2
  38    jr   rads
  39    ;; ---- Func 0 0 
  39 :label_49 
  39    add  bp bp #1
  40    st   @0 bp rads
  41    ;; ---- save regs
  41    st   @1 sp r1
  42    add  sp sp #1
  43    ;; ---- Lit 6 
  43    ;; ---- Call 5 
  43    ld   r1 #6
  44    st   @1 bp r1
  45    jal  rads label_5
  46    or   r1 retv rz
  47    ;; ---- Print 
  47    trap print r1
  48    ;; ---- Ret0 
  48    ld   rads @0 bp
  49    sub  bp bp #1
  50    ;; ---- restore regs
  50    ld   r1 @0 sp
  51    sub  sp sp #1
  52    jr   rads
  53 
  53 .e 
