all repos — mgba @ 51a122f20d45119f34cca7e920c0eb9dacc15902

mGBA Game Boy Advance Emulator

include/mgba/internal/sm83/emitter-sm83.h (view raw)

  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