diff options
author | 2013-06-17 14:10:46 -0700 | |
---|---|---|
committer | 2013-06-17 14:10:46 -0700 | |
commit | 7761cb669da36384df8c449c864f826ae3db6ac8 (patch) | |
tree | 46acdf2e7b1e031fb3c6ef3aa496ad51e0a33367 | |
parent | c4378df76edd637273813fef4da7f01c4e637def (diff) |
Fix disassembly of 16bit thumb branches.
Ensure proper sign-extension.
Change-Id: I5a26daf1e7edb0ef6944e92c06be3ad0eec42d92
-rw-r--r-- | src/disassembler_arm.cc | 2 |
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); |