OpenCores
URL https://opencores.org/ocsvn/ao486/ao486/trunk

Subversion Repositories ao486

[/] [ao486/] [trunk/] [bochs486/] [cpu/] [fetchdecode_x87.h] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 alfik
/////////////////////////////////////////////////////////////////////////
2
// $Id: fetchdecode_x87.h 11013 2012-02-01 12:07:53Z sshwarts $
3
/////////////////////////////////////////////////////////////////////////
4
//
5
//   Copyright (c) 2005-2010 Stanislav Shwartsman
6
//          Written by Stanislav Shwartsman [sshwarts at sourceforge net]
7
//
8
//  This library is free software; you can redistribute it and/or
9
//  modify it under the terms of the GNU Lesser General Public
10
//  License as published by the Free Software Foundation; either
11
//  version 2 of the License, or (at your option) any later version.
12
//
13
//  This library is distributed in the hope that it will be useful,
14
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
15
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16
//  Lesser General Public License for more details.
17
//
18
//  You should have received a copy of the GNU Lesser General Public
19
//  License along with this library; if not, write to the Free Software
20
//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA B 02110-1301 USA
21
//
22
/////////////////////////////////////////////////////////////////////////
23
 
24
#ifndef BX_X87_FETCHDECODE_TABLES_H
25
#define BX_X87_FETCHDECODE_TABLES_H
26
 
27
//
28
// Common FetchDecode Opcode Tables - x87 and 3dnow!
29
//
30
 
31
#if BX_SUPPORT_FPU
32
 
33
/* ************************************************************************ */
34
/* FPU Opcodes */
35
 
36
// D8 (modrm is outside 00h - BFh)
37
static const BxOpcodeInfo_t BxOpcodeInfo_FPGroupD8[8*2] = {
38
  /* /r form */
39
  /* 0 */ { 0, BX_IA_FADD_ST0_STj },
40
  /* 1 */ { 0, BX_IA_FMUL_ST0_STj },
41
  /* 2 */ { 0, BX_IA_FCOM_STi },
42
  /* 3 */ { 0, BX_IA_FCOMP_STi },
43
  /* 4 */ { 0, BX_IA_FSUB_ST0_STj },
44
  /* 5 */ { 0, BX_IA_FSUBR_ST0_STj },
45
  /* 6 */ { 0, BX_IA_FDIV_ST0_STj },
46
  /* 7 */ { 0, BX_IA_FDIVR_ST0_STj },
47
 
48
  /* /m form */
49
  /* 0 */ { 0, BX_IA_FADD_SINGLE_REAL },
50
  /* 1 */ { 0, BX_IA_FMUL_SINGLE_REAL },
51
  /* 2 */ { 0, BX_IA_FCOM_SINGLE_REAL },
52
  /* 3 */ { 0, BX_IA_FCOMP_SINGLE_REAL },
53
  /* 4 */ { 0, BX_IA_FSUB_SINGLE_REAL },
54
  /* 5 */ { 0, BX_IA_FSUBR_SINGLE_REAL },
55
  /* 6 */ { 0, BX_IA_FDIV_SINGLE_REAL },
56
  /* 7 */ { 0, BX_IA_FDIVR_SINGLE_REAL }
57
};
58
 
59
// D9 (modrm is outside 00h - BFh)
60
static const BxOpcodeInfo_t BxOpcodeInfo_FloatingPointD9[64+8] = {
61
  /* /m form */
62
  /* 0 */ { 0, BX_IA_FLD_SINGLE_REAL },
63
  /* 1 */ { 0, BX_IA_ERROR },
64
  /* 2 */ { 0, BX_IA_FST_SINGLE_REAL },
65
  /* 3 */ { 0, BX_IA_FSTP_SINGLE_REAL },
66
  /* 4 */ { 0, BX_IA_FLDENV },
67
  /* 5 */ { 0, BX_IA_FLDCW },
68
  /* 6 */ { 0, BX_IA_FNSTENV },
69
  /* 7 */ { 0, BX_IA_FNSTCW },
70
 
71
  /* /r form */
72
  /* D9 C0 */ { 0, BX_IA_FLD_STi },
73
  /* D9 C1 */ { 0, BX_IA_FLD_STi },
74
  /* D9 C2 */ { 0, BX_IA_FLD_STi },
75
  /* D9 C3 */ { 0, BX_IA_FLD_STi },
76
  /* D9 C4 */ { 0, BX_IA_FLD_STi },
77
  /* D9 C5 */ { 0, BX_IA_FLD_STi },
78
  /* D9 C6 */ { 0, BX_IA_FLD_STi },
79
  /* D9 C7 */ { 0, BX_IA_FLD_STi },
80
  /* D9 C8 */ { 0, BX_IA_FXCH_STi },
81
  /* D9 C9 */ { 0, BX_IA_FXCH_STi },
82
  /* D9 CA */ { 0, BX_IA_FXCH_STi },
83
  /* D9 CB */ { 0, BX_IA_FXCH_STi },
84
  /* D9 CC */ { 0, BX_IA_FXCH_STi },
85
  /* D9 CD */ { 0, BX_IA_FXCH_STi },
86
  /* D9 CE */ { 0, BX_IA_FXCH_STi },
87
  /* D9 CF */ { 0, BX_IA_FXCH_STi },
88
  /* D9 D0 */ { 0, BX_IA_FNOP },
89
  /* D9 D1 */ { 0, BX_IA_ERROR },
90
  /* D9 D2 */ { 0, BX_IA_ERROR },
91
  /* D9 D3 */ { 0, BX_IA_ERROR },
92
  /* D9 D4 */ { 0, BX_IA_ERROR },
93
  /* D9 D5 */ { 0, BX_IA_ERROR },
94
  /* D9 D6 */ { 0, BX_IA_ERROR },
95
  /* D9 D7 */ { 0, BX_IA_ERROR },
96
  /* D9 D8 */ { 0, BX_IA_FSTP_STi },     // undocumented
97
  /* D9 D9 */ { 0, BX_IA_FSTP_STi },     // undocumented
98
  /* D9 DA */ { 0, BX_IA_FSTP_STi },     // undocumented
99
  /* D9 DB */ { 0, BX_IA_FSTP_STi },     // undocumented
100
  /* D9 DC */ { 0, BX_IA_FSTP_STi },     // undocumented
101
  /* D9 DD */ { 0, BX_IA_FSTP_STi },     // undocumented
102
  /* D9 DE */ { 0, BX_IA_FSTP_STi },     // undocumented
103
  /* D9 DF */ { 0, BX_IA_FSTP_STi },     // undocumented
104
  /* D9 E0 */ { 0, BX_IA_FCHS },
105
  /* D9 E1 */ { 0, BX_IA_FABS },
106
  /* D9 E2 */ { 0, BX_IA_ERROR },
107
  /* D9 E3 */ { 0, BX_IA_ERROR },
108
  /* D9 E4 */ { 0, BX_IA_FTST },
109
  /* D9 E5 */ { 0, BX_IA_FXAM },
110
  /* D9 E6 */ { 0, BX_IA_ERROR },
111
  /* D9 E7 */ { 0, BX_IA_ERROR },
112
  /* D9 E8 */ { 0, BX_IA_FLD1 },
113
  /* D9 E9 */ { 0, BX_IA_FLDL2T },
114
  /* D9 EA */ { 0, BX_IA_FLDL2E },
115
  /* D9 EB */ { 0, BX_IA_FLDPI },
116
  /* D9 EC */ { 0, BX_IA_FLDLG2 },
117
  /* D9 ED */ { 0, BX_IA_FLDLN2 },
118
  /* D9 EE */ { 0, BX_IA_FLDZ },
119
  /* D9 EF */ { 0, BX_IA_ERROR },
120
  /* D9 F0 */ { 0, BX_IA_F2XM1 },
121
  /* D9 F1 */ { 0, BX_IA_FYL2X },
122
  /* D9 F2 */ { 0, BX_IA_FPTAN },
123
  /* D9 F3 */ { 0, BX_IA_FPATAN },
124
  /* D9 F4 */ { 0, BX_IA_FXTRACT },
125
  /* D9 F5 */ { 0, BX_IA_FPREM1 },
126
  /* D9 F6 */ { 0, BX_IA_FDECSTP },
127
  /* D9 F7 */ { 0, BX_IA_FINCSTP },
128
  /* D9 F8 */ { 0, BX_IA_FPREM },
129
  /* D9 F9 */ { 0, BX_IA_FYL2XP1 },
130
  /* D9 FA */ { 0, BX_IA_FSQRT },
131
  /* D9 FB */ { 0, BX_IA_FSINCOS },
132
  /* D9 FC */ { 0, BX_IA_FRNDINT },
133
  /* D9 FD */ { 0, BX_IA_FSCALE },
134
  /* D9 FE */ { 0, BX_IA_FSIN },
135
  /* D9 FF */ { 0, BX_IA_FCOS }
136
};
137
 
138
// DA (modrm is outside 00h - BFh)
139
static const BxOpcodeInfo_t BxOpcodeInfo_FloatingPointDA[64+8] = {
140
  /* /m form */
141
  /* 0 */ { 0, BX_IA_FIADD_DWORD_INTEGER },
142
  /* 1 */ { 0, BX_IA_FIMUL_DWORD_INTEGER },
143
  /* 2 */ { 0, BX_IA_FICOM_DWORD_INTEGER },
144
  /* 3 */ { 0, BX_IA_FICOMP_DWORD_INTEGER },
145
  /* 4 */ { 0, BX_IA_FISUB_DWORD_INTEGER },
146
  /* 5 */ { 0, BX_IA_FISUBR_DWORD_INTEGER },
147
  /* 6 */ { 0, BX_IA_FIDIV_DWORD_INTEGER },
148
  /* 7 */ { 0, BX_IA_FIDIVR_DWORD_INTEGER },
149
 
150
  /* /r form */
151
  /* DA C0 */ { 0, BX_IA_FCMOVB_ST0_STj },
152
  /* DA C1 */ { 0, BX_IA_FCMOVB_ST0_STj },
153
  /* DA C2 */ { 0, BX_IA_FCMOVB_ST0_STj },
154
  /* DA C3 */ { 0, BX_IA_FCMOVB_ST0_STj },
155
  /* DA C4 */ { 0, BX_IA_FCMOVB_ST0_STj },
156
  /* DA C5 */ { 0, BX_IA_FCMOVB_ST0_STj },
157
  /* DA C6 */ { 0, BX_IA_FCMOVB_ST0_STj },
158
  /* DA C7 */ { 0, BX_IA_FCMOVB_ST0_STj },
159
  /* DA C8 */ { 0, BX_IA_FCMOVE_ST0_STj },
160
  /* DA C9 */ { 0, BX_IA_FCMOVE_ST0_STj },
161
  /* DA CA */ { 0, BX_IA_FCMOVE_ST0_STj },
162
  /* DA CB */ { 0, BX_IA_FCMOVE_ST0_STj },
163
  /* DA CC */ { 0, BX_IA_FCMOVE_ST0_STj },
164
  /* DA CD */ { 0, BX_IA_FCMOVE_ST0_STj },
165
  /* DA CE */ { 0, BX_IA_FCMOVE_ST0_STj },
166
  /* DA CF */ { 0, BX_IA_FCMOVE_ST0_STj },
167
  /* DA D0 */ { 0, BX_IA_FCMOVBE_ST0_STj },
168
  /* DA D1 */ { 0, BX_IA_FCMOVBE_ST0_STj },
169
  /* DA D2 */ { 0, BX_IA_FCMOVBE_ST0_STj },
170
  /* DA D3 */ { 0, BX_IA_FCMOVBE_ST0_STj },
171
  /* DA D4 */ { 0, BX_IA_FCMOVBE_ST0_STj },
172
  /* DA D5 */ { 0, BX_IA_FCMOVBE_ST0_STj },
173
  /* DA D6 */ { 0, BX_IA_FCMOVBE_ST0_STj },
174
  /* DA D7 */ { 0, BX_IA_FCMOVBE_ST0_STj },
175
  /* DA D8 */ { 0, BX_IA_FCMOVU_ST0_STj },
176
  /* DA D9 */ { 0, BX_IA_FCMOVU_ST0_STj },
177
  /* DA DA */ { 0, BX_IA_FCMOVU_ST0_STj },
178
  /* DA DB */ { 0, BX_IA_FCMOVU_ST0_STj },
179
  /* DA DC */ { 0, BX_IA_FCMOVU_ST0_STj },
180
  /* DA DD */ { 0, BX_IA_FCMOVU_ST0_STj },
181
  /* DA DE */ { 0, BX_IA_FCMOVU_ST0_STj },
182
  /* DA DF */ { 0, BX_IA_FCMOVU_ST0_STj },
183
  /* DA E0 */ { 0, BX_IA_ERROR },
184
  /* DA E1 */ { 0, BX_IA_ERROR },
185
  /* DA E2 */ { 0, BX_IA_ERROR },
186
  /* DA E3 */ { 0, BX_IA_ERROR },
187
  /* DA E4 */ { 0, BX_IA_ERROR },
188
  /* DA E5 */ { 0, BX_IA_ERROR },
189
  /* DA E6 */ { 0, BX_IA_ERROR },
190
  /* DA E7 */ { 0, BX_IA_ERROR },
191
  /* DA E8 */ { 0, BX_IA_ERROR },
192
  /* DA E9 */ { 0, BX_IA_FUCOMPP },
193
  /* DA EA */ { 0, BX_IA_ERROR },
194
  /* DA EB */ { 0, BX_IA_ERROR },
195
  /* DA EC */ { 0, BX_IA_ERROR },
196
  /* DA ED */ { 0, BX_IA_ERROR },
197
  /* DA EE */ { 0, BX_IA_ERROR },
198
  /* DA EF */ { 0, BX_IA_ERROR },
199
  /* DA F0 */ { 0, BX_IA_ERROR },
200
  /* DA F1 */ { 0, BX_IA_ERROR },
201
  /* DA F2 */ { 0, BX_IA_ERROR },
202
  /* DA F3 */ { 0, BX_IA_ERROR },
203
  /* DA F4 */ { 0, BX_IA_ERROR },
204
  /* DA F5 */ { 0, BX_IA_ERROR },
205
  /* DA F6 */ { 0, BX_IA_ERROR },
206
  /* DA F7 */ { 0, BX_IA_ERROR },
207
  /* DA F8 */ { 0, BX_IA_ERROR },
208
  /* DA F9 */ { 0, BX_IA_ERROR },
209
  /* DA FA */ { 0, BX_IA_ERROR },
210
  /* DA FB */ { 0, BX_IA_ERROR },
211
  /* DA FC */ { 0, BX_IA_ERROR },
212
  /* DA FD */ { 0, BX_IA_ERROR },
213
  /* DA FE */ { 0, BX_IA_ERROR },
214
  /* DA FF */ { 0, BX_IA_ERROR }
215
};
216
 
217
// DB (modrm is outside 00h - BFh)
218
static const BxOpcodeInfo_t BxOpcodeInfo_FloatingPointDB[64+8] = {
219
  /* /m form */
220
  /* 0 */ { 0, BX_IA_FILD_DWORD_INTEGER },
221
  /* 1 */ { 0, BX_IA_FISTTP32 },
222
  /* 2 */ { 0, BX_IA_FIST_DWORD_INTEGER },
223
  /* 3 */ { 0, BX_IA_FISTP_DWORD_INTEGER },
224
  /* 4 */ { 0, BX_IA_ERROR },
225
  /* 5 */ { 0, BX_IA_FLD_EXTENDED_REAL },
226
  /* 6 */ { 0, BX_IA_ERROR },
227
  /* 7 */ { 0, BX_IA_FSTP_EXTENDED_REAL },
228
 
229
  /* /r form */
230
  /* DB C0 */ { 0, BX_IA_FCMOVNB_ST0_STj },
231
  /* DB C1 */ { 0, BX_IA_FCMOVNB_ST0_STj },
232
  /* DB C2 */ { 0, BX_IA_FCMOVNB_ST0_STj },
233
  /* DB C3 */ { 0, BX_IA_FCMOVNB_ST0_STj },
234
  /* DB C4 */ { 0, BX_IA_FCMOVNB_ST0_STj },
235
  /* DB C5 */ { 0, BX_IA_FCMOVNB_ST0_STj },
236
  /* DB C6 */ { 0, BX_IA_FCMOVNB_ST0_STj },
237
  /* DB C7 */ { 0, BX_IA_FCMOVNB_ST0_STj },
238
  /* DB C8 */ { 0, BX_IA_FCMOVNE_ST0_STj },
239
  /* DB C9 */ { 0, BX_IA_FCMOVNE_ST0_STj },
240
  /* DB CA */ { 0, BX_IA_FCMOVNE_ST0_STj },
241
  /* DB CB */ { 0, BX_IA_FCMOVNE_ST0_STj },
242
  /* DB CC */ { 0, BX_IA_FCMOVNE_ST0_STj },
243
  /* DB CD */ { 0, BX_IA_FCMOVNE_ST0_STj },
244
  /* DB CE */ { 0, BX_IA_FCMOVNE_ST0_STj },
245
  /* DB CF */ { 0, BX_IA_FCMOVNE_ST0_STj },
246
  /* DB D0 */ { 0, BX_IA_FCMOVNBE_ST0_STj },
247
  /* DB D1 */ { 0, BX_IA_FCMOVNBE_ST0_STj },
248
  /* DB D2 */ { 0, BX_IA_FCMOVNBE_ST0_STj },
249
  /* DB D3 */ { 0, BX_IA_FCMOVNBE_ST0_STj },
250
  /* DB D4 */ { 0, BX_IA_FCMOVNBE_ST0_STj },
251
  /* DB D5 */ { 0, BX_IA_FCMOVNBE_ST0_STj },
252
  /* DB D6 */ { 0, BX_IA_FCMOVNBE_ST0_STj },
253
  /* DB D7 */ { 0, BX_IA_FCMOVNBE_ST0_STj },
254
  /* DB D8 */ { 0, BX_IA_FCMOVNU_ST0_STj },
255
  /* DB D9 */ { 0, BX_IA_FCMOVNU_ST0_STj },
256
  /* DB DA */ { 0, BX_IA_FCMOVNU_ST0_STj },
257
  /* DB DB */ { 0, BX_IA_FCMOVNU_ST0_STj },
258
  /* DB DC */ { 0, BX_IA_FCMOVNU_ST0_STj },
259
  /* DB DD */ { 0, BX_IA_FCMOVNU_ST0_STj },
260
  /* DB DE */ { 0, BX_IA_FCMOVNU_ST0_STj },
261
  /* DB DF */ { 0, BX_IA_FCMOVNU_ST0_STj },
262
  /* DB E0 */ { 0, BX_IA_FPLEGACY },      // feni  (287 only)
263
  /* DB E1 */ { 0, BX_IA_FPLEGACY },      // fdisi (287 only)
264
  /* DB E2 */ { 0, BX_IA_FNCLEX },
265
  /* DB E3 */ { 0, BX_IA_FNINIT },
266
  /* DB E4 */ { 0, BX_IA_FPLEGACY },      // fsetpm (287 only)
267
  /* DB E5 */ { 0, BX_IA_ERROR },
268
  /* DB E6 */ { 0, BX_IA_ERROR },
269
  /* DB E7 */ { 0, BX_IA_ERROR },
270
  /* DB E8 */ { 0, BX_IA_FUCOMI_ST0_STj },
271
  /* DB E9 */ { 0, BX_IA_FUCOMI_ST0_STj },
272
  /* DB EA */ { 0, BX_IA_FUCOMI_ST0_STj },
273
  /* DB EB */ { 0, BX_IA_FUCOMI_ST0_STj },
274
  /* DB EC */ { 0, BX_IA_FUCOMI_ST0_STj },
275
  /* DB ED */ { 0, BX_IA_FUCOMI_ST0_STj },
276
  /* DB EE */ { 0, BX_IA_FUCOMI_ST0_STj },
277
  /* DB EF */ { 0, BX_IA_FUCOMI_ST0_STj },
278
  /* DB F0 */ { 0, BX_IA_FCOMI_ST0_STj },
279
  /* DB F1 */ { 0, BX_IA_FCOMI_ST0_STj },
280
  /* DB F2 */ { 0, BX_IA_FCOMI_ST0_STj },
281
  /* DB F3 */ { 0, BX_IA_FCOMI_ST0_STj },
282
  /* DB F4 */ { 0, BX_IA_FCOMI_ST0_STj },
283
  /* DB F5 */ { 0, BX_IA_FCOMI_ST0_STj },
284
  /* DB F6 */ { 0, BX_IA_FCOMI_ST0_STj },
285
  /* DB F7 */ { 0, BX_IA_FCOMI_ST0_STj },
286
  /* DB F8 */ { 0, BX_IA_ERROR },
287
  /* DB F9 */ { 0, BX_IA_ERROR },
288
  /* DB FA */ { 0, BX_IA_ERROR },
289
  /* DB FB */ { 0, BX_IA_ERROR },
290
  /* DB FC */ { 0, BX_IA_ERROR },
291
  /* DB FD */ { 0, BX_IA_ERROR },
292
  /* DB FE */ { 0, BX_IA_ERROR },
293
  /* DB FF */ { 0, BX_IA_ERROR }
294
};
295
// DC (modrm is outside 00h - BFh)
296
static const BxOpcodeInfo_t BxOpcodeInfo_FPGroupDC[8*2] = {
297
  /* /r form */
298
  /* 0 */ { 0, BX_IA_FADD_STi_ST0 },
299
  /* 1 */ { 0, BX_IA_FMUL_STi_ST0 },
300
  /* 2 */ { 0, BX_IA_FCOM_STi },                 // undocumented
301
  /* 3 */ { 0, BX_IA_FCOMP_STi },                // undocumented
302
  /* 4 */ { 0, BX_IA_FSUBR_STi_ST0 },
303
  /* 5 */ { 0, BX_IA_FSUB_STi_ST0 },
304
  /* 6 */ { 0, BX_IA_FDIVR_STi_ST0 },
305
  /* 7 */ { 0, BX_IA_FDIV_STi_ST0 },
306
 
307
  /* /m form */
308
  /* 0 */ { 0, BX_IA_FADD_DOUBLE_REAL },
309
  /* 1 */ { 0, BX_IA_FMUL_DOUBLE_REAL },
310
  /* 2 */ { 0, BX_IA_FCOM_DOUBLE_REAL },
311
  /* 3 */ { 0, BX_IA_FCOMP_DOUBLE_REAL },
312
  /* 4 */ { 0, BX_IA_FSUB_DOUBLE_REAL },
313
  /* 5 */ { 0, BX_IA_FSUBR_DOUBLE_REAL },
314
  /* 6 */ { 0, BX_IA_FDIV_DOUBLE_REAL },
315
  /* 7 */ { 0, BX_IA_FDIVR_DOUBLE_REAL }
316
};
317
 
318
// DD (modrm is outside 00h - BFh)
319
static const BxOpcodeInfo_t BxOpcodeInfo_FPGroupDD[8*2] = {
320
  /* /r form */
321
  /* 0 */ { 0, BX_IA_FFREE_STi },
322
  /* 1 */ { 0, BX_IA_FXCH_STi },               // undocumented
323
  /* 2 */ { 0, BX_IA_FST_STi },
324
  /* 3 */ { 0, BX_IA_FSTP_STi },
325
  /* 4 */ { 0, BX_IA_FUCOM_STi },
326
  /* 5 */ { 0, BX_IA_FUCOMP_STi },
327
  /* 6 */ { 0, BX_IA_ERROR },
328
  /* 7 */ { 0, BX_IA_ERROR },
329
 
330
  /* /m form */
331
  /* 0 */ { 0, BX_IA_FLD_DOUBLE_REAL },
332
  /* 1 */ { 0, BX_IA_FISTTP64 },
333
  /* 2 */ { 0, BX_IA_FST_DOUBLE_REAL },
334
  /* 3 */ { 0, BX_IA_FSTP_DOUBLE_REAL },
335
  /* 4 */ { 0, BX_IA_FRSTOR },
336
  /* 5 */ { 0, BX_IA_ERROR },
337
  /* 6 */ { 0, BX_IA_FNSAVE },
338
  /* 7 */ { 0, BX_IA_FNSTSW }
339
};
340
 
341
// DE (modrm is outside 00h - BFh)
342
static const BxOpcodeInfo_t BxOpcodeInfo_FloatingPointDE[64+8] = {
343
  /* /m form */
344
  /* 0 */ { 0, BX_IA_FIADD_WORD_INTEGER },
345
  /* 1 */ { 0, BX_IA_FIMUL_WORD_INTEGER },
346
  /* 2 */ { 0, BX_IA_FICOM_WORD_INTEGER },
347
  /* 3 */ { 0, BX_IA_FICOMP_WORD_INTEGER },
348
  /* 4 */ { 0, BX_IA_FISUB_WORD_INTEGER },
349
  /* 5 */ { 0, BX_IA_FISUBR_WORD_INTEGER },
350
  /* 6 */ { 0, BX_IA_FIDIV_WORD_INTEGER },
351
  /* 7 */ { 0, BX_IA_FIDIVR_WORD_INTEGER },
352
 
353
  /* /r form */ // all instructions pop FPU stack
354
  /* DE C0 */ { 0, BX_IA_FADD_STi_ST0 },
355
  /* DE C1 */ { 0, BX_IA_FADD_STi_ST0 },
356
  /* DE C2 */ { 0, BX_IA_FADD_STi_ST0 },
357
  /* DE C3 */ { 0, BX_IA_FADD_STi_ST0 },
358
  /* DE C4 */ { 0, BX_IA_FADD_STi_ST0 },
359
  /* DE C5 */ { 0, BX_IA_FADD_STi_ST0 },
360
  /* DE C6 */ { 0, BX_IA_FADD_STi_ST0 },
361
  /* DE C7 */ { 0, BX_IA_FADD_STi_ST0 },
362
  /* DE C8 */ { 0, BX_IA_FMUL_STi_ST0 },
363
  /* DE C9 */ { 0, BX_IA_FMUL_STi_ST0 },
364
  /* DE CA */ { 0, BX_IA_FMUL_STi_ST0 },
365
  /* DE CB */ { 0, BX_IA_FMUL_STi_ST0 },
366
  /* DE CC */ { 0, BX_IA_FMUL_STi_ST0 },
367
  /* DE CD */ { 0, BX_IA_FMUL_STi_ST0 },
368
  /* DE CE */ { 0, BX_IA_FMUL_STi_ST0 },
369
  /* DE CF */ { 0, BX_IA_FMUL_STi_ST0 },
370
  /* DE D0 */ { 0, BX_IA_FCOMP_STi },           // undocumented, special FPSTACK pop case
371
  /* DE D1 */ { 0, BX_IA_FCOMP_STi },           // undocumented, special FPSTACK pop case
372
  /* DE D2 */ { 0, BX_IA_FCOMP_STi },           // undocumented, special FPSTACK pop case
373
  /* DE D3 */ { 0, BX_IA_FCOMP_STi },           // undocumented, special FPSTACK pop case
374
  /* DE D4 */ { 0, BX_IA_FCOMP_STi },           // undocumented, special FPSTACK pop case
375
  /* DE D5 */ { 0, BX_IA_FCOMP_STi },           // undocumented, special FPSTACK pop case
376
  /* DE D6 */ { 0, BX_IA_FCOMP_STi },           // undocumented, special FPSTACK pop case
377
  /* DE D7 */ { 0, BX_IA_FCOMP_STi },           // undocumented, special FPSTACK pop case
378
  /* DE D8 */ { 0, BX_IA_ERROR  },
379
  /* DE D9 */ { 0, BX_IA_FCOMPP },
380
  /* DE DA */ { 0, BX_IA_ERROR  },
381
  /* DE DB */ { 0, BX_IA_ERROR  },
382
  /* DE DC */ { 0, BX_IA_ERROR  },
383
  /* DE DD */ { 0, BX_IA_ERROR  },
384
  /* DE DE */ { 0, BX_IA_ERROR  },
385
  /* DE DF */ { 0, BX_IA_ERROR  },
386
  /* DE E0 */ { 0, BX_IA_FSUBR_STi_ST0 },
387
  /* DE E1 */ { 0, BX_IA_FSUBR_STi_ST0 },
388
  /* DE E2 */ { 0, BX_IA_FSUBR_STi_ST0 },
389
  /* DE E3 */ { 0, BX_IA_FSUBR_STi_ST0 },
390
  /* DE E4 */ { 0, BX_IA_FSUBR_STi_ST0 },
391
  /* DE E5 */ { 0, BX_IA_FSUBR_STi_ST0 },
392
  /* DE E6 */ { 0, BX_IA_FSUBR_STi_ST0 },
393
  /* DE E7 */ { 0, BX_IA_FSUBR_STi_ST0 },
394
  /* DE E8 */ { 0, BX_IA_FSUB_STi_ST0  },
395
  /* DE E9 */ { 0, BX_IA_FSUB_STi_ST0  },
396
  /* DE EA */ { 0, BX_IA_FSUB_STi_ST0  },
397
  /* DE EB */ { 0, BX_IA_FSUB_STi_ST0  },
398
  /* DE EC */ { 0, BX_IA_FSUB_STi_ST0  },
399
  /* DE ED */ { 0, BX_IA_FSUB_STi_ST0  },
400
  /* DE EE */ { 0, BX_IA_FSUB_STi_ST0  },
401
  /* DE EF */ { 0, BX_IA_FSUB_STi_ST0  },
402
  /* DE F0 */ { 0, BX_IA_FDIVR_STi_ST0 },
403
  /* DE F1 */ { 0, BX_IA_FDIVR_STi_ST0 },
404
  /* DE F2 */ { 0, BX_IA_FDIVR_STi_ST0 },
405
  /* DE F3 */ { 0, BX_IA_FDIVR_STi_ST0 },
406
  /* DE F4 */ { 0, BX_IA_FDIVR_STi_ST0 },
407
  /* DE F5 */ { 0, BX_IA_FDIVR_STi_ST0 },
408
  /* DE F6 */ { 0, BX_IA_FDIVR_STi_ST0 },
409
  /* DE F7 */ { 0, BX_IA_FDIVR_STi_ST0 },
410
  /* DE F8 */ { 0, BX_IA_FDIV_STi_ST0  },
411
  /* DE F9 */ { 0, BX_IA_FDIV_STi_ST0  },
412
  /* DE FA */ { 0, BX_IA_FDIV_STi_ST0  },
413
  /* DE FB */ { 0, BX_IA_FDIV_STi_ST0  },
414
  /* DE FC */ { 0, BX_IA_FDIV_STi_ST0  },
415
  /* DE FD */ { 0, BX_IA_FDIV_STi_ST0  },
416
  /* DE FE */ { 0, BX_IA_FDIV_STi_ST0  },
417
  /* DE FF */ { 0, BX_IA_FDIV_STi_ST0  }
418
};
419
 
420
// DF (modrm is outside 00h - BFh)
421
static const BxOpcodeInfo_t BxOpcodeInfo_FloatingPointDF[64+8] = {
422
  /* /m form */
423
  /* 0 */ { 0, BX_IA_FILD_WORD_INTEGER },
424
  /* 1 */ { 0, BX_IA_FISTTP16 },
425
  /* 2 */ { 0, BX_IA_FIST_WORD_INTEGER },
426
  /* 3 */ { 0, BX_IA_FISTP_WORD_INTEGER },
427
  /* 4 */ { 0, BX_IA_FBLD_PACKED_BCD },
428
  /* 5 */ { 0, BX_IA_FILD_QWORD_INTEGER },
429
  /* 6 */ { 0, BX_IA_FBSTP_PACKED_BCD },
430
  /* 7 */ { 0, BX_IA_FISTP_QWORD_INTEGER },
431
 
432
  /* /r form */
433
  /* DF C0 */ { 0, BX_IA_FFREEP_STi },   // 287+ compatibility opcode
434
  /* DF C1 */ { 0, BX_IA_FFREEP_STi },
435
  /* DF C2 */ { 0, BX_IA_FFREEP_STi },
436
  /* DF C3 */ { 0, BX_IA_FFREEP_STi },
437
  /* DF C4 */ { 0, BX_IA_FFREEP_STi },
438
  /* DF C5 */ { 0, BX_IA_FFREEP_STi },
439
  /* DF C6 */ { 0, BX_IA_FFREEP_STi },
440
  /* DF C7 */ { 0, BX_IA_FFREEP_STi },
441
  /* DF C8 */ { 0, BX_IA_FXCH_STi },    // undocumented
442
  /* DF C9 */ { 0, BX_IA_FXCH_STi },    // undocumented
443
  /* DF CA */ { 0, BX_IA_FXCH_STi },    // undocumented
444
  /* DF CB */ { 0, BX_IA_FXCH_STi },    // undocumented
445
  /* DF CC */ { 0, BX_IA_FXCH_STi },    // undocumented
446
  /* DF CD */ { 0, BX_IA_FXCH_STi },    // undocumented
447
  /* DF CE */ { 0, BX_IA_FXCH_STi },    // undocumented
448
  /* DF CF */ { 0, BX_IA_FXCH_STi },    // undocumented
449
  /* DF D0 */ { 0, BX_IA_FSTP_STi },     // undocumented, special FPSTACK pop case
450
  /* DF D1 */ { 0, BX_IA_FSTP_STi },     // undocumented, special FPSTACK pop case
451
  /* DF D2 */ { 0, BX_IA_FSTP_STi },     // undocumented, special FPSTACK pop case
452
  /* DF D3 */ { 0, BX_IA_FSTP_STi },     // undocumented, special FPSTACK pop case
453
  /* DF D4 */ { 0, BX_IA_FSTP_STi },     // undocumented, special FPSTACK pop case
454
  /* DF D5 */ { 0, BX_IA_FSTP_STi },     // undocumented, special FPSTACK pop case
455
  /* DF D6 */ { 0, BX_IA_FSTP_STi },     // undocumented, special FPSTACK pop case
456
  /* DF D7 */ { 0, BX_IA_FSTP_STi },     // undocumented, special FPSTACK pop case
457
  /* DF D8 */ { 0, BX_IA_FSTP_STi },     // undocumented
458
  /* DF D9 */ { 0, BX_IA_FSTP_STi },     // undocumented
459
  /* DF DA */ { 0, BX_IA_FSTP_STi },     // undocumented
460
  /* DF DB */ { 0, BX_IA_FSTP_STi },     // undocumented
461
  /* DF DC */ { 0, BX_IA_FSTP_STi },     // undocumented
462
  /* DF DD */ { 0, BX_IA_FSTP_STi },     // undocumented
463
  /* DF DE */ { 0, BX_IA_FSTP_STi },     // undocumented
464
  /* DF DF */ { 0, BX_IA_FSTP_STi },     // undocumented
465
  /* DF E0 */ { 0, BX_IA_FNSTSW_AX },
466
  /* DF E1 */ { 0, BX_IA_ERROR },
467
  /* DF E2 */ { 0, BX_IA_ERROR },
468
  /* DF E3 */ { 0, BX_IA_ERROR },
469
  /* DF E4 */ { 0, BX_IA_ERROR },
470
  /* DF E5 */ { 0, BX_IA_ERROR },
471
  /* DF E6 */ { 0, BX_IA_ERROR },
472
  /* DF E7 */ { 0, BX_IA_ERROR },
473
  /* DF E8 */ { 0, BX_IA_FUCOMIP_ST0_STj },
474
  /* DF E9 */ { 0, BX_IA_FUCOMIP_ST0_STj },
475
  /* DF EA */ { 0, BX_IA_FUCOMIP_ST0_STj },
476
  /* DF EB */ { 0, BX_IA_FUCOMIP_ST0_STj },
477
  /* DF EC */ { 0, BX_IA_FUCOMIP_ST0_STj },
478
  /* DF ED */ { 0, BX_IA_FUCOMIP_ST0_STj },
479
  /* DF EE */ { 0, BX_IA_FUCOMIP_ST0_STj },
480
  /* DF EF */ { 0, BX_IA_FUCOMIP_ST0_STj },
481
  /* DF F0 */ { 0, BX_IA_FCOMIP_ST0_STj },
482
  /* DF F1 */ { 0, BX_IA_FCOMIP_ST0_STj },
483
  /* DF F2 */ { 0, BX_IA_FCOMIP_ST0_STj },
484
  /* DF F3 */ { 0, BX_IA_FCOMIP_ST0_STj },
485
  /* DF F4 */ { 0, BX_IA_FCOMIP_ST0_STj },
486
  /* DF F5 */ { 0, BX_IA_FCOMIP_ST0_STj },
487
  /* DF F6 */ { 0, BX_IA_FCOMIP_ST0_STj },
488
  /* DF F7 */ { 0, BX_IA_FCOMIP_ST0_STj },
489
  /* DF F8 */ { 0, BX_IA_ERROR },
490
  /* DF F9 */ { 0, BX_IA_ERROR },
491
  /* DF FA */ { 0, BX_IA_ERROR },
492
  /* DF FB */ { 0, BX_IA_ERROR },
493
  /* DF FC */ { 0, BX_IA_ERROR },
494
  /* DF FD */ { 0, BX_IA_ERROR },
495
  /* DF FE */ { 0, BX_IA_ERROR },
496
  /* DF FF */ { 0, BX_IA_ERROR },
497
};
498
 
499
#endif
500
 
501
/* ************************************************************************ */
502
/* 3DNow! Opcodes */
503
 
504
#if BX_SUPPORT_3DNOW
505
 
506
static Bit16u Bx3DNowOpcode[256] = {
507
  // 256 entries for 3DNow opcodes, by suffix
508
  /* 00 */ BX_IA_ERROR,
509
  /* 01 */ BX_IA_ERROR,
510
  /* 02 */ BX_IA_ERROR,
511
  /* 03 */ BX_IA_ERROR,
512
  /* 04 */ BX_IA_ERROR,
513
  /* 05 */ BX_IA_ERROR,
514
  /* 06 */ BX_IA_ERROR,
515
  /* 07 */ BX_IA_ERROR,
516
  /* 08 */ BX_IA_ERROR,
517
  /* 09 */ BX_IA_ERROR,
518
  /* 0A */ BX_IA_ERROR,
519
  /* 0B */ BX_IA_ERROR,
520
  /* 0C */ BX_IA_PI2FW_PqQq,
521
  /* 0D */ BX_IA_PI2FD_PqQq,
522
  /* 0E */ BX_IA_ERROR,
523
  /* 0F */ BX_IA_ERROR,
524
  /* 10 */ BX_IA_ERROR,
525
  /* 11 */ BX_IA_ERROR,
526
  /* 12 */ BX_IA_ERROR,
527
  /* 13 */ BX_IA_ERROR,
528
  /* 14 */ BX_IA_ERROR,
529
  /* 15 */ BX_IA_ERROR,
530
  /* 16 */ BX_IA_ERROR,
531
  /* 17 */ BX_IA_ERROR,
532
  /* 18 */ BX_IA_ERROR,
533
  /* 19 */ BX_IA_ERROR,
534
  /* 1A */ BX_IA_ERROR,
535
  /* 1B */ BX_IA_ERROR,
536
  /* 1C */ BX_IA_PF2IW_PqQq,
537
  /* 1D */ BX_IA_PF2ID_PqQq,
538
  /* 1E */ BX_IA_ERROR,
539
  /* 1F */ BX_IA_ERROR,
540
  /* 20 */ BX_IA_ERROR,
541
  /* 21 */ BX_IA_ERROR,
542
  /* 22 */ BX_IA_ERROR,
543
  /* 23 */ BX_IA_ERROR,
544
  /* 24 */ BX_IA_ERROR,
545
  /* 25 */ BX_IA_ERROR,
546
  /* 26 */ BX_IA_ERROR,
547
  /* 27 */ BX_IA_ERROR,
548
  /* 28 */ BX_IA_ERROR,
549
  /* 29 */ BX_IA_ERROR,
550
  /* 2A */ BX_IA_ERROR,
551
  /* 2B */ BX_IA_ERROR,
552
  /* 2C */ BX_IA_ERROR,
553
  /* 2D */ BX_IA_ERROR,
554
  /* 2E */ BX_IA_ERROR,
555
  /* 2F */ BX_IA_ERROR,
556
  /* 30 */ BX_IA_ERROR,
557
  /* 31 */ BX_IA_ERROR,
558
  /* 32 */ BX_IA_ERROR,
559
  /* 33 */ BX_IA_ERROR,
560
  /* 34 */ BX_IA_ERROR,
561
  /* 35 */ BX_IA_ERROR,
562
  /* 36 */ BX_IA_ERROR,
563
  /* 37 */ BX_IA_ERROR,
564
  /* 38 */ BX_IA_ERROR,
565
  /* 39 */ BX_IA_ERROR,
566
  /* 3A */ BX_IA_ERROR,
567
  /* 3B */ BX_IA_ERROR,
568
  /* 3C */ BX_IA_ERROR,
569
  /* 3D */ BX_IA_ERROR,
570
  /* 3E */ BX_IA_ERROR,
571
  /* 3F */ BX_IA_ERROR,
572
  /* 40 */ BX_IA_ERROR,
573
  /* 41 */ BX_IA_ERROR,
574
  /* 42 */ BX_IA_ERROR,
575
  /* 43 */ BX_IA_ERROR,
576
  /* 44 */ BX_IA_ERROR,
577
  /* 45 */ BX_IA_ERROR,
578
  /* 46 */ BX_IA_ERROR,
579
  /* 47 */ BX_IA_ERROR,
580
  /* 48 */ BX_IA_ERROR,
581
  /* 49 */ BX_IA_ERROR,
582
  /* 4A */ BX_IA_ERROR,
583
  /* 4B */ BX_IA_ERROR,
584
  /* 4C */ BX_IA_ERROR,
585
  /* 4D */ BX_IA_ERROR,
586
  /* 4E */ BX_IA_ERROR,
587
  /* 4F */ BX_IA_ERROR,
588
  /* 50 */ BX_IA_ERROR,
589
  /* 51 */ BX_IA_ERROR,
590
  /* 52 */ BX_IA_ERROR,
591
  /* 53 */ BX_IA_ERROR,
592
  /* 54 */ BX_IA_ERROR,
593
  /* 55 */ BX_IA_ERROR,
594
  /* 56 */ BX_IA_ERROR,
595
  /* 57 */ BX_IA_ERROR,
596
  /* 58 */ BX_IA_ERROR,
597
  /* 59 */ BX_IA_ERROR,
598
  /* 5A */ BX_IA_ERROR,
599
  /* 5B */ BX_IA_ERROR,
600
  /* 5C */ BX_IA_ERROR,
601
  /* 5D */ BX_IA_ERROR,
602
  /* 5E */ BX_IA_ERROR,
603
  /* 5F */ BX_IA_ERROR,
604
  /* 60 */ BX_IA_ERROR,
605
  /* 61 */ BX_IA_ERROR,
606
  /* 62 */ BX_IA_ERROR,
607
  /* 63 */ BX_IA_ERROR,
608
  /* 64 */ BX_IA_ERROR,
609
  /* 65 */ BX_IA_ERROR,
610
  /* 66 */ BX_IA_ERROR,
611
  /* 67 */ BX_IA_ERROR,
612
  /* 68 */ BX_IA_ERROR,
613
  /* 69 */ BX_IA_ERROR,
614
  /* 6A */ BX_IA_ERROR,
615
  /* 6B */ BX_IA_ERROR,
616
  /* 6C */ BX_IA_ERROR,
617
  /* 6D */ BX_IA_ERROR,
618
  /* 6E */ BX_IA_ERROR,
619
  /* 6F */ BX_IA_ERROR,
620
  /* 70 */ BX_IA_ERROR,
621
  /* 71 */ BX_IA_ERROR,
622
  /* 72 */ BX_IA_ERROR,
623
  /* 73 */ BX_IA_ERROR,
624
  /* 74 */ BX_IA_ERROR,
625
  /* 75 */ BX_IA_ERROR,
626
  /* 76 */ BX_IA_ERROR,
627
  /* 77 */ BX_IA_ERROR,
628
  /* 78 */ BX_IA_ERROR,
629
  /* 79 */ BX_IA_ERROR,
630
  /* 7A */ BX_IA_ERROR,
631
  /* 7B */ BX_IA_ERROR,
632
  /* 7C */ BX_IA_ERROR,
633
  /* 7D */ BX_IA_ERROR,
634
  /* 7E */ BX_IA_ERROR,
635
  /* 7F */ BX_IA_ERROR,
636
  /* 80 */ BX_IA_ERROR,
637
  /* 81 */ BX_IA_ERROR,
638
  /* 82 */ BX_IA_ERROR,
639
  /* 83 */ BX_IA_ERROR,
640
  /* 84 */ BX_IA_ERROR,
641
  /* 85 */ BX_IA_ERROR,
642
  /* 86 */ BX_IA_ERROR,
643
  /* 87 */ BX_IA_ERROR,
644
  /* 88 */ BX_IA_ERROR,
645
  /* 89 */ BX_IA_ERROR,
646
  /* 8A */ BX_IA_PFNACC_PqQq,
647
  /* 8B */ BX_IA_ERROR,
648
  /* 8C */ BX_IA_ERROR,
649
  /* 8D */ BX_IA_ERROR,
650
  /* 8E */ BX_IA_PFPNACC_PqQq,
651
  /* 8F */ BX_IA_ERROR,
652
  /* 90 */ BX_IA_PFCMPGE_PqQq,
653
  /* 91 */ BX_IA_ERROR,
654
  /* 92 */ BX_IA_ERROR,
655
  /* 93 */ BX_IA_ERROR,
656
  /* 94 */ BX_IA_PFMIN_PqQq,
657
  /* 95 */ BX_IA_ERROR,
658
  /* 96 */ BX_IA_PFRCP_PqQq,
659
  /* 97 */ BX_IA_PFRSQRT_PqQq,
660
  /* 98 */ BX_IA_ERROR,
661
  /* 99 */ BX_IA_ERROR,
662
  /* 9A */ BX_IA_PFSUB_PqQq,
663
  /* 9B */ BX_IA_ERROR,
664
  /* 9C */ BX_IA_ERROR,
665
  /* 9D */ BX_IA_ERROR,
666
  /* 9E */ BX_IA_PFADD_PqQq,
667
  /* 9F */ BX_IA_ERROR,
668
  /* A0 */ BX_IA_PFCMPGT_PqQq,
669
  /* A1 */ BX_IA_ERROR,
670
  /* A2 */ BX_IA_ERROR,
671
  /* A3 */ BX_IA_ERROR,
672
  /* A4 */ BX_IA_PFMAX_PqQq,
673
  /* A5 */ BX_IA_ERROR,
674
  /* A6 */ BX_IA_PFRCPIT1_PqQq,
675
  /* A7 */ BX_IA_PFRSQIT1_PqQq,
676
  /* A8 */ BX_IA_ERROR,
677
  /* A9 */ BX_IA_ERROR,
678
  /* AA */ BX_IA_PFSUBR_PqQq,
679
  /* AB */ BX_IA_ERROR,
680
  /* AC */ BX_IA_ERROR,
681
  /* AD */ BX_IA_ERROR,
682
  /* AE */ BX_IA_PFACC_PqQq,
683
  /* AF */ BX_IA_ERROR,
684
  /* B0 */ BX_IA_PFCMPEQ_PqQq,
685
  /* B1 */ BX_IA_ERROR,
686
  /* B2 */ BX_IA_ERROR,
687
  /* B3 */ BX_IA_ERROR,
688
  /* B4 */ BX_IA_PFMUL_PqQq,
689
  /* B5 */ BX_IA_ERROR,
690
  /* B6 */ BX_IA_PFRCPIT2_PqQq,
691
  /* B7 */ BX_IA_PMULHRW_PqQq,
692
  /* B8 */ BX_IA_ERROR,
693
  /* B9 */ BX_IA_ERROR,
694
  /* BA */ BX_IA_ERROR,
695
  /* BB */ BX_IA_PSWAPD_PqQq,
696
  /* BC */ BX_IA_ERROR,
697
  /* BD */ BX_IA_ERROR,
698
  /* BE */ BX_IA_ERROR,
699
  /* BF */ BX_IA_PAVGB_PqQq,
700
  /* C0 */ BX_IA_ERROR,
701
  /* C1 */ BX_IA_ERROR,
702
  /* C2 */ BX_IA_ERROR,
703
  /* C3 */ BX_IA_ERROR,
704
  /* C4 */ BX_IA_ERROR,
705
  /* C5 */ BX_IA_ERROR,
706
  /* C6 */ BX_IA_ERROR,
707
  /* C7 */ BX_IA_ERROR,
708
  /* C8 */ BX_IA_ERROR,
709
  /* C9 */ BX_IA_ERROR,
710
  /* CA */ BX_IA_ERROR,
711
  /* CB */ BX_IA_ERROR,
712
  /* CC */ BX_IA_ERROR,
713
  /* CD */ BX_IA_ERROR,
714
  /* CE */ BX_IA_ERROR,
715
  /* CF */ BX_IA_ERROR,
716
  /* D0 */ BX_IA_ERROR,
717
  /* D1 */ BX_IA_ERROR,
718
  /* D2 */ BX_IA_ERROR,
719
  /* D3 */ BX_IA_ERROR,
720
  /* D4 */ BX_IA_ERROR,
721
  /* D5 */ BX_IA_ERROR,
722
  /* D6 */ BX_IA_ERROR,
723
  /* D7 */ BX_IA_ERROR,
724
  /* D8 */ BX_IA_ERROR,
725
  /* D9 */ BX_IA_ERROR,
726
  /* DA */ BX_IA_ERROR,
727
  /* DB */ BX_IA_ERROR,
728
  /* DC */ BX_IA_ERROR,
729
  /* DD */ BX_IA_ERROR,
730
  /* DE */ BX_IA_ERROR,
731
  /* DF */ BX_IA_ERROR,
732
  /* E0 */ BX_IA_ERROR,
733
  /* E1 */ BX_IA_ERROR,
734
  /* E2 */ BX_IA_ERROR,
735
  /* E3 */ BX_IA_ERROR,
736
  /* E4 */ BX_IA_ERROR,
737
  /* E5 */ BX_IA_ERROR,
738
  /* E6 */ BX_IA_ERROR,
739
  /* E7 */ BX_IA_ERROR,
740
  /* E8 */ BX_IA_ERROR,
741
  /* E9 */ BX_IA_ERROR,
742
  /* EA */ BX_IA_ERROR,
743
  /* EB */ BX_IA_ERROR,
744
  /* EC */ BX_IA_ERROR,
745
  /* ED */ BX_IA_ERROR,
746
  /* EE */ BX_IA_ERROR,
747
  /* EF */ BX_IA_ERROR,
748
  /* F0 */ BX_IA_ERROR,
749
  /* F1 */ BX_IA_ERROR,
750
  /* F2 */ BX_IA_ERROR,
751
  /* F3 */ BX_IA_ERROR,
752
  /* F4 */ BX_IA_ERROR,
753
  /* F5 */ BX_IA_ERROR,
754
  /* F6 */ BX_IA_ERROR,
755
  /* F7 */ BX_IA_ERROR,
756
  /* F8 */ BX_IA_ERROR,
757
  /* F9 */ BX_IA_ERROR,
758
  /* FA */ BX_IA_ERROR,
759
  /* FB */ BX_IA_ERROR,
760
  /* FC */ BX_IA_ERROR,
761
  /* FD */ BX_IA_ERROR,
762
  /* FE */ BX_IA_ERROR,
763
  /* FF */ BX_IA_ERROR
764
};
765
 
766
#endif
767
 
768
#endif // BX_X87_FETCHDECODE_TABLES_H

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.