1 from envi.archs.z80.regs import *
2 from envi.archs.z80.const import *
3
4 z80table = [
5 (('00', 'ff'), 'nop', None, None, None, None, 1, 0, 0),
6 (('010000', 'ff0000'), 'ld', OPTYPE_Reg, REG_BC, OPTYPE_imm16, None, 3, 1, 0),
7 (('02', 'ff'), 'ld', OPTYPE_RegMem, REG_BC, OPTYPE_Reg, REG_A, 1, 0, 0),
8 (('03', 'ff'), 'inc', OPTYPE_Reg, REG_BC, None, None, 1, 0, 0),
9 (('04', 'ff'), 'inc', OPTYPE_Reg, REG_B, None, None, 1, 0, 0),
10 (('05', 'ff'), 'dec', OPTYPE_Reg, REG_B, None, None, 1, 0, 0),
11 (('0600', 'ff00'), 'ld', OPTYPE_Reg, REG_B, OPTYPE_imm8, None, 2, 1, 0),
12 (('07', 'ff'), 'rlca', None, None, None, None, 1, 0, 0),
13 (('08', 'ff'), 'ex', OPTYPE_Reg, REG_AF, OPTYPE_RegAlt, REG_AF, 1, 0, 0),
14 (('09', 'ff'), 'add', OPTYPE_Reg, REG_HL, OPTYPE_Reg, REG_BC, 1, 0, 0),
15 (('0a', 'ff'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_RegMem, REG_BC, 1, 0, 0),
16 (('0b', 'ff'), 'dec', OPTYPE_Reg, REG_BC, None, None, 1, 0, 0),
17 (('0c', 'ff'), 'inc', OPTYPE_Reg, REG_C, None, None, 1, 0, 0),
18 (('0d', 'ff'), 'dec', OPTYPE_Reg, REG_C, None, None, 1, 0, 0),
19 (('0e00', 'ff00'), 'ld', OPTYPE_Reg, REG_C, OPTYPE_imm8, None, 2, 1, 0),
20 (('0f', 'ff'), 'rrca', None, None, None, None, 1, 0, 0),
21 (('1000', 'ff00'), 'djnz', OPTYPE_Ind, None, None, None, 2, 1, 0),
22 (('110000', 'ff0000'), 'ld', OPTYPE_Reg, REG_DE, OPTYPE_imm16, None, 3, 1, 0),
23 (('12', 'ff'), 'ld', OPTYPE_RegMem, REG_DE, OPTYPE_Reg, REG_A, 1, 0, 0),
24 (('13', 'ff'), 'inc', OPTYPE_Reg, REG_DE, None, None, 1, 0, 0),
25 (('14', 'ff'), 'inc', OPTYPE_Reg, REG_D, None, None, 1, 0, 0),
26 (('15', 'ff'), 'dec', OPTYPE_Reg, REG_D, None, None, 1, 0, 0),
27 (('1600', 'ff00'), 'ld', OPTYPE_Reg, REG_D, OPTYPE_imm8, None, 2, 1, 0),
28 (('17', 'ff'), 'rla', None, None, None, None, 1, 0, 0),
29 (('1800', 'ff00'), 'jr', OPTYPE_Ind, None, None, None, 2, 1, 0),
30 (('19', 'ff'), 'add', OPTYPE_Reg, REG_HL, OPTYPE_Reg, REG_DE, 1, 0, 0),
31 (('1a', 'ff'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_RegMem, REG_DE, 1, 0, 0),
32 (('1b', 'ff'), 'dec', OPTYPE_Reg, REG_DE, None, None, 1, 0, 0),
33 (('1c', 'ff'), 'inc', OPTYPE_Reg, REG_E, None, None, 1, 0, 0),
34 (('1d', 'ff'), 'dec', OPTYPE_Reg, REG_E, None, None, 1, 0, 0),
35 (('1e00', 'ff00'), 'ld', OPTYPE_Reg, REG_E, OPTYPE_imm8, None, 2, 1, 0),
36 (('1f', 'ff'), 'rra', None, None, None, None, 1, 0, 0),
37 (('2000', 'ff00'), 'jr', OPTYPE_Cond, COND_NZ, OPTYPE_Ind, None, 2, 1, 0),
38 (('210000', 'ff0000'), 'ld', OPTYPE_Reg, REG_HL, OPTYPE_imm16, None, 3, 1, 0),
39 (('220000', 'ff0000'), 'ld', OPTYPE_immmem16, None, OPTYPE_Reg, REG_HL, 3, 1, 0),
40 (('23', 'ff'), 'inc', OPTYPE_Reg, REG_HL, None, None, 1, 0, 0),
41 (('24', 'ff'), 'inc', OPTYPE_Reg, REG_H, None, None, 1, 0, 0),
42 (('25', 'ff'), 'dec', OPTYPE_Reg, REG_H, None, None, 1, 0, 0),
43 (('2600', 'ff00'), 'ld', OPTYPE_Reg, REG_H, OPTYPE_imm8, None, 2, 1, 0),
44 (('27', 'ff'), 'daa', None, None, None, None, 1, 0, 0),
45 (('2800', 'ff00'), 'jr', OPTYPE_Cond, COND_Z, OPTYPE_Ind, None, 2, 1, 0),
46 (('29', 'ff'), 'add', OPTYPE_Reg, REG_HL, OPTYPE_Reg, REG_HL, 1, 0, 0),
47 (('2a0000', 'ff0000'), 'ld', OPTYPE_Reg, REG_HL, OPTYPE_immmem16, None, 3, 1, 0),
48 (('2b', 'ff'), 'dec', OPTYPE_Reg, REG_HL, None, None, 1, 0, 0),
49 (('2c', 'ff'), 'inc', OPTYPE_Reg, REG_L, None, None, 1, 0, 0),
50 (('2d', 'ff'), 'dec', OPTYPE_Reg, REG_L, None, None, 1, 0, 0),
51 (('2e00', 'ff00'), 'ld', OPTYPE_Reg, REG_L, OPTYPE_imm8, None, 2, 1, 0),
52 (('2f', 'ff'), 'cpl', None, None, None, None, 1, 0, 0),
53 (('3000', 'ff00'), 'jr', OPTYPE_Cond, COND_NC, OPTYPE_Ind, None, 2, 1, 0),
54 (('310000', 'ff0000'), 'ld', OPTYPE_Reg, REG_SP, OPTYPE_imm16, None, 3, 1, 0),
55 (('320000', 'ff0000'), 'ld', OPTYPE_immmem16, None, OPTYPE_Reg, REG_A, 3, 1, 0),
56 (('33', 'ff'), 'inc', OPTYPE_Reg, REG_SP, None, None, 1, 0, 0),
57 (('34', 'ff'), 'inc', OPTYPE_RegMem, REG_HL, None, None, 1, 0, 0),
58 (('35', 'ff'), 'dec', OPTYPE_RegMem, REG_HL, None, None, 1, 0, 0),
59 (('3600', 'ff00'), 'ld', OPTYPE_RegMem, REG_HL, OPTYPE_imm8, None, 2, 1, 0),
60 (('37', 'ff'), 'scf', None, None, None, None, 1, 0, 0),
61 (('3800', 'ff00'), 'jr', OPTYPE_Cond, COND_C, OPTYPE_Ind, None, 2, 1, 0),
62 (('39', 'ff'), 'add', OPTYPE_Reg, REG_HL, OPTYPE_Reg, REG_SP, 1, 0, 0),
63 (('3a0000', 'ff0000'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_immmem16, None, 3, 1, 0),
64 (('3b', 'ff'), 'dec', OPTYPE_Reg, REG_SP, None, None, 1, 0, 0),
65 (('3c', 'ff'), 'inc', OPTYPE_Reg, REG_A, None, None, 1, 0, 0),
66 (('3d', 'ff'), 'dec', OPTYPE_Reg, REG_A, None, None, 1, 0, 0),
67 (('3e00', 'ff00'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_imm8, None, 2, 1, 0),
68 (('3f', 'ff'), 'ccf', None, None, None, None, 1, 0, 0),
69 (('40', 'ff'), 'ld', OPTYPE_Reg, REG_B, OPTYPE_Reg, REG_B, 1, 0, 0),
70 (('41', 'ff'), 'ld', OPTYPE_Reg, REG_B, OPTYPE_Reg, REG_C, 1, 0, 0),
71 (('42', 'ff'), 'ld', OPTYPE_Reg, REG_B, OPTYPE_Reg, REG_D, 1, 0, 0),
72 (('43', 'ff'), 'ld', OPTYPE_Reg, REG_B, OPTYPE_Reg, REG_E, 1, 0, 0),
73 (('44', 'ff'), 'ld', OPTYPE_Reg, REG_B, OPTYPE_Reg, REG_H, 1, 0, 0),
74 (('45', 'ff'), 'ld', OPTYPE_Reg, REG_B, OPTYPE_Reg, REG_L, 1, 0, 0),
75 (('46', 'ff'), 'ld', OPTYPE_Reg, REG_B, OPTYPE_RegMem, REG_HL, 1, 0, 0),
76 (('47', 'ff'), 'ld', OPTYPE_Reg, REG_B, OPTYPE_Reg, REG_A, 1, 0, 0),
77 (('48', 'ff'), 'ld', OPTYPE_Reg, REG_C, OPTYPE_Reg, REG_B, 1, 0, 0),
78 (('49', 'ff'), 'ld', OPTYPE_Reg, REG_C, OPTYPE_Reg, REG_C, 1, 0, 0),
79 (('4a', 'ff'), 'ld', OPTYPE_Reg, REG_C, OPTYPE_Reg, REG_D, 1, 0, 0),
80 (('4b', 'ff'), 'ld', OPTYPE_Reg, REG_C, OPTYPE_Reg, REG_E, 1, 0, 0),
81 (('4c', 'ff'), 'ld', OPTYPE_Reg, REG_C, OPTYPE_Reg, REG_H, 1, 0, 0),
82 (('4d', 'ff'), 'ld', OPTYPE_Reg, REG_C, OPTYPE_Reg, REG_L, 1, 0, 0),
83 (('4e', 'ff'), 'ld', OPTYPE_Reg, REG_C, OPTYPE_RegMem, REG_HL, 1, 0, 0),
84 (('4f', 'ff'), 'ld', OPTYPE_Reg, REG_C, OPTYPE_Reg, REG_A, 1, 0, 0),
85 (('50', 'ff'), 'ld', OPTYPE_Reg, REG_D, OPTYPE_Reg, REG_B, 1, 0, 0),
86 (('51', 'ff'), 'ld', OPTYPE_Reg, REG_D, OPTYPE_Reg, REG_C, 1, 0, 0),
87 (('52', 'ff'), 'ld', OPTYPE_Reg, REG_D, OPTYPE_Reg, REG_D, 1, 0, 0),
88 (('53', 'ff'), 'ld', OPTYPE_Reg, REG_D, OPTYPE_Reg, REG_E, 1, 0, 0),
89 (('54', 'ff'), 'ld', OPTYPE_Reg, REG_D, OPTYPE_Reg, REG_H, 1, 0, 0),
90 (('55', 'ff'), 'ld', OPTYPE_Reg, REG_D, OPTYPE_Reg, REG_L, 1, 0, 0),
91 (('56', 'ff'), 'ld', OPTYPE_Reg, REG_D, OPTYPE_RegMem, REG_HL, 1, 0, 0),
92 (('57', 'ff'), 'ld', OPTYPE_Reg, REG_D, OPTYPE_Reg, REG_A, 1, 0, 0),
93 (('58', 'ff'), 'ld', OPTYPE_Reg, REG_E, OPTYPE_Reg, REG_B, 1, 0, 0),
94 (('59', 'ff'), 'ld', OPTYPE_Reg, REG_E, OPTYPE_Reg, REG_C, 1, 0, 0),
95 (('5a', 'ff'), 'ld', OPTYPE_Reg, REG_E, OPTYPE_Reg, REG_D, 1, 0, 0),
96 (('5b', 'ff'), 'ld', OPTYPE_Reg, REG_E, OPTYPE_Reg, REG_E, 1, 0, 0),
97 (('5c', 'ff'), 'ld', OPTYPE_Reg, REG_E, OPTYPE_Reg, REG_H, 1, 0, 0),
98 (('5d', 'ff'), 'ld', OPTYPE_Reg, REG_E, OPTYPE_Reg, REG_L, 1, 0, 0),
99 (('5e', 'ff'), 'ld', OPTYPE_Reg, REG_E, OPTYPE_RegMem, REG_HL, 1, 0, 0),
100 (('5f', 'ff'), 'ld', OPTYPE_Reg, REG_E, OPTYPE_Reg, REG_A, 1, 0, 0),
101 (('60', 'ff'), 'ld', OPTYPE_Reg, REG_H, OPTYPE_Reg, REG_B, 1, 0, 0),
102 (('61', 'ff'), 'ld', OPTYPE_Reg, REG_H, OPTYPE_Reg, REG_C, 1, 0, 0),
103 (('62', 'ff'), 'ld', OPTYPE_Reg, REG_H, OPTYPE_Reg, REG_D, 1, 0, 0),
104 (('63', 'ff'), 'ld', OPTYPE_Reg, REG_H, OPTYPE_Reg, REG_E, 1, 0, 0),
105 (('64', 'ff'), 'ld', OPTYPE_Reg, REG_H, OPTYPE_Reg, REG_H, 1, 0, 0),
106 (('65', 'ff'), 'ld', OPTYPE_Reg, REG_H, OPTYPE_Reg, REG_L, 1, 0, 0),
107 (('66', 'ff'), 'ld', OPTYPE_Reg, REG_H, OPTYPE_RegMem, REG_HL, 1, 0, 0),
108 (('67', 'ff'), 'ld', OPTYPE_Reg, REG_H, OPTYPE_Reg, REG_A, 1, 0, 0),
109 (('68', 'ff'), 'ld', OPTYPE_Reg, REG_L, OPTYPE_Reg, REG_B, 1, 0, 0),
110 (('69', 'ff'), 'ld', OPTYPE_Reg, REG_L, OPTYPE_Reg, REG_C, 1, 0, 0),
111 (('6a', 'ff'), 'ld', OPTYPE_Reg, REG_L, OPTYPE_Reg, REG_D, 1, 0, 0),
112 (('6b', 'ff'), 'ld', OPTYPE_Reg, REG_L, OPTYPE_Reg, REG_E, 1, 0, 0),
113 (('6c', 'ff'), 'ld', OPTYPE_Reg, REG_L, OPTYPE_Reg, REG_H, 1, 0, 0),
114 (('6d', 'ff'), 'ld', OPTYPE_Reg, REG_L, OPTYPE_Reg, REG_L, 1, 0, 0),
115 (('6e', 'ff'), 'ld', OPTYPE_Reg, REG_L, OPTYPE_RegMem, REG_HL, 1, 0, 0),
116 (('6f', 'ff'), 'ld', OPTYPE_Reg, REG_L, OPTYPE_Reg, REG_A, 1, 0, 0),
117 (('70', 'ff'), 'ld', OPTYPE_RegMem, REG_HL, OPTYPE_Reg, REG_B, 1, 0, 0),
118 (('71', 'ff'), 'ld', OPTYPE_RegMem, REG_HL, OPTYPE_Reg, REG_C, 1, 0, 0),
119 (('72', 'ff'), 'ld', OPTYPE_RegMem, REG_HL, OPTYPE_Reg, REG_D, 1, 0, 0),
120 (('73', 'ff'), 'ld', OPTYPE_RegMem, REG_HL, OPTYPE_Reg, REG_E, 1, 0, 0),
121 (('74', 'ff'), 'ld', OPTYPE_RegMem, REG_HL, OPTYPE_Reg, REG_H, 1, 0, 0),
122 (('75', 'ff'), 'ld', OPTYPE_RegMem, REG_HL, OPTYPE_Reg, REG_L, 1, 0, 0),
123 (('76', 'ff'), 'halt', None, None, None, None, 1, 0, 0),
124 (('77', 'ff'), 'ld', OPTYPE_RegMem, REG_HL, OPTYPE_Reg, REG_A, 1, 0, 0),
125 (('78', 'ff'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_B, 1, 0, 0),
126 (('79', 'ff'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_C, 1, 0, 0),
127 (('7a', 'ff'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_D, 1, 0, 0),
128 (('7b', 'ff'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_E, 1, 0, 0),
129 (('7c', 'ff'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_H, 1, 0, 0),
130 (('7d', 'ff'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_L, 1, 0, 0),
131 (('7e', 'ff'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_RegMem, REG_HL, 1, 0, 0),
132 (('7f', 'ff'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_A, 1, 0, 0),
133 (('80', 'ff'), 'add', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_B, 1, 0, 0),
134 (('81', 'ff'), 'add', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_C, 1, 0, 0),
135 (('82', 'ff'), 'add', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_D, 1, 0, 0),
136 (('83', 'ff'), 'add', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_E, 1, 0, 0),
137 (('84', 'ff'), 'add', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_H, 1, 0, 0),
138 (('85', 'ff'), 'add', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_L, 1, 0, 0),
139 (('86', 'ff'), 'add', OPTYPE_Reg, REG_A, OPTYPE_RegMem, REG_HL, 1, 0, 0),
140 (('87', 'ff'), 'add', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_A, 1, 0, 0),
141 (('88', 'ff'), 'adc', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_B, 1, 0, 0),
142 (('89', 'ff'), 'adc', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_C, 1, 0, 0),
143 (('8a', 'ff'), 'adc', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_D, 1, 0, 0),
144 (('8b', 'ff'), 'adc', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_E, 1, 0, 0),
145 (('8c', 'ff'), 'adc', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_H, 1, 0, 0),
146 (('8d', 'ff'), 'adc', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_L, 1, 0, 0),
147 (('8e', 'ff'), 'adc', OPTYPE_Reg, REG_A, OPTYPE_RegMem, REG_HL, 1, 0, 0),
148 (('8f', 'ff'), 'adc', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_A, 1, 0, 0),
149 (('90', 'ff'), 'sub', OPTYPE_Reg, REG_B, None, None, 1, 0, 0),
150 (('91', 'ff'), 'sub', OPTYPE_Reg, REG_C, None, None, 1, 0, 0),
151 (('92', 'ff'), 'sub', OPTYPE_Reg, REG_D, None, None, 1, 0, 0),
152 (('93', 'ff'), 'sub', OPTYPE_Reg, REG_E, None, None, 1, 0, 0),
153 (('94', 'ff'), 'sub', OPTYPE_Reg, REG_H, None, None, 1, 0, 0),
154 (('95', 'ff'), 'sub', OPTYPE_Reg, REG_L, None, None, 1, 0, 0),
155 (('96', 'ff'), 'sub', OPTYPE_RegMem, REG_HL, None, None, 1, 0, 0),
156 (('97', 'ff'), 'sub', OPTYPE_Reg, REG_A, None, None, 1, 0, 0),
157 (('98', 'ff'), 'sbc', OPTYPE_Reg, REG_B, None, None, 1, 0, 0),
158 (('99', 'ff'), 'sbc', OPTYPE_Reg, REG_C, None, None, 1, 0, 0),
159 (('9a', 'ff'), 'sbc', OPTYPE_Reg, REG_D, None, None, 1, 0, 0),
160 (('9b', 'ff'), 'sbc', OPTYPE_Reg, REG_E, None, None, 1, 0, 0),
161 (('9c', 'ff'), 'sbc', OPTYPE_Reg, REG_H, None, None, 1, 0, 0),
162 (('9d', 'ff'), 'sbc', OPTYPE_Reg, REG_L, None, None, 1, 0, 0),
163 (('9e', 'ff'), 'sbc', OPTYPE_RegMem, REG_HL, None, None, 1, 0, 0),
164 (('9f', 'ff'), 'sbc', OPTYPE_Reg, REG_A, None, None, 1, 0, 0),
165 (('a0', 'ff'), 'and', OPTYPE_Reg, REG_B, None, None, 1, 0, 0),
166 (('a1', 'ff'), 'and', OPTYPE_Reg, REG_C, None, None, 1, 0, 0),
167 (('a2', 'ff'), 'and', OPTYPE_Reg, REG_D, None, None, 1, 0, 0),
168 (('a3', 'ff'), 'and', OPTYPE_Reg, REG_E, None, None, 1, 0, 0),
169 (('a4', 'ff'), 'and', OPTYPE_Reg, REG_H, None, None, 1, 0, 0),
170 (('a5', 'ff'), 'and', OPTYPE_Reg, REG_L, None, None, 1, 0, 0),
171 (('a6', 'ff'), 'and', OPTYPE_RegMem, REG_HL, None, None, 1, 0, 0),
172 (('a7', 'ff'), 'and', OPTYPE_Reg, REG_A, None, None, 1, 0, 0),
173 (('a8', 'ff'), 'xor', OPTYPE_Reg, REG_B, None, None, 1, 0, 0),
174 (('a9', 'ff'), 'xor', OPTYPE_Reg, REG_C, None, None, 1, 0, 0),
175 (('aa', 'ff'), 'xor', OPTYPE_Reg, REG_D, None, None, 1, 0, 0),
176 (('ab', 'ff'), 'xor', OPTYPE_Reg, REG_E, None, None, 1, 0, 0),
177 (('ac', 'ff'), 'xor', OPTYPE_Reg, REG_H, None, None, 1, 0, 0),
178 (('ad', 'ff'), 'xor', OPTYPE_Reg, REG_L, None, None, 1, 0, 0),
179 (('ae', 'ff'), 'xor', OPTYPE_RegMem, REG_HL, None, None, 1, 0, 0),
180 (('af', 'ff'), 'xor', OPTYPE_Reg, REG_A, None, None, 1, 0, 0),
181 (('b0', 'ff'), 'or', OPTYPE_Reg, REG_B, None, None, 1, 0, 0),
182 (('b1', 'ff'), 'or', OPTYPE_Reg, REG_C, None, None, 1, 0, 0),
183 (('b2', 'ff'), 'or', OPTYPE_Reg, REG_D, None, None, 1, 0, 0),
184 (('b3', 'ff'), 'or', OPTYPE_Reg, REG_E, None, None, 1, 0, 0),
185 (('b4', 'ff'), 'or', OPTYPE_Reg, REG_H, None, None, 1, 0, 0),
186 (('b5', 'ff'), 'or', OPTYPE_Reg, REG_L, None, None, 1, 0, 0),
187 (('b6', 'ff'), 'or', OPTYPE_RegMem, REG_HL, None, None, 1, 0, 0),
188 (('b7', 'ff'), 'or', OPTYPE_Reg, REG_A, None, None, 1, 0, 0),
189 (('b8', 'ff'), 'cp', OPTYPE_Reg, REG_B, None, None, 1, 0, 0),
190 (('b9', 'ff'), 'cp', OPTYPE_Reg, REG_C, None, None, 1, 0, 0),
191 (('ba', 'ff'), 'cp', OPTYPE_Reg, REG_D, None, None, 1, 0, 0),
192 (('bb', 'ff'), 'cp', OPTYPE_Reg, REG_E, None, None, 1, 0, 0),
193 (('bc', 'ff'), 'cp', OPTYPE_Reg, REG_H, None, None, 1, 0, 0),
194 (('bd', 'ff'), 'cp', OPTYPE_Reg, REG_L, None, None, 1, 0, 0),
195 (('be', 'ff'), 'cp', OPTYPE_RegMem, REG_HL, None, None, 1, 0, 0),
196 (('bf', 'ff'), 'cp', OPTYPE_Reg, REG_A, None, None, 1, 0, 0),
197 (('c0', 'ff'), 'ret', OPTYPE_Cond, COND_NZ, None, None, 1, 0, 0),
198 (('c1', 'ff'), 'pop', OPTYPE_Reg, REG_BC, None, None, 1, 0, 0),
199 (('c2', 'ff'), 'jp', OPTYPE_Cond, COND_NZ, OPTYPE_Ind, None, 1, 0, 0),
200 (('c3', 'ff'), 'jp', OPTYPE_imm16, None, None, None, 3, 1, 0),
201 (('c40000', 'ff0000'), 'call', OPTYPE_Cond, COND_NZ, OPTYPE_imm16, None, 3, 1, 0),
202 (('c5', 'ff'), 'push', OPTYPE_Reg, REG_BC, None, None, 1, 0, 0),
203 (('c600', 'ff00'), 'add', OPTYPE_Reg, REG_A, OPTYPE_imm8, None, 2, 1, 0),
204 (('c7', 'ff'), 'rst', OPTYPE_const, 0, None, None, 1, 0, 0),
205 (('c8', 'ff'), 'ret', OPTYPE_Cond, COND_Z, None, None, 1, 0, 0),
206 (('c9', 'ff'), 'ret', None, None, None, None, 1, 0, 0),
207 (('ca', 'ff'), 'jp', OPTYPE_Cond, COND_Z, OPTYPE_Ind, None, 1, 0, 0),
208 (('cb00', 'ffff'), 'rlc', OPTYPE_Reg, REG_B, None, None, 2, 0, 0),
209 (('cb01', 'ffff'), 'rlc', OPTYPE_Reg, REG_C, None, None, 2, 0, 0),
210 (('cb02', 'ffff'), 'rlc', OPTYPE_Reg, REG_D, None, None, 2, 0, 0),
211 (('cb03', 'ffff'), 'rlc', OPTYPE_Reg, REG_E, None, None, 2, 0, 0),
212 (('cb04', 'ffff'), 'rlc', OPTYPE_Reg, REG_H, None, None, 2, 0, 0),
213 (('cb05', 'ffff'), 'rlc', OPTYPE_Reg, REG_L, None, None, 2, 0, 0),
214 (('cb06', 'ffff'), 'rlc', OPTYPE_RegMem, REG_HL, None, None, 2, 0, 0),
215 (('cb07', 'ffff'), 'rlc', OPTYPE_Reg, REG_A, None, None, 2, 0, 0),
216 (('cb08', 'ffff'), 'rrc', OPTYPE_Reg, REG_B, None, None, 2, 0, 0),
217 (('cb09', 'ffff'), 'rrc', OPTYPE_Reg, REG_C, None, None, 2, 0, 0),
218 (('cb0a', 'ffff'), 'rrc', OPTYPE_Reg, REG_D, None, None, 2, 0, 0),
219 (('cb0b', 'ffff'), 'rrc', OPTYPE_Reg, REG_E, None, None, 2, 0, 0),
220 (('cb0c', 'ffff'), 'rrc', OPTYPE_Reg, REG_H, None, None, 2, 0, 0),
221 (('cb0d', 'ffff'), 'rrc', OPTYPE_Reg, REG_L, None, None, 2, 0, 0),
222 (('cb0e', 'ffff'), 'rrc', OPTYPE_RegMem, REG_HL, None, None, 2, 0, 0),
223 (('cb0f', 'ffff'), 'rrc', OPTYPE_Reg, REG_A, None, None, 2, 0, 0),
224 (('cb10', 'ffff'), 'rl', OPTYPE_Reg, REG_B, None, None, 2, 0, 0),
225 (('cb11', 'ffff'), 'rl', OPTYPE_Reg, REG_C, None, None, 2, 0, 0),
226 (('cb12', 'ffff'), 'rl', OPTYPE_Reg, REG_D, None, None, 2, 0, 0),
227 (('cb13', 'ffff'), 'rl', OPTYPE_Reg, REG_E, None, None, 2, 0, 0),
228 (('cb14', 'ffff'), 'rl', OPTYPE_Reg, REG_H, None, None, 2, 0, 0),
229 (('cb15', 'ffff'), 'rl', OPTYPE_Reg, REG_L, None, None, 2, 0, 0),
230 (('cb16', 'ffff'), 'rl', OPTYPE_RegMem, REG_HL, None, None, 2, 0, 0),
231 (('cb17', 'ffff'), 'rl', OPTYPE_Reg, REG_A, None, None, 2, 0, 0),
232 (('cb18', 'ffff'), 'rr', OPTYPE_Reg, REG_B, None, None, 2, 0, 0),
233 (('cb19', 'ffff'), 'rr', OPTYPE_Reg, REG_C, None, None, 2, 0, 0),
234 (('cb1a', 'ffff'), 'rr', OPTYPE_Reg, REG_D, None, None, 2, 0, 0),
235 (('cb1b', 'ffff'), 'rr', OPTYPE_Reg, REG_E, None, None, 2, 0, 0),
236 (('cb1c', 'ffff'), 'rr', OPTYPE_Reg, REG_H, None, None, 2, 0, 0),
237 (('cb1d', 'ffff'), 'rr', OPTYPE_Reg, REG_L, None, None, 2, 0, 0),
238 (('cb1e', 'ffff'), 'rr', OPTYPE_RegMem, REG_HL, None, None, 2, 0, 0),
239 (('cb1f', 'ffff'), 'rr', OPTYPE_Reg, REG_A, None, None, 2, 0, 0),
240 (('cb20', 'ffff'), 'sla', OPTYPE_Reg, REG_B, None, None, 2, 0, 0),
241 (('cb21', 'ffff'), 'sla', OPTYPE_Reg, REG_C, None, None, 2, 0, 0),
242 (('cb22', 'ffff'), 'sla', OPTYPE_Reg, REG_D, None, None, 2, 0, 0),
243 (('cb23', 'ffff'), 'sla', OPTYPE_Reg, REG_E, None, None, 2, 0, 0),
244 (('cb24', 'ffff'), 'sla', OPTYPE_Reg, REG_H, None, None, 2, 0, 0),
245 (('cb25', 'ffff'), 'sla', OPTYPE_Reg, REG_L, None, None, 2, 0, 0),
246 (('cb26', 'ffff'), 'sla', OPTYPE_RegMem, REG_HL, None, None, 2, 0, 0),
247 (('cb27', 'ffff'), 'sla', OPTYPE_Reg, REG_A, None, None, 2, 0, 0),
248 (('cb28', 'ffff'), 'sra', OPTYPE_Reg, REG_B, None, None, 2, 0, 0),
249 (('cb29', 'ffff'), 'sra', OPTYPE_Reg, REG_C, None, None, 2, 0, 0),
250 (('cb2a', 'ffff'), 'sra', OPTYPE_Reg, REG_D, None, None, 2, 0, 0),
251 (('cb2b', 'ffff'), 'sra', OPTYPE_Reg, REG_E, None, None, 2, 0, 0),
252 (('cb2c', 'ffff'), 'sra', OPTYPE_Reg, REG_H, None, None, 2, 0, 0),
253 (('cb2d', 'ffff'), 'sra', OPTYPE_Reg, REG_L, None, None, 2, 0, 0),
254 (('cb2e', 'ffff'), 'sra', OPTYPE_RegMem, REG_HL, None, None, 2, 0, 0),
255 (('cb2f', 'ffff'), 'sra', OPTYPE_Reg, REG_A, None, None, 2, 0, 0),
256 (('cb38', 'ffff'), 'srl', OPTYPE_Reg, REG_B, None, None, 2, 0, 0),
257 (('cb39', 'ffff'), 'srl', OPTYPE_Reg, REG_C, None, None, 2, 0, 0),
258 (('cb3a', 'ffff'), 'srl', OPTYPE_Reg, REG_D, None, None, 2, 0, 0),
259 (('cb3b', 'ffff'), 'srl', OPTYPE_Reg, REG_E, None, None, 2, 0, 0),
260 (('cb3c', 'ffff'), 'srl', OPTYPE_Reg, REG_H, None, None, 2, 0, 0),
261 (('cb3d', 'ffff'), 'srl', OPTYPE_Reg, REG_L, None, None, 2, 0, 0),
262 (('cb3e', 'ffff'), 'srl', OPTYPE_RegMem, REG_HL, None, None, 2, 0, 0),
263 (('cb3f', 'ffff'), 'srl', OPTYPE_Reg, REG_A, None, None, 2, 0, 0),
264 (('cb40', 'ffff'), 'bit', OPTYPE_const, 0, OPTYPE_Reg, REG_B, 2, 0, 0),
265 (('cb41', 'ffff'), 'bit', OPTYPE_const, 0, OPTYPE_Reg, REG_C, 2, 0, 0),
266 (('cb42', 'ffff'), 'bit', OPTYPE_const, 0, OPTYPE_Reg, REG_D, 2, 0, 0),
267 (('cb43', 'ffff'), 'bit', OPTYPE_const, 0, OPTYPE_Reg, REG_E, 2, 0, 0),
268 (('cb44', 'ffff'), 'bit', OPTYPE_const, 0, OPTYPE_Reg, REG_H, 2, 0, 0),
269 (('cb45', 'ffff'), 'bit', OPTYPE_const, 0, OPTYPE_Reg, REG_L, 2, 0, 0),
270 (('cb46', 'ffff'), 'bit', OPTYPE_const, 0, OPTYPE_RegMem, REG_HL, 2, 0, 0),
271 (('cb47', 'ffff'), 'bit', OPTYPE_const, 0, OPTYPE_Reg, REG_A, 2, 0, 0),
272 (('cb48', 'ffff'), 'bit', OPTYPE_const, 1, OPTYPE_Reg, REG_B, 2, 0, 0),
273 (('cb49', 'ffff'), 'bit', OPTYPE_const, 1, OPTYPE_Reg, REG_C, 2, 0, 0),
274 (('cb4a', 'ffff'), 'bit', OPTYPE_const, 1, OPTYPE_Reg, REG_D, 2, 0, 0),
275 (('cb4b', 'ffff'), 'bit', OPTYPE_const, 1, OPTYPE_Reg, REG_E, 2, 0, 0),
276 (('cb4c', 'ffff'), 'bit', OPTYPE_const, 1, OPTYPE_Reg, REG_H, 2, 0, 0),
277 (('cb4d', 'ffff'), 'bit', OPTYPE_const, 1, OPTYPE_Reg, REG_L, 2, 0, 0),
278 (('cb4e', 'ffff'), 'bit', OPTYPE_const, 1, OPTYPE_RegMem, REG_HL, 2, 0, 0),
279 (('cb4f', 'ffff'), 'bit', OPTYPE_const, 1, OPTYPE_Reg, REG_A, 2, 0, 0),
280 (('cb50', 'ffff'), 'bit', OPTYPE_const, 2, OPTYPE_Reg, REG_B, 2, 0, 0),
281 (('cb51', 'ffff'), 'bit', OPTYPE_const, 2, OPTYPE_Reg, REG_C, 2, 0, 0),
282 (('cb52', 'ffff'), 'bit', OPTYPE_const, 2, OPTYPE_Reg, REG_D, 2, 0, 0),
283 (('cb53', 'ffff'), 'bit', OPTYPE_const, 2, OPTYPE_Reg, REG_E, 2, 0, 0),
284 (('cb54', 'ffff'), 'bit', OPTYPE_const, 2, OPTYPE_Reg, REG_H, 2, 0, 0),
285 (('cb55', 'ffff'), 'bit', OPTYPE_const, 2, OPTYPE_Reg, REG_L, 2, 0, 0),
286 (('cb56', 'ffff'), 'bit', OPTYPE_const, 2, OPTYPE_RegMem, REG_HL, 2, 0, 0),
287 (('cb57', 'ffff'), 'bit', OPTYPE_const, 2, OPTYPE_Reg, REG_A, 2, 0, 0),
288 (('cb58', 'ffff'), 'bit', OPTYPE_const, 3, OPTYPE_Reg, REG_B, 2, 0, 0),
289 (('cb59', 'ffff'), 'bit', OPTYPE_const, 3, OPTYPE_Reg, REG_C, 2, 0, 0),
290 (('cb5a', 'ffff'), 'bit', OPTYPE_const, 3, OPTYPE_Reg, REG_D, 2, 0, 0),
291 (('cb5b', 'ffff'), 'bit', OPTYPE_const, 3, OPTYPE_Reg, REG_E, 2, 0, 0),
292 (('cb5c', 'ffff'), 'bit', OPTYPE_const, 3, OPTYPE_Reg, REG_H, 2, 0, 0),
293 (('cb5d', 'ffff'), 'bit', OPTYPE_const, 3, OPTYPE_Reg, REG_L, 2, 0, 0),
294 (('cb5e', 'ffff'), 'bit', OPTYPE_const, 3, OPTYPE_RegMem, REG_HL, 2, 0, 0),
295 (('cb5f', 'ffff'), 'bit', OPTYPE_const, 3, OPTYPE_Reg, REG_A, 2, 0, 0),
296 (('cb60', 'ffff'), 'bit', OPTYPE_const, 4, OPTYPE_Reg, REG_B, 2, 0, 0),
297 (('cb61', 'ffff'), 'bit', OPTYPE_const, 4, OPTYPE_Reg, REG_C, 2, 0, 0),
298 (('cb62', 'ffff'), 'bit', OPTYPE_const, 4, OPTYPE_Reg, REG_D, 2, 0, 0),
299 (('cb63', 'ffff'), 'bit', OPTYPE_const, 4, OPTYPE_Reg, REG_E, 2, 0, 0),
300 (('cb64', 'ffff'), 'bit', OPTYPE_const, 4, OPTYPE_Reg, REG_H, 2, 0, 0),
301 (('cb65', 'ffff'), 'bit', OPTYPE_const, 4, OPTYPE_Reg, REG_L, 2, 0, 0),
302 (('cb66', 'ffff'), 'bit', OPTYPE_const, 4, OPTYPE_RegMem, REG_HL, 2, 0, 0),
303 (('cb67', 'ffff'), 'bit', OPTYPE_const, 4, OPTYPE_Reg, REG_A, 2, 0, 0),
304 (('cb68', 'ffff'), 'bit', OPTYPE_const, 5, OPTYPE_Reg, REG_B, 2, 0, 0),
305 (('cb69', 'ffff'), 'bit', OPTYPE_const, 5, OPTYPE_Reg, REG_C, 2, 0, 0),
306 (('cb6a', 'ffff'), 'bit', OPTYPE_const, 5, OPTYPE_Reg, REG_D, 2, 0, 0),
307 (('cb6b', 'ffff'), 'bit', OPTYPE_const, 5, OPTYPE_Reg, REG_E, 2, 0, 0),
308 (('cb6c', 'ffff'), 'bit', OPTYPE_const, 5, OPTYPE_Reg, REG_H, 2, 0, 0),
309 (('cb6d', 'ffff'), 'bit', OPTYPE_const, 5, OPTYPE_Reg, REG_L, 2, 0, 0),
310 (('cb6e', 'ffff'), 'bit', OPTYPE_const, 5, OPTYPE_RegMem, REG_HL, 2, 0, 0),
311 (('cb6f', 'ffff'), 'bit', OPTYPE_const, 5, OPTYPE_Reg, REG_A, 2, 0, 0),
312 (('cb70', 'ffff'), 'bit', OPTYPE_const, 6, OPTYPE_Reg, REG_B, 2, 0, 0),
313 (('cb71', 'ffff'), 'bit', OPTYPE_const, 6, OPTYPE_Reg, REG_C, 2, 0, 0),
314 (('cb72', 'ffff'), 'bit', OPTYPE_const, 6, OPTYPE_Reg, REG_D, 2, 0, 0),
315 (('cb73', 'ffff'), 'bit', OPTYPE_const, 6, OPTYPE_Reg, REG_E, 2, 0, 0),
316 (('cb74', 'ffff'), 'bit', OPTYPE_const, 6, OPTYPE_Reg, REG_H, 2, 0, 0),
317 (('cb75', 'ffff'), 'bit', OPTYPE_const, 6, OPTYPE_Reg, REG_L, 2, 0, 0),
318 (('cb76', 'ffff'), 'bit', OPTYPE_const, 6, OPTYPE_RegMem, REG_HL, 2, 0, 0),
319 (('cb77', 'ffff'), 'bit', OPTYPE_const, 6, OPTYPE_Reg, REG_A, 2, 0, 0),
320 (('cb78', 'ffff'), 'bit', OPTYPE_const, 7, OPTYPE_Reg, REG_B, 2, 0, 0),
321 (('cb79', 'ffff'), 'bit', OPTYPE_const, 7, OPTYPE_Reg, REG_C, 2, 0, 0),
322 (('cb7a', 'ffff'), 'bit', OPTYPE_const, 7, OPTYPE_Reg, REG_D, 2, 0, 0),
323 (('cb7b', 'ffff'), 'bit', OPTYPE_const, 7, OPTYPE_Reg, REG_E, 2, 0, 0),
324 (('cb7c', 'ffff'), 'bit', OPTYPE_const, 7, OPTYPE_Reg, REG_H, 2, 0, 0),
325 (('cb7d', 'ffff'), 'bit', OPTYPE_const, 7, OPTYPE_Reg, REG_L, 2, 0, 0),
326 (('cb7e', 'ffff'), 'bit', OPTYPE_const, 7, OPTYPE_RegMem, REG_HL, 2, 0, 0),
327 (('cb7f', 'ffff'), 'bit', OPTYPE_const, 7, OPTYPE_Reg, REG_A, 2, 0, 0),
328 (('cb80', 'ffff'), 'res', OPTYPE_const, 0, OPTYPE_Reg, REG_B, 2, 0, 0),
329 (('cb81', 'ffff'), 'res', OPTYPE_const, 0, OPTYPE_Reg, REG_C, 2, 0, 0),
330 (('cb82', 'ffff'), 'res', OPTYPE_const, 0, OPTYPE_Reg, REG_D, 2, 0, 0),
331 (('cb83', 'ffff'), 'res', OPTYPE_const, 0, OPTYPE_Reg, REG_E, 2, 0, 0),
332 (('cb84', 'ffff'), 'res', OPTYPE_const, 0, OPTYPE_Reg, REG_H, 2, 0, 0),
333 (('cb85', 'ffff'), 'res', OPTYPE_const, 0, OPTYPE_Reg, REG_L, 2, 0, 0),
334 (('cb86', 'ffff'), 'res', OPTYPE_const, 0, OPTYPE_RegMem, REG_HL, 2, 0, 0),
335 (('cb87', 'ffff'), 'res', OPTYPE_const, 0, OPTYPE_Reg, REG_A, 2, 0, 0),
336 (('cb88', 'ffff'), 'res', OPTYPE_const, 1, OPTYPE_Reg, REG_B, 2, 0, 0),
337 (('cb89', 'ffff'), 'res', OPTYPE_const, 1, OPTYPE_Reg, REG_C, 2, 0, 0),
338 (('cb8a', 'ffff'), 'res', OPTYPE_const, 1, OPTYPE_Reg, REG_D, 2, 0, 0),
339 (('cb8b', 'ffff'), 'res', OPTYPE_const, 1, OPTYPE_Reg, REG_E, 2, 0, 0),
340 (('cb8c', 'ffff'), 'res', OPTYPE_const, 1, OPTYPE_Reg, REG_H, 2, 0, 0),
341 (('cb8d', 'ffff'), 'res', OPTYPE_const, 1, OPTYPE_Reg, REG_L, 2, 0, 0),
342 (('cb8e', 'ffff'), 'res', OPTYPE_const, 1, OPTYPE_RegMem, REG_HL, 2, 0, 0),
343 (('cb8f', 'ffff'), 'res', OPTYPE_const, 1, OPTYPE_Reg, REG_A, 2, 0, 0),
344 (('cb90', 'ffff'), 'res', OPTYPE_const, 2, OPTYPE_Reg, REG_B, 2, 0, 0),
345 (('cb91', 'ffff'), 'res', OPTYPE_const, 2, OPTYPE_Reg, REG_C, 2, 0, 0),
346 (('cb92', 'ffff'), 'res', OPTYPE_const, 2, OPTYPE_Reg, REG_D, 2, 0, 0),
347 (('cb93', 'ffff'), 'res', OPTYPE_const, 2, OPTYPE_Reg, REG_E, 2, 0, 0),
348 (('cb94', 'ffff'), 'res', OPTYPE_const, 2, OPTYPE_Reg, REG_H, 2, 0, 0),
349 (('cb95', 'ffff'), 'res', OPTYPE_const, 2, OPTYPE_Reg, REG_L, 2, 0, 0),
350 (('cb96', 'ffff'), 'res', OPTYPE_const, 2, OPTYPE_RegMem, REG_HL, 2, 0, 0),
351 (('cb97', 'ffff'), 'res', OPTYPE_const, 2, OPTYPE_Reg, REG_A, 2, 0, 0),
352 (('cb98', 'ffff'), 'res', OPTYPE_const, 3, OPTYPE_Reg, REG_B, 2, 0, 0),
353 (('cb99', 'ffff'), 'res', OPTYPE_const, 3, OPTYPE_Reg, REG_C, 2, 0, 0),
354 (('cb9a', 'ffff'), 'res', OPTYPE_const, 3, OPTYPE_Reg, REG_D, 2, 0, 0),
355 (('cb9b', 'ffff'), 'res', OPTYPE_const, 3, OPTYPE_Reg, REG_E, 2, 0, 0),
356 (('cb9c', 'ffff'), 'res', OPTYPE_const, 3, OPTYPE_Reg, REG_H, 2, 0, 0),
357 (('cb9d', 'ffff'), 'res', OPTYPE_const, 3, OPTYPE_Reg, REG_L, 2, 0, 0),
358 (('cb9e', 'ffff'), 'res', OPTYPE_const, 3, OPTYPE_RegMem, REG_HL, 2, 0, 0),
359 (('cb9f', 'ffff'), 'res', OPTYPE_const, 3, OPTYPE_Reg, REG_A, 2, 0, 0),
360 (('cba0', 'ffff'), 'res', OPTYPE_const, 4, OPTYPE_Reg, REG_B, 2, 0, 0),
361 (('cba1', 'ffff'), 'res', OPTYPE_const, 4, OPTYPE_Reg, REG_C, 2, 0, 0),
362 (('cba2', 'ffff'), 'res', OPTYPE_const, 4, OPTYPE_Reg, REG_D, 2, 0, 0),
363 (('cba3', 'ffff'), 'res', OPTYPE_const, 4, OPTYPE_Reg, REG_E, 2, 0, 0),
364 (('cba4', 'ffff'), 'res', OPTYPE_const, 4, OPTYPE_Reg, REG_H, 2, 0, 0),
365 (('cba5', 'ffff'), 'res', OPTYPE_const, 4, OPTYPE_Reg, REG_L, 2, 0, 0),
366 (('cba6', 'ffff'), 'res', OPTYPE_const, 4, OPTYPE_RegMem, REG_HL, 2, 0, 0),
367 (('cba7', 'ffff'), 'res', OPTYPE_const, 4, OPTYPE_Reg, REG_A, 2, 0, 0),
368 (('cba8', 'ffff'), 'res', OPTYPE_const, 5, OPTYPE_Reg, REG_B, 2, 0, 0),
369 (('cba9', 'ffff'), 'res', OPTYPE_const, 5, OPTYPE_Reg, REG_C, 2, 0, 0),
370 (('cbaa', 'ffff'), 'res', OPTYPE_const, 5, OPTYPE_Reg, REG_D, 2, 0, 0),
371 (('cbab', 'ffff'), 'res', OPTYPE_const, 5, OPTYPE_Reg, REG_E, 2, 0, 0),
372 (('cbac', 'ffff'), 'res', OPTYPE_const, 5, OPTYPE_Reg, REG_H, 2, 0, 0),
373 (('cbad', 'ffff'), 'res', OPTYPE_const, 5, OPTYPE_Reg, REG_L, 2, 0, 0),
374 (('cbae', 'ffff'), 'res', OPTYPE_const, 5, OPTYPE_RegMem, REG_HL, 2, 0, 0),
375 (('cbaf', 'ffff'), 'res', OPTYPE_const, 5, OPTYPE_Reg, REG_A, 2, 0, 0),
376 (('cbb0', 'ffff'), 'res', OPTYPE_const, 6, OPTYPE_Reg, REG_B, 2, 0, 0),
377 (('cbb1', 'ffff'), 'res', OPTYPE_const, 6, OPTYPE_Reg, REG_C, 2, 0, 0),
378 (('cbb2', 'ffff'), 'res', OPTYPE_const, 6, OPTYPE_Reg, REG_D, 2, 0, 0),
379 (('cbb3', 'ffff'), 'res', OPTYPE_const, 6, OPTYPE_Reg, REG_E, 2, 0, 0),
380 (('cbb4', 'ffff'), 'res', OPTYPE_const, 6, OPTYPE_Reg, REG_H, 2, 0, 0),
381 (('cbb5', 'ffff'), 'res', OPTYPE_const, 6, OPTYPE_Reg, REG_L, 2, 0, 0),
382 (('cbb6', 'ffff'), 'res', OPTYPE_const, 6, OPTYPE_RegMem, REG_HL, 2, 0, 0),
383 (('cbb7', 'ffff'), 'res', OPTYPE_const, 6, OPTYPE_Reg, REG_A, 2, 0, 0),
384 (('cbb8', 'ffff'), 'res', OPTYPE_const, 7, OPTYPE_Reg, REG_B, 2, 0, 0),
385 (('cbb9', 'ffff'), 'res', OPTYPE_const, 7, OPTYPE_Reg, REG_C, 2, 0, 0),
386 (('cbba', 'ffff'), 'res', OPTYPE_const, 7, OPTYPE_Reg, REG_D, 2, 0, 0),
387 (('cbbb', 'ffff'), 'res', OPTYPE_const, 7, OPTYPE_Reg, REG_E, 2, 0, 0),
388 (('cbbc', 'ffff'), 'res', OPTYPE_const, 7, OPTYPE_Reg, REG_H, 2, 0, 0),
389 (('cbbd', 'ffff'), 'res', OPTYPE_const, 7, OPTYPE_Reg, REG_L, 2, 0, 0),
390 (('cbbe', 'ffff'), 'res', OPTYPE_const, 7, OPTYPE_RegMem, REG_HL, 2, 0, 0),
391 (('cbbf', 'ffff'), 'res', OPTYPE_const, 7, OPTYPE_Reg, REG_A, 2, 0, 0),
392 (('cbc0', 'ffff'), 'set', OPTYPE_const, 0, OPTYPE_Reg, REG_B, 2, 0, 0),
393 (('cbc1', 'ffff'), 'set', OPTYPE_const, 0, OPTYPE_Reg, REG_C, 2, 0, 0),
394 (('cbc2', 'ffff'), 'set', OPTYPE_const, 0, OPTYPE_Reg, REG_D, 2, 0, 0),
395 (('cbc3', 'ffff'), 'set', OPTYPE_const, 0, OPTYPE_Reg, REG_E, 2, 0, 0),
396 (('cbc4', 'ffff'), 'set', OPTYPE_const, 0, OPTYPE_Reg, REG_H, 2, 0, 0),
397 (('cbc5', 'ffff'), 'set', OPTYPE_const, 0, OPTYPE_Reg, REG_L, 2, 0, 0),
398 (('cbc6', 'ffff'), 'set', OPTYPE_const, 0, OPTYPE_RegMem, REG_HL, 2, 0, 0),
399 (('cbc7', 'ffff'), 'set', OPTYPE_const, 0, OPTYPE_Reg, REG_A, 2, 0, 0),
400 (('cbc8', 'ffff'), 'set', OPTYPE_const, 1, OPTYPE_Reg, REG_B, 2, 0, 0),
401 (('cbc9', 'ffff'), 'set', OPTYPE_const, 1, OPTYPE_Reg, REG_C, 2, 0, 0),
402 (('cbca', 'ffff'), 'set', OPTYPE_const, 1, OPTYPE_Reg, REG_D, 2, 0, 0),
403 (('cbcb', 'ffff'), 'set', OPTYPE_const, 1, OPTYPE_Reg, REG_E, 2, 0, 0),
404 (('cbcc', 'ffff'), 'set', OPTYPE_const, 1, OPTYPE_Reg, REG_H, 2, 0, 0),
405 (('cbcd', 'ffff'), 'set', OPTYPE_const, 1, OPTYPE_Reg, REG_L, 2, 0, 0),
406 (('cbce', 'ffff'), 'set', OPTYPE_const, 1, OPTYPE_RegMem, REG_HL, 2, 0, 0),
407 (('cbcf', 'ffff'), 'set', OPTYPE_const, 1, OPTYPE_Reg, REG_A, 2, 0, 0),
408 (('cbd0', 'ffff'), 'set', OPTYPE_const, 2, OPTYPE_Reg, REG_B, 2, 0, 0),
409 (('cbd1', 'ffff'), 'set', OPTYPE_const, 2, OPTYPE_Reg, REG_C, 2, 0, 0),
410 (('cbd2', 'ffff'), 'set', OPTYPE_const, 2, OPTYPE_Reg, REG_D, 2, 0, 0),
411 (('cbd3', 'ffff'), 'set', OPTYPE_const, 2, OPTYPE_Reg, REG_E, 2, 0, 0),
412 (('cbd4', 'ffff'), 'set', OPTYPE_const, 2, OPTYPE_Reg, REG_H, 2, 0, 0),
413 (('cbd5', 'ffff'), 'set', OPTYPE_const, 2, OPTYPE_Reg, REG_L, 2, 0, 0),
414 (('cbd6', 'ffff'), 'set', OPTYPE_const, 2, OPTYPE_RegMem, REG_HL, 2, 0, 0),
415 (('cbd7', 'ffff'), 'set', OPTYPE_const, 2, OPTYPE_Reg, REG_A, 2, 0, 0),
416 (('cbd8', 'ffff'), 'set', OPTYPE_const, 3, OPTYPE_Reg, REG_B, 2, 0, 0),
417 (('cbd9', 'ffff'), 'set', OPTYPE_const, 3, OPTYPE_Reg, REG_C, 2, 0, 0),
418 (('cbda', 'ffff'), 'set', OPTYPE_const, 3, OPTYPE_Reg, REG_D, 2, 0, 0),
419 (('cbdb', 'ffff'), 'set', OPTYPE_const, 3, OPTYPE_Reg, REG_E, 2, 0, 0),
420 (('cbdc', 'ffff'), 'set', OPTYPE_const, 3, OPTYPE_Reg, REG_H, 2, 0, 0),
421 (('cbdd', 'ffff'), 'set', OPTYPE_const, 3, OPTYPE_Reg, REG_L, 2, 0, 0),
422 (('cbde', 'ffff'), 'set', OPTYPE_const, 3, OPTYPE_RegMem, REG_HL, 2, 0, 0),
423 (('cbdf', 'ffff'), 'set', OPTYPE_const, 3, OPTYPE_Reg, REG_A, 2, 0, 0),
424 (('cbe0', 'ffff'), 'set', OPTYPE_const, 4, OPTYPE_Reg, REG_B, 2, 0, 0),
425 (('cbe1', 'ffff'), 'set', OPTYPE_const, 4, OPTYPE_Reg, REG_C, 2, 0, 0),
426 (('cbe2', 'ffff'), 'set', OPTYPE_const, 4, OPTYPE_Reg, REG_D, 2, 0, 0),
427 (('cbe3', 'ffff'), 'set', OPTYPE_const, 4, OPTYPE_Reg, REG_E, 2, 0, 0),
428 (('cbe4', 'ffff'), 'set', OPTYPE_const, 4, OPTYPE_Reg, REG_H, 2, 0, 0),
429 (('cbe5', 'ffff'), 'set', OPTYPE_const, 4, OPTYPE_Reg, REG_L, 2, 0, 0),
430 (('cbe6', 'ffff'), 'set', OPTYPE_const, 4, OPTYPE_RegMem, REG_HL, 2, 0, 0),
431 (('cbe7', 'ffff'), 'set', OPTYPE_const, 4, OPTYPE_Reg, REG_A, 2, 0, 0),
432 (('cbe8', 'ffff'), 'set', OPTYPE_const, 5, OPTYPE_Reg, REG_B, 2, 0, 0),
433 (('cbe9', 'ffff'), 'set', OPTYPE_const, 5, OPTYPE_Reg, REG_C, 2, 0, 0),
434 (('cbea', 'ffff'), 'set', OPTYPE_const, 5, OPTYPE_Reg, REG_D, 2, 0, 0),
435 (('cbeb', 'ffff'), 'set', OPTYPE_const, 5, OPTYPE_Reg, REG_E, 2, 0, 0),
436 (('cbec', 'ffff'), 'set', OPTYPE_const, 5, OPTYPE_Reg, REG_H, 2, 0, 0),
437 (('cbed', 'ffff'), 'set', OPTYPE_const, 5, OPTYPE_Reg, REG_L, 2, 0, 0),
438 (('cbee', 'ffff'), 'set', OPTYPE_const, 5, OPTYPE_RegMem, REG_HL, 2, 0, 0),
439 (('cbef', 'ffff'), 'set', OPTYPE_const, 5, OPTYPE_Reg, REG_A, 2, 0, 0),
440 (('cbf0', 'ffff'), 'set', OPTYPE_const, 6, OPTYPE_Reg, REG_B, 2, 0, 0),
441 (('cbf1', 'ffff'), 'set', OPTYPE_const, 6, OPTYPE_Reg, REG_C, 2, 0, 0),
442 (('cbf2', 'ffff'), 'set', OPTYPE_const, 6, OPTYPE_Reg, REG_D, 2, 0, 0),
443 (('cbf3', 'ffff'), 'set', OPTYPE_const, 6, OPTYPE_Reg, REG_E, 2, 0, 0),
444 (('cbf4', 'ffff'), 'set', OPTYPE_const, 6, OPTYPE_Reg, REG_H, 2, 0, 0),
445 (('cbf5', 'ffff'), 'set', OPTYPE_const, 6, OPTYPE_Reg, REG_L, 2, 0, 0),
446 (('cbf6', 'ffff'), 'set', OPTYPE_const, 6, OPTYPE_RegMem, REG_HL, 2, 0, 0),
447 (('cbf7', 'ffff'), 'set', OPTYPE_const, 6, OPTYPE_Reg, REG_A, 2, 0, 0),
448 (('cbf8', 'ffff'), 'set', OPTYPE_const, 7, OPTYPE_Reg, REG_B, 2, 0, 0),
449 (('cbf9', 'ffff'), 'set', OPTYPE_const, 7, OPTYPE_Reg, REG_C, 2, 0, 0),
450 (('cbfa', 'ffff'), 'set', OPTYPE_const, 7, OPTYPE_Reg, REG_D, 2, 0, 0),
451 (('cbfb', 'ffff'), 'set', OPTYPE_const, 7, OPTYPE_Reg, REG_E, 2, 0, 0),
452 (('cbfc', 'ffff'), 'set', OPTYPE_const, 7, OPTYPE_Reg, REG_H, 2, 0, 0),
453 (('cbfd', 'ffff'), 'set', OPTYPE_const, 7, OPTYPE_Reg, REG_L, 2, 0, 0),
454 (('cbfe', 'ffff'), 'set', OPTYPE_const, 7, OPTYPE_RegMem, REG_HL, 2, 0, 0),
455 (('cbff', 'ffff'), 'set', OPTYPE_const, 7, OPTYPE_Reg, REG_A, 2, 0, 0),
456 (('cc0000', 'ff0000'), 'call', OPTYPE_Cond, COND_Z, OPTYPE_imm16, None, 3, 1, 0),
457 (('cd0000', 'ff0000'), 'call', OPTYPE_imm16, None, None, None, 3, 1, 0),
458 (('ce00', 'ff00'), 'adc', OPTYPE_Reg, REG_A, OPTYPE_imm8, None, 2, 1, 0),
459 (('cf', 'ff'), 'rst', OPTYPE_const, 8, None, None, 1, 0, 0),
460 (('d0', 'ff'), 'ret', OPTYPE_Cond, COND_NC, None, None, 1, 0, 0),
461 (('d1', 'ff'), 'pop', OPTYPE_Reg, REG_DE, None, None, 1, 0, 0),
462 (('d2', 'ff'), 'jp', OPTYPE_Cond, COND_NC, OPTYPE_Ind, None, 1, 0, 0),
463 (('d300', 'ff00'), 'out', OPTYPE_immmem8, None, OPTYPE_Reg, REG_A, 2, 1, 0),
464 (('d40000', 'ff0000'), 'call', OPTYPE_Cond, COND_NC, OPTYPE_imm16, None, 3, 1, 0),
465 (('d40000', 'ff0000'), 'call', OPTYPE_Cond, COND_NC, OPTYPE_imm16, None, 3, 1, 0),
466 (('d5', 'ff'), 'push', OPTYPE_Reg, REG_DE, None, None, 1, 0, 0),
467 (('d600', 'ff00'), 'sub', OPTYPE_imm8, None, None, None, 2, 1, 0),
468 (('d7', 'ff'), 'rst', OPTYPE_const, 16, None, None, 1, 0, 0),
469 (('d8', 'ff'), 'ret', OPTYPE_Reg, REG_C, None, None, 1, 0, 0),
470 (('d9', 'ff'), 'exx', None, None, None, None, 1, 0, 0),
471 (('da', 'ff'), 'jp', OPTYPE_Reg, REG_C, OPTYPE_Ind, None, 1, 0, 0),
472 (('db00', 'ff00'), 'in', OPTYPE_Reg, REG_A, OPTYPE_immmem8, None, 2, 1, 0),
473 (('dc0000', 'ff0000'), 'call', OPTYPE_Reg, REG_C, OPTYPE_imm16, None, 3, 1, 0),
474 (('dd09', 'ffff'), 'add', OPTYPE_Reg, REG_IX, OPTYPE_Reg, REG_BC, 2, 0, 0),
475 (('dd19', 'ffff'), 'add', OPTYPE_Reg, REG_IX, OPTYPE_Reg, REG_DE, 2, 0, 0),
476 (('dd210000', 'ffff0000'), 'ld', OPTYPE_Reg, REG_IX, OPTYPE_imm16, None, 4, 2, 0),
477 (('dd220000', 'ffff0000'), 'ld', OPTYPE_immmem16, None, OPTYPE_Reg, REG_IX, 4, 2, 0),
478 (('dd23', 'ffff'), 'inc', OPTYPE_Reg, REG_IX, None, None, 2, 0, 0),
479 (('dd29', 'ffff'), 'add', OPTYPE_Reg, REG_IX, OPTYPE_Reg, REG_IX, 2, 0, 0),
480 (('dd2a0000', 'ffff0000'), 'ld', OPTYPE_Reg, REG_IX, OPTYPE_immmem16, None, 4, 2, 0),
481 (('dd2b', 'ffff'), 'dec', OPTYPE_Reg, REG_IX, None, None, 2, 0, 0),
482 (('dd3400', 'ffff00'), 'inc', OPTYPE_RegMemDisp, REG_IX, None, None, 3, 2, 0),
483 (('dd3500', 'ffff00'), 'dec', OPTYPE_RegMemDisp, REG_IX, None, None, 3, 2, 0),
484 (('dd360000', 'ffff0000'), 'ld', OPTYPE_RegMemDisp, REG_IX, OPTYPE_imm8, None, 4, 2, 0),
485 (('dd39', 'ffff'), 'add', OPTYPE_Reg, REG_IX, OPTYPE_Reg, REG_SP, 2, 0, 0),
486 (('dd4600', 'ffff00'), 'ld', OPTYPE_Reg, REG_B, OPTYPE_RegMemDisp, REG_IX, 3, 2, 0),
487 (('dd4e00', 'ffff00'), 'ld', OPTYPE_Reg, REG_C, OPTYPE_RegMemDisp, REG_IX, 3, 2, 0),
488 (('dd5600', 'ffff00'), 'ld', OPTYPE_Reg, REG_D, OPTYPE_RegMemDisp, REG_IX, 3, 2, 0),
489 (('dd5e00', 'ffff00'), 'ld', OPTYPE_Reg, REG_E, OPTYPE_RegMemDisp, REG_IX, 3, 2, 0),
490 (('dd6600', 'ffff00'), 'ld', OPTYPE_Reg, REG_H, OPTYPE_RegMemDisp, REG_IX, 3, 2, 0),
491 (('dd6e00', 'ffff00'), 'ld', OPTYPE_Reg, REG_L, OPTYPE_RegMemDisp, REG_IX, 3, 2, 0),
492 (('dd7000', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IX, OPTYPE_Reg, REG_B, 3, 2, 0),
493 (('dd7100', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IX, OPTYPE_Reg, REG_C, 3, 2, 0),
494 (('dd7200', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IX, OPTYPE_Reg, REG_D, 3, 2, 0),
495 (('dd7300', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IX, OPTYPE_Reg, REG_E, 3, 2, 0),
496 (('dd7400', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IX, OPTYPE_Reg, REG_H, 3, 2, 0),
497 (('dd7500', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IX, OPTYPE_Reg, REG_L, 3, 2, 0),
498 (('dd7700', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IX, OPTYPE_Reg, REG_A, 3, 2, 0),
499 (('dd7e00', 'ffff00'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_RegMemDisp, REG_IX, 3, 2, 0),
500 (('dd8600', 'ffff00'), 'add', OPTYPE_Reg, REG_A, OPTYPE_RegMemDisp, REG_IX, 3, 2, 0),
501 (('dd8e00', 'ffff00'), 'adc', OPTYPE_Reg, REG_A, OPTYPE_RegMemDisp, REG_IX, 3, 2, 0),
502 (('dd9600', 'ffff00'), 'sub', OPTYPE_RegMemDisp, REG_IX, None, None, 3, 2, 0),
503 (('dd9e00', 'ffff00'), 'sbc', OPTYPE_Reg, REG_A, OPTYPE_RegMemDisp, REG_IX, 3, 2, 0),
504 (('dda600', 'ffff00'), 'and', OPTYPE_RegMemDisp, REG_IX, None, None, 3, 2, 0),
505 (('ddae00', 'ffff00'), 'xor', OPTYPE_RegMemDisp, REG_IX, None, None, 3, 2, 0),
506 (('ddb600', 'ffff00'), 'or', OPTYPE_RegMemDisp, REG_IX, None, None, 3, 2, 0),
507 (('ddbe00', 'ffff00'), 'cp', OPTYPE_RegMemDisp, REG_IX, None, None, 3, 2, 0),
508 (('ddcb0006', 'ffff00ff'), 'rlc', OPTYPE_RegMemDisp, REG_IX, None, None, 4, 2, 0),
509 (('ddcb000e', 'ffff00ff'), 'rrc', OPTYPE_RegMemDisp, REG_IX, None, None, 4, 2, 0),
510 (('ddcb0016', 'ffff00ff'), 'rl', OPTYPE_RegMemDisp, REG_IX, None, None, 4, 2, 0),
511 (('ddcb001e', 'ffff00ff'), 'rr', OPTYPE_RegMemDisp, REG_IX, None, None, 4, 2, 0),
512 (('ddcb0026', 'ffff00ff'), 'sla', OPTYPE_RegMemDisp, REG_IX, None, None, 4, 2, 0),
513 (('ddcb002e', 'ffff00ff'), 'sra', OPTYPE_RegMemDisp, REG_IX, None, None, 4, 2, 0),
514 (('ddcb0046', 'ffff00ff'), 'bit', OPTYPE_const, 0, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
515 (('ddcb004e', 'ffff00ff'), 'bit', OPTYPE_const, 1, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
516 (('ddcb0056', 'ffff00ff'), 'bit', OPTYPE_const, 2, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
517 (('ddcb005e', 'ffff00ff'), 'bit', OPTYPE_const, 3, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
518 (('ddcb0066', 'ffff00ff'), 'bit', OPTYPE_const, 4, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
519 (('ddcb006e', 'ffff00ff'), 'bit', OPTYPE_const, 5, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
520 (('ddcb0076', 'ffff00ff'), 'bit', OPTYPE_const, 6, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
521 (('ddcb007e', 'ffff00ff'), 'bit', OPTYPE_const, 7, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
522 (('ddcb0086', 'ffff00ff'), 'res', OPTYPE_const, 0, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
523 (('ddcb008e', 'ffff00ff'), 'res', OPTYPE_const, 1, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
524 (('ddcb0096', 'ffff00ff'), 'res', OPTYPE_const, 2, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
525 (('ddcb009e', 'ffff00ff'), 'res', OPTYPE_const, 3, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
526 (('ddcb00a6', 'ffff00ff'), 'res', OPTYPE_const, 4, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
527 (('ddcb00ae', 'ffff00ff'), 'res', OPTYPE_const, 5, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
528 (('ddcb00b6', 'ffff00ff'), 'res', OPTYPE_const, 6, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
529 (('ddcb00be', 'ffff00ff'), 'res', OPTYPE_const, 7, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
530 (('ddcb00c6', 'ffff00ff'), 'set', OPTYPE_const, 0, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
531 (('ddcb00ce', 'ffff00ff'), 'set', OPTYPE_const, 1, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
532 (('ddcb00d6', 'ffff00ff'), 'set', OPTYPE_const, 2, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
533 (('ddcb00de', 'ffff00ff'), 'set', OPTYPE_const, 3, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
534 (('ddcb00e6', 'ffff00ff'), 'set', OPTYPE_const, 4, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
535 (('ddcb00ee', 'ffff00ff'), 'set', OPTYPE_const, 5, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
536 (('ddcb00f6', 'ffff00ff'), 'set', OPTYPE_const, 6, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
537 (('ddcb00fe', 'ffff00ff'), 'set', OPTYPE_const, 7, OPTYPE_RegMemDisp, REG_IX, 4, 2, 0),
538 (('dde1', 'ffff'), 'pop', OPTYPE_Reg, REG_IX, None, None, 2, 0, 0),
539 (('dde3', 'ffff'), 'ex', OPTYPE_RegMem, REG_SP, OPTYPE_Reg, REG_IX, 2, 0, 0),
540 (('dde5', 'ffff'), 'push', OPTYPE_Reg, REG_IX, None, None, 2, 0, 0),
541 (('dde9', 'ffff'), 'jp', OPTYPE_RegMem, REG_IX, None, None, 2, 0, 0),
542 (('ddf9', 'ffff'), 'ld', OPTYPE_Reg, REG_SP, OPTYPE_Reg, REG_IX, 2, 0, 0),
543 (('de00', 'ff00'), 'sbc', OPTYPE_Reg, REG_A, OPTYPE_imm8, None, 2, 1, 0),
544 (('df', 'ff'), 'rst', OPTYPE_const, 24, None, None, 1, 0, 0),
545 (('e0', 'ff'), 'ret', OPTYPE_Cond, COND_PO, None, None, 1, 0, 0),
546 (('e1', 'ff'), 'pop', OPTYPE_Reg, REG_HL, None, None, 1, 0, 0),
547 (('e2', 'ff'), 'jp', OPTYPE_Cond, COND_PO, OPTYPE_Ind, None, 1, 0, 0),
548 (('e3', 'ff'), 'ex', OPTYPE_RegMem, REG_SP, OPTYPE_Reg, REG_HL, 1, 0, 0),
549 (('e40000', 'ff0000'), 'call', OPTYPE_Cond, COND_PO, OPTYPE_imm16, None, 3, 1, 0),
550 (('e5', 'ff'), 'push', OPTYPE_Reg, REG_HL, None, None, 1, 0, 0),
551 (('e600', 'ff00'), 'and', OPTYPE_imm8, None, None, None, 2, 1, 0),
552 (('e7', 'ff'), 'rst', OPTYPE_const, 32, None, None, 1, 0, 0),
553 (('e8', 'ff'), 'ret', OPTYPE_Cond, COND_PE, None, None, 1, 0, 0),
554 (('e9', 'ff'), 'jp', OPTYPE_RegMem, REG_HL, None, None, 1, 0, 0),
555 (('ea', 'ff'), 'jp', OPTYPE_Cond, COND_PE, OPTYPE_Ind, None, 1, 0, 0),
556 (('eb', 'ff'), 'ex', OPTYPE_Reg, REG_DE, OPTYPE_Reg, REG_HL, 1, 0, 0),
557 (('ec0000', 'ff0000'), 'call', OPTYPE_Cond, COND_PE, OPTYPE_imm16, None, 3, 1, 0),
558 (('ed40', 'ffff'), 'in', OPTYPE_Reg, REG_B, OPTYPE_RegMem, REG_C, 2, 0, 0),
559 (('ed41', 'ffff'), 'out', OPTYPE_RegMem, REG_C, OPTYPE_Reg, REG_B, 2, 0, 0),
560 (('ed42', 'ffff'), 'sbc', OPTYPE_Reg, REG_HL, OPTYPE_Reg, REG_BC, 2, 0, 0),
561 (('ed430000', 'ffff0000'), 'ld', OPTYPE_immmem16, None, OPTYPE_Reg, REG_BC, 4, 2, 0),
562 (('ed44', 'ffff'), 'neg', None, None, None, None, 2, 0, 0),
563 (('ed45', 'ffff'), 'retn', None, None, None, None, 2, 0, 0),
564 (('ed46', 'ffff'), 'im', OPTYPE_const, 0, None, None, 2, 0, 0),
565 (('ed47', 'ffff'), 'ld', OPTYPE_Reg, REG_I, OPTYPE_Reg, REG_A, 2, 0, 0),
566 (('ed48', 'ffff'), 'in', OPTYPE_Reg, REG_C, OPTYPE_RegMem, REG_C, 2, 0, 0),
567 (('ed49', 'ffff'), 'out', OPTYPE_RegMem, REG_C, OPTYPE_Reg, REG_C, 2, 0, 0),
568 (('ed4a', 'ffff'), 'adc', OPTYPE_Reg, REG_HL, OPTYPE_Reg, REG_BC, 2, 0, 0),
569 (('ed4b0000', 'ffff0000'), 'ld', OPTYPE_Reg, REG_BC, OPTYPE_immmem16, None, 4, 2, 0),
570 (('ed4d', 'ffff'), 'reti', None, None, None, None, 2, 0, 0),
571 (('ed50', 'ffff'), 'in', OPTYPE_Reg, REG_D, OPTYPE_RegMem, REG_C, 2, 0, 0),
572 (('ed51', 'ffff'), 'out', OPTYPE_RegMem, REG_C, OPTYPE_Reg, REG_D, 2, 0, 0),
573 (('ed52', 'ffff'), 'sbc', OPTYPE_Reg, REG_HL, OPTYPE_Reg, REG_DE, 2, 0, 0),
574 (('ed530000', 'ffff0000'), 'ld', OPTYPE_immmem16, None, OPTYPE_Reg, REG_DE, 4, 2, 0),
575 (('ed56', 'ffff'), 'im', OPTYPE_const, 1, None, None, 2, 0, 0),
576 (('ed57', 'ffff'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_Reg, REG_I, 2, 0, 0),
577 (('ed58', 'ffff'), 'in', OPTYPE_Reg, REG_E, OPTYPE_RegMem, REG_C, 2, 0, 0),
578 (('ed59', 'ffff'), 'out', OPTYPE_RegMem, REG_C, OPTYPE_Reg, REG_E, 2, 0, 0),
579 (('ed5a', 'ffff'), 'adc', OPTYPE_Reg, REG_HL, OPTYPE_Reg, REG_DE, 2, 0, 0),
580 (('ed5b0000', 'ffff0000'), 'ld', OPTYPE_Reg, REG_DE, OPTYPE_immmem16, None, 4, 2, 0),
581 (('ed5e', 'ffff'), 'im', OPTYPE_const, 2, None, None, 2, 0, 0),
582 (('ed60', 'ffff'), 'in', OPTYPE_Reg, REG_H, OPTYPE_RegMem, REG_C, 2, 0, 0),
583 (('ed61', 'ffff'), 'out', OPTYPE_RegMem, REG_C, OPTYPE_Reg, REG_H, 2, 0, 0),
584 (('ed62', 'ffff'), 'sbc', OPTYPE_Reg, REG_HL, OPTYPE_Reg, REG_HL, 2, 0, 0),
585 (('ed67', 'ffff'), 'rrd', None, None, None, None, 2, 0, 0),
586 (('ed68', 'ffff'), 'in', OPTYPE_Reg, REG_L, OPTYPE_RegMem, REG_C, 2, 0, 0),
587 (('ed69', 'ffff'), 'out', OPTYPE_RegMem, REG_C, OPTYPE_Reg, REG_L, 2, 0, 0),
588 (('ed6a', 'ffff'), 'adc', OPTYPE_Reg, REG_HL, OPTYPE_Reg, REG_HL, 2, 0, 0),
589 (('ed6f', 'ffff'), 'rld', None, None, None, None, 2, 0, 0),
590 (('ed72', 'ffff'), 'sbc', OPTYPE_Reg, REG_HL, OPTYPE_Reg, REG_SP, 2, 0, 0),
591 (('ed730000', 'ffff0000'), 'ld', OPTYPE_immmem16, None, OPTYPE_Reg, REG_SP, 4, 2, 0),
592 (('ed78', 'ffff'), 'in', OPTYPE_Reg, REG_A, OPTYPE_RegMem, REG_C, 2, 0, 0),
593 (('ed79', 'ffff'), 'out', OPTYPE_RegMem, REG_C, OPTYPE_Reg, REG_A, 2, 0, 0),
594 (('ed7a', 'ffff'), 'adc', OPTYPE_Reg, REG_HL, OPTYPE_Reg, REG_SP, 2, 0, 0),
595 (('ed7b0000', 'ffff0000'), 'ld', OPTYPE_Reg, REG_SP, OPTYPE_immmem16, None, 4, 2, 0),
596 (('eda0', 'ffff'), 'ldi', None, None, None, None, 2, 0, 0),
597 (('eda1', 'ffff'), 'cpi', None, None, None, None, 2, 0, 0),
598 (('eda2', 'ffff'), 'ini', None, None, None, None, 2, 0, 0),
599 (('eda3', 'ffff'), 'outi', None, None, None, None, 2, 0, 0),
600 (('eda8', 'ffff'), 'ldd', None, None, None, None, 2, 0, 0),
601 (('eda9', 'ffff'), 'cpd', None, None, None, None, 2, 0, 0),
602 (('edaa', 'ffff'), 'ind', None, None, None, None, 2, 0, 0),
603 (('edab', 'ffff'), 'outd', None, None, None, None, 2, 0, 0),
604 (('edb0', 'ffff'), 'ldir', None, None, None, None, 2, 0, 0),
605 (('edb1', 'ffff'), 'cpir', None, None, None, None, 2, 0, 0),
606 (('edb2', 'ffff'), 'inir', None, None, None, None, 2, 0, 0),
607 (('edb3', 'ffff'), 'otir', None, None, None, None, 2, 0, 0),
608 (('edb8', 'ffff'), 'lddr', None, None, None, None, 2, 0, 0),
609 (('edb9', 'ffff'), 'cpdr', None, None, None, None, 2, 0, 0),
610 (('edba', 'ffff'), 'indr', None, None, None, None, 2, 0, 0),
611 (('edbb', 'ffff'), 'otdr', None, None, None, None, 2, 0, 0),
612 (('ee00', 'ff00'), 'xor', OPTYPE_imm8, None, None, None, 2, 1, 0),
613 (('ef', 'ff'), 'rst', OPTYPE_const, 40, None, None, 1, 0, 0),
614 (('f0', 'ff'), 'ret', OPTYPE_Cond, COND_P, None, None, 1, 0, 0),
615 (('f1', 'ff'), 'pop', OPTYPE_Reg, REG_AF, None, None, 1, 0, 0),
616 (('f2', 'ff'), 'jp', OPTYPE_Cond, COND_P, OPTYPE_Ind, None, 1, 0, 0),
617 (('f3', 'ff'), 'di', None, None, None, None, 1, 0, 0),
618 (('f40000', 'ff0000'), 'call', OPTYPE_Cond, COND_P, OPTYPE_imm16, None, 3, 1, 0),
619 (('f5', 'ff'), 'push', OPTYPE_Reg, REG_AF, None, None, 1, 0, 0),
620 (('f600', 'ff00'), 'or', OPTYPE_imm8, None, None, None, 2, 1, 0),
621 (('f7', 'ff'), 'rst', OPTYPE_const, 48, None, None, 1, 0, 0),
622 (('f8', 'ff'), 'ret', OPTYPE_Cond, COND_M, None, None, 1, 0, 0),
623 (('f9', 'ff'), 'ld', OPTYPE_Reg, REG_SP, OPTYPE_Reg, REG_HL, 1, 0, 0),
624 (('fa', 'ff'), 'jp', OPTYPE_Cond, COND_M, OPTYPE_Ind, None, 1, 0, 0),
625 (('fb', 'ff'), 'ei', None, None, None, None, 1, 0, 0),
626 (('fc0000', 'ff0000'), 'call', OPTYPE_Cond, COND_M, OPTYPE_imm16, None, 3, 1, 0),
627 (('fd09', 'ffff'), 'add', OPTYPE_Reg, REG_IY, OPTYPE_Reg, REG_BC, 2, 0, 0),
628 (('fd19', 'ffff'), 'add', OPTYPE_Reg, REG_IY, OPTYPE_Reg, REG_DE, 2, 0, 0),
629 (('fd210000', 'ffff0000'), 'ld', OPTYPE_Reg, REG_IY, OPTYPE_imm16, None, 4, 2, 0),
630 (('fd220000', 'ffff0000'), 'ld', OPTYPE_immmem16, None, OPTYPE_Reg, REG_IY, 4, 2, 0),
631 (('fd23', 'ffff'), 'inc', OPTYPE_Reg, REG_IY, None, None, 2, 0, 0),
632 (('fd29', 'ffff'), 'add', OPTYPE_Reg, REG_IY, OPTYPE_Reg, REG_IY, 2, 0, 0),
633 (('fd2a0000', 'ffff0000'), 'ld', OPTYPE_Reg, REG_IY, OPTYPE_immmem16, None, 4, 2, 0),
634 (('fd2b', 'ffff'), 'dec', OPTYPE_Reg, REG_IY, None, None, 2, 0, 0),
635 (('fd3400', 'ffff00'), 'inc', OPTYPE_RegMemDisp, REG_IY, None, None, 3, 2, 0),
636 (('fd3500', 'ffff00'), 'dec', OPTYPE_RegMemDisp, REG_IY, None, None, 3, 2, 0),
637 (('fd360000', 'ffff0000'), 'ld', OPTYPE_RegMemDisp, REG_IY, OPTYPE_imm8, None, 4, 2, 0),
638 (('fd39', 'ffff'), 'add', OPTYPE_Reg, REG_IY, OPTYPE_Reg, REG_SP, 2, 0, 0),
639 (('fd4600', 'ffff00'), 'ld', OPTYPE_Reg, REG_B, OPTYPE_RegMemDisp, REG_IY, 3, 2, 0),
640 (('fd4e00', 'ffff00'), 'ld', OPTYPE_Reg, REG_C, OPTYPE_RegMemDisp, REG_IY, 3, 2, 0),
641 (('fd5600', 'ffff00'), 'ld', OPTYPE_Reg, REG_D, OPTYPE_RegMemDisp, REG_IY, 3, 2, 0),
642 (('fd5e00', 'ffff00'), 'ld', OPTYPE_Reg, REG_E, OPTYPE_RegMemDisp, REG_IY, 3, 2, 0),
643 (('fd6600', 'ffff00'), 'ld', OPTYPE_Reg, REG_H, OPTYPE_RegMemDisp, REG_IY, 3, 2, 0),
644 (('fd6e00', 'ffff00'), 'ld', OPTYPE_Reg, REG_L, OPTYPE_RegMemDisp, REG_IY, 3, 2, 0),
645 (('fd7000', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IY, OPTYPE_Reg, REG_B, 3, 2, 0),
646 (('fd7100', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IY, OPTYPE_Reg, REG_C, 3, 2, 0),
647 (('fd7200', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IY, OPTYPE_Reg, REG_D, 3, 2, 0),
648 (('fd7300', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IY, OPTYPE_Reg, REG_E, 3, 2, 0),
649 (('fd7400', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IY, OPTYPE_Reg, REG_H, 3, 2, 0),
650 (('fd7500', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IY, OPTYPE_Reg, REG_L, 3, 2, 0),
651 (('fd7700', 'ffff00'), 'ld', OPTYPE_RegMemDisp, REG_IY, OPTYPE_Reg, REG_A, 3, 2, 0),
652 (('fd7e00', 'ffff00'), 'ld', OPTYPE_Reg, REG_A, OPTYPE_RegMemDisp, REG_IY, 3, 2, 0),
653 (('fd8600', 'ffff00'), 'add', OPTYPE_Reg, REG_A, OPTYPE_RegMemDisp, REG_IY, 3, 2, 0),
654 (('fd8e00', 'ffff00'), 'adc', OPTYPE_Reg, REG_A, OPTYPE_RegMemDisp, REG_IY, 3, 2, 0),
655 (('fd9600', 'ffff00'), 'sub', OPTYPE_RegMemDisp, REG_IY, None, None, 3, 2, 0),
656 (('fd9e00', 'ffff00'), 'sbc', OPTYPE_Reg, REG_A, OPTYPE_RegMemDisp, REG_IY, 3, 2, 0),
657 (('fda600', 'ffff00'), 'and', OPTYPE_RegMemDisp, REG_IY, None, None, 3, 2, 0),
658 (('fdae00', 'ffff00'), 'xor', OPTYPE_RegMemDisp, REG_IY, None, None, 3, 2, 0),
659 (('fdb600', 'ffff00'), 'or', OPTYPE_RegMemDisp, REG_IY, None, None, 3, 2, 0),
660 (('fdbe00', 'ffff00'), 'cp', OPTYPE_RegMemDisp, REG_IY, None, None, 3, 2, 0),
661 (('fdcb0006', 'ffff00ff'), 'rlc', OPTYPE_RegMemDisp, REG_IY, None, None, 4, 2, 0),
662 (('fdcb000e', 'ffff00ff'), 'rrc', OPTYPE_RegMemDisp, REG_IY, None, None, 4, 2, 0),
663 (('fdcb0016', 'ffff00ff'), 'rl', OPTYPE_RegMemDisp, REG_IY, None, None, 4, 2, 0),
664 (('fdcb001e', 'ffff00ff'), 'rr', OPTYPE_RegMemDisp, REG_IY, None, None, 4, 2, 0),
665 (('fdcb0026', 'ffff00ff'), 'sla', OPTYPE_RegMemDisp, REG_IY, None, None, 4, 2, 0),
666 (('fdcb002e', 'ffff00ff'), 'sra', OPTYPE_RegMemDisp, REG_IY, None, None, 4, 2, 0),
667 (('fdcb0046', 'ffff00ff'), 'bit', OPTYPE_const, 0, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
668 (('fdcb004e', 'ffff00ff'), 'bit', OPTYPE_const, 1, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
669 (('fdcb0056', 'ffff00ff'), 'bit', OPTYPE_const, 2, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
670 (('fdcb005e', 'ffff00ff'), 'bit', OPTYPE_const, 3, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
671 (('fdcb0066', 'ffff00ff'), 'bit', OPTYPE_const, 4, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
672 (('fdcb006e', 'ffff00ff'), 'bit', OPTYPE_const, 5, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
673 (('fdcb0076', 'ffff00ff'), 'bit', OPTYPE_const, 6, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
674 (('fdcb007e', 'ffff00ff'), 'bit', OPTYPE_const, 7, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
675 (('fdcb0086', 'ffff00ff'), 'res', OPTYPE_const, 0, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
676 (('fdcb008e', 'ffff00ff'), 'res', OPTYPE_const, 1, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
677 (('fdcb0096', 'ffff00ff'), 'res', OPTYPE_const, 2, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
678 (('fdcb009e', 'ffff00ff'), 'res', OPTYPE_const, 3, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
679 (('fdcb00a6', 'ffff00ff'), 'res', OPTYPE_const, 4, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
680 (('fdcb00ae', 'ffff00ff'), 'res', OPTYPE_const, 5, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
681 (('fdcb00b6', 'ffff00ff'), 'res', OPTYPE_const, 6, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
682 (('fdcb00be', 'ffff00ff'), 'res', OPTYPE_const, 7, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
683 (('fdcb00c6', 'ffff00ff'), 'set', OPTYPE_const, 0, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
684 (('fdcb00ce', 'ffff00ff'), 'set', OPTYPE_const, 1, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
685 (('fdcb00d6', 'ffff00ff'), 'set', OPTYPE_const, 2, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
686 (('fdcb00de', 'ffff00ff'), 'set', OPTYPE_const, 3, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
687 (('fdcb00e6', 'ffff00ff'), 'set', OPTYPE_const, 4, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
688 (('fdcb00ee', 'ffff00ff'), 'set', OPTYPE_const, 5, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
689 (('fdcb00f6', 'ffff00ff'), 'set', OPTYPE_const, 6, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
690 (('fdcb00fe', 'ffff00ff'), 'set', OPTYPE_const, 7, OPTYPE_RegMemDisp, REG_IY, 4, 2, 0),
691 (('fde1', 'ffff'), 'pop', OPTYPE_Reg, REG_IY, None, None, 2, 0, 0),
692 (('fde3', 'ffff'), 'ex', OPTYPE_RegMem, REG_SP, OPTYPE_Reg, REG_IY, 2, 0, 0),
693 (('fde5', 'ffff'), 'push', OPTYPE_Reg, REG_IY, None, None, 2, 0, 0),
694 (('fde9', 'ffff'), 'jp', OPTYPE_RegMem, REG_IY, None, None, 2, 0, 0),
695 (('fdf9', 'ffff'), 'ld', OPTYPE_Reg, REG_SP, OPTYPE_Reg, REG_IY, 2, 0, 0),
696 (('fe00', 'ff00'), 'cp', OPTYPE_imm8, None, None, None, 2, 1, 0),
697 (('ff', 'ff'), 'rst', OPTYPE_const, 56, None, None, 1, 0, 0),
698 ]
699
700 from envi.bits import binbytes as bb
701
702 nbits = '00000000'
703 nnbits = '0000000000000000'
704
705 newtab = (
706
707
708 (bb('01000000'), bb('11000000'), 'ld', OPTYPE_Reg, (2, 3), OPTYPE_Reg, (5, 3)),
709 (bb('00000110'), bb('11000111'), 'ld', OPTYPE_Reg, (2, 3), OPTYPE_Imm, (8, 8)),
710 (bb('01000110'), bb('11000111'), 'ld', OPTYPE_Reg, (2, 3), OPTYPE_OpReg, REG_HL),
711 (bb('110111010100011000000000'), bb('111111111100011100000000'), 'ld', OPTYPE_Reg, (10, 3), OPTYPE_RegMemDisp, (REG_IX, 16, 8)),
712 (bb('111111010100011000000000'), bb('111111111100011100000000'), 'ld', OPTYPE_Reg, (10, 3), OPTYPE_RegMemDisp, (REG_IY, 16, 8)),
713 (bb('01110000'), bb('11111000'), 'ld', OPTYPE_RegMem, (REG_HL, None, None), OPTYPE_Reg, (5, 3)),
714 (bb('110111010111000000000000'), bb('111111111111100000000000'), 'ld', OPTYPE_RegMemDisp, (REG_IX, 16, 8), OPTYPE_Reg, (13, 3)),
715 (bb('111111010111000000000000'), bb('111111111111100000000000'), 'ld', OPTYPE_RegMemDisp, (REG_IY, 16, 8), OPTYPE_Reg, (13, 3)),
716 (bb('0011011000000000'), bb('1111111100000000'), 'ld', OPTYPE_RegMem, (REG_HL, None, None), OPTYPE_Imm, (8, 8)),
717 (bb('11011101001101100000000000000000'), bb('11111111111111110000000000000000'), 'ld', OPTYPE_RegMemDisp, (REG_IX, 16, 8), OPTYPE_Imm, (24, 8)),
718 (bb('11111101001101100000000000000000'), bb('11111111111111110000000000000000'), 'ld', OPTYPE_RegMemDisp, (REG_IY, 16, 8), OPTYPE_Imm, (24, 8)),
719 (bb('00001010'), bb('11111111'), 'ld', OPTYPE_OpReg, REG_A, OPTYPE_RegMem, (REG_BC, None, None)),
720 (bb('00011010'), bb('11111111'), 'ld', OPTYPE_OpReg, REG_A, OPTYPE_RegMem, (REG_DE, None, None)),
721 (bb('001110100000000000000000'), bb('111111110000000000000000'), 'ld', OPTYPE_OpReg, REG_A, OPTYPE_ImmMem, (8, 16)),
722 (bb('00000010'), bb('11111111'), 'ld', OPTYPE_RegMem, (REG_BC, None, None), OPTYPE_OpReg, REG_A),
723 (bb('00010010'), bb('11111111'), 'ld', OPTYPE_RegMem, (REG_DE, None, None), OPTYPE_OpReg, REG_A),
724 (bb('001100100000000000000000'), bb('111111110000000000000000'), 'ld', OPTYPE_ImmMem, (8, 16), OPTYPE_OpReg, REG_A),
725 (bb('1110110101010111'), bb('1111111111111111'), 'ld', OPTYPE_OpReg, REG_A, OPTYPE_OpReg, REG_I),
726 (bb('1110110101011111'), bb('1111111111111111'), 'ld', OPTYPE_OpReg, REG_A, OPTYPE_OpReg, REG_R),
727 (bb('1110110101000111'), bb('1111111111111111'), 'ld', OPTYPE_OpReg, REG_I, OPTYPE_OpReg, REG_A),
728 (bb('111011010100f111'), bb('1111111111111111'), 'ld', OPTYPE_OpReg, REG_R, OPTYPE_OpReg, REG_A),
729
730
731 (bb('000000010000000000000000'), bb('110011110000000000000000'), 'ld', OPTYPE_RegPair, (2, 2), OPTYPE_Imm, (8, 16)),
732 (bb('11011101001000010000000000000000'), bb('11111111111111110000000000000000'), 'ld', OPTYPE_OpReg, REG_IX, OPTYPE_Imm, (16, 16)),
733 (bb('11111101001000010000000000000000'), bb('11111111111111110000000000000000'), 'ld', OPTYPE_OpReg, REG_IY, OPTYPE_Imm, (16, 16)),
734 (bb('001010100000000000000000'), bb('111111110000000000000000'), 'ld', OPTYPE_OpReg, REG_HL, OPTYPE_ImmMem, (8,16)),
735 (bb('11101101010010110000000000000000'), bb('11111111110011110000000000000000'), 'ld', OPTYPE_RegPair, (10, 2), OPTYPE_ImmMem, (16, 16)),
736 (bb('11011101001010100000000000000000'), bb('11111111111111110000000000000000'), 'ld', OPTYPE_OpReg, REG_IX, OPTYPE_ImmMem, (16, 16)),
737 (bb('11111101001010100000000000000000'), bb('11111111111111110000000000000000'), 'ld', OPTYPE_OpReg, REG_IY, OPTYPE_ImmMem, (16, 16)),
738 (bb('001000100000000000000000'), bb('111111110000000000000000'), 'ld', OPTYPE_ImmMem, (8, 16), OPTYPE_OpReg, REG_HL),
739 )
740