Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1814 | yogev_ezra | 1 | /*===================================================================== |
2 | tables.h -> Header file containing the defines for Z80 opcodes. |
||
3 | |||
4 | This program is free software; you can redistribute it and/or modify |
||
5 | it under the terms of the GNU General Public License as published by |
||
6 | the Free Software Foundation; either version 2 of the License, or |
||
7 | (at your option) any later version. |
||
8 | |||
9 | This program is distributed in the hope that it will be useful, |
||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||
12 | GNU General Public License for more details. |
||
13 | |||
14 | You should have received a copy of the GNU General Public License |
||
15 | along with this program; if not, write to the Free Software |
||
16 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
||
17 | |||
18 | Copyright (c) 2000 Santiago Romero Iglesias. |
||
19 | Email: sromero@escomposlinux.org |
||
20 | ======================================================================*/ |
||
21 | |||
22 | #ifndef TABLES_H |
||
23 | #define TABLES_H |
||
24 | |||
25 | /*--- One byte opcodes: ----------------------------------------------*/ |
||
26 | #define NOP 0 |
||
27 | #define LD_BC_NN 1 |
||
28 | #define LD_xBC_A 2 |
||
29 | #define INC_BC 3 |
||
30 | #define INC_B 4 |
||
31 | #define DEC_B 5 |
||
32 | #define LD_B_N 6 |
||
33 | #define RLCA 7 |
||
34 | #define EX_AF_AF 8 |
||
35 | #define ADD_HL_BC 9 |
||
36 | #define LD_A_xBC 10 |
||
37 | #define DEC_BC 11 |
||
38 | #define INC_C 12 |
||
39 | #define DEC_C 13 |
||
40 | #define LD_C_N 14 |
||
41 | #define RRCA 15 |
||
42 | #define DJNZ 16 |
||
43 | #define LD_DE_NN 17 |
||
44 | #define LD_xDE_A 18 |
||
45 | #define INC_DE 19 |
||
46 | #define INC_D 20 |
||
47 | #define DEC_D 21 |
||
48 | #define LD_D_N 22 |
||
49 | #define RLA 23 |
||
50 | #define JR 24 |
||
51 | #define ADD_HL_DE 25 |
||
52 | #define LD_A_xDE 26 |
||
53 | #define DEC_DE 27 |
||
54 | #define INC_E 28 |
||
55 | #define DEC_E 29 |
||
56 | #define LD_E_N 30 |
||
57 | #define RRA 31 |
||
58 | #define JR_NZ 32 |
||
59 | #define LD_HL_NN 33 |
||
60 | #define LD_xNN_HL 34 |
||
61 | #define INC_HL 35 |
||
62 | #define INC_H 36 |
||
63 | #define DEC_H 37 |
||
64 | #define LD_H_N 38 |
||
65 | #define DAA 39 |
||
66 | #define JR_Z 40 |
||
67 | #define ADD_HL_HL 41 |
||
68 | #define LD_HL_xNN 42 |
||
69 | #define DEC_HL 43 |
||
70 | #define INC_L 44 |
||
71 | #define DEC_L 45 |
||
72 | #define LD_L_N 46 |
||
73 | #define CPL 47 |
||
74 | #define JR_NC 48 |
||
75 | #define LD_SP_NN 49 |
||
76 | #define LD_xNN_A 50 |
||
77 | #define INC_SP 51 |
||
78 | #define INC_xHL 52 |
||
79 | #define DEC_xHL 53 |
||
80 | #define LD_xHL_N 54 |
||
81 | #define SCF 55 |
||
82 | #define JR_C 56 |
||
83 | #define ADD_HL_SP 57 |
||
84 | #define LD_A_xNN 58 |
||
85 | #define DEC_SP 59 |
||
86 | #define INC_A 60 |
||
87 | #define DEC_A 61 |
||
88 | #define LD_A_N 62 |
||
89 | #define CCF 63 |
||
90 | #define LD_B_B 64 |
||
91 | #define LD_B_C 65 |
||
92 | #define LD_B_D 66 |
||
93 | #define LD_B_E 67 |
||
94 | #define LD_B_H 68 |
||
95 | #define LD_B_L 69 |
||
96 | #define LD_B_xHL 70 |
||
97 | #define LD_B_A 71 |
||
98 | #define LD_C_B 72 |
||
99 | #define LD_C_C 73 |
||
100 | #define LD_C_D 74 |
||
101 | #define LD_C_E 75 |
||
102 | #define LD_C_H 76 |
||
103 | #define LD_C_L 77 |
||
104 | #define LD_C_xHL 78 |
||
105 | #define LD_C_A 79 |
||
106 | #define LD_D_B 80 |
||
107 | #define LD_D_C 81 |
||
108 | #define LD_D_D 82 |
||
109 | #define LD_D_E 83 |
||
110 | #define LD_D_H 84 |
||
111 | #define LD_D_L 85 |
||
112 | #define LD_D_xHL 86 |
||
113 | #define LD_D_A 87 |
||
114 | #define LD_E_B 88 |
||
115 | #define LD_E_C 89 |
||
116 | #define LD_E_D 90 |
||
117 | #define LD_E_E 91 |
||
118 | #define LD_E_H 92 |
||
119 | #define LD_E_L 93 |
||
120 | #define LD_E_xHL 94 |
||
121 | #define LD_E_A 95 |
||
122 | #define LD_H_B 96 |
||
123 | #define LD_H_C 97 |
||
124 | #define LD_H_D 98 |
||
125 | #define LD_H_E 99 |
||
126 | #define LD_H_H 100 |
||
127 | #define LD_H_L 101 |
||
128 | #define LD_H_xHL 102 |
||
129 | #define LD_H_A 103 |
||
130 | #define LD_L_B 104 |
||
131 | #define LD_L_C 105 |
||
132 | #define LD_L_D 106 |
||
133 | #define LD_L_E 107 |
||
134 | #define LD_L_H 108 |
||
135 | #define LD_L_L 109 |
||
136 | #define LD_L_xHL 110 |
||
137 | #define LD_L_A 111 |
||
138 | #define LD_xHL_B 112 |
||
139 | #define LD_xHL_C 113 |
||
140 | #define LD_xHL_D 114 |
||
141 | #define LD_xHL_E 115 |
||
142 | #define LD_xHL_H 116 |
||
143 | #define LD_xHL_L 117 |
||
144 | #define HALT 118 |
||
145 | #define LD_xHL_A 119 |
||
146 | #define LD_A_B 120 |
||
147 | #define LD_A_C 121 |
||
148 | #define LD_A_D 122 |
||
149 | #define LD_A_E 123 |
||
150 | #define LD_A_H 124 |
||
151 | #define LD_A_L 125 |
||
152 | #define LD_A_xHL 126 |
||
153 | #define LD_A_A 127 |
||
154 | #define ADD_B 128 |
||
155 | #define ADD_C 129 |
||
156 | #define ADD_D 130 |
||
157 | #define ADD_E 131 |
||
158 | #define ADD_H 132 |
||
159 | #define ADD_L 133 |
||
160 | #define ADD_xHL 134 |
||
161 | #define ADD_A 135 |
||
162 | #define ADC_B 136 |
||
163 | #define ADC_C 137 |
||
164 | #define ADC_D 138 |
||
165 | #define ADC_E 139 |
||
166 | #define ADC_H 140 |
||
167 | #define ADC_L 141 |
||
168 | #define ADC_xHL 142 |
||
169 | #define ADC_A 143 |
||
170 | #define SUB_B 144 |
||
171 | #define SUB_C 145 |
||
172 | #define SUB_D 146 |
||
173 | #define SUB_E 147 |
||
174 | #define SUB_H 148 |
||
175 | #define SUB_L 149 |
||
176 | #define SUB_xHL 150 |
||
177 | #define SUB_A 151 |
||
178 | #define SBC_B 152 |
||
179 | #define SBC_C 153 |
||
180 | #define SBC_D 154 |
||
181 | #define SBC_E 155 |
||
182 | #define SBC_H 156 |
||
183 | #define SBC_L 157 |
||
184 | #define SBC_xHL 158 |
||
185 | #define SBC_A 159 |
||
186 | #define AND_B 160 |
||
187 | #define AND_C 161 |
||
188 | #define AND_D 162 |
||
189 | #define AND_E 163 |
||
190 | #define AND_H 164 |
||
191 | #define AND_L 165 |
||
192 | #define AND_xHL 166 |
||
193 | #define AND_A 167 |
||
194 | #define XOR_B 168 |
||
195 | #define XOR_C 169 |
||
196 | #define XOR_D 170 |
||
197 | #define XOR_E 171 |
||
198 | #define XOR_H 172 |
||
199 | #define XOR_L 173 |
||
200 | #define XOR_xHL 174 |
||
201 | #define XOR_A 175 |
||
202 | #define OR_B 176 |
||
203 | #define OR_C 177 |
||
204 | #define OR_D 178 |
||
205 | #define OR_E 179 |
||
206 | #define OR_H 180 |
||
207 | #define OR_L 181 |
||
208 | #define OR_xHL 182 |
||
209 | #define OR_A 183 |
||
210 | #define CP_B 184 |
||
211 | #define CP_C 185 |
||
212 | #define CP_D 186 |
||
213 | #define CP_E 187 |
||
214 | #define CP_H 188 |
||
215 | #define CP_L 189 |
||
216 | #define CP_xHL 190 |
||
217 | #define CP_A 191 |
||
218 | #define RET_NZ 192 |
||
219 | #define POP_BC 193 |
||
220 | #define JP_NZ 194 |
||
221 | #define JP 195 |
||
222 | #define CALL_NZ 196 |
||
223 | #define PUSH_BC 197 |
||
224 | #define ADD_N 198 |
||
225 | #define RST_00 199 |
||
226 | #define RET_Z 200 |
||
227 | #define RET 201 |
||
228 | #define JP_Z 202 |
||
229 | #define PREFIX_CB 203 |
||
230 | #define CALL_Z 204 |
||
231 | #define CALL 205 |
||
232 | #define ADC_N 206 |
||
233 | #define RST_08 207 |
||
234 | #define RET_NC 208 |
||
235 | #define POP_DE 209 |
||
236 | #define JP_NC 210 |
||
237 | #define OUT_N_A 211 |
||
238 | #define CALL_NC 212 |
||
239 | #define PUSH_DE 213 |
||
240 | #define SUB_N 214 |
||
241 | #define RST_10 215 |
||
242 | #define RET_C 216 |
||
243 | #define EXX 217 |
||
244 | #define JP_C 218 |
||
245 | #define IN_A_N 219 |
||
246 | #define CALL_C 220 |
||
247 | #define PREFIX_DD 221 |
||
248 | #define SBC_N 222 |
||
249 | #define RST_18 223 |
||
250 | #define RET_PO 224 |
||
251 | #define POP_HL 225 |
||
252 | #define JP_PO 226 |
||
253 | #define EX_HL_xSP 227 |
||
254 | #define CALL_PO 228 |
||
255 | #define PUSH_HL 229 |
||
256 | #define AND_N 230 |
||
257 | #define RST_20 231 |
||
258 | #define RET_PE 232 |
||
259 | #define JP_xHL 233 |
||
260 | #define JP_PE 234 |
||
261 | #define EX_DE_HL 235 |
||
262 | #define CALL_PE 236 |
||
263 | #define PREFIX_ED 237 |
||
264 | #define XOR_N 238 |
||
265 | #define RST_28 239 |
||
266 | #define RET_P 240 |
||
267 | #define POP_AF 241 |
||
268 | #define JP_P 242 |
||
269 | #define DI 243 |
||
270 | #define CALL_P 244 |
||
271 | #define PUSH_AF 245 |
||
272 | #define OR_N 246 |
||
273 | #define RST_30 247 |
||
274 | #define RET_M 248 |
||
275 | #define LD_SP_HL 249 |
||
276 | #define JP_M 250 |
||
277 | #define EI 251 |
||
278 | #define CALL_M 252 |
||
279 | #define PREFIX_FD 253 |
||
280 | #define CP_N 254 |
||
281 | #define RST_38 255 |
||
282 | |||
283 | |||
284 | |||
285 | /*--- CB Prefix opcodes: ---------------------------------------------*/ |
||
286 | #define RLC_B 0 |
||
287 | #define RLC_C 1 |
||
288 | #define RLC_D 2 |
||
289 | #define RLC_E 3 |
||
290 | #define RLC_H 4 |
||
291 | #define RLC_L 5 |
||
292 | #define RLC_xHL 6 |
||
293 | #define RLC_A 7 |
||
294 | #define RRC_B 8 |
||
295 | #define RRC_C 9 |
||
296 | #define RRC_D 10 |
||
297 | #define RRC_E 11 |
||
298 | #define RRC_H 12 |
||
299 | #define RRC_L 13 |
||
300 | #define RRC_xHL 14 |
||
301 | #define RRC_A 15 |
||
302 | #define RL_B 16 |
||
303 | #define RL_C 17 |
||
304 | #define RL_D 18 |
||
305 | #define RL_E 19 |
||
306 | #define RL_H 20 |
||
307 | #define RL_L 21 |
||
308 | #define RL_xHL 22 |
||
309 | #define RL_A 23 |
||
310 | #define RR_B 24 |
||
311 | #define RR_C 25 |
||
312 | #define RR_D 26 |
||
313 | #define RR_E 27 |
||
314 | #define RR_H 28 |
||
315 | #define RR_L 29 |
||
316 | #define RR_xHL 30 |
||
317 | #define RR_A 31 |
||
318 | #define SLA_B 32 |
||
319 | #define SLA_C 33 |
||
320 | #define SLA_D 34 |
||
321 | #define SLA_E 35 |
||
322 | #define SLA_H 36 |
||
323 | #define SLA_L 37 |
||
324 | #define SLA_xHL 38 |
||
325 | #define SLA_A 39 |
||
326 | #define SRA_B 40 |
||
327 | #define SRA_C 41 |
||
328 | #define SRA_D 42 |
||
329 | #define SRA_E 43 |
||
330 | #define SRA_H 44 |
||
331 | #define SRA_L 45 |
||
332 | #define SRA_xHL 46 |
||
333 | #define SRA_A 47 |
||
334 | #define SLL_B 48 |
||
335 | #define SLL_C 49 |
||
336 | #define SLL_D 50 |
||
337 | #define SLL_E 51 |
||
338 | #define SLL_H 52 |
||
339 | #define SLL_L 53 |
||
340 | #define SLL_xHL 54 |
||
341 | #define SLL_A 55 |
||
342 | #define SRL_B 56 |
||
343 | #define SRL_C 57 |
||
344 | #define SRL_D 58 |
||
345 | #define SRL_E 59 |
||
346 | #define SRL_H 60 |
||
347 | #define SRL_L 61 |
||
348 | #define SRL_xHL 62 |
||
349 | #define SRL_A 63 |
||
350 | #define BIT_0_B 64 |
||
351 | #define BIT_0_C 65 |
||
352 | #define BIT_0_D 66 |
||
353 | #define BIT_0_E 67 |
||
354 | #define BIT_0_H 68 |
||
355 | #define BIT_0_L 69 |
||
356 | #define BIT_0_xHL 70 |
||
357 | #define BIT_0_A 71 |
||
358 | #define BIT_1_B 72 |
||
359 | #define BIT_1_C 73 |
||
360 | #define BIT_1_D 74 |
||
361 | #define BIT_1_E 75 |
||
362 | #define BIT_1_H 76 |
||
363 | #define BIT_1_L 77 |
||
364 | #define BIT_1_xHL 78 |
||
365 | #define BIT_1_A 79 |
||
366 | #define BIT_2_B 80 |
||
367 | #define BIT_2_C 81 |
||
368 | #define BIT_2_D 82 |
||
369 | #define BIT_2_E 83 |
||
370 | #define BIT_2_H 84 |
||
371 | #define BIT_2_L 85 |
||
372 | #define BIT_2_xHL 86 |
||
373 | #define BIT_2_A 87 |
||
374 | #define BIT_3_B 88 |
||
375 | #define BIT_3_C 89 |
||
376 | #define BIT_3_D 90 |
||
377 | #define BIT_3_E 91 |
||
378 | #define BIT_3_H 92 |
||
379 | #define BIT_3_L 93 |
||
380 | #define BIT_3_xHL 94 |
||
381 | #define BIT_3_A 95 |
||
382 | #define BIT_4_B 96 |
||
383 | #define BIT_4_C 97 |
||
384 | #define BIT_4_D 98 |
||
385 | #define BIT_4_E 99 |
||
386 | #define BIT_4_H 100 |
||
387 | #define BIT_4_L 101 |
||
388 | #define BIT_4_xHL 102 |
||
389 | #define BIT_4_A 103 |
||
390 | #define BIT_5_B 104 |
||
391 | #define BIT_5_C 105 |
||
392 | #define BIT_5_D 106 |
||
393 | #define BIT_5_E 107 |
||
394 | #define BIT_5_H 108 |
||
395 | #define BIT_5_L 109 |
||
396 | #define BIT_5_xHL 110 |
||
397 | #define BIT_5_A 111 |
||
398 | #define BIT_6_B 112 |
||
399 | #define BIT_6_C 113 |
||
400 | #define BIT_6_D 114 |
||
401 | #define BIT_6_E 115 |
||
402 | #define BIT_6_H 116 |
||
403 | #define BIT_6_L 117 |
||
404 | #define BIT_6_xHL 118 |
||
405 | #define BIT_6_A 119 |
||
406 | #define BIT_7_B 120 |
||
407 | #define BIT_7_C 121 |
||
408 | #define BIT_7_D 122 |
||
409 | #define BIT_7_E 123 |
||
410 | #define BIT_7_H 124 |
||
411 | #define BIT_7_L 125 |
||
412 | #define BIT_7_xHL 126 |
||
413 | #define BIT_7_A 127 |
||
414 | #define RES_0_B 128 |
||
415 | #define RES_0_C 129 |
||
416 | #define RES_0_D 130 |
||
417 | #define RES_0_E 131 |
||
418 | #define RES_0_H 132 |
||
419 | #define RES_0_L 133 |
||
420 | #define RES_0_xHL 134 |
||
421 | #define RES_0_A 135 |
||
422 | #define RES_1_B 136 |
||
423 | #define RES_1_C 137 |
||
424 | #define RES_1_D 138 |
||
425 | #define RES_1_E 139 |
||
426 | #define RES_1_H 140 |
||
427 | #define RES_1_L 141 |
||
428 | #define RES_1_xHL 142 |
||
429 | #define RES_1_A 143 |
||
430 | #define RES_2_B 144 |
||
431 | #define RES_2_C 145 |
||
432 | #define RES_2_D 146 |
||
433 | #define RES_2_E 147 |
||
434 | #define RES_2_H 148 |
||
435 | #define RES_2_L 149 |
||
436 | #define RES_2_xHL 150 |
||
437 | #define RES_2_A 151 |
||
438 | #define RES_3_B 152 |
||
439 | #define RES_3_C 153 |
||
440 | #define RES_3_D 154 |
||
441 | #define RES_3_E 155 |
||
442 | #define RES_3_H 156 |
||
443 | #define RES_3_L 157 |
||
444 | #define RES_3_xHL 158 |
||
445 | #define RES_3_A 159 |
||
446 | #define RES_4_B 160 |
||
447 | #define RES_4_C 161 |
||
448 | #define RES_4_D 162 |
||
449 | #define RES_4_E 163 |
||
450 | #define RES_4_H 164 |
||
451 | #define RES_4_L 165 |
||
452 | #define RES_4_xHL 166 |
||
453 | #define RES_4_A 167 |
||
454 | #define RES_5_B 168 |
||
455 | #define RES_5_C 169 |
||
456 | #define RES_5_D 170 |
||
457 | #define RES_5_E 171 |
||
458 | #define RES_5_H 172 |
||
459 | #define RES_5_L 173 |
||
460 | #define RES_5_xHL 174 |
||
461 | #define RES_5_A 175 |
||
462 | #define RES_6_B 176 |
||
463 | #define RES_6_C 177 |
||
464 | #define RES_6_D 178 |
||
465 | #define RES_6_E 179 |
||
466 | #define RES_6_H 180 |
||
467 | #define RES_6_L 181 |
||
468 | #define RES_6_xHL 182 |
||
469 | #define RES_6_A 183 |
||
470 | #define RES_7_B 184 |
||
471 | #define RES_7_C 185 |
||
472 | #define RES_7_D 186 |
||
473 | #define RES_7_E 187 |
||
474 | #define RES_7_H 188 |
||
475 | #define RES_7_L 189 |
||
476 | #define RES_7_xHL 190 |
||
477 | #define RES_7_A 191 |
||
478 | #define SET_0_B 192 |
||
479 | #define SET_0_C 193 |
||
480 | #define SET_0_D 194 |
||
481 | #define SET_0_E 195 |
||
482 | #define SET_0_H 196 |
||
483 | #define SET_0_L 197 |
||
484 | #define SET_0_xHL 198 |
||
485 | #define SET_0_A 199 |
||
486 | #define SET_1_B 200 |
||
487 | #define SET_1_C 201 |
||
488 | #define SET_1_D 202 |
||
489 | #define SET_1_E 203 |
||
490 | #define SET_1_H 204 |
||
491 | #define SET_1_L 205 |
||
492 | #define SET_1_xHL 206 |
||
493 | #define SET_1_A 207 |
||
494 | #define SET_2_B 208 |
||
495 | #define SET_2_C 209 |
||
496 | #define SET_2_D 210 |
||
497 | #define SET_2_E 211 |
||
498 | #define SET_2_H 212 |
||
499 | #define SET_2_L 213 |
||
500 | #define SET_2_xHL 214 |
||
501 | #define SET_2_A 215 |
||
502 | #define SET_3_B 216 |
||
503 | #define SET_3_C 217 |
||
504 | #define SET_3_D 218 |
||
505 | #define SET_3_E 219 |
||
506 | #define SET_3_H 220 |
||
507 | #define SET_3_L 221 |
||
508 | #define SET_3_xHL 222 |
||
509 | #define SET_3_A 223 |
||
510 | #define SET_4_B 224 |
||
511 | #define SET_4_C 225 |
||
512 | #define SET_4_D 226 |
||
513 | #define SET_4_E 227 |
||
514 | #define SET_4_H 228 |
||
515 | #define SET_4_L 229 |
||
516 | #define SET_4_xHL 230 |
||
517 | #define SET_4_A 231 |
||
518 | #define SET_5_B 232 |
||
519 | #define SET_5_C 233 |
||
520 | #define SET_5_D 234 |
||
521 | #define SET_5_E 235 |
||
522 | #define SET_5_H 236 |
||
523 | #define SET_5_L 237 |
||
524 | #define SET_5_xHL 238 |
||
525 | #define SET_5_A 239 |
||
526 | #define SET_6_B 240 |
||
527 | #define SET_6_C 241 |
||
528 | #define SET_6_D 242 |
||
529 | #define SET_6_E 243 |
||
530 | #define SET_6_H 244 |
||
531 | #define SET_6_L 245 |
||
532 | #define SET_6_xHL 246 |
||
533 | #define SET_6_A 247 |
||
534 | #define SET_7_B 248 |
||
535 | #define SET_7_C 249 |
||
536 | #define SET_7_D 250 |
||
537 | #define SET_7_E 251 |
||
538 | #define SET_7_H 252 |
||
539 | #define SET_7_L 253 |
||
540 | #define SET_7_xHL 254 |
||
541 | #define SET_7_A 255 |
||
542 | |||
543 | |||
544 | /*--- ED opcodes: ----------------------------------------------------*/ |
||
545 | #define IN_B_xC 64 |
||
546 | #define OUT_xC_B 65 |
||
547 | #define SBC_HL_BC 66 |
||
548 | #define LD_xNNe_BC 67 |
||
549 | #define NEG 68 |
||
550 | #define RETN 69 |
||
551 | #define IM_0 70 |
||
552 | #define LD_I_A 71 |
||
553 | #define IN_C_xC 72 |
||
554 | #define OUT_xC_C 73 |
||
555 | #define ADC_HL_BC 74 |
||
556 | #define LD_BC_xNNe 75 |
||
557 | #define ED_4C 76 /* * NEG */ |
||
558 | #define RETI 77 |
||
559 | #define ED_4E 78 /* * IM 0/1 */ |
||
560 | #define LD_R_A 79 |
||
561 | #define IN_D_xC 80 |
||
562 | #define OUT_xC_D 81 |
||
563 | #define SBC_HL_DE 82 |
||
564 | #define LD_xNNe_DE 83 |
||
565 | #define ED_54 84 /* * NEG */ |
||
566 | #define ED_55 85 /* * RET */ |
||
567 | #define IM_1 86 |
||
568 | #define LD_A_I 87 |
||
569 | #define IN_E_xC 88 |
||
570 | #define OUT_xC_E 89 |
||
571 | #define ADC_HL_DE 90 |
||
572 | #define LD_DE_xNNe 91 |
||
573 | #define ED_5C 92 /* * NEG */ |
||
574 | #define ED_5D 93 /* * RET */ |
||
575 | #define IM_2 94 |
||
576 | #define LD_A_R 95 |
||
577 | #define IN_H_xC 96 |
||
578 | #define OUT_xC_H 97 |
||
579 | #define SBC_HL_HL 98 |
||
580 | #define LD_xNNe_HL 99 |
||
581 | #define ED_64 100 /* * NEG */ |
||
582 | #define ED_65 101 /* * RET */ |
||
583 | #define ED_66 102 /* * IM 0 */ |
||
584 | #define RRD 103 |
||
585 | #define IN_L_xC 104 |
||
586 | #define OUT_xC_L 105 |
||
587 | #define ADC_HL_HL 106 |
||
588 | #define LD_HL_xNNe 107 |
||
589 | #define ED_6C 108 /* * NEG */ |
||
590 | #define ED_6D 109 /* * RET */ |
||
591 | #define ED_6E 110 /* * IM 0 */ |
||
592 | #define RLD 111 |
||
593 | #define IN_F_xC 112 |
||
594 | #define ED_71 113 /* * OUT (C), 0 */ |
||
595 | #define SBC_HL_SP 114 |
||
596 | #define LD_xNNe_SP 115 |
||
597 | #define ED_74 116 /* * NEG */ |
||
598 | #define ED_75 117 /* * RET */ |
||
599 | #define ED_76 118 /* * IM 1 */ |
||
600 | #define ED_77 119 /* * NOP */ |
||
601 | #define IN_A_xC 120 |
||
602 | #define OUT_xC_A 121 |
||
603 | #define ADC_HL_SP 122 |
||
604 | #define LD_SP_xNNe 123 |
||
605 | #define ED_7C 124 /* * NEG */ |
||
606 | #define ED_7D 125 /* * RET */ |
||
607 | #define ED_7E 126 /* * IM 2 */ |
||
608 | #define ED_7F 127 /* * NOP */ |
||
609 | #define LDI 160 |
||
610 | #define CPI 161 |
||
611 | #define INI 162 |
||
612 | #define OUTI 163 |
||
613 | #define LDD 168 |
||
614 | #define CPD 169 |
||
615 | #define IND 170 |
||
616 | #define OUTD 171 |
||
617 | #define LDIR 176 |
||
618 | #define CPIR 177 |
||
619 | #define INIR 178 |
||
620 | #define OTIR 179 |
||
621 | #define LDDR 184 |
||
622 | #define CPDR 185 |
||
623 | #define INDR 186 |
||
624 | #define OTDR 187 |
||
625 | #define ED_FE 254 |
||
626 | |||
627 | |||
628 | /*--- DD xx opcodes: -------------------------------------------------*/ |
||
629 | /* Those are the DD xx opcodes where HL is treated as IX + a |
||
630 | signed byte displacement n when required: DD opcode n: */ |
||
631 | |||
632 | /*--- FD xx opcodes: -------------------------------------------------*/ |
||
633 | /* Those are the FD xx opcodes where HL is treated as IY + a |
||
634 | signed byte displacement n when required: FD opcode n: */ |
||
635 | |||
636 | #define ADD_IXY_BC 9 |
||
637 | #define ADD_IXY_DE 25 |
||
638 | #define LD_IXY_NN 33 |
||
639 | #define LD_xNN_IXY 34 |
||
640 | #define INC_IXY 35 |
||
641 | #define INC_IXYh 36 |
||
642 | #define DEC_IXYh 37 |
||
643 | #define LD_IXYh_N 38 |
||
644 | #define ADD_IXY_IXY 41 |
||
645 | #define LD_IXY_xNN 42 |
||
646 | #define DEC_IXY 43 |
||
647 | #define INC_IXYl 44 |
||
648 | #define DEC_IXYl 45 |
||
649 | #define LD_IXYl_N 46 |
||
650 | #define INC_xIXY 52 |
||
651 | #define DEC_xIXY 53 |
||
652 | #define LD_xIXY_N 54 |
||
653 | #define ADD_IXY_SP 57 |
||
654 | #define LD_B_IXYh 68 |
||
655 | #define LD_B_IXYl 69 |
||
656 | #define LD_B_xIXY 70 |
||
657 | #define LD_C_IXYh 76 |
||
658 | #define LD_C_IXYl 77 |
||
659 | #define LD_C_xIXY 78 |
||
660 | #define LD_D_IXYh 84 |
||
661 | #define LD_D_IXYl 85 |
||
662 | #define LD_D_xIXY 86 |
||
663 | #define LD_E_IXYh 92 |
||
664 | #define LD_E_IXYl 93 |
||
665 | #define LD_E_xIXY 94 |
||
666 | #define LD_IXYh_B 96 |
||
667 | #define LD_IXYh_C 97 |
||
668 | #define LD_IXYh_D 98 |
||
669 | #define LD_IXYh_E 99 |
||
670 | #define LD_IXYh_IXYh 100 |
||
671 | #define LD_IXYh_IXYl 101 |
||
672 | #define LD_H_xIXY 102 |
||
673 | #define LD_IXYh_A 103 |
||
674 | #define LD_IXYl_B 104 |
||
675 | #define LD_IXYl_C 105 |
||
676 | #define LD_IXYl_D 106 |
||
677 | #define LD_IXYl_E 107 |
||
678 | #define LD_IXYl_IXYh 108 |
||
679 | #define LD_IXYl_IXYl 109 |
||
680 | #define LD_L_xIXY 110 |
||
681 | #define LD_IXYl_A 111 |
||
682 | #define LD_xIXY_B 112 |
||
683 | #define LD_xIXY_C 113 |
||
684 | #define LD_xIXY_D 114 |
||
685 | #define LD_xIXY_E 115 |
||
686 | #define LD_xIXY_H 116 |
||
687 | #define LD_xIXY_L 117 |
||
688 | #define LD_xIXY_A 119 |
||
689 | #define LD_A_IXYh 124 |
||
690 | #define LD_A_IXYl 125 |
||
691 | #define LD_A_xIXY 126 |
||
692 | #define ADD_IXYh 132 |
||
693 | #define ADD_IXYl 133 |
||
694 | #define ADD_xIXY 134 |
||
695 | #define ADC_IXYh 140 |
||
696 | #define ADC_IXYl 141 |
||
697 | #define ADC_xIXY 142 |
||
698 | #define SUB_IXYh 148 |
||
699 | #define SUB_IXYl 149 |
||
700 | #define SUB_xIXY 150 |
||
701 | #define SBC_IXYh 156 |
||
702 | #define SBC_IXYl 157 |
||
703 | #define SBC_xIXY 158 |
||
704 | #define AND_IXYh 164 |
||
705 | #define AND_IXYl 165 |
||
706 | #define AND_xIXY 166 |
||
707 | #define XOR_IXYh 172 |
||
708 | #define XOR_IXYl 173 |
||
709 | #define XOR_xIXY 174 |
||
710 | #define OR_IXYh 180 |
||
711 | #define OR_IXYl 181 |
||
712 | #define OR_xIXY 182 |
||
713 | #define CP_IXYh 188 |
||
714 | #define CP_IXYl 189 |
||
715 | #define CP_xIXY 190 |
||
716 | #define POP_IXY 225 |
||
717 | #define EX_IXY_xSP 227 |
||
718 | #define PUSH_IXY 229 |
||
719 | #define JP_IXY 233 |
||
720 | #define LD_SP_IXY 249 |
||
721 | |||
722 | |||
723 | |||
724 | |||
725 | /*--- DD CB Prefix opcodes: ------------------------------------------*/ |
||
726 | /* Those are the CB xx opcodes where HL is treated as IX + a |
||
727 | signed byte displacement n: DD CB n opcode: */ |
||
728 | /*--- FD CB Prefix opcodes: ------------------------------------------*/ |
||
729 | /* Those are the CB xx opcodes where HL is treated as IY + a |
||
730 | signed byte displacement n: FD CB n opcode: */ |
||
731 | |||
732 | #define RLC_IXYh 4 |
||
733 | #define RLC_IXYl 5 |
||
734 | #define RLC_xIXY 6 |
||
735 | #define RRC_IXYh 12 |
||
736 | #define RRC_IXYl 13 |
||
737 | #define RRC_xIXY 14 |
||
738 | #define RL_IXYh 20 |
||
739 | #define RL_IXYl 21 |
||
740 | #define RL_xIXY 22 |
||
741 | #define RR_IXYh 28 |
||
742 | #define RR_IXYl 29 |
||
743 | #define RR_xIXY 30 |
||
744 | #define SLA_IXYh 36 |
||
745 | #define SLA_IXYl 37 |
||
746 | #define SLA_xIXY 38 |
||
747 | #define SRA_IXYh 44 |
||
748 | #define SRA_IXYl 45 |
||
749 | #define SRA_xIXY 46 |
||
750 | #define SLL_IXYh 52 |
||
751 | #define SLL_IXYl 53 |
||
752 | #define SLL_xIXY 54 |
||
753 | #define SRL_IXYh 60 |
||
754 | #define SRL_IXYl 61 |
||
755 | #define SRL_xIXY 62 |
||
756 | #define BIT_0_IXYh 68 |
||
757 | #define BIT_0_IXYl 69 |
||
758 | #define BIT_0_xIXY 70 |
||
759 | #define BIT_1_IXYh 76 |
||
760 | #define BIT_1_IXYl 77 |
||
761 | #define BIT_1_xIXY 78 |
||
762 | #define BIT_2_IXYh 84 |
||
763 | #define BIT_2_IXYl 85 |
||
764 | #define BIT_2_xIXY 86 |
||
765 | #define BIT_3_IXYh 92 |
||
766 | #define BIT_3_IXYl 93 |
||
767 | #define BIT_3_xIXY 94 |
||
768 | #define BIT_4_IXYh 100 |
||
769 | #define BIT_4_IXYl 101 |
||
770 | #define BIT_4_xIXY 102 |
||
771 | #define BIT_5_IXYh 108 |
||
772 | #define BIT_5_IXYl 109 |
||
773 | #define BIT_5_xIXY 110 |
||
774 | #define BIT_6_IXYh 116 |
||
775 | #define BIT_6_IXYl 117 |
||
776 | #define BIT_6_xIXY 118 |
||
777 | #define BIT_7_IXYh 124 |
||
778 | #define BIT_7_IXYl 125 |
||
779 | #define BIT_7_xIXY 126 |
||
780 | #define RES_0_IXYh 132 |
||
781 | #define RES_0_IXYl 133 |
||
782 | #define RES_0_xIXY 134 |
||
783 | #define RES_1_IXYh 140 |
||
784 | #define RES_1_IXYl 141 |
||
785 | #define RES_1_xIXY 142 |
||
786 | #define RES_2_IXYh 148 |
||
787 | #define RES_2_IXYl 149 |
||
788 | #define RES_2_xIXY 150 |
||
789 | #define RES_3_IXYh 156 |
||
790 | #define RES_3_IXYl 157 |
||
791 | #define RES_3_xIXY 158 |
||
792 | #define RES_4_IXYh 164 |
||
793 | #define RES_4_IXYl 165 |
||
794 | #define RES_4_xIXY 166 |
||
795 | #define RES_5_IXYh 172 |
||
796 | #define RES_5_IXYl 173 |
||
797 | #define RES_5_xIXY 174 |
||
798 | #define RES_6_IXYh 180 |
||
799 | #define RES_6_IXYl 181 |
||
800 | #define RES_6_xIXY 182 |
||
801 | #define RES_7_IXYh 188 |
||
802 | #define RES_7_IXYl 189 |
||
803 | #define RES_7_xIXY 190 |
||
804 | #define SET_0_IXYh 196 |
||
805 | #define SET_0_IXYl 197 |
||
806 | #define SET_0_xIXY 198 |
||
807 | #define SET_1_IXYh 204 |
||
808 | #define SET_1_IXYl 205 |
||
809 | #define SET_1_xIXY 206 |
||
810 | #define SET_2_IXYh 212 |
||
811 | #define SET_2_IXYl 213 |
||
812 | #define SET_2_xIXY 214 |
||
813 | #define SET_3_IXYh 220 |
||
814 | #define SET_3_IXYl 221 |
||
815 | #define SET_3_xIXY 222 |
||
816 | #define SET_4_IXYh 228 |
||
817 | #define SET_4_IXYl 229 |
||
818 | #define SET_4_xIXY 230 |
||
819 | #define SET_5_IXYh 236 |
||
820 | #define SET_5_IXYl 237 |
||
821 | #define SET_5_xIXY 238 |
||
822 | #define SET_6_IXYh 244 |
||
823 | #define SET_6_IXYl 245 |
||
824 | #define SET_6_xIXY 246 |
||
825 | #define SET_7_IXYh 252 |
||
826 | #define SET_7_IXYl 253 |
||
827 | #define SET_7_xIXY 254 |
||
828 | |||
829 | #endif |