Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2.programmer > #2293

Re: printf for 65c02

Newsgroups comp.sys.apple2.programmer
Date 2016-02-19 10:05 -0800
References (5 earlier) <80543671-2679-4343-a266-ef13923cec44@googlegroups.com> <YYSdnccg65QnS17LnZ2dnUU78VmdnZ2d@giganews.com> <6462ff1b-9f37-45b7-be70-ed3d40b7e7c9@googlegroups.com> <vdadnVL_IcJDRFvLnZ2dnUU7-emdnZ2d@giganews.com> <fabf0ec4-4815-4068-bb84-938df14b4ab8@googlegroups.com>
Message-ID <40da0f39-8458-4d4e-b52e-68350ff4d199@googlegroups.com> (permalink)
Subject Re: printf for 65c02
From qkumba <peter.ferrie@gmail.com>

Show all headers | View raw


tprintf minified...

               xc 
               rel 
               dsk  tprintf.l 

spopw          ext 
putchar        ext 

bcd            ds    6 
nval           dw    0 

printd 
               stx   nval 
               sty   nval+1 
               stz   bcd 
               stz   bcd+1 
               stz   bcd+2 
               ldy   #16 
               sed 
:0a            asl   nval 
               rol   nval+1 
               ldx   #1
:0b            lda   bcd-1, x
               adc   bcd-1, x
               sta   bcd-1, x
               inx
               txa
               eor   #3
               bne   :0b
               dey
               bne   :0a
               cld 
               ldy   #5 
:0c            lda   bcd-1,x 
               lsr 
               lsr 
               lsr 
               lsr 
               clc 
               adc   #'0' 
               sta   bcd,y 
               dey 
               lda   bcd-1,x 
               and   #$0F 
               adc   #'0' 
               sta   bcd,y 
               dey 
               dex 
               bne   :0c
               rts 

printx 
               stx   nval 
               sty   nval+1 
               ldx   #0 
:1             lda   nval 
               and   #15 
               cmp   #10 
               bcc   :2 
               adc   #6 
:2             adc   #'0' 
               sta   bcd,x 
               ldy   #4
:3             lsr   nval+1 
               ror   nval 
               dey
               bne   :3
               inx 
               cpx   #6 
               bne   :1 
               rts 


prbf           ldx   #5 
:1a            lda   bcd,x 

               dex 
               bmi   :1c
               cmp   #'0' 

               beq   :1a 
               inx 

:1b            lda   bcd,x 
:1c            jsr   putchar 
               dex 
               bpl   :1b

               jmp   loop 

tprintf        ent 
               jsr   spopw 
               stx   fmtc+1 
               sty   fmtc+2 

loop           jsr   fmtc 
               and   #$7F 
               beq   done 
               cmp   #'%' 
               bne   :1 
               jsr   fmtc 
               cmp   #'d' 
               beq   :1F 
               cmp   #'x' 
               beq   :2F 
               cmp   #'s' 
               beq   :3F 
:1             jsr   putchar 
               bra   loop 
* %d 
:1F            jsr   spopw 
               jsr   printd 
               bra   prbf 
* %x 
:2F            jsr   spopw 
               jsr   printx 
               bra   prbf 
* %s 
:3F            jsr   spopw 
               stx   :8+1 
               sty   :8+2 
               ldx   #0 
:8             lda   $FFFF,x 
               beq   loop 
               jsr   putchar 
               inx 
               bne   :8 
               inc   :8+2 
               bra   :8 
* 
fmtc           lda   $FFFF 
               inc   fmtc+1 
               bne   done 
               inc   fmtc+2 
done           rts 

Back to comp.sys.apple2.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

printf for 65c02 wssimms@gmail.com - 2016-02-13 20:29 -0800
  Re: printf for 65c02 wssimms@gmail.com - 2016-02-13 20:31 -0800
    Re: printf for 65c02 wssimms@gmail.com - 2016-02-13 20:36 -0800
      Re: printf for 65c02 Antoine Vignau <antoine.vignau@laposte.net> - 2016-02-13 23:22 -0800
        Re: printf for 65c02 Michael Barry <barrym95838@yahoo.com> - 2016-02-15 22:57 -0800
          Re: printf for 65c02 wssimms@gmail.com - 2016-02-16 01:54 -0800
            Re: printf for 65c02 "Bill Garber" <willy46pa@comcast.net> - 2016-02-16 21:11 -0500
              Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-18 16:03 -0800
                Re: printf for 65c02 wssimms@gmail.com - 2016-02-18 18:07 -0800
                Re: printf for 65c02 Michael J. Mahon <mjmahon@aol.com> - 2016-02-19 03:01 -0600
                Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-19 08:04 -0800
                Re: printf for 65c02 qkumba <peter.ferrie@gmail.com> - 2016-02-19 10:05 -0800
                Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-20 00:37 -0800
                Re: printf for 65c02 qkumba <peter.ferrie@gmail.com> - 2016-02-20 09:46 -0800
                Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-20 11:35 -0800
                Re: printf for 65c02 wssimms@gmail.com - 2016-02-20 04:40 -0800
                Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-20 08:14 -0800
                Re: printf for 65c02 Michael J. Mahon <mjmahon@aol.com> - 2016-02-22 14:13 -0600
                Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-20 10:52 -0800
                Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-21 00:53 -0800
                Re: printf for 65c02 wssimms@gmail.com - 2016-02-25 09:26 -0800
                Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-25 12:36 -0800
        Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-18 07:38 -0800
  Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-16 15:27 -0800
    Re: printf for 65c02 wssimms@gmail.com - 2016-02-16 18:48 -0800
      Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-16 19:13 -0800
        Re: printf for 65c02 wssimms@gmail.com - 2016-02-17 07:49 -0800
        Re: printf for 65c02 wssimms@gmail.com - 2016-02-17 07:55 -0800
    Re: printf for 65c02 wssimms@gmail.com - 2016-02-16 18:55 -0800
      Re: printf for 65c02 wssimms@gmail.com - 2016-02-16 18:58 -0800
      Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-18 13:14 -0800
        Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-18 13:27 -0800
          Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-18 15:09 -0800
            Re: printf for 65c02 wssimms@gmail.com - 2016-02-18 17:58 -0800
              Re: printf for 65c02 Michael Barry <barrym95838@yahoo.com> - 2016-02-19 17:52 -0800
                Re: printf for 65c02 wssimms@gmail.com - 2016-02-19 18:09 -0800
                Re: printf for 65c02 Michael J. Mahon <mjmahon@aol.com> - 2016-02-20 00:27 -0600
  Re: printf for 65c02 Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-18 13:37 -0800

csiph-web