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?rev... ============================================================================== --- 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