    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