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 |