Anhang: Die Z80Die Z80 ist ein Acht-Bit-Mikroprozessor. Das bedeutet, dass ihr Erklärung zu den Anschlüssen: D0 bis D7Datenbus genau 8 Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bits breit ist. Wie die meisten anderen 8-Bitter auch, verfügt sie über einen Erklärung zu den Anschlüssen: A0 bis A15Adressbus von doppelter Breite: mit 16 Adressbits kann sie insgesamt 2^16, das sind 65536 verschiedene Speicherzellen adressieren. Mittels der im Schneider CPC angewandten Bank-Switching-Technik allerdings auch noch weit mehr.
Anhang: Die Z80Die Z80 verfügt, im Gegensatz zu vielen anderen Die ICs im Überblick: Die CPU Z80 Das Innenleben der CPC-Rechner: Die CPU Z80 Die Anschlussbelegungen der wichtigsten ICs im CPC: Die CPU Z80CPUs, über eine getrennte Ansteuerung von Speicher-ICs und Peripherie-ICs. Damit muss man die verfügbaren Adressen nicht für Anhang: Speicher und PeripherieSpeicher und Peripherie aufteilen.
Normalerweise werden Peripherie-Bausteine nur mit der unteren Hälfte des Adressbusses adressiert, wodurch sich schon bis zu 256 verschiedene externe Die Fließkomma-Routinen: FunktionenFunktionen ansprechen lassen. Mit den im Schneider CPC akzeptierten Einschränkungen ist aber auch der gesamte Erklärung zu den Anschlüssen: A0 bis A15Adressbus in voller Breite für I/O-Zwecke verwertbar. Damit wären dann, zusätzlich zu den 65536 Speicherzellen, auch noch 65536 verschiedene Peripherie-Funktionen steuerbar.
Zum normalen Interieur jeder 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 gehören ein Programmzeiger (PC), ein Stapelzeiger (SP), ein Akkumulator (Akku oder einfach Operationen: BD5B / 349A / 349A: FLO SUBA) und ein Signalregister (Die Z80: Wirkung der Z80-Befehle auf die FlagsFlags oder F). Das sind alles Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register, also Speicherzellen im Inneren 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 Z80CPU.
Der Programmzeiger (PC = Program Counter) zeigt dabei jeweils auf den gerade abgearbeiteten Befehl. Das PC-Register ist deshalb, wie der Erklärung zu den Anschlüssen: A0 bis A15Adressbus, 16 Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit breit.
Der Stapelzeiger (SP = Stack Pointer) dient als Zeiger auf die Spitze des Maschinenstapels, auf dem u. Operationen: BD5B / 349A / 349A: FLO SUBA. die Return-Adressen bei Unterprogrammaufrufen abgelegt werden. Wie der PC ist auch dieses Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register 16 Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit breit. Der Stack kann daher an jeder beliebigen Stelle im RAM liegen und auch beliebig lang werden (im Gegensatz beispielsweise zur 6502).
Der Akku, das Haupt-Rechenregister, ist nur 8 Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit breit und entspricht somit der Breite des Datenbuses. Die meisten Die Fließkomma-Routinen: OperationenOperationen und Die Fließkomma-Routinen: FunktionenFunktionen, die Anhang: Die Z80die Z80 durchführen kann, erwarten im Akku ihr bzw. eines ihrer Argumente und legen dort auch das Ergebnis ab.
Das Flagregister ist zwar auch 8 Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit breit, doch werden hiervon nur 6 Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bits auch wirklich benutzt. Davon sind wiederum zwei auszuschließen, die nur für einen einzigen Spezialbefehl, DAA zum Dezimalabgleich beim Rechnen mit BCD-codierten Zahlen, ausgewertet werden. Die verbliebenen vier Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bits enthalten das Carry-Flag (Übertrag aus dem 8. bzw. 16 Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit), das Zero-Flag (Anzeige, ob ein Ergebnis Real: NullNull ist), das Signum-Flag (Vorzeichen des Ergebnisses = Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 8 oder 16) und das kombinierte Parity-Overflow-Flag. Hierin wird bei boolschen Die Fließkomma-Routinen: FunktionenFunktionen die Parität der Real: NullNull- und Eins-Bits im Ergebnis festgehalten (gerade oder ungerade Anzahl) und bei arithmetischen Die Fließkomma-Routinen: FunktionenFunktionen ein eventueller Überlauf in's Vorzeichenbit (Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 8 bzw. 16).
Anhang: Die Z80Die Z80 verfügt darüber hinaus noch über viele weitere Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register: BC, DE und HL sind 16-Bit-Register, die aber auch getrennt als 8-Bit-B, C, D, LOW KERNEL JUMPBLOCK: 000E: LOW PCBC INSTRUCTION LOW KERNEL JUMPBLOCK: 001E: LOW PCHL INSTRUCTIONE, H und L-Register verwendet werden können.
Neben dem Akku erhalten aber auch einige andere Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register durch die verfügbaren Befehle eine besondere Bedeutung: So ist das HL-Register das am vielseitigsten einsetzbare Doppelregister. Bei der 16-Bit-Addition und Rechnen im Binärsystem: SubtraktionSubtraktion fungiert es praktisch als ein 16-Bit-Akku. Außerdem ist die indirekte Adressierung einer Speicherzelle mit dem HL-Register fast gleichwertig mit der Verwendung eines normalen Registers als Daten-Quelle oder -Ziel.
Das B-Register dient als universelles Zählregister für Schleifen.
Das C-Register bildet bei den meisten I/O-Befehlen die Port-Adresse. Im Schneider CPC existiert hier allerdings eine Die CPU Z80: Besonderheiten der Z80 im Schneider CPCBesonderheit: Hier wird nur mit einem Nebeneffekt der I/O-Befehle gearbeitet, der das gesamte BC-Register auf den Adressleitungen Erklärung zu den Anschlüssen: A0 bis A15A0 bis A15 erscheinen lässt.
Diese Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register sind 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 Z80Z80 jeweils doppelt vorhanden: AF, BC, DE und HL haben jeweils noch eine Kopie, zwischen denen beliebig hin- und hergeschaltet werden kann.
Die 16-Bit-Register IX und IY werden für die Adressierungsarten der Z80: Indiziertindizierte Adressierung verwendet.
Abschließend gibt es noch die Spezialregister I und R. Hardware-Basteleien: Das 8. BitDas 8 Bit breite I-Register wird dabei für einen speziellen Interruptmodus als höherwetiges Datentypen: Bytes Datenbreite: BytesByte der Adresse einer Tabelle verwendet, in der die Adressen von verschiedenen Interrupt-Behandlungsroutinen stehen 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 aber nicht verwendet.
Das R-Register ist nur 7 Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit breit und dient als Refresh-Zähler. Anhang: Die Z80Die Z80 unterstuetzt nämlich als eine Die CPU Z80: Besonderheiten der Z80 im Schneider CPCBesonderheit das Wiederauffrischen dynamischer RAMs. Dazu erzeugt sie in der zweiten Hälfte jedes Befehlshole-Zykluses ein Pseudo-Lesesignal für die Speicherbausteine, wobei sie als Adresse auf den untersten 7 Leitungen den Inhalt des R-Registers ausgibt und dieses danach erhöht. Dadurch werden nach 128 (=2^7) Befehlen, die Anhang: Die Z80die Z80 abarbeitet, die dynamischen RAM-Bausteine vollständig wiederaufgefrischt.
Das I-Register wird im Schneider CPC überhaupt nicht, und das R-Register nur im Cassette-Manager (zweck-entfremdet) benutzt.
Folgende Grafik zeigt einen Die Firmware des Schneider CPC: ÜberblickÜberblick über Die Z80: Die Register der Z80die Register der Z80. Jedes Kaestchen symbolisiert dabei normalerweise ein 8 Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit breites Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register. Einige Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register sind mit einem Sternchen '*' markiert. Diese Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register sind auch bei dem Vorgänger 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 Z80Z80, 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 Z80CPU 8080 vorhanden:
+---------+---------+
!* PC !
+---------+---------+
+---------+---------+
!* SP !
+---------+---------+
+---------+---------+ +---------+---------+
!* Operationen: BD5B / 349A / 349A: FLO SUBA !* F ! ! Operationen: BD5B / 349A / 349A: FLO SUBA' ! F' !
+---------+---------+ +---------+---------+
!* LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTB !* C ! ! LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTB' ! C' !
+---------+---------+ +---------+---------+
!* D !* LOW KERNEL JUMPBLOCK: 000E: LOW PCBC INSTRUCTION LOW KERNEL JUMPBLOCK: 001E: LOW PCHL INSTRUCTIONE ! ! D' ! LOW KERNEL JUMPBLOCK: 000E: LOW PCBC INSTRUCTION LOW KERNEL JUMPBLOCK: 001E: LOW PCHL INSTRUCTIONE' !
+---------+---------+ +---------+---------+
!* H !* L ! ! H' ! L' !
+---------+---------+ +---------+---------+
+---------+---------+
! (XH) IX (XL) !
+---------+---------+
! (YH) IY (YL) !
+---------+---------+
+---------+ +-------+
! I ! ! R !
+---------+ +-------+
|