From 10523b910e6a2f01abe70b3c4e2603386adaa87c Mon Sep 17 00:00:00 2001 From: Aleksandar Andrejevic Date: Wed, 9 Oct 2013 19:11:42 +0000 Subject: [PATCH] [SOFT386] Don't single-step on a prefix. Single-step should execute one whole instruction. svn path=/branches/ntvdm/; revision=60588 --- lib/soft386/soft386.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/soft386/soft386.c b/lib/soft386/soft386.c index a362cf93126..396cb6ec470 100644 --- a/lib/soft386/soft386.c +++ b/lib/soft386/soft386.c @@ -77,13 +77,19 @@ Soft386ExecutionControl(PSOFT386_STATE State, INT Command) /* A non-prefix opcode has been executed, reset the prefix flags */ State->PrefixFlags = 0; } + else + { + /* This is a prefix, go to the next instruction immediately */ + continue; + } /* Increment the time stamp counter */ State->TimeStampCounter++; } while ((Command == SOFT386_CONTINUE) || (Command == SOFT386_STEP_OVER && ProcedureCallCount > 0) - || (Command == SOFT386_STEP_OUT && ProcedureCallCount >= 0)); + || (Command == SOFT386_STEP_OUT && ProcedureCallCount >= 0) + || (Soft386OpcodeHandlers[Opcode] == Soft386OpcodePrefix)); } /* PUBLIC FUNCTIONS ***********************************************************/