[FAST486]

Addendum to r67702.


svn path=/trunk/; revision=67703
This commit is contained in:
Aleksandar Andrejevic 2015-05-12 21:37:10 +00:00
parent 84ed5d3cf2
commit dafeadd7ab

View file

@ -635,12 +635,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeClearCarry)
/* Make sure this is the right instruction */ /* Make sure this is the right instruction */
ASSERT(Opcode == 0xF8); ASSERT(Opcode == 0xF8);
/* No prefixes allowed */ NO_LOCK_PREFIX();
if (State->PrefixFlags)
{
Fast486Exception(State, FAST486_EXCEPTION_UD);
return;
}
/* Clear CF and return success */ /* Clear CF and return success */
State->Flags.Cf = FALSE; State->Flags.Cf = FALSE;
@ -651,12 +646,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSetCarry)
/* Make sure this is the right instruction */ /* Make sure this is the right instruction */
ASSERT(Opcode == 0xF9); ASSERT(Opcode == 0xF9);
/* No prefixes allowed */ NO_LOCK_PREFIX();
if (State->PrefixFlags)
{
Fast486Exception(State, FAST486_EXCEPTION_UD);
return;
}
/* Set CF and return success*/ /* Set CF and return success*/
State->Flags.Cf = TRUE; State->Flags.Cf = TRUE;
@ -667,12 +657,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeComplCarry)
/* Make sure this is the right instruction */ /* Make sure this is the right instruction */
ASSERT(Opcode == 0xF5); ASSERT(Opcode == 0xF5);
/* No prefixes allowed */ NO_LOCK_PREFIX();
if (State->PrefixFlags)
{
Fast486Exception(State, FAST486_EXCEPTION_UD);
return;
}
/* Toggle CF and return success */ /* Toggle CF and return success */
State->Flags.Cf = !State->Flags.Cf; State->Flags.Cf = !State->Flags.Cf;
@ -684,12 +669,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeClearInt)
/* Make sure this is the right instruction */ /* Make sure this is the right instruction */
ASSERT(Opcode == 0xFA); ASSERT(Opcode == 0xFA);
/* No prefixes allowed */ NO_LOCK_PREFIX();
if (State->PrefixFlags)
{
Fast486Exception(State, FAST486_EXCEPTION_UD);
return;
}
/* Check for protected mode */ /* Check for protected mode */
if (State->ControlRegisters[FAST486_REG_CR0] & FAST486_CR0_PE) if (State->ControlRegisters[FAST486_REG_CR0] & FAST486_CR0_PE)
@ -719,12 +699,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSetInt)
/* Make sure this is the right instruction */ /* Make sure this is the right instruction */
ASSERT(Opcode == 0xFB); ASSERT(Opcode == 0xFB);
/* No prefixes allowed */ NO_LOCK_PREFIX();
if (State->PrefixFlags)
{
Fast486Exception(State, FAST486_EXCEPTION_UD);
return;
}
/* Check for protected mode */ /* Check for protected mode */
if (State->ControlRegisters[FAST486_REG_CR0] & FAST486_CR0_PE) if (State->ControlRegisters[FAST486_REG_CR0] & FAST486_CR0_PE)
@ -754,12 +729,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeClearDir)
/* Make sure this is the right instruction */ /* Make sure this is the right instruction */
ASSERT(Opcode == 0xFC); ASSERT(Opcode == 0xFC);
/* No prefixes allowed */ NO_LOCK_PREFIX();
if (State->PrefixFlags)
{
Fast486Exception(State, FAST486_EXCEPTION_UD);
return;
}
/* Clear DF */ /* Clear DF */
State->Flags.Df = FALSE; State->Flags.Df = FALSE;
@ -770,12 +740,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSetDir)
/* Make sure this is the right instruction */ /* Make sure this is the right instruction */
ASSERT(Opcode == 0xFD); ASSERT(Opcode == 0xFD);
/* No prefixes allowed */ NO_LOCK_PREFIX();
if (State->PrefixFlags)
{
Fast486Exception(State, FAST486_EXCEPTION_UD);
return;
}
/* Set DF */ /* Set DF */
State->Flags.Df = TRUE; State->Flags.Df = TRUE;
@ -786,12 +751,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeHalt)
/* Make sure this is the right instruction */ /* Make sure this is the right instruction */
ASSERT(Opcode == 0xF4); ASSERT(Opcode == 0xF4);
/* No prefixes allowed */ NO_LOCK_PREFIX();
if (State->PrefixFlags)
{
Fast486Exception(State, FAST486_EXCEPTION_UD);
return;
}
/* Privileged instructions can only be executed under CPL = 0 */ /* Privileged instructions can only be executed under CPL = 0 */
if (Fast486GetCurrentPrivLevel(State) != 0) if (Fast486GetCurrentPrivLevel(State) != 0)