Befehlsstring vom Computer auswerten ($c146)
[Wenn die SA 15 angesprochen wird, oder die SA ein OPEN-Kommando enthaelt,
dann werden alle ankommenden Daten in den Kommandopuffer geschrieben und
das Befehlsmodus-Flag ($7b) gesetzt. (s. $8e78)
Am Ende der Befehlsuebertragung wird wieder die Haupt-Leerschleife
aufgerufen. Die erkennt nun, dass ein Kommando anliegt und ruft diese
Routine auf.]
Einsprung von $B0FF:
8004: A9 00 LDA #$00 Flag: 'BAM auf Diskette schreiben' loeschen
8006: 85 35 STA $35
8008: 20 62 A8 JSR $A862 '00, ok,00,00' Meldung bereitstellen
800B: A5 53 LDA $53 Sekundaeradresse vom IEC-Bus
800D: 10 09 BPL $8018 SA oeffnen ? nein, (also Befehlskanal) ==>
800F: 29 0F AND #$0F ja: SA 15 oeffnen ?
8011: C9 0F CMP #$0F
8013: F0 03 BEQ $8018 ja, (Kommando ausfuehren) ==>
8015: 4C 78 96 JMP $9678 Datei-OPEN-Routine ==>
Einsprung von $800D, $8013:
8018: 20 65 81 JSR $8165 Kommandotabellen initialisieren
801B: B1 CD LDA ($CD),Y Zeichen aus INPUT-Puffer holen
801D: 8D 8F 02 STA $028F und merken
8020: A2 0B LDX #$0B Kommando suchen
Einsprung von $802B:
8022: BD 78 DB LDA $DB78,X gueltige Kommandos der Reihe nach holen
8025: CD 8F 02 CMP $028F und mit angegebenem vergleichen
8028: F0 08 BEQ $8032 Kommando gefunden, ==>
802A: CA DEX
802B: 10 F5 BPL $8022 naechstes Kommando pruefen, ==>
Einsprung von $8247, $857B:
802D: A9 31 LDA #$31 gesuchtes Kommando wurde nicht gefunden
802F: 4C 7C 80 JMP $807C 31, Syntax Error
Einsprung von $8028:
8032: 8E 2A 02 STX $022A
8035: E0 09 CPX #$09 Kommando mit Dateiname(n) ?
8037: 90 03 BCC $803C nein, ==>
8039: 20 A2 80 JSR $80A2 Befehlsstring pruefen
Einsprung von $8037:
803C: AE 2A 02 LDX $022A
803F: BD 84 DB LDA $DB84,X Aufruf des Befehls
8042: 85 40 STA $40
8044: BD 90 DB LDA $DB90,X
8047: 85 41 STA $41
8049: 6C 40 00 JMP ($0040)
Previous Page / Next Page