Kommandozeilenende feststellen (CR (/LF) entfernen) ($c2b3)
(bei u0 Zeilenende nicht veraendern)
Kommandozeilen-Parameter loeschen
Einsprung von $8018, $967C, $A1A1:
8165: A4 CD LDY $CD Laenge der Kommandozeile
8167: F0 36 BEQ $819F = 0 ? ==>
8169: 88 DEY
816A: F0 32 BEQ $819E = 1 ? ==> (kann kein u0 sein)
816C: AD 00 02 LDA $0200 (etwas umstaendliche) Ueberpruefung auf 'u0'
816F: C9 55 CMP #$55
8171: D0 07 BNE $817A (u0)
8173: AD 01 02 LDA $0201
8176: C9 30 CMP #$30
8178: F0 04 BEQ $817E = u0 ? ==>
Einsprung von $8171:
817A: B9 00 02 LDA $0200,Y Zeilenende mit CR vergleichen
817D: 2C B $2C (u0)
Einsprung von $8178:
817E: A9 00 LDA #$00 u0: CR nicht beachten
8180: C9 0D CMP #$0D
8182: F0 1B BEQ $819F
8184: 88 DEY
8185: AD 00 02 LDA $0200 (u0 Abfrage) (wozu ?)
8188: C9 55 CMP #$55
818A: D0 07 BNE $8193
818C: AD 01 02 LDA $0201
818F: C9 30 CMP #$30
8191: F0 04 BEQ $8197 = u0 ? ==>
Einsprung von $818A:
8193: B9 00 02 LDA $0200,Y vorletztes Zeichen mit CR vergleichen
8196: 2C B $2C
Einsprung von $8191:
8197: A9 00 LDA #$00 u0: CR nicht beachten
8199: C9 0D CMP #$0D
819B: F0 02 BEQ $819F
819D: C8 INY <= kein CR vorhanden bzw. u0
Einsprung von $816A:
819E: C8 INY <= CR vorhanden / Laenge=1
Einsprung von $8167, $8182, $819B:
819F: 84 29 STY $29 <= CL,LF vorhanden / Laenge=0
81A1: C0 2A CPY #$2A Zeile zu lang ?
81A3: A0 FF LDY #$FF
81A5: 90 08 BCC $81AF nein, ==>
81A7: 8C 2A 02 STY $022A
81AA: A9 32 LDA #$32 32, SYNTAX ERROR
81AC: 4C 7C 80 JMP $807C
Kommandozeilenparameter initialisieren ($c2dc)
Einsprung von $81A5, $992C:
81AF: A0 00 LDY #$00
81B1: 98 TYA
81B2: 85 CD STA $CD Zeiger auf INPUT-Puffer Lo = 0
81B4: 8D 6F 02 STA $026F Aktuelle Recordlaenge = 0
81B7: 8D 2D 02 STA $022D Aktueller Dateityp = DEL
81BA: 8D 33 02 STA $0233 Dateityp fuer Dateisuche loeschen
81BD: 85 67 STA $67 Zaehler (z.B. fuer Block-Befehle) loeschen
81BF: 8D 30 02 STA $0230 Anzahl Parameter vor '=' bzw. Anzahl der
Dateinamen
81C2: 8D 2E 02 STA $022E Parameterzaehler (vor '=') loeschen
81C5: 8D 2F 02 STA $022F Anzahl Parameter in Kommandozeile loeschen
81C8: 8D A1 02 STA $02A1 Jokerflag loeschen
81CB: 8D AB 02 STA $02AB Fehlerflag loeschen
81CE: A2 05 LDX #$05
Einsprung von $81E2:
81D0: 9D 90 02 STA $0290,X Positionen der Parameter
81D3: 95 E4 STA $E4,X Dir-Block mit dem Dateieintrag
81D5: 95 E9 STA $E9,X Zeiger auf den Eintrag
81D7: 95 EE STA $EE,X Drivenummern
81D9: 95 F3 STA $F3,X Jokerflags loeschen
81DB: 9D 96 02 STA $0296,X T&S der Dateien = 0 bzw.
81DE: 9D 9B 02 STA $029B,X Parameter der Block-Befehle = 0
81E1: CA DEX
81E2: D0 EC BNE $81D0
81E4: 60 RTS
Previous Page / Next Page