Nascom Journal |
6/80 7/80 |
Mit dem folgenden Schaltungsvorschlag kann auf einfache Weise ein Non Maskable Interrupt mittels externer Taste ausgelöst werden:
Als Nandgatter kann IC 3 der Tastaturplatine verwendet werden, welches zur Hälfte unbenutzt ist. Die Schaltung unterdrückt Kontaktprellen der Taste und beschränkt die Impulsdauer auf weniger als 1 µsec.
Ein solcher Impuls wird lediglich bei einem andauernden WAIT- oder aktiven BUSREQUEST-Signal von der CPU ignoriert. Ansonsten wird jedes laufende Programm unterbrochen!
Die Adresse der nächsten Instruktion (des unterbrochenen Programms)
wird als spätere RETurnadresse auf den Stack geladen. Dann führt die
CPU Ober 0066H einen Sprung auf
$NMI = 0C47H ( Nasbug T2, T4 ) bzw
$NMI = 0C7DH ( NAS-SYS 1 ) aus.
Dort steht der Sprungcode C3H mit der nachfolgenden Adresse, die der Benutzer beliebig ändern kann. Ein Interrupt im direkten Nasbug-Monitorbetrieb ist nicht sinnvoll, da der interne Monitorstack ab 0C33H zu klein ist und Fehler verursachen kann. Wird der NAS-SYS Monitor entsprechend modifiziert ( s.Nascom Journal 4/80 ), so können auch unterbrochene Anwenderprogramme nach der Interruptroutine fehlerfrei weiterlaufen.
Ulrich Krüger
Seite 9 von 52 |
---|