Das Schneider CPC Systembuch

Das Innenleben der CPC-Rechner

Die CPU Z80

Der zweite Registersatz

Bei der Aufzählung der vielen Die Tonausgabe: Das Kontrollregister (Reg. 7)
Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)
Register
in der Die ICs im Überblick: Die CPU Z80
Das Innenleben der CPC-Rechner: Die CPU Z80
Die Anschlussbelegungen der wichtigsten ICs im CPC: Die CPU Z80
Z80
wurde bereits beschrieben, dass es für die wichtigsten Registerpaare AF, BC, DE und HL noch jeweils eine Kopie gibt, zwischen denen man willkürlich hin- und herschalten kann. Das Umschalten geschieht dabei jedoch in Gruppen:

Mit dem Befehl "EX AF,Operationen: BD5B / 349A / 349A: FLO SUBA'F'" werden der Akku und das Flag-Register mit ihrem Zweitregister vertauscht.

Der Befehl 'EXX' besorgt das für BC, DE und HL zusammen. Diese Die Tonausgabe: Das Kontrollregister (Reg. 7)
Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)
Register
können nicht einzeln umgeschaltet werden.

Normalerweise sind die beiden Registersätze vollkommen gleichwertig. Ein Programm kann beliebig zwischen dem einen und dem anderen Satz hin- und herschalten. Streng genommen ist auch die unterscheidung in einen ersten und in einen zweiten Registersatz nicht ganz korrekt. Beide Saetze sind für 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 Z80
CPU
vollkommen gleichwertig.

Eine Wertung der beiden Saetze ergibt sich erst durch das Programm. So ist es bei vielen Betriebssystemen üblich, nur mit einem Satz zu arbeiten, der dann zum 'ersten' Satz wird. Die CPU Z80: Der zweite Registersatz
ROM-Konfiguration: der zweite Registersatz
Der 'zweite' Registersatz
wird ausschließlich für die Interrupt-Routine(n) reserviert. Da diese das Hauptprogramm ja jederzeit unterbrechen können, dürfen sie keine Die Tonausgabe: Das Kontrollregister (Reg. 7)
Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)
Register
, die das Hauptprogramm benutzt, verändern.

Normalerweise pusht eine Interrupt-Routine zuerst einmal alle Die Tonausgabe: Das Kontrollregister (Reg. 7)
Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)
Register
, die es benötigt, auf den Maschinenstapel, arbeitet dann seine Routinen ab und restauriert die Registerinhalte anschließend wieder, indem es sie vom Stapel zurückholt. Beschränkt sich das Hauptprogramm aber auf einen Registersatz, kann man diesen viel schneller retten, indem man einfach alle Die Tonausgabe: Das Kontrollregister (Reg. 7)
Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)
Register
austauscht: "EX AF,Operationen: BD5B / 349A / 349A: FLO SUBA'F'" und "EXX".

Beim Schneider CPC wird hier ein gemischtes System betrieben. Auf jeden Fall kann man hier auch nicht ohne besondere Vorkehrungen auf Die CPU Z80: Der zweite Registersatz
ROM-Konfiguration: der zweite Registersatz
den zweiten Registersatz
zugreifen. Eine Unterteilung in 'ersten' und 'zweiten' Satz ist hier also durchaus gerechtfertigt.

Valid HTML   Valid CSS