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 |