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 |