[FAST486]

The top half of EIP is cleared after a 16-bit jump.


svn path=/branches/ntvdm/; revision=61058
This commit is contained in:
Aleksandar Andrejevic 2013-11-20 14:21:47 +00:00
parent 459e3a6f48
commit f90a1db2b7
2 changed files with 32 additions and 4 deletions

View file

@ -1539,6 +1539,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 == 3)
{
@ -1588,6 +1591,8 @@ 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 == 4)
{
@ -1627,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 == 6)
{