From 02c6e1271cf1e427b9deaf13f6e0f3bb9e307d84 Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Sun, 19 Dec 2021 20:16:52 -0500 Subject: [PATCH] cda print_number - support for 0-255 --- vt100.cda.S | 74 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 52 insertions(+), 22 deletions(-) diff --git a/vt100.cda.S b/vt100.cda.S index 362eb88..a026d78 100644 --- a/vt100.cda.S +++ b/vt100.cda.S @@ -417,34 +417,64 @@ print_on_off :off asc "off",00 print_number + debug print_number +* +* print a base-10 number, 0-255 +* a = # mx %10 - cmp #20 - bcs :2 + + + ldx #0 + +:100 + cmp #100 + bcc :10x + inx +* sec + sbc #100 + bra :100 + +:10x + cpx #0 + beq :10 + + pha + txa +* clc +* adc #"0" + ora #"0" + sta |$0,y + iny + pla + ldx #0 + +:10 cmp #10 - bcs :1 -:0 ora #"0" + bcc :1x + inx + sbc #10 + bra :10 + +:1x + cpx #0 + beq :1 + pha + txa +* clc +* adc #"0" + ora #"0" + sta |$0,y + iny + pla + +:1 +* clc +* adc #"0" + ora #"0" sta |$0,y iny rts -:2 pha - lda #"2" - sta |$0,y - iny - pla - sec - sbc #20 - bra :0 -:1 pha - lda #"1" - sta |$0,y - iny - pla - sec - sbc #10 - bra :0 - - print_binary mx %10 * pha