commit
bae2a582f1
3
3rd_party/libdisasm/libdis.h
vendored
3
3rd_party/libdisasm/libdis.h
vendored
@ -317,6 +317,9 @@ struct x86_op_t{
|
||||
case op_offset:
|
||||
return data.offset;
|
||||
case op_relative_far:
|
||||
if (data.relative_far & 0x8000)
|
||||
return (data.relative_far & 0xFFFF) | 0xFFFF0000;
|
||||
else
|
||||
return (int32_t)data.relative_far;
|
||||
default:
|
||||
assert(false);
|
||||
|
||||
@ -330,7 +330,7 @@ static void decodeBranchTgt(x86_insn_t &insn)
|
||||
int32_t addr = tgt_op->getAddress();
|
||||
if(tgt_op->is_relative())
|
||||
{
|
||||
addr += insn.addr+insn.size;
|
||||
addr = (uint16_t)(addr + insn.addr + insn.size);
|
||||
}
|
||||
pIcode->ll()->replaceSrc((uint32_t)addr);
|
||||
pIcode->ll()->setFlags(I);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user