SEARCH.SRC
FILE INFORMATION
FILENAME(S): SEARCH.SRC
FILE TYPE(S): PRG
FILE SIZE: 5.5K
FIRST SEEN: 2025-11-30 01:12:44
APPEARS ON: 1 disk(s)
FILE HASH
d34c72b8b35a8fd1242a607d901747b86475661539d0501aafe9a757b0cf0f1f
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| 10707 7 87 | SEARCH.SRC | PRG | C64er | 27 | 1 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: D8 1F F7 1F 64 00 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A |....d.;*********|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000020: 00 16 20 6E 00 3B 2A 20 20 20 20 20 53 55 43 48 |.. n.;* SUCH|
00000030: 52 4F 55 54 49 4E 45 20 20 20 20 20 20 20 2A 00 |ROUTINE *.|
00000040: 35 20 78 00 3B 2A 20 28 43 29 20 53 41 49 44 20 |5 x.;* (C) SAID |
00000050: 42 41 4C 4F 55 49 2C 20 31 39 38 37 20 2A 00 54 |BALOUI, 1987 *.T|
00000060: 20 82 00 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A | ..;************|
00000070: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 5A 20 |*************.Z |
00000080: 8C 00 3B 00 60 20 96 00 3B 00 66 20 A0 00 3B 00 |..;.` ..;.f ..;.|
00000090: 8C 20 AA 00 3B 46 55 4E 4B 54 49 4F 4E 3A 20 53 |. ..;FUNKTION: S|
000000A0: 55 43 48 54 20 49 4E 20 45 49 4E 45 4D 20 53 54 |UCHT IN EINEM ST|
000000B0: 52 49 4E 47 2D 00 AE 20 B4 00 3B 41 52 52 41 59 |RING-.. ..;ARRAY|
000000C0: 20 44 49 45 20 41 4E 47 45 47 2E 5A 45 49 43 48 | DIE ANGEG.ZEICH|
000000D0: 45 4E 4B 45 54 54 45 00 B4 20 BE 00 3B 00 D6 20 |ENKETTE.. ..;.. |
000000E0: C8 00 3B 41 55 46 52 55 46 3A 20 53 59 53 20 58 |..;AUFRUF: SYS X|
000000F0: 2C 53 55 43 48 4B 52 49 54 45 52 49 55 4D 2C 00 |,SUCHKRITERIUM,.|
00000100: F7 20 D2 00 3B 20 20 20 20 20 20 20 20 53 55 43 |. ..; SUC|
00000110: 48 45 20 41 42 2C 53 55 43 48 45 20 42 49 53 2C |HE AB,SUCHE BIS,|
00000120: 00 1B 21 DC 00 3B 20 20 20 20 20 20 20 20 55 45 |..!..; UE|
00000130: 42 45 52 47 41 42 45 56 41 52 2E 28 49 4E 54 45 |BERGABEVAR.(INTE|
00000140: 47 45 52 29 00 21 21 E6 00 3B 00 45 21 F0 00 3B |GER).!!..;.E!..;|
00000150: 53 55 43 48 4B 52 49 54 2E 3A 20 2D 41 42 4B 55 |SUCHKRIT.: -ABKU|
00000160: 45 52 5A 45 4E 20 28 22 4D 41 49 2A 22 29 00 6B |ERZEN ("MAI*").k|
00000170: 21 FA 00 3B 20 20 20 20 20 20 20 20 20 20 20 2D |!..; -|
00000180: 4D 41 53 4B 49 45 52 45 4E 20 28 22 4D 3F 41 3F |MASKIEREN ("M?A?|
00000190: 45 52 22 29 00 91 21 04 01 3B 20 20 20 20 20 20 |ER")..!..; |
000001A0: 20 20 20 20 20 2D 4B 4F 4D 42 49 4E 49 45 52 45 | -KOMBINIERE|
000001B0: 4E 20 28 22 4D 3F 49 2A 22 29 00 B7 21 0E 01 3B |N ("M?I*")..!..;|
000001C0: 53 55 43 48 45 20 41 42 2F 42 49 53 3A 20 55 4E |SUCHE AB/BIS: UN|
000001D0: 54 45 52 45 2F 4F 42 45 52 45 20 47 52 45 4E 2D |TERE/OBERE GREN-|
000001E0: 00 DD 21 18 01 3B 20 20 20 20 20 20 20 20 20 20 |..!..; |
000001F0: 20 20 20 20 5A 45 20 44 45 53 20 5A 55 20 44 55 | ZE DES ZU DU|
00000200: 52 43 48 53 55 2D 00 01 22 22 01 3B 20 20 20 20 |RCHSU-.."".; |
00000210: 20 20 20 20 20 20 20 20 20 20 53 55 43 48 45 4E | SUCHEN|
00000220: 44 45 4E 20 41 52 52 41 59 53 00 24 22 2C 01 3B |DEN ARRAYS.$",.;|
00000230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 41 | (A|
00000240: 24 28 31 30 29 2C 41 24 28 33 32 29 29 00 4A 22 |$(10),A$(32)).J"|
00000250: 36 01 3B 55 45 42 45 52 47 2E 56 41 52 2E 3A 20 |6.;UEBERG.VAR.: |
00000260: 49 4E 54 45 47 45 52 56 41 52 2E 2C 20 49 4E 20 |INTEGERVAR., IN |
00000270: 44 45 52 00 77 22 40 01 3B 20 20 20 20 20 20 20 |DER.w"@.; |
00000280: 20 20 20 20 20 20 44 45 52 20 49 4E 44 45 58 20 | DER INDEX |
00000290: 45 49 4E 45 53 20 47 45 46 55 4E 44 45 4E 45 4E |EINES GEFUNDENEN|
000002A0: 00 A1 22 4A 01 3B 20 20 20 20 20 20 20 20 20 20 |.."J.; |
000002B0: 20 20 20 53 54 52 49 4E 47 53 20 55 45 42 45 52 | STRINGS UEBER|
000002C0: 47 45 42 45 4E 20 57 49 52 44 00 C7 22 54 01 3B |GEBEN WIRD.."T.;|
000002D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 30 3D | (0=|
000002E0: 53 55 43 48 45 20 45 52 46 4F 4C 47 4C 4F 53 29 |SUCHE ERFOLGLOS)|
000002F0: 00 CD 22 5E 01 3B 00 F2 22 68 01 3B 42 53 50 2E |.."^.;.."h.;BSP.|
00000300: 3A 20 53 59 53 20 58 2C 53 24 2C 41 24 28 30 29 |: SYS X,S$,A$(0)|
00000310: 2C 41 24 28 31 30 30 29 2C 50 25 00 16 23 72 01 |,A$(100),P%..#r.|
00000320: 3B 20 20 20 20 20 20 44 55 52 43 48 53 55 43 48 |; DURCHSUCH|
00000330: 54 20 41 24 28 30 29 2D 41 24 28 31 30 30 29 00 |T A$(0)-A$(100).|
00000340: 3C 23 7C 01 3B 20 20 20 20 20 20 4E 41 43 48 20 |<#|.; NACH |
00000350: 53 24 20 55 2E 55 45 42 45 52 47 49 42 54 20 52 |S$ U.UEBERGIBT R|
00000360: 45 53 55 4C 54 00 4D 23 86 01 3B 20 20 20 20 20 |ESULT.M#..; |
00000370: 20 49 4E 20 50 25 00 53 23 90 01 3B 00 59 23 9A | IN P%.S#..;.Y#.|
00000380: 01 3B 00 5F 23 A4 01 3B 00 72 23 AE 01 3B 2A 2A |.;._#..;.r#..;**|
00000390: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 85 23 B8 01 |***********..#..|
000003A0: 3B 2A 2A 2A 20 4C 41 42 45 4C 20 2A 2A 2A 00 98 |;*** LABEL ***..|
000003B0: 23 C2 01 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |#..;************|
000003C0: 2A 00 C0 23 CC 01 3B 20 20 20 20 20 20 20 20 20 |*..#..; |
000003D0: 20 20 20 20 20 20 20 20 20 20 20 3B 50 52 4F 47 | ;PROG|
000003E0: 52 41 4D 4D 53 54 41 52 54 00 CE 23 D6 01 2E 42 |RAMMSTART..#...B|
000003F0: 41 20 24 43 30 43 30 00 D4 23 E0 01 3B 00 FA 23 |A $C0C0..#..;..#|
00000400: EA 01 2E 45 51 20 43 48 4B 4B 4F 4D 20 20 3D 24 |...EQ CHKKOM =$|
00000410: 41 45 46 44 20 20 20 3B 4C 49 45 53 54 20 4B 4F |AEFD ;LIEST KO|
00000420: 4D 4D 41 00 26 24 F4 01 2E 45 51 20 47 45 54 42 |MMA.&$...EQ GETB|
00000430: 59 54 20 20 3D 24 42 37 39 45 20 20 20 3B 4C 49 |YT =$B79E ;LI|
00000440: 45 53 54 20 31 2D 42 59 54 45 2D 57 45 52 54 00 |EST 1-BYTE-WERT.|
00000450: 5A 24 FE 01 2E 45 51 20 47 45 54 50 4F 53 20 20 |Z$...EQ GETPOS |
00000460: 3D 24 42 30 38 42 20 20 20 3B 48 4F 4C 54 20 50 |=$B08B ;HOLT P|
00000470: 4F 49 4E 54 45 52 20 41 55 46 20 56 41 52 49 41 |OINTER AUF VARIA|
00000480: 42 4C 45 00 91 24 08 02 2E 45 51 20 46 52 4D 4E |BLE..$...EQ FRMN|
00000490: 55 4D 20 20 3D 24 41 44 38 41 20 20 20 3B 4C 49 |UM =$AD8A ;LI|
000004A0: 45 53 54 20 4E 55 2E 41 55 53 44 52 55 43 4B 20 |EST NU.AUSDRUCK |
000004B0: 49 4E 20 46 41 43 20 45 49 4E 00 C4 24 12 02 2E |IN FAC EIN..$...|
000004C0: 45 51 20 41 44 52 46 4F 52 20 20 3D 24 42 37 46 |EQ ADRFOR =$B7F|
000004D0: 37 20 20 20 3B 57 41 4E 44 45 4C 54 20 46 41 43 |7 ;WANDELT FAC|
000004E0: 20 4E 41 43 48 20 49 4E 54 45 47 45 52 00 06 25 | NACH INTEGER..%|
000004F0: 1C 02 2E 45 51 20 43 48 52 47 45 54 20 20 3D 24 |...EQ CHRGET =$|
00000500: 37 33 20 20 20 20 20 3B 49 4E 4B 52 45 4D 2E 54 |73 ;INKREM.T|
00000510: 45 58 54 50 54 52 20 55 2E 48 4F 4C 54 20 41 4B |EXTPTR U.HOLT AK|
00000520: 54 55 45 4C 4C 45 53 20 5A 45 49 43 48 45 4E 00 |TUELLES ZEICHEN.|
00000530: 37 25 26 02 2E 45 51 20 43 48 52 47 4F 54 20 20 |7%&..EQ CHRGOT |
00000540: 3D 24 37 39 20 20 20 20 20 3B 48 4F 4C 54 20 41 |=$79 ;HOLT A|
00000550: 4B 54 55 45 4C 4C 45 53 20 5A 45 49 43 48 45 4E |KTUELLES ZEICHEN|
00000560: 00 68 25 30 02 2E 45 51 20 54 45 58 54 50 54 52 |.h%0..EQ TEXTPTR|
00000570: 20 3D 24 37 41 20 20 20 20 20 3B 50 4F 49 4E 54 | =$7A ;POINT|
00000580: 45 52 20 41 55 46 20 42 41 53 49 43 2D 54 45 58 |ER AUF BASIC-TEX|
00000590: 54 00 6E 25 3A 02 3B 00 91 25 44 02 3B 2A 50 4F |T.n%:.;..%D.;*PO|
000005A0: 49 4E 54 45 52 20 41 55 46 20 53 54 52 49 4E 47 |INTER AUF STRING|
000005B0: 44 45 53 43 52 49 50 54 2E 2A 00 CC 25 4E 02 2E |DESCRIPT.*..%N..|
000005C0: 45 51 20 53 55 43 48 20 20 20 3D 24 41 37 20 20 |EQ SUCH =$A7 |
000005D0: 20 20 20 20 3B 50 54 52 2E 41 55 46 20 44 45 53 | ;PTR.AUF DES|
000005E0: 43 52 2E 56 2E 53 55 43 48 4B 52 49 54 2E 2D 53 |CR.V.SUCHKRIT.-S|
000005F0: 54 52 49 4E 47 00 07 26 58 02 2E 45 51 20 45 4E |TRING..&X..EQ EN|
00000600: 44 45 20 20 20 3D 24 41 39 20 20 20 20 20 20 3B |DE =$A9 ;|
00000610: 50 54 52 2E 41 55 46 20 44 45 53 43 52 2E 56 2E |PTR.AUF DESCR.V.|
00000620: 41 52 52 41 59 53 54 52 49 4E 47 28 4D 49 4E 29 |ARRAYSTRING(MIN)|
00000630: 00 42 26 62 02 2E 45 51 20 53 54 41 52 54 20 20 |.B&b..EQ START |
00000640: 3D 24 41 42 20 20 20 20 20 20 3B 50 54 52 2E 41 |=$AB ;PTR.A|
00000650: 55 46 20 44 45 53 43 52 2E 56 2E 41 52 52 41 59 |UF DESCR.V.ARRAY|
00000660: 53 54 52 49 4E 47 28 4D 41 58 29 00 74 26 6C 02 |STRING(MAX).t&l.|
00000670: 2E 45 51 20 49 4E 54 56 41 52 20 3D 24 34 37 20 |.EQ INTVAR =$47 |
00000680: 20 20 20 20 20 3B 50 54 52 2E 41 55 46 20 49 4E | ;PTR.AUF IN|
00000690: 54 45 47 45 52 56 41 52 49 41 42 4C 45 00 7A 26 |TEGERVARIABLE.z&|
000006A0: 76 02 3B 00 93 26 80 02 3B 2A 53 54 52 49 4E 47 |v.;..&..;*STRING|
000006B0: 44 45 53 52 49 50 54 4F 52 45 4E 2A 00 CA 26 8A |DESRIPTOREN*..&.|
000006C0: 02 2E 45 51 20 53 55 43 48 44 45 53 20 3D 24 42 |..EQ SUCHDES =$B|
000006D0: 34 20 20 20 20 20 3B 44 45 53 43 52 2E 20 44 45 |4 ;DESCR. DE|
000006E0: 53 20 53 55 43 48 4B 52 49 54 2E 2D 53 54 52 49 |S SUCHKRIT.-STRI|
000006F0: 4E 47 53 00 0B 27 94 02 2E 45 51 20 41 4B 54 44 |NGS..'...EQ AKTD|
00000700: 45 53 20 20 3D 24 46 42 20 20 20 20 20 3B 44 45 |ES =$FB ;DE|
00000710: 53 43 52 2E 20 44 45 53 20 41 4B 54 55 45 4C 4C |SCR. DES AKTUELL|
00000720: 45 4E 20 56 45 52 47 4C 45 49 43 48 53 53 54 52 |EN VERGLEICHSSTR|
00000730: 49 4E 47 53 00 11 27 9E 02 3B 00 28 27 A8 02 3B |INGS..'..;.('..;|
00000740: 2A 53 4F 4E 53 54 49 47 45 20 4C 41 42 20 45 4C |*SONSTIGE LAB EL|
00000750: 2A 00 62 27 B2 02 2E 45 51 20 4C 45 4E 46 4C 41 |*.b'...EQ LENFLA|
00000760: 47 20 20 3D 24 30 33 33 34 20 20 3B 24 30 30 3D |G =$0334 ;$00=|
00000770: 56 4F 4C 4C 56 45 52 47 4C 45 49 43 48 3B 24 46 |VOLLVERGLEICH;$F|
00000780: 46 3D 41 42 4B 55 45 52 5A 45 4E 00 8D 27 BC 02 |F=ABKUERZEN..'..|
00000790: 2E 45 51 20 50 52 55 45 46 4C 45 4E 20 3D 24 30 |.EQ PRUEFLEN =$0|
000007A0: 33 33 35 20 20 3B 56 45 52 47 4C 45 49 43 48 53 |335 ;VERGLEICHS|
000007B0: 4C 41 45 4E 47 45 00 CB 27 C6 02 2E 45 51 20 45 |LAENGE..'...EQ E|
000007C0: 4C 45 4D 4E 52 20 20 20 3D 24 30 33 33 36 20 20 |LEMNR =$0336 |
000007D0: 3B 4E 52 2E 44 45 53 20 41 4B 54 55 45 45 4C 4C |;NR.DES AKTUEELL|
000007E0: 45 4E 20 56 45 52 47 4C 45 49 43 48 53 53 54 52 |EN VERGLEICHSSTR|
000007F0: 49 4E 47 53 00 E3 27 D0 02 2E 45 51 20 48 45 4C |INGS..'...EQ HEL|
00000800: 50 20 20 20 20 20 3D 24 30 33 33 38 00 E9 27 DA |P =$0338..'.|
00000810: 02 3B 00 EF 27 E4 02 3B 00 F5 27 EE 02 3B 00 12 |.;..'..;..'..;..|
00000820: 28 F8 02 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |(..;************|
00000830: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 2F 28 02 03 |***********./(..|
00000840: 3B 2A 2A 2A 20 49 4E 49 54 49 41 4C 49 53 49 45 |;*** INITIALISIE|
00000850: 52 55 4E 47 20 2A 2A 2A 00 4C 28 0C 03 3B 2A 2A |RUNG ***.L(..;**|
00000860: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000870: 2A 2A 2A 2A 2A 00 52 28 16 03 3B 00 76 28 20 03 |*****.R(..;.v( .|
00000880: 3B 2A 50 4F 49 4E 54 45 52 20 41 55 46 20 53 55 |;*POINTER AUF SU|
00000890: 43 48 4B 52 49 54 2E 2D 44 45 53 43 52 2E 2A 00 |CHKRIT.-DESCR.*.|
000008A0: 98 28 2A 03 20 4A 53 52 43 48 4B 4B 4F 4D 3B 53 |.(*. JSRCHKKOM;S|
000008B0: 55 43 48 28 2B 31 29 20 3D 20 50 4F 49 4E 54 45 |UCH(+1) = POINTE|
000008C0: 52 00 B8 28 34 03 20 4A 53 52 47 45 54 50 4F 53 |R..(4. JSRGETPOS|
000008D0: 3B 41 55 46 20 44 45 53 43 52 49 50 54 4F 52 45 |;AUF DESCRIPTORE|
000008E0: 4E 00 DA 28 3E 03 20 53 54 41 53 55 43 48 3B 44 |N..(>. STASUCH;D|
000008F0: 45 53 20 53 55 43 48 4B 52 49 54 2E 53 54 52 49 |ES SUCHKRIT.STRI|
00000900: 4E 47 53 00 E9 28 48 03 20 53 54 59 53 55 43 48 |NGS..(H. STYSUCH|
00000910: 2B 31 00 EF 28 52 03 3B 00 F5 28 5C 03 3B 00 13 |+1..(R.;..(\.;..|
00000920: 29 66 03 3B 2A 53 55 43 48 44 45 53 43 52 49 50 |)f.;*SUCHDESCRIP|
00000930: 54 4F 52 45 4E 20 48 4F 4C 45 4E 2A 00 3B 29 70 |TOREN HOLEN*.;)p|
00000940: 03 20 4C 44 59 23 24 30 32 3B 53 55 43 48 44 45 |. LDY#$02;SUCHDE|
00000950: 53 28 2B 32 29 20 3D 20 44 45 53 43 52 49 50 54 |S(+2) = DESCRIPT|
00000960: 4F 52 45 4E 00 68 29 7A 03 47 45 54 53 55 43 48 |OREN.h)z.GETSUCH|
00000970: 20 4C 44 41 28 53 55 43 48 29 2C 59 3B 44 45 53 | LDA(SUCH),Y;DES|
00000980: 20 53 55 43 48 4B 52 49 54 2E 53 54 52 49 4E 47 | SUCHKRIT.STRING|
00000990: 53 00 7A 29 84 03 20 53 54 41 53 55 43 48 44 45 |S.z).. STASUCHDE|
000009A0: 53 2C 59 00 83 29 8E 03 20 44 45 59 00 93 29 98 |S,Y..).. DEY..).|
000009B0: 03 20 42 50 4C 47 45 54 53 55 43 48 00 99 29 A2 |. BPLGETSUCH..).|
000009C0: 03 3B 00 9F 29 AC 03 3B 00 BA 29 B6 03 3B 2A 45 |.;..)..;..)..;*E|
000009D0: 4C 45 4D 45 4E 54 4E 55 4D 4D 45 52 20 48 4F 4C |LEMENTNUMMER HOL|
000009E0: 45 4E 2A 00 CA 29 C0 03 20 4C 44 41 54 45 58 54 |EN*..).. LDATEXT|
000009F0: 50 54 52 00 D3 29 CA 03 20 50 48 41 00 E5 29 D4 |PTR..).. PHA..).|
00000A00: 03 20 4C 44 41 54 45 58 54 50 54 52 2B 31 00 EE |. LDATEXTPTR+1..|
00000A10: 29 DE 03 20 50 48 41 00 F4 29 E8 03 3B 00 1E 2A |).. PHA..)..;..*|
00000A20: F2 03 56 4F 52 57 41 45 52 54 53 20 4A 53 52 43 |..VORWAERTS JSRC|
00000A30: 48 52 47 45 54 3B 45 4C 45 4D 4E 52 28 2B 31 29 |HRGET;ELEMNR(+1)|
00000A40: 3D 4E 55 4D 4D 45 52 00 40 2A FC 03 20 43 4D 50 |=NUMMER.@*.. CMP|
00000A50: 23 22 28 22 3B 44 45 52 20 41 52 52 41 59 55 4E |#"(";DER ARRAYUN|
00000A60: 54 45 52 47 52 45 4E 5A 45 00 52 2A 06 04 20 42 |TERGRENZE.R*.. B|
00000A70: 4E 45 56 4F 52 57 41 45 52 54 53 00 58 2A 10 04 |NEVORWAERTS.X*..|
00000A80: 3B 00 67 2A 1A 04 20 4A 53 52 46 52 4D 4E 55 4D |;.g*.. JSRFRMNUM|
00000A90: 00 76 2A 24 04 20 4A 53 52 41 44 52 46 4F 52 00 |.v*$. JSRADRFOR.|
00000AA0: 85 2A 2E 04 20 53 54 59 45 4C 45 4D 4E 52 00 96 |.*.. STYELEMNR..|
00000AB0: 2A 38 04 20 53 54 41 45 4C 45 4D 4E 52 2B 31 00 |*8. STAELEMNR+1.|
00000AC0: 9C 2A 42 04 3B 00 A5 2A 4C 04 20 50 4C 41 00 B7 |.*B.;..*L. PLA..|
00000AD0: 2A 56 04 20 53 54 41 54 45 58 54 50 54 52 2B 31 |*V. STATEXTPTR+1|
00000AE0: 00 C0 2A 60 04 20 50 4C 41 00 D0 2A 6A 04 20 53 |..*`. PLA..*j. S|
00000AF0: 54 41 54 45 58 54 50 54 52 00 D6 2A 74 04 3B 00 |TATEXTPTR..*t.;.|
00000B00: DC 2A 7E 04 3B 00 02 2B 88 04 3B 2A 50 4F 49 4E |.*~.;..+..;*POIN|
00000B10: 54 45 52 20 41 55 46 20 53 54 52 49 4E 47 44 45 |TER AUF STRINGDE|
00000B20: 53 43 52 2E 20 48 4F 4C 45 4E 2A 00 11 2B 92 04 |SCR. HOLEN*..+..|
00000B30: 20 4A 53 52 43 48 4B 4B 4F 4D 00 36 2B 9C 04 20 | JSRCHKKOM.6+.. |
00000B40: 4A 53 52 47 45 54 50 4F 53 3B 53 54 41 52 54 28 |JSRGETPOS;START(|
00000B50: 2B 31 29 3D 50 4F 49 4E 54 45 52 20 41 55 46 00 |+1)=POINTER AUF.|
00000B60: 55 2B A6 04 20 53 54 41 53 54 41 52 54 3B 44 45 |U+.. STASTART;DE|
00000B70: 53 43 52 49 50 54 4F 52 45 4E 20 56 4F 4E 00 76 |SCRIPTOREN VON.v|
00000B80: 2B B0 04 20 53 54 59 53 54 41 52 54 2B 31 3B 41 |+.. STYSTART+1;A|
00000B90: 52 52 41 59 53 54 52 49 4E 47 28 4D 49 4E 29 00 |RRAYSTRING(MIN).|
00000BA0: 7C 2B BA 04 3B 00 A0 2B C4 04 20 4A 53 52 43 48 ||+..;..+.. JSRCH|
00000BB0: 4B 4B 4F 4D 3B 45 4E 44 45 28 2B 31 29 3D 50 4F |KKOM;ENDE(+1)=PO|
00000BC0: 49 4E 54 45 52 20 41 55 46 00 C0 2B CE 04 20 4A |INTER AUF..+.. J|
00000BD0: 53 52 47 45 54 50 4F 53 3B 44 45 53 43 52 49 50 |SRGETPOS;DESCRIP|
00000BE0: 54 4F 52 45 4E 20 56 4F 4E 00 DE 2B D8 04 20 53 |TOREN VON..+.. S|
00000BF0: 54 41 45 4E 44 45 3B 41 52 52 41 59 53 54 52 49 |TAENDE;ARRAYSTRI|
00000C00: 4E 47 28 4D 41 58 29 00 ED 2B E2 04 20 53 54 59 |NG(MAX)..+.. STY|
00000C10: 45 4E 44 45 2B 31 00 F3 2B EC 04 3B 00 F9 2B F6 |ENDE+1..+..;..+.|
00000C20: 04 3B 00 FF 2B 00 05 3B 00 1A 2C 0A 05 3B 2A 2A |.;..+..;..,..;**|
00000C30: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000C40: 2A 2A 2A 00 35 2C 14 05 3B 2A 2A 2A 20 48 41 55 |***.5,..;*** HAU|
00000C50: 50 54 50 52 4F 47 52 41 4D 4D 20 2A 2A 2A 00 50 |PTPROGRAMM ***.P|
00000C60: 2C 1E 05 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |,..;************|
00000C70: 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 56 2C 28 05 3B 00 |*********.V,(.;.|
00000C80: 78 2C 32 05 3B 2A 56 45 52 47 4C 45 49 43 48 53 |x,2.;*VERGLEICHS|
00000C90: 4C 41 45 4E 47 45 20 45 52 4D 49 54 54 45 4C 4E |LAENGE ERMITTELN|
00000CA0: 2A 00 A2 2C 3C 05 20 4C 44 41 23 24 30 30 3B 4C |*..,<. LDA#$00;L|
00000CB0: 45 4E 46 4C 41 47 3A 20 24 30 30 3D 4B 45 49 4E |ENFLAG: $00=KEIN|
00000CC0: 20 41 42 4B 55 45 52 5A 45 4E 2C 00 C0 2C 46 05 | ABKUERZEN,..,F.|
00000CD0: 20 53 54 41 4C 45 4E 46 4C 41 47 3B 24 46 46 3D | STALENFLAG;$FF=|
00000CE0: 41 42 4B 55 45 52 5A 45 4E 00 E8 2C 50 05 20 4C |ABKUERZEN..,P. L|
00000CF0: 44 59 53 55 43 48 44 45 53 3B 50 52 55 45 46 4C |DYSUCHDES;PRUEFL|
00000D00: 45 4E 3A 20 45 4E 54 48 41 45 4C 54 20 42 45 49 |EN: ENTHAELT BEI|
00000D10: 4D 00 07 2D 5A 05 20 53 54 59 50 52 55 45 46 4C |M..-Z. STYPRUEFL|
00000D20: 45 4E 3B 41 42 4B 55 45 52 5A 45 4E 20 44 49 45 |EN;ABKUERZEN DIE|
00000D30: 00 1F 2D 64 05 20 44 45 59 3B 53 54 52 49 4E 47 |..-d. DEY;STRING|
00000D40: 4C 41 45 4E 47 45 2D 31 00 45 2D 6E 05 20 4C 44 |LAENGE-1.E-n. LD|
00000D50: 41 28 53 55 43 48 44 45 53 2B 31 29 2C 59 3B 28 |A(SUCHDES+1),Y;(|
00000D60: 4F 48 4E 45 22 2A 22 29 2C 53 4F 4E 53 54 00 69 |OHNE"*"),SONST.i|
00000D70: 2D 78 05 20 43 4D 50 23 22 2A 22 3B 44 49 45 20 |-x. CMP#"*";DIE |
00000D80: 45 43 48 54 45 20 53 54 52 49 4E 47 4C 41 45 4E |ECHTE STRINGLAEN|
00000D90: 47 45 00 8B 2D 82 05 20 42 4E 45 47 45 54 44 45 |GE..-.. BNEGETDE|
00000DA0: 53 3B 56 45 52 47 4C 45 49 43 48 20 50 4F 53 49 |S;VERGLEICH POSI|
00000DB0: 54 49 56 2C 00 AD 2D 8C 05 20 44 45 43 4C 45 4E |TIV,..-.. DECLEN|
00000DC0: 46 4C 41 47 3B 57 45 4E 4E 20 22 2A 22 20 45 49 |FLAG;WENN "*" EI|
00000DD0: 4E 5A 49 47 45 53 00 CA 2D 96 05 20 44 45 43 50 |NZIGES..-.. DECP|
00000DE0: 52 55 45 46 4C 45 4E 3B 5A 45 49 43 48 45 4E 20 |RUEFLEN;ZEICHEN |
00000DF0: 49 53 54 00 D0 2D A0 05 3B 00 D6 2D AA 05 3B 00 |IST..-..;..-..;.|
00000E00: FA 2D B4 05 3B 2A 41 4B 54 55 45 4C 4C 45 4E 20 |.-..;*AKTUELLEN |
00000E10: 53 54 52 49 4E 47 44 45 53 43 52 2E 20 48 4F 4C |STRINGDESCR. HOL|
00000E20: 45 4E 2A 00 25 2E BE 05 47 45 54 44 45 53 20 4C |EN*.%...GETDES L|
00000E30: 44 59 23 24 30 32 3B 41 4B 54 44 45 53 28 2B 32 |DY#$02;AKTDES(+2|
00000E40: 29 3D 44 45 53 43 52 49 50 54 4F 52 45 4E 00 53 |)=DESCRIPTOREN.S|
00000E50: 2E C8 05 47 45 54 44 45 53 31 20 4C 44 41 28 53 |...GETDES1 LDA(S|
00000E60: 54 41 52 54 29 2C 59 3B 56 4F 4E 20 41 52 52 41 |TART),Y;VON ARRA|
00000E70: 59 53 54 52 49 4E 47 28 4D 49 4E 29 00 64 2E D2 |YSTRING(MIN).d..|
00000E80: 05 20 53 54 41 41 4B 54 44 45 53 2C 59 00 6D 2E |. STAAKTDES,Y.m.|
00000E90: DC 05 20 44 45 59 00 7D 2E E6 05 20 42 50 4C 47 |.. DEY.}... BPLG|
00000EA0: 45 54 44 45 53 31 00 83 2E F0 05 3B 00 89 2E FA |ETDES1.....;....|
00000EB0: 05 3B 00 A7 2E 04 06 3B 2A 53 4F 4E 44 45 52 46 |.;.....;*SONDERF|
00000EC0: 41 45 4C 4C 45 20 42 45 48 41 4E 44 45 4C 4E 2A |AELLE BEHANDELN*|
00000ED0: 00 B8 2E 0E 06 20 4C 44 41 50 52 55 45 46 4C 45 |..... LDAPRUEFLE|
00000EE0: 4E 00 DD 2E 18 06 20 42 45 51 50 4F 53 49 54 49 |N..... BEQPOSITI|
00000EF0: 56 3B 31 29 56 45 52 47 4C 45 49 43 48 20 50 4F |V;1)VERGLEICH PO|
00000F00: 53 49 54 49 56 2C 00 0E 2F 22 06 3B 20 20 20 20 |SITIV,../".; |
00000F10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000F20: 20 20 20 20 20 57 45 4E 4E 20 50 52 55 45 46 4C | WENN PRUEFL|
00000F30: 41 45 4E 47 45 3D 30 00 1D 2F 2C 06 20 43 4D 50 |AENGE=0../,. CMP|
00000F40: 41 4B 54 44 45 53 00 3B 2F 36 06 20 50 48 50 3B |AKTDES.;/6. PHP;|
00000F50: 32 29 56 45 52 47 4C 45 49 43 48 20 4E 45 47 41 |2)VERGLEICH NEGA|
00000F60: 54 49 56 2C 00 5E 2F 40 06 20 4C 44 41 4C 45 4E |TIV,.^/@. LDALEN|
00000F70: 46 4C 41 47 3B 57 45 4E 4E 20 22 2A 22 20 45 4E |FLAG;WENN "*" EN|
00000F80: 54 48 41 4C 54 45 4E 00 82 2F 4A 06 20 42 45 51 |THALTEN../J. BEQ|
00000F90: 4E 4F 53 54 45 52 4E 3B 55 4E 44 20 56 45 52 4C |NOSTERN;UND VERL|
00000FA0: 45 49 43 48 53 53 54 52 49 4E 47 00 9D 2F 54 06 |EICHSSTRING../T.|
00000FB0: 20 50 4C 50 3B 4E 49 43 48 54 20 4C 41 45 4E 47 | PLP;NICHT LAENG|
00000FC0: 45 52 20 41 4C 53 00 D0 2F 5E 06 3B 20 20 20 20 |ER ALS../^.; |
00000FD0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000FE0: 20 20 20 20 20 53 55 43 48 4B 52 49 54 45 52 49 | SUCHKRITERI|
00000FF0: 55 4D 53 53 54 52 49 4E 47 00 F3 2F 68 06 20 42 |UMSSTRING../h. B|
00001000: 43 53 4E 45 58 54 53 54 52 3B 55 2E 41 4B 54 55 |CSNEXTSTR;U.AKTU|
00001010: 45 4C 4C 45 4D 20 53 54 52 49 4E 47 00 03 30 72 |ELLEM STRING..0r|
00001020: 06 20 42 43 43 50 52 55 45 46 45 4E 00 36 30 7C |. BCCPRUEFEN.60||
00001030: 06 3B 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.; |
00001040: 20 20 20 20 20 20 20 20 20 20 20 33 29 56 45 52 | 3)VER|
00001050: 47 4C 45 49 43 48 20 4E 45 47 41 54 49 56 2C 00 |GLEICH NEGATIV,.|
00001060: 5E 30 86 06 4E 4F 53 54 45 52 4E 20 50 4C 50 3B |^0..NOSTERN PLP;|
00001070: 57 45 4E 4E 20 4B 45 49 4E 20 22 2A 22 20 45 4E |WENN KEIN "*" EN|
00001080: 54 48 41 4C 54 45 4E 00 80 30 90 06 20 42 4E 45 |THALTEN..0.. BNE|
00001090: 4E 45 58 54 53 54 52 3B 55 4E 44 20 53 54 52 49 |NEXTSTR;UND STRI|
000010A0: 4E 47 4C 41 45 4E 47 45 4E 00 AE 30 9A 06 3B 20 |NGLAENGEN..0..; |
000010B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000010C0: 20 20 20 20 20 20 20 20 55 4E 54 45 52 53 43 48 | UNTERSCH|
000010D0: 49 45 44 4C 49 43 48 00 B4 30 A4 06 3B 00 CB 30 |IEDLICH..0..;..0|
000010E0: AE 06 3B 2A 53 54 52 49 4E 47 56 45 52 47 4C 45 |..;*STRINGVERGLE|
000010F0: 49 43 48 2A 00 ED 30 B8 06 50 52 55 45 46 45 4E |ICH*..0..PRUEFEN|
00001100: 20 4C 44 59 23 24 30 30 3B 5A 45 49 43 48 45 4E | LDY#$00;ZEICHEN|
00001110: 57 45 49 53 45 52 00 1E 31 C2 06 50 52 55 45 46 |WEISER..1..PRUEF|
00001120: 4C 4F 4F 50 20 4C 44 41 28 53 55 43 48 44 45 53 |LOOP LDA(SUCHDES|
00001130: 2B 31 29 2C 59 3B 56 45 52 47 4C 45 49 43 48 20 |+1),Y;VERGLEICH |
00001140: 42 49 53 20 5A 55 52 00 37 31 CC 06 20 43 4D 50 |BIS ZUR.71.. CMP|
00001150: 23 22 3F 22 3B 50 52 55 45 46 4C 41 45 4E 47 45 |#"?";PRUEFLAENGE|
00001160: 00 5D 31 D6 06 20 42 45 51 4E 45 58 54 43 48 41 |.]1.. BEQNEXTCHA|
00001170: 52 3B 28 22 3F 22 20 49 53 54 20 49 4D 4D 45 52 |R;("?" IST IMMER|
00001180: 20 4F 4B 41 59 29 00 7C 31 E0 06 20 43 4D 50 28 | OKAY).|1.. CMP(|
00001190: 41 4B 54 44 45 53 2B 31 29 2C 59 3B 56 45 52 47 |AKTDES+1),Y;VERG|
000011A0: 4C 2E 49 53 54 00 9A 31 EA 06 20 42 4E 45 4E 45 |L.IST..1.. BNENE|
000011B0: 58 54 53 54 52 3B 4E 45 47 41 54 49 56 2C 20 57 |XTSTR;NEGATIV, W|
000011C0: 45 4E 4E 00 BD 31 F4 06 4E 45 58 54 43 48 41 52 |ENN..1..NEXTCHAR|
000011D0: 20 49 4E 59 3B 45 49 4E 20 5A 45 49 43 48 45 4E | INY;EIN ZEICHEN|
000011E0: 20 4E 49 43 48 54 00 DD 31 FE 06 20 43 50 59 50 | NICHT..1.. CPYP|
000011F0: 52 55 45 46 4C 45 4E 3B 55 45 42 45 52 45 49 4E |RUEFLEN;UEBEREIN|
00001200: 53 54 49 4D 4D 54 00 EF 31 08 07 20 42 43 43 50 |STIMMT..1.. BCCP|
00001210: 52 55 45 46 4C 4F 4F 50 00 08 32 12 07 50 4F 53 |RUEFLOOP..2..POS|
00001220: 42 52 41 4E 43 48 20 42 45 51 50 4F 53 49 54 49 |BRANCH BEQPOSITI|
00001230: 56 00 0E 32 1C 07 3B 00 14 32 26 07 3B 00 38 32 |V..2..;..2&.;.82|
00001240: 30 07 3B 2A 50 4F 49 4E 54 45 52 20 41 55 46 20 |0.;*POINTER AUF |
00001250: 4E 45 58 54 53 54 52 49 4E 47 44 45 53 43 52 2E |NEXTSTRINGDESCR.|
00001260: 2A 00 4D 32 3A 07 4E 45 58 54 53 54 52 20 4C 44 |*.M2:.NEXTSTR LD|
00001270: 41 53 54 41 52 54 00 62 32 44 07 20 43 4C 43 3B |ASTART.b2D. CLC;|
00001280: 50 4F 49 4E 54 45 52 20 41 55 46 00 80 32 4E 07 |POINTER AUF..2N.|
00001290: 20 41 44 43 23 24 30 33 3B 4E 41 45 43 48 53 54 | ADC#$03;NAECHST|
000012A0: 45 4E 20 53 54 52 49 4E 47 00 A1 32 58 07 20 53 |EN STRING..2X. S|
000012B0: 54 41 53 54 41 52 54 3B 53 45 54 5A 45 4E 20 28 |TASTART;SETZEN (|
000012C0: 3D 41 4B 54 55 45 4C 4C 45 52 00 BB 32 62 07 20 |=AKTUELLER..2b. |
000012D0: 42 43 43 49 4E 43 4E 52 3B 50 4F 49 4E 54 45 52 |BCCINCNR;POINTER|
000012E0: 20 2B 33 29 00 CB 32 6C 07 20 49 4E 43 53 54 41 | +3)..2l. INCSTA|
000012F0: 52 54 2B 31 00 D1 32 76 07 3B 00 D7 32 80 07 3B |RT+1..2v.;..2..;|
00001300: 00 F7 32 8A 07 3B 2A 45 4C 45 4D 45 4E 54 4E 52 |..2..;*ELEMENTNR|
00001310: 2E 49 4E 4B 52 45 4D 45 4E 54 49 45 52 45 4E 2A |.INKREMENTIEREN*|
00001320: 00 0B 33 94 07 49 4E 43 4E 52 20 49 4E 43 45 4C |..3..INCNR INCEL|
00001330: 45 4D 4E 52 00 29 33 9E 07 20 42 4E 45 43 4F 4D |EMNR.)3.. BNECOM|
00001340: 50 50 54 52 3B 45 4C 45 4D 45 4E 54 4E 52 2C 20 |PPTR;ELEMENTNR, |
00001350: 55 4D 00 48 33 A8 07 20 49 4E 43 45 4C 45 4D 4E |UM.H3.. INCELEMN|
00001360: 52 2B 31 3B 45 49 4E 53 20 45 52 48 4F 45 48 45 |R+1;EINS ERHOEHE|
00001370: 4E 00 4E 33 B2 07 3B 00 54 33 BC 07 3B 00 78 33 |N.N3..;.T3..;.x3|
00001380: C6 07 3B 2A 50 4F 49 4E 54 45 52 20 4D 49 54 20 |..;*POINTER MIT |
00001390: 45 4E 44 45 20 56 45 52 47 4C 45 49 43 48 45 4E |ENDE VERGLEICHEN|
000013A0: 2A 00 8F 33 D0 07 43 4F 4D 50 50 54 52 20 4C 44 |*..3..COMPPTR LD|
000013B0: 41 53 54 41 52 54 2B 31 00 B1 33 DA 07 20 43 4D |ASTART+1..3.. CM|
000013C0: 50 45 4E 44 45 2B 31 3B 53 55 43 48 45 20 49 53 |PENDE+1;SUCHE IS|
000013D0: 54 20 42 45 45 4E 44 45 54 2C 00 D0 33 E4 07 20 |T BEENDET,..3.. |
000013E0: 42 43 43 47 45 54 44 45 53 3B 57 45 4E 4E 20 28 |BCCGETDES;WENN (|
000013F0: 53 54 41 52 54 28 2B 31 29 00 EB 33 EE 07 20 4C |START(+1)..3.. L|
00001400: 44 41 53 54 41 52 54 3B 47 52 4F 45 53 53 45 52 |DASTART;GROESSER|
00001410: 20 49 53 54 00 05 34 F8 07 20 43 4D 50 45 4E 44 | IST..4.. CMPEND|
00001420: 45 3B 41 4C 53 20 45 4E 44 45 28 2B 31 29 00 14 |E;ALS ENDE(+1)..|
00001430: 34 02 08 20 42 43 43 47 45 54 44 45 53 00 23 34 |4.. BCCGETDES.#4|
00001440: 0C 08 20 42 45 51 47 45 54 44 45 53 00 29 34 16 |.. BEQGETDES.)4.|
00001450: 08 3B 00 2F 34 20 08 3B 00 49 34 2A 08 3B 2A 56 |.;./4 .;.I4*.;*V|
00001460: 45 52 47 4C 45 49 43 48 20 4E 45 47 41 54 54 49 |ERGLEICH NEGATTI|
00001470: 56 2A 00 5D 34 34 08 4E 45 47 41 54 49 56 20 4C |V*.]44.NEGATIV L|
00001480: 44 41 23 24 30 30 00 79 34 3E 08 20 53 54 41 45 |DA#$00.y4>. STAE|
00001490: 4C 45 4D 4E 52 3B 45 4C 45 4D 45 4E 54 4E 52 2E |LEMNR;ELEMENTNR.|
000014A0: 3D 30 00 8A 34 48 08 20 53 54 41 45 4C 45 4D 4E |=0..4H. STAELEMN|
000014B0: 52 2B 31 00 90 34 52 08 3B 00 96 34 5C 08 3B 00 |R+1..4R.;..4\.;.|
000014C0: AF 34 66 08 3B 2A 56 45 52 47 4C 45 49 43 48 20 |.4f.;*VERGLEICH |
000014D0: 50 4F 53 49 54 49 56 2A 00 DD 34 70 08 50 4F 53 |POSITIV*..4p.POS|
000014E0: 49 54 49 56 20 4A 53 52 43 48 4B 4B 4F 4D 3B 50 |ITIV JSRCHKKOM;P|
000014F0: 4F 49 4E 54 45 52 20 41 55 46 20 49 4E 54 45 47 |OINTER AUF INTEG|
00001500: 45 52 56 41 52 2E 00 02 35 7A 08 20 4A 53 52 47 |ERVAR...5z. JSRG|
00001510: 45 54 50 4F 53 3B 4E 41 43 48 20 49 4E 54 56 41 |ETPOS;NACH INTVA|
00001520: 52 28 2B 31 29 20 48 4F 4C 45 4E 00 08 35 84 08 |R(+1) HOLEN..5..|
00001530: 3B 00 27 35 8E 08 20 4C 44 58 45 4C 45 4D 4E 52 |;.'5.. LDXELEMNR|
00001540: 3B 45 4C 45 4D 45 4E 54 4E 52 2E 4C 41 44 45 4E |;ELEMENTNR.LADEN|
00001550: 00 38 35 98 08 20 4C 44 41 45 4C 45 4D 4E 52 2B |.85.. LDAELEMNR+|
00001560: 31 00 3E 35 A2 08 3B 00 44 35 AC 08 3B 00 5F 35 |1.>5..;.D5..;._5|
00001570: B6 08 3B 2A 45 52 47 45 42 4E 49 53 20 55 45 42 |..;*ERGEBNIS UEB|
00001580: 45 52 47 45 42 45 4E 2A 00 70 35 C0 08 42 41 43 |ERGEBEN*.p5..BAC|
00001590: 4B 20 4C 44 59 23 24 30 30 00 8E 35 CA 08 20 53 |K LDY#$00..5.. S|
000015A0: 54 41 28 49 4E 54 56 41 52 29 2C 59 3B 45 4C 45 |TA(INTVAR),Y;ELE|
000015B0: 4D 45 4E 54 4E 52 2E 00 A7 35 D4 08 20 49 4E 59 |MENTNR...5.. INY|
000015C0: 3B 49 4E 20 44 49 45 20 49 4E 54 45 47 45 52 2D |;IN DIE INTEGER-|
000015D0: 00 B9 35 DE 08 20 54 58 41 3B 56 41 52 49 41 42 |..5.. TXA;VARIAB|
000015E0: 4C 45 00 D5 35 E8 08 20 53 54 41 28 49 4E 54 56 |LE..5.. STA(INTV|
000015F0: 41 52 29 2C 59 3B 4B 4F 50 49 45 52 45 4E 00 E7 |AR),Y;KOPIEREN..|
00001600: 35 F2 08 20 52 54 53 3B 3D 3E 20 42 41 53 49 43 |5.. RTS;=> BASIC|
00001610: 00 00 00 |... |
X...D.;*************************.. N.;*
SUCHROUTINE *.5 X.;* (C) SAID
BALOUI, 1987 *.T ..;********************
*****.Z ..;.` ..;.F .;.. ..;FUNKTION: S
UCHT IN EINEM STRING-.. ..;ARRAY DIE ANG
EG.ZEICHENKETTE.. ..;.V H.;AUFRUF: SYS X
,SUCHKRITERIUM,.. R.; SUCHE AB,SU
CHE BIS,..!..; UEBERGABEVAR.(INTE
GER).!!..;.E!..;SUCHKRIT.: -ABKUERZEN ("
MAI*").K!..; -MASKIEREN ("M?A?
ER")..!..; -KOMBINIEREN ("M?I*
")..!..;SUCHE AB/BIS: UNTERE/OBERE GREN-
..!..; ZE DES ZU DURCHSU-..
"".; SUCHENDEN ARRAYS.$",.;
(A$(10),A$(32)).J"6.;UEBER
G.VAR.: INTEGERVAR., IN DER.W"@.;
DER INDEX EINES GEFUNDENEN.."J.;
STRINGS UEBERGEBEN WIRD.G"T.;
(0=SUCHE ERFOLGLOS).M"^.;..
"H.;BSP.: SYS X,S$,A$(0),A$(100),P%..#R.
; DURCHSUCHT A$(0)-A$(100).<#|.;
NACH S$ U.UEBERGIBT RESULT.M#..;
IN P%.S#..;.Y#..;._#..;.R#..;**********
***..#..;*** LABEL ***..#B.;************
*..#L.; ;PROGRAMMSTAR
T.N#V..BA $C0C0.T#..;..#...EQ CHKKOM =$
AEFD ;LIEST KOMMA.&$...EQ GETBYT =$B7
9E ;LIEST 1-BYTE-WERT.Z$...EQ GETPOS
=$B08B ;HOLT POINTER AUF VARIABLE..$..
.EQ FRMNUM =$AD8A ;LIEST NU.AUSDRUCK
IN FAC EIN.D$...EQ ADRFOR =$B7F7 ;WAN
DELT FAC NACH INTEGER..%...EQ CHRGET =$
73 ;INKREM.TEXTPTR U.HOLT AKTUELLES
ZEICHEN.7%&..EQ CHRGOT =$79 ;HOLT A
KTUELLES ZEICHEN.H%0..EQ TEXTPTR =$7A
;POINTER AUF BASIC-TEXT.N%:.;..%D.;*PO
INTER AUF STRINGDESCRIPT.*.L%N..EQ SUCH
=$A7 ;PTR.AUF DESCR.V.SUCHKRIT.-S
TRING..&X..EQ ENDE =$A9 ;PTR.AUF
DESCR.V.ARRAYSTRING(MIN).B&B..EQ START
=$AB ;PTR.AUF DESCR.V.ARRAYSTRING(M
AX).T&L..EQ INTVAR =$47 ;PTR.AUF IN
TEGERVARIABLE.Z&V.;..&..;*STRINGDESRIPTO
REN*.J&...EQ SUCHDES =$B4 ;DESCR. DE
S SUCHKRIT.-STRINGS..'...EQ AKTDES =$FB
;DESCR. DES AKTUELLEN VERGLEICHSSTR
INGS..'..;.('..;*SONSTIGE LAB EL*.B'...E
Q LENFLAG =$0334 ;$00=VOLLVERGLEICH;$F
F=ABKUERZEN..'...EQ PRUEFLEN =$0335 ;VE
RGLEICHSLAENGE.K'F..EQ ELEMNR =$0336
;NR.DES AKTUEELLEN VERGLEICHSSTRINGS..'P
..EQ HELP =$0338..'Z.;..'..;..'..;..
(..;***********************./(..;*** INI
TIALISIERUNG ***.L(..;******************
*****.R(..;.V( .;*POINTER AUF SUCHKRIT.-
DESCR.*..(*. JSRCHKKOM;SUCH(+1) = POINTE
R..(4. JSRGETPOS;AUF DESCRIPTOREN.Z(>. S
TASUCH;DES SUCHKRIT.STRINGS..(H. STYSUCH
+1..(R.;..(\.;..)F.;*SUCHDESCRIPTOREN HO
LEN*.;)P. LDY#$02;SUCHDES(+2) = DESCRIPT
OREN.H)Z.GETSUCH LDA(SUCH),Y;DES SUCHKRI
T.STRINGS.Z).. STASUCHDES,Y..).. DEY..).
. BPLGETSUCH..)..;..)..;..)..;*ELEMENTNU
MMER HOLEN*.J).. LDATEXTPTR.S)J. PHA..)T
. LDATEXTPTR+1..).. PHA..)..;..*..VORWAE
RTS JSRCHRGET;ELEMNR(+1)=NUMMER.@*.. CMP
#"(";DER ARRAYUNTERGRENZE.R*.. BNEVORWAE
RTS.X*..;.G*.. JSRFRMNUM.V*$. JSRADRFOR.
.*.. STYELEMNR..*8. STAELEMNR+1..*B.;..*
L. PLA..*V. STATEXTPTR+1..*`. PLA.P*J. S
TATEXTPTR.V*T.;..*~.;..+..;*POINTER AUF
STRINGDESCR. HOLEN*..+.. JSRCHKKOM.6+..
JSRGETPOS;START(+1)=POINTER AUF.U+.. STA
START;DESCRIPTOREN VON.V+.. STYSTART+1;A
RRAYSTRING(MIN).|+..;. +D. JSRCHKKOM;END
E(+1)=POINTER AUF..+N. JSRGETPOS;DESCRIP
TOREN VON..+X. STAENDE;ARRAYSTRING(MAX).
.+.. STYENDE+1..+..;..+..;..+..;..,..;**
*******************.5,..;*** HAUPTPROGRA
MM ***.P,..;*********************.V,(.;.
X,2.;*VERGLEICHSLAENGE ERMITTELN*..,<. L
DA#$00;LENFLAG: $00=KEIN ABKUERZEN,..,F.
STALENFLAG;$FF=ABKUERZEN..,P. LDYSUCHDE
S;PRUEFLEN: ENTHAELT BEIM..-Z. STYPRUEFL
EN;ABKUERZEN DIE..-D. DEY;STRINGLAENGE-1
.E-N. LDA(SUCHDES+1),Y;(OHNE"*"),SONST.I
-X. CMP#"*";DIE ECHTE STRINGLAENGE..-..
BNEGETDES;VERGLEICH POSITIV,..-.. DECLEN
FLAG;WENN "*" EINZIGES.J-.. DECPRUEFLEN;
ZEICHEN IST.P- .;.V-..;..-..;*AKTUELLEN
STRINGDESCR. HOLEN*.%...GETDES LDY#$02;A
KTDES(+2)=DESCRIPTOREN.S.H.GETDES1 LDA(S
TART),Y;VON ARRAYSTRING(MIN).D.R. STAAKT
DES,Y.M... DEY.}... BPLGETDES1.....;....
.;.....;*SONDERFAELLE BEHANDELN*..... LD
APRUEFLEN..... BEQPOSITIV;1)VERGLEICH PO
SITIV,../".; WEN
N PRUEFLAENGE=0../,. CMPAKTDES.;/6. PHP;
2)VERGLEICH NEGATIV,.^/@. LDALENFLAG;WEN
N "*" ENTHALTEN../J. BEQNOSTERN;UND VERL
EICHSSTRING../T. PLP;NICHT LAENGER ALS.P
/^.; SUCHKRITERI
UMSSTRING../H. BCSNEXTSTR;U.AKTUELLEM ST
RING..0R. BCCPRUEFEN.60|.;
3)VERGLEICH NEGATIV,.^0..NOST
ERN PLP;WENN KEIN "*" ENTHALTEN..0.. BNE
NEXTSTR;UND STRINGLAENGEN..0..;
UNTERSCHIEDLICH..0..;.K0
..;*STRINGVERGLEICH*..0..PRUEFEN LDY#$00
;ZEICHENWEISER..1B.PRUEFLOOP LDA(SUCHDES
+1),Y;VERGLEICH BIS ZUR.71L. CMP#"?";PRU
EFLAENGE.]1V. BEQNEXTCHAR;("?" IST IMMER
OKAY).|1.. CMP(AKTDES+1),Y;VERGL.IST..1
.. BNENEXTSTR;NEGATIV, WENN..1..NEXTCHAR
INY;EIN ZEICHEN NICHT..1.. CPYPRUEFLEN;
UEBEREINSTIMMT..1.. BCCPRUEFLOOP..2..POS
BRANCH BEQPOSITIV..2..;..2&.;.820.;*POIN
TER AUF NEXTSTRINGDESCR.*.M2:.NEXTSTR LD
ASTART.B2D. CLC;POINTER AUF..2N. ADC#$03
;NAECHSTEN STRING..2X. STASTART;SETZEN (
=AKTUELLER..2B. BCCINCNR;POINTER +3).K2L
. INCSTART+1.Q2V.;.W2..;..2..;*ELEMENTNR
.INKREMENTIEREN*..3..INCNR INCELEMNR.)3.
. BNECOMPPTR;ELEMENTNR, UM.H3.. INCELEMN
R+1;EINS ERHOEHEN.N3..;.T3..;.X3F.;*POIN
TER MIT ENDE VERGLEICHEN*..3P.COMPPTR LD
ASTART+1..3Z. CMPENDE+1;SUCHE IST BEENDE
T,.P3.. BCCGETDES;WENN (START(+1)..3.. L
DASTART;GROESSER IST..4.. CMPENDE;ALS EN
DE(+1)..4.. BCCGETDES.#4.. BEQGETDES.)4.
.;./4 .;.I4*.;*VERGLEICH NEGATTIV*.]44.N
EGATIV LDA#$00.Y4>. STAELEMNR;ELEMENTNR.
=0..4H. STAELEMNR+1..4R.;..4\.;..4F.;*VE
RGLEICH POSITIV*..4P.POSITIV JSRCHKKOM;P
OINTER AUF INTEGERVAR...5Z. JSRGETPOS;NA
CH INTVAR(+1) HOLEN..5..;.'5.. LDXELEMNR
;ELEMENTNR.LADEN.85.. LDAELEMNR+1.>5..;.
D5..;._5..;*ERGEBNIS UEBERGEBEN*.P5..BAC
K LDY#$00..5J. STA(INTVAR),Y;ELEMENTNR..
.5T. INY;IN DIE INTEGER-..5.. TXA;VARIAB
LE.U5.. STA(INTVAR),Y;KOPIEREN..5.. RTS;
=> BASIC...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL