Interrupt
Aus C64-Wiki
Zur Navigation springenZur Suche springenAls Interrupt wird eine Unterbrechungsanforderung bezeichnet, die die aktuelle Arbeit des Prozessors unterbricht und so den Prozessor veranlasst andere Prozesse zu verarbeiten, wobei danach üblicherweise wieder an der Stelle der Unterbrechung (ähnlich wie bei einem Unterprogrammaufruf) fortgefahren wird. Beim C64 geschieht dies 60 mal innerhalb einer Sekunde, um die Tastatur abzufragen und die Systemuhr weiterzustellen, aber auch um das Cursorblinken darzustellen. Dadurch kann
- über die Systemvariablen TIME und TIME$ die aktuelle Systemzeit ermittelt,
- mit der Taste RUN/STOP ein laufendes BASIC-Programm unterbrochen bzw.
- mit der Taste CTRL das Listen verlangsamt
werden. Die Auslösung eines Interrupts kann per Hardware oder Software erfolgen.
Beim C64 wird zwischen einem maskierbaren IRQ und einem nichtmaskierbaren NMI unterschieden.
Tipps & Tricks[Bearbeiten | Quelltext bearbeiten]
- Interrupt per BASIC abschalten:
POKE 56334, PEEK(56334) AND 254
- Hinweis: Durch die Abschaltung erfolgt auch die Deaktivierung der Abfrage der Tastatur. Der C64 ist somit in dieser Zeit nicht mehr direkt bedienbar. Daher ist diese Methode nur innerhalb von BASIC-Programmen zu empfehlen. Weiterhin muss das BASIC-Programm fehlerfrei arbeiten, damit der Interrupt wieder erfolgreich angeschaltet werden kann.
- Interrupt per BASIC einschalten:
POKE 56334, PEEK(56334) OR 1
- Interrupt per Tastatur einschalten: RUN/STOP +RESTORE
Weblinks[Bearbeiten | Quelltext bearbeiten]
Wikipedia: Interrupt |