> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)
00000000: 01 08 22 08 00 00 8F 20 53 54 52 49 50 20 26 20 |..".... STRIP & |
00000010: 43 4C 45 41 4E 20 28 41 55 47 20 32 39 2F 38 34 |CLEAN (AUG 29/84|
00000020: 29 3A 00 28 08 01 00 3A 00 48 08 02 00 8F 20 30 |):.(...:.H.... 0|
00000030: 20 53 54 41 54 45 4D 45 4E 54 53 2C 20 32 20 46 | STATEMENTS, 2 F|
00000040: 55 4E 43 54 49 4F 4E 53 00 4E 08 03 00 3A 00 6B |UNCTIONS.N...:.k|
00000050: 08 04 00 8F 20 4B 45 59 57 4F 52 44 20 43 48 41 |.... KEYWORD CHA|
00000060: 52 41 43 54 45 52 53 3A 20 31 34 00 71 08 05 00 |RACTERS: 14.q...|
00000070: 3A 00 97 08 06 00 8F 20 4B 45 59 57 4F 52 44 20 |:...... KEYWORD |
00000080: 20 20 52 4F 55 54 49 4E 45 20 20 20 4C 49 4E 45 | ROUTINE LINE|
00000090: 20 20 20 53 45 52 23 00 BC 08 07 00 8F 20 46 2F | SER#...... F/|
000000A0: 53 54 52 49 50 24 28 20 53 54 52 49 50 20 20 20 |STRIP$( STRIP |
000000B0: 20 20 33 39 38 34 20 20 20 30 34 35 00 E1 08 08 | 3984 045....|
000000C0: 00 8F 20 46 2F 43 4C 45 41 4E 24 28 20 43 4C 45 |.. F/CLEAN$( CLE|
000000D0: 41 4E 20 20 20 20 20 33 39 38 38 20 20 20 30 34 |AN 3988 04|
000000E0: 36 00 E7 08 09 00 3A 00 01 09 0A 00 8F 20 55 2F |6.....:...... U/|
000000F0: 43 49 46 43 48 52 20 28 32 35 36 30 2F 30 30 33 |CIFCHR (2560/003|
00000100: 29 00 1B 09 0B 00 8F 20 55 2F 43 49 46 4E 55 4D |)...... U/CIFNUM|
00000110: 20 28 34 30 39 32 2F 30 34 37 29 00 21 09 0C 00 | (4092/047).!...|
00000120: 3A 00 48 09 0D 00 8F 20 3D 3D 3D 3D 3D 3D 3D 3D |:.H.... ========|
00000130: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D |================|
00000140: 3D 3D 3D 3D 3D 3D 3D 3D 00 4E 09 0E 00 3A 00 7E |========.N...:.~|
00000150: 09 61 02 2E C6 20 22 53 54 52 49 50 24 22 3A 2E |.a... "STRIP$":.|
00000160: 42 59 54 45 20 24 41 38 3A 2E C6 20 22 43 4C 45 |BYTE $A8:.. "CLE|
00000170: 41 4E 24 22 3A 2E 42 59 54 45 20 24 41 38 00 97 |AN$":.BYTE $A8..|
00000180: 09 49 06 2E 57 B0 44 20 53 54 52 49 50 AB 31 2C |.I..W.D STRIP.1,|
00000190: 43 4C 45 41 4E AB 31 00 B7 09 00 0A 43 8B 43 48 |CLEAN.1.....C.CH|
000001A0: 52 20 43 4D 50 20 23 24 35 42 20 3B 8E 20 43 41 |R CMP #$5B ;. CA|
000001B0: 52 52 59 20 53 45 54 00 D2 09 02 0A 42 43 43 20 |RRY SET.....BCC |
000001C0: 43 49 43 31 20 3B 8B 20 41 43 43 55 4D 55 4C 41 |CIC1 ;. ACCUMULA|
000001D0: A4 52 00 E1 09 04 0A 43 4C 43 20 3B 9A 41 49 4E |.R.....CLC ;.AIN|
000001E0: 53 00 FA 09 06 0A 42 43 43 20 43 49 43 32 20 3B |S.....BCC CIC2 ;|
000001F0: 41 4C 50 48 41 42 45 54 49 43 00 0C 0A 08 0A 43 |ALPHABETIC.....C|
00000200: 49 43 31 20 43 4D 50 20 23 24 34 31 00 19 0A 0A |IC1 CMP #$41....|
00000210: 0A 43 49 43 32 20 52 54 53 00 1F 0A 0C 0A 3B 00 |.CIC2 RTS.....;.|
00000220: 45 0A 90 0F 53 54 52 49 50 20 4C 44 41 20 23 24 |E...STRIP LDA #$|
00000230: 38 30 20 3B 53 54 52 49 50 20 AB 20 42 49 54 20 |80 ;STRIP . BIT |
00000240: 37 20 53 45 54 00 5A 0A 92 0F 2E 42 59 54 45 20 |7 SET.Z....BYTE |
00000250: 24 32 43 20 3B 27 42 49 54 27 00 7C 0A 94 0F 43 |$2C ;'BIT'.|...C|
00000260: 4C 45 41 4E 20 4C 44 41 20 23 30 20 3B 43 4C 45 |LEAN LDA #0 ;CLE|
00000270: 41 4E 20 AB 20 42 49 54 20 37 20 9C 00 8C 0A 96 |AN . BIT 7 .....|
00000280: 0F 50 48 41 20 3B 94 20 46 4C 41 47 00 A8 0A 98 |.PHA ;. FLAG....|
00000290: 0F 4A 53 52 20 24 41 45 46 34 20 3B 45 C5 20 53 |.JSR $AEF4 ;E. S|
000002A0: 54 52 49 4E 47 20 BD 52 00 C5 0A 9A 0F 4A 53 52 |TRING .R.....JSR|
000002B0: 20 24 42 36 41 33 20 3B A1 20 53 54 52 20 C3 2C | $B6A3 ;. STR .,|
000002C0: 20 41 44 44 52 00 D8 0A 9C 0F 53 54 41 20 54 33 | ADDR.....STA T3|
000002D0: 20 3B 94 20 C3 47 54 48 00 E8 0A 9E 0F 50 4C 41 | ;. .GTH.....PLA|
000002E0: 20 3B A1 20 46 4C 41 47 00 FC 0A A0 0F 53 54 41 | ;. FLAG.....STA|
000002F0: 20 54 34 20 3B 53 A4 52 45 20 49 54 00 12 0B A2 | T4 ;S.RE IT....|
00000300: 0F 54 58 41 20 3B 50 55 53 48 20 41 44 44 52 45 |.TXA ;PUSH ADDRE|
00000310: 53 53 00 1A 0B A4 0F 50 48 41 00 22 0B A6 0F 54 |SS.....PHA."...T|
00000320: 59 41 00 2A 0B A8 0F 50 48 41 00 3D 0B AA 0F 4C |YA.*...PHA.=...L|
00000330: 44 41 20 54 33 20 3B A1 20 C3 47 54 48 00 5D 0B |DA T3 ;. .GTH.].|
00000340: AC 0F 4A 53 52 20 24 42 34 37 44 20 3B 41 44 4A |..JSR $B47D ;ADJ|
00000350: 55 53 54 20 42 AB 4F AB 53 20 50 54 52 00 70 0B |UST B.O.S PTR.p.|
00000360: AE 0F 50 4C 41 20 3B 50 4F B5 45 52 20 A4 20 85 |..PLA ;PO.ER . .|
00000370: 00 8F 0B B0 0F 53 54 41 20 24 32 33 20 3B 20 53 |.....STA $23 ; S|
00000380: 54 52 49 4E 47 20 41 54 20 24 32 32 AD 32 33 00 |TRING AT $22.23.|
00000390: 97 0B B2 0F 50 4C 41 00 A3 0B B4 0F 53 54 41 20 |....PLA.....STA |
000003A0: 24 32 32 00 BF 0B B6 0F 53 54 58 20 24 32 34 20 |$22.....STX $24 |
000003B0: 3B 50 4F B5 45 52 20 A4 20 4F 55 54 50 55 54 00 |;PO.ER . OUTPUT.|
000003C0: DE 0B B8 0F 53 54 59 20 24 32 35 20 3B 20 53 54 |....STY $25 ; ST|
000003D0: 52 49 4E 47 20 41 54 20 24 32 34 AD 32 35 00 F9 |RING AT $24.25..|
000003E0: 0B BA 0F 4C 44 58 20 23 30 20 3B 49 4E 49 54 20 |...LDX #0 ;INIT |
000003F0: C3 20 43 4F 55 4E 54 45 52 00 15 0C BC 0F 53 54 |. COUNTER.....ST|
00000400: 58 20 54 35 20 3B 20 AB 52 45 53 55 4C 54 20 53 |X T5 ; .RESULT S|
00000410: 54 52 49 4E 47 00 22 0C BE 0F 4C 44 59 20 23 24 |TRING."...LDY #$|
00000420: 46 46 00 3C 0C C0 0F 43 4C 4E 31 20 49 4E 59 20 |FF.<...CLN1 INY |
00000430: 3B 43 48 45 43 4B 20 8B 20 44 91 45 00 47 0C C2 |;CHECK . D.E.G..|
00000440: 0F 43 50 59 20 54 33 00 54 0C C4 0F 42 45 51 20 |.CPY T3.T...BEQ |
00000450: 43 4C 4E 34 00 6E 0C C6 0F 4C 44 41 20 28 24 32 |CLN4.n...LDA ($2|
00000460: 32 29 2C 59 20 3B A1 20 85 20 43 48 41 52 00 86 |2),Y ;. . CHAR..|
00000470: 0C C8 0F AF 20 23 24 37 46 20 3B 2E 2E 55 4E 53 |.... #$7F ;..UNS|
00000480: 48 8B 54 20 49 54 00 A5 0C CA 0F 4A 53 52 20 43 |H.T IT.....JSR C|
00000490: 8B 43 48 52 20 3B 2E 2E 42 52 41 4E 43 48 20 8B |.CHR ;..BRANCH .|
000004A0: 20 49 54 27 53 00 C1 0C CC 0F 42 43 53 20 43 4C | IT'S.....BCS CL|
000004B0: 4E 32 20 3B 20 41 4C 50 48 41 42 45 54 49 43 20 |N2 ; ALPHABETIC |
000004C0: B0 00 D9 0C CE 0F 4A 53 52 20 43 8B 4E 55 4D 20 |......JSR C.NUM |
000004D0: 3B 20 4E 55 4D 45 52 49 43 00 E6 0C D0 0F 42 43 |; NUMERIC.....BC|
000004E0: 53 20 43 4C 4E 32 00 FC 0C D2 0F 42 49 54 20 54 |S CLN2.....BIT T|
000004F0: 34 20 3B 54 45 53 54 20 46 4C 41 47 00 1C 0D D4 |4 ;TEST FLAG....|
00000500: 0F 42 4D 49 20 43 4C 4E 31 20 3B 53 54 52 49 50 |.BMI CLN1 ;STRIP|
00000510: 20 AB 20 53 4B 49 50 20 43 48 41 52 00 3B 0D D6 | . SKIP CHAR.;..|
00000520: 0F 42 56 53 20 43 4C 4E 31 20 3B 53 4B 49 50 20 |.BVS CLN1 ;SKIP |
00000530: 4D 55 4C 54 20 53 50 41 43 45 53 00 55 0D D8 0F |MULT SPACES.U...|
00000540: 43 4D 50 20 23 24 32 30 20 3B 53 4B 49 50 20 43 |CMP #$20 ;SKIP C|
00000550: 48 41 52 20 8B 00 6E 0D DA 0F 42 4E 45 20 43 4C |HAR ..n...BNE CL|
00000560: 4E 31 20 3B 20 A8 20 41 20 53 50 41 43 45 00 87 |N1 ; . A SPACE..|
00000570: 0D DC 0F 43 4C 43 20 3B 53 50 41 43 45 20 AB 20 |...CLC ;SPACE . |
00000580: 43 41 52 52 59 20 9C 00 AE 0D DE 0F 43 4C 4E 32 |CARRY ......CLN2|
00000590: 20 53 54 41 20 28 24 32 34 2C 58 29 20 3B 43 48 | STA ($24,X) ;CH|
000005A0: 41 52 20 A4 20 4F 55 54 53 54 52 49 4E 47 00 C1 |AR . OUTSTRING..|
000005B0: 0D E0 0F 4C 44 41 20 54 34 20 3B A1 20 46 4C 41 |...LDA T4 ;. FLA|
000005C0: 47 00 DB 0D E2 0F AF 20 23 24 38 30 20 3B 4B 45 |G...... #$80 ;KE|
000005D0: 45 50 20 48 49 47 48 20 42 49 54 00 FA 0D E4 0F |EP HIGH BIT.....|
000005E0: 42 43 53 20 43 4C 4E 33 20 3B 53 45 54 20 42 49 |BCS CLN3 ;SET BI|
000005F0: 54 20 36 20 8B 20 43 48 41 52 00 13 0E E6 0F B0 |T 6 . CHAR......|
00000600: 41 20 23 24 34 30 20 3B 20 49 53 20 41 20 53 50 |A #$40 ; IS A SP|
00000610: 41 43 45 00 23 0E E8 0F 43 4C 4E 33 20 53 54 41 |ACE.#...CLN3 STA|
00000620: 20 54 34 00 3D 0E EA 0F 49 4E 43 20 54 35 20 3B | T4.=...INC T5 ;|
00000630: 42 55 4D 50 20 4F 55 54 53 54 52 20 C3 00 57 0E |BUMP OUTSTR ..W.|
00000640: EC 0F 49 4E 43 20 24 32 34 20 3B 42 55 4D 50 20 |..INC $24 ;BUMP |
00000650: 50 4F B5 45 52 20 A4 00 74 0E EE 0F 42 4E 45 20 |PO.ER ..t...BNE |
00000660: 43 4C 4E 31 20 3B 20 4F 55 54 50 55 54 20 53 54 |CLN1 ; OUTPUT ST|
00000670: 52 49 4E 47 00 8A 0E F0 0F 49 4E 43 20 24 32 35 |RING.....INC $25|
00000680: 20 3B 20 A7 20 CB 20 81 20 41 00 A5 0E F2 0F 42 | ; . . . A.....B|
00000690: 4E 45 20 43 4C 4E 31 20 3B 20 A2 20 43 48 41 52 |NE CLN1 ; . CHAR|
000006A0: 41 43 54 45 52 00 C1 0E F4 0F 43 4C 4E 34 20 4C |ACTER.....CLN4 L|
000006B0: 44 41 20 54 35 20 3B A1 20 4F 55 54 53 54 52 20 |DA T5 ;. OUTSTR |
000006C0: C3 00 CD 0E F6 0F 53 54 41 20 24 36 31 00 ED 0E |......STA $61...|
000006D0: F8 0F 4A 4D 50 20 24 42 34 43 41 20 3B 53 45 54 |..JMP $B4CA ;SET|
000006E0: 20 55 50 20 44 45 53 43 52 49 50 A4 52 00 F3 0E | UP DESCRIP.R...|
000006F0: FA 0F 3B 00 13 0F FC 0F 43 8B 4E 55 4D 20 43 4D |..;.....C.NUM CM|
00000700: 50 20 23 22 3A 22 20 3B 8E 20 43 41 52 52 59 20 |P #":" ;. CARRY |
00000710: 53 45 54 00 2E 0F FE 0F 42 43 43 20 43 49 4E 31 |SET.....BCC CIN1|
00000720: 20 3B 8B 20 41 43 43 55 4D 55 4C 41 A4 52 00 45 | ;. ACCUMULA.R.E|
00000730: 0F 00 10 43 4C 43 20 3B 9A 41 49 4E 53 20 4E 55 |...CLC ;.AINS NU|
00000740: 4D 45 52 49 43 00 52 0F 02 10 42 43 43 20 43 49 |MERIC.R...BCC CI|
00000750: 4E 32 00 64 0F 04 10 43 49 4E 31 20 43 4D 50 20 |N2.d...CIN1 CMP |
00000760: 23 22 30 22 00 71 0F 06 10 43 49 4E 32 20 52 54 |#"0".q...CIN2 RT|
00000770: 53 00 77 0F 08 10 3B 00 00 00 |S.w...;... |
..".... STRIP & CLEAN (AUG 29/84):.(...:
.H.... 0 STATEMENTS, 2 FUNCTIONS.N...:.K
.... KEYWORD CHARACTERS: 14.Q...:......
KEYWORD ROUTINE LINE SER#...... F/
STRIP$( STRIP 3984 045...... F/CLE
AN$( CLEAN 3988 046.....:...... U/
CIFCHR (2560/003)...... U/CIFNUM (4092/0
47).!...:.H.... ========================
========.N...:.~.A..F "STRIP$":.BYTE $A8
:.F "CLEAN$":.BYTE $A8...I..W.D STRIP.1,
CLEAN.1.....C.CHR CMP #$5B ;. CARRY SET.
R...BCC CIC1 ;. ACCUMULA.R.....CLC ;.AIN
S.....BCC CIC2 ;ALPHABETIC.....CIC1 CMP
#$41.....CIC2 RTS.....;.E...STRIP LDA #$
80 ;STRIP . BIT 7 SET.Z....BYTE $2C ;'BI
T'.|...CLEAN LDA #0 ;CLEAN . BIT 7 .....
.PHA ;. FLAG.....JSR $AEF4 ;EE STRING .R
.E...JSR $B6A3 ;. STR C, ADDR.X...STA T3
;. CGTH.....PLA ;. FLAG... .STA T4 ;S.R
E IT.....TXA ;PUSH ADDRESS.....PHA."...T
YA.*...PHA.=...LDA T3 ;. CGTH.]...JSR $B
47D ;ADJUST B.O.S PTR.P...PLA ;PO.ER . .
.....STA $23 ; STRING AT $22.23.....PLA.
....STA $22.....STX $24 ;PO.ER . OUTPUT.
....STY $25 ; STRING AT $24.25.....LDX #
0 ;INIT C COUNTER.....STX T5 ; .RESULT S
TRING."...LDY #$FF.<...CLN1 INY ;CHECK .
D.E.G.B.CPY T3.T.D.BEQ CLN4.N.F.LDA ($2
2),Y ;. . CHAR...H.. #$7F ;..UNSH.T IT..
.J.JSR C.CHR ;..BRANCH . IT'S.A.L.BCS CL
N2 ; ALPHABETIC ..Y.N.JSR C.NUM ; NUMERI
C...P.BCS CLN2...R.BIT T4 ;TEST FLAG...T
.BMI CLN1 ;STRIP . SKIP CHAR.;.V.BVS CLN
1 ;SKIP MULT SPACES.U.X.CMP #$20 ;SKIP C
HAR ..N.Z.BNE CLN1 ; . A SPACE.....CLC ;
SPACE . CARRY ......CLN2 STA ($24,X) ;CH
AR . OUTSTRING.A...LDA T4 ;. FLAG......
#$80 ;KEEP HIGH BIT.....BCS CLN3 ;SET BI
T 6 . CHAR......A #$40 ; IS A SPACE.#...
CLN3 STA T4.=...INC T5 ;BUMP OUTSTR C.W.
..INC $24 ;BUMP PO.ER ..T...BNE CLN1 ; O
UTPUT STRING.....INC $25 ; . K . A.....B
NE CLN1 ; . CHARACTER.A...CLN4 LDA T5 ;.
OUTSTR C.M...STA $61.....JMP $B4CA ;SET
UP DESCRIP.R.....;.....C.NUM CMP #":" ;
. CARRY SET.....BCC CIN1 ;. ACCUMULA.R.E
...CLC ;.AINS NUMERIC.R...BCC CIN2.D...C
IN1 CMP #"0".Q...CIN2 RTS.W...;...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL