opgroups.c: We shouldn't restore SP in the opcode handler as that might
interfere with triple faults. Also, in this case it's also wrong because
the exception procedure already restores the stack pointer.
common.c: Fix a comment, no code changes.
svn path=/trunk/; revision=68027
/* Restore the IP to the saved IP */
State->InstPtr = State->SavedInstPtr;
/* Restore the IP to the saved IP */
State->InstPtr = State->SavedInstPtr;
- /* Restore the SP to the saved SP */
+ /* Restore the SP to the saved SP */
State->GeneralRegs[FAST486_REG_ESP] = State->SavedStackPtr;
/* Get the interrupt vector */
State->GeneralRegs[FAST486_REG_ESP] = State->SavedStackPtr;
/* Get the interrupt vector */
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
{
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
{
- /* Exception occurred - restore SP */
- if (OperandSize) State->GeneralRegs[FAST486_REG_ESP].Long -= sizeof(ULONG);
- else State->GeneralRegs[FAST486_REG_ESP].LowWord -= sizeof(USHORT);
-
+ /* Exception occurred */