Megalextoria
Retro computing and gaming, sci-fi books, tv and movies and other geeky stuff.

Home » Digital Archaeology » Computer Arcana » Commodore » Commodore 8-bit » Assembly - Convert 16 bit integer to ascii help please
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Assembly - Convert 16 bit integer to ascii help please [message #32940] Sat, 12 January 2013 10:56 Go to previous message
JB is currently offline  JB
Messages: 42
Registered: January 2013
Karma:
Member
I am looking for a routine to convert a 16 bit integer into ascii (text)

ex. convert $C000 (49152) to the characters "49152" stored in a memory address.

I found one that almost does what I want, but it adds leading 0's.

Ideally I would like to have a routine that you can pass an option to either print leading 0's or strip them. But first things first I guess. :)



Here is that code:

;*
;* DECIMAL TO ASCII ROUTINE *
;* LOW-BYTE IN .X HI-BYTE IN .A
;* STORES ASCII STRING IN MEMORY
;* PRINTS PRECEDING 0'S

DECIMAL STX BINARY
STA BINARY+1
LDY #0
DEC1 LDX #"0"
DEC2 LDA BINARY
CMP DECTBL1,Y
LDA BINARY+1
SBC DECTBL2,Y
BCC DEC3
STA BINARY+1
LDA BINARY
SBC DECTBL1,Y
STA BINARY
INX
BNE DEC2
DEC3 TXA
STA DECCHR,Y
JSR $FFD2
INY
CPY #5
BNE DEC1
RTS


DECTBL1 .BYTE <10000,<1000,<100
.BYTE <10,<1
DECTBL2 .BYTE >10000,>1000,>100
.BYTE >10,>1

DECCHR .WORD 0,0
BINARY .WORD 0
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: PTV-Newsletter 5/2013
Next Topic: THE MULTICART IS FINALLY READY!!!!!!
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Nov 26 16:37:00 EST 2022

Total time taken to generate the page: 0.00284 seconds