PR#3 PREFIX /A2OSX.BOOT DELETE A2OSX.SYSTEM PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 .LIST OFF *-------------------------------------- PrintPStrAX >STAX TmpPtr1 lda (TmpPtr1) tax beq .9 ldy #1 .1 lda (TmpPtr1),y ora #$80 jsr COUT iny dex bne .1 .9 rts *-------------------------------------- PrintCStrAX >STAX TmpPtr1 pla sta TmpPtr2 pla sta TmpPtr2+1 ldy #0 .1 stz b0Flag stz DigitCount lda (TmpPtr1),y beq .9 cmp #'%' bne .4 .11 iny lda (TmpPtr1),y beq .9 cmp #'0' bne .22 ror b0Flag beq -> CS bra .11 .22 bcc .21 cmp #'9'+1 bcs .21 and #$0f sta DigitCount bra .11 .21 cmp #'d' bne .2 pla jsr PrintADec bra .8 .2 cmp #'D' bne .3 pla plx jsr PrintAXDec bra .8 .3 cmp #'h' bne .4 pla jsr PRBYTE .4 cmp #'\' bne .7 iny lda (TmpPtr1),y beq .9 cmp #'n' bne .9 lda #$0D .7 ora #$80 jsr COUT .8 iny bne .1 .9 lda TmpPtr2+1 pha lda TmpPtr2 pha rts *-------------------------------------- PrintADec ldx #0 PrintAXDec >STAX HEX stz BCD stz BCD+1 stz BCD+2 phy ldx #16 let's roll 16 bits sed .2 asl HEX rol HEX+1 php cpy will disturb carry while BCD adc ldy #0 .3 plp lda BCD,y adc BCD,y sta BCD,y php iny cpy #3 Last byte of BCDBUF? bne .3 plp dex bne .2 cld ldx #0 ldy #5 .4 lda BCD,x pha and #$0F ora #$B0 sta DigitBuffer,y dey pla lsr lsr lsr lsr ora #$B0 sta DigitBuffer,y inx dey bpl .4 lda DigitCount beq .5 lda #6 sec sbc DigitCount .5 tay .6 lda DigitBuffer,y cmp #"0" beq .7 sec ror b0Flag bra .8 .7 cpy #5 beq .8 lda #" " bit b0Flag bpl .81 lda #"0" .8 jsr COUT .81 iny cpy #6 bne .6 .9 ply rts *-------------------------------------- HEX .BS 2 BCD .BS 3 b0Flag .BS 1 DigitCount .BS 1 DigitBuffer .BS 6 *-------------------------------------- MAN SAVE A2OSX.S.TOOLS LOAD A2OSX.S ASM