Fixes truncated immediate value in operand details

The instruction encoded « 00 00 19 B2 » was correctly disassembled « orr x0, x0, #0x8000000080 », but the reported immediate value, in the detail structure, was truncated to 0x80 due to the cast.
This commit is contained in:
Vincent Bénony 2017-01-26 17:10:16 +01:00
parent 432d08f8f6
commit ad1d38b582

View File

@ -958,7 +958,7 @@ static void printLogicalImm64(MCInst *MI, unsigned OpNum, SStream *O)
MI->ac_idx++;
#endif
MI->flat_insn->detail->arm64.operands[MI->flat_insn->detail->arm64.op_count].type = ARM64_OP_IMM;
MI->flat_insn->detail->arm64.operands[MI->flat_insn->detail->arm64.op_count].imm = (int)Val;
MI->flat_insn->detail->arm64.operands[MI->flat_insn->detail->arm64.op_count].imm = (int64_t)Val;
MI->flat_insn->detail->arm64.op_count++;
}
}