[fast486]: code formatting + add a comment about the instruction 0xF1.

svn path=/trunk/; revision=64696
This commit is contained in:
Hermès Bélusca-Maïto 2014-10-12 13:50:05 +00:00
parent 5aaaab86e4
commit 88b05a01ad
4 changed files with 19 additions and 10 deletions

View file

@ -166,8 +166,6 @@ Fast486GetIntVector(PFAST486_STATE State,
UCHAR Number,
PFAST486_IDT_ENTRY IdtEntry)
{
ULONG FarPointer;
/* Check for protected mode */
if (State->ControlRegisters[FAST486_REG_CR0] & FAST486_CR0_PE)
{
@ -185,6 +183,7 @@ Fast486GetIntVector(PFAST486_STATE State,
else
{
/* Read from the real-mode IVT */
ULONG FarPointer;
/* Paging is always disabled in real mode */
State->MemReadCallback(State,
@ -215,9 +214,9 @@ Fast486InterruptInternal(PFAST486_STATE State,
USHORT SegmentSelector = IdtEntry->Selector;
ULONG Offset = MAKELONG(IdtEntry->Offset, IdtEntry->OffsetHigh);
ULONG GateType = IdtEntry->Type;
BOOLEAN GateSize = (GateType == FAST486_IDT_INT_GATE_32) ||
(GateType == FAST486_IDT_TRAP_GATE_32);
BOOLEAN GateSize = (GateType == FAST486_IDT_INT_GATE_32)
|| (GateType == FAST486_IDT_TRAP_GATE_32);
BOOLEAN Success = FALSE;
ULONG OldPrefixFlags = State->PrefixFlags;

View file

@ -2267,9 +2267,9 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeXadd)
ULONG Source, Destination, Result;
if (!Fast486ReadModrmDwordOperands(State,
&ModRegRm,
&Source,
&Destination))
&ModRegRm,
&Source,
&Destination))
{
/* Exception occurred */
return FALSE;

View file

@ -125,7 +125,7 @@ Fast486FpuAdd(PFAST486_STATE State,
/* Find the largest exponent */
TempResult.Exponent = max(FirstOperand->Exponent, SecondOperand->Exponent);
/* Adjust the first operand to it */
/* Adjust the first operand to it... */
if (FirstAdjusted.Exponent < TempResult.Exponent)
{
FirstAdjusted.Mantissa >>= (TempResult.Exponent - FirstAdjusted.Exponent);

View file

@ -279,7 +279,7 @@ Fast486OpcodeHandlers[FAST486_NUM_OPCODE_HANDLERS] =
Fast486OpcodeOutByte, /* 0xEE */
Fast486OpcodeOut, /* 0xEF */
Fast486OpcodePrefix, /* 0xF0 */
Fast486OpcodeInvalid, /* 0xF1 */ // Invalid opcode
Fast486OpcodeInvalid, /* 0xF1 */ // Invalid opcode -- ICEBP/INT01 opcode
Fast486OpcodePrefix, /* 0xF2 */
Fast486OpcodePrefix, /* 0xF3 */
Fast486OpcodeHalt, /* 0xF4 */
@ -300,7 +300,12 @@ Fast486OpcodeHandlers[FAST486_NUM_OPCODE_HANDLERS] =
FAST486_OPCODE_HANDLER(Fast486OpcodeInvalid)
{
/* This is not a valid opcode */
/*
* This is not a valid opcode.
* Well, not totally: see http://www.rcollins.org/secrets/opcodes/ICEBP.html
* for more details.
*/
DPRINT1("FAST486 -- Calling ICEBP opcode\n");
Fast486Exception(State, FAST486_EXCEPTION_UD);
return FALSE;
}
@ -5428,6 +5433,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovOffsetEax)
FAST486_OPCODE_HANDLER(Fast486OpcodeSalc)
{
/*
* See: http://www.rcollins.org/secrets/opcodes/SALC.html
* for more information.
*/
/* Make sure this is the right instruction */
ASSERT(Opcode == 0xD6);