summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ian Rogers <irogers@google.com> 2013-06-17 14:10:46 -0700
committer Ian Rogers <irogers@google.com> 2013-06-17 14:10:46 -0700
commit7761cb669da36384df8c449c864f826ae3db6ac8 (patch)
tree46acdf2e7b1e031fb3c6ef3aa496ad51e0a33367
parentc4378df76edd637273813fef4da7f01c4e637def (diff)
Fix disassembly of 16bit thumb branches.
Ensure proper sign-extension. Change-Id: I5a26daf1e7edb0ef6944e92c06be3ad0eec42d92
-rw-r--r--src/disassembler_arm.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/disassembler_arm.cc b/src/disassembler_arm.cc
index 7e75600b19..e1a1aa48ae 100644
--- a/src/disassembler_arm.cc
+++ b/src/disassembler_arm.cc
@@ -1223,7 +1223,7 @@ size_t DisassemblerArm::DumpThumb16(std::ostream& os, const uint8_t* instr_ptr)
args << Rt << ", [" << Rn << ", #" << imm5 << "]";
}
} else if (opcode1 >= 0x34 && opcode1 <= 0x37) { // 1101xx
- uint32_t imm8 = instr & 0xFF;
+ int8_t imm8 = instr & 0xFF;
uint32_t cond = (instr >> 8) & 0xF;
opcode << "b";
DumpCond(opcode, cond);