OSDN Git Service

[General] Tracking to upstream, rev 2015-01-14.
[csp-qt/common_source_project-fm7.git] / source / src / vm / mame / emu / cpu / i86 / table86.h
1 static void (*const PREFIX86(_instruction)[256])(i8086_state *cpustate) =\r
2 {\r
3                 PREFIX86(_add_br8),          /* 0x00 */\r
4                 PREFIX86(_add_wr16),         /* 0x01 */\r
5                 PREFIX86(_add_r8b),          /* 0x02 */\r
6                 PREFIX86(_add_r16w),         /* 0x03 */\r
7                 PREFIX86(_add_ald8),         /* 0x04 */\r
8                 PREFIX86(_add_axd16),        /* 0x05 */\r
9                 PREFIX86(_push_es),          /* 0x06 */\r
10                 PREFIX86(_pop_es),           /* 0x07 */\r
11                 PREFIX86(_or_br8),           /* 0x08 */\r
12                 PREFIX86(_or_wr16),          /* 0x09 */\r
13                 PREFIX86(_or_r8b),           /* 0x0a */\r
14                 PREFIX86(_or_r16w),          /* 0x0b */\r
15                 PREFIX86(_or_ald8),          /* 0x0c */\r
16                 PREFIX86(_or_axd16),         /* 0x0d */\r
17                 PREFIX86(_push_cs),          /* 0x0e */\r
18                 PREFIX86(_pop_cs),           /* 0x0f */\r
19                 PREFIX86(_adc_br8),          /* 0x10 */\r
20                 PREFIX86(_adc_wr16),         /* 0x11 */\r
21                 PREFIX86(_adc_r8b),          /* 0x12 */\r
22                 PREFIX86(_adc_r16w),         /* 0x13 */\r
23                 PREFIX86(_adc_ald8),         /* 0x14 */\r
24                 PREFIX86(_adc_axd16),        /* 0x15 */\r
25                 PREFIX86(_push_ss),          /* 0x16 */\r
26                 PREFIX86(_pop_ss),           /* 0x17 */\r
27                 PREFIX86(_sbb_br8),          /* 0x18 */\r
28                 PREFIX86(_sbb_wr16),         /* 0x19 */\r
29                 PREFIX86(_sbb_r8b),          /* 0x1a */\r
30                 PREFIX86(_sbb_r16w),         /* 0x1b */\r
31                 PREFIX86(_sbb_ald8),         /* 0x1c */\r
32                 PREFIX86(_sbb_axd16),        /* 0x1d */\r
33                 PREFIX86(_push_ds),          /* 0x1e */\r
34                 PREFIX86(_pop_ds),           /* 0x1f */\r
35                 PREFIX86(_and_br8),          /* 0x20 */\r
36                 PREFIX86(_and_wr16),         /* 0x21 */\r
37                 PREFIX86(_and_r8b),          /* 0x22 */\r
38                 PREFIX86(_and_r16w),         /* 0x23 */\r
39                 PREFIX86(_and_ald8),         /* 0x24 */\r
40                 PREFIX86(_and_axd16),        /* 0x25 */\r
41                 PREFIX86(_es),               /* 0x26 */\r
42                 PREFIX86(_daa),              /* 0x27 */\r
43                 PREFIX86(_sub_br8),          /* 0x28 */\r
44                 PREFIX86(_sub_wr16),         /* 0x29 */\r
45                 PREFIX86(_sub_r8b),          /* 0x2a */\r
46                 PREFIX86(_sub_r16w),         /* 0x2b */\r
47                 PREFIX86(_sub_ald8),         /* 0x2c */\r
48                 PREFIX86(_sub_axd16),        /* 0x2d */\r
49                 PREFIX86(_cs),               /* 0x2e */\r
50                 PREFIX86(_das),     /* 0x2f */\r
51                 PREFIX86(_xor_br8),          /* 0x30 */\r
52                 PREFIX86(_xor_wr16),         /* 0x31 */\r
53                 PREFIX86(_xor_r8b),          /* 0x32 */\r
54                 PREFIX86(_xor_r16w),         /* 0x33 */\r
55                 PREFIX86(_xor_ald8),         /* 0x34 */\r
56                 PREFIX86(_xor_axd16),        /* 0x35 */\r
57                 PREFIX86(_ss),               /* 0x36 */\r
58                 PREFIX86(_aaa),     /* 0x37 */\r
59                 PREFIX86(_cmp_br8),          /* 0x38 */\r
60                 PREFIX86(_cmp_wr16),         /* 0x39 */\r
61                 PREFIX86(_cmp_r8b),          /* 0x3a */\r
62                 PREFIX86(_cmp_r16w),         /* 0x3b */\r
63                 PREFIX86(_cmp_ald8),         /* 0x3c */\r
64                 PREFIX86(_cmp_axd16),        /* 0x3d */\r
65                 PREFIX86(_ds),               /* 0x3e */\r
66                 PREFIX86(_aas),     /* 0x3f */\r
67                 PREFIX86(_inc_ax),           /* 0x40 */\r
68                 PREFIX86(_inc_cx),           /* 0x41 */\r
69                 PREFIX86(_inc_dx),           /* 0x42 */\r
70                 PREFIX86(_inc_bx),           /* 0x43 */\r
71                 PREFIX86(_inc_sp),           /* 0x44 */\r
72                 PREFIX86(_inc_bp),           /* 0x45 */\r
73                 PREFIX86(_inc_si),           /* 0x46 */\r
74                 PREFIX86(_inc_di),           /* 0x47 */\r
75                 PREFIX86(_dec_ax),           /* 0x48 */\r
76                 PREFIX86(_dec_cx),           /* 0x49 */\r
77                 PREFIX86(_dec_dx),           /* 0x4a */\r
78                 PREFIX86(_dec_bx),           /* 0x4b */\r
79                 PREFIX86(_dec_sp),           /* 0x4c */\r
80                 PREFIX86(_dec_bp),           /* 0x4d */\r
81                 PREFIX86(_dec_si),           /* 0x4e */\r
82                 PREFIX86(_dec_di),           /* 0x4f */\r
83                 PREFIX86(_push_ax),          /* 0x50 */\r
84                 PREFIX86(_push_cx),          /* 0x51 */\r
85                 PREFIX86(_push_dx),          /* 0x52 */\r
86                 PREFIX86(_push_bx),          /* 0x53 */\r
87                 PREFIX86(_push_sp),          /* 0x54 */\r
88                 PREFIX86(_push_bp),          /* 0x55 */\r
89                 PREFIX86(_push_si),          /* 0x56 */\r
90                 PREFIX86(_push_di),          /* 0x57 */\r
91                 PREFIX86(_pop_ax),           /* 0x58 */\r
92                 PREFIX86(_pop_cx),           /* 0x59 */\r
93                 PREFIX86(_pop_dx),           /* 0x5a */\r
94                 PREFIX86(_pop_bx),           /* 0x5b */\r
95                 PREFIX86(_pop_sp),           /* 0x5c */\r
96                 PREFIX86(_pop_bp),           /* 0x5d */\r
97                 PREFIX86(_pop_si),           /* 0x5e */\r
98                 PREFIX86(_pop_di),           /* 0x5f */\r
99                 PREFIX86(_invalid_2b), // PREFIX86(_pusha),            /* 0x60 */\r
100                 PREFIX86(_invalid_2b), // PREFIX86(_popa),             /* 0x61 */\r
101                 PREFIX86(_invalid_2b), // PREFIX86(_bound),            /* 0x62 */\r
102                 PREFIX86(_invalid_2b),\r
103                 PREFIX86(_invalid_2b),\r
104                 PREFIX86(_invalid_2b),\r
105                 PREFIX86(_invalid_2b),\r
106                 PREFIX86(_invalid_2b),\r
107                 PREFIX86(_invalid_2b), //i_push_d16),         /* 0x68 */\r
108                 PREFIX86(_invalid_2b), //i_imul_d16),         /* 0x69 */\r
109                 PREFIX86(_invalid_2b), //i_push_d8),          /* 0x6a */\r
110                 PREFIX86(_invalid_2b), //i_imul_d8),          /* 0x6b */\r
111                 PREFIX86(_invalid_2b), //i_insb),             /* 0x6c */\r
112                 PREFIX86(_invalid_2b), //i_insw),             /* 0x6d */\r
113                 PREFIX86(_invalid_2b), //i_outsb),            /* 0x6e */\r
114                 PREFIX86(_invalid_2b), //i_outsw),            /* 0x6f */\r
115                 PREFIX86(_jo),               /* 0x70 */\r
116                 PREFIX86(_jno),              /* 0x71 */\r
117                 PREFIX86(_jb),               /* 0x72 */\r
118                 PREFIX86(_jnb),              /* 0x73 */\r
119                 PREFIX86(_jz),               /* 0x74 */\r
120                 PREFIX86(_jnz),              /* 0x75 */\r
121                 PREFIX86(_jbe),              /* 0x76 */\r
122                 PREFIX86(_jnbe),             /* 0x77 */\r
123                 PREFIX86(_js),               /* 0x78 */\r
124                 PREFIX86(_jns),              /* 0x79 */\r
125                 PREFIX86(_jp),               /* 0x7a */\r
126                 PREFIX86(_jnp),              /* 0x7b */\r
127                 PREFIX86(_jl),               /* 0x7c */\r
128                 PREFIX86(_jnl),              /* 0x7d */\r
129                 PREFIX86(_jle),              /* 0x7e */\r
130                 PREFIX86(_jnle),             /* 0x7f */\r
131                 PREFIX86(_80pre),            /* 0x80 */\r
132                 PREFIX86(_81pre),            /* 0x81 */\r
133                 PREFIX86(_82pre),           /* 0x82 */\r
134                 PREFIX86(_83pre),            /* 0x83 */\r
135                 PREFIX86(_test_br8),         /* 0x84 */\r
136                 PREFIX86(_test_wr16),        /* 0x85 */\r
137                 PREFIX86(_xchg_br8),         /* 0x86 */\r
138                 PREFIX86(_xchg_wr16),        /* 0x87 */\r
139                 PREFIX86(_mov_br8),          /* 0x88 */\r
140                 PREFIX86(_mov_wr16),         /* 0x89 */\r
141                 PREFIX86(_mov_r8b),          /* 0x8a */\r
142                 PREFIX86(_mov_r16w),         /* 0x8b */\r
143                 PREFIX86(_mov_wsreg),        /* 0x8c */\r
144                 PREFIX86(_lea),              /* 0x8d */\r
145                 PREFIX86(_mov_sregw),        /* 0x8e */\r
146                 PREFIX86(_popw),             /* 0x8f */\r
147                 PREFIX86(_nop),              /* 0x90 */\r
148                 PREFIX86(_xchg_axcx),        /* 0x91 */\r
149                 PREFIX86(_xchg_axdx),        /* 0x92 */\r
150                 PREFIX86(_xchg_axbx),        /* 0x93 */\r
151                 PREFIX86(_xchg_axsp),        /* 0x94 */\r
152                 PREFIX86(_xchg_axbp),        /* 0x95 */\r
153                 PREFIX86(_xchg_axsi),        /* 0x97 */\r
154                 PREFIX86(_xchg_axdi),        /* 0x97 */\r
155                 PREFIX86(_cbw),              /* 0x98 */\r
156                 PREFIX86(_cwd),              /* 0x99 */\r
157                 PREFIX86(_call_far),         /* 0x9a */\r
158                 PREFIX86(_wait),             /* 0x9b */\r
159                 PREFIX86(_pushf),            /* 0x9c */\r
160                 PREFIX86(_popf),             /* 0x9d */\r
161                 PREFIX86(_sahf),             /* 0x9e */\r
162                 PREFIX86(_lahf),             /* 0x9f */\r
163                 PREFIX86(_mov_aldisp),       /* 0xa0 */\r
164                 PREFIX86(_mov_axdisp),       /* 0xa1 */\r
165                 PREFIX86(_mov_dispal),       /* 0xa2 */\r
166                 PREFIX86(_mov_dispax),       /* 0xa3 */\r
167                 PREFIX86(_movsb),            /* 0xa4 */\r
168                 PREFIX86(_movsw),            /* 0xa5 */\r
169                 PREFIX86(_cmpsb),            /* 0xa6 */\r
170                 PREFIX86(_cmpsw),            /* 0xa7 */\r
171                 PREFIX86(_test_ald8),        /* 0xa8 */\r
172                 PREFIX86(_test_axd16),       /* 0xa9 */\r
173                 PREFIX86(_stosb),            /* 0xaa */\r
174                 PREFIX86(_stosw),            /* 0xab */\r
175                 PREFIX86(_lodsb),            /* 0xac */\r
176                 PREFIX86(_lodsw),            /* 0xad */\r
177                 PREFIX86(_scasb),            /* 0xae */\r
178                 PREFIX86(_scasw),            /* 0xaf */\r
179                 PREFIX86(_mov_ald8),         /* 0xb0 */\r
180                 PREFIX86(_mov_cld8),         /* 0xb1 */\r
181                 PREFIX86(_mov_dld8),         /* 0xb2 */\r
182                 PREFIX86(_mov_bld8),         /* 0xb3 */\r
183                 PREFIX86(_mov_ahd8),         /* 0xb4 */\r
184                 PREFIX86(_mov_chd8),         /* 0xb5 */\r
185                 PREFIX86(_mov_dhd8),         /* 0xb6 */\r
186                 PREFIX86(_mov_bhd8),         /* 0xb7 */\r
187                 PREFIX86(_mov_axd16),        /* 0xb8 */\r
188                 PREFIX86(_mov_cxd16),        /* 0xb9 */\r
189                 PREFIX86(_mov_dxd16),        /* 0xba */\r
190                 PREFIX86(_mov_bxd16),        /* 0xbb */\r
191                 PREFIX86(_mov_spd16),        /* 0xbc */\r
192                 PREFIX86(_mov_bpd16),        /* 0xbd */\r
193                 PREFIX86(_mov_sid16),        /* 0xbe */\r
194                 PREFIX86(_mov_did16),        /* 0xbf */\r
195                 PREFIX86(_invalid), // PREFIX86(_rotshft_bd8),      /* 0xc0 */\r
196                 PREFIX86(_invalid), // PREFIX86(_rotshft_wd8),      /* 0xc1 */\r
197                 PREFIX86(_ret_d16),          /* 0xc2 */\r
198                 PREFIX86(_ret),              /* 0xc3 */\r
199                 PREFIX86(_les_dw),           /* 0xc4 */\r
200                 PREFIX86(_lds_dw),           /* 0xc5 */\r
201                 PREFIX86(_mov_bd8),          /* 0xc6 */\r
202                 PREFIX86(_mov_wd16),         /* 0xc7 */\r
203                 PREFIX86(_invalid), //i_enter),            /* 0xc8 */\r
204                 PREFIX86(_invalid), //leave),            /* 0xc9 */\r
205                 PREFIX86(_retf_d16),         /* 0xca */\r
206                 PREFIX86(_retf),             /* 0xcb */\r
207                 PREFIX86(_int3),             /* 0xcc */\r
208                 PREFIX86(_int),              /* 0xcd */\r
209                 PREFIX86(_into),             /* 0xce */\r
210                 PREFIX86(_iret),             /* 0xcf */\r
211                 PREFIX86(_rotshft_b),        /* 0xd0 */\r
212                 PREFIX86(_rotshft_w),        /* 0xd1 */\r
213                 PREFIX86(_rotshft_bcl),      /* 0xd2 */\r
214                 PREFIX86(_rotshft_wcl),      /* 0xd3 */\r
215                 PREFIX86(_aam),              /* 0xd4 */\r
216                 PREFIX86(_aad),              /* 0xd5 */\r
217                 PREFIX86(_invalid),\r
218                 PREFIX86(_xlat),             /* 0xd7 */\r
219                 PREFIX86(_escape),           /* 0xd8 */\r
220                 PREFIX86(_escape),           /* 0xd9 */\r
221                 PREFIX86(_escape),           /* 0xda */\r
222                 PREFIX86(_escape),           /* 0xdb */\r
223                 PREFIX86(_escape),           /* 0xdc */\r
224                 PREFIX86(_escape),           /* 0xdd */\r
225                 PREFIX86(_escape),           /* 0xde */\r
226                 PREFIX86(_escape),           /* 0xdf */\r
227                 PREFIX86(_loopne),           /* 0xe0 */\r
228                 PREFIX86(_loope),            /* 0xe1 */\r
229                 PREFIX86(_loop),             /* 0xe2 */\r
230                 PREFIX86(_jcxz),             /* 0xe3 */\r
231                 PREFIX86(_inal),             /* 0xe4 */\r
232                 PREFIX86(_inax),             /* 0xe5 */\r
233                 PREFIX86(_outal),            /* 0xe6 */\r
234                 PREFIX86(_outax),            /* 0xe7 */\r
235                 PREFIX86(_call_d16),         /* 0xe8 */\r
236                 PREFIX86(_jmp_d16),          /* 0xe9 */\r
237                 PREFIX86(_jmp_far),          /* 0xea */\r
238                 PREFIX86(_jmp_d8),           /* 0xeb */\r
239                 PREFIX86(_inaldx),           /* 0xec */\r
240                 PREFIX86(_inaxdx),           /* 0xed */\r
241                 PREFIX86(_outdxal),          /* 0xee */\r
242                 PREFIX86(_outdxax),          /* 0xef */\r
243                 PREFIX86(_lock),             /* 0xf0 */\r
244                 PREFIX86(_invalid),          /* 0xf1 */\r
245                 PREFIX86(_repne),            /* 0xf2 */\r
246                 PREFIX86(_repe),             /* 0xf3 */\r
247                 PREFIX86(_hlt),     /* 0xf4 */\r
248                 PREFIX86(_cmc),              /* 0xf5 */\r
249                 PREFIX86(_f6pre),            /* 0xf6 */\r
250                 PREFIX86(_f7pre),            /* 0xf7 */\r
251                 PREFIX86(_clc),              /* 0xf8 */\r
252                 PREFIX86(_stc),              /* 0xf9 */\r
253                 PREFIX86(_cli),              /* 0xfa */\r
254                 PREFIX86(_sti),              /* 0xfb */\r
255                 PREFIX86(_cld),              /* 0xfc */\r
256                 PREFIX86(_std),              /* 0xfd */\r
257                 PREFIX86(_fepre),            /* 0xfe */\r
258                 PREFIX86(_ffpre)             /* 0xff */\r
259 };\r
260 \r
261 #if defined(BIGCASE) && !defined(RS6000)\r
262         /* Some compilers cannot handle large case statements */\r
263 #define TABLE86 \\r
264         switch(FETCHOP)\\r
265         {\\r
266         case 0x00:    PREFIX86(_add_br8)(cpustate); break;\\r
267         case 0x01:    PREFIX86(_add_wr16)(cpustate); break;\\r
268         case 0x02:    PREFIX86(_add_r8b)(cpustate); break;\\r
269         case 0x03:    PREFIX86(_add_r16w)(cpustate); break;\\r
270         case 0x04:    PREFIX86(_add_ald8)(cpustate); break;\\r
271         case 0x05:    PREFIX86(_add_axd16)(cpustate); break;\\r
272         case 0x06:    PREFIX86(_push_es)(cpustate); break;\\r
273         case 0x07:    PREFIX86(_pop_es)(cpustate); break;\\r
274         case 0x08:    PREFIX86(_or_br8)(cpustate); break;\\r
275         case 0x09:    PREFIX86(_or_wr16)(cpustate); break;\\r
276         case 0x0a:    PREFIX86(_or_r8b)(cpustate); break;\\r
277         case 0x0b:    PREFIX86(_or_r16w)(cpustate); break;\\r
278         case 0x0c:    PREFIX86(_or_ald8)(cpustate); break;\\r
279         case 0x0d:    PREFIX86(_or_axd16)(cpustate); break;\\r
280         case 0x0e:    PREFIX86(_push_cs)(cpustate); break;\\r
281         case 0x0f:    PREFIX86(_invalid)(cpustate); break;\\r
282         case 0x10:    PREFIX86(_adc_br8)(cpustate); break;\\r
283         case 0x11:    PREFIX86(_adc_wr16)(cpustate); break;\\r
284         case 0x12:    PREFIX86(_adc_r8b)(cpustate); break;\\r
285         case 0x13:    PREFIX86(_adc_r16w)(cpustate); break;\\r
286         case 0x14:    PREFIX86(_adc_ald8)(cpustate); break;\\r
287         case 0x15:    PREFIX86(_adc_axd16)(cpustate); break;\\r
288         case 0x16:    PREFIX86(_push_ss)(cpustate); break;\\r
289         case 0x17:    PREFIX86(_pop_ss)(cpustate); break;\\r
290         case 0x18:    PREFIX86(_sbb_br8)(cpustate); break;\\r
291         case 0x19:    PREFIX86(_sbb_wr16)(cpustate); break;\\r
292         case 0x1a:    PREFIX86(_sbb_r8b)(cpustate); break;\\r
293         case 0x1b:    PREFIX86(_sbb_r16w)(cpustate); break;\\r
294         case 0x1c:    PREFIX86(_sbb_ald8)(cpustate); break;\\r
295         case 0x1d:    PREFIX86(_sbb_axd16)(cpustate); break;\\r
296         case 0x1e:    PREFIX86(_push_ds)(cpustate); break;\\r
297         case 0x1f:    PREFIX86(_pop_ds)(cpustate); break;\\r
298         case 0x20:    PREFIX86(_and_br8)(cpustate); break;\\r
299         case 0x21:    PREFIX86(_and_wr16)(cpustate); break;\\r
300         case 0x22:    PREFIX86(_and_r8b)(cpustate); break;\\r
301         case 0x23:    PREFIX86(_and_r16w)(cpustate); break;\\r
302         case 0x24:    PREFIX86(_and_ald8)(cpustate); break;\\r
303         case 0x25:    PREFIX86(_and_axd16)(cpustate); break;\\r
304         case 0x26:    PREFIX86(_es)(cpustate); break;\\r
305         case 0x27:    PREFIX86(_daa)(cpustate); break;\\r
306         case 0x28:    PREFIX86(_sub_br8)(cpustate); break;\\r
307         case 0x29:    PREFIX86(_sub_wr16)(cpustate); break;\\r
308         case 0x2a:    PREFIX86(_sub_r8b)(cpustate); break;\\r
309         case 0x2b:    PREFIX86(_sub_r16w)(cpustate); break;\\r
310         case 0x2c:    PREFIX86(_sub_ald8)(cpustate); break;\\r
311         case 0x2d:    PREFIX86(_sub_axd16)(cpustate); break;\\r
312         case 0x2e:    PREFIX86(_cs)(cpustate); break;\\r
313         case 0x2f:    PREFIX86(_das)(cpustate); break;\\r
314         case 0x30:    PREFIX86(_xor_br8)(cpustate); break;\\r
315         case 0x31:    PREFIX86(_xor_wr16)(cpustate); break;\\r
316         case 0x32:    PREFIX86(_xor_r8b)(cpustate); break;\\r
317         case 0x33:    PREFIX86(_xor_r16w)(cpustate); break;\\r
318         case 0x34:    PREFIX86(_xor_ald8)(cpustate); break;\\r
319         case 0x35:    PREFIX86(_xor_axd16)(cpustate); break;\\r
320         case 0x36:    PREFIX86(_ss)(cpustate); break;\\r
321         case 0x37:    PREFIX86(_aaa)(cpustate); break;\\r
322         case 0x38:    PREFIX86(_cmp_br8)(cpustate); break;\\r
323         case 0x39:    PREFIX86(_cmp_wr16)(cpustate); break;\\r
324         case 0x3a:    PREFIX86(_cmp_r8b)(cpustate); break;\\r
325         case 0x3b:    PREFIX86(_cmp_r16w)(cpustate); break;\\r
326         case 0x3c:    PREFIX86(_cmp_ald8)(cpustate); break;\\r
327         case 0x3d:    PREFIX86(_cmp_axd16)(cpustate); break;\\r
328         case 0x3e:    PREFIX86(_ds)(cpustate); break;\\r
329         case 0x3f:    PREFIX86(_aas)(cpustate); break;\\r
330         case 0x40:    PREFIX86(_inc_ax)(cpustate); break;\\r
331         case 0x41:    PREFIX86(_inc_cx)(cpustate); break;\\r
332         case 0x42:    PREFIX86(_inc_dx)(cpustate); break;\\r
333         case 0x43:    PREFIX86(_inc_bx)(cpustate); break;\\r
334         case 0x44:    PREFIX86(_inc_sp)(cpustate); break;\\r
335         case 0x45:    PREFIX86(_inc_bp)(cpustate); break;\\r
336         case 0x46:    PREFIX86(_inc_si)(cpustate); break;\\r
337         case 0x47:    PREFIX86(_inc_di)(cpustate); break;\\r
338         case 0x48:    PREFIX86(_dec_ax)(cpustate); break;\\r
339         case 0x49:    PREFIX86(_dec_cx)(cpustate); break;\\r
340         case 0x4a:    PREFIX86(_dec_dx)(cpustate); break;\\r
341         case 0x4b:    PREFIX86(_dec_bx)(cpustate); break;\\r
342         case 0x4c:    PREFIX86(_dec_sp)(cpustate); break;\\r
343         case 0x4d:    PREFIX86(_dec_bp)(cpustate); break;\\r
344         case 0x4e:    PREFIX86(_dec_si)(cpustate); break;\\r
345         case 0x4f:    PREFIX86(_dec_di)(cpustate); break;\\r
346         case 0x50:    PREFIX86(_push_ax)(cpustate); break;\\r
347         case 0x51:    PREFIX86(_push_cx)(cpustate); break;\\r
348         case 0x52:    PREFIX86(_push_dx)(cpustate); break;\\r
349         case 0x53:    PREFIX86(_push_bx)(cpustate); break;\\r
350         case 0x54:    PREFIX86(_push_sp)(cpustate); break;\\r
351         case 0x55:    PREFIX86(_push_bp)(cpustate); break;\\r
352         case 0x56:    PREFIX86(_push_si)(cpustate); break;\\r
353         case 0x57:    PREFIX86(_push_di)(cpustate); break;\\r
354         case 0x58:    PREFIX86(_pop_ax)(cpustate); break;\\r
355         case 0x59:    PREFIX86(_pop_cx)(cpustate); break;\\r
356         case 0x5a:    PREFIX86(_pop_dx)(cpustate); break;\\r
357         case 0x5b:    PREFIX86(_pop_bx)(cpustate); break;\\r
358         case 0x5c:    PREFIX86(_pop_sp)(cpustate); break;\\r
359         case 0x5d:    PREFIX86(_pop_bp)(cpustate); break;\\r
360         case 0x5e:    PREFIX86(_pop_si)(cpustate); break;\\r
361         case 0x5f:    PREFIX86(_pop_di)(cpustate); break;\\r
362                         case 0x60:    PREFIX86(_invalid_2b)(cpustate); break;\\r
363                         case 0x61:    PREFIX86(_invalid_2b)(cpustate); break;\\r
364                         case 0x62:    PREFIX86(_invalid_2b)(cpustate); break;\\r
365         case 0x63:    PREFIX86(_invalid_2b)(cpustate); break;\\r
366         case 0x64:    PREFIX86(_invalid_2b)(cpustate); break;\\r
367         case 0x65:    PREFIX86(_invalid_2b)(cpustate); break;\\r
368         case 0x66:    PREFIX86(_invalid_2b)(cpustate); break;\\r
369         case 0x67:    PREFIX86(_invalid_2b)(cpustate); break;\\r
370                         case 0x68:    PREFIX86(_invalid_2b)(cpustate); break;\\r
371                         case 0x69:    PREFIX86(_invalid_2b)(cpustate); break;\\r
372                         case 0x6a:    PREFIX86(_invalid_2b)(cpustate); break;\\r
373                         case 0x6b:    PREFIX86(_invalid_2b)(cpustate); break;\\r
374                         case 0x6c:    PREFIX86(_invalid_2b)(cpustate); break;\\r
375                         case 0x6d:    PREFIX86(_invalid_2b)(cpustate); break;\\r
376                         case 0x6e:    PREFIX86(_invalid_2b)(cpustate); break;\\r
377                         case 0x6f:    PREFIX86(_invalid_2b)(cpustate); break;\\r
378         case 0x70:    PREFIX86(_jo)(cpustate); break;\\r
379         case 0x71:    PREFIX86(_jno)(cpustate); break;\\r
380         case 0x72:    PREFIX86(_jb)(cpustate); break;\\r
381         case 0x73:    PREFIX86(_jnb)(cpustate); break;\\r
382         case 0x74:    PREFIX86(_jz)(cpustate); break;\\r
383         case 0x75:    PREFIX86(_jnz)(cpustate); break;\\r
384         case 0x76:    PREFIX86(_jbe)(cpustate); break;\\r
385         case 0x77:    PREFIX86(_jnbe)(cpustate); break;\\r
386         case 0x78:    PREFIX86(_js)(cpustate); break;\\r
387         case 0x79:    PREFIX86(_jns)(cpustate); break;\\r
388         case 0x7a:    PREFIX86(_jp)(cpustate); break;\\r
389         case 0x7b:    PREFIX86(_jnp)(cpustate); break;\\r
390         case 0x7c:    PREFIX86(_jl)(cpustate); break;\\r
391         case 0x7d:    PREFIX86(_jnl)(cpustate); break;\\r
392         case 0x7e:    PREFIX86(_jle)(cpustate); break;\\r
393         case 0x7f:    PREFIX86(_jnle)(cpustate); break;\\r
394         case 0x80:    PREFIX86(_80pre)(cpustate); break;\\r
395         case 0x81:    PREFIX86(_81pre)(cpustate); break;\\r
396         case 0x82:    PREFIX86(_82pre)(cpustate); break;\\r
397         case 0x83:    PREFIX86(_83pre)(cpustate); break;\\r
398         case 0x84:    PREFIX86(_test_br8)(cpustate); break;\\r
399         case 0x85:    PREFIX86(_test_wr16)(cpustate); break;\\r
400         case 0x86:    PREFIX86(_xchg_br8)(cpustate); break;\\r
401         case 0x87:    PREFIX86(_xchg_wr16)(cpustate); break;\\r
402         case 0x88:    PREFIX86(_mov_br8)(cpustate); break;\\r
403         case 0x89:    PREFIX86(_mov_wr16)(cpustate); break;\\r
404         case 0x8a:    PREFIX86(_mov_r8b)(cpustate); break;\\r
405         case 0x8b:    PREFIX86(_mov_r16w)(cpustate); break;\\r
406         case 0x8c:    PREFIX86(_mov_wsreg)(cpustate); break;\\r
407         case 0x8d:    PREFIX86(_lea)(cpustate); break;\\r
408         case 0x8e:    PREFIX86(_mov_sregw)(cpustate); break;\\r
409         case 0x8f:    PREFIX86(_popw)(cpustate); break;\\r
410         case 0x90:    PREFIX86(_nop)(cpustate); break;\\r
411         case 0x91:    PREFIX86(_xchg_axcx)(cpustate); break;\\r
412         case 0x92:    PREFIX86(_xchg_axdx)(cpustate); break;\\r
413         case 0x93:    PREFIX86(_xchg_axbx)(cpustate); break;\\r
414         case 0x94:    PREFIX86(_xchg_axsp)(cpustate); break;\\r
415         case 0x95:    PREFIX86(_xchg_axbp)(cpustate); break;\\r
416         case 0x96:    PREFIX86(_xchg_axsi)(cpustate); break;\\r
417         case 0x97:    PREFIX86(_xchg_axdi)(cpustate); break;\\r
418         case 0x98:    PREFIX86(_cbw)(cpustate); break;\\r
419         case 0x99:    PREFIX86(_cwd)(cpustate); break;\\r
420         case 0x9a:    PREFIX86(_call_far)(cpustate); break;\\r
421         case 0x9b:    PREFIX86(_wait)(cpustate); break;\\r
422         case 0x9c:    PREFIX86(_pushf)(cpustate); break;\\r
423         case 0x9d:    PREFIX86(_popf)(cpustate); break;\\r
424         case 0x9e:    PREFIX86(_sahf)(cpustate); break;\\r
425         case 0x9f:    PREFIX86(_lahf)(cpustate); break;\\r
426         case 0xa0:    PREFIX86(_mov_aldisp)(cpustate); break;\\r
427         case 0xa1:    PREFIX86(_mov_axdisp)(cpustate); break;\\r
428         case 0xa2:    PREFIX86(_mov_dispal)(cpustate); break;\\r
429         case 0xa3:    PREFIX86(_mov_dispax)(cpustate); break;\\r
430         case 0xa4:    PREFIX86(_movsb)(cpustate); break;\\r
431         case 0xa5:    PREFIX86(_movsw)(cpustate); break;\\r
432         case 0xa6:    PREFIX86(_cmpsb)(cpustate); break;\\r
433         case 0xa7:    PREFIX86(_cmpsw)(cpustate); break;\\r
434         case 0xa8:    PREFIX86(_test_ald8)(cpustate); break;\\r
435         case 0xa9:    PREFIX86(_test_axd16)(cpustate); break;\\r
436         case 0xaa:    PREFIX86(_stosb)(cpustate); break;\\r
437         case 0xab:    PREFIX86(_stosw)(cpustate); break;\\r
438         case 0xac:    PREFIX86(_lodsb)(cpustate); break;\\r
439         case 0xad:    PREFIX86(_lodsw)(cpustate); break;\\r
440         case 0xae:    PREFIX86(_scasb)(cpustate); break;\\r
441         case 0xaf:    PREFIX86(_scasw)(cpustate); break;\\r
442         case 0xb0:    PREFIX86(_mov_ald8)(cpustate); break;\\r
443         case 0xb1:    PREFIX86(_mov_cld8)(cpustate); break;\\r
444         case 0xb2:    PREFIX86(_mov_dld8)(cpustate); break;\\r
445         case 0xb3:    PREFIX86(_mov_bld8)(cpustate); break;\\r
446         case 0xb4:    PREFIX86(_mov_ahd8)(cpustate); break;\\r
447         case 0xb5:    PREFIX86(_mov_chd8)(cpustate); break;\\r
448         case 0xb6:    PREFIX86(_mov_dhd8)(cpustate); break;\\r
449         case 0xb7:    PREFIX86(_mov_bhd8)(cpustate); break;\\r
450         case 0xb8:    PREFIX86(_mov_axd16)(cpustate); break;\\r
451         case 0xb9:    PREFIX86(_mov_cxd16)(cpustate); break;\\r
452         case 0xba:    PREFIX86(_mov_dxd16)(cpustate); break;\\r
453         case 0xbb:    PREFIX86(_mov_bxd16)(cpustate); break;\\r
454         case 0xbc:    PREFIX86(_mov_spd16)(cpustate); break;\\r
455         case 0xbd:    PREFIX86(_mov_bpd16)(cpustate); break;\\r
456         case 0xbe:    PREFIX86(_mov_sid16)(cpustate); break;\\r
457         case 0xbf:    PREFIX86(_mov_did16)(cpustate); break;\\r
458                         case 0xc0:    PREFIX86(_invalid)(cpustate); break;\\r
459                         case 0xc1:    PREFIX86(_invalid)(cpustate); break;\\r
460         case 0xc2:    PREFIX86(_ret_d16)(cpustate); break;\\r
461         case 0xc3:    PREFIX86(_ret)(cpustate); break;\\r
462         case 0xc4:    PREFIX86(_les_dw)(cpustate); break;\\r
463         case 0xc5:    PREFIX86(_lds_dw)(cpustate); break;\\r
464         case 0xc6:    PREFIX86(_mov_bd8)(cpustate); break;\\r
465         case 0xc7:    PREFIX86(_mov_wd16)(cpustate); break;\\r
466                         case 0xc8:    PREFIX86(_invalid)(cpustate); break;\\r
467                         case 0xc9:    PREFIX86(_invalid)(cpustate); break;\\r
468         case 0xca:    PREFIX86(_retf_d16)(cpustate); break;\\r
469         case 0xcb:    PREFIX86(_retf)(cpustate); break;\\r
470         case 0xcc:    PREFIX86(_int3)(cpustate); break;\\r
471         case 0xcd:    PREFIX86(_int)(cpustate); break;\\r
472         case 0xce:    PREFIX86(_into)(cpustate); break;\\r
473         case 0xcf:    PREFIX86(_iret)(cpustate); break;\\r
474                         case 0xd0:    PREFIX86(_rotshft_b)(cpustate); break;\\r
475                         case 0xd1:    PREFIX86(_rotshft_w)(cpustate); break;\\r
476                         case 0xd2:    PREFIX86(_rotshft_bcl)(cpustate); break;\\r
477                         case 0xd3:    PREFIX86(_rotshft_wcl)(cpustate); break;\\r
478         case 0xd4:    PREFIX86(_aam)(cpustate); break;\\r
479         case 0xd5:    PREFIX86(_aad)(cpustate); break;\\r
480         case 0xd6:    PREFIX86(_invalid)(cpustate); break;\\r
481         case 0xd7:    PREFIX86(_xlat)(cpustate); break;\\r
482         case 0xd8:    PREFIX86(_escape)(cpustate); break;\\r
483         case 0xd9:    PREFIX86(_escape)(cpustate); break;\\r
484         case 0xda:    PREFIX86(_escape)(cpustate); break;\\r
485         case 0xdb:    PREFIX86(_escape)(cpustate); break;\\r
486         case 0xdc:    PREFIX86(_escape)(cpustate); break;\\r
487         case 0xdd:    PREFIX86(_escape)(cpustate); break;\\r
488         case 0xde:    PREFIX86(_escape)(cpustate); break;\\r
489         case 0xdf:    PREFIX86(_escape)(cpustate); break;\\r
490         case 0xe0:    PREFIX86(_loopne)(cpustate); break;\\r
491         case 0xe1:    PREFIX86(_loope)(cpustate); break;\\r
492         case 0xe2:    PREFIX86(_loop)(cpustate); break;\\r
493         case 0xe3:    PREFIX86(_jcxz)(cpustate); break;\\r
494         case 0xe4:    PREFIX86(_inal)(cpustate); break;\\r
495         case 0xe5:    PREFIX86(_inax)(cpustate); break;\\r
496         case 0xe6:    PREFIX86(_outal)(cpustate); break;\\r
497         case 0xe7:    PREFIX86(_outax)(cpustate); break;\\r
498         case 0xe8:    PREFIX86(_call_d16)(cpustate); break;\\r
499         case 0xe9:    PREFIX86(_jmp_d16)(cpustate); break;\\r
500         case 0xea:    PREFIX86(_jmp_far)(cpustate); break;\\r
501         case 0xeb:    PREFIX86(_jmp_d8)(cpustate); break;\\r
502         case 0xec:    PREFIX86(_inaldx)(cpustate); break;\\r
503         case 0xed:    PREFIX86(_inaxdx)(cpustate); break;\\r
504         case 0xee:    PREFIX86(_outdxal)(cpustate); break;\\r
505         case 0xef:    PREFIX86(_outdxax)(cpustate); break;\\r
506         case 0xf0:    PREFIX86(_lock)(cpustate); break;\\r
507         case 0xf1:    PREFIX86(_invalid)(cpustate); break;\\r
508         case 0xf2:    PREFIX86(_repne)(cpustate); break;\\r
509         case 0xf3:    PREFIX86(_repe)(cpustate); break;\\r
510         case 0xf4:    PREFIX86(_hlt)(cpustate); break;\\r
511         case 0xf5:    PREFIX86(_cmc)(cpustate); break;\\r
512         case 0xf6:    PREFIX86(_f6pre)(cpustate); break;\\r
513         case 0xf7:    PREFIX86(_f7pre)(cpustate); break;\\r
514         case 0xf8:    PREFIX86(_clc)(cpustate); break;\\r
515         case 0xf9:    PREFIX86(_stc)(cpustate); break;\\r
516         case 0xfa:    PREFIX86(_cli)(cpustate); break;\\r
517         case 0xfb:    PREFIX86(_sti)(cpustate); break;\\r
518         case 0xfc:    PREFIX86(_cld)(cpustate); break;\\r
519         case 0xfd:    PREFIX86(_std)(cpustate); break;\\r
520         case 0xfe:    PREFIX86(_fepre)(cpustate); break;\\r
521         case 0xff:    PREFIX86(_ffpre)(cpustate); break;\\r
522         };\r
523 #else\r
524 #define TABLE86 PREFIX86(_instruction)[FETCHOP](cpustate);\r
525 #endif\r