Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;--------------------
- .proc convertString ; (buf num -- bufstart) ~ (r1 r0 -- r1)
- grow 3 ; 1
- addi4 r4, 5 ; 2
- clrmbp ; 1
- copy r0, r3 ; 2
- set r2, 10 ; 2
- : subi r4, 1 ; 2
- div r0, r2 ; 2
- addi8 r1, '0' ; 3
- stpmb r4 ; 2
- with r0 ; 1
- bnz :- ; 2
- rets 3 ; 1
- .endproc ; = 21 bytes
- ;--------------------
- .proc outputNumber ; (handle num -- ) ~ (r1 r0)
- grow 3 ; 1
- copy r0, r3 ; 2
- set16 r1, strbuf ; 3
- call convertString ; 3
- copy r2, r1 ; 2
- copy r1, r4 ; 2
- ba :++ ; 2
- : call outputByte ; 3
- addi4 r2, 1 ; 2
- : ldmb r0, r2 ; 2
- bnz :-- ; 2
- rets 3 ; 1
- ; = 25 bytes
- strbuf: .res 6
- .endproc
- ;--------------------
- .proc outputByte ; (handle byte -- ) ~ (r1 r0)
- grow 1 ; 1
- ldm r0, r2 ; 2
- with r1 ; 1
- stpmb r0 ; 2
- addp 1 ; 2
- stpm r2 ; 2
- rets 1 ; 1
- .endproc ; = 11 bytes
- ; total = 57 bytes, not including string buffer
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement