[A83] Re: Hex to decimal
[Prev][Next][Index][Thread]
[A83] Re: Hex to decimal
If you actually want to transfer it to a floating point (i.e., OP1), then
use SetXXOP1. Um, the code you gave doesn't even get to the second half of
it. To convert into just a register (hex number has to be in the range 0 to
99), the following should work:
;Input: C = hex
;Output: A = decimal (0-99)
ld b,8
xor a
@loop rlc c
adc a,a
daa
djnz @loop
ret
This is if you wanted to convert a strictly hex number to decimal (i.e. $1F
to $31). You need a different routine to convert $14 to 14.
-----Original Message-----
From: assembly-83-bounce@lists.ticalc.org
[mailto:assembly-83-bounce@lists.ticalc.org]On Behalf Of Thomas Lutz
Sent: Monday, July 09, 2001 8:53 PM
To: assembly-83@lists.ticalc.org
Subject: [A83] Re: Hex to decimal
Nevermind I figured it out...if anyone has any optimization suggestions
feel free...
Thanks..
-Tom
;******************************
; Hex to decimal routine
;Inputs: A=1 less than number in hex
;C=number in decimal floating points format
;******************************
HexToDecimal:
ld b,9
HexLoop:
inc c
dec a
cp 0
ret z ;Return if a=0
djnz HexLoop
;c=9 now...increase first four bits, reset last four
push af
ld a,c
and 11110000b
add a,10h
ld c,a
ld b,9
pop af
jr HexLoop
Thomas Lutz wrote:
> What kind of code could I use for taking a hex value in the accumulator
> and transfering it to a real variable in floating point format? Thanks.
> -Tom
Follow-Ups:
References: