dox: added alot of Z80 documents (opcodes, tstates, flags, cycles) (taken from http...
[urasm.git] / dox / z80 / z80_cycles.txt
blobd4e057fd8e55162b16935fda5f3e266ecb650efe
1 taken from  http://www.z80.info/z80ins.txt
3 This file is from the book:
4 Microprocessor Technology ISBN 0835943925
6 Scan done by:
7 Alvin Albrecht  aralbrec@concentric.net
9 OCR , retyping, and checking done by:
10 Vaggelis Kapartzianis  zx32@usa.net
12 Thanks to you guys for this great work :-)
17         LEGEND
18         ======
20         IO      - internal CPU Operation
21         MR      - Memory Read                           ODL - Operand Data Read of Low Byte
22         MRH     - Memory Read of High Byte              PR  - Port Read
23         MRL     - Memory Read of Low Byte               PW  - Port Write
24         MW      - Memory Write                          SRH - Stack Read of High Byte
25         MWH     - Memory Write of High Byte             SRL - Stack Read of Low Byte
26         MWL     - Memory Write of Low Byte              SWH - Stack Write of High Byte
27         OCF     - Op Code Fetch                         SWL - Stack Write of Low byte
28         ODH     - Operand Data Read of High Byte        ( ) - Number of T-States in that Machine Cycle
30         Z80 INSTRUCTION BREAKDOWN BY MACHINE CODE
31         =========================================
32                                                         MACHINE CYCLE
33         INSTRUCTION     BYTES   M1              M2              M3              M4              M5
34         TYPE
35         ====================================================================================================
36         LD r,s          1       OCF(4)
38         LD r,n          2       OCF(4)          OD(3)
40         LD r,(HL)       1       OCF(4)          MR(3)
41         LD (HL),r               OCF(4)          MW(3)
43         LD r,(IX+d)     3       OCF(4)/OCF(4)   OD(3)           IO(5)           MR(3)
44         LD (IX+d),r             OCF(4)/OCF(4)   OD(3)           IO(5)           MW(3)
46         LD (HL),n       2       OCF(4)          OD(3)           MW(3)
48               BC
49         LD A,(DE)       1       OCF(4)          MR(3)
50             BC
51         LD (DE),A               OCF(4)          MW(3)
53         LD A,(nn)       3       OCF(4)          ODL(3)          ODH(3)          MR(3)
54         LD (nn),A               OCF(4)          ODL(3)          ODH(3)          MW(3)
56              I
57         LD A,R          2       OCF(4)/OCF(5)
58            I
59         LD R, A
61         LD dd,nn        3       OCF(4)          ODL(3)          ODH(3)
63         LD IX,nn        4       OCF(4)/OCF(4)   ODL(3)          ODH(3)
65         LD HL,(nn)      3       OCF(4)          ODL(3)          ODH(3)          MRL(3)          MRH(3)
66         LD (nn),HL              OCF(4)          ODL(3)          ODH(3)          MWL(3)          MWH(3)
68         LD dd,(nn)      4       OCF(4)/OCF(4)   ODL(3)          ODH(3)          MRL(3)          MRH(3)
69         LD (nn),dd              OCF(4)/OCF(4)   ODL(3)          ODH(3)          MWL(3)          MWH(3)
70         LD IX,(nn)              OCF(4)/OCF(4)   ODL(3)          ODH(3)          MRL(3)          MRH(3)
71         LD (nn),IX              OCF(4)/OCF(4)   ODL(3)          ODH(3)          MWL(3)          MWH(3)
73         LD SP,HL        1       OCF(6)
75         LD SP,IX        2       OCF(4)/OCF(6)
77         PUSH qq         1       OCF(5)          SWH(3)          SWL(3)
78                                         SP-1 --->       SP-1 --->
80         PUSH IX         2       OCF(4)/OCF(5)   SWH(3)          SWL(3)
81                                         SP-1 --->       SP-1 --->
83         POP qq          1       OCF(4)          SRL(3)          SRH(3)
84                                                         SP+1 --->       SP+1 --->
86         POP IX          2       OCF(4)/OCF(4)   SRL(3)          SRH(3)
87                                                         SP+1 --->       SP+1 --->
89         EX DE,HL        1       OCF(4)
91         EX AF,AF'       1       OCF(4)
93         EXX             1       OCF(4)
95         EX (SP),HL      1       OCF(4)          SRL(3)          SRH(4)          SWH(3)          SWL(5)
96                                                         SP+1 --->                       SP-1 --->
98         EX (SP),IX      2       OCF(4)/OCF(4)   SRL(3)          SRH(4)          SWH(3)          SWL(5)
99                                                         SP+1 --->                       SP-1 --->
102         LDI             2       OCF(4)/OCF(4)   MR(3)           MW(5)
103         LDD
104         CPI
105         CPD
107         LDIR            2       OCF(4)/OCF(4)   MR(3)           MW(5)           IO(5)*
108         LDDR
109         CPIR                                                                    *only if BC<>O
110         CPDR
112         ALU A,r         1       OCF(4)
113           ADD ADC
114           SUB SBC
115           AND OR
116           XOR CP
118         ALU A,n         2       OCF(4)          OD(3)
120         ALU A,(HL)      1       OCF(4)          MR(3)
122         ALU A,(IX+d)    3       OCF(4)/OCF(4)   OD(3)           IO(5)           MR(3)
124         DEC
125         INC r           1       OCF(4)
127         DEC
128         INC (HL)        1       OCF(4)          MR(4)           MW(3)
130         DEC
131         INC (IX+D)      2       OCF(4)/OCF(4)   OD(3)           IO(5)           MR(4)           MW(3)
133         DAA             1       OCF(4)
134         CPL
135         CCF
136         SCF
137         NOP
138         HALT
139         DI
140         EI
142         NEG             2       OCF(4)/OCF(4)
143         IM0
144         IM1
145         IM2
147         ADD HL,ss       1       OCF(4)          IO(4)           IO(3)
149         ADC HL,ss       2       OCF(4)/OCF(4)   IO(4)           IO(3)
150         SBC HL,ss
151         ADD IX,pp
153         INC ss          1       OCF(6)
154         DEC ss
156         DEC IX          2       OCF(4)/OCF(6)
157         INC IX
159         RLCA            1       OCF(4)
160         RLA
161         RRCA
162         RRA
164         RLC r           2       OCF(4)/OCF(4)
165         RL
166         RRC
167         RR
168         SLA
169         SRA
170         SRL
172         RLC (HL)        2       OCF(4)/OCF(4)   MR(4)           MW(3)
173         RL
174         RRC
175         RR
176         SLA
177         SRA
178         SRL
180         RLC (IX+d)      4       OCF(4)/OCF(4)   OD(3)           IO(5)           MR(4)           MW(3)
181         RL
182         RRC
183         RR
184         SLA
185         SRA
186         SRL
188         RLD             2       OCF(4)/OCF(4)   MR(3)           IO(4)           MW(3)
189         RRD
191         BIT b,r         2       OCF(4)/OCF(4)
192         SET
193         RES
195         BIT b,(HL)      2       OCF(4)/OCF(4)   MR(4)
197         SET b,(HL)      2       OCF(4)/OCF(4)   MR(4)           MW(3)
198         RES
200         BIT b,(IX+d)    4       OCF(4)/OCF(4)   OD(3)           IO(5)           MR(4)
202         SET b,(IX+d)    4       OCF(4)/OCF(4)   OD(3)           IO(5)           MR(4)           MW(3)
203         RES
205         JP nn           3       OCF(4)          ODL(3)          ODH(3)
206         JP cc, nn
208         JR e            2       OCF(4)          OD(3)           IO(5)
210         JR C,e          2       OCF(4)          OD(3)           IO(5)*
211         JR NC,e                                                      *If condition is met
212         JR Z,e
213         JR NZ,e
215         JP (HL)         1       OCF(4)
217         JP (IX)         2       OCF(4)/OCF(4)
219         DJNZ,e          2       OCF(5)          OD(3)           IO(5)*
220                                                                      * If B<>0
222         CALL nn         3       OCF(4)          ODL(3)          ODH(4)          SWH(3)          SWL(3)
223         CALL cc,nn                                                      SP-1 --->       SP-1 --->
224              cc true
226         CALL cc,nn      3       OCF(4)          ODL(3)          ODH(3)
227              cc false
229         RET             1       OCF(4)          SRL(3)          SRH(3)
230                                                         SP+1 --->       SP+1 --->
232         RET cc          1       OCF(5)          SRL(3)*         SRH(3)*
233                                                       * If cc is true
234                                                         SP+1 --->       SP+1 --->
236         RETI            2       OCF(4)/OCF(4)   SRL(3)          SRH(3)
237         RETN                                            SP+1 --->       SP+1 --->
239         RST p           1       OCF(5)          SWH(3)          SWL(3)
240                                         SP-1 --->       SP-1 --->
242         IN A,(n)        2       OCF(4)          OD(3)           PR(4)
244         IN r,(c)        2       OCF(4)/OCF(4)   PR(4)
246         INI             2       OCF(4)/OCF(5)   PR(4)           MW(3)
247         IND
249         INIR            2       OCF(4)/OCF(5)   PR(4)           MW(3)           IO(5)
250         INDR
252         OUT (n),A       2       OCF(4)          OD(3)           PW(4)
254         OUT (C),r       2       OCF(4)/OCF(4)   PW(4)
256         OUTI            2       OCF(4)/OCF(5)   MR(3)           PW(4)
257         OUTD
259         OTIR            2       OCF(4)/OCF(5)   MR(3)           PW(4)           IO(5)
260         OTDR
263         INTERRUPTS
264         ----------
266         NMI             _       OCF(5)*         SWH(3)          SWL(3)  *Op Code Ignored
267                                         SP-1 --->       SP-1 --->
269         MODE 0          -       INTA(6)         ODL(3)          ODH(4)          SWH(3)          SWL(3)
270                                   (CALL INSERTED)                       SP-1 --->       SP-1 --->
272                         -       INTA(6)         SWH(3)          SWL(3)
273                                   (RST INSERTED)
274                                         SP-1 --->       SP-1 --->
276         MODE 1                  INTA(7)         SWH(3)          SWL(3)
277                                 (RST 38H
278                                 INTERNAL)
279                                         SP-1 --->       SP-1 --->
281         MODE 2          -       INTA(7)         SWH(3)          SWL(3)          MRL(3)          MRH(3)
282                                 (VECTOR
283                                 SUPPLIED)
284                                         SP-1 --->       SP-1 --->