diff --git a/lib/fast486/opcodes.c b/lib/fast486/opcodes.c index a3e16644001..67432a88e8b 100644 --- a/lib/fast486/opcodes.c +++ b/lib/fast486/opcodes.c @@ -5890,12 +5890,12 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLods) if (OperandSize) { State->GeneralRegs[FAST486_REG_ECX].Long = 0; - State->GeneralRegs[FAST486_REG_ESI].Long += Count - 1; + State->GeneralRegs[FAST486_REG_ESI].Long += (Count - 1) * DataSize; } else { State->GeneralRegs[FAST486_REG_ECX].LowWord = 0; - State->GeneralRegs[FAST486_REG_ESI].LowWord += Count - 1; + State->GeneralRegs[FAST486_REG_ESI].LowWord += (Count - 1) * DataSize; } }