1
2#define OPPROTO(x) void x(u8)
3
4OPPROTO(x86emuOp_illegal_op);
5OPPROTO(x86emuOp_add_byte_RM_R);
6OPPROTO(x86emuOp_add_word_RM_R);
7OPPROTO(x86emuOp_add_byte_R_RM);
8OPPROTO(x86emuOp_add_word_R_RM);
9OPPROTO(x86emuOp_add_byte_AL_IMM);
10OPPROTO(x86emuOp_add_word_AX_IMM);
11OPPROTO(x86emuOp_push_ES);
12OPPROTO(x86emuOp_pop_ES);
13OPPROTO(x86emuOp_or_byte_RM_R);
14OPPROTO(x86emuOp_or_word_RM_R);
15OPPROTO(x86emuOp_or_byte_R_RM);
16OPPROTO(x86emuOp_or_word_R_RM);
17OPPROTO(x86emuOp_or_byte_AL_IMM);
18OPPROTO(x86emuOp_or_word_AX_IMM);
19OPPROTO(x86emuOp_push_CS);
20OPPROTO(x86emuOp_two_byte);
21OPPROTO(x86emuOp_adc_byte_RM_R);
22OPPROTO(x86emuOp_adc_word_RM_R);
23OPPROTO(x86emuOp_adc_byte_R_RM);
24OPPROTO(x86emuOp_adc_word_R_RM);
25OPPROTO(x86emuOp_adc_byte_AL_IMM);
26OPPROTO(x86emuOp_adc_word_AX_IMM);
27OPPROTO(x86emuOp_push_SS);
28OPPROTO(x86emuOp_pop_SS);
29OPPROTO(x86emuOp_sbb_byte_RM_R);
30OPPROTO(x86emuOp_sbb_word_RM_R);
31OPPROTO(x86emuOp_sbb_byte_R_RM);
32OPPROTO(x86emuOp_sbb_word_R_RM);
33OPPROTO(x86emuOp_sbb_byte_AL_IMM);
34OPPROTO(x86emuOp_sbb_word_AX_IMM);
35OPPROTO(x86emuOp_push_DS);
36OPPROTO(x86emuOp_pop_DS);
37OPPROTO(x86emuOp_and_byte_RM_R);
38OPPROTO(x86emuOp_and_word_RM_R);
39OPPROTO(x86emuOp_and_byte_R_RM);
40OPPROTO(x86emuOp_and_word_R_RM);
41OPPROTO(x86emuOp_and_byte_AL_IMM);
42OPPROTO(x86emuOp_and_word_AX_IMM);
43OPPROTO(x86emuOp_segovr_ES);
44OPPROTO(x86emuOp_daa);
45OPPROTO(x86emuOp_sub_byte_RM_R);
46OPPROTO(x86emuOp_sub_word_RM_R);
47OPPROTO(x86emuOp_sub_byte_R_RM);
48OPPROTO(x86emuOp_sub_word_R_RM);
49OPPROTO(x86emuOp_sub_byte_AL_IMM);
50OPPROTO(x86emuOp_sub_word_AX_IMM);
51OPPROTO(x86emuOp_segovr_CS);
52OPPROTO(x86emuOp_das);
53OPPROTO(x86emuOp_xor_byte_RM_R);
54OPPROTO(x86emuOp_xor_word_RM_R);
55OPPROTO(x86emuOp_xor_byte_R_RM);
56OPPROTO(x86emuOp_xor_word_R_RM);
57OPPROTO(x86emuOp_xor_byte_AL_IMM);
58OPPROTO(x86emuOp_xor_word_AX_IMM);
59OPPROTO(x86emuOp_segovr_SS);
60OPPROTO(x86emuOp_aaa);
61OPPROTO(x86emuOp_cmp_byte_RM_R);
62OPPROTO(x86emuOp_cmp_word_RM_R);
63OPPROTO(x86emuOp_cmp_byte_R_RM);
64OPPROTO(x86emuOp_cmp_word_R_RM);
65OPPROTO(x86emuOp_cmp_byte_AL_IMM);
66OPPROTO(x86emuOp_cmp_word_AX_IMM);
67OPPROTO(x86emuOp_segovr_DS);
68OPPROTO(x86emuOp_aas);
69OPPROTO(x86emuOp_inc_AX);
70OPPROTO(x86emuOp_inc_CX);
71OPPROTO(x86emuOp_inc_DX);
72OPPROTO(x86emuOp_inc_BX);
73OPPROTO(x86emuOp_inc_SP);
74OPPROTO(x86emuOp_inc_BP);
75OPPROTO(x86emuOp_inc_SI);
76OPPROTO(x86emuOp_inc_DI);
77OPPROTO(x86emuOp_dec_AX);
78OPPROTO(x86emuOp_dec_CX);
79OPPROTO(x86emuOp_dec_DX);
80OPPROTO(x86emuOp_dec_BX);
81OPPROTO(x86emuOp_dec_SP);
82OPPROTO(x86emuOp_dec_BP);
83OPPROTO(x86emuOp_dec_SI);
84OPPROTO(x86emuOp_dec_DI);
85OPPROTO(x86emuOp_push_AX);
86OPPROTO(x86emuOp_push_CX);
87OPPROTO(x86emuOp_push_DX);
88OPPROTO(x86emuOp_push_BX);
89OPPROTO(x86emuOp_push_SP);
90OPPROTO(x86emuOp_push_BP);
91OPPROTO(x86emuOp_push_SI);
92OPPROTO(x86emuOp_push_DI);
93OPPROTO(x86emuOp_pop_AX);
94OPPROTO(x86emuOp_pop_CX);
95OPPROTO(x86emuOp_pop_DX);
96OPPROTO(x86emuOp_pop_BX);
97OPPROTO(x86emuOp_pop_SP);
98OPPROTO(x86emuOp_pop_BP);
99OPPROTO(x86emuOp_pop_SI);
100OPPROTO(x86emuOp_pop_DI);
101OPPROTO(x86emuOp_push_all);
102OPPROTO(x86emuOp_pop_all);
103OPPROTO(x86emuOp_segovr_FS);
104OPPROTO(x86emuOp_segovr_GS);
105OPPROTO(x86emuOp_prefix_data);
106OPPROTO(x86emuOp_prefix_addr);
107OPPROTO(x86emuOp_push_word_IMM);
108OPPROTO(x86emuOp_imul_word_IMM);
109OPPROTO(x86emuOp_push_byte_IMM);
110OPPROTO(x86emuOp_imul_byte_IMM);
111OPPROTO(x86emuOp_ins_byte);
112OPPROTO(x86emuOp_ins_word);
113OPPROTO(x86emuOp_outs_byte);
114OPPROTO(x86emuOp_outs_word);
115OPPROTO(x86emuOp_jump_near_O);
116OPPROTO(x86emuOp_jump_near_NO);
117OPPROTO(x86emuOp_jump_near_B);
118OPPROTO(x86emuOp_jump_near_NB);
119OPPROTO(x86emuOp_jump_near_Z);
120OPPROTO(x86emuOp_jump_near_NZ);
121OPPROTO(x86emuOp_jump_near_BE);
122OPPROTO(x86emuOp_jump_near_NBE);
123OPPROTO(x86emuOp_jump_near_S);
124OPPROTO(x86emuOp_jump_near_NS);
125OPPROTO(x86emuOp_jump_near_P);
126OPPROTO(x86emuOp_jump_near_NP);
127OPPROTO(x86emuOp_jump_near_L);
128OPPROTO(x86emuOp_jump_near_NL);
129OPPROTO(x86emuOp_jump_near_LE);
130OPPROTO(x86emuOp_jump_near_NLE);
131OPPROTO(x86emuOp_opc80_byte_RM_IMM);
132OPPROTO(x86emuOp_opc81_word_RM_IMM);
133OPPROTO(x86emuOp_opc82_byte_RM_IMM);
134OPPROTO(x86emuOp_opc83_word_RM_IMM);
135OPPROTO(x86emuOp_test_byte_RM_R);
136OPPROTO(x86emuOp_test_word_RM_R);
137OPPROTO(x86emuOp_xchg_byte_RM_R);
138OPPROTO(x86emuOp_xchg_word_RM_R);
139OPPROTO(x86emuOp_mov_byte_RM_R);
140OPPROTO(x86emuOp_mov_word_RM_R);
141OPPROTO(x86emuOp_mov_byte_R_RM);
142OPPROTO(x86emuOp_mov_word_R_RM);
143OPPROTO(x86emuOp_mov_word_RM_SR);
144OPPROTO(x86emuOp_lea_word_R_M);
145OPPROTO(x86emuOp_mov_word_SR_RM);
146OPPROTO(x86emuOp_pop_RM);
147OPPROTO(x86emuOp_nop);
148OPPROTO(x86emuOp_xchg_word_AX_CX);
149OPPROTO(x86emuOp_xchg_word_AX_DX);
150OPPROTO(x86emuOp_xchg_word_AX_BX);
151OPPROTO(x86emuOp_xchg_word_AX_SP);
152OPPROTO(x86emuOp_xchg_word_AX_BP);
153OPPROTO(x86emuOp_xchg_word_AX_SI);
154OPPROTO(x86emuOp_xchg_word_AX_DI);
155OPPROTO(x86emuOp_cbw);
156OPPROTO(x86emuOp_cwd);
157OPPROTO(x86emuOp_call_far_IMM);
158OPPROTO(x86emuOp_wait);
159OPPROTO(x86emuOp_pushf_word);
160OPPROTO(x86emuOp_popf_word);
161OPPROTO(x86emuOp_sahf);
162OPPROTO(x86emuOp_lahf);
163OPPROTO(x86emuOp_mov_AL_M_IMM);
164OPPROTO(x86emuOp_mov_AX_M_IMM);
165OPPROTO(x86emuOp_mov_M_AL_IMM);
166OPPROTO(x86emuOp_mov_M_AX_IMM);
167OPPROTO(x86emuOp_movs_byte);
168OPPROTO(x86emuOp_movs_word);
169OPPROTO(x86emuOp_cmps_byte);
170OPPROTO(x86emuOp_cmps_word);
171OPPROTO(x86emuOp_test_AL_IMM);
172OPPROTO(x86emuOp_test_AX_IMM);
173OPPROTO(x86emuOp_stos_byte);
174OPPROTO(x86emuOp_stos_word);
175OPPROTO(x86emuOp_lods_byte);
176OPPROTO(x86emuOp_lods_word);
177OPPROTO(x86emuOp_scas_byte);
178OPPROTO(x86emuOp_scas_word);
179OPPROTO(x86emuOp_mov_byte_AL_IMM);
180OPPROTO(x86emuOp_mov_byte_CL_IMM);
181OPPROTO(x86emuOp_mov_byte_DL_IMM);
182OPPROTO(x86emuOp_mov_byte_BL_IMM);
183OPPROTO(x86emuOp_mov_byte_AH_IMM);
184OPPROTO(x86emuOp_mov_byte_CH_IMM);
185OPPROTO(x86emuOp_mov_byte_DH_IMM);
186OPPROTO(x86emuOp_mov_byte_BH_IMM);
187OPPROTO(x86emuOp_mov_word_AX_IMM);
188OPPROTO(x86emuOp_mov_word_CX_IMM);
189OPPROTO(x86emuOp_mov_word_DX_IMM);
190OPPROTO(x86emuOp_mov_word_BX_IMM);
191OPPROTO(x86emuOp_mov_word_SP_IMM);
192OPPROTO(x86emuOp_mov_word_BP_IMM);
193OPPROTO(x86emuOp_mov_word_SI_IMM);
194OPPROTO(x86emuOp_mov_word_DI_IMM);
195OPPROTO(x86emuOp_opcC0_byte_RM_MEM);
196OPPROTO(x86emuOp_opcC1_word_RM_MEM);
197OPPROTO(x86emuOp_ret_near_IMM);
198OPPROTO(x86emuOp_ret_near);
199OPPROTO(x86emuOp_les_R_IMM);
200OPPROTO(x86emuOp_lds_R_IMM);
201OPPROTO(x86emuOp_mov_byte_RM_IMM);
202OPPROTO(x86emuOp_mov_word_RM_IMM);
203OPPROTO(x86emuOp_enter);
204OPPROTO(x86emuOp_leave);
205OPPROTO(x86emuOp_ret_far_IMM);
206OPPROTO(x86emuOp_ret_far);
207OPPROTO(x86emuOp_int3);
208OPPROTO(x86emuOp_int_IMM);
209OPPROTO(x86emuOp_into);
210OPPROTO(x86emuOp_iret);
211OPPROTO(x86emuOp_opcD0_byte_RM_1);
212OPPROTO(x86emuOp_opcD1_word_RM_1);
213OPPROTO(x86emuOp_opcD2_byte_RM_CL);
214OPPROTO(x86emuOp_opcD3_word_RM_CL);
215OPPROTO(x86emuOp_aam);
216OPPROTO(x86emuOp_aad);
217OPPROTO(x86emuOp_xlat);
218OPPROTO(x86emuOp_loopne);
219OPPROTO(x86emuOp_loope);
220OPPROTO(x86emuOp_loop);
221OPPROTO(x86emuOp_jcxz);
222OPPROTO(x86emuOp_in_byte_AL_IMM);
223OPPROTO(x86emuOp_in_word_AX_IMM);
224OPPROTO(x86emuOp_out_byte_IMM_AL);
225OPPROTO(x86emuOp_out_word_IMM_AX);
226OPPROTO(x86emuOp_call_near_IMM);
227OPPROTO(x86emuOp_jump_near_IMM);
228OPPROTO(x86emuOp_jump_far_IMM);
229OPPROTO(x86emuOp_jump_byte_IMM);
230OPPROTO(x86emuOp_in_byte_AL_DX);
231OPPROTO(x86emuOp_in_word_AX_DX);
232OPPROTO(x86emuOp_out_byte_DX_AL);
233OPPROTO(x86emuOp_out_word_DX_AX);
234OPPROTO(x86emuOp_lock);
235OPPROTO(x86emuOp_repne);
236OPPROTO(x86emuOp_repe);
237OPPROTO(x86emuOp_halt);
238OPPROTO(x86emuOp_cmc);
239OPPROTO(x86emuOp_opcF6_byte_RM);
240OPPROTO(x86emuOp_opcF7_word_RM);
241OPPROTO(x86emuOp_clc);
242OPPROTO(x86emuOp_stc);
243OPPROTO(x86emuOp_cli);
244OPPROTO(x86emuOp_sti);
245OPPROTO(x86emuOp_cld);
246OPPROTO(x86emuOp_std);
247OPPROTO(x86emuOp_opcFE_byte_RM);
248OPPROTO(x86emuOp_opcFF_word_RM);
249
250
251OPPROTO(x86emuOp2_illegal_op);
252OPPROTO(x86emuOp2_long_jump);
253OPPROTO(x86emuOp2_set_byte);
254OPPROTO(x86emuOp2_push_FS);
255OPPROTO(x86emuOp2_pop_FS);
256OPPROTO(x86emuOp2_bt_R);
257OPPROTO(x86emuOp2_shld_IMM);
258OPPROTO(x86emuOp2_shld_CL);
259OPPROTO(x86emuOp2_push_GS);
260OPPROTO(x86emuOp2_pop_GS);
261OPPROTO(x86emuOp2_bts_R);
262OPPROTO(x86emuOp2_shrd_IMM);
263OPPROTO(x86emuOp2_shrd_CL);
264OPPROTO(x86emuOp2_imul_R_RM);
265OPPROTO(x86emuOp2_lss_R_IMM);
266OPPROTO(x86emuOp2_btr_R);
267OPPROTO(x86emuOp2_lfs_R_IMM);
268OPPROTO(x86emuOp2_lgs_R_IMM);
269OPPROTO(x86emuOp2_movzx_byte_R_RM);
270OPPROTO(x86emuOp2_movzx_word_R_RM);
271OPPROTO(x86emuOp2_btX_I);
272OPPROTO(x86emuOp2_btc_R);
273OPPROTO(x86emuOp2_bsf);
274OPPROTO(x86emuOp2_bsr);
275OPPROTO(x86emuOp2_movsx_byte_R_RM);
276OPPROTO(x86emuOp2_movsx_word_R_R);
277OPPROTO(x86emuOp2_movsx_word_R_RM);
278