|
Subject: [stella] Fw: Hex to BCD routine From: "Andrew Davie" <adavie@xxxxxxxxxxxxx> Date: Mon, 12 Feb 2001 18:18:42 +1100 |
Here's a routine for Hex to BCD that Kevin Horton sent to me... Enjoy!
From: "Kevin Horton" <khorton@xxxxxxxxxx>
> ---Original E-mail follows---
>
> Here's my favourite hex to BCD routine for the 6502. I use Table
Assembler,
> so if you think the code looks a bit funny, that's why. :-)
>
> I've used this on all my 6502 projects and it works great and requires
very
> little
> space, execution time, and it requires no temp variable storage.
>
> ".block" is the directive to reserve 1 byte of memory.
>
> ;HEX2BCD.ASM
> ;How to use:
> ;
> ;Load your binary number between 0000 and ffff into inp0 and inp1.
> ;MSB goes into inp1.
>
> ;run conv_bcd and get your output in packed BCD format in bcd_out0-2
> ; bcd_out2 is MSB, only lower nybble is used.
> ;
>
> bcd_out0: .block 1
> bcd_out1: .block 1
> bcd_out2: .block 1
> inp0: .block 1
> inp1: .block 1
>
>
> conv_bcd: ldx #16
> lda #0
> sta bcd_out0
> sta bcd_out1
> sta bcd_out2 ;clear result regs
>
> b2bcd: clc
> rol inp0
> rol inp1
> rol bcd_out2
> rol bcd_out1
> rol bcd_out0 ;rotate results
> dex
> beq bc_done
> ldy #bcd_out2
> jsr bcdfix
> ldy #bcd_out1
> jsr bcdfix
> ldy #bcd_out0
> jsr bcdfix
> jmp b2bcd
>
> bcdfix: lda 0,y
> clc
> adc #003h
> and #008h
> beq bcd_f2
> lda 0,y
> clc
> adc #003h
> sta 0,y
>
> bcd_f2: lda 0,y
> clc
> adc #030h
> and #080h
> beq bc_done
> lda 0,y
> clc
> adc #030h
> sta 0,y
>
> bc_done: rts
>
>
>
--
_ _ _| _ _ _| _ * _ _ ,
(_|| )(_|( (/_\/\/ (_|(_|\/(_(/_ ,~' L_|\
,-' \
see my Museum of Soviet Calculators at ( \
http://www.taswegian.com/MOSCOW/soviet.html \ __ /
L,~' "\__/
@--> v
-
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [stella] Re: PCAE2.2 and W2K, Glenn Saunders | Thread | Re: [stella] single line kernels an, Kurt . Woloch |
| Re: [stella] Jumpman gets a go!, MickeyKnox667 | Date | Re: [stella] Delightful horizontal , Thomas Jentzsch |
| Month |