mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-01 04:13:35 +00:00
[FAST486]
- When pushing 16-bit value, check only low word of ESP (i.e. SP). - Don't forget to clear high word of EIP, for the Jump instruction of group 4 (0xFF). svn path=/branches/ntvdm/; revision=62258
This commit is contained in:
@@ -296,7 +296,7 @@ Fast486StackPush(PFAST486_STATE State,
|
||||
USHORT ShortValue = LOWORD(Value);
|
||||
|
||||
/* Check if SP is 1 */
|
||||
if (State->GeneralRegs[FAST486_REG_ESP].Long == 1)
|
||||
if (State->GeneralRegs[FAST486_REG_ESP].LowWord == 1)
|
||||
{
|
||||
Fast486Exception(State, FAST486_EXCEPTION_SS);
|
||||
return FALSE;
|
||||
|
||||
@@ -1632,6 +1632,9 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
|
||||
{
|
||||
/* Set the IP to the address */
|
||||
State->InstPtr.LowWord = Value;
|
||||
|
||||
/* Clear the top half of EIP */
|
||||
State->InstPtr.Long &= 0xFFFF;
|
||||
}
|
||||
else if (ModRegRm.Register == 5)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user