home *** CD-ROM | disk | FTP | other *** search
- .include #macros
- .include #16bit
-
- .if .not .def TEST
- .zext _string1
- .zext _value
- .else
-
- .include #cio
-
- _string1 == $F0
- _value == $F2
- _tmp1 == $F4
- _tmp2 == $F6
- _tmp3 == $F8
-
-
- main:
- dpoke _value,2456
- dpoke _string1,buffer
- jsr itoa
- print 0,header,255,@p1+@p2+@p3
- dpoke _value,60001
- dpoke _string1,buffer
- jsr itoa
- print 0,header,255,@p1+@p2+@p3
- brk
-
-
- header:
- .byte "Value = "
- buffer:
- .ds 7
- .byte 155,0
-
- .endif
-
- ;; -------------------------------------------------------------
- ;; Convert a signed word into ASCII.
- ;; Parameters via zeropage STRING1 and VALUE. Needs also
- ;; 6 bytes of temporary zeropage storage.
- ;; -------------------------------------------------------------
- itoa:
- ldy #0
- lda _value+1
- bpl :ok
-
- neg.w _value,$FFFF
- lda #'-
- sta (_string1),y
- iny
- :ok
- jsr _utoa
- lda #0
- sta (_string1),y
- rts
-
-