[SOFT386]

Implement the PUSH instruction in opcode group 0xFF.


svn path=/branches/ntvdm/; revision=60681
This commit is contained in:
Aleksandar Andrejevic 2013-10-15 19:03:40 +00:00
parent 151db5ddd0
commit 2f4594cf30

View file

@ -1496,6 +1496,11 @@ SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupFF)
Value--; Value--;
State->Flags.Af = ((Value & 0x0F) == 0x0F); State->Flags.Af = ((Value & 0x0F) == 0x0F);
} }
else if (ModRegRm.Register == 6)
{
/* Push the value on to the stack */
return Soft386StackPush(State, Value);
}
if (ModRegRm.Register <= 1) if (ModRegRm.Register <= 1)
{ {
@ -1535,6 +1540,11 @@ SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupFF)
Value--; Value--;
State->Flags.Af = ((Value & 0x0F) == 0x0F); State->Flags.Af = ((Value & 0x0F) == 0x0F);
} }
else if (ModRegRm.Register == 6)
{
/* Push the value on to the stack */
return Soft386StackPush(State, Value);
}
if (ModRegRm.Register <= 1) if (ModRegRm.Register <= 1)
{ {
@ -1551,7 +1561,7 @@ SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupFF)
} }
} }
if (ModRegRm.Register > 1) if ((ModRegRm.Register > 1) && (ModRegRm.Register != 6))
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
return FALSE; // NOT IMPLEMENTED return FALSE; // NOT IMPLEMENTED