mirror of
https://github.com/reactos/reactos.git
synced 2025-07-29 12:42:12 +00:00
[fast486]: code formatting + add a comment about the instruction 0xF1.
svn path=/trunk/; revision=64696
This commit is contained in:
parent
5aaaab86e4
commit
88b05a01ad
4 changed files with 19 additions and 10 deletions
|
@ -166,8 +166,6 @@ Fast486GetIntVector(PFAST486_STATE State,
|
||||||
UCHAR Number,
|
UCHAR Number,
|
||||||
PFAST486_IDT_ENTRY IdtEntry)
|
PFAST486_IDT_ENTRY IdtEntry)
|
||||||
{
|
{
|
||||||
ULONG FarPointer;
|
|
||||||
|
|
||||||
/* 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)
|
||||||
{
|
{
|
||||||
|
@ -185,6 +183,7 @@ Fast486GetIntVector(PFAST486_STATE State,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Read from the real-mode IVT */
|
/* Read from the real-mode IVT */
|
||||||
|
ULONG FarPointer;
|
||||||
|
|
||||||
/* Paging is always disabled in real mode */
|
/* Paging is always disabled in real mode */
|
||||||
State->MemReadCallback(State,
|
State->MemReadCallback(State,
|
||||||
|
@ -215,9 +214,9 @@ Fast486InterruptInternal(PFAST486_STATE State,
|
||||||
USHORT SegmentSelector = IdtEntry->Selector;
|
USHORT SegmentSelector = IdtEntry->Selector;
|
||||||
ULONG Offset = MAKELONG(IdtEntry->Offset, IdtEntry->OffsetHigh);
|
ULONG Offset = MAKELONG(IdtEntry->Offset, IdtEntry->OffsetHigh);
|
||||||
ULONG GateType = IdtEntry->Type;
|
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;
|
BOOLEAN Success = FALSE;
|
||||||
ULONG OldPrefixFlags = State->PrefixFlags;
|
ULONG OldPrefixFlags = State->PrefixFlags;
|
||||||
|
|
||||||
|
|
|
@ -2267,9 +2267,9 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeXadd)
|
||||||
ULONG Source, Destination, Result;
|
ULONG Source, Destination, Result;
|
||||||
|
|
||||||
if (!Fast486ReadModrmDwordOperands(State,
|
if (!Fast486ReadModrmDwordOperands(State,
|
||||||
&ModRegRm,
|
&ModRegRm,
|
||||||
&Source,
|
&Source,
|
||||||
&Destination))
|
&Destination))
|
||||||
{
|
{
|
||||||
/* Exception occurred */
|
/* Exception occurred */
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
|
@ -125,7 +125,7 @@ Fast486FpuAdd(PFAST486_STATE State,
|
||||||
/* Find the largest exponent */
|
/* Find the largest exponent */
|
||||||
TempResult.Exponent = max(FirstOperand->Exponent, SecondOperand->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)
|
if (FirstAdjusted.Exponent < TempResult.Exponent)
|
||||||
{
|
{
|
||||||
FirstAdjusted.Mantissa >>= (TempResult.Exponent - FirstAdjusted.Exponent);
|
FirstAdjusted.Mantissa >>= (TempResult.Exponent - FirstAdjusted.Exponent);
|
||||||
|
|
|
@ -279,7 +279,7 @@ Fast486OpcodeHandlers[FAST486_NUM_OPCODE_HANDLERS] =
|
||||||
Fast486OpcodeOutByte, /* 0xEE */
|
Fast486OpcodeOutByte, /* 0xEE */
|
||||||
Fast486OpcodeOut, /* 0xEF */
|
Fast486OpcodeOut, /* 0xEF */
|
||||||
Fast486OpcodePrefix, /* 0xF0 */
|
Fast486OpcodePrefix, /* 0xF0 */
|
||||||
Fast486OpcodeInvalid, /* 0xF1 */ // Invalid opcode
|
Fast486OpcodeInvalid, /* 0xF1 */ // Invalid opcode -- ICEBP/INT01 opcode
|
||||||
Fast486OpcodePrefix, /* 0xF2 */
|
Fast486OpcodePrefix, /* 0xF2 */
|
||||||
Fast486OpcodePrefix, /* 0xF3 */
|
Fast486OpcodePrefix, /* 0xF3 */
|
||||||
Fast486OpcodeHalt, /* 0xF4 */
|
Fast486OpcodeHalt, /* 0xF4 */
|
||||||
|
@ -300,7 +300,12 @@ Fast486OpcodeHandlers[FAST486_NUM_OPCODE_HANDLERS] =
|
||||||
|
|
||||||
FAST486_OPCODE_HANDLER(Fast486OpcodeInvalid)
|
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);
|
Fast486Exception(State, FAST486_EXCEPTION_UD);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -5428,6 +5433,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovOffsetEax)
|
||||||
|
|
||||||
FAST486_OPCODE_HANDLER(Fast486OpcodeSalc)
|
FAST486_OPCODE_HANDLER(Fast486OpcodeSalc)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
* See: http://www.rcollins.org/secrets/opcodes/SALC.html
|
||||||
|
* for more information.
|
||||||
|
*/
|
||||||
|
|
||||||
/* Make sure this is the right instruction */
|
/* Make sure this is the right instruction */
|
||||||
ASSERT(Opcode == 0xD6);
|
ASSERT(Opcode == 0xD6);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue