A86: Re: Converting hex


[Prev][Next][Index][Thread]

A86: Re: Converting hex




Ok, the idea is pretty much the same.  What you want to do is break each
byte into two nibbles (4 bits, or the size of a digit in hex or BCD).  Make
that the lower nibble, then clear the high nibble.  If it's between 0-9, add
'0'.  If not, add 'A'.  Then just print it and get the next nibble.  Try
this little routine I just wrote:

;===========================================
; DispAhex         [Assembly Coder's Zenith]
;  prints A in hexadecimal
; in: A = number to display
; modified: AF, B, HL, OP1
;===========================================
DispAhex:
 ld hl,_OP1
 ld (hl),a
 ld b,2
DispAhexl:
 xor a
 rld
 add a,48         ; '0'
 cp 58            ; '9' + 1
 jr c,DispAhexs
 add a,7          ; 'A' - '9'
DispAhexs:
 call _putc
 djnz DispAhexl
 ret

(I discovered some bugs in Assembly Studio 86 v3.0 when using character
constants, which is why I used their number values instead)

-----Original Message-----
From: UnEven Software <uneven14@hotmail.com>
To: assembly-86@lists.ticalc.org <assembly-86@lists.ticalc.org>
Date: Sunday, November 08, 1998 10:15 PM
Subject: A86: Converting hex


>
>I remember a while back someone explained how to convert binary to
>decimal which helped me out.  And I was wondering if someone could do
>the same for hex?  I'f appreciate it greatly.
>
>Matt
>
>______________________________________________________
>Get Your Private, Free Email at http://www.hotmail.com