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