Fix incorrect target address calculation for memory operands.

This commit is contained in:
Rene Gollent 2013-03-26 18:42:14 -04:00
parent 469f13fdfe
commit 04c919f9d6
1 changed files with 2 additions and 0 deletions

View File

@ -198,6 +198,8 @@ DisassemblerX86::GetInstructionTargetAddress(CpuState* state) const
targetAddress += x86State->IntRegisterValue(
RegisterNumberFromUdisIndex(fUdisData->operand[0].index))
* fUdisData->operand[0].scale;
if (fUdisData->operand[0].offset != 0)
targetAddress += fUdisData->operand[0].lval.sdword;
}
break;
case UD_OP_JIMM: