Anhang: Die Z80Die Z80 kann in drei verschiedenen Die CPU Z80: Die verschiedenen Interrupt-Modi der Z80Interrupt-Modi betrieben werden. Leider hat sich hierbei eine gewisse Unsauberkeit in die Literatur eingeschlichen: Manche Autoren nummerieren die verschiedenen Modi von 0 bis 2 und andere von 1 bis 3 durch. In diesem Buch verwende ich die üblichere Nummerierung von 0 bis 2.
Die verschiedenen Modi beziehen sich ausschließlich auf den Besonderheiten der Z80 im Schneider CPC: normaler Interruptnormalen Interrupt, der Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: NMI - non maskable interrupt Besonderheiten der Z80 im Schneider CPC: Non Maskable InterruptNMI führt immer nur einen Sprung zur Adresse &66 aus. Die Besonderheiten der Z80 im Schneider CPC: normaler Interruptnormalen Interrupts lassen sich immer, unabhängig vom gewählten Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 0 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 1 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 2Modus, mittels der Assembler-Befehle 'EI' und 'DI' verbieten und wieder zulassen.
Sobald ein Peripherie-Baustein einen Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - InterruptInterrupt auslöst, arbeitet die Die ICs im Überblick: Die CPU Z80 Das Innenleben der CPC-Rechner: Die CPU Z80 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die CPU Z80CPU den Befehl, an dem sie gerade ist, zuende und beginnt dann mit einem speziellen Interrupt-Acknowledge-Zyklus. Das ist ein Buszugriff, der sich von den normalen Speicher- und I/O-Zugriffen leicht unterscheiden lässt: Zu einem bestimmten Zeitpunkt werden nämlich die Ausgänge Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: M1 - Machine Cycle OneM1 und Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: IORQ - Input/Output requestIORQ zusammen aktiv. In diesem Moment kann das IC, das den Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - InterruptInterrupt ausgelöst hat, ein Datenbyte auf dem Erklärung zu den Anschlüssen: D0 bis D7Datenbus ausgeben, das die Die ICs im Überblick: Die CPU Z80 Das Innenleben der CPC-Rechner: Die CPU Z80 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die CPU Z80CPU in ihr Eingangsregister latcht. Je nach eingestelltem Die CPU Z80: Die verschiedenen Interrupt-Modi der Z80 Die verschiedenen Interrupt-Modi der Z80: IM0 - Interrupt-Modus 0 Die verschiedenen Interrupt-Modi der Z80: IM1 - Interrupt-Modus 1 Die verschiedenen Interrupt-Modi der Z80: IM2 - Interrupt-Modus 2Interrupt-Modus wird dieses Datenbyte unterschiedlich interpretiert:
Das Datenbyte wird als 1-Byte-Befehl behandelt und ausgeführt. Sinnvoll ist hier nur der Einsatz eines Restart-Befehls, wodurch bis zu acht verschiedene Interrupt-Behandlungsroutinen unterschieden werden können.
Dieser Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 0 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 1 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 2Modus wird im Schneider CPC angewandt. Bei diesem Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 0 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 1 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 2Modus ignoriert die Die ICs im Überblick: Die CPU Z80 Das Innenleben der CPC-Rechner: Die CPU Z80 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die CPU Z80CPU einfach das Datenbyte und führt selbständig einen ROM-Konfiguration: RestartsRestart zur Adresse 56 aus.
Dieser Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 0 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 1 Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 2Modus ist der maechtigste von allen dreien. Hierbei können bis zu 128 Routinen unterschieden werden. Anhang: Die Z80Die Z80 nimmt hierbei das Datenbyte vom Peripherie-Gerät als niederwertiges Datentypen: Bytes Datenbreite: BytesByte und das I-Register als höherwertiges Datentypen: Bytes Datenbreite: BytesByte und bildet daraus eine Adresse. An dieser Stelle holt sie aus dem Speicher zwei Datentypen: Bytes Datenbreite: BytesBytes, die sie nun als Adresse der Interrupt-Behandlungsroutine interpretiert und aufruft. Mit dem I-Register legt man also die Basis einer Tabelle mit Routinenadressen fest, das Peripherie-Gerät sucht sich dann einen Eintrag aus der Tabelle aus.
Da Anhang: Die Z80die Z80 im Schneider CPC im Die CPU Z80: Die verschiedenen Interrupt-Modi der Z80 Die verschiedenen Interrupt-Modi der Z80: IM0 - Interrupt-Modus 0 Die verschiedenen Interrupt-Modi der Z80: IM1 - Interrupt-Modus 1 Die verschiedenen Interrupt-Modi der Z80: IM2 - Interrupt-Modus 2Interrupt-Modus 1 betrieben wird, hat das I-Register hier keine Aufgabe zu erfüllen. Es wird auch vom Betriebssystem nicht für irgendwelche anderen Zwecke misbraucht. Wer also einen galanten Zwischenspeicher für ein Datentypen: Bytes Datenbreite: BytesByte in einem Maschinencode-Programm sucht, findet hier noch ein sicheres Plätzchen.
|