    Eingabezeile pruefen bei Copy, Rename, New ($c1ee)

    Befehlszeile bis zum ':' auswerten

    Einsprung von $8039:

    80A2: 20 99 80  JSR $8099        ':' in der Kommandozeile suchen
    80A5: D0 05     BNE $80AC        gefunden, ==>

    Einsprung von $80B2:

    80A7: A9 34     LDA #$34         34, Syntax Error
    80A9: 4C 7C 80  JMP $807C        (':' fehlt)

    Einsprung von $80A5, $877F:

    80AC: 88        DEY
    80AD: 88        DEY              Zeiger auf Drivenummer merken
    80AE: 8C 91 02  STY $0291        (falls vorhanden)
    80B1: 8A        TXA              Anzahl der gefundenen Kommas >0 ?
    80B2: D0 F3     BNE $80A7        ja, Fehler: ',' vor ':' ==>
    Befehlszeile zwischen ':' und '=' auswerten

    Einsprung von $9936:

    80B4: A9 3D     LDA #$3D
    80B6: 20 1C 81  JSR $811C        '=' suchen
    80B9: 8A        TXA
    80BA: F0 02     BEQ $80BE        ist ein ',' vor dem '=' ?
    80BC: A9 40     LDA #$40         ja, ', vor =' -Flag setzen

    Einsprung von $80BA:

    80BE: 09 21     ORA #$21         b0-1 = 01: 'Kein =' -Flag setzen
    80C0: 8D A2 02  STA $02A2        Bitmaske merken
    80C3: E8        INX              Anzahl der gefundenen Kommas
    80C4: 8E 2E 02  STX $022E        +1 = Anzahl der Parameter
    80C7: 8E 2F 02  STX $022F        (z.B. 'xxx,p,r')
    80CA: AD A1 02  LDA $02A1        Ist ein Joker vorhanden ?
    80CD: F0 0D     BEQ $80DC        nein, ==>
    80CF: A9 80     LDA #$80         'Joker vor =' -Flag setzen
    80D1: 0D A2 02  ORA $02A2        In Bitmaske eintragen
    80D4: 8D A2 02  STA $02A2
    80D7: A9 00     LDA #$00         Jokerflag loeschen
    80D9: 8D A1 02  STA $02A1

    Einsprung von $80CD:

    80DC: 98        TYA              Wurde ein '=' gefunden ?
    80DD: F0 29     BEQ $8108        Nein, ==>
    80DF: 9D 91 02  STA $0291,X      Position des '=' merken
    80E2: AD 2E 02  LDA $022E        Anzahl Parameter vor dem '=' merken
    80E5: 8D 30 02  STA $0230

    Befehlszeile vom '=' bis zum Zeilenende auswerten

    80E8: A9 8D     LDA #$8D         $8d = <Shift Return>
    80EA: 20 1C 81  JSR $811C        vom '=' bis zum Zeilenende untersuchen
    80ED: E8        INX              Anzahl der Parameter merken
    80EE: 8E 2F 02  STX $022F
    80F1: CA        DEX              = Anzahl ','
    80F2: AD A1 02  LDA $02A1        Joker vorhanden ?
    80F5: F0 02     BEQ $80F9        Nein, ==>
    80F7: A9 08     LDA #$08         'Joker hinter ='-Flag setzen

    Einsprung von $80F5:

    80F9: EC 2E 02  CPX $022E        Anzahl Kommas = Anzahl Kommas vor '=' ?
    80FC: F0 02     BEQ $8100        ja, (keine Kommas gefunden) ==>
    80FE: 09 04     ORA #$04         ', hinter =' -Flag setzen

    Einsprung von $80FC:

    8100: 09 03     ORA #$03         b0-1 = 10: '=' -Flag setzen
    8102: 4D A2 02  EOR $02A2        Evtl. b7-8 setzen
    8105: 8D A2 02  STA $02A2        b0-1 kippen

    Einsprung von $80DD:

    8108: AD A2 02  LDA $02A2        Bitmaske mit Kontrollmaske
    810B: AE 2A 02  LDX $022A        (aktuelle Befehlsnummer)
    810E: 3D 94 DB  AND $DB94,X      bei $db9c verknuepfen
    8111: D0 01     BNE $8114        muss 0 werden, sonst Fehler ==>
    8113: 60        RTS              Format OK.

    Einsprung von $8111:

    8114: 8D AB 02  STA $02AB        Fehlerflag setzen
    8117: A9 30     LDA #$30         30, Syntax Error
    8119: 4C 7C 80  JMP $807C
        Previous Page / Next Page