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