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

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 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL