mirror of
https://github.com/reactos/reactos.git
synced 2024-10-15 05:37:44 +00:00
[FAST486]
LOOP and JECXZ use the ADSIZE attribute, not OPSIZE. svn path=/branches/ntvdm/; revision=60977
This commit is contained in:
parent
ace025dca9
commit
53dfb7da48
|
@ -4929,7 +4929,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLoop)
|
|||
ASSERT((Opcode >= 0xE0) && (Opcode <= 0xE2));
|
||||
|
||||
NO_LOCK_PREFIX();
|
||||
TOGGLE_OPSIZE(Size);
|
||||
TOGGLE_ADSIZE(Size);
|
||||
|
||||
if (Size) Condition = ((--State->GeneralRegs[FAST486_REG_ECX].Long) != 0);
|
||||
else Condition = ((--State->GeneralRegs[FAST486_REG_ECX].LowWord) != 0);
|
||||
|
@ -4956,7 +4956,8 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLoop)
|
|||
if (Condition)
|
||||
{
|
||||
/* Move the instruction pointer */
|
||||
State->InstPtr.Long += Offset;
|
||||
if (Size) State->InstPtr.Long += Offset;
|
||||
else State->InstPtr.LowWord += Offset;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
@ -4972,7 +4973,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeJecxz)
|
|||
ASSERT(Opcode == 0xE3);
|
||||
|
||||
NO_LOCK_PREFIX();
|
||||
TOGGLE_OPSIZE(Size);
|
||||
TOGGLE_ADSIZE(Size);
|
||||
|
||||
if (Size) Condition = (State->GeneralRegs[FAST486_REG_ECX].Long == 0);
|
||||
else Condition = (State->GeneralRegs[FAST486_REG_ECX].LowWord == 0);
|
||||
|
@ -4987,7 +4988,8 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeJecxz)
|
|||
if (Condition)
|
||||
{
|
||||
/* Move the instruction pointer */
|
||||
State->InstPtr.Long += Offset;
|
||||
if (Size) State->InstPtr.Long += Offset;
|
||||
else State->InstPtr.LowWord += Offset;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
|
Loading…
Reference in a new issue