_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

PRINTUSING.S

FILE INFORMATION

FILENAME(S): PRINTUSING.S

FILE TYPE(S): PRG

FILE SIZE: 1.5K

FIRST SEEN: 2025-11-30 16:59:39

APPEARS ON: 1 disk(s)

FILE HASH

f0f77dcda5e0ae8e5a0db2886166895718da32d75842dc61963681e71117e460

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
TALENTED RULERZ PRINTUSING.S PRG High Voltage Complete C64 Collection 26 3 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 00 0A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |..**************|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000020: 2A 2A 0D 2A A0 70 72 69  6E 74 A0 75 73 69 6E 67  |**.*.print.using|
00000030: A0 65 78 74 65 6E 73 69  6F 6E A0 A0 A0 A0 A0 A0  |.extension......|
00000040: A0 A0 2A 0D 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |..*.************|
00000050: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000060: 2A 2A 2A 2A 0D 2A A0 73  79 73 A0 35 31 34 35 36  |****.*.sys.51456|
00000070: 2C 78 A0 A0 A0 A0 A0 A0  A0 A0 A0 A0 A0 A0 A0 A0  |,x..............|
00000080: A0 A0 A0 A0 2A 0D 2A 2D  2D 2D 2D 2D 2D 2D 2D 2D  |....*.*---------|
00000090: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000000A0: 2D 2D 2D 2D 2D 2A 0D 2A  A0 61 64 64 72 65 73 73  |-----*.*.address|
000000B0: A0 A0 A0 21 A0 70 61 72  61 6D 65 74 65 72 73 A0  |...!.parameters.|
000000C0: A0 A0 A0 A0 A0 A0 2A 0D  2A A0 2D 2D 2D 2D 2D 2D  |......*.*.------|
000000D0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000000E0: 2D 2D 2D 2D 2D 2D A0 2A  0D 2A A0 70 6F 6B 65 A0  |------.*.*.poke.|
000000F0: 35 31 36 31 32 21 A0 30  3D 77 2C A0 31 3D 64 65  |51612!.0=w,.1=de|
00000100: 63 A0 A0 A0 A0 A0 A0 A0  2A 0D 2A A0 70 6F 6B 65  |c.......*.*.poke|
00000110: A0 35 31 36 31 33 21 A0  30 3D 31 30 2C A0 63 6F  |.51613!.0=10,.co|
00000120: 6D 70 A0 3D 31 A0 A0 A0  A0 2A 0D 2A A0 70 6F 6B  |mp.=1....*.*.pok|
00000130: 65 A0 35 31 36 31 34 21  A0 6E 75 6D 62 65 72 A0  |e.51614!.number.|
00000140: 6F 66 A0 64 65 63 64 67  A0 A0 2A 0D 2A A0 70 6F  |of.decdg..*.*.po|
00000150: 6B 65 A0 35 31 36 31 35  21 A0 66 69 6C 6C A0 63  |ke.51615!.fill.c|
00000160: 68 61 72 A0 28 61 73 6B  65 79 29 2A 0D 2A A0 70  |har.(askey)*.*.p|
00000170: 6F 6B 65 A0 35 31 35 34  39 21 A0 6C 65 61 64 69  |oke.51549!.leadi|
00000180: 6E 67 A0 63 68 61 72 A0  A0 A0 A0 A0 2A 0D 2A 2A  |ng.char.....*.**|
00000190: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000001A0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 0D 0D  |**************..|
000001B0: 20 6F 72 67 20 24 63 39  30 30 0D 0D 66 72 6D 6E  | org $c900..frmn|
000001C0: 75 6D 20 65 71 75 20 24  61 64 38 61 0D 61 73 63  |um equ $ad8a.asc|
000001D0: 69 69 20 65 71 75 20 24  62 64 62 62 0D 6F 75 74  |ii equ $bdbb.out|
000001E0: 20 65 71 75 20 24 61 62  31 65 0D 0D 20 6A 73 72  | equ $ab1e.. jsr|
000001F0: 20 66 72 6D 6E 75 6D 20  3B 67 65 74 A0 6E 75 6D  | frmnum ;get.num|
00000200: 65 72 69 63 A0 74 65 72  6D 0D 20 6A 73 72 20 61  |eric.term. jsr a|
00000210: 73 63 69 69 20 3B 63 68  61 6E 67 65 A0 74 6F A0  |scii ;change.to.|
00000220: 61 73 63 69 69 A0 61 74  A0 24 31 30 30 0D 20 6A  |ascii.at.$100. j|
00000230: 73 72 20 75 73 69 6E 67  20 3B 75 73 65 A0 6E 65  |sr using ;use.ne|
00000240: 77 A0 72 6F 75 74 69 6E  65 0D 20 6A 73 72 20 6F  |w.routine. jsr o|
00000250: 75 74 20 3B 73 74 72 69  6E 67 A0 6F 75 74 70 75  |ut ;string.outpu|
00000260: 74 0D 20 72 74 73 20 3B  72 65 74 75 72 6E 0D 75  |t. rts ;return.u|
00000270: 73 69 6E 67 20 6C 64 61  20 23 27 65 0D 20 6A 73  |sing lda #'e. js|
00000280: 72 20 63 68 65 63 6B 20  3B 63 68 65 63 6B 73 A0  |r check ;checks.|
00000290: 6F 6E A0 65 78 70 2E 66  6F 72 6D 61 74 0D 20 62  |on.exp.format. b|
000002A0: 63 73 20 73 65 74 70 74  72 0D 20 6C 64 61 20 64  |cs setptr. lda d|
000002B0: 65 63 69 6E 74 20 3B 66  6C 61 67 A0 66 6F 72 A0  |ecint ;flag.for.|
000002C0: 64 63 2F 69 6E 74 65 67  65 72 0D 20 62 65 71 20  |dc/integer. beq |
000002D0: 69 6E 74 65 67 65 72 0D  20 6C 64 61 20 24 31 30  |integer. lda $10|
000002E0: 32 0D 20 62 6E 65 20 6C  31 0D 20 6C 64 79 20 6C  |2. bne l1. ldy l|
000002F0: 65 6E 67 74 68 20 3B 63  6F 6D 70 6C 65 74 65 A0  |ength ;complete.|
00000300: 6C 65 6E 67 74 68 A0 3D  31 0D 20 6C 64 61 20 23  |length.=1. lda #|
00000310: 27 30 0D 6C 32 20 73 74  61 20 24 31 30 32 2C 79  |'0.l2 sta $102,y|
00000320: 20 3B 66 69 6C 6C A0 62  75 66 66 65 72 A0 77 69  | ;fill.buffer.wi|
00000330: 74 68 A0 30 73 0D 20 64  65 79 0D 20 62 6E 65 20  |th.0s. dey. bne |
00000340: 6C 32 0D 6C 31 20 6C 64  61 20 23 27 2E 0D 20 6A  |l2.l1 lda #'.. j|
00000350: 73 72 20 63 68 65 63 6B  0D 20 74 61 79 0D 20 62  |sr check. tay. b|
00000360: 63 63 20 2A 2B 34 0D 20  6C 64 79 20 23 27 30 0D  |cc *+4. ldy #'0.|
00000370: 20 6C 64 61 20 23 30 0D  20 6A 73 72 20 63 68 65  | lda #0. jsr che|
00000380: 63 6B 0D 20 74 79 61 0D  20 73 74 61 20 24 31 30  |ck. tya. sta $10|
00000390: 30 2C 78 0D 20 6C 64 61  20 23 27 2E 0D 20 6A 73  |0,x. lda #'.. js|
000003A0: 72 20 63 68 65 63 6B 0D  20 6C 64 79 20 64 65 63  |r check. ldy dec|
000003B0: 6C 65 6E 20 3B 23 A0 6F  66 A0 64 65 63 A0 64 69  |len ;#.of.dec.di|
000003C0: 67 69 74 73 0D 6C 33 20  69 6E 78 0D 20 64 65 79  |gits.l3 inx. dey|
000003D0: 0D 20 62 6E 65 20 6C 33  0D 6C 38 20 63 70 78 20  |. bne l3.l8 cpx |
000003E0: 6C 65 6E 67 74 68 0D 20  62 63 73 20 73 65 74 70  |length. bcs setp|
000003F0: 74 72 0D 20 6C 64 79 20  6C 65 6E 67 74 68 0D 20  |tr. ldy length. |
00000400: 6C 64 61 20 23 30 0D 20  73 74 61 20 24 31 30 31  |lda #0. sta $101|
00000410: 2C 79 0D 6C 36 20 6C 64  61 20 24 31 30 30 2C 78  |,y.l6 lda $100,x|
00000420: 0D 20 63 6D 70 20 23 33  32 20 3B 6C 65 61 64 69  |. cmp #32 ;leadi|
00000430: 6E 67 A0 63 68 61 72 2E  A0 62 6C 61 6E 6B 0D 20  |ng.char..blank. |
00000440: 62 6E 65 20 6C 35 0D 20  6C 64 61 20 23 27 0D 6C  |bne l5. lda #'.l|
00000450: 35 20 73 74 61 20 24 31  30 30 2C 79 0D 20 64 65  |5 sta $100,y. de|
00000460: 78 0D 20 62 70 6C 20 6C  34 0D 20 6C 64 61 20 66  |x. bpl l4. lda f|
00000470: 69 6C 6C 65 72 0D 20 64  65 79 0D 20 62 70 6C 20  |iller. dey. bpl |
00000480: 6C 35 0D 6C 34 20 64 65  79 0D 20 62 70 6C 20 6C  |l5.l4 dey. bpl l|
00000490: 36 0D 73 65 74 70 74 72  20 6C 64 61 20 23 30 20  |6.setptr lda #0 |
000004A0: 3B 73 65 74 A0 70 6F 69  6E 74 65 72 A0 6F 6E A0  |;set.pointer.on.|
000004B0: 62 75 66 66 65 72 0D 20  6C 64 79 20 23 31 0D 20  |buffer. ldy #1. |
000004C0: 72 74 73 0D 69 6E 74 65  67 65 72 20 6C 64 61 20  |rts.integer lda |
000004D0: 23 30 0D 20 6A 73 72 20  63 68 65 63 6B 0D 20 62  |#0. jsr check. b|
000004E0: 63 63 20 73 65 74 70 74  72 0D 20 74 78 61 0D 20  |cc setptr. txa. |
000004F0: 74 61 79 0D 20 6C 64 61  20 24 31 30 32 0D 20 62  |tay. lda $102. b|
00000500: 65 71 20 6C 37 0D 20 6C  64 61 20 23 27 2E 0D 20  |eq l7. lda #'.. |
00000510: 6A 73 72 20 63 68 65 63  6B 0D 20 62 63 63 20 6C  |jsr check. bcc l|
00000520: 37 0D 20 74 78 61 0D 20  74 61 79 0D 6C 37 20 74  |7. txa. tay.l7 t|
00000530: 79 61 0D 20 74 61 78 0D  20 64 65 78 0D 20 62 70  |ya. tax. dex. bp|
00000540: 6C 20 6C 38 0D 63 68 65  63 6B 20 6C 64 78 20 23  |l l8.check ldx #|
00000550: 30 0D 6C 39 20 63 6D 70  20 24 31 30 30 2C 78 0D  |0.l9 cmp $100,x.|
00000560: 20 62 65 71 20 6C 31 30  0D 20 69 6E 78 0D 20 63  | beq l10. inx. c|
00000570: 70 78 20 23 31 32 0D 20  62 6E 65 20 6C 39 0D 20  |px #12. bne l9. |
00000580: 63 6C 63 0D 6C 31 30 20  72 74 73 0D 64 65 63 69  |clc.l10 rts.deci|
00000590: 6E 74 20 68 65 78 20 33  31 0D 6C 65 6E 67 74 68  |nt hex 31.length|
000005A0: 20 68 65 78 20 30 39 0D  64 65 63 6C 65 6E 20 68  | hex 09.declen h|
000005B0: 65 78 20 30 32 0D 66 69  6C 6C 65 72 20 68 65 78  |ex 02.filler hex|
000005C0: 20 32 30 0D 6C 65 61 64  69 6E 67 20 65 71 75 20  | 20.leading equ |
000005D0: 6C 35 2D 31 0D                                    |l5-1.           |
..********************************.* PRI
NT USING EXTENSION        *.************
********************.* SYS 51456,X      
            *.*-------------------------
-----*.* ADDRESS   ! PARAMETERS       *.
* ---------------------------- *.* POKE 
51612! 0=W, 1=DEC       *.* POKE 51613! 
0=10, COMP =1    *.* POKE 51614! NUMBER 
OF DECDG  *.* POKE 51615! FILL CHAR (ASK
EY)*.* POKE 51549! LEADING CHAR     *.**
******************************.. ORG $C9
00..FRMNUM EQU $AD8A.ASCII EQU $BDBB.OUT
 EQU $AB1E.. JSR FRMNUM ;GET NUMERIC TER
M. JSR ASCII ;CHANGE TO ASCII AT $100. J
SR USING ;USE NEW ROUTINE. JSR OUT ;STRI
NG OUTPUT. RTS ;RETURN.USING LDA #'E. JS
R CHECK ;CHECKS ON EXP.FORMAT. BCS SETPT
R. LDA DECINT ;FLAG FOR DC/INTEGER. BEQ 
INTEGER. LDA $102. BNE L1. LDY LENGTH ;C
OMPLETE LENGTH =1. LDA #'0.L2 STA $102,Y
 ;FILL BUFFER WITH 0S. DEY. BNE L2.L1 LD
A #'.. JSR CHECK. TAY. BCC *+4. LDY #'0.
 LDA #0. JSR CHECK. TYA. STA $100,X. LDA
 #'.. JSR CHECK. LDY DECLEN ;# OF DEC DI
GITS.L3 INX. DEY. BNE L3.L8 CPX LENGTH. 
BCS SETPTR. LDY LENGTH. LDA #0. STA $101
,Y.L6 LDA $100,X. CMP #32 ;LEADING CHAR.
 BLANK. BNE L5. LDA #'.L5 STA $100,Y. DE
X. BPL L4. LDA FILLER. DEY. BPL L5.L4 DE
Y. BPL L6.SETPTR LDA #0 ;SET POINTER ON 
BUFFER. LDY #1. RTS.INTEGER LDA #0. JSR 
CHECK. BCC SETPTR. TXA. TAY. LDA $102. B
EQ L7. LDA #'.. JSR CHECK. BCC L7. TXA. 
TAY.L7 TYA. TAX. DEX. BPL L8.CHECK LDX #
0.L9 CMP $100,X. BEQ L10. INX. CPX #12. 
BNE L9. CLC.L10 RTS.DECINT HEX 31.LENGTH
 HEX 09.DECLEN HEX 02.FILLER HEX 20.LEAD
ING EQU L5-1.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL