4.2.5.
Interruptsystem
Soll der Rechner auf externe Ereignisse reagieren, so hat man die Möglichkeit,
entweder den betreffenden Eingabekanal ständig abzufragen oder das laufende
Programm mittels Interrupt zu unterbrechen und nach Reaktion auf das Eingabe-
signal (Interruptprogramm) das ursprüngliche Programm fortzusetzen. Die Tasta-
turabfrage und das Kassetteninterface des KC 85 arbeiten z. B. mit Interrupt.
Die U880-CPU hat zwei getrennte Signaleingaenge zur Auslösung von Interrupts:
NMI – nichtmaskierbarer Interrupt höchster Priorität
INT – maskierbarer Interrupt (kann in 3 verschiedenenInterrupt-Modi betrie-
ben werden)
Nichtmaskierbarer Interrupt (NMI)
Die NMI-Signalzuführung kann nicht gesperrt werden. Ein NMI-Signal führt also in
jedem Fall zu einer Unterbrechung des laufenden Programms und zu einem
erzwungenen Unterprogrammsprung zur Speicheradresse 0066H. An dieser
Stelle muss die Interruptbehandlungsroutine vom Programmierer eingetragen
sein.
Die Interruptroutine muss am Ende mit einem Rücksprung ins unterbrochene Pro-
gramm (mit dem Befehl RETN) abgeschlossen werden.
Maskierbarer Interrupt (INT)
Die INT-Signalzuführung kann mithilfe der Befehle EI eingeschaltet (enable inter-
rupt) und mittels DI ausgeschaltet (disable interrupt) werden (maskieren). Ist das
Interruptsystem nicht freigegeben (DI), so werden INT-Anforderungen ignoriert.
Die Steuerung des INT-Eingangs der CPU erfolgt über DIE zwei Merker IFF1 und
IFF2 (Interruptflipflops). Der Befehl EI setzt beide auf 1 und DI beide auf 0. IFF2
dient als Merker der Stellung von IFF1 bei der NMI-Behandlung (während der
NMI-Behandlung, d. h. bis RETN, ist kein INT möglich).
Wird nun ein anstehendes INT-Signal erkannt, so führt die CPU hardwaremäßig
eine DI-Operation aus, d. h. IFF1 und IFF2 werden auf 0 gesetzt. Sollen weiterhin
Interrupts zugelassen werden, so ist spätestens vor Verlassen der Interruptbe-
handlungsroutine mit RETI der Befehl EI zu programmieren.
Der maskierbare Interrupt INT kann in 3 Arbeitsweisen betrieben werden, die mit
den Befehlen IM 0, IM 1 bzw. IM 2 eingeschaltet werden. Der KC 85 arbeitet stets
im Interrupt-Mode IM 2. Eine Veränderung würde zum Absturz des CAOS-Be-
triebssystems führen. Zur Volständigkeit sind die drei Modi beschrieben.
388
4.2. Assembler ASM