Author: aandrejevic
Date: Tue Oct 15 19:03:40 2013
New Revision: 60681
URL:
http://svn.reactos.org/svn/reactos?rev=60681&view=rev
Log:
[SOFT386]
Implement the PUSH instruction in opcode group 0xFF.
Modified:
branches/ntvdm/lib/soft386/opgroups.c
Modified: branches/ntvdm/lib/soft386/opgroups.c
URL:
http://svn.reactos.org/svn/reactos/branches/ntvdm/lib/soft386/opgroups.c?re…
==============================================================================
--- branches/ntvdm/lib/soft386/opgroups.c [iso-8859-1] (original)
+++ branches/ntvdm/lib/soft386/opgroups.c [iso-8859-1] Tue Oct 15 19:03:40 2013
@@ -1496,6 +1496,11 @@
Value--;
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)
{
@@ -1535,6 +1540,11 @@
Value--;
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)
{
@@ -1551,7 +1561,7 @@
}
}
- if (ModRegRm.Register > 1)
+ if ((ModRegRm.Register > 1) && (ModRegRm.Register != 6))
{
UNIMPLEMENTED;
return FALSE; // NOT IMPLEMENTED