|
Die Arbeitsgeschwindigkeit einer 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 hängt im Allgemeinen von der Frequenz des Eingangstaktes ab. Da Anhang: Die Z80die Z80 im Schneider CPC aber nur mit jedem 4. Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: Takt Erklärung der Anschlussbelegung: Takt Erklärung zu den verwendeten Bezeichnungen: TaktTakt auf die Speicher zugreifen darf, ergibt sich als kleinstes Zeitraster genau eine Mikrosekunde (der Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: Takt Erklärung der Anschlussbelegung: Takt Erklärung zu den verwendeten Bezeichnungen: TaktTakt hat eine Frequenz von 4 MHz, also 4 Taktperioden pro Mikrosekunde).
Die Befehls-Ausführungszeiten sind deshalb in Mikrosekunden angegeben. Diese Zeiten sind NICHT auf andere Z80-Rechner übertragbar!
Queues als verkettete Liste: Anmerkung:Anmerkung: Speziell die Zeiten für JR, JR cc und DJNZ sind wahrscheinlich falsch. [kio 2006-03-10]
Befehlsgruppe ! Zeit ! Bemerkung
--------------------------------+-------+-------------------------------------
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 Ladebefehle ! !
--------------------------------+-------+-------------------------------------
LD r,r' ! 1 !
LD r,n ! 2 ! r und r' : Erklärung der Anschlussbelegung: A, B, CA,B,C,D,LOW KERNEL JUMPBLOCK: 000E: LOW PCBC INSTRUCTION LOW KERNEL JUMPBLOCK: 001E: LOW PCHL INSTRUCTIONE,H,L
LD r,(rr) LD (rr),r ! 2 ! rr : AF,BC,DE,HL,SP
LD r,(IX+dis) LD (IX+dis),r ! 5 ! n : Datentypen: Bytes Datenbreite: BytesByte, direkt
LD (HL),n ! 3 ! nn : Datenbreite: WordsWord, direkt
LD (IX+dis),n ! 6 ! dis : Adressdistanz, direkt
LD Operationen: BD5B / 349A / 349A: FLO SUBA,(nn) LD (nn),Operationen: BD5B / 349A / 349A: FLO SUBA ! 4 !
LD Operationen: BD5B / 349A / 349A: FLO SUBA,I LD Operationen: BD5B / 349A / 349A: FLO SUBA,R LD I,Operationen: BD5B / 349A / 349A: FLO SUBA LD R,Operationen: BD5B / 349A / 349A: FLO SUBA ! 2 !
--------------------------------+-------+
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 Ladebefehle ! !
--------------------------------+-------+
LD rr,nn ! 3 !
LD IX,nn ! 4 !
LD HL,(nn) LD (nn),HL ! 5 !
LD rr,(HL) LD (nn),rr ! 6 !
LD IX,(nn) LD (nn),IX ! 6 !
LD SP,HL ! 2 !
LD SP,IX ! 3 !
PUSH rr ! 4 !
PUSH IX ! 5 !
POP rr ! 3 !
POP IX ! 4 !
! !
EXX EX AF,AF' EX DE,HL ! 1 !
EX (SP),HL ! 6 !
EX (SP),IX ! 7 !
--------------------------------+-------+
Block-Befehle ! i / ii! (i): nicht-letzter Durchgang
--------------------------------+-------+ (ii): letzter Durchgang
LDI LDD ! 5 !
CPI CPD ! 4 !
INI IND OUTI OUTD ! 5 ! nicht sinnvoll anwendbar
LDIR LDDR ! 6 / 5 !
CPIR CPDR ! 6 / 4 !
OTIR OTDR INIR INDR ! ----- ! Befehlssatz der Z80 sortiert nach Funktionen: Block-I/O-BefehleBlock-I/O-Befehle nicht anwendbar !!
--------------------------------+-------+
Befehlssatz der Z80 sortiert nach Funktionen: Ein- und Ausgabe-BefehleEin- und Ausgabe-Befehle ! !
--------------------------------+-------+
IN Operationen: BD5B / 349A / 349A: FLO SUBA,(n) OUT Operationen: BD5B / 349A / 349A: FLO SUBA,(n) ! 3 !
IN r,(C) OUT (C),r ! 4 !
--------------------------------+-------+
8-Bit-Arithmetische und logische Befehle!
--------------------------------+-------+
oper. r ! 1 ! oper. = ADD, ADC, SUB, SBC
oper. n oper. (HL) ! 2 ! AND, XOR, OR, CP
oper. (IX+dis) ! 5 !
INC r DEC r ! 4 !
INC (HL) DEC (HL) ! 3 !
INC (IX+dis) DEC (IX+dis) ! 6 !
CPL ! 1 !
NEG ! 2 !
--------------------------------+-------+
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 Arithmetik ! !
--------------------------------+-------+
ADD HL,rr ! 3 !
ADC HL,rr SBC HL,rr ! 4 !
ADD IX,rr ! 4 !
INC rr DEC rr ! 2 !
INC IX DEC IX ! 3 !
--------------------------------+-------+
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 Schiebe-Operationen ! !
--------------------------------+-------+
RLCA RRCA RLA RRA ! 1 ! oper. = RLC, RRC, RL, RR
oper. r ! 2 ! SLA, SRA, SLL, SRL
oper. (HL) ! 4 !
oper. (IX+dis) ! 7 !
RLD RRD ! 5 !
--------------------------------+-------+
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 Erklärung der Anschlussbelegung: TestTest- und Setz-Befehle ! !
--------------------------------+-------+
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 LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb,r ! 2 ! LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb = Bitnummer
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 LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb,(HL) ! 3 !
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 LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb,(IX+dis) ! 6 !
SET LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb,r RES LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb,r ! 2 !
SET LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb,(HL) RES LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb,(HL) ! 4 !
SET LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb,(IX+dis) RES (IX+dis) ! 7 !
--------------------------------+-------+
Sprünge und Grundlagen: UnterprogrammeUnterprogramme ! i / ii!
--------------------------------+-------+
JP nn JP c,nn ! 3 ! c = Bedingung
JP (HL) ! 1 !
JP (IX) ! 2 ! (i): wenn c nicht erfüllt ist
JR dis ! 3 ! und keine Verzweigung erfolgt.
JR c,dis ! 2 / 3 ! (ii): wenn c erfüllt ist und
DJNZ dis ! 3 / 4 ! das Programm verzweigt.
Maschinencode über HIMEM: CALLCALL nn ! 5 !
Maschinencode über HIMEM: CALLCALL c,nn ! 3 / 5 !
Speicheraufteilung durch ein Vordergrund-Programm: RST 3 LOW KERNEL JUMPBLOCK: 0000 - RST 0: LOW RESET ENTRY LOW KERNEL JUMPBLOCK: 0008 - RST 1: LOW LOW JUMP LOW KERNEL JUMPBLOCK: 0010 - RST 2: LOW SIDE CALL LOW KERNEL JUMPBLOCK: 0018 - RST 3: LOW FAR CALL LOW KERNEL JUMPBLOCK: 0020 - RST 4: LOW RAM LAM LOW KERNEL JUMPBLOCK: 0028 - RST 5: LOW FIRM JUMP LOW KERNEL JUMPBLOCK: 0030 - RST 6: LOW USER RESTART LOW KERNEL JUMPBLOCK: 0038 - RST 7: LOW INTERRUPT ENTRYRST n ! 4 !
RET ! 3 !
RET c ! 2 / 4 !
RETI RETN ! 4 !
--------------------------------+-------+
Verschiedenes: ! !
--------------------------------+-------+
DAA CCF SCF ! 1 !
EI DI NOP Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: HaltHALT ! 1 !
IM 0 IM 1 IM 2 ! 1 !
--------------------------------+-------+
| |