Laenge eines Parameters ermitteln ($c6a6)
Sucht ab der x-ten Position nach ',' oder '='
E: x: Startposition des Parameters
A: $0290: Ende des Parameters in der Befehlszeile
   $026c: Laenge des Parameters (max. 15)

Einsprung von $8351, $84EF, $B853:

8526: A9 00     LDA #$00
8528: 8D 6C 02  STA $026C        Parameterlaenge auf 0 setzen
852B: 8A        TXA              x-Register retten
852C: 48        PHA

Einsprung von $8545:

852D: BD 00 02  LDA $0200,X      ist das Zeichen ein Trennzeichen ?
8530: C9 2C     CMP #$2C
8532: F0 13     BEQ $8547        ja, ==>
8534: C9 3D     CMP #$3D
8536: F0 0F     BEQ $8547        ja, ==>
8538: EE 6C 02  INC $026C        Parameterlaenge + 1
853B: E8        INX              naechstes Zeichen pruefen
853C: A9 0F     LDA #$0F         Parameter schon 15 Bytes lang ?
853E: CD 6C 02  CMP $026C
8541: 90 04     BCC $8547        ja, ==>
8543: E4 29     CPX $29          Kommandozeile zuende ?
8545: 90 E6     BCC $852D        nein, ==>

Einsprung von $8532, $8536, $8541:

8547: 8E 90 02  STX $0290        Ende des Parameters merken
854A: 68        PLA              ($0290 zeigt auf Trennzeichen)
854B: AA        TAX              x-Register zurueckholen
854C: 60        RTS

    Previous Page / Next Page