Author: aandrejevic Date: Mon Sep 30 00:27:56 2013 New Revision: 60464
URL: http://svn.reactos.org/svn/reactos?rev=60464&view=rev Log: [SOFT386] Fix prefix handling.
Modified: branches/ntvdm/lib/soft386/opcodes.c
Modified: branches/ntvdm/lib/soft386/opcodes.c URL: http://svn.reactos.org/svn/reactos/branches/ntvdm/lib/soft386/opcodes.c?rev=... ============================================================================== --- branches/ntvdm/lib/soft386/opcodes.c [iso-8859-1] (original) +++ branches/ntvdm/lib/soft386/opcodes.c [iso-8859-1] Mon Sep 30 00:27:56 2013 @@ -3757,16 +3757,17 @@ /* Make sure this is the right instruction */ ASSERT(Opcode == 0x68);
- if (State->PrefixFlags == SOFT386_PREFIX_OPSIZE) + if (State->PrefixFlags & SOFT386_PREFIX_LOCK) + { + /* Invalid prefix */ + Soft386Exception(State, SOFT386_EXCEPTION_UD); + return FALSE; + } + + if (State->PrefixFlags & SOFT386_PREFIX_OPSIZE) { /* The OPSIZE prefix toggles the size */ Size = !Size; - } - else - { - /* Invalid prefix */ - Soft386Exception(State, SOFT386_EXCEPTION_UD); - return FALSE; }
if (Size)