1581: Zeichen hinter '*' vergleichen Einsprung von $8378: 83FA: 86 3B STX $3B Position des '*' merken 83FC: AE 90 02 LDX $0290 Position des Namen-Endes holen 83FF: CA DEX 8400: E4 3B CPX $3B = Position des '*' 8402: F0 1A BEQ $841E ja, ('*' ist letztes Zeichen) ==> 8404: A0 13 LDY #$13 max. Laenge des Dateinamens (+3: T&S, Typ) Einsprung von $840B: 8406: 88 DEY 8407: B1 64 LDA ($64),Y Ende des Dateinamens suchen 8409: C9 A0 CMP #$A0 840B: F0 F9 BEQ $8406 noch nicht gefunden, ==> in x und y stehen nun Endpositionen der zu vergleichenden Namen Einsprung von $841C: 840D: BD 00 02 LDA $0200,X Zeichen gleich ? 8410: D1 64 CMP ($64),Y 8412: F0 04 BEQ $8418 ja, ==> 8414: C9 3F CMP #$3F Joker '?' ? 8416: D0 09 BNE $8421 nein, (Name nicht richtig) ==> Einsprung von $8412: 8418: 88 DEY Zeichen rueckwaerts vergleichen 8419: CA DEX 841A: E4 3B CPX $3B bis zum '*' 841C: D0 EF BNE $840D noch nicht erreicht, ==> Einsprung von $8402: 841E: 4C 85 83 JMP $8385 Name Ok. ==> Einsprung von $8416: 8421: 4C 36 83 JMP $8336 Name nicht richtig, ==> Previous Page / Next Page |