( (proc printnum num (mkbf r15) (ld r1 num) (tst r1 (<0? (mul r1 -1))) (:next) (mod r0 r1 10) (add r0 '0') (bfrpush @r15 r0) (div r1 10 (z? (tst num (<0? (bfrpush @r15 '-'))) (lds @cout @r15) (del @r15) (ret))) (j :next) ) )