> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)
00000000: 01 08 1B 08 00 00 8F 20 57 49 54 48 49 4E 20 28 |....... WITHIN (|
00000010: 41 55 47 20 32 35 2F 38 34 29 3A 00 21 08 01 00 |AUG 25/84):.!...|
00000020: 3A 00 40 08 02 00 8F 20 30 20 53 54 41 54 45 4D |:.@.... 0 STATEM|
00000030: 45 4E 54 53 2C 20 31 20 46 55 4E 43 54 49 4F 4E |ENTS, 1 FUNCTION|
00000040: 00 46 08 03 00 3A 00 62 08 04 00 8F 20 4B 45 59 |.F...:.b.... KEY|
00000050: 57 4F 52 44 20 43 48 41 52 41 43 54 45 52 53 3A |WORD CHARACTERS:|
00000060: 20 37 00 68 08 05 00 3A 00 8E 08 06 00 8F 20 4B | 7.h...:...... K|
00000070: 45 59 57 4F 52 44 20 20 20 52 4F 55 54 49 4E 45 |EYWORD ROUTINE|
00000080: 20 20 20 4C 49 4E 45 20 20 20 53 45 52 23 00 B3 | LINE SER#..|
00000090: 08 07 00 8F 20 46 2F 57 49 54 48 49 4E 28 20 57 |.... F/WITHIN( W|
000000A0: 49 54 48 49 4E 20 20 20 20 33 36 39 38 20 20 20 |ITHIN 3698 |
000000B0: 30 32 38 00 B9 08 08 00 3A 00 D3 08 09 00 8F 20 |028.....:...... |
000000C0: 55 2F 50 53 48 46 50 31 20 28 33 32 37 30 2F 30 |U/PSHFP1 (3270/0|
000000D0: 36 33 29 00 EC 08 0A 00 8F 20 55 2F 50 55 4C 35 |63)...... U/PUL5|
000000E0: 37 20 28 33 33 30 38 2F 30 36 34 29 00 F2 08 0B |7 (3308/064)....|
000000F0: 00 3A 00 19 09 0C 00 8F 20 3D 3D 3D 3D 3D 3D 3D |.:...... =======|
00000100: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D |================|
00000110: 3D 3D 3D 3D 3D 3D 3D 3D 3D 00 1F 09 0D 00 3A 00 |=========.....:.|
00000120: 39 09 5F 02 2E C6 20 22 57 49 54 48 49 4E 22 3A |9._... "WITHIN":|
00000130: 2E 42 59 54 45 20 24 41 38 00 4B 09 47 06 2E 57 |.BYTE $A8.K.G..W|
00000140: B0 44 20 57 49 54 48 49 4E AB 31 00 6C 09 C6 0C |.D WITHIN.1.l...|
00000150: 50 53 48 46 50 31 20 4C 44 41 20 23 33 20 3B 46 |PSHFP1 LDA #3 ;F|
00000160: 41 43 23 31 20 A4 20 53 54 41 43 4B 00 8C 09 C8 |AC#1 . STACK....|
00000170: 0C 4A 53 52 20 24 41 33 46 42 20 3B 43 48 45 43 |.JSR $A3FB ;CHEC|
00000180: 4B 20 53 54 41 43 4B 20 52 4F 4F 4D 00 9E 09 CA |K STACK ROOM....|
00000190: 0C 50 4C 41 20 3B 94 20 8E 20 41 44 44 52 00 AA |.PLA ;. . ADDR..|
000001A0: 09 CC 0C 53 54 41 20 24 37 31 00 B2 09 CE 0C 50 |...STA $71.....P|
000001B0: 4C 41 00 BE 09 D0 0C 53 54 41 20 24 37 32 00 DD |LA.....STA $72..|
000001C0: 09 D2 0C 4A 53 52 20 24 42 42 43 41 20 3B 46 41 |...JSR $BBCA ;FA|
000001D0: 43 23 31 20 A4 20 24 35 37 AB 24 35 42 00 F5 09 |C#1 . $57.$5B...|
000001E0: D4 0C 4C 44 58 20 23 30 20 3B 43 4C 45 41 52 20 |..LDX #0 ;CLEAR |
000001F0: 49 4E 44 45 58 00 13 0A D6 0C 50 48 46 31 20 4C |INDEX.....PHF1 L|
00000200: 44 41 20 24 35 37 2C 58 20 3B 43 4F 50 59 20 41 |DA $57,X ;COPY A|
00000210: 52 45 41 00 24 0A D8 0C 50 48 41 20 3B A4 20 53 |REA.$...PHA ;. S|
00000220: 54 41 43 4B 00 2C 0A DA 0C 49 4E 58 00 37 0A DC |TACK.,...INX.7..|
00000230: 0C 43 50 58 20 23 35 00 44 0A DE 0C 42 4E 45 20 |.CPX #5.D...BNE |
00000240: 50 48 46 31 00 5A 0A E0 0C 50 48 46 32 20 4C 44 |PHF1.Z...PHF2 LD|
00000250: 41 20 24 37 32 20 3B 8C 20 8E 00 6B 0A E2 0C 50 |A $72 ;. ..k...P|
00000260: 48 41 20 3B 41 44 44 52 45 53 53 00 77 0A E4 0C |HA ;ADDRESS.w...|
00000270: 4C 44 41 20 24 37 31 00 7F 0A E6 0C 50 48 41 00 |LDA $71.....PHA.|
00000280: 87 0A E8 0C 52 54 53 00 8D 0A EA 0C 3B 00 AD 0A |....RTS.....;...|
00000290: EC 0C 50 55 4C 35 37 20 50 4C 41 20 3B 24 35 37 |..PUL57 PLA ;$57|
000002A0: 2E 2E 2E 46 52 4F 4D 20 53 54 41 43 4B 00 C6 0A |...FROM STACK...|
000002B0: EE 0C 53 54 41 20 24 37 31 20 3B 94 20 8E 20 41 |..STA $71 ;. . A|
000002C0: 44 44 52 45 53 53 00 CE 0A F0 0C 50 4C 41 00 DA |DDRESS.....PLA..|
000002D0: 0A F2 0C 53 54 41 20 24 37 32 00 F7 0A F4 0C 4C |...STA $72.....L|
000002E0: 44 58 20 23 34 20 3B 49 4E 49 54 49 41 4C 49 5A |DX #4 ;INITIALIZ|
000002F0: 45 20 49 4E 44 45 58 00 11 0B F6 0C 50 4C 35 37 |E INDEX.....PL57|
00000300: 20 50 4C 41 20 3B 43 4F 50 59 20 A4 20 41 52 45 | PLA ;COPY . ARE|
00000310: 41 00 30 0B F8 0C 53 54 41 20 24 35 37 2C 58 20 |A.0...STA $57,X |
00000320: 3B 53 54 41 52 54 49 4E 47 20 41 54 20 24 35 37 |;STARTING AT $57|
00000330: 00 38 0B FA 0C 44 45 58 00 45 0B FC 0C 42 50 4C |.8...DEX.E...BPL|
00000340: 20 50 4C 35 37 00 5F 0B FE 0C 42 4D 49 20 50 48 | PL57._...BMI PH|
00000350: 46 32 20 3B 8C 20 8E 20 41 44 44 52 45 53 53 00 |F2 ;. . ADDRESS.|
00000360: 65 0B 00 0D 3B 00 84 0B 72 0E 57 49 54 48 49 4E |e...;...r.WITHIN|
00000370: 20 4A 53 52 20 24 41 44 38 41 20 3B 87 20 4E 55 | JSR $AD8A ;. NU|
00000380: 4D 20 BD 52 00 A4 0B 74 0E 4A 53 52 20 43 4F 4D |M .R...t.JSR COM|
00000390: 54 53 54 20 3B 53 45 43 20 8B 20 C5 32 20 57 49 |TST ;SEC . .2 WI|
000003A0: 54 48 49 4E 00 B9 0B 76 0E 50 48 50 20 3B 42 4F |THIN...v.PHP ;BO|
000003B0: 55 4E 44 53 2C 20 AF 20 94 00 CE 0B 78 0E 4A 53 |UNDS, . ....x.JS|
000003C0: 52 20 43 4F 4D 54 53 54 20 3B 44 49 54 A4 00 EC |R COMTST ;DIT...|
000003D0: 0B 7A 0E 42 43 43 20 57 54 48 31 20 3B 27 46 41 |.z.BCC WTH1 ;'FA|
000003E0: 4C 53 45 27 20 91 20 43 4C 45 41 52 00 02 0C 7C |LSE' . CLEAR...||
000003F0: 0E 50 4C 50 20 3B 52 45 43 4F 56 45 52 20 46 4C |.PLP ;RECOVER FL|
00000400: 41 47 00 19 0C 7E 0E 50 48 41 20 3B 44 45 43 20 |AG...~.PHA ;DEC |
00000410: 53 54 41 43 4B 20 50 54 52 00 37 0C 80 0E 42 43 |STACK PTR.7...BC|
00000420: 43 20 57 54 48 31 20 3B 27 46 41 4C 53 45 27 20 |C WTH1 ;'FALSE' |
00000430: 91 20 43 4C 45 41 52 00 4F 0C 82 0E 4C 44 41 20 |. CLEAR.O...LDA |
00000440: 23 24 46 46 20 3B AB 31 B2 27 54 52 55 45 27 00 |#$FF ;.1.'TRUE'.|
00000450: 6F 0C 84 0E 2E 42 59 54 45 20 24 32 43 20 3B 27 |o....BYTE $2C ;'|
00000460: 42 49 54 27 20 A4 20 48 49 44 45 20 4C 44 41 00 |BIT' . HIDE LDA.|
00000470: 8A 0C 86 0E 57 54 48 31 20 4C 44 41 20 23 30 20 |....WTH1 LDA #0 |
00000480: 3B 30 B2 27 46 41 4C 53 45 27 00 AA 0C 88 0E 4A |;0.'FALSE'.....J|
00000490: 53 52 20 24 42 43 33 43 20 3B 43 91 56 45 52 54 |SR $BC3C ;C.VERT|
000004A0: 20 53 49 47 48 20 A4 20 46 50 00 C1 0C 8A 0E 50 | SIGH . FP.....P|
000004B0: 4C 41 20 3B 49 4E 43 20 53 54 41 43 4B 20 50 54 |LA ;INC STACK PT|
000004C0: 52 00 DF 0C 8C 0E 4A 4D 50 20 24 41 45 46 37 20 |R.....JMP $AEF7 |
000004D0: 3B 53 4B 49 50 20 A0 20 42 52 41 43 4B 45 54 00 |;SKIP . BRACKET.|
000004E0: E5 0C 8E 0E 3B 00 0A 0D 90 0E 43 4F 4D 54 53 54 |....;.....COMTST|
000004F0: 20 4A 53 52 20 50 53 48 46 50 31 20 3B 46 41 43 | JSR PSHFP1 ;FAC|
00000500: 23 31 20 A4 20 53 54 41 43 4B 00 24 0D 92 0E 4A |#1 . STACK.$...J|
00000510: 53 52 20 24 37 39 20 3B 52 45 87 20 53 45 50 41 |SR $79 ;RE. SEPA|
00000520: 52 41 A4 52 00 34 0D 94 0E 50 48 41 20 3B AF 20 |RA.R.4...PHA ;. |
00000530: 94 20 49 54 00 51 0D 96 0E 4A 53 52 20 24 37 33 |. IT.Q...JSR $73|
00000540: 20 3B 42 55 4D 50 20 43 48 52 A1 20 50 4F B5 45 | ;BUMP CHR. PO.E|
00000550: 52 00 69 0D 98 0E 4A 53 52 20 24 41 44 38 41 20 |R.i...JSR $AD8A |
00000560: 3B 87 20 4E 55 4D 20 BD 52 00 81 0D 9A 0E 50 4C |;. NUM .R.....PL|
00000570: 41 20 3B 43 48 45 43 4B 20 53 45 50 41 52 41 A4 |A ;CHECK SEPARA.|
00000580: 52 00 9F 0D 9C 0E 43 4D 50 20 23 22 2C 22 20 3B |R.....CMP #"," ;|
00000590: 43 4F 4D 4D 41 20 28 B3 29 20 49 53 20 4F 4B 00 |COMMA (.) IS OK.|
000005A0: AB 0D 9E 0E 42 45 51 20 43 54 31 00 CD 0D A0 0E |....BEQ CT1.....|
000005B0: 43 4D 50 20 23 22 3B 22 20 3B 53 45 4D 49 43 4F |CMP #";" ;SEMICO|
000005C0: 4C 91 20 28 B3 B2 29 20 49 53 20 4F 4B 00 F0 0D |L. (..) IS OK...|
000005D0: A2 0E 42 4E 45 20 43 54 34 20 3B 41 4E 59 54 48 |..BNE CT4 ;ANYTH|
000005E0: 49 4E 47 20 45 4C 53 45 20 49 53 20 57 52 91 47 |ING ELSE IS WR.G|
000005F0: 00 0A 0E A4 0E 43 4C 43 20 3B 43 4C 45 41 52 20 |.....CLC ;CLEAR |
00000600: 81 20 53 45 4D 49 43 4F 4C 91 00 2A 0E A6 0E 2E |. SEMICOL..*....|
00000610: 42 59 54 45 20 24 32 34 20 3B 27 42 49 54 27 20 |BYTE $24 ;'BIT' |
00000620: A4 20 48 49 44 45 20 53 45 43 00 43 0E A8 0E 43 |. HIDE SEC.C...C|
00000630: 54 31 20 53 45 43 20 3B 53 45 54 20 81 20 43 4F |T1 SEC ;SET . CO|
00000640: 4D 4D 41 00 61 0E AA 0E 52 B0 20 54 33 20 3B 94 |MMA.a...R. T3 ;.|
00000650: 20 46 4C 41 47 20 41 53 20 48 49 47 48 20 42 49 | FLAG AS HIGH BI|
00000660: 54 00 81 0E AC 0E 4A 53 52 20 50 55 4C 35 37 20 |T.....JSR PUL57 |
00000670: 3B 53 54 41 43 4B 20 A4 20 24 35 37 20 41 52 45 |;STACK . $57 ARE|
00000680: 41 00 A5 0E AE 0E 4C 44 41 20 23 24 35 37 20 3B |A.....LDA #$57 ;|
00000690: 43 4F 4D 50 41 52 45 20 41 52 45 41 20 57 49 54 |COMPARE AREA WIT|
000006A0: 48 20 46 41 43 00 B0 0E B0 0E 4C 44 59 20 23 30 |H FAC.....LDY #0|
000006B0: 00 BE 0E B2 0E 4A 53 52 20 24 42 43 35 42 00 D8 |.....JSR $BC5B..|
000006C0: 0E B4 0E 42 4D 49 20 43 54 33 20 3B C5 31 B1 C5 |...BMI CT3 ;.1..|
000006D0: 32 2C 20 46 41 4C 53 45 00 F7 0E B6 0E 42 49 54 |2, FALSE.....BIT|
000006E0: 20 54 33 20 3B 43 4F 4D 4D 41 20 8B 20 4E 20 46 | T3 ;COMMA . N F|
000006F0: 4C 41 47 20 53 45 54 00 11 0F B8 0E 42 50 4C 20 |LAG SET.....BPL |
00000700: 43 54 32 20 3B C5 31 B3 B2 C5 32 2C 20 54 52 55 |CT2 ;.1...2, TRU|
00000710: 45 00 19 0F BA 0E 54 41 58 00 33 0F BC 0E 42 45 |E.....TAX.3...BE|
00000720: 51 20 43 54 33 20 3B C5 31 B2 C5 32 2C 20 46 41 |Q CT3 ;.1..2, FA|
00000730: 4C 53 45 00 47 0F BE 0E 43 54 32 20 53 45 43 20 |LSE.G...CT2 SEC |
00000740: 3B 8E 20 54 52 55 45 00 4F 0F C0 0E 52 54 53 00 |;. TRUE.O...RTS.|
00000750: 64 0F C2 0E 43 54 33 20 43 4C 43 20 3B 8E 20 46 |d...CT3 CLC ;. F|
00000760: 41 4C 53 45 00 6C 0F C4 0E 52 54 53 00 8B 0F C6 |ALSE.l...RTS....|
00000770: 0E 43 54 34 20 4A 4D 50 20 24 41 46 30 38 20 3B |.CT4 JMP $AF08 ;|
00000780: 53 59 4E 54 41 58 20 45 52 52 B0 00 91 0F C8 0E |SYNTAX ERR......|
00000790: 3B 00 00 00 |;... |
....... WITHIN (AUG 25/84):.!...:.@....
0 STATEMENTS, 1 FUNCTION.F...:.B.... KEY
WORD CHARACTERS: 7.H...:...... KEYWORD
ROUTINE LINE SER#...... F/WITHIN( W
ITHIN 3698 028.....:.S.... U/PSHFP1
(3270/063)...... U/PUL57 (3308/064)....
.:...... ===============================
=.....:.9._..F "WITHIN":.BYTE $A8.K.G..W
.D WITHIN.1.L.F.PSHFP1 LDA #3 ;FAC#1 . S
TACK...H.JSR $A3FB ;CHECK STACK ROOM...J
.PLA ;. . ADDR...L.STA $71...N.PLA...P.S
TA $72...R.JSR $BBCA ;FAC#1 . $57.$5B...
T.LDX #0 ;CLEAR INDEX...V.PHF1 LDA $57,X
;COPY AREA.$.X.PHA ;. STACK.,.Z.INX.7..
.CPX #5.D...BNE PHF1.Z...PHF2 LDA $72 ;.
..K...PHA ;ADDRESS.W...LDA $71....PHA.
....RTS.....;.....PUL57 PLA ;$57...FROM
STACK.F...STA $71 ;. . ADDRESS.N...PLA.Z
...STA $72.....LDX #4 ;INITIALIZE INDEX.
....PL57 PLA ;COPY . AREA.0...STA $57,X
;STARTING AT $57.8...DEX.E...BPL PL57._.
..BMI PHF2 ;. . ADDRESS.E...;...R.WITHIN
JSR $AD8A ;. NUM .R...T.JSR COMTST ;SEC
. E2 WITHIN...V.PHP ;BOUNDS, . ..N.X.JS
R COMTST ;DIT....Z.BCC WTH1 ;'FALSE' . C
LEAR...|.PLP ;RECOVER FLAG...~.PHA ;DEC
STACK PTR.7...BCC WTH1 ;'FALSE' . CLEAR.
O...LDA #$FF ;.1.'TRUE'.O....BYTE $2C ;'
BIT' . HIDE LDA.....WTH1 LDA #0 ;0.'FALS
E'.....JSR $BC3C ;C.VERT SIGH . FP.A...P
LA ;INC STACK PTR.....JMP $AEF7 ;SKIP
BRACKET.....;.....COMTST JSR PSHFP1 ;FAC
#1 . STACK.$...JSR $79 ;RE. SEPARA.R.4..
.PHA ;. . IT.Q...JSR $73 ;BUMP CHR. PO.E
R.I...JSR $AD8A ;. NUM .R.....PLA ;CHECK
SEPARA.R.....CMP #"," ;COMMA (.) IS OK.
....BEQ CT1.M. .CMP #";" ;SEMICOL. (..)
IS OK.....BNE CT4 ;ANYTHING ELSE IS WR.G
.....CLC ;CLEAR . SEMICOL..*....BYTE $24
;'BIT' . HIDE SEC.C...CT1 SEC ;SET . CO
MMA.A...R. T3 ;. FLAG AS HIGH BIT.....JS
R PUL57 ;STACK . $57 AREA.....LDA #$57 ;
COMPARE AREA WITH FAC.....LDY #0.....JSR
$BC5B.X...BMI CT3 ;E1.E2, FALSE.....BIT
T3 ;COMMA . N FLAG SET.....BPL CT2 ;E1.
.E2, TRUE.....TAX.3...BEQ CT3 ;E1.E2, FA
LSE.G...CT2 SEC ;. TRUE.O...RTS.D.B.CT3
CLC ;. FALSE.L.D.RTS...F.CT4 JMP $AF08 ;
SYNTAX ERR....H.;...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL