[FAST486]

- When accessing memory using ESP, make the SS segment default.
- The INT instructions always pushes 16-bit values in real mode, regardless
  of the operand/address size attributes.


svn path=/branches/ntvdm/; revision=61000
This commit is contained in:
Aleksandar Andrejevic 2013-11-15 20:49:48 +00:00
parent f5d0d3e784
commit 4b005f11bf
2 changed files with 19 additions and 0 deletions

View file

@ -240,6 +240,14 @@ Fast486InterruptInternal(PFAST486_STATE State,
if (!Fast486StackPush(State, OldEsp)) return FALSE;
}
}
else
{
if (State->SegmentRegs[FAST486_REG_CS].Size)
{
/* Set OPSIZE, because INT always pushes 16-bit values in real mode */
State->PrefixFlags |= FAST486_PREFIX_OPSIZE;
}
}
/* Push EFLAGS */
if (!Fast486StackPush(State, State->Flags.Long)) return FALSE;