blob: 531df044dffbdb1bb4c447ee2a5204ae5016645a [file] [log] [blame]
Dave Chapmana8145842006-03-11 15:44:35 +00001/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Pacbox - a Pacman Emulator for Rockbox
11 *
12 * Based on PIE - Pacman Instructional Emulator
13 *
14 * Copyright (c) 1997-2003,2004 Alessandro Scotti
15 * http://www.ascotti.org/
16 *
Daniel Stenberg2acc0ac2008-06-28 18:10:04 +000017 * This program is free software; you can redistribute it and/or
18 * modify it under the terms of the GNU General Public License
19 * as published by the Free Software Foundation; either version 2
20 * of the License, or (at your option) any later version.
Dave Chapmana8145842006-03-11 15:44:35 +000021 *
22 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
23 * KIND, either express or implied.
24 *
25 ****************************************************************************/
26
27#ifndef Z80_INTERNAL_H_
28#define Z80_INTERNAL_H_
29
30// Implementation of opcodes 0x00 to 0xFF
31void opcode_00(void); // NOP
32void opcode_01(void); // LD BC,nn
33void opcode_02(void); // LD (BC),A
34void opcode_03(void); // INC BC
35void opcode_04(void); // INC B
36void opcode_05(void); // DEC B
37void opcode_06(void); // LD B,n
38void opcode_07(void); // RLCA
39void opcode_08(void); // EX AF,AF'
40void opcode_09(void); // ADD HL,BC
41void opcode_0a(void); // LD A,(BC)
42void opcode_0b(void); // DEC BC
43void opcode_0c(void); // INC C
44void opcode_0d(void); // DEC C
45void opcode_0e(void); // LD C,n
46void opcode_0f(void); // RRCA
47void opcode_10(void); // DJNZ d
48void opcode_11(void); // LD DE,nn
49void opcode_12(void); // LD (DE),A
50void opcode_13(void); // INC DE
51void opcode_14(void); // INC D
52void opcode_15(void); // DEC D
53void opcode_16(void); // LD D,n
54void opcode_17(void); // RLA
55void opcode_18(void); // JR d
56void opcode_19(void); // ADD HL,DE
57void opcode_1a(void); // LD A,(DE)
58void opcode_1b(void); // DEC DE
59void opcode_1c(void); // INC E
60void opcode_1d(void); // DEC E
61void opcode_1e(void); // LD E,n
62void opcode_1f(void); // RRA
63void opcode_20(void); // JR NZ,d
64void opcode_21(void); // LD HL,nn
65void opcode_22(void); // LD (nn),HL
66void opcode_23(void); // INC HL
67void opcode_24(void); // INC H
68void opcode_25(void); // DEC H
69void opcode_26(void); // LD H,n
70void opcode_27(void); // DAA
71void opcode_28(void); // JR Z,d
72void opcode_29(void); // ADD HL,HL
73void opcode_2a(void); // LD HL,(nn)
74void opcode_2b(void); // DEC HL
75void opcode_2c(void); // INC L
76void opcode_2d(void); // DEC L
77void opcode_2e(void); // LD L,n
78void opcode_2f(void); // CPL
79void opcode_30(void); // JR NC,d
80void opcode_31(void); // LD SP,nn
81void opcode_32(void); // LD (nn),A
82void opcode_33(void); // INC SP
83void opcode_34(void); // INC (HL)
84void opcode_35(void); // DEC (HL)
85void opcode_36(void); // LD (HL),n
86void opcode_37(void); // SCF
87void opcode_38(void); // JR C,d
88void opcode_39(void); // ADD HL,SP
89void opcode_3a(void); // LD A,(nn)
90void opcode_3b(void); // DEC SP
91void opcode_3c(void); // INC A
92void opcode_3d(void); // DEC A
93void opcode_3e(void); // LD A,n
94void opcode_3f(void); // CCF
95void opcode_40(void); // LD B,B
96void opcode_41(void); // LD B,C
97void opcode_42(void); // LD B,D
98void opcode_43(void); // LD B,E
99void opcode_44(void); // LD B,H
100void opcode_45(void); // LD B,L
101void opcode_46(void); // LD B,(HL)
102void opcode_47(void); // LD B,A
103void opcode_48(void); // LD C,B
104void opcode_49(void); // LD C,C
105void opcode_4a(void); // LD C,D
106void opcode_4b(void); // LD C,E
107void opcode_4c(void); // LD C,H
108void opcode_4d(void); // LD C,L
109void opcode_4e(void); // LD C,(HL)
110void opcode_4f(void); // LD C,A
111void opcode_50(void); // LD D,B
112void opcode_51(void); // LD D,C
113void opcode_52(void); // LD D,D
114void opcode_53(void); // LD D,E
115void opcode_54(void); // LD D,H
116void opcode_55(void); // LD D,L
117void opcode_56(void); // LD D,(HL)
118void opcode_57(void); // LD D,A
119void opcode_58(void); // LD E,B
120void opcode_59(void); // LD E,C
121void opcode_5a(void); // LD E,D
122void opcode_5b(void); // LD E,E
123void opcode_5c(void); // LD E,H
124void opcode_5d(void); // LD E,L
125void opcode_5e(void); // LD E,(HL)
126void opcode_5f(void); // LD E,A
127void opcode_60(void); // LD H,B
128void opcode_61(void); // LD H,C
129void opcode_62(void); // LD H,D
130void opcode_63(void); // LD H,E
131void opcode_64(void); // LD H,H
132void opcode_65(void); // LD H,L
133void opcode_66(void); // LD H,(HL)
134void opcode_67(void); // LD H,A
135void opcode_68(void); // LD L,B
136void opcode_69(void); // LD L,C
137void opcode_6a(void); // LD L,D
138void opcode_6b(void); // LD L,E
139void opcode_6c(void); // LD L,H
140void opcode_6d(void); // LD L,L
141void opcode_6e(void); // LD L,(HL)
142void opcode_6f(void); // LD L,A
143void opcode_70(void); // LD (HL),B
144void opcode_71(void); // LD (HL),C
145void opcode_72(void); // LD (HL),D
146void opcode_73(void); // LD (HL),E
147void opcode_74(void); // LD (HL),H
148void opcode_75(void); // LD (HL),L
149void opcode_76(void); // HALT
150void opcode_77(void); // LD (HL),A
151void opcode_78(void); // LD A,B
152void opcode_79(void); // LD A,C
153void opcode_7a(void); // LD A,D
154void opcode_7b(void); // LD A,E
155void opcode_7c(void); // LD A,H
156void opcode_7d(void); // LD A,L
157void opcode_7e(void); // LD A,(HL)
158void opcode_7f(void); // LD A,A
159void opcode_80(void); // ADD A,B
160void opcode_81(void); // ADD A,C
161void opcode_82(void); // ADD A,D
162void opcode_83(void); // ADD A,E
163void opcode_84(void); // ADD A,H
164void opcode_85(void); // ADD A,L
165void opcode_86(void); // ADD A,(HL)
166void opcode_87(void); // ADD A,A
167void opcode_88(void); // ADC A,B
168void opcode_89(void); // ADC A,C
169void opcode_8a(void); // ADC A,D
170void opcode_8b(void); // ADC A,E
171void opcode_8c(void); // ADC A,H
172void opcode_8d(void); // ADC A,L
173void opcode_8e(void); // ADC A,(HL)
174void opcode_8f(void); // ADC A,A
175void opcode_90(void); // SUB B
176void opcode_91(void); // SUB C
177void opcode_92(void); // SUB D
178void opcode_93(void); // SUB E
179void opcode_94(void); // SUB H
180void opcode_95(void); // SUB L
181void opcode_96(void); // SUB (HL)
182void opcode_97(void); // SUB A
183void opcode_98(void); // SBC A,B
184void opcode_99(void); // SBC A,C
185void opcode_9a(void); // SBC A,D
186void opcode_9b(void); // SBC A,E
187void opcode_9c(void); // SBC A,H
188void opcode_9d(void); // SBC A,L
189void opcode_9e(void); // SBC A,(HL)
190void opcode_9f(void); // SBC A,A
191void opcode_a0(void); // AND B
192void opcode_a1(void); // AND C
193void opcode_a2(void); // AND D
194void opcode_a3(void); // AND E
195void opcode_a4(void); // AND H
196void opcode_a5(void); // AND L
197void opcode_a6(void); // AND (HL)
198void opcode_a7(void); // AND A
199void opcode_a8(void); // XOR B
200void opcode_a9(void); // XOR C
201void opcode_aa(void); // XOR D
202void opcode_ab(void); // XOR E
203void opcode_ac(void); // XOR H
204void opcode_ad(void); // XOR L
205void opcode_ae(void); // XOR (HL)
206void opcode_af(void); // XOR A
207void opcode_b0(void); // OR B
208void opcode_b1(void); // OR C
209void opcode_b2(void); // OR D
210void opcode_b3(void); // OR E
211void opcode_b4(void); // OR H
212void opcode_b5(void); // OR L
213void opcode_b6(void); // OR (HL)
214void opcode_b7(void); // OR A
215void opcode_b8(void); // CP B
216void opcode_b9(void); // CP C
217void opcode_ba(void); // CP D
218void opcode_bb(void); // CP E
219void opcode_bc(void); // CP H
220void opcode_bd(void); // CP L
221void opcode_be(void); // CP (HL)
222void opcode_bf(void); // CP A
223void opcode_c0(void); // RET NZ
224void opcode_c1(void); // POP BC
225void opcode_c2(void); // JP NZ,nn
226void opcode_c3(void); // JP nn
227void opcode_c4(void); // CALL NZ,nn
228void opcode_c5(void); // PUSH BC
229void opcode_c6(void); // ADD A,n
230void opcode_c7(void); // RST 0
231void opcode_c8(void); // RET Z
232void opcode_c9(void); // RET
233void opcode_ca(void); // JP Z,nn
234void opcode_cb(void); // [Prefix]
235void opcode_cc(void); // CALL Z,nn
236void opcode_cd(void); // CALL nn
237void opcode_ce(void); // ADC A,n
238void opcode_cf(void); // RST 8
239void opcode_d0(void); // RET NC
240void opcode_d1(void); // POP DE
241void opcode_d2(void); // JP NC,nn
242void opcode_d3(void); // OUT (n),A
243void opcode_d4(void); // CALL NC,nn
244void opcode_d5(void); // PUSH DE
245void opcode_d6(void); // SUB n
246void opcode_d7(void); // RST 10H
247void opcode_d8(void); // RET C
248void opcode_d9(void); // EXX
249void opcode_da(void); // JP C,nn
250void opcode_db(void); // IN A,(n)
251void opcode_dc(void); // CALL C,nn
252void opcode_dd(void); // [IX Prefix]
253void opcode_de(void); // SBC A,n
254void opcode_df(void); // RST 18H
255void opcode_e0(void); // RET PO
256void opcode_e1(void); // POP HL
257void opcode_e2(void); // JP PO,nn
258void opcode_e3(void); // EX (SP),HL
259void opcode_e4(void); // CALL PO,nn
260void opcode_e5(void); // PUSH HL
261void opcode_e6(void); // AND n
262void opcode_e7(void); // RST 20H
263void opcode_e8(void); // RET PE
264void opcode_e9(void); // JP (HL)
265void opcode_ea(void); // JP PE,nn
266void opcode_eb(void); // EX DE,HL
267void opcode_ec(void); // CALL PE,nn
268void opcode_ed(void); // [Prefix]
269void opcode_ee(void); // XOR n
270void opcode_ef(void); // RST 28H
271void opcode_f0(void); // RET P
272void opcode_f1(void); // POP AF
273void opcode_f2(void); // JP P,nn
274void opcode_f3(void); // DI
275void opcode_f4(void); // CALL P,nn
276void opcode_f5(void); // PUSH AF
277void opcode_f6(void); // OR n
278void opcode_f7(void); // RST 30H
279void opcode_f8(void); // RET M
280void opcode_f9(void); // LD SP,HL
281void opcode_fa(void); // JP M,nn
282void opcode_fb(void); // EI
283void opcode_fc(void); // CALL M,nn
284void opcode_fd(void); // [IY Prefix]
285void opcode_fe(void); // CP n
286void opcode_ff(void); // RST 38H
287
288// Handlers for the 0xCB prefix
289void opcode_cb_00(void); // RLC B
290void opcode_cb_01(void); // RLC C
291void opcode_cb_02(void); // RLC D
292void opcode_cb_03(void); // RLC E
293void opcode_cb_04(void); // RLC H
294void opcode_cb_05(void); // RLC L
295void opcode_cb_06(void); // RLC (HL)
296void opcode_cb_07(void); // RLC A
297void opcode_cb_08(void); // RRC B
298void opcode_cb_09(void); // RRC C
299void opcode_cb_0a(void); // RRC D
300void opcode_cb_0b(void); // RRC E
301void opcode_cb_0c(void); // RRC H
302void opcode_cb_0d(void); // RRC L
303void opcode_cb_0e(void); // RRC (HL)
304void opcode_cb_0f(void); // RRC A
305void opcode_cb_10(void); // RL B
306void opcode_cb_11(void); // RL C
307void opcode_cb_12(void); // RL D
308void opcode_cb_13(void); // RL E
309void opcode_cb_14(void); // RL H
310void opcode_cb_15(void); // RL L
311void opcode_cb_16(void); // RL (HL)
312void opcode_cb_17(void); // RL A
313void opcode_cb_18(void); // RR B
314void opcode_cb_19(void); // RR C
315void opcode_cb_1a(void); // RR D
316void opcode_cb_1b(void); // RR E
317void opcode_cb_1c(void); // RR H
318void opcode_cb_1d(void); // RR L
319void opcode_cb_1e(void); // RR (HL)
320void opcode_cb_1f(void); // RR A
321void opcode_cb_20(void); // SLA B
322void opcode_cb_21(void); // SLA C
323void opcode_cb_22(void); // SLA D
324void opcode_cb_23(void); // SLA E
325void opcode_cb_24(void); // SLA H
326void opcode_cb_25(void); // SLA L
327void opcode_cb_26(void); // SLA (HL)
328void opcode_cb_27(void); // SLA A
329void opcode_cb_28(void); // SRA B
330void opcode_cb_29(void); // SRA C
331void opcode_cb_2a(void); // SRA D
332void opcode_cb_2b(void); // SRA E
333void opcode_cb_2c(void); // SRA H
334void opcode_cb_2d(void); // SRA L
335void opcode_cb_2e(void); // SRA (HL)
336void opcode_cb_2f(void); // SRA A
337void opcode_cb_30(void); // SLL B [undocumented]
338void opcode_cb_31(void); // SLL C [undocumented]
339void opcode_cb_32(void); // SLL D [undocumented]
340void opcode_cb_33(void); // SLL E [undocumented]
341void opcode_cb_34(void); // SLL H [undocumented]
342void opcode_cb_35(void); // SLL L [undocumented]
343void opcode_cb_36(void); // SLL (HL) [undocumented]
344void opcode_cb_37(void); // SLL A [undocumented]
345void opcode_cb_38(void); // SRL B
346void opcode_cb_39(void); // SRL C
347void opcode_cb_3a(void); // SRL D
348void opcode_cb_3b(void); // SRL E
349void opcode_cb_3c(void); // SRL H
350void opcode_cb_3d(void); // SRL L
351void opcode_cb_3e(void); // SRL (HL)
352void opcode_cb_3f(void); // SRL A
353void opcode_cb_40(void); // BIT 0, B
354void opcode_cb_41(void); // BIT 0, C
355void opcode_cb_42(void); // BIT 0, D
356void opcode_cb_43(void); // BIT 0, E
357void opcode_cb_44(void); // BIT 0, H
358void opcode_cb_45(void); // BIT 0, L
359void opcode_cb_46(void); // BIT 0, (HL)
360void opcode_cb_47(void); // BIT 0, A
361void opcode_cb_48(void); // BIT 1, B
362void opcode_cb_49(void); // BIT 1, C
363void opcode_cb_4a(void); // BIT 1, D
364void opcode_cb_4b(void); // BIT 1, E
365void opcode_cb_4c(void); // BIT 1, H
366void opcode_cb_4d(void); // BIT 1, L
367void opcode_cb_4e(void); // BIT 1, (HL)
368void opcode_cb_4f(void); // BIT 1, A
369void opcode_cb_50(void); // BIT 2, B
370void opcode_cb_51(void); // BIT 2, C
371void opcode_cb_52(void); // BIT 2, D
372void opcode_cb_53(void); // BIT 2, E
373void opcode_cb_54(void); // BIT 2, H
374void opcode_cb_55(void); // BIT 2, L
375void opcode_cb_56(void); // BIT 2, (HL)
376void opcode_cb_57(void); // BIT 2, A
377void opcode_cb_58(void); // BIT 3, B
378void opcode_cb_59(void); // BIT 3, C
379void opcode_cb_5a(void); // BIT 3, D
380void opcode_cb_5b(void); // BIT 3, E
381void opcode_cb_5c(void); // BIT 3, H
382void opcode_cb_5d(void); // BIT 3, L
383void opcode_cb_5e(void); // BIT 3, (HL)
384void opcode_cb_5f(void); // BIT 3, A
385void opcode_cb_60(void); // BIT 4, B
386void opcode_cb_61(void); // BIT 4, C
387void opcode_cb_62(void); // BIT 4, D
388void opcode_cb_63(void); // BIT 4, E
389void opcode_cb_64(void); // BIT 4, H
390void opcode_cb_65(void); // BIT 4, L
391void opcode_cb_66(void); // BIT 4, (HL)
392void opcode_cb_67(void); // BIT 4, A
393void opcode_cb_68(void); // BIT 5, B
394void opcode_cb_69(void); // BIT 5, C
395void opcode_cb_6a(void); // BIT 5, D
396void opcode_cb_6b(void); // BIT 5, E
397void opcode_cb_6c(void); // BIT 5, H
398void opcode_cb_6d(void); // BIT 5, L
399void opcode_cb_6e(void); // BIT 5, (HL)
400void opcode_cb_6f(void); // BIT 5, A
401void opcode_cb_70(void); // BIT 6, B
402void opcode_cb_71(void); // BIT 6, C
403void opcode_cb_72(void); // BIT 6, D
404void opcode_cb_73(void); // BIT 6, E
405void opcode_cb_74(void); // BIT 6, H
406void opcode_cb_75(void); // BIT 6, L
407void opcode_cb_76(void); // BIT 6, (HL)
408void opcode_cb_77(void); // BIT 6, A
409void opcode_cb_78(void); // BIT 7, B
410void opcode_cb_79(void); // BIT 7, C
411void opcode_cb_7a(void); // BIT 7, D
412void opcode_cb_7b(void); // BIT 7, E
413void opcode_cb_7c(void); // BIT 7, H
414void opcode_cb_7d(void); // BIT 7, L
415void opcode_cb_7e(void); // BIT 7, (HL)
416void opcode_cb_7f(void); // BIT 7, A
417void opcode_cb_80(void); // RES 0, B
418void opcode_cb_81(void); // RES 0, C
419void opcode_cb_82(void); // RES 0, D
420void opcode_cb_83(void); // RES 0, E
421void opcode_cb_84(void); // RES 0, H
422void opcode_cb_85(void); // RES 0, L
423void opcode_cb_86(void); // RES 0, (HL)
424void opcode_cb_87(void); // RES 0, A
425void opcode_cb_88(void); // RES 1, B
426void opcode_cb_89(void); // RES 1, C
427void opcode_cb_8a(void); // RES 1, D
428void opcode_cb_8b(void); // RES 1, E
429void opcode_cb_8c(void); // RES 1, H
430void opcode_cb_8d(void); // RES 1, L
431void opcode_cb_8e(void); // RES 1, (HL)
432void opcode_cb_8f(void); // RES 1, A
433void opcode_cb_90(void); // RES 2, B
434void opcode_cb_91(void); // RES 2, C
435void opcode_cb_92(void); // RES 2, D
436void opcode_cb_93(void); // RES 2, E
437void opcode_cb_94(void); // RES 2, H
438void opcode_cb_95(void); // RES 2, L
439void opcode_cb_96(void); // RES 2, (HL)
440void opcode_cb_97(void); // RES 2, A
441void opcode_cb_98(void); // RES 3, B
442void opcode_cb_99(void); // RES 3, C
443void opcode_cb_9a(void); // RES 3, D
444void opcode_cb_9b(void); // RES 3, E
445void opcode_cb_9c(void); // RES 3, H
446void opcode_cb_9d(void); // RES 3, L
447void opcode_cb_9e(void); // RES 3, (HL)
448void opcode_cb_9f(void); // RES 3, A
449void opcode_cb_a0(void); // RES 4, B
450void opcode_cb_a1(void); // RES 4, C
451void opcode_cb_a2(void); // RES 4, D
452void opcode_cb_a3(void); // RES 4, E
453void opcode_cb_a4(void); // RES 4, H
454void opcode_cb_a5(void); // RES 4, L
455void opcode_cb_a6(void); // RES 4, (HL)
456void opcode_cb_a7(void); // RES 4, A
457void opcode_cb_a8(void); // RES 5, B
458void opcode_cb_a9(void); // RES 5, C
459void opcode_cb_aa(void); // RES 5, D
460void opcode_cb_ab(void); // RES 5, E
461void opcode_cb_ac(void); // RES 5, H
462void opcode_cb_ad(void); // RES 5, L
463void opcode_cb_ae(void); // RES 5, (HL)
464void opcode_cb_af(void); // RES 5, A
465void opcode_cb_b0(void); // RES 6, B
466void opcode_cb_b1(void); // RES 6, C
467void opcode_cb_b2(void); // RES 6, D
468void opcode_cb_b3(void); // RES 6, E
469void opcode_cb_b4(void); // RES 6, H
470void opcode_cb_b5(void); // RES 6, L
471void opcode_cb_b6(void); // RES 6, (HL)
472void opcode_cb_b7(void); // RES 6, A
473void opcode_cb_b8(void); // RES 7, B
474void opcode_cb_b9(void); // RES 7, C
475void opcode_cb_ba(void); // RES 7, D
476void opcode_cb_bb(void); // RES 7, E
477void opcode_cb_bc(void); // RES 7, H
478void opcode_cb_bd(void); // RES 7, L
479void opcode_cb_be(void); // RES 7, (HL)
480void opcode_cb_bf(void); // RES 7, A
481void opcode_cb_c0(void); // SET 0, B
482void opcode_cb_c1(void); // SET 0, C
483void opcode_cb_c2(void); // SET 0, D
484void opcode_cb_c3(void); // SET 0, E
485void opcode_cb_c4(void); // SET 0, H
486void opcode_cb_c5(void); // SET 0, L
487void opcode_cb_c6(void); // SET 0, (HL)
488void opcode_cb_c7(void); // SET 0, A
489void opcode_cb_c8(void); // SET 1, B
490void opcode_cb_c9(void); // SET 1, C
491void opcode_cb_ca(void); // SET 1, D
492void opcode_cb_cb(void); // SET 1, E
493void opcode_cb_cc(void); // SET 1, H
494void opcode_cb_cd(void); // SET 1, L
495void opcode_cb_ce(void); // SET 1, (HL)
496void opcode_cb_cf(void); // SET 1, A
497void opcode_cb_d0(void); // SET 2, B
498void opcode_cb_d1(void); // SET 2, C
499void opcode_cb_d2(void); // SET 2, D
500void opcode_cb_d3(void); // SET 2, E
501void opcode_cb_d4(void); // SET 2, H
502void opcode_cb_d5(void); // SET 2, L
503void opcode_cb_d6(void); // SET 2, (HL)
504void opcode_cb_d7(void); // SET 2, A
505void opcode_cb_d8(void); // SET 3, B
506void opcode_cb_d9(void); // SET 3, C
507void opcode_cb_da(void); // SET 3, D
508void opcode_cb_db(void); // SET 3, E
509void opcode_cb_dc(void); // SET 3, H
510void opcode_cb_dd(void); // SET 3, L
511void opcode_cb_de(void); // SET 3, (HL)
512void opcode_cb_df(void); // SET 3, A
513void opcode_cb_e0(void); // SET 4, B
514void opcode_cb_e1(void); // SET 4, C
515void opcode_cb_e2(void); // SET 4, D
516void opcode_cb_e3(void); // SET 4, E
517void opcode_cb_e4(void); // SET 4, H
518void opcode_cb_e5(void); // SET 4, L
519void opcode_cb_e6(void); // SET 4, (HL)
520void opcode_cb_e7(void); // SET 4, A
521void opcode_cb_e8(void); // SET 5, B
522void opcode_cb_e9(void); // SET 5, C
523void opcode_cb_ea(void); // SET 5, D
524void opcode_cb_eb(void); // SET 5, E
525void opcode_cb_ec(void); // SET 5, H
526void opcode_cb_ed(void); // SET 5, L
527void opcode_cb_ee(void); // SET 5, (HL)
528void opcode_cb_ef(void); // SET 5, A
529void opcode_cb_f0(void); // SET 6, B
530void opcode_cb_f1(void); // SET 6, C
531void opcode_cb_f2(void); // SET 6, D
532void opcode_cb_f3(void); // SET 6, E
533void opcode_cb_f4(void); // SET 6, H
534void opcode_cb_f5(void); // SET 6, L
535void opcode_cb_f6(void); // SET 6, (HL)
536void opcode_cb_f7(void); // SET 6, A
537void opcode_cb_f8(void); // SET 7, B
538void opcode_cb_f9(void); // SET 7, C
539void opcode_cb_fa(void); // SET 7, D
540void opcode_cb_fb(void); // SET 7, E
541void opcode_cb_fc(void); // SET 7, H
542void opcode_cb_fd(void); // SET 7, L
543void opcode_cb_fe(void); // SET 7, (HL)
544void opcode_cb_ff(void); // SET 7, A
545
546// Handlers for the 0xED prefix
547void opcode_ed_40(void); // IN B, (C)
548void opcode_ed_41(void); // OUT (C), B
549void opcode_ed_42(void); // SBC HL, BC
550void opcode_ed_43(void); // LD (nn), BC
551void opcode_ed_44(void); // NEG
552void opcode_ed_45(void); // RETN
553void opcode_ed_46(void); // IM 0
554void opcode_ed_47(void); // LD I, A
555void opcode_ed_48(void); // IN C, (C)
556void opcode_ed_49(void); // OUT (C), C
557void opcode_ed_4a(void); // ADC HL, BC
558void opcode_ed_4b(void); // LD BC, (nn)
559void opcode_ed_4c(void); // NEG [undocumented]
560void opcode_ed_4d(void); // RETI
561void opcode_ed_4e(void); // IM 0/1 [undocumented]
562void opcode_ed_4f(void); // LD R, A
563void opcode_ed_50(void); // IN D, (C)
564void opcode_ed_51(void); // OUT (C), D
565void opcode_ed_52(void); // SBC HL, DE
566void opcode_ed_53(void); // LD (nn), DE
567void opcode_ed_54(void); // NEG [undocumented]
568void opcode_ed_55(void); // RETN [undocumented]
569void opcode_ed_56(void); // IM 1
570void opcode_ed_57(void); // LD A, I
571void opcode_ed_58(void); // IN E, (C)
572void opcode_ed_59(void); // OUT (C), E
573void opcode_ed_5a(void); // ADC HL, DE
574void opcode_ed_5b(void); // LD DE, (nn)
575void opcode_ed_5c(void); // NEG [undocumented]
576void opcode_ed_5d(void); // RETN [undocumented]
577void opcode_ed_5e(void); // IM 2
578void opcode_ed_5f(void); // LD A, R
579void opcode_ed_60(void); // IN H, (C)
580void opcode_ed_61(void); // OUT (C), H
581void opcode_ed_62(void); // SBC HL, HL
582void opcode_ed_63(void); // LD (nn), HL
583void opcode_ed_64(void); // NEG [undocumented]
584void opcode_ed_65(void); // RETN [undocumented]
585void opcode_ed_66(void); // IM 0 [undocumented]
586void opcode_ed_67(void); // RRD
587void opcode_ed_68(void); // IN L, (C)
588void opcode_ed_69(void); // OUT (C), L
589void opcode_ed_6a(void); // ADC HL, HL
590void opcode_ed_6b(void); // LD HL, (nn)
591void opcode_ed_6c(void); // NEG [undocumented]
592void opcode_ed_6d(void); // RETN [undocumented]
593void opcode_ed_6e(void); // IM 0/1 [undocumented]
594void opcode_ed_6f(void); // RLD
595void opcode_ed_70(void); // IN (C)/IN F, (C) [undocumented]
596void opcode_ed_71(void); // OUT (C), 0 [undocumented]
597void opcode_ed_72(void); // SBC HL, SP
598void opcode_ed_73(void); // LD (nn), SP
599void opcode_ed_74(void); // NEG [undocumented]
600void opcode_ed_75(void); // RETN [undocumented]
601void opcode_ed_76(void); // IM 1 [undocumented]
602void opcode_ed_78(void); // IN A, (C)
603void opcode_ed_79(void); // OUT (C), A
604void opcode_ed_7a(void); // ADC HL, SP
605void opcode_ed_7b(void); // nLD SP, (nn)
606void opcode_ed_7c(void); // NEG [undocumented]
607void opcode_ed_7d(void); // RETN [undocumented]
608void opcode_ed_7e(void); // IM 2 [undocumented]
609void opcode_ed_a0(void); // LDI
610void opcode_ed_a1(void); // CPI
611void opcode_ed_a2(void); // INI
612void opcode_ed_a3(void); // OUTI
613void opcode_ed_a8(void); // LDD
614void opcode_ed_a9(void); // CPD
615void opcode_ed_aa(void); // IND
616void opcode_ed_ab(void); // OUTD
617void opcode_ed_b0(void); // LDIR
618void opcode_ed_b1(void); // CPIR
619void opcode_ed_b2(void); // INIR
620void opcode_ed_b3(void); // OTIR
621void opcode_ed_b8(void); // LDDR
622void opcode_ed_b9(void); // CPDR
623void opcode_ed_ba(void); // INDR
624void opcode_ed_bb(void); // OTDR
625
626// Handlers for the 0xDD prefix (IX)
627void opcode_dd_09(void); // ADD IX, BC
628void opcode_dd_19(void); // ADD IX, DE
629void opcode_dd_21(void); // LD IX, nn
630void opcode_dd_22(void); // LD (nn), IX
631void opcode_dd_23(void); // INC IX
632void opcode_dd_24(void); // INC IXH [undocumented]
633void opcode_dd_25(void); // DEC IXH [undocumented]
634void opcode_dd_26(void); // LD IXH, n [undocumented]
635void opcode_dd_29(void); // ADD IX, IX
636void opcode_dd_2a(void); // LD IX, (nn)
637void opcode_dd_2b(void); // DEC IX
638void opcode_dd_2c(void); // INC IXL [undocumented]
639void opcode_dd_2d(void); // DEC IXL [undocumented]
640void opcode_dd_2e(void); // LD IXL, n [undocumented]
641void opcode_dd_34(void); // INC (IX + d)
642void opcode_dd_35(void); // DEC (IX + d)
643void opcode_dd_36(void); // LD (IX + d), n
644void opcode_dd_39(void); // ADD IX, SP
645void opcode_dd_44(void); // LD B, IXH [undocumented]
646void opcode_dd_45(void); // LD B, IXL [undocumented]
647void opcode_dd_46(void); // LD B, (IX + d)
648void opcode_dd_4c(void); // LD C, IXH [undocumented]
649void opcode_dd_4d(void); // LD C, IXL [undocumented]
650void opcode_dd_4e(void); // LD C, (IX + d)
651void opcode_dd_54(void); // LD D, IXH [undocumented]
652void opcode_dd_55(void); // LD D, IXL [undocumented]
653void opcode_dd_56(void); // LD D, (IX + d)
654void opcode_dd_5c(void); // LD E, IXH [undocumented]
655void opcode_dd_5d(void); // LD E, IXL [undocumented]
656void opcode_dd_5e(void); // LD E, (IX + d)
657void opcode_dd_60(void); // LD IXH, B [undocumented]
658void opcode_dd_61(void); // LD IXH, C [undocumented]
659void opcode_dd_62(void); // LD IXH, D [undocumented]
660void opcode_dd_63(void); // LD IXH, E [undocumented]
661void opcode_dd_64(void); // LD IXH, IXH [undocumented]
662void opcode_dd_65(void); // LD IXH, IXL [undocumented]
663void opcode_dd_66(void); // LD H, (IX + d)
664void opcode_dd_67(void); // LD IXH, A [undocumented]
665void opcode_dd_68(void); // LD IXL, B [undocumented]
666void opcode_dd_69(void); // LD IXL, C [undocumented]
667void opcode_dd_6a(void); // LD IXL, D [undocumented]
668void opcode_dd_6b(void); // LD IXL, E [undocumented]
669void opcode_dd_6c(void); // LD IXL, IXH [undocumented]
670void opcode_dd_6d(void); // LD IXL, IXL [undocumented]
671void opcode_dd_6e(void); // LD L, (IX + d)
672void opcode_dd_6f(void); // LD IXL, A [undocumented]
673void opcode_dd_70(void); // LD (IX + d), B
674void opcode_dd_71(void); // LD (IX + d), C
675void opcode_dd_72(void); // LD (IX + d), D
676void opcode_dd_73(void); // LD (IX + d), E
677void opcode_dd_74(void); // LD (IX + d), H
678void opcode_dd_75(void); // LD (IX + d), L
679void opcode_dd_77(void); // LD (IX + d), A
680void opcode_dd_7c(void); // LD A, IXH [undocumented]
681void opcode_dd_7d(void); // LD A, IXL [undocumented]
682void opcode_dd_7e(void); // LD A, (IX + d)
683void opcode_dd_84(void); // ADD A, IXH [undocumented]
684void opcode_dd_85(void); // ADD A, IXL [undocumented]
685void opcode_dd_86(void); // ADD A, (IX + d)
686void opcode_dd_8c(void); // ADC A, IXH [undocumented]
687void opcode_dd_8d(void); // ADC A, IXL [undocumented]
688void opcode_dd_8e(void); // ADC A, (IX + d)
689void opcode_dd_94(void); // SUB IXH [undocumented]
690void opcode_dd_95(void); // SUB IXL [undocumented]
691void opcode_dd_96(void); // SUB (IX + d)
692void opcode_dd_9c(void); // SBC A, IXH [undocumented]
693void opcode_dd_9d(void); // SBC A, IXL [undocumented]
694void opcode_dd_9e(void); // SBC A, (IX + d)
695void opcode_dd_a4(void); // AND IXH [undocumented]
696void opcode_dd_a5(void); // AND IXL [undocumented]
697void opcode_dd_a6(void); // AND (IX + d)
698void opcode_dd_ac(void); // XOR IXH [undocumented]
699void opcode_dd_ad(void); // XOR IXL [undocumented]
700void opcode_dd_ae(void); // XOR (IX + d)
701void opcode_dd_b4(void); // OR IXH [undocumented]
702void opcode_dd_b5(void); // OR IXL [undocumented]
703void opcode_dd_b6(void); // OR (IX + d)
704void opcode_dd_bc(void); // CP IXH [undocumented]
705void opcode_dd_bd(void); // CP IXL [undocumented]
706void opcode_dd_be(void); // CP (IX + d)
707void opcode_dd_cb(void); //
708void opcode_dd_e1(void); // POP IX
709void opcode_dd_e3(void); // EX (SP), IX
710void opcode_dd_e5(void); // PUSH IX
711void opcode_dd_e9(void); // JP (IX)
712void opcode_dd_f9(void); // LD SP, IX
713
714// Handlers for the 0xFD prefix (IY)
715void opcode_fd_09(void); // ADD IY, BC
716void opcode_fd_19(void); // ADD IY, DE
717void opcode_fd_21(void); // LD IY, nn
718void opcode_fd_22(void); // LD (nn), IY
719void opcode_fd_23(void); // INC IY
720void opcode_fd_24(void); // INC IYH [undocumented]
721void opcode_fd_25(void); // DEC IYH [undocumented]
722void opcode_fd_26(void); // LD IYH, n [undocumented]
723void opcode_fd_29(void); // ADD IY, IY
724void opcode_fd_2a(void); // LD IY, (nn)
725void opcode_fd_2b(void); // DEC IY
726void opcode_fd_2c(void); // INC IYL [undocumented]
727void opcode_fd_2d(void); // DEC IYL [undocumented]
728void opcode_fd_2e(void); // LD IYL, n [undocumented]
729void opcode_fd_34(void); // INC (IY + d)
730void opcode_fd_35(void); // DEC (IY + d)
731void opcode_fd_36(void); // LD (IY + d), n
732void opcode_fd_39(void); // ADD IY, SP
733void opcode_fd_44(void); // LD B, IYH [undocumented]
734void opcode_fd_45(void); // LD B, IYL [undocumented]
735void opcode_fd_46(void); // LD B, (IY + d)
736void opcode_fd_4c(void); // LD C, IYH [undocumented]
737void opcode_fd_4d(void); // LD C, IYL [undocumented]
738void opcode_fd_4e(void); // LD C, (IY + d)
739void opcode_fd_54(void); // LD D, IYH [undocumented]
740void opcode_fd_55(void); // LD D, IYL [undocumented]
741void opcode_fd_56(void); // LD D, (IY + d)
742void opcode_fd_5c(void); // LD E, IYH [undocumented]
743void opcode_fd_5d(void); // LD E, IYL [undocumented]
744void opcode_fd_5e(void); // LD E, (IY + d)
745void opcode_fd_60(void); // LD IYH, B [undocumented]
746void opcode_fd_61(void); // LD IYH, C [undocumented]
747void opcode_fd_62(void); // LD IYH, D [undocumented]
748void opcode_fd_63(void); // LD IYH, E [undocumented]
749void opcode_fd_64(void); // LD IYH, IYH [undocumented]
750void opcode_fd_65(void); // LD IYH, IYL [undocumented]
751void opcode_fd_66(void); // LD H, (IY + d)
752void opcode_fd_67(void); // LD IYH, A [undocumented]
753void opcode_fd_68(void); // LD IYL, B [undocumented]
754void opcode_fd_69(void); // LD IYL, C [undocumented]
755void opcode_fd_6a(void); // LD IYL, D [undocumented]
756void opcode_fd_6b(void); // LD IYL, E [undocumented]
757void opcode_fd_6c(void); // LD IYL, IYH [undocumented]
758void opcode_fd_6d(void); // LD IYL, IYL [undocumented]
759void opcode_fd_6e(void); // LD L, (IY + d)
760void opcode_fd_6f(void); // LD IYL, A [undocumented]
761void opcode_fd_70(void); // LD (IY + d), B
762void opcode_fd_71(void); // LD (IY + d), C
763void opcode_fd_72(void); // LD (IY + d), D
764void opcode_fd_73(void); // LD (IY + d), E
765void opcode_fd_74(void); // LD (IY + d), H
766void opcode_fd_75(void); // LD (IY + d), L
767void opcode_fd_77(void); // LD (IY + d), A
768void opcode_fd_7c(void); // LD A, IYH [undocumented]
769void opcode_fd_7d(void); // LD A, IYL [undocumented]
770void opcode_fd_7e(void); // LD A, (IY + d)
771void opcode_fd_84(void); // ADD A, IYH [undocumented]
772void opcode_fd_85(void); // ADD A, IYL [undocumented]
773void opcode_fd_86(void); // ADD A, (IY + d)
774void opcode_fd_8c(void); // ADC A, IYH [undocumented]
775void opcode_fd_8d(void); // ADC A, IYL [undocumented]
776void opcode_fd_8e(void); // ADC A, (IY + d)
777void opcode_fd_94(void); // SUB IYH [undocumented]
778void opcode_fd_95(void); // SUB IYL [undocumented]
779void opcode_fd_96(void); // SUB (IY + d)
780void opcode_fd_9c(void); // SBC A, IYH [undocumented]
781void opcode_fd_9d(void); // SBC A, IYL [undocumented]
782void opcode_fd_9e(void); // SBC A, (IY + d)
783void opcode_fd_a4(void); // AND IYH [undocumented]
784void opcode_fd_a5(void); // AND IYL [undocumented]
785void opcode_fd_a6(void); // AND (IY + d)
786void opcode_fd_ac(void); // XOR IYH [undocumented]
787void opcode_fd_ad(void); // XOR IYL [undocumented]
788void opcode_fd_ae(void); // XOR (IY + d)
789void opcode_fd_b4(void); // OR IYH [undocumented]
790void opcode_fd_b5(void); // OR IYL [undocumented]
791void opcode_fd_b6(void); // OR (IY + d)
792void opcode_fd_bc(void); // CP IYH [undocumented]
793void opcode_fd_bd(void); // CP IYL [undocumented]
794void opcode_fd_be(void); // CP (IY + d)
795void opcode_fd_cb(void); //
796void opcode_fd_e1(void); // POP IY
797void opcode_fd_e3(void); // EX (SP), IY
798void opcode_fd_e5(void); // PUSH IY
799void opcode_fd_e9(void); // JP (IY)
800void opcode_fd_f9(void); // LD SP, IY
801
802// Handlers for 0xDDCB and 0xFDCB prefixes
803void opcode_xycb_00( unsigned ); // LD B, RLC (IX + d) [undocumented]
804void opcode_xycb_01( unsigned ); // LD C, RLC (IX + d) [undocumented]
805void opcode_xycb_02( unsigned ); // LD D, RLC (IX + d) [undocumented]
806void opcode_xycb_03( unsigned ); // LD E, RLC (IX + d) [undocumented]
807void opcode_xycb_04( unsigned ); // LD H, RLC (IX + d) [undocumented]
808void opcode_xycb_05( unsigned ); // LD L, RLC (IX + d) [undocumented]
809void opcode_xycb_06( unsigned ); // RLC (IX + d)
810void opcode_xycb_07( unsigned ); // LD A, RLC (IX + d) [undocumented]
811void opcode_xycb_08( unsigned ); // LD B, RRC (IX + d) [undocumented]
812void opcode_xycb_09( unsigned ); // LD C, RRC (IX + d) [undocumented]
813void opcode_xycb_0a( unsigned ); // LD D, RRC (IX + d) [undocumented]
814void opcode_xycb_0b( unsigned ); // LD E, RRC (IX + d) [undocumented]
815void opcode_xycb_0c( unsigned ); // LD H, RRC (IX + d) [undocumented]
816void opcode_xycb_0d( unsigned ); // LD L, RRC (IX + d) [undocumented]
817void opcode_xycb_0e( unsigned ); // RRC (IX + d)
818void opcode_xycb_0f( unsigned ); // LD A, RRC (IX + d) [undocumented]
819void opcode_xycb_10( unsigned ); // LD B, RL (IX + d) [undocumented]
820void opcode_xycb_11( unsigned ); // LD C, RL (IX + d) [undocumented]
821void opcode_xycb_12( unsigned ); // LD D, RL (IX + d) [undocumented]
822void opcode_xycb_13( unsigned ); // LD E, RL (IX + d) [undocumented]
823void opcode_xycb_14( unsigned ); // LD H, RL (IX + d) [undocumented]
824void opcode_xycb_15( unsigned ); // LD L, RL (IX + d) [undocumented]
825void opcode_xycb_16( unsigned ); // RL (IX + d)
826void opcode_xycb_17( unsigned ); // LD A, RL (IX + d) [undocumented]
827void opcode_xycb_18( unsigned ); // LD B, RR (IX + d) [undocumented]
828void opcode_xycb_19( unsigned ); // LD C, RR (IX + d) [undocumented]
829void opcode_xycb_1a( unsigned ); // LD D, RR (IX + d) [undocumented]
830void opcode_xycb_1b( unsigned ); // LD E, RR (IX + d) [undocumented]
831void opcode_xycb_1c( unsigned ); // LD H, RR (IX + d) [undocumented]
832void opcode_xycb_1d( unsigned ); // LD L, RR (IX + d) [undocumented]
833void opcode_xycb_1e( unsigned ); // RR (IX + d)
834void opcode_xycb_1f( unsigned ); // LD A, RR (IX + d) [undocumented]
835void opcode_xycb_20( unsigned ); // LD B, SLA (IX + d) [undocumented]
836void opcode_xycb_21( unsigned ); // LD C, SLA (IX + d) [undocumented]
837void opcode_xycb_22( unsigned ); // LD D, SLA (IX + d) [undocumented]
838void opcode_xycb_23( unsigned ); // LD E, SLA (IX + d) [undocumented]
839void opcode_xycb_24( unsigned ); // LD H, SLA (IX + d) [undocumented]
840void opcode_xycb_25( unsigned ); // LD L, SLA (IX + d) [undocumented]
841void opcode_xycb_26( unsigned ); // SLA (IX + d)
842void opcode_xycb_27( unsigned ); // LD A, SLA (IX + d) [undocumented]
843void opcode_xycb_28( unsigned ); // LD B, SRA (IX + d) [undocumented]
844void opcode_xycb_29( unsigned ); // LD C, SRA (IX + d) [undocumented]
845void opcode_xycb_2a( unsigned ); // LD D, SRA (IX + d) [undocumented]
846void opcode_xycb_2b( unsigned ); // LD E, SRA (IX + d) [undocumented]
847void opcode_xycb_2c( unsigned ); // LD H, SRA (IX + d) [undocumented]
848void opcode_xycb_2d( unsigned ); // LD L, SRA (IX + d) [undocumented]
849void opcode_xycb_2e( unsigned ); // SRA (IX + d)
850void opcode_xycb_2f( unsigned ); // LD A, SRA (IX + d) [undocumented]
851void opcode_xycb_30( unsigned ); // LD B, SLL (IX + d) [undocumented]
852void opcode_xycb_31( unsigned ); // LD C, SLL (IX + d) [undocumented]
853void opcode_xycb_32( unsigned ); // LD D, SLL (IX + d) [undocumented]
854void opcode_xycb_33( unsigned ); // LD E, SLL (IX + d) [undocumented]
855void opcode_xycb_34( unsigned ); // LD H, SLL (IX + d) [undocumented]
856void opcode_xycb_35( unsigned ); // LD L, SLL (IX + d) [undocumented]
857void opcode_xycb_36( unsigned ); // SLL (IX + d) [undocumented]
858void opcode_xycb_37( unsigned ); // LD A, SLL (IX + d) [undocumented]
859void opcode_xycb_38( unsigned ); // LD B, SRL (IX + d) [undocumented]
860void opcode_xycb_39( unsigned ); // LD C, SRL (IX + d) [undocumented]
861void opcode_xycb_3a( unsigned ); // LD D, SRL (IX + d) [undocumented]
862void opcode_xycb_3b( unsigned ); // LD E, SRL (IX + d) [undocumented]
863void opcode_xycb_3c( unsigned ); // LD H, SRL (IX + d) [undocumented]
864void opcode_xycb_3d( unsigned ); // LD L, SRL (IX + d) [undocumented]
865void opcode_xycb_3e( unsigned ); // SRL (IX + d)
866void opcode_xycb_3f( unsigned ); // LD A, SRL (IX + d) [undocumented]
867void opcode_xycb_40( unsigned ); // BIT 0, (IX + d) [undocumented]
868void opcode_xycb_41( unsigned ); // BIT 0, (IX + d) [undocumented]
869void opcode_xycb_42( unsigned ); // BIT 0, (IX + d) [undocumented]
870void opcode_xycb_43( unsigned ); // BIT 0, (IX + d) [undocumented]
871void opcode_xycb_44( unsigned ); // BIT 0, (IX + d) [undocumented]
872void opcode_xycb_45( unsigned ); // BIT 0, (IX + d) [undocumented]
873void opcode_xycb_46( unsigned ); // BIT 0, (IX + d)
874void opcode_xycb_47( unsigned ); // BIT 0, (IX + d) [undocumented]
875void opcode_xycb_48( unsigned ); // BIT 1, (IX + d) [undocumented]
876void opcode_xycb_49( unsigned ); // BIT 1, (IX + d) [undocumented]
877void opcode_xycb_4a( unsigned ); // BIT 1, (IX + d) [undocumented]
878void opcode_xycb_4b( unsigned ); // BIT 1, (IX + d) [undocumented]
879void opcode_xycb_4c( unsigned ); // BIT 1, (IX + d) [undocumented]
880void opcode_xycb_4d( unsigned ); // BIT 1, (IX + d) [undocumented]
881void opcode_xycb_4e( unsigned ); // BIT 1, (IX + d)
882void opcode_xycb_4f( unsigned ); // BIT 1, (IX + d) [undocumented]
883void opcode_xycb_50( unsigned ); // BIT 2, (IX + d) [undocumented]
884void opcode_xycb_51( unsigned ); // BIT 2, (IX + d) [undocumented]
885void opcode_xycb_52( unsigned ); // BIT 2, (IX + d) [undocumented]
886void opcode_xycb_53( unsigned ); // BIT 2, (IX + d) [undocumented]
887void opcode_xycb_54( unsigned ); // BIT 2, (IX + d) [undocumented]
888void opcode_xycb_55( unsigned ); // BIT 2, (IX + d) [undocumented]
889void opcode_xycb_56( unsigned ); // BIT 2, (IX + d)
890void opcode_xycb_57( unsigned ); // BIT 2, (IX + d) [undocumented]
891void opcode_xycb_58( unsigned ); // BIT 3, (IX + d) [undocumented]
892void opcode_xycb_59( unsigned ); // BIT 3, (IX + d) [undocumented]
893void opcode_xycb_5a( unsigned ); // BIT 3, (IX + d) [undocumented]
894void opcode_xycb_5b( unsigned ); // BIT 3, (IX + d) [undocumented]
895void opcode_xycb_5c( unsigned ); // BIT 3, (IX + d) [undocumented]
896void opcode_xycb_5d( unsigned ); // BIT 3, (IX + d) [undocumented]
897void opcode_xycb_5e( unsigned ); // BIT 3, (IX + d)
898void opcode_xycb_5f( unsigned ); // BIT 3, (IX + d) [undocumented]
899void opcode_xycb_60( unsigned ); // BIT 4, (IX + d) [undocumented]
900void opcode_xycb_61( unsigned ); // BIT 4, (IX + d) [undocumented]
901void opcode_xycb_62( unsigned ); // BIT 4, (IX + d) [undocumented]
902void opcode_xycb_63( unsigned ); // BIT 4, (IX + d) [undocumented]
903void opcode_xycb_64( unsigned ); // BIT 4, (IX + d) [undocumented]
904void opcode_xycb_65( unsigned ); // BIT 4, (IX + d) [undocumented]
905void opcode_xycb_66( unsigned ); // BIT 4, (IX + d)
906void opcode_xycb_67( unsigned ); // BIT 4, (IX + d) [undocumented]
907void opcode_xycb_68( unsigned ); // BIT 5, (IX + d) [undocumented]
908void opcode_xycb_69( unsigned ); // BIT 5, (IX + d) [undocumented]
909void opcode_xycb_6a( unsigned ); // BIT 5, (IX + d) [undocumented]
910void opcode_xycb_6b( unsigned ); // BIT 5, (IX + d) [undocumented]
911void opcode_xycb_6c( unsigned ); // BIT 5, (IX + d) [undocumented]
912void opcode_xycb_6d( unsigned ); // BIT 5, (IX + d) [undocumented]
913void opcode_xycb_6e( unsigned ); // BIT 5, (IX + d)
914void opcode_xycb_6f( unsigned ); // BIT 5, (IX + d) [undocumented]
915void opcode_xycb_70( unsigned ); // BIT 6, (IX + d) [undocumented]
916void opcode_xycb_71( unsigned ); // BIT 6, (IX + d) [undocumented]
917void opcode_xycb_72( unsigned ); // BIT 6, (IX + d) [undocumented]
918void opcode_xycb_73( unsigned ); // BIT 6, (IX + d) [undocumented]
919void opcode_xycb_74( unsigned ); // BIT 6, (IX + d) [undocumented]
920void opcode_xycb_75( unsigned ); // BIT 6, (IX + d) [undocumented]
921void opcode_xycb_76( unsigned ); // BIT 6, (IX + d)
922void opcode_xycb_77( unsigned ); // BIT 6, (IX + d) [undocumented]
923void opcode_xycb_78( unsigned ); // BIT 7, (IX + d) [undocumented]
924void opcode_xycb_79( unsigned ); // BIT 7, (IX + d) [undocumented]
925void opcode_xycb_7a( unsigned ); // BIT 7, (IX + d) [undocumented]
926void opcode_xycb_7b( unsigned ); // BIT 7, (IX + d) [undocumented]
927void opcode_xycb_7c( unsigned ); // BIT 7, (IX + d) [undocumented]
928void opcode_xycb_7d( unsigned ); // BIT 7, (IX + d) [undocumented]
929void opcode_xycb_7e( unsigned ); // BIT 7, (IX + d)
930void opcode_xycb_7f( unsigned ); // BIT 7, (IX + d) [undocumented]
931void opcode_xycb_80( unsigned ); // LD B, RES 0, (IX + d) [undocumented]
932void opcode_xycb_81( unsigned ); // LD C, RES 0, (IX + d) [undocumented]
933void opcode_xycb_82( unsigned ); // LD D, RES 0, (IX + d) [undocumented]
934void opcode_xycb_83( unsigned ); // LD E, RES 0, (IX + d) [undocumented]
935void opcode_xycb_84( unsigned ); // LD H, RES 0, (IX + d) [undocumented]
936void opcode_xycb_85( unsigned ); // LD L, RES 0, (IX + d) [undocumented]
937void opcode_xycb_86( unsigned ); // RES 0, (IX + d)
938void opcode_xycb_87( unsigned ); // LD A, RES 0, (IX + d) [undocumented]
939void opcode_xycb_88( unsigned ); // LD B, RES 1, (IX + d) [undocumented]
940void opcode_xycb_89( unsigned ); // LD C, RES 1, (IX + d) [undocumented]
941void opcode_xycb_8a( unsigned ); // LD D, RES 1, (IX + d) [undocumented]
942void opcode_xycb_8b( unsigned ); // LD E, RES 1, (IX + d) [undocumented]
943void opcode_xycb_8c( unsigned ); // LD H, RES 1, (IX + d) [undocumented]
944void opcode_xycb_8d( unsigned ); // LD L, RES 1, (IX + d) [undocumented]
945void opcode_xycb_8e( unsigned ); // RES 1, (IX + d)
946void opcode_xycb_8f( unsigned ); // LD A, RES 1, (IX + d) [undocumented]
947void opcode_xycb_90( unsigned ); // LD B, RES 2, (IX + d) [undocumented]
948void opcode_xycb_91( unsigned ); // LD C, RES 2, (IX + d) [undocumented]
949void opcode_xycb_92( unsigned ); // LD D, RES 2, (IX + d) [undocumented]
950void opcode_xycb_93( unsigned ); // LD E, RES 2, (IX + d) [undocumented]
951void opcode_xycb_94( unsigned ); // LD H, RES 2, (IX + d) [undocumented]
952void opcode_xycb_95( unsigned ); // LD L, RES 2, (IX + d) [undocumented]
953void opcode_xycb_96( unsigned ); // RES 2, (IX + d)
954void opcode_xycb_97( unsigned ); // LD A, RES 2, (IX + d) [undocumented]
955void opcode_xycb_98( unsigned ); // LD B, RES 3, (IX + d) [undocumented]
956void opcode_xycb_99( unsigned ); // LD C, RES 3, (IX + d) [undocumented]
957void opcode_xycb_9a( unsigned ); // LD D, RES 3, (IX + d) [undocumented]
958void opcode_xycb_9b( unsigned ); // LD E, RES 3, (IX + d) [undocumented]
959void opcode_xycb_9c( unsigned ); // LD H, RES 3, (IX + d) [undocumented]
960void opcode_xycb_9d( unsigned ); // LD L, RES 3, (IX + d) [undocumented]
961void opcode_xycb_9e( unsigned ); // RES 3, (IX + d)
962void opcode_xycb_9f( unsigned ); // LD A, RES 3, (IX + d) [undocumented]
963void opcode_xycb_a0( unsigned ); // LD B, RES 4, (IX + d) [undocumented]
964void opcode_xycb_a1( unsigned ); // LD C, RES 4, (IX + d) [undocumented]
965void opcode_xycb_a2( unsigned ); // LD D, RES 4, (IX + d) [undocumented]
966void opcode_xycb_a3( unsigned ); // LD E, RES 4, (IX + d) [undocumented]
967void opcode_xycb_a4( unsigned ); // LD H, RES 4, (IX + d) [undocumented]
968void opcode_xycb_a5( unsigned ); // LD L, RES 4, (IX + d) [undocumented]
969void opcode_xycb_a6( unsigned ); // RES 4, (IX + d)
970void opcode_xycb_a7( unsigned ); // LD A, RES 4, (IX + d) [undocumented]
971void opcode_xycb_a8( unsigned ); // LD B, RES 5, (IX + d) [undocumented]
972void opcode_xycb_a9( unsigned ); // LD C, RES 5, (IX + d) [undocumented]
973void opcode_xycb_aa( unsigned ); // LD D, RES 5, (IX + d) [undocumented]
974void opcode_xycb_ab( unsigned ); // LD E, RES 5, (IX + d) [undocumented]
975void opcode_xycb_ac( unsigned ); // LD H, RES 5, (IX + d) [undocumented]
976void opcode_xycb_ad( unsigned ); // LD L, RES 5, (IX + d) [undocumented]
977void opcode_xycb_ae( unsigned ); // RES 5, (IX + d)
978void opcode_xycb_af( unsigned ); // LD A, RES 5, (IX + d) [undocumented]
979void opcode_xycb_b0( unsigned ); // LD B, RES 6, (IX + d) [undocumented]
980void opcode_xycb_b1( unsigned ); // LD C, RES 6, (IX + d) [undocumented]
981void opcode_xycb_b2( unsigned ); // LD D, RES 6, (IX + d) [undocumented]
982void opcode_xycb_b3( unsigned ); // LD E, RES 6, (IX + d) [undocumented]
983void opcode_xycb_b4( unsigned ); // LD H, RES 6, (IX + d) [undocumented]
984void opcode_xycb_b5( unsigned ); // LD L, RES 6, (IX + d) [undocumented]
985void opcode_xycb_b6( unsigned ); // RES 6, (IX + d)
986void opcode_xycb_b7( unsigned ); // LD A, RES 6, (IX + d) [undocumented]
987void opcode_xycb_b8( unsigned ); // LD B, RES 7, (IX + d) [undocumented]
988void opcode_xycb_b9( unsigned ); // LD C, RES 7, (IX + d) [undocumented]
989void opcode_xycb_ba( unsigned ); // LD D, RES 7, (IX + d) [undocumented]
990void opcode_xycb_bb( unsigned ); // LD E, RES 7, (IX + d) [undocumented]
991void opcode_xycb_bc( unsigned ); // LD H, RES 7, (IX + d) [undocumented]
992void opcode_xycb_bd( unsigned ); // LD L, RES 7, (IX + d) [undocumented]
993void opcode_xycb_be( unsigned ); // RES 7, (IX + d)
994void opcode_xycb_bf( unsigned ); // LD A, RES 7, (IX + d) [undocumented]
995void opcode_xycb_c0( unsigned ); // LD B, SET 0, (IX + d) [undocumented]
996void opcode_xycb_c1( unsigned ); // LD C, SET 0, (IX + d) [undocumented]
997void opcode_xycb_c2( unsigned ); // LD D, SET 0, (IX + d) [undocumented]
998void opcode_xycb_c3( unsigned ); // LD E, SET 0, (IX + d) [undocumented]
999void opcode_xycb_c4( unsigned ); // LD H, SET 0, (IX + d) [undocumented]
1000void opcode_xycb_c5( unsigned ); // LD L, SET 0, (IX + d) [undocumented]
1001void opcode_xycb_c6( unsigned ); // SET 0, (IX + d)
1002void opcode_xycb_c7( unsigned ); // LD A, SET 0, (IX + d) [undocumented]
1003void opcode_xycb_c8( unsigned ); // LD B, SET 1, (IX + d) [undocumented]
1004void opcode_xycb_c9( unsigned ); // LD C, SET 1, (IX + d) [undocumented]
1005void opcode_xycb_ca( unsigned ); // LD D, SET 1, (IX + d) [undocumented]
1006void opcode_xycb_cb( unsigned ); // LD E, SET 1, (IX + d) [undocumented]
1007void opcode_xycb_cc( unsigned ); // LD H, SET 1, (IX + d) [undocumented]
1008void opcode_xycb_cd( unsigned ); // LD L, SET 1, (IX + d) [undocumented]
1009void opcode_xycb_ce( unsigned ); // SET 1, (IX + d)
1010void opcode_xycb_cf( unsigned ); // LD A, SET 1, (IX + d) [undocumented]
1011void opcode_xycb_d0( unsigned ); // LD B, SET 2, (IX + d) [undocumented]
1012void opcode_xycb_d1( unsigned ); // LD C, SET 2, (IX + d) [undocumented]
1013void opcode_xycb_d2( unsigned ); // LD D, SET 2, (IX + d) [undocumented]
1014void opcode_xycb_d3( unsigned ); // LD E, SET 2, (IX + d) [undocumented]
1015void opcode_xycb_d4( unsigned ); // LD H, SET 2, (IX + d) [undocumented]
1016void opcode_xycb_d5( unsigned ); // LD L, SET 2, (IX + d) [undocumented]
1017void opcode_xycb_d6( unsigned ); // SET 2, (IX + d)
1018void opcode_xycb_d7( unsigned ); // LD A, SET 2, (IX + d) [undocumented]
1019void opcode_xycb_d8( unsigned ); // LD B, SET 3, (IX + d) [undocumented]
1020void opcode_xycb_d9( unsigned ); // LD C, SET 3, (IX + d) [undocumented]
1021void opcode_xycb_da( unsigned ); // LD D, SET 3, (IX + d) [undocumented]
1022void opcode_xycb_db( unsigned ); // LD E, SET 3, (IX + d) [undocumented]
1023void opcode_xycb_dc( unsigned ); // LD H, SET 3, (IX + d) [undocumented]
1024void opcode_xycb_dd( unsigned ); // LD L, SET 3, (IX + d) [undocumented]
1025void opcode_xycb_de( unsigned ); // SET 3, (IX + d)
1026void opcode_xycb_df( unsigned ); // LD A, SET 3, (IX + d) [undocumented]
1027void opcode_xycb_e0( unsigned ); // LD B, SET 4, (IX + d) [undocumented]
1028void opcode_xycb_e1( unsigned ); // LD C, SET 4, (IX + d) [undocumented]
1029void opcode_xycb_e2( unsigned ); // LD D, SET 4, (IX + d) [undocumented]
1030void opcode_xycb_e3( unsigned ); // LD E, SET 4, (IX + d) [undocumented]
1031void opcode_xycb_e4( unsigned ); // LD H, SET 4, (IX + d) [undocumented]
1032void opcode_xycb_e5( unsigned ); // LD L, SET 4, (IX + d) [undocumented]
1033void opcode_xycb_e6( unsigned ); // SET 4, (IX + d)
1034void opcode_xycb_e7( unsigned ); // LD A, SET 4, (IX + d) [undocumented]
1035void opcode_xycb_e8( unsigned ); // LD B, SET 5, (IX + d) [undocumented]
1036void opcode_xycb_e9( unsigned ); // LD C, SET 5, (IX + d) [undocumented]
1037void opcode_xycb_ea( unsigned ); // LD D, SET 5, (IX + d) [undocumented]
1038void opcode_xycb_eb( unsigned ); // LD E, SET 5, (IX + d) [undocumented]
1039void opcode_xycb_ec( unsigned ); // LD H, SET 5, (IX + d) [undocumented]
1040void opcode_xycb_ed( unsigned ); // LD L, SET 5, (IX + d) [undocumented]
1041void opcode_xycb_ee( unsigned ); // SET 5, (IX + d)
1042void opcode_xycb_ef( unsigned ); // LD A, SET 5, (IX + d) [undocumented]
1043void opcode_xycb_f0( unsigned ); // LD B, SET 6, (IX + d) [undocumented]
1044void opcode_xycb_f1( unsigned ); // LD C, SET 6, (IX + d) [undocumented]
1045void opcode_xycb_f2( unsigned ); // LD D, SET 6, (IX + d) [undocumented]
1046void opcode_xycb_f3( unsigned ); // LD E, SET 6, (IX + d) [undocumented]
1047void opcode_xycb_f4( unsigned ); // LD H, SET 6, (IX + d) [undocumented]
1048void opcode_xycb_f5( unsigned ); // LD L, SET 6, (IX + d) [undocumented]
1049void opcode_xycb_f6( unsigned ); // SET 6, (IX + d)
1050void opcode_xycb_f7( unsigned ); // LD A, SET 6, (IX + d) [undocumented]
1051void opcode_xycb_f8( unsigned ); // LD B, SET 7, (IX + d) [undocumented]
1052void opcode_xycb_f9( unsigned ); // LD C, SET 7, (IX + d) [undocumented]
1053void opcode_xycb_fa( unsigned ); // LD D, SET 7, (IX + d) [undocumented]
1054void opcode_xycb_fb( unsigned ); // LD E, SET 7, (IX + d) [undocumented]
1055void opcode_xycb_fc( unsigned ); // LD H, SET 7, (IX + d) [undocumented]
1056void opcode_xycb_fd( unsigned ); // LD L, SET 7, (IX + d) [undocumented]
1057void opcode_xycb_fe( unsigned ); // SET 7, (IX + d)
1058void opcode_xycb_ff( unsigned ); // LD A, SET 7, (IX + d) [undocumented]
1059
1060// Trivia: there are 1018 opcode_xxx() functions in this class,
1061// for a total of 1274 emulated opcodes. Fortunately, most of them
1062// were automatically generated by custom made programs and scripts.
1063
1064#endif