diff options
author | bunnei <bunneidev@gmail.com> | 2015-02-27 22:53:33 -0500 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-02-27 22:53:33 -0500 |
commit | d362eb266956c2a997fdda4b6fbf25d3e3a4f5fc (patch) | |
tree | 2dfc7b7269a4887d20e4312ac914a2cc39edde37 | |
parent | 03042c8f1ff103fe6b293f81da12bc58b3c50f8b (diff) | |
parent | 9ed34889258cd3da1c46696cad5e96011c3a5a0b (diff) |
Merge pull request #620 from lioncash/bkpt
arm_disasm: Show conditional code for BKPT instructions.
-rw-r--r-- | src/core/arm/disassembler/arm_disasm.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/arm/disassembler/arm_disasm.cpp b/src/core/arm/disassembler/arm_disasm.cpp index 5fb5966af..913dc1454 100644 --- a/src/core/arm/disassembler/arm_disasm.cpp +++ b/src/core/arm/disassembler/arm_disasm.cpp @@ -131,7 +131,7 @@ static const char *shift_names[] = { "ROR" }; -static const char* cond_to_str(int cond) { +static const char* cond_to_str(uint32_t cond) { return cond_names[cond]; } @@ -337,8 +337,9 @@ std::string ARM_Disasm::DisassembleBX(uint32_t insn) std::string ARM_Disasm::DisassembleBKPT(uint32_t insn) { + uint8_t cond = (insn >> 28) & 0xf; uint32_t immed = (((insn >> 8) & 0xfff) << 4) | (insn & 0xf); - return Common::StringFromFormat("bkpt\t#%d", immed); + return Common::StringFromFormat("bkpt%s\t#%d", cond_to_str(cond), immed); } std::string ARM_Disasm::DisassembleCLZ(uint32_t insn) |