dox: added alot of Z80 documents (opcodes, tstates, flags, cycles) (taken from http...
[urasm.git] / dox / z80 / z80_full.txt
blob1c132892bcbfb7f17ea1926770cf95c5acca6942
1 taken from  http://www.z80.info/z80code.txt
3                                           Flags
4 Mnemonic     Size OP-Code         Clock  SZHPNC  Effect
6 ADC A,(HL)     1  8E               7     ***V0*  A=A+[HL]+CY
7 ADC A,(IX+n)   3  DD 8E XX        19     ***V0*  A=A+[IX+n]+CY
8 ADC A,(IY+n)   3  FD 8E XX        19     ***V0*  A=A+[IY+n]+CY
9 ADC A,r        1  88+rb            4     ***V0*  A=A+r+CY
10 ADC A,N        2  CE XX            7     ***V0*  A=A+N+CY
11 ADC HL,BC      2  ED 4A           15     ***V0*  HL=HL+BC+CY
12 ADC HL,DE      2  ED 5A           15     ***V0*  HL=HL+DE+CY
13 ADC HL,HL      2  ED 6A           15     ***V0*  HL=HL+HL+CY
14 ADC HL,SP      2  ED 7A           15     ***V0*  HL=HL+SP+CY
15 ADD A,(HL)     1  86               7     ***V0*  A=A+[HL]
16 ADD A,(IX+n)   3  DD 86 XX        19     ***V0*  A=A+[IX+n]
17 ADD A,(IY+n)   3  FD 86 XX        19     ***V0*  A=A+[IY+n]
18 ADD A,r        1  80+rb            4     ***V0*  A=A+r
19 ADD A,N        2  C6 XX            7     ***V0*  A=A+N
20 ADD HL,BC      1  09              11     --*-0*  HL=HL+BC
21 ADD HL,DE      1  19              11     --*-0*  HL=HL+DE
22 ADD HL,HL      1  29              11     --*-0*  HL=HL+HL
23 ADD HL,SP      1  39              11     --*-0*  HL=HL+SP
24 ADD IX,BC      2  DD 09           15     --*-0*  IX=IX+BC
25 ADD IX,DE      2  DD 19           15     --*-0*  IX=IX+DE
26 ADD IX,IX      2  DD 29           15     --*-0*  IX=IX+IX
27 ADD IX,SP      2  DD 39           15     --*-0*  IX=IX+SP
28 ADD IY,BC      2  FD 09           15     --*-0*  IY=IY+BC
29 ADD IY,DE      2  FD 19           15     --*-0*  IY=IY+DE
30 ADD IY,IY      2  FD 29           15     --*-0*  IY=IY+IY
31 ADD IY,SP      2  FD 39           15     --*-0*  IY=IY+SP
32 AND (HL)       1  A6               7     ***P00  A=A&[HL]
33 AND (IX+n)     3  DD A6 XX        19     ***P00  A=A&[IX+n]
34 AND (IY+n)     3  FD A6 XX        19     ***P00  A=A&[IY+n]
35 AND r          1  A0+rb            4     ***P00  A=A&r
36 AND N          2  E6 XX            7     ***P00  A=A&N
37 BIT b,(HL)     2  CB 46+8*b       12     **1*0-  [HL]&{2^b}
38 BIT b,(IX+n)   4  DD CB XX 46+8*b 20     **1*0-  [IX+n]&{2^b}
39 BIT b,(IY+n)   4  FD CB XX 46+8*b 20     **1*0-  [IY+n]&{2^b}
40 BIT b,r        2  CB 40+8*b+rb     8     **1*0-  r&{2^b}
41 CALL C,NN      3  DC XX XX        17/10  ------  If CY then [SP-=2]=PC,PC=NN
42 CALL M,NN      3  FC XX XX        17/10  ------  If S then [SP-=2]=PC,PC=NN
43 CALL NC,NN     3  D4 XX XX        17/10  ------  If !CY then [SP-=2]=PC,PC=NN
44 CALL NN        3  CD XX XX        17     ------  SP-=2,[SP+1,SP]=PC,PC=NN
45 CALL NZ,NN     3  C4 XX XX        17/10  ------  If !Z then [SP-=2]=PC,PC=NN
46 CALL P,NN      3  F4 XX XX        17/10  ------  If !S then [SP-=2]=PC,PC=NN
47 CALL PE,NN     3  EC XX XX        17/10  ------  If P then [SP-=2]=PC,PC=NN
48 CALL PO,NN     3  E4 XX XX        17/10  ------  If !P then [SP-=2]=PC,PC=NN
49 CALL Z,NN      3  CC XX XX        17/10  ------  If Z then [SP-=2]=PC,PC=NN
50 CCF            1  3F               4     --*-0*  CY=~CY
51 CP (HL)        1  BE               7     ***V1*  A-[HL]
52 CP (IX+n)      3  DD BE XX        19     ***V1*  A-[IX+n]
53 CP (IY+n)      3  FD BE XX        19     ***V1*  A-[IY+n]
54 CP r           1  B8+rb            4     ***V1*  A-r
55 CP N           2  FE XX            7     ***V1*  A-N
56 CPD            2  ED A9           16     ****1-  A-[HL],HL=HL-1,BC=BC-1
57 CPDR           2  ED B9           21/16  ****1-  CPD until A=[HL] or BC=0
58 CPI            2  ED A1           16     ****1-  A-[HL],HL=HL+1,BC=BC-1
59 CPIR           2  ED B1           21/16  ****1-  CPI until A=[HL] or BC=0
60 CPL            1  2F               4     --1-1-  A=~A
61 DAA            1  27               4     ***P-*  A=adjust result to BCD-format
62 DEC (HL)       1  35              11     ***V1-  [HL]=[HL]-1
63 DEC (IX+n)     3  DD 35 XX        23     ***V1-  [IX+n]=[IX+n]-1
64 DEC (IY+n)     3  FD 35 XX        23     ***V1-  [IY+n]=[IY+n]-1
65 DEC A          1  3D               4     ***V1-  A=A-1
66 DEC B          1  05               4     ***V1-  B=B-1
67 DEC BC         1  0B               6     ------  BC=BC-1
68 DEC C          1  0D               4     ***V1-  C=C-1
69 DEC D          1  15               4     ***V1-  D=D-1
70 DEC DE         1  1B               6     ------  DE=DE-1
71 DEC E          1  1D               4     ***V1-  E=E-1
72 DEC H          1  25               4     ***V1-  H=H-1
73 DEC HL         1  2B               6     ------  HL=HL-1
74 DEC IX         2  DD 2B           10     ------  IX=IX-1
75 DEC IY         2  FD 2B           10     ------  IY=IY-1
76 DEC L          2  2D               4     ***V1-  L=L-1
77 DEC SP         1  3B               6     ------  SP=SP-1
78 DI             1  F3               4     ------  disable interrupts
79 DJNZ n         2  10 XX           13/8   ------  B=B-1, if B != 0 then PC+=n
80 EI             1  FB               4     ------  enable interrupts
81 EX (SP),HL     1  E3              19     ------  [SP]<->HL
82 EX (SP),IX     2  DD E3           23     ------  [SP]<->IX
83 EX (SP),IY     2  FD E3           23     ------  [SP]<->IY
84 EX AF,AF'      1  08               4     ******  AF<->AF'
85 EX DE,HL       1  EB               4     ------  DE<->HL
86 EXX            1  D9               4     ------  BC<->BC',DE<->DE',HL<->HL'
87 HALT           1  76               4     ------  repeat NOP until interrupt
88 IM 0           2  ED 46            8     ------  set interrupt 0
89 IM 1           2  ED 56            8     ------  set interrupt 1
90 IM 2           2  ED 5E            8     ------  set interrupt 2
91 IN A,(C)       2  ED 78           12     ***P0-  A=[C]
92 IN A,(N)       2  DB XX           11     ------  A=[N]
93 IN B,(C)       2  ED 40           12     ***P0-  B=[C]
94 IN C,(C)       2  ED 48           12     ***P0-  C=[C]
95 IN D,(C)       2  ED 50           12     ***P0-  D=[C]
96 IN E,(C)       2  ED 58           12     ***P0-  E=[C]
97 IN H,(C)       2  ED 60           12     ***P0-  H=[C]
98 IN L,(C)       2  ED 68           12     ***P0-  L=[C]
99 INC (HL)       1  34              11     ***V0-  [HL]=[HL]+1
100 INC (IX+n)     3  DD 34 XX        23     ***V0-  [IY+n]=[IX+n]+1
101 INC (IY+n)     3  FD 34 XX        23     ***V0-  [IY+n]=[IY+n]+1
102 INC A          1  3C               4     ***V0-  A=A+1
103 INC B          1  04               4     ***V0-  B=B+1
104 INC BC         1  03               6     ------  BC=BC+1
105 INC C          1  0C               4     ***V0-  C=C+1
106 INC D          1  14               4     ***V0-  D=D+1
107 INC DE         1  13               6     ------  DE=DE+1
108 INC E          1  1C               4     ***V0-  E=E+1
109 INC H          1  24               4     ***V0-  H=H+1
110 INC HL         1  23               6     ------  HL=HL+1
111 INC IX         2  DD 23           10     ------  IX=IX+1
112 INC IY         2  FD 23           10     ------  IY=IY+1
113 INC L          1  2C               4     ***V0-  L=L+1
114 INC SP         1  33               6     ------  SP=SP+1
115 IND            2  ED AA           16     ***?1-  [HL]=[C],HL=HL-1,B=B-1
116 INDR           2  ED BA           21/16  01*?1-  IND until B=0
117 INI            2  ED A2           16     ***?1-  [HL]=[C],HL=HL+1,B=B-1
118 INIR           2  ED B2           21/16  01*?1-  INI until B=0
119 JP NN          3  C3 XX XX        10     ------  PC=NN
120 JP (HL)        1  E9               4     ------  PC=HL
121 JP (IX)        2  DD E9            8     ------  PC=IX
122 JP (IY)        2  FD E9            8     ------  PC=IY
123 JP C,NN        3  DA XX XX        10/10  ------  If CY then PC=NN
124 JP M,NN        3  FA XX XX        10/10  ------  If S then PC=NN
125 JP NC,NN       3  D2 XX XX        10/10  ------  If !CY then PC=NN
126 JP NZ,NN       3  C2 XX XX        10/10  ------  If !Z then PC=NN
127 JP P,NN        3  F2 XX XX        10/10  ------  If !S then PC=NN
128 JP PE,NN       3  EA XX XX        10/10  ------  If P then PC=NN
129 JP PO,NN       3  E2 XX XX        10/10  ------  If !P then PC=NN
130 JP Z,NN        3  CA XX XX        10/10  ------  If Z then PC=NN
131 JR n           2  18 XX           12     ------  PC=PC+n
132 JR C,n         2  38 XX           12/7   ------  If CY then PC=PC+n
133 JR NC,n        2  30 XX           12/7   ------  If !CY then PC=PC+n
134 JR NZ,n        2  20 XX           12/7   ------  If !Z then PC=PC+n
135 JR Z,n         2  28 XX           12/7   ------  If Z then PC=PC+n
136 LD (BC),A      1  02               7     ------  [BC]=A
137 LD (DE),A      1  12               7     ------  [DE]=A
138 LD (HL),r      1  70+rb            7     ------  [HL]=r
139 LD (HL),N      2  36 XX           10     ------  [HL]=N
140 LD (IX+n),r    3  DD 70+rb XX     19     ------  [IX+n]=r
141 LD (IX+n),N    4  DD 36 XX XX     19     ------  [IX+n]=N
142 LD (IY+n),r    3  FD 70+rb XX     19     ------  [IY+n]=r
143 LD (IY+n),N    4  FD 36 XX XX     19     ------  [IY+n]=N
144 LD (NN),A      3  32 XX XX        13     ------  [NN]=A
145 LD (NN),BC     4  ED 43 XX XX     20     ------  [NN]=C, (NN+1)=B
146 LD (NN),DE     4  ED 53 XX XX     20     ------  [NN]=E, (NN+1)=D
147 LD (NN),HL     3  22 XX XX        16     ------  [NN]=L, (NN+1)=H
148 LD (NN),IX     4  DD 22 XX XX     20     ------  [NN,NN+1]=IX
149 LD (NN),IY     4  FD 22 XX XX     20     ------  [NN,NN+1]=IY
150 LD (NN),SP     4  ED 73 XX XX     20     ------  [NN,NN+1]=SP
151 LD A,(BC)      1  0A               7     ------  A=[BC]
152 LD A,(DE)      1  1A               7     ------  A=[DE]
153 LD A,(HL)      1  7E               7     ------  A=[HL]
154 LD A,(IX+n)    3  DD 7E XX        19     ------  A=[IX+n]
155 LD A,(IY+n)    3  FD 7E XX        19     ------  A=[IY+n]
156 LD A,(NN)      3  3A XX XX        13     ------  A=[NN]
157 LD A,r         1  78+rb            4     ------  A=r
158 LD A,I         2  ED 57            9     **0*0-  A=I
159 LD A,N         2  3E XX            7     ------  A=N
160 LD A,R         2  ED 5F            9     **0*0-  A=R
161 LD B,(HL)      1  46               7     ------  B=[HL]
162 LD B,(IX+n)    3  DD 46 XX        19     ------  B=[IX+n]
163 LD B,(IY+n)    3  FD 46 XX        19     ------  B=[IY+n]
164 LD B,r         1  40+rb            4     ------  B=r
165 LD B,N         2  06 XX            7     ------  B=N
166 LD BC,(NN)     4  ED 4B XX XX     20     ------  C=[NN],B=[NN+1]
167 LD BC,NN       3  01 XX XX        10     ------  BC=NN
168 LD C,(HL)      1  4E               7     ------  C=[HL]
169 LD C,(IX+n)    3  DD 4E XX        19     ------  C=[IX+n]
170 LD C,(IY+n)    3  FD 4E XX        19     ------  C=[IY+n]
171 LD C,r         1  48+rb            4     ------  C=r
172 LD C,N         2  0E XX            7     ------  C=N
173 LD D,(HL)      1  56               7     ------  D=[HL]
174 LD D,(IX+n)    3  DD 56 XX        19     ------  D=[IX+n]
175 LD D,(IY+n)    3  FD 56 XX        19     ------  D=[IY+n]
176 LD D,r         1  50+rb            4     ------  D=r
177 LD D,N         2  16 XX            7     ------  D=N
178 LD DE,(NN)     4  ED 5B XX XX     20     ------  E=[NN],D=[NN+1]
179 LD DE,NN       3  11 XX XX        10     ------  DE=NN
180 LD E,(HL)      1  5E               7     ------  E=[HL]
181 LD E,(IX+n)    3  DD 5E XX        19     ------  E=[IX+n]
182 LD E,(IY+n)    3  FD 5E XX        19     ------  E=[IY+n]
183 LD E,r         1  58+rb            4     ------  E=r
184 LD E,N         2  1E XX            7     ------  E=N
185 LD H,(HL)      1  66               7     ------  H=[HL]
186 LD H,(IX+n)    3  DD 66 XX        19     ------  H=[IX+n]
187 LD H,(IY+n)    3  FD 66 XX        19     ------  H=[IY+n]
188 LD H,r         1  60+rb            4     ------  H=r
189 LD H,N         2  26 XX            7     ------  H=N
190 LD HL,(NN)     3  2A XX XX        16     ------  L=[NN],H=[NN+1]
191 LD HL,(NN)     4  ED 6B XX XX     20     ------  L=[NN],H=[NN+1]
192 LD HL,NN       3  21 XX XX        10     ------  HL=NN
193 LD I,A         2  ED 47            9     ------  I=A
194 LD IX,(NN)     4  DD 2A XX XX     20     ------  IX=[NN,NN+1]
195 LD IX,NN       4  DD 21 XX XX     14     ------  IX=NN
196 LD IY,(NN)     4  FD 2A XX XX     20     ------  IY=[NN,NN+1]
197 LD IY,NN       4  FD 21 XX XX     14     ------  IY=NN
198 LD L,(HL)      1  6E               7     ------  L=[HL]
199 LD L,(IX+n)    3  DD 6E XX        19     ------  L=[IX+n]
200 LD L,(IY+n)    3  FD 6E XX        19     ------  L=[IY+n]
201 LD L,r         1  68+rb            4     ------  L=r
202 LD L,N         2  2E XX            7     ------  L=N
203 LD R,A         2  ED 4F            9     ------  R=A
204 LD SP,(NN)     4  ED 7B XX XX     20     ------  SP=[NN,NN+1]
205 LD SP,HL       1  F9               6     ------  SP=HL
206 LD SP,IX       2  DD F9           10     ------  SP=IX
207 LD SP,IY       2  FD F9           10     ------  SP=IY
208 LD SP,NN       3  31 XX XX        10     ------  SP=NN
209 LDD            2  ED A8           16     --0*0-  [DE]=[HL],HL-=1,DE-=1,BC-=1
210 LDDR           2  ED B8           21/16  --000-  LDD until BC=0
211 LDI            2  ED A0           16     --0*0-  [DE]=[HL],HL+=1,DE+=1,BC=-1
212 LDIR           2  ED B0           21/16  --000-  LDI until BC=0
213 NEG            2  ED 44            8     ***V1*  A=-A
214 NOP            1  00               4     ------
215 OR (HL)        1  B6               7     ***P00  A=Av[HL]
216 OR (IX+n)      3  DD B6 XX        19     ***P00  A=Av[IX+n]
217 OR (IY+n)      3  FD B6 XX        19     ***P00  A=Av[IY+n]
218 OR r           1  B0+rb            4     ***P00  A=Avr
219 OR N           2  F6 XX            7     ***P00  A=AvN
220 OTDR           2  ED BB           21/16  01*?1-  OUTD until B=0
221 OTIR           2  ED B3           21/16  01*?1-  OUTI until B=0
222 OUT (C),A      2  ED 79           12     ------  [C]=A
223 OUT (C),B      2  ED 41           12     ------  [C]=B
224 OUT (C),C      2  ED 49           12     ------  [C]=C
225 OUT (C),D      2  ED 51           12     ------  [C]=D
226 OUT (C),E      2  ED 59           12     ------  [C]=E
227 OUT (C),H      2  ED 61           12     ------  [C]=H
228 OUT (C),L      2  ED 69           12     ------  [C]=L
229 OUT (N),A      2  D3 XX           11     ------  [N]=A
230 OUTD           2  ED AB           16     ***?1-  [C]=[HL],HL=HL-1,B=B-1
231 OUTI           2  ED A3           16     ***?1-  [C]=[HL],HL=HL+1,B=B-1
232 POP AF         1  F1              10     ******  F=[SP],SP+,A=[SP],SP+
233 POP BC         1  C1              10     ------  C=[SP],SP+,B=[SP],SP+
234 POP DE         1  D1              10     ------  E=[SP],SP+,D=[SP],SP+
235 POP HL         1  E1              10     ------  L=[SP],SP+,H=[SP],SP+
236 POP IX         2  DD E1           14     ------  IX=[SP,SP+1],SP+,SP+
237 POP IY         2  FD E1           14     ------  IY=[SP,SP+1],SP+,SP+
238 PUSH AF        1  F5              11     ------  -SP,[SP]=A,-SP,[SP]=F
239 PUSH BC        1  C5              11     ------  -SP,[SP]=B,-SP,[SP]=C
240 PUSH DE        1  D5              11     ------  -SP,[SP]=D,-SP,[SP]=E
241 PUSH HL        1  E5              11     ------  -SP,[SP]=H,-SP,[SP]=L
242 PUSH IX        2  DD E5           15     ------  -SP,-SP,[SP,SP+1]=IX
243 PUSH IY        2  FD E5           15     ------  -SP,-SP,[SP,SP+1]=IY
244 RES b,(HL)     2  CB 86+8*b       15     ------  [HL]=[HL]&{~2^b}
245 RES b,(IX+n)   4  DD CB XX 86+8*b 23     ------  [IX+n]=[IX+n]&{~2^b}
246 RES b,(IY+n)   4  FD CB XX 86+8*b 23     ------  [IY+n]=[IY+n]&{~2^b}
247 RES b,r        2  CB 80+8*b+rb     8     ------  r=r&{~2^b}
248 RET            1  C9              10     ------  PC=[SP,SP+1],SP+,SP+
249 RET C          1  D8              11/5   ------  If CY then PC=[SP,SP+1],SP+=2
250 RET M          1  F8              11/5   ------  If S then PC=[SP,SP+1],SP+=2
251 RET NC         1  D0              11/5   ------  If !CY then PC=[SP,SP+1],SP+=2
252 RET NZ         1  C0              11/5   ------  If !Z then PC=[SP,SP+1],SP+=2
253 RET P          1  F0              11/5   ------  If !S then PC=[SP,SP+1],SP+=2
254 RET PE         1  E8              11/5   ------  If P then PC=[SP,SP+1],SP+=2
255 RET PO         1  E0              11/5   ------  If !P then PC=[SP,SP+1],SP+=2
256 RET Z          1  C8              11/5   ------  If Z then PC=[SP,SP+1],SP+=2
257 RETI           2  ED 4D           14     ------  PC=[SP,SP+1],SP+,SP+
258 RETN           2  ED 45           14     ------  PC=[SP,SP+1],SP+,SP+
259 RL (HL)        2  CB 16           15     **0P0*  [HL]={CY,[HL]}<<CY
260 RL (IX+n)      4  DD CB XX 16     23     **0P0*  [IX+n]={CY,[IX+n]}<<CY
261 RL (IY+n)      4  FD CB XX 16     23     **0P0*  [IY+n]={CY,[IY+n]}<<CY
262 RL r           2  CB 10+rb         8     **0P0*  r={CY,r}<<CY
263 RLA            1  17               4     --0-0*  A={CY,A}<<CY
264 RLC (HL)       2  CB 06           15     **0P0*  [HL]={[HL]}<<
265 RLC (IX+n)     4  DD CB XX 06     23     **0P0*  [IX+n]={[IX+n]}<<
266 RLC (IY+n)     4  FD CB XX 06     23     **0P0*  [IY+n]={[IY+n]}<<
267 RLC r          2  CB 00+rb         8     **0P0*  r={r}<<
268 RLCA           1  07               4     --0-0*  A={A}<<
269 RLD            2  ED 6F           18     **0P0-  {A,[HL]}={A,[HL]}<-4
270 RR (HL)        2  CB 1E           15     **0P0*  [HL]=CY>>{CY,[HL]}
271 RR (IX+n)      4  DD CB XX 1E     23     **0P0*  [IX+n]=CY>>{CY,[IX+n]}
272 RR (IY+n)      4  FD CB XX 1E     23     **0P0*  [IT+n]=CY>>{CY,[IY+n]}
273 RR r           2  CB 18+rb         8     **0P0*  r=CY>>{CY,r}
274 RRA            1  1F               4     --0-0*  A=CY>>{CY,A}
275 RRC (HL)       2  CB 0E           15     **0P0*  [HL]=>>{[HL]}
276 RRC (IX+n)     4  DD CB XX 0E     23     **0P0*  [IX+n]=>>{[IX+n]}
277 RRC (IY+n)     4  FD CB XX 0E     23     **0P0*  [IY+n]=>>{[IY+n]}
278 RRC r          2  CB 08+rb         8     **0P0*  r=>>{r}
279 RRCA           1  0F               4     --0-0*  A=>>{A}
280 RRD            2  ED 67           18     **0P0-  {A,[HL]}=4->{A,[HL]}
281 RST 0          1  C7              11     ------  -SP,-SP,[SP+1,SP]=PC,PC=00
282 RST 8H         1  CF              11     ------  -SP,-SP,[SP+1,SP]=PC,PC=08
283 RST 10H        1  D7              11     ------  -SP,-SP,[SP+1,SP]=PC,PC=10
284 RST 18H        1  DF              11     ------  -SP,-SP,[SP+1,SP]=PC,PC=18
285 RST 20H        1  E7              11     ------  -SP,-SP,[SP+1,SP]=PC,PC=20
286 RST 28H        1  EF              11     ------  -SP,-SP,[SP+1,SP]=PC,PC=28
287 RST 30H        1  F7              11     ------  -SP,-SP,[SP+1,SP]=PC,PC=30
288 RST 38H        1  FF              11     ------  -SP,-SP,[SP+1,SP]=PC,PC=38
289 SBC (HL)       1  9E               7     ***V1*  A=A-[HL]-CY
290 SBC A,(IX+n)   3  DD 9E XX        19     ***V1*  A=A-[IX+n]-CY
291 SBC A,(IY+n)   3  FD 9E XX        19     ***V1*  A=A-[IY+n]-CY
292 SBC A,N        2  DE XX            7     ***V1*  A=A-N-CY
293 SBC r          1  98+rb            4     ***V1*  A=A-r-CY
294 SBC HL,BC      2  ED 42           15     ***V1*  HL=HL-BC-CY
295 SBC HL,DE      2  ED 52           15     ***V1*  HL=HL-DE-CY
296 SBC HL,HL      2  ED 62           15     ***V1*  HL=HL-HL-CY
297 SBC HL,SP      2  ED 72           15     ***V1*  HL=HL-SP-CY
298 SCF            1  37               4     --0-01  CY=1
299 SET b,(HL)     2  CB C6+8*b       15     ------  [HL]=[HL]v{2^b}
300 SET b,(IX+n)   4  DD CB XX C6+8*b 23     ------  [IX+n]=[IX+n]v{2^b}
301 SET b,(IY+n)   4  FD CB XX C6+8*b 23     ------  [IY+n]=[IY+n]v{2^b}
302 SET b,r        2  CB C0+8*b+rb     8     ------  r=rv{2^b}
303 SLA (HL)       2  CB 26           15     **0P0*  [HL]=[HL]*2
304 SLA (IX+n)     4  DD CB XX 26     23     **0P0*  [IX+n]=[IX+n]*2
305 SLA (IY+n)     4  FD CB XX 26     23     **0P0*  [IY+n]=[IY+n]*2
306 SLA r          2  CB 20+rb         8     **0P0*  r=r*2
307 SLL (HL)       2  CB 36           15     **0P0*  [HL]=[HL]*2+1
308 SLL (IX+n)     4  DD CB XX 36     23     **0P0*  [IX+n]=[IX+n]*2+1
309 SLL (IY+n)     4  FD CB XX 36     23     **0P0*  [IY+n]=[IY+n]*2+1
310 SLL r          2  CB 30+rb         8     **0P0*  r=r*2+1
311 SRA (HL)       2  CB 2E           15     **0P0*  [HL]=(signed)[HL]/2
312 SRA (IX+n)     4  DD CB XX 2E     23     **0P0*  [IX+n]=(signed)[IX+n]/2
313 SRA (IY+n)     4  FD CB XX 2E     23     **0P0*  [IY+n]=(signed)[IY+n]/2
314 SRA r          2  CB 28+rb         8     **0P0*  r=(signed)r/2
315 SRL (HL)       2  CB 3E           15     **0P0*  [HL]=(unsigned)[HL]/2
316 SRL (IX+n)     4  DD CB XX 3E     23     **0P0*  [IX+n]=(unsigned)[IX+n]/2
317 SRL (IY+n)     4  FD CB XX 3E     23     **0P0*  [IY+n]=(unsigned)[IY+n]/2
318 SRL r          2  CB 38+rb         8     **0P0*  r=(unsigned)r/2
319 SUB (HL)       1  96               7     ***V1*  A=A-[HL]
320 SUB (IX+n)     3  DD 96 XX        19     ***V1*  A=A-[IX+n]
321 SUB (IY+n)     3  FD 96 XX        19     ***V1*  A=A-[IY+n]
322 SUB r          1  90+rb            4     ***V1*  A=A-r
323 SUB N          2  D6 XX            7     ***V1*  A=A-N
324 XOR (HL)       1  AE               7     ***P00  A=Ax[HL]
325 XOR (IX+n)     3  DD AE XX        19     ***P00  A=Ax[IX+n]
326 XOR (IY+n)     3  FD AE XX        19     ***P00  A=Ax[IY+n]
327 XOR r          1  A8+rb            4     ***P00  A=Axr
328 XOR N          2  EE XX            7     ***P00  A=AxN
331 The flag field contains one of the following:
333 -               Flag unaffected
334 *               Flag affected
335 0               Flag reset
336 1               Flag set
337 ?               Unknown
338 P               Parity-Flag used as Parity
339 V               Parity-Flag used as Overflow-flag
342 r means register. Can be B,C,D,E,H,L or A.
343 Add this to last byte of OP-code:
344 Reg     regbits
345 B       0
346 C       1
347 D       2
348 E       3
349 H       4
350 L       5
351 A       7
353 On >LD (IX+n),r< and >LD (IY+n),r< you
354 add it to the byte before the last.
357 b means bit. Can be 0-7. Increase the
358 last byte of OP-code with 8*b.
359 Used in SET, BIT and RES.
362 If there is two numbers given at Clock,
363 then the highest is when the jump is
364 taken.
367 Collected by Oscar Lindberg 1996-03-24
368 (offler@skip.adb.gu.se) from:
369 Z80 pocketbook
370 Z80 assembly language programming