   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 57 
   2    jal  rads label_57
   3    ;; ---- Stop 
   3    trap  stop rz
   4    ;; ---- Func 0 0 
   4 :label_5 
   4    add  bp bp #1
   5    ;; ---- save regs
   5    st   @1 sp r1
   6    st   @2 sp r2
   7    add  sp sp #2
   8    ;; ---- Lvalg 11 
   8    ;; ---- Lit 0 
   8    ;; ---- Set 
   8    ;; ---- 6:   i = 0;
   8    st   @2011 rz r0
   9    ;; ---- Rvalg 11 
   9 :label_17 
   9    ;; ---- Lit 10 
   9    ;; ---- Lt 
   9    ld   r1 2011
  10    sub  rz r1 #10
  11    jmp  ge label_56
  12    ;; ---- Jz 56
  12    ;; ---- 7:   while( i < 10 ){
  12    ;; ---- Lvalg 1 
  12    ;; ---- Rvalg 11 
  12    ;; ---- Index 
  12    ld   r1 #2001
  13    ld   r2 2011
  14    add  r1 r1 r2
  15    ;; ---- Rvalg 11 
  15    ;; ---- Lit 2 
  15    ;; ---- Add 
  15    ld   r2 2011
  16    add  r2 r2 #2
  17    ;; ---- Set 
  17    ;; ---- 8:     A[i] = i + 2;
  17    st   @0 r1 r2
  18    ;; ---- Lvalg 11 
  18    ;; ---- Rvalg 11 
  18    ;; ---- Lit 1 
  18    ;; ---- Add 
  18    ld   r1 2011
  19    add  r1 r1 #1
  20    ;; ---- Set 
  20    ;; ---- 9:     i = i + 1;
  20    st   @2011 rz r1
  21    ;; ---- Jmp 17 
  21    jmp always label_17
  22    ;; ---- Ret0 
  22 :label_56 
  22    sub  bp bp #1
  23    ;; ---- restore regs
  23    ld   r1 @-1 sp
  24    ld   r2 @0 sp
  25    sub  sp sp #2
  26    jr   rads
  27    ;; ---- Func 0 0 
  27 :label_57 
  27    add  bp bp #1
  28    st   @0 bp rads
  29    ;; ---- save regs
  29    ;; ---- Call 5 
  29    jal  rads label_5
  30    ;; ---- Ret0 
  30    ld   rads @0 bp
  31    sub  bp bp #1
  32    ;; ---- restore regs
  32    jr   rads
  33 
  33 .e 
