arm: print immediate in positive form for AND/ORR/EOR/BIC instructions
This commit is contained in:
parent
d82b28a75f
commit
278e7270d9
|
@ -632,16 +632,32 @@ static void printOperand(MCInst *MI, unsigned OpNo, SStream *O)
|
||||||
} else {
|
} else {
|
||||||
SStream_concat(O, "#0x%x", imm);
|
SStream_concat(O, "#0x%x", imm);
|
||||||
}
|
}
|
||||||
} else if (imm >= 0) {
|
|
||||||
if (imm > HEX_THRESHOLD)
|
|
||||||
SStream_concat(O, "#0x%x", imm);
|
|
||||||
else
|
|
||||||
SStream_concat(O, "#%u", imm);
|
|
||||||
} else {
|
} else {
|
||||||
if (imm < -HEX_THRESHOLD)
|
switch(MI->flat_insn->id) {
|
||||||
SStream_concat(O, "#-0x%x", -imm);
|
default:
|
||||||
else
|
if (imm >= 0) {
|
||||||
SStream_concat(O, "#-%u", -imm);
|
if (imm > HEX_THRESHOLD)
|
||||||
|
SStream_concat(O, "#0x%x", imm);
|
||||||
|
else
|
||||||
|
SStream_concat(O, "#%u", imm);
|
||||||
|
} else {
|
||||||
|
if (imm < -HEX_THRESHOLD)
|
||||||
|
SStream_concat(O, "#-0x%x", -imm);
|
||||||
|
else
|
||||||
|
SStream_concat(O, "#-%u", -imm);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case ARM_INS_AND:
|
||||||
|
case ARM_INS_ORR:
|
||||||
|
case ARM_INS_EOR:
|
||||||
|
case ARM_INS_BIC:
|
||||||
|
// 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);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MI->csh->detail) {
|
if (MI->csh->detail) {
|
||||||
|
|
Loading…
Reference in New Issue