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