1 /* Copyright (c) 2013-2016 Jeffrey Pfau
2  *
3  * This Source Code Form is subject to the terms of the Mozilla Public
4  * License, v. 2.0. If a copy of the MPL was not distributed with this
5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef EMITTER_SM83_H
7 #define EMITTER_SM83_H
8 
9 #define DECLARE_INSTRUCTION_SM83(EMITTER, NAME) \
10 	EMITTER ## NAME
11 
12 #define DECLARE_SM83_EMITTER_BLOCK(EMITTER) \
13 	DECLARE_INSTRUCTION_SM83(EMITTER, NOP), \
14 	DECLARE_INSTRUCTION_SM83(EMITTER, LDBC), \
15 	DECLARE_INSTRUCTION_SM83(EMITTER, LDBC_A), \
16 	DECLARE_INSTRUCTION_SM83(EMITTER, INCBC), \
17 	DECLARE_INSTRUCTION_SM83(EMITTER, INCB), \
18 	DECLARE_INSTRUCTION_SM83(EMITTER, DECB), \
19 	DECLARE_INSTRUCTION_SM83(EMITTER, LDB_), \
20 	DECLARE_INSTRUCTION_SM83(EMITTER, RLCA_), \
21 	DECLARE_INSTRUCTION_SM83(EMITTER, LDISP), \
22 	DECLARE_INSTRUCTION_SM83(EMITTER, ADDHL_BC), \
23 	DECLARE_INSTRUCTION_SM83(EMITTER, LDA_BC), \
24 	DECLARE_INSTRUCTION_SM83(EMITTER, DECBC), \
25 	DECLARE_INSTRUCTION_SM83(EMITTER, INCC), \
26 	DECLARE_INSTRUCTION_SM83(EMITTER, DECC), \
27 	DECLARE_INSTRUCTION_SM83(EMITTER, LDC_), \
28 	DECLARE_INSTRUCTION_SM83(EMITTER, RRCA_), \
29 	DECLARE_INSTRUCTION_SM83(EMITTER, STOP), \
30 	DECLARE_INSTRUCTION_SM83(EMITTER, LDDE), \
31 	DECLARE_INSTRUCTION_SM83(EMITTER, LDDE_A), \
32 	DECLARE_INSTRUCTION_SM83(EMITTER, INCDE), \
33 	DECLARE_INSTRUCTION_SM83(EMITTER, INCD), \
34 	DECLARE_INSTRUCTION_SM83(EMITTER, DECD), \
35 	DECLARE_INSTRUCTION_SM83(EMITTER, LDD_), \
36 	DECLARE_INSTRUCTION_SM83(EMITTER, RLA_), \
37 	DECLARE_INSTRUCTION_SM83(EMITTER, JR), \
38 	DECLARE_INSTRUCTION_SM83(EMITTER, ADDHL_DE), \
39 	DECLARE_INSTRUCTION_SM83(EMITTER, LDA_DE), \
40 	DECLARE_INSTRUCTION_SM83(EMITTER, DECDE), \
41 	DECLARE_INSTRUCTION_SM83(EMITTER, INCE), \
42 	DECLARE_INSTRUCTION_SM83(EMITTER, DECE), \
43 	DECLARE_INSTRUCTION_SM83(EMITTER, LDE_), \
44 	DECLARE_INSTRUCTION_SM83(EMITTER, RRA_), \
45 	DECLARE_INSTRUCTION_SM83(EMITTER, JRNZ), \
46 	DECLARE_INSTRUCTION_SM83(EMITTER, LDHL), \
47 	DECLARE_INSTRUCTION_SM83(EMITTER, LDIHLA), \
48 	DECLARE_INSTRUCTION_SM83(EMITTER, INCHL), \
49 	DECLARE_INSTRUCTION_SM83(EMITTER, INCH), \
50 	DECLARE_INSTRUCTION_SM83(EMITTER, DECH), \
51 	DECLARE_INSTRUCTION_SM83(EMITTER, LDH_), \
52 	DECLARE_INSTRUCTION_SM83(EMITTER, DAA), \
53 	DECLARE_INSTRUCTION_SM83(EMITTER, JRZ), \
54 	DECLARE_INSTRUCTION_SM83(EMITTER, ADDHL_HL), \
55 	DECLARE_INSTRUCTION_SM83(EMITTER, LDA_IHL), \
56 	DECLARE_INSTRUCTION_SM83(EMITTER, DECHL), \
57 	DECLARE_INSTRUCTION_SM83(EMITTER, INCL), \
58 	DECLARE_INSTRUCTION_SM83(EMITTER, DECL), \
59 	DECLARE_INSTRUCTION_SM83(EMITTER, LDL_), \
60 	DECLARE_INSTRUCTION_SM83(EMITTER, CPL_), \
61 	DECLARE_INSTRUCTION_SM83(EMITTER, JRNC), \
62 	DECLARE_INSTRUCTION_SM83(EMITTER, LDSP), \
63 	DECLARE_INSTRUCTION_SM83(EMITTER, LDDHLA), \
64 	DECLARE_INSTRUCTION_SM83(EMITTER, INCSP), \
65 	DECLARE_INSTRUCTION_SM83(EMITTER, INC_HL), \
66 	DECLARE_INSTRUCTION_SM83(EMITTER, DEC_HL), \
67 	DECLARE_INSTRUCTION_SM83(EMITTER, LDHL_), \
68 	DECLARE_INSTRUCTION_SM83(EMITTER, SCF), \
69 	DECLARE_INSTRUCTION_SM83(EMITTER, JRC), \
70 	DECLARE_INSTRUCTION_SM83(EMITTER, ADDHL_SP), \
71 	DECLARE_INSTRUCTION_SM83(EMITTER, LDA_DHL), \
72 	DECLARE_INSTRUCTION_SM83(EMITTER, DECSP), \
73 	DECLARE_INSTRUCTION_SM83(EMITTER, INCA), \
74 	DECLARE_INSTRUCTION_SM83(EMITTER, DECA), \
75 	DECLARE_INSTRUCTION_SM83(EMITTER, LDA_), \
76 	DECLARE_INSTRUCTION_SM83(EMITTER, CCF), \
77 	DECLARE_INSTRUCTION_SM83(EMITTER, LDB_B), \
78 	DECLARE_INSTRUCTION_SM83(EMITTER, LDB_C), \
79 	DECLARE_INSTRUCTION_SM83(EMITTER, LDB_D), \
80 	DECLARE_INSTRUCTION_SM83(EMITTER, LDB_E), \
81 	DECLARE_INSTRUCTION_SM83(EMITTER, LDB_H), \
82 	DECLARE_INSTRUCTION_SM83(EMITTER, LDB_L), \
83 	DECLARE_INSTRUCTION_SM83(EMITTER, LDB_HL), \
84 	DECLARE_INSTRUCTION_SM83(EMITTER, LDB_A), \
85 	DECLARE_INSTRUCTION_SM83(EMITTER, LDC_B), \
86 	DECLARE_INSTRUCTION_SM83(EMITTER, LDC_C), \
87 	DECLARE_INSTRUCTION_SM83(EMITTER, LDC_D), \
88 	DECLARE_INSTRUCTION_SM83(EMITTER, LDC_E), \
89 	DECLARE_INSTRUCTION_SM83(EMITTER, LDC_H), \
90 	DECLARE_INSTRUCTION_SM83(EMITTER, LDC_L), \
91 	DECLARE_INSTRUCTION_SM83(EMITTER, LDC_HL), \
92 	DECLARE_INSTRUCTION_SM83(EMITTER, LDC_A), \
93 	DECLARE_INSTRUCTION_SM83(EMITTER, LDD_B), \
94 	DECLARE_INSTRUCTION_SM83(EMITTER, LDD_C), \
95 	DECLARE_INSTRUCTION_SM83(EMITTER, LDD_D), \
96 	DECLARE_INSTRUCTION_SM83(EMITTER, LDD_E), \
97 	DECLARE_INSTRUCTION_SM83(EMITTER, LDD_H), \
98 	DECLARE_INSTRUCTION_SM83(EMITTER, LDD_L), \
99 	DECLARE_INSTRUCTION_SM83(EMITTER, LDD_HL), \
100 	DECLARE_INSTRUCTION_SM83(EMITTER, LDD_A), \
101 	DECLARE_INSTRUCTION_SM83(EMITTER, LDE_B), \
102 	DECLARE_INSTRUCTION_SM83(EMITTER, LDE_C), \
103 	DECLARE_INSTRUCTION_SM83(EMITTER, LDE_D), \
104 	DECLARE_INSTRUCTION_SM83(EMITTER, LDE_E), \
105 	DECLARE_INSTRUCTION_SM83(EMITTER, LDE_H), \
106 	DECLARE_INSTRUCTION_SM83(EMITTER, LDE_L), \
107 	DECLARE_INSTRUCTION_SM83(EMITTER, LDE_HL), \
108 	DECLARE_INSTRUCTION_SM83(EMITTER, LDE_A), \
109 	DECLARE_INSTRUCTION_SM83(EMITTER, LDH_B), \
110 	DECLARE_INSTRUCTION_SM83(EMITTER, LDH_C), \
111 	DECLARE_INSTRUCTION_SM83(EMITTER, LDH_D), \
112 	DECLARE_INSTRUCTION_SM83(EMITTER, LDH_E), \
113 	DECLARE_INSTRUCTION_SM83(EMITTER, LDH_H), \
114 	DECLARE_INSTRUCTION_SM83(EMITTER, LDH_L), \
115 	DECLARE_INSTRUCTION_SM83(EMITTER, LDH_HL), \
116 	DECLARE_INSTRUCTION_SM83(EMITTER, LDH_A), \
117 	DECLARE_INSTRUCTION_SM83(EMITTER, LDL_B), \
118 	DECLARE_INSTRUCTION_SM83(EMITTER, LDL_C), \
119 	DECLARE_INSTRUCTION_SM83(EMITTER, LDL_D), \
120 	DECLARE_INSTRUCTION_SM83(EMITTER, LDL_E), \
121 	DECLARE_INSTRUCTION_SM83(EMITTER, LDL_H), \
122 	DECLARE_INSTRUCTION_SM83(EMITTER, LDL_L), \
123 	DECLARE_INSTRUCTION_SM83(EMITTER, LDL_HL), \
124 	DECLARE_INSTRUCTION_SM83(EMITTER, LDL_A), \
125 	DECLARE_INSTRUCTION_SM83(EMITTER, LDHL_B), \
126 	DECLARE_INSTRUCTION_SM83(EMITTER, LDHL_C), \
127 	DECLARE_INSTRUCTION_SM83(EMITTER, LDHL_D), \
128 	DECLARE_INSTRUCTION_SM83(EMITTER, LDHL_E), \
129 	DECLARE_INSTRUCTION_SM83(EMITTER, LDHL_H), \
130 	DECLARE_INSTRUCTION_SM83(EMITTER, LDHL_L), \
131 	DECLARE_INSTRUCTION_SM83(EMITTER, HALT), \
132 	DECLARE_INSTRUCTION_SM83(EMITTER, LDHL_A), \
133 	DECLARE_INSTRUCTION_SM83(EMITTER, LDA_B), \
134 	DECLARE_INSTRUCTION_SM83(EMITTER, LDA_C), \
135 	DECLARE_INSTRUCTION_SM83(EMITTER, LDA_D), \
136 	DECLARE_INSTRUCTION_SM83(EMITTER, LDA_E), \
137 	DECLARE_INSTRUCTION_SM83(EMITTER, LDA_H), \
138 	DECLARE_INSTRUCTION_SM83(EMITTER, LDA_L), \
139 	DECLARE_INSTRUCTION_SM83(EMITTER, LDA_HL), \
140 	DECLARE_INSTRUCTION_SM83(EMITTER, LDA_A), \
141 	DECLARE_INSTRUCTION_SM83(EMITTER, ADDB), \
142 	DECLARE_INSTRUCTION_SM83(EMITTER, ADDC), \
143 	DECLARE_INSTRUCTION_SM83(EMITTER, ADDD), \
144 	DECLARE_INSTRUCTION_SM83(EMITTER, ADDE), \
145 	DECLARE_INSTRUCTION_SM83(EMITTER, ADDH), \
146 	DECLARE_INSTRUCTION_SM83(EMITTER, ADDL), \
147 	DECLARE_INSTRUCTION_SM83(EMITTER, ADDHL), \
148 	DECLARE_INSTRUCTION_SM83(EMITTER, ADDA), \
149 	DECLARE_INSTRUCTION_SM83(EMITTER, ADCB), \
150 	DECLARE_INSTRUCTION_SM83(EMITTER, ADCC), \
151 	DECLARE_INSTRUCTION_SM83(EMITTER, ADCD), \
152 	DECLARE_INSTRUCTION_SM83(EMITTER, ADCE), \
153 	DECLARE_INSTRUCTION_SM83(EMITTER, ADCH), \
154 	DECLARE_INSTRUCTION_SM83(EMITTER, ADCL), \
155 	DECLARE_INSTRUCTION_SM83(EMITTER, ADCHL), \
156 	DECLARE_INSTRUCTION_SM83(EMITTER, ADCA), \
157 	DECLARE_INSTRUCTION_SM83(EMITTER, SUBB), \
158 	DECLARE_INSTRUCTION_SM83(EMITTER, SUBC), \
159 	DECLARE_INSTRUCTION_SM83(EMITTER, SUBD), \
160 	DECLARE_INSTRUCTION_SM83(EMITTER, SUBE), \
161 	DECLARE_INSTRUCTION_SM83(EMITTER, SUBH), \
162 	DECLARE_INSTRUCTION_SM83(EMITTER, SUBL), \
163 	DECLARE_INSTRUCTION_SM83(EMITTER, SUBHL), \
164 	DECLARE_INSTRUCTION_SM83(EMITTER, SUBA), \
165 	DECLARE_INSTRUCTION_SM83(EMITTER, SBCB), \
166 	DECLARE_INSTRUCTION_SM83(EMITTER, SBCC), \
167 	DECLARE_INSTRUCTION_SM83(EMITTER, SBCD), \
168 	DECLARE_INSTRUCTION_SM83(EMITTER, SBCE), \
169 	DECLARE_INSTRUCTION_SM83(EMITTER, SBCH), \
170 	DECLARE_INSTRUCTION_SM83(EMITTER, SBCL), \
171 	DECLARE_INSTRUCTION_SM83(EMITTER, SBCHL), \
172 	DECLARE_INSTRUCTION_SM83(EMITTER, SBCA), \
173 	DECLARE_INSTRUCTION_SM83(EMITTER, ANDB), \
174 	DECLARE_INSTRUCTION_SM83(EMITTER, ANDC), \
175 	DECLARE_INSTRUCTION_SM83(EMITTER, ANDD), \
176 	DECLARE_INSTRUCTION_SM83(EMITTER, ANDE), \
177 	DECLARE_INSTRUCTION_SM83(EMITTER, ANDH), \
178 	DECLARE_INSTRUCTION_SM83(EMITTER, ANDL), \
179 	DECLARE_INSTRUCTION_SM83(EMITTER, ANDHL), \
180 	DECLARE_INSTRUCTION_SM83(EMITTER, ANDA), \
181 	DECLARE_INSTRUCTION_SM83(EMITTER, XORB), \
182 	DECLARE_INSTRUCTION_SM83(EMITTER, XORC), \
183 	DECLARE_INSTRUCTION_SM83(EMITTER, XORD), \
184 	DECLARE_INSTRUCTION_SM83(EMITTER, XORE), \
185 	DECLARE_INSTRUCTION_SM83(EMITTER, XORH), \
186 	DECLARE_INSTRUCTION_SM83(EMITTER, XORL), \
187 	DECLARE_INSTRUCTION_SM83(EMITTER, XORHL), \
188 	DECLARE_INSTRUCTION_SM83(EMITTER, XORA), \
189 	DECLARE_INSTRUCTION_SM83(EMITTER, ORB), \
190 	DECLARE_INSTRUCTION_SM83(EMITTER, ORC), \
191 	DECLARE_INSTRUCTION_SM83(EMITTER, ORD), \
192 	DECLARE_INSTRUCTION_SM83(EMITTER, ORE), \
193 	DECLARE_INSTRUCTION_SM83(EMITTER, ORH), \
194 	DECLARE_INSTRUCTION_SM83(EMITTER, ORL), \
195 	DECLARE_INSTRUCTION_SM83(EMITTER, ORHL), \
196 	DECLARE_INSTRUCTION_SM83(EMITTER, ORA), \
197 	DECLARE_INSTRUCTION_SM83(EMITTER, CPB), \
198 	DECLARE_INSTRUCTION_SM83(EMITTER, CPC), \
199 	DECLARE_INSTRUCTION_SM83(EMITTER, CPD), \
200 	DECLARE_INSTRUCTION_SM83(EMITTER, CPE), \
201 	DECLARE_INSTRUCTION_SM83(EMITTER, CPH), \
202 	DECLARE_INSTRUCTION_SM83(EMITTER, CPL), \
203 	DECLARE_INSTRUCTION_SM83(EMITTER, CPHL), \
204 	DECLARE_INSTRUCTION_SM83(EMITTER, CPA), \
205 	DECLARE_INSTRUCTION_SM83(EMITTER, RETNZ), \
206 	DECLARE_INSTRUCTION_SM83(EMITTER, POPBC), \
207 	DECLARE_INSTRUCTION_SM83(EMITTER, JPNZ), \
208 	DECLARE_INSTRUCTION_SM83(EMITTER, JP), \
209 	DECLARE_INSTRUCTION_SM83(EMITTER, CALLNZ), \
210 	DECLARE_INSTRUCTION_SM83(EMITTER, PUSHBC), \
211 	DECLARE_INSTRUCTION_SM83(EMITTER, ADD), \
212 	DECLARE_INSTRUCTION_SM83(EMITTER, RST00), \
213 	DECLARE_INSTRUCTION_SM83(EMITTER, RETZ), \
214 	DECLARE_INSTRUCTION_SM83(EMITTER, RET), \
215 	DECLARE_INSTRUCTION_SM83(EMITTER, JPZ), \
216 	DECLARE_INSTRUCTION_SM83(EMITTER, CB), \
217 	DECLARE_INSTRUCTION_SM83(EMITTER, CALLZ), \
218 	DECLARE_INSTRUCTION_SM83(EMITTER, CALL), \
219 	DECLARE_INSTRUCTION_SM83(EMITTER, ADC), \
220 	DECLARE_INSTRUCTION_SM83(EMITTER, RST08), \
221 	DECLARE_INSTRUCTION_SM83(EMITTER, RETNC), \
222 	DECLARE_INSTRUCTION_SM83(EMITTER, POPDE), \
223 	DECLARE_INSTRUCTION_SM83(EMITTER, JPNC), \
224 	DECLARE_INSTRUCTION_SM83(EMITTER, ILL), \
225 	DECLARE_INSTRUCTION_SM83(EMITTER, CALLNC), \
226 	DECLARE_INSTRUCTION_SM83(EMITTER, PUSHDE), \
227 	DECLARE_INSTRUCTION_SM83(EMITTER, SUB), \
228 	DECLARE_INSTRUCTION_SM83(EMITTER, RST10), \
229 	DECLARE_INSTRUCTION_SM83(EMITTER, RETC), \
230 	DECLARE_INSTRUCTION_SM83(EMITTER, RETI), \
231 	DECLARE_INSTRUCTION_SM83(EMITTER, JPC), \
232 	DECLARE_INSTRUCTION_SM83(EMITTER, ILL), \
233 	DECLARE_INSTRUCTION_SM83(EMITTER, CALLC), \
234 	DECLARE_INSTRUCTION_SM83(EMITTER, ILL), \
235 	DECLARE_INSTRUCTION_SM83(EMITTER, SBC), \
236 	DECLARE_INSTRUCTION_SM83(EMITTER, RST18), \
237 	DECLARE_INSTRUCTION_SM83(EMITTER, LDIOA), \
238 	DECLARE_INSTRUCTION_SM83(EMITTER, POPHL), \
239 	DECLARE_INSTRUCTION_SM83(EMITTER, LDIOCA), \
240 	DECLARE_INSTRUCTION_SM83(EMITTER, ILL), \
241 	DECLARE_INSTRUCTION_SM83(EMITTER, ILL), \
242 	DECLARE_INSTRUCTION_SM83(EMITTER, PUSHHL), \
243 	DECLARE_INSTRUCTION_SM83(EMITTER, AND), \
244 	DECLARE_INSTRUCTION_SM83(EMITTER, RST20), \
245 	DECLARE_INSTRUCTION_SM83(EMITTER, ADDSP), \
246 	DECLARE_INSTRUCTION_SM83(EMITTER, JPHL), \
247 	DECLARE_INSTRUCTION_SM83(EMITTER, LDIA), \
248 	DECLARE_INSTRUCTION_SM83(EMITTER, ILL), \
249 	DECLARE_INSTRUCTION_SM83(EMITTER, ILL), \
250 	DECLARE_INSTRUCTION_SM83(EMITTER, ILL), \
251 	DECLARE_INSTRUCTION_SM83(EMITTER, XOR), \
252 	DECLARE_INSTRUCTION_SM83(EMITTER, RST28), \
253 	DECLARE_INSTRUCTION_SM83(EMITTER, LDAIO), \
254 	DECLARE_INSTRUCTION_SM83(EMITTER, POPAF), \
255 	DECLARE_INSTRUCTION_SM83(EMITTER, LDAIOC), \
256 	DECLARE_INSTRUCTION_SM83(EMITTER, DI), \
257 	DECLARE_INSTRUCTION_SM83(EMITTER, ILL), \
258 	DECLARE_INSTRUCTION_SM83(EMITTER, PUSHAF), \
259 	DECLARE_INSTRUCTION_SM83(EMITTER, OR), \
260 	DECLARE_INSTRUCTION_SM83(EMITTER, RST30), \
261 	DECLARE_INSTRUCTION_SM83(EMITTER, LDHL_SP), \
262 	DECLARE_INSTRUCTION_SM83(EMITTER, LDSP_HL), \
263 	DECLARE_INSTRUCTION_SM83(EMITTER, LDAI), \
264 	DECLARE_INSTRUCTION_SM83(EMITTER, EI), \
265 	DECLARE_INSTRUCTION_SM83(EMITTER, ILL), \
266 	DECLARE_INSTRUCTION_SM83(EMITTER, ILL), \
267 	DECLARE_INSTRUCTION_SM83(EMITTER, CP), \
268 	DECLARE_INSTRUCTION_SM83(EMITTER, RST38)
269 
270 #define DECLARE_SM83_CB_EMITTER_BLOCK(EMITTER) \
271 	DECLARE_INSTRUCTION_SM83(EMITTER, RLCB), \
272 	DECLARE_INSTRUCTION_SM83(EMITTER, RLCC), \
273 	DECLARE_INSTRUCTION_SM83(EMITTER, RLCD), \
274 	DECLARE_INSTRUCTION_SM83(EMITTER, RLCE), \
275 	DECLARE_INSTRUCTION_SM83(EMITTER, RLCH), \
276 	DECLARE_INSTRUCTION_SM83(EMITTER, RLCL), \
277 	DECLARE_INSTRUCTION_SM83(EMITTER, RLCHL), \
278 	DECLARE_INSTRUCTION_SM83(EMITTER, RLCA), \
279 	DECLARE_INSTRUCTION_SM83(EMITTER, RRCB), \
280 	DECLARE_INSTRUCTION_SM83(EMITTER, RRCC), \
281 	DECLARE_INSTRUCTION_SM83(EMITTER, RRCD), \
282 	DECLARE_INSTRUCTION_SM83(EMITTER, RRCE), \
283 	DECLARE_INSTRUCTION_SM83(EMITTER, RRCH), \
284 	DECLARE_INSTRUCTION_SM83(EMITTER, RRCL), \
285 	DECLARE_INSTRUCTION_SM83(EMITTER, RRCHL), \
286 	DECLARE_INSTRUCTION_SM83(EMITTER, RRCA), \
287 	DECLARE_INSTRUCTION_SM83(EMITTER, RLB), \
288 	DECLARE_INSTRUCTION_SM83(EMITTER, RLC), \
289 	DECLARE_INSTRUCTION_SM83(EMITTER, RLD), \
290 	DECLARE_INSTRUCTION_SM83(EMITTER, RLE), \
291 	DECLARE_INSTRUCTION_SM83(EMITTER, RLH), \
292 	DECLARE_INSTRUCTION_SM83(EMITTER, RLL), \
293 	DECLARE_INSTRUCTION_SM83(EMITTER, RLHL), \
294 	DECLARE_INSTRUCTION_SM83(EMITTER, RLA), \
295 	DECLARE_INSTRUCTION_SM83(EMITTER, RRB), \
296 	DECLARE_INSTRUCTION_SM83(EMITTER, RRC), \
297 	DECLARE_INSTRUCTION_SM83(EMITTER, RRD), \
298 	DECLARE_INSTRUCTION_SM83(EMITTER, RRE), \
299 	DECLARE_INSTRUCTION_SM83(EMITTER, RRH), \
300 	DECLARE_INSTRUCTION_SM83(EMITTER, RRL), \
301 	DECLARE_INSTRUCTION_SM83(EMITTER, RRHL), \
302 	DECLARE_INSTRUCTION_SM83(EMITTER, RRA), \
303 	DECLARE_INSTRUCTION_SM83(EMITTER, SLAB), \
304 	DECLARE_INSTRUCTION_SM83(EMITTER, SLAC), \
305 	DECLARE_INSTRUCTION_SM83(EMITTER, SLAD), \
306 	DECLARE_INSTRUCTION_SM83(EMITTER, SLAE), \
307 	DECLARE_INSTRUCTION_SM83(EMITTER, SLAH), \
308 	DECLARE_INSTRUCTION_SM83(EMITTER, SLAL), \
309 	DECLARE_INSTRUCTION_SM83(EMITTER, SLAHL), \
310 	DECLARE_INSTRUCTION_SM83(EMITTER, SLAA), \
311 	DECLARE_INSTRUCTION_SM83(EMITTER, SRAB), \
312 	DECLARE_INSTRUCTION_SM83(EMITTER, SRAC), \
313 	DECLARE_INSTRUCTION_SM83(EMITTER, SRAD), \
314 	DECLARE_INSTRUCTION_SM83(EMITTER, SRAE), \
315 	DECLARE_INSTRUCTION_SM83(EMITTER, SRAH), \
316 	DECLARE_INSTRUCTION_SM83(EMITTER, SRAL), \
317 	DECLARE_INSTRUCTION_SM83(EMITTER, SRAHL), \
318 	DECLARE_INSTRUCTION_SM83(EMITTER, SRAA), \
319 	DECLARE_INSTRUCTION_SM83(EMITTER, SWAPB), \
320 	DECLARE_INSTRUCTION_SM83(EMITTER, SWAPC), \
321 	DECLARE_INSTRUCTION_SM83(EMITTER, SWAPD), \
322 	DECLARE_INSTRUCTION_SM83(EMITTER, SWAPE), \
323 	DECLARE_INSTRUCTION_SM83(EMITTER, SWAPH), \
324 	DECLARE_INSTRUCTION_SM83(EMITTER, SWAPL), \
325 	DECLARE_INSTRUCTION_SM83(EMITTER, SWAPHL), \
326 	DECLARE_INSTRUCTION_SM83(EMITTER, SWAPA), \
327 	DECLARE_INSTRUCTION_SM83(EMITTER, SRLB), \
328 	DECLARE_INSTRUCTION_SM83(EMITTER, SRLC), \
329 	DECLARE_INSTRUCTION_SM83(EMITTER, SRLD), \
330 	DECLARE_INSTRUCTION_SM83(EMITTER, SRLE), \
331 	DECLARE_INSTRUCTION_SM83(EMITTER, SRLH), \
332 	DECLARE_INSTRUCTION_SM83(EMITTER, SRLL), \
333 	DECLARE_INSTRUCTION_SM83(EMITTER, SRLHL), \
334 	DECLARE_INSTRUCTION_SM83(EMITTER, SRLA), \
335 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT0B), \
336 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT0C), \
337 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT0D), \
338 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT0E), \
339 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT0H), \
340 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT0L), \
341 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT0HL), \
342 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT0A), \
343 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT1B), \
344 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT1C), \
345 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT1D), \
346 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT1E), \
347 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT1H), \
348 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT1L), \
349 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT1HL), \
350 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT1A), \
351 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT2B), \
352 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT2C), \
353 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT2D), \
354 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT2E), \
355 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT2H), \
356 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT2L), \
357 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT2HL), \
358 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT2A), \
359 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT3B), \
360 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT3C), \
361 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT3D), \
362 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT3E), \
363 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT3H), \
364 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT3L), \
365 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT3HL), \
366 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT3A), \
367 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT4B), \
368 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT4C), \
369 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT4D), \
370 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT4E), \
371 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT4H), \
372 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT4L), \
373 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT4HL), \
374 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT4A), \
375 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT5B), \
376 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT5C), \
377 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT5D), \
378 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT5E), \
379 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT5H), \
380 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT5L), \
381 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT5HL), \
382 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT5A), \
383 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT6B), \
384 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT6C), \
385 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT6D), \
386 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT6E), \
387 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT6H), \
388 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT6L), \
389 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT6HL), \
390 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT6A), \
391 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT7B), \
392 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT7C), \
393 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT7D), \
394 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT7E), \
395 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT7H), \
396 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT7L), \
397 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT7HL), \
398 	DECLARE_INSTRUCTION_SM83(EMITTER, BIT7A), \
399 	DECLARE_INSTRUCTION_SM83(EMITTER, RES0B), \
400 	DECLARE_INSTRUCTION_SM83(EMITTER, RES0C), \
401 	DECLARE_INSTRUCTION_SM83(EMITTER, RES0D), \
402 	DECLARE_INSTRUCTION_SM83(EMITTER, RES0E), \
403 	DECLARE_INSTRUCTION_SM83(EMITTER, RES0H), \
404 	DECLARE_INSTRUCTION_SM83(EMITTER, RES0L), \
405 	DECLARE_INSTRUCTION_SM83(EMITTER, RES0HL), \
406 	DECLARE_INSTRUCTION_SM83(EMITTER, RES0A), \
407 	DECLARE_INSTRUCTION_SM83(EMITTER, RES1B), \
408 	DECLARE_INSTRUCTION_SM83(EMITTER, RES1C), \
409 	DECLARE_INSTRUCTION_SM83(EMITTER, RES1D), \
410 	DECLARE_INSTRUCTION_SM83(EMITTER, RES1E), \
411 	DECLARE_INSTRUCTION_SM83(EMITTER, RES1H), \
412 	DECLARE_INSTRUCTION_SM83(EMITTER, RES1L), \
413 	DECLARE_INSTRUCTION_SM83(EMITTER, RES1HL), \
414 	DECLARE_INSTRUCTION_SM83(EMITTER, RES1A), \
415 	DECLARE_INSTRUCTION_SM83(EMITTER, RES2B), \
416 	DECLARE_INSTRUCTION_SM83(EMITTER, RES2C), \
417 	DECLARE_INSTRUCTION_SM83(EMITTER, RES2D), \
418 	DECLARE_INSTRUCTION_SM83(EMITTER, RES2E), \
419 	DECLARE_INSTRUCTION_SM83(EMITTER, RES2H), \
420 	DECLARE_INSTRUCTION_SM83(EMITTER, RES2L), \
421 	DECLARE_INSTRUCTION_SM83(EMITTER, RES2HL), \
422 	DECLARE_INSTRUCTION_SM83(EMITTER, RES2A), \
423 	DECLARE_INSTRUCTION_SM83(EMITTER, RES3B), \
424 	DECLARE_INSTRUCTION_SM83(EMITTER, RES3C), \
425 	DECLARE_INSTRUCTION_SM83(EMITTER, RES3D), \
426 	DECLARE_INSTRUCTION_SM83(EMITTER, RES3E), \
427 	DECLARE_INSTRUCTION_SM83(EMITTER, RES3H), \
428 	DECLARE_INSTRUCTION_SM83(EMITTER, RES3L), \
429 	DECLARE_INSTRUCTION_SM83(EMITTER, RES3HL), \
430 	DECLARE_INSTRUCTION_SM83(EMITTER, RES3A), \
431 	DECLARE_INSTRUCTION_SM83(EMITTER, RES4B), \
432 	DECLARE_INSTRUCTION_SM83(EMITTER, RES4C), \
433 	DECLARE_INSTRUCTION_SM83(EMITTER, RES4D), \
434 	DECLARE_INSTRUCTION_SM83(EMITTER, RES4E), \
435 	DECLARE_INSTRUCTION_SM83(EMITTER, RES4H), \
436 	DECLARE_INSTRUCTION_SM83(EMITTER, RES4L), \
437 	DECLARE_INSTRUCTION_SM83(EMITTER, RES4HL), \
438 	DECLARE_INSTRUCTION_SM83(EMITTER, RES4A), \
439 	DECLARE_INSTRUCTION_SM83(EMITTER, RES5B), \
440 	DECLARE_INSTRUCTION_SM83(EMITTER, RES5C), \
441 	DECLARE_INSTRUCTION_SM83(EMITTER, RES5D), \
442 	DECLARE_INSTRUCTION_SM83(EMITTER, RES5E), \
443 	DECLARE_INSTRUCTION_SM83(EMITTER, RES5H), \
444 	DECLARE_INSTRUCTION_SM83(EMITTER, RES5L), \
445 	DECLARE_INSTRUCTION_SM83(EMITTER, RES5HL), \
446 	DECLARE_INSTRUCTION_SM83(EMITTER, RES5A), \
447 	DECLARE_INSTRUCTION_SM83(EMITTER, RES6B), \
448 	DECLARE_INSTRUCTION_SM83(EMITTER, RES6C), \
449 	DECLARE_INSTRUCTION_SM83(EMITTER, RES6D), \
450 	DECLARE_INSTRUCTION_SM83(EMITTER, RES6E), \
451 	DECLARE_INSTRUCTION_SM83(EMITTER, RES6H), \
452 	DECLARE_INSTRUCTION_SM83(EMITTER, RES6L), \
453 	DECLARE_INSTRUCTION_SM83(EMITTER, RES6HL), \
454 	DECLARE_INSTRUCTION_SM83(EMITTER, RES6A), \
455 	DECLARE_INSTRUCTION_SM83(EMITTER, RES7B), \
456 	DECLARE_INSTRUCTION_SM83(EMITTER, RES7C), \
457 	DECLARE_INSTRUCTION_SM83(EMITTER, RES7D), \
458 	DECLARE_INSTRUCTION_SM83(EMITTER, RES7E), \
459 	DECLARE_INSTRUCTION_SM83(EMITTER, RES7H), \
460 	DECLARE_INSTRUCTION_SM83(EMITTER, RES7L), \
461 	DECLARE_INSTRUCTION_SM83(EMITTER, RES7HL), \
462 	DECLARE_INSTRUCTION_SM83(EMITTER, RES7A), \
463 	DECLARE_INSTRUCTION_SM83(EMITTER, SET0B), \
464 	DECLARE_INSTRUCTION_SM83(EMITTER, SET0C), \
465 	DECLARE_INSTRUCTION_SM83(EMITTER, SET0D), \
466 	DECLARE_INSTRUCTION_SM83(EMITTER, SET0E), \
467 	DECLARE_INSTRUCTION_SM83(EMITTER, SET0H), \
468 	DECLARE_INSTRUCTION_SM83(EMITTER, SET0L), \
469 	DECLARE_INSTRUCTION_SM83(EMITTER, SET0HL), \
470 	DECLARE_INSTRUCTION_SM83(EMITTER, SET0A), \
471 	DECLARE_INSTRUCTION_SM83(EMITTER, SET1B), \
472 	DECLARE_INSTRUCTION_SM83(EMITTER, SET1C), \
473 	DECLARE_INSTRUCTION_SM83(EMITTER, SET1D), \
474 	DECLARE_INSTRUCTION_SM83(EMITTER, SET1E), \
475 	DECLARE_INSTRUCTION_SM83(EMITTER, SET1H), \
476 	DECLARE_INSTRUCTION_SM83(EMITTER, SET1L), \
477 	DECLARE_INSTRUCTION_SM83(EMITTER, SET1HL), \
478 	DECLARE_INSTRUCTION_SM83(EMITTER, SET1A), \
479 	DECLARE_INSTRUCTION_SM83(EMITTER, SET2B), \
480 	DECLARE_INSTRUCTION_SM83(EMITTER, SET2C), \
481 	DECLARE_INSTRUCTION_SM83(EMITTER, SET2D), \
482 	DECLARE_INSTRUCTION_SM83(EMITTER, SET2E), \
483 	DECLARE_INSTRUCTION_SM83(EMITTER, SET2H), \
484 	DECLARE_INSTRUCTION_SM83(EMITTER, SET2L), \
485 	DECLARE_INSTRUCTION_SM83(EMITTER, SET2HL), \
486 	DECLARE_INSTRUCTION_SM83(EMITTER, SET2A), \
487 	DECLARE_INSTRUCTION_SM83(EMITTER, SET3B), \
488 	DECLARE_INSTRUCTION_SM83(EMITTER, SET3C), \
489 	DECLARE_INSTRUCTION_SM83(EMITTER, SET3D), \
490 	DECLARE_INSTRUCTION_SM83(EMITTER, SET3E), \
491 	DECLARE_INSTRUCTION_SM83(EMITTER, SET3H), \
492 	DECLARE_INSTRUCTION_SM83(EMITTER, SET3L), \
493 	DECLARE_INSTRUCTION_SM83(EMITTER, SET3HL), \
494 	DECLARE_INSTRUCTION_SM83(EMITTER, SET3A), \
495 	DECLARE_INSTRUCTION_SM83(EMITTER, SET4B), \
496 	DECLARE_INSTRUCTION_SM83(EMITTER, SET4C), \
497 	DECLARE_INSTRUCTION_SM83(EMITTER, SET4D), \
498 	DECLARE_INSTRUCTION_SM83(EMITTER, SET4E), \
499 	DECLARE_INSTRUCTION_SM83(EMITTER, SET4H), \
500 	DECLARE_INSTRUCTION_SM83(EMITTER, SET4L), \
501 	DECLARE_INSTRUCTION_SM83(EMITTER, SET4HL), \
502 	DECLARE_INSTRUCTION_SM83(EMITTER, SET4A), \
503 	DECLARE_INSTRUCTION_SM83(EMITTER, SET5B), \
504 	DECLARE_INSTRUCTION_SM83(EMITTER, SET5C), \
505 	DECLARE_INSTRUCTION_SM83(EMITTER, SET5D), \
506 	DECLARE_INSTRUCTION_SM83(EMITTER, SET5E), \
507 	DECLARE_INSTRUCTION_SM83(EMITTER, SET5H), \
508 	DECLARE_INSTRUCTION_SM83(EMITTER, SET5L), \
509 	DECLARE_INSTRUCTION_SM83(EMITTER, SET5HL), \
510 	DECLARE_INSTRUCTION_SM83(EMITTER, SET5A), \
511 	DECLARE_INSTRUCTION_SM83(EMITTER, SET6B), \
512 	DECLARE_INSTRUCTION_SM83(EMITTER, SET6C), \
513 	DECLARE_INSTRUCTION_SM83(EMITTER, SET6D), \
514 	DECLARE_INSTRUCTION_SM83(EMITTER, SET6E), \
515 	DECLARE_INSTRUCTION_SM83(EMITTER, SET6H), \
516 	DECLARE_INSTRUCTION_SM83(EMITTER, SET6L), \
517 	DECLARE_INSTRUCTION_SM83(EMITTER, SET6HL), \
518 	DECLARE_INSTRUCTION_SM83(EMITTER, SET6A), \
519 	DECLARE_INSTRUCTION_SM83(EMITTER, SET7B), \
520 	DECLARE_INSTRUCTION_SM83(EMITTER, SET7C), \
521 	DECLARE_INSTRUCTION_SM83(EMITTER, SET7D), \
522 	DECLARE_INSTRUCTION_SM83(EMITTER, SET7E), \
523 	DECLARE_INSTRUCTION_SM83(EMITTER, SET7H), \
524 	DECLARE_INSTRUCTION_SM83(EMITTER, SET7L), \
525 	DECLARE_INSTRUCTION_SM83(EMITTER, SET7HL), \
526 	DECLARE_INSTRUCTION_SM83(EMITTER, SET7A)
527 
528 #endif
529