From: Hermès Bélusca-Maïto Date: Sun, 12 Oct 2014 13:50:05 +0000 (+0000) Subject: [fast486]: code formatting + add a comment about the instruction 0xF1. X-Git-Tag: backups/0.3.17@66124~60 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=88b05a01ada8460fd312529b59f394ecea8790a7;ds=sidebyside [fast486]: code formatting + add a comment about the instruction 0xF1. svn path=/trunk/; revision=64696 --- diff --git a/reactos/lib/fast486/common.c b/reactos/lib/fast486/common.c index 46556e2310c..03378c2b3bd 100644 --- a/reactos/lib/fast486/common.c +++ b/reactos/lib/fast486/common.c @@ -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; diff --git a/reactos/lib/fast486/extraops.c b/reactos/lib/fast486/extraops.c index be20fd4c075..3496c7ac2ca 100644 --- a/reactos/lib/fast486/extraops.c +++ b/reactos/lib/fast486/extraops.c @@ -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; diff --git a/reactos/lib/fast486/fpu.c b/reactos/lib/fast486/fpu.c index 73484ee0c23..6a16fdfc838 100644 --- a/reactos/lib/fast486/fpu.c +++ b/reactos/lib/fast486/fpu.c @@ -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); diff --git a/reactos/lib/fast486/opcodes.c b/reactos/lib/fast486/opcodes.c index a032691ed2f..1d773f90800 100644 --- a/reactos/lib/fast486/opcodes.c +++ b/reactos/lib/fast486/opcodes.c @@ -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);