static void apply_disasm_options(ref INSTRUCTION instr, UInt32 len, DISASM_INOUT_PARAMS param)
{
for (int i = 0; i < 3; i++)
{
if ((param.options & DISASM_OPTION_APPLY_REL)!=0)
{
if ((instr.ops[i].flags & OPERAND_FLAG_REL)!=0)
{
instr.ops[i].value.imm.imm64 += len + param.bas;
}
}
if ((param.options & DISASM_OPTION_OPTIMIZE_DISP)!=0)
{
if (((instr.ops[i].flags & (byte)OP_TYPE.OPERAND_TYPE_MEM)!=0) && (instr.ops[i].value.addr.mod != ADDR_MOD_DISP))
{
if (instr.disp.value.d64 == 0x0)
instr.ops[i].value.addr.mod &= (byte)(~(uint)ADDR_MOD_DISP);
}
}
}
}