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
|