diff --git a/lib/fast486/common.inl b/lib/fast486/common.inl index 1297b246dd0..cbced3a3dbb 100644 --- a/lib/fast486/common.inl +++ b/lib/fast486/common.inl @@ -935,51 +935,57 @@ Fast486ReadModrmByteOperands(PFAST486_STATE State, { FAST486_SEG_REGS Segment = FAST486_REG_DS; - /* Get the register value */ - if (ModRegRm->Register & 0x04) + if (RegValue) { - /* AH, CH, DH, BH */ - *RegValue = State->GeneralRegs[ModRegRm->Register & 0x03].HighByte; - } - else - { - /* AL, CL, DL, BL */ - *RegValue = State->GeneralRegs[ModRegRm->Register & 0x03].LowByte; - } - - if (!ModRegRm->Memory) - { - /* Get the second register value */ - if (ModRegRm->SecondRegister & 0x04) + /* Get the register value */ + if (ModRegRm->Register & 0x04) { /* AH, CH, DH, BH */ - *RmValue = State->GeneralRegs[ModRegRm->SecondRegister & 0x03].HighByte; + *RegValue = State->GeneralRegs[ModRegRm->Register & 0x03].HighByte; } else { /* AL, CL, DL, BL */ - *RmValue = State->GeneralRegs[ModRegRm->SecondRegister & 0x03].LowByte; + *RegValue = State->GeneralRegs[ModRegRm->Register & 0x03].LowByte; } } - else - { - /* Check for the segment override */ - if (State->PrefixFlags & FAST486_PREFIX_SEG) - { - /* Use the override segment instead */ - Segment = State->SegmentOverride; - } - /* Read memory */ - if (!Fast486ReadMemory(State, - Segment, - ModRegRm->MemoryAddress, - FALSE, - RmValue, - sizeof(UCHAR))) + if (RmValue) + { + if (!ModRegRm->Memory) { - /* Exception occurred */ - return FALSE; + /* Get the second register value */ + if (ModRegRm->SecondRegister & 0x04) + { + /* AH, CH, DH, BH */ + *RmValue = State->GeneralRegs[ModRegRm->SecondRegister & 0x03].HighByte; + } + else + { + /* AL, CL, DL, BL */ + *RmValue = State->GeneralRegs[ModRegRm->SecondRegister & 0x03].LowByte; + } + } + else + { + /* Check for the segment override */ + if (State->PrefixFlags & FAST486_PREFIX_SEG) + { + /* Use the override segment instead */ + Segment = State->SegmentOverride; + } + + /* Read memory */ + if (!Fast486ReadMemory(State, + Segment, + ModRegRm->MemoryAddress, + FALSE, + RmValue, + sizeof(UCHAR))) + { + /* Exception occurred */ + return FALSE; + } } } @@ -995,33 +1001,39 @@ Fast486ReadModrmWordOperands(PFAST486_STATE State, { FAST486_SEG_REGS Segment = FAST486_REG_DS; - /* Get the register value */ - *RegValue = State->GeneralRegs[ModRegRm->Register].LowWord; - - if (!ModRegRm->Memory) + if (RegValue) { - /* Get the second register value */ - *RmValue = State->GeneralRegs[ModRegRm->SecondRegister].LowWord; + /* Get the register value */ + *RegValue = State->GeneralRegs[ModRegRm->Register].LowWord; } - else - { - /* Check for the segment override */ - if (State->PrefixFlags & FAST486_PREFIX_SEG) - { - /* Use the override segment instead */ - Segment = State->SegmentOverride; - } - /* Read memory */ - if (!Fast486ReadMemory(State, - Segment, - ModRegRm->MemoryAddress, - FALSE, - RmValue, - sizeof(USHORT))) + if (RmValue) + { + if (!ModRegRm->Memory) { - /* Exception occurred */ - return FALSE; + /* Get the second register value */ + *RmValue = State->GeneralRegs[ModRegRm->SecondRegister].LowWord; + } + else + { + /* Check for the segment override */ + if (State->PrefixFlags & FAST486_PREFIX_SEG) + { + /* Use the override segment instead */ + Segment = State->SegmentOverride; + } + + /* Read memory */ + if (!Fast486ReadMemory(State, + Segment, + ModRegRm->MemoryAddress, + FALSE, + RmValue, + sizeof(USHORT))) + { + /* Exception occurred */ + return FALSE; + } } } @@ -1037,33 +1049,39 @@ Fast486ReadModrmDwordOperands(PFAST486_STATE State, { FAST486_SEG_REGS Segment = FAST486_REG_DS; - /* Get the register value */ - *RegValue = State->GeneralRegs[ModRegRm->Register].Long; - - if (!ModRegRm->Memory) + if (RegValue) { - /* Get the second register value */ - *RmValue = State->GeneralRegs[ModRegRm->SecondRegister].Long; + /* Get the register value */ + *RegValue = State->GeneralRegs[ModRegRm->Register].Long; } - else - { - /* Check for the segment override */ - if (State->PrefixFlags & FAST486_PREFIX_SEG) - { - /* Use the override segment instead */ - Segment = State->SegmentOverride; - } - /* Read memory */ - if (!Fast486ReadMemory(State, - Segment, - ModRegRm->MemoryAddress, - FALSE, - RmValue, - sizeof(ULONG))) + if (RmValue) + { + if (!ModRegRm->Memory) { - /* Exception occurred */ - return FALSE; + /* Get the second register value */ + *RmValue = State->GeneralRegs[ModRegRm->SecondRegister].Long; + } + else + { + /* Check for the segment override */ + if (State->PrefixFlags & FAST486_PREFIX_SEG) + { + /* Use the override segment instead */ + Segment = State->SegmentOverride; + } + + /* Read memory */ + if (!Fast486ReadMemory(State, + Segment, + ModRegRm->MemoryAddress, + FALSE, + RmValue, + sizeof(ULONG))) + { + /* Exception occurred */ + return FALSE; + } } } diff --git a/lib/fast486/extraops.c b/lib/fast486/extraops.c index d7db59c8c5b..ab7b22260e6 100644 --- a/lib/fast486/extraops.c +++ b/lib/fast486/extraops.c @@ -570,10 +570,10 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBitTest) if (OperandSize) { - ULONG Dummy, Value; + ULONG Value; /* Read the value */ - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -584,10 +584,10 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBitTest) } else { - USHORT Dummy, Value; + USHORT Value; /* Read the value */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -755,10 +755,10 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBts) if (OperandSize) { - ULONG Dummy, Value; + ULONG Value; /* Read the value */ - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -779,10 +779,10 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBts) } else { - USHORT Dummy, Value; + USHORT Value; /* Read the value */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1216,10 +1216,10 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtr) if (OperandSize) { - ULONG Dummy, Value; + ULONG Value; /* Read the value */ - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1240,10 +1240,10 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtr) } else { - USHORT Dummy, Value; + USHORT Value; /* Read the value */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1339,7 +1339,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLfsLgs) FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovzxByte) { - UCHAR Dummy, Value; + UCHAR Value; BOOLEAN AddressSize = State->SegmentRegs[FAST486_REG_CS].Size; FAST486_MOD_REG_RM ModRegRm; @@ -1356,7 +1356,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovzxByte) } /* Read the operands */ - if (!Fast486ReadModrmByteOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1371,7 +1371,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovzxByte) FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovzxWord) { - USHORT Dummy, Value; + USHORT Value; BOOLEAN AddressSize = State->SegmentRegs[FAST486_REG_CS].Size; FAST486_MOD_REG_RM ModRegRm; @@ -1388,7 +1388,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovzxWord) } /* Read the operands */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1441,10 +1441,10 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtc) if (OperandSize) { - ULONG Dummy, Value; + ULONG Value; /* Read the value */ - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1465,10 +1465,10 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtc) } else { - USHORT Dummy, Value; + USHORT Value; /* Read the value */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1495,7 +1495,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtc) FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsf) { INT i; - ULONG Dummy = 0, Value = 0; + ULONG Value = 0; BOOLEAN OperandSize, AddressSize; FAST486_MOD_REG_RM ModRegRm; ULONG BitNumber; @@ -1522,7 +1522,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsf) /* Read the value */ if (OperandSize) { - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1532,7 +1532,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsf) { if (!Fast486ReadModrmWordOperands(State, &ModRegRm, - (PUSHORT)&Dummy, + (PUSHORT)NULL, (PUSHORT)&Value)) { /* Exception occurred */ @@ -1580,7 +1580,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsf) FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsr) { INT i; - ULONG Dummy = 0, Value = 0; + ULONG Value = 0; BOOLEAN OperandSize, AddressSize; FAST486_MOD_REG_RM ModRegRm; ULONG BitNumber; @@ -1607,7 +1607,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsr) /* Read the value */ if (OperandSize) { - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1617,7 +1617,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsr) { if (!Fast486ReadModrmWordOperands(State, &ModRegRm, - (PUSHORT)&Dummy, + (PUSHORT)NULL, (PUSHORT)&Value)) { /* Exception occurred */ @@ -1664,7 +1664,6 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsr) FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovsxByte) { - UCHAR Dummy; CHAR Value; BOOLEAN AddressSize = State->SegmentRegs[FAST486_REG_CS].Size; FAST486_MOD_REG_RM ModRegRm; @@ -1682,7 +1681,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovsxByte) } /* Read the operands */ - if (!Fast486ReadModrmByteOperands(State, &ModRegRm, &Dummy, (PUCHAR)&Value)) + if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, (PUCHAR)&Value)) { /* Exception occurred */ return FALSE; @@ -1697,7 +1696,6 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovsxByte) FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovsxWord) { - USHORT Dummy; SHORT Value; BOOLEAN AddressSize = State->SegmentRegs[FAST486_REG_CS].Size; FAST486_MOD_REG_RM ModRegRm; @@ -1715,7 +1713,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovsxWord) } /* Read the operands */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, (PUSHORT)&Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, (PUSHORT)&Value)) { /* Exception occurred */ return FALSE; diff --git a/lib/fast486/opcodes.c b/lib/fast486/opcodes.c index 0268269476b..ac15525d8b5 100644 --- a/lib/fast486/opcodes.c +++ b/lib/fast486/opcodes.c @@ -3951,9 +3951,9 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovLoadSeg) if (OperandSize) { - ULONG Dummy, Selector; + ULONG Selector; - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Selector)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Selector)) { /* Exception occurred */ return FALSE; @@ -3963,9 +3963,9 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovLoadSeg) } else { - USHORT Dummy, Selector; + USHORT Selector; - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &Selector)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Selector)) { /* Exception occurred */ return FALSE; diff --git a/lib/fast486/opgroups.c b/lib/fast486/opgroups.c index 232eb25a5bf..9519aeb0eec 100644 --- a/lib/fast486/opgroups.c +++ b/lib/fast486/opgroups.c @@ -293,7 +293,7 @@ Fast486RotateOperation(PFAST486_STATE State, FAST486_OPCODE_HANDLER(Fast486OpcodeGroup8082) { - UCHAR Immediate, Dummy, Value; + UCHAR Immediate, Value; FAST486_MOD_REG_RM ModRegRm; BOOLEAN AddressSize = State->SegmentRegs[FAST486_REG_CS].Size; @@ -313,7 +313,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup8082) } /* Read the operands */ - if (!Fast486ReadModrmByteOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -349,7 +349,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup81) if (OperandSize) { - ULONG Immediate, Value, Dummy; + ULONG Immediate, Value; /* Fetch the immediate operand */ if (!Fast486FetchDword(State, &Immediate)) @@ -359,7 +359,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup81) } /* Read the operands */ - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -376,7 +376,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup81) } else { - USHORT Immediate, Value, Dummy; + USHORT Immediate, Value; /* Fetch the immediate operand */ if (!Fast486FetchWord(State, &Immediate)) @@ -386,7 +386,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup81) } /* Read the operands */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -432,10 +432,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup83) if (OperandSize) { ULONG Immediate = (ULONG)((LONG)ImmByte); // Sign extend - ULONG Value, Dummy; + ULONG Value; /* Read the operands */ - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -453,10 +453,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup83) else { USHORT Immediate = (USHORT)((SHORT)ImmByte); // Sign extend - USHORT Value, Dummy; + USHORT Value; /* Read the operands */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -527,7 +527,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup8F) FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC0) { - UCHAR Dummy, Value, Count; + UCHAR Value, Count; FAST486_MOD_REG_RM ModRegRm; BOOLEAN AddressSize = State->SegmentRegs[FAST486_REG_CS].Size; @@ -547,7 +547,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC0) } /* Read the operands */ - if (!Fast486ReadModrmByteOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -593,10 +593,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC1) if (OperandSize) { - ULONG Dummy, Value; + ULONG Value; /* Read the operands */ - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -614,10 +614,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC1) } else { - USHORT Dummy, Value; + USHORT Value; /* Read the operands */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -728,7 +728,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC7) FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD0) { - UCHAR Dummy, Value; + UCHAR Value; FAST486_MOD_REG_RM ModRegRm; BOOLEAN AddressSize = State->SegmentRegs[FAST486_REG_CS].Size; @@ -741,7 +741,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD0) } /* Read the operands */ - if (!Fast486ReadModrmByteOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -776,10 +776,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD1) if (OperandSize) { - ULONG Dummy, Value; + ULONG Value; /* Read the operands */ - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -793,10 +793,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD1) } else { - USHORT Dummy, Value; + USHORT Value; /* Read the operands */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -812,7 +812,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD1) FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD2) { - UCHAR Dummy, Value; + UCHAR Value; FAST486_MOD_REG_RM ModRegRm; BOOLEAN AddressSize = State->SegmentRegs[FAST486_REG_CS].Size; @@ -825,7 +825,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD2) } /* Read the operands */ - if (!Fast486ReadModrmByteOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -863,10 +863,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD3) if (OperandSize) { - ULONG Dummy, Value; + ULONG Value; /* Read the operands */ - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -884,10 +884,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD3) } else { - USHORT Dummy, Value; + USHORT Value; /* Read the operands */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -907,7 +907,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD3) FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF6) { - UCHAR Dummy, Value = 0; + UCHAR Value = 0; FAST486_MOD_REG_RM ModRegRm; BOOLEAN AddressSize = State->SegmentRegs[FAST486_REG_CS].Size; @@ -920,7 +920,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF6) } /* Read the operands */ - if (!Fast486ReadModrmByteOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1039,7 +1039,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF6) FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7) { - ULONG Dummy, Value = 0, SignFlag; + ULONG Value = 0, SignFlag; FAST486_MOD_REG_RM ModRegRm; BOOLEAN OperandSize, AddressSize; @@ -1062,7 +1062,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7) if (OperandSize) { /* 32-bit */ - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1071,7 +1071,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7) else { /* 16-bit */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, (PUSHORT)&Dummy, (PUSHORT)&Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, (PUSHORT)&Value)) { /* Exception occurred */ return FALSE; @@ -1284,7 +1284,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7) FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFE) { - UCHAR Dummy, Value; + UCHAR Value; FAST486_MOD_REG_RM ModRegRm; BOOLEAN AddressSize = State->SegmentRegs[FAST486_REG_CS].Size; @@ -1304,7 +1304,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFE) } /* Read the operands */ - if (!Fast486ReadModrmByteOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1363,9 +1363,9 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF) /* Read the operands */ if (OperandSize) { - ULONG Dummy, Value; + ULONG Value; - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1506,9 +1506,9 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF) } else { - USHORT Dummy, Value; + USHORT Value; - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1813,7 +1813,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup0F01) /* LMSW */ case 6: { - USHORT MachineStatusWord, Dummy; + USHORT MachineStatusWord; /* This is a privileged instruction */ if (Fast486GetCurrentPrivLevel(State) != 0) @@ -1823,7 +1823,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup0F01) } /* Read the new Machine Status Word */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &MachineStatusWord)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &MachineStatusWord)) { /* Exception occurred */ return FALSE; @@ -1928,10 +1928,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup0FBA) if (OperandSize) { - ULONG Dummy, Value; + ULONG Value; /* Read the value */ - if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE; @@ -1968,10 +1968,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup0FBA) } else { - USHORT Dummy, Value; + USHORT Value; /* Read the value */ - if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Dummy, &Value)) + if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value)) { /* Exception occurred */ return FALSE;