2 * Fast486 386/486 CPU Emulation Library
5 * Copyright (C) 2013 Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 /* INCLUDES *******************************************************************/
34 /* PUBLIC FUNCTIONS ***********************************************************/
36 FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD8
)
38 FAST486_MOD_REG_RM ModRegRm
;
39 BOOLEAN AddressSize
= State
->SegmentRegs
[FAST486_REG_CS
].Size
;
41 /* Get the operands */
42 if (!Fast486ParseModRegRm(State
, AddressSize
, &ModRegRm
))
44 /* Exception occurred */
50 #ifndef FAST486_NO_FPU
51 // TODO: NOT IMPLEMENTED
61 FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD9
)
63 FAST486_MOD_REG_RM ModRegRm
;
64 BOOLEAN AddressSize
= State
->SegmentRegs
[FAST486_REG_CS
].Size
;
66 /* Get the operands */
67 if (!Fast486ParseModRegRm(State
, AddressSize
, &ModRegRm
))
69 /* Exception occurred */
75 #ifndef FAST486_NO_FPU
76 // TODO: NOT IMPLEMENTED
86 FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDA
)
88 FAST486_MOD_REG_RM ModRegRm
;
89 BOOLEAN AddressSize
= State
->SegmentRegs
[FAST486_REG_CS
].Size
;
91 /* Get the operands */
92 if (!Fast486ParseModRegRm(State
, AddressSize
, &ModRegRm
))
94 /* Exception occurred */
100 #ifndef FAST486_NO_FPU
101 // TODO: NOT IMPLEMENTED
111 FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDB
)
113 FAST486_MOD_REG_RM ModRegRm
;
114 BOOLEAN AddressSize
= State
->SegmentRegs
[FAST486_REG_CS
].Size
;
116 /* Get the operands */
117 if (!Fast486ParseModRegRm(State
, AddressSize
, &ModRegRm
))
119 /* Exception occurred */
125 #ifndef FAST486_NO_FPU
126 // TODO: NOT IMPLEMENTED
136 FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDC
)
138 FAST486_MOD_REG_RM ModRegRm
;
139 BOOLEAN AddressSize
= State
->SegmentRegs
[FAST486_REG_CS
].Size
;
141 /* Get the operands */
142 if (!Fast486ParseModRegRm(State
, AddressSize
, &ModRegRm
))
144 /* Exception occurred */
150 #ifndef FAST486_NO_FPU
151 // TODO: NOT IMPLEMENTED
161 FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDD
)
163 FAST486_MOD_REG_RM ModRegRm
;
164 BOOLEAN AddressSize
= State
->SegmentRegs
[FAST486_REG_CS
].Size
;
166 /* Get the operands */
167 if (!Fast486ParseModRegRm(State
, AddressSize
, &ModRegRm
))
169 /* Exception occurred */
175 #ifndef FAST486_NO_FPU
176 // TODO: NOT IMPLEMENTED
186 FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDE
)
188 FAST486_MOD_REG_RM ModRegRm
;
189 BOOLEAN AddressSize
= State
->SegmentRegs
[FAST486_REG_CS
].Size
;
191 /* Get the operands */
192 if (!Fast486ParseModRegRm(State
, AddressSize
, &ModRegRm
))
194 /* Exception occurred */
200 #ifndef FAST486_NO_FPU
201 // TODO: NOT IMPLEMENTED
211 FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDF
)
213 FAST486_MOD_REG_RM ModRegRm
;
214 BOOLEAN AddressSize
= State
->SegmentRegs
[FAST486_REG_CS
].Size
;
216 /* Get the operands */
217 if (!Fast486ParseModRegRm(State
, AddressSize
, &ModRegRm
))
219 /* Exception occurred */
225 #ifndef FAST486_NO_FPU
226 // TODO: NOT IMPLEMENTED