[FAST486]

The opcode handlers don't need a return value, it's not used anywhere.


svn path=/trunk/; revision=64988
This commit is contained in:
Aleksandar Andrejevic 2014-10-25 17:16:37 +00:00
parent 9e3669b4fb
commit a037c16a5b
7 changed files with 820 additions and 1236 deletions

View file

@ -44,7 +44,7 @@
if (State->PrefixFlags & FAST486_PREFIX_LOCK)\ if (State->PrefixFlags & FAST486_PREFIX_LOCK)\
{\ {\
Fast486Exception(State, FAST486_EXCEPTION_UD);\ Fast486Exception(State, FAST486_EXCEPTION_UD);\
return FALSE;\ return;\
} }
#define TOGGLE_OPSIZE(x)\ #define TOGGLE_OPSIZE(x)\

File diff suppressed because it is too large Load diff

View file

@ -316,7 +316,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD8DC)
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm)) if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
{ {
/* Exception occurred */ /* Exception occurred */
return FALSE; return;
} }
FPU_CHECK(); FPU_CHECK();
@ -340,7 +340,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD8DC)
sizeof(ULONGLONG))) sizeof(ULONGLONG)))
{ {
/* Exception occurred */ /* Exception occurred */
return FALSE; return;
} }
Fast486FpuGetDoubleReal(State, Value, &MemoryData); Fast486FpuGetDoubleReal(State, Value, &MemoryData);
@ -352,7 +352,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD8DC)
if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
{ {
/* Exception occurred */ /* Exception occurred */
return FALSE; return;
} }
Fast486FpuGetSingleReal(State, Value, &MemoryData); Fast486FpuGetSingleReal(State, Value, &MemoryData);
@ -369,7 +369,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD8DC)
{ {
/* Invalid operation */ /* Invalid operation */
State->FpuStatus.Ie = TRUE; State->FpuStatus.Ie = TRUE;
return FALSE; return;
} }
} }
@ -380,7 +380,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD8DC)
{ {
/* Invalid operation */ /* Invalid operation */
State->FpuStatus.Ie = TRUE; State->FpuStatus.Ie = TRUE;
return FALSE; return;
} }
/* Check the operation */ /* Check the operation */
@ -441,8 +441,6 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD8DC)
} }
#endif #endif
return TRUE;
} }
FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD9) FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD9)
@ -454,7 +452,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD9)
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm)) if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
{ {
/* Exception occurred */ /* Exception occurred */
return FALSE; return;
} }
FPU_CHECK(); FPU_CHECK();
@ -462,11 +460,8 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD9)
#ifndef FAST486_NO_FPU #ifndef FAST486_NO_FPU
// TODO: NOT IMPLEMENTED // TODO: NOT IMPLEMENTED
UNIMPLEMENTED; UNIMPLEMENTED;
return FALSE;
#else #else
/* Do nothing */ /* Do nothing */
return TRUE;
#endif #endif
} }
@ -479,7 +474,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDA)
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm)) if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
{ {
/* Exception occurred */ /* Exception occurred */
return FALSE; return;
} }
FPU_CHECK(); FPU_CHECK();
@ -487,11 +482,8 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDA)
#ifndef FAST486_NO_FPU #ifndef FAST486_NO_FPU
// TODO: NOT IMPLEMENTED // TODO: NOT IMPLEMENTED
UNIMPLEMENTED; UNIMPLEMENTED;
return FALSE;
#else #else
/* Do nothing */ /* Do nothing */
return TRUE;
#endif #endif
} }
@ -504,7 +496,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDB)
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm)) if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
{ {
/* Exception occurred */ /* Exception occurred */
return FALSE; return;
} }
FPU_CHECK(); FPU_CHECK();
@ -562,14 +554,11 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDB)
default: default:
{ {
Fast486Exception(State, FAST486_EXCEPTION_UD); Fast486Exception(State, FAST486_EXCEPTION_UD);
return FALSE;
} }
} }
} }
#endif #endif
return TRUE;
} }
FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDD) FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDD)
@ -581,7 +570,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDD)
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm)) if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
{ {
/* Exception occurred */ /* Exception occurred */
return FALSE; return;
} }
FPU_CHECK(); FPU_CHECK();
@ -589,11 +578,8 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDD)
#ifndef FAST486_NO_FPU #ifndef FAST486_NO_FPU
// TODO: NOT IMPLEMENTED // TODO: NOT IMPLEMENTED
UNIMPLEMENTED; UNIMPLEMENTED;
return FALSE;
#else #else
/* Do nothing */ /* Do nothing */
return TRUE;
#endif #endif
} }
@ -606,7 +592,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDE)
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm)) if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
{ {
/* Exception occurred */ /* Exception occurred */
return FALSE; return;
} }
FPU_CHECK(); FPU_CHECK();
@ -614,11 +600,8 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDE)
#ifndef FAST486_NO_FPU #ifndef FAST486_NO_FPU
// TODO: NOT IMPLEMENTED // TODO: NOT IMPLEMENTED
UNIMPLEMENTED; UNIMPLEMENTED;
return FALSE;
#else #else
/* Do nothing */ /* Do nothing */
return TRUE;
#endif #endif
} }
@ -631,7 +614,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDF)
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm)) if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
{ {
/* Exception occurred */ /* Exception occurred */
return FALSE; return;
} }
FPU_CHECK(); FPU_CHECK();
@ -639,11 +622,8 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDF)
#ifndef FAST486_NO_FPU #ifndef FAST486_NO_FPU
// TODO: NOT IMPLEMENTED // TODO: NOT IMPLEMENTED
UNIMPLEMENTED; UNIMPLEMENTED;
return FALSE;
#else #else
/* Do nothing */ /* Do nothing */
return TRUE;
#endif #endif
} }

View file

@ -31,7 +31,7 @@
#define FPU_CHECK() if (State->ControlRegisters[FAST486_REG_CR0] & FAST486_CR0_EM) \ #define FPU_CHECK() if (State->ControlRegisters[FAST486_REG_CR0] & FAST486_CR0_EM) \
{ \ { \
Fast486Exception(State, FAST486_EXCEPTION_NM); \ Fast486Exception(State, FAST486_EXCEPTION_NM); \
return FALSE; \ return; \
} }
#define FPU_ST(i) State->FpuRegisters[(State->FpuStatus.Top + (i)) % FAST486_NUM_FPU_REGS] #define FPU_ST(i) State->FpuRegisters[(State->FpuStatus.Top + (i)) % FAST486_NUM_FPU_REGS]
#define FPU_GET_TAG(i) ((State->FpuTag >> ((i) * 2)) & 3) #define FPU_GET_TAG(i) ((State->FpuTag >> ((i) * 2)) & 3)

File diff suppressed because it is too large Load diff

View file

@ -29,9 +29,9 @@
#define FAST486_NUM_OPCODE_HANDLERS 256 #define FAST486_NUM_OPCODE_HANDLERS 256
#define FAST486_OPCODE_WRITE_REG (1 << 1) #define FAST486_OPCODE_WRITE_REG (1 << 1)
#define FAST486_OPCODE_HANDLER(x) \ #define FAST486_OPCODE_HANDLER(x) \
BOOLEAN FASTCALL x(PFAST486_STATE State, UCHAR Opcode) VOID FASTCALL x(PFAST486_STATE State, UCHAR Opcode)
typedef BOOLEAN (FASTCALL *FAST486_OPCODE_HANDLER_PROC)(PFAST486_STATE, UCHAR); typedef VOID (FASTCALL *FAST486_OPCODE_HANDLER_PROC)(PFAST486_STATE, UCHAR);
extern extern
FAST486_OPCODE_HANDLER_PROC FAST486_OPCODE_HANDLER_PROC

File diff suppressed because it is too large Load diff