x86: print interrupt number of INT instruction in positive form. bug reported by @pancake
This commit is contained in:
parent
8bb1f04bb8
commit
1271684973
|
@ -530,6 +530,13 @@ static void printOperand(MCInst *MI, unsigned OpNo, SStream *O)
|
||||||
SStream_concat(O, "$-%"PRIu64, -imm);
|
SStream_concat(O, "$-%"PRIu64, -imm);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case X86_INS_INT:
|
||||||
|
// do not print number in negative form
|
||||||
|
if (imm >= 0 && imm <= HEX_THRESHOLD)
|
||||||
|
SStream_concat(O, "$%u", imm);
|
||||||
|
else
|
||||||
|
SStream_concat(O, "$0x%x", imm & 0xff);
|
||||||
|
break;
|
||||||
case X86_INS_RET:
|
case X86_INS_RET:
|
||||||
// RET imm16
|
// RET imm16
|
||||||
if (imm >= 0 && imm <= HEX_THRESHOLD)
|
if (imm >= 0 && imm <= HEX_THRESHOLD)
|
||||||
|
|
|
@ -616,6 +616,13 @@ static void printOperand(MCInst *MI, unsigned OpNo, SStream *O)
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case X86_INS_INT:
|
||||||
|
// do not print number in negative form
|
||||||
|
if (imm >= 0 && imm <= HEX_THRESHOLD)
|
||||||
|
SStream_concat(O, "%u", imm);
|
||||||
|
else
|
||||||
|
SStream_concat(O, "0x%x", imm & 0xff);
|
||||||
|
break;
|
||||||
case X86_INS_AND:
|
case X86_INS_AND:
|
||||||
case X86_INS_OR:
|
case X86_INS_OR:
|
||||||
case X86_INS_XOR:
|
case X86_INS_XOR:
|
||||||
|
|
Loading…
Reference in New Issue