Eingabezeile bis zu einem bestimmten Zeichen auswerten ($c268)
Die Anzahl der ',' bis zur Fundstelle werden gezaehlt und Joker registriert.
x sollte vor dem ersten Aufruf auf 0 gesetzt werden.
E: a: Ende-Zeichen
x: Alte Anzahl gefundener Kommas
y: Startposition
A: a: Position des Zeichens + 1 (0 = Zeichen nicht gefunden)
x: Anzahl der gefundenen Kommas
y: (= a)
n: 1: Zeichen nicht gefunden
Einsprung von $808C, $809F, $80B6, $80EA, $8A63, $8AA5, $96F8:
811C: 8D 8F 02 STA $028F Suchzeichen
Einsprung von $8138, $814F:
811F: C4 29 CPY $29 Ende der Befehlszeile erreicht ?
8121: B0 2E BCS $8151 ja, ==>
8123: B1 CD LDA ($CD),Y Zeichen aus der Kommandozeile holen
8125: C8 INY
8126: CD 8F 02 CMP $028F = Suchzeichen ?
8129: F0 28 BEQ $8153 ja
812B: C9 2A CMP #$2A Joker ?
812D: F0 04 BEQ $8133 ja, ==>
812F: C9 3F CMP #$3F
8131: D0 03 BNE $8136 nein, ==>
Einsprung von $812D:
8133: EE A1 02 INC $02A1 Jokerflag setzen
Einsprung von $8131:
8136: C9 2C CMP #$2C
8138: D0 E5 BNE $811F ',' gefunden
813A: 98 TYA ja, Position des naechsten Parameters
813B: 9D 92 02 STA $0292,X merken
813E: AD A1 02 LDA $02A1 War Joker im Parameter ?
8141: 29 7F AND #$7F
8143: F0 07 BEQ $814C
8145: A9 80 LDA #$80 ja, Jokerflag setzen
8147: 95 F4 STA $F4,X
8149: 8D A1 02 STA $02A1 Jokerflag fuer neue Suche loeschen
Einsprung von $8143:
814C: E8 INX b7=1: Es wurden Joker gefunden
814D: E0 04 CPX #$04 wurden zu viele Parameter angegeben ?
814F: 90 CE BCC $811F nein, ==>
Einsprung von $8121:
8151: A0 00 LDY #$00 ja, Ende der Suche
Einsprung von $8129:
8153: A5 29 LDA $29 Zeilenlaenge bzw. Position des gesuchten
8155: 9D 92 02 STA $0292,X Zeichens merken
8158: AD A1 02 LDA $02A1 War im letzten Parameter ein Joker (b7=1) ?
815B: 29 7F AND #$7F
815D: F0 04 BEQ $8163 nein, ==>
815F: A9 80 LDA #$80 Jokerflag setzen
8161: 95 F4 STA $F4,X
Einsprung von $815D:
8163: 98 TYA
8164: 60 RTS
Previous Page / Next Page