summaryrefslogtreecommitdiff
path: root/src/core/arm/disassembler
diff options
context:
space:
mode:
authorGravatar Lioncash2015-02-27 21:57:38 -0500
committerGravatar Lioncash2015-02-27 21:59:30 -0500
commit9ed34889258cd3da1c46696cad5e96011c3a5a0b (patch)
tree7a5c781fcfa6e98d67b0f7244b58c338190fc650 /src/core/arm/disassembler
parentMerge pull request #599 from Subv/morton (diff)
downloadyuzu-9ed34889258cd3da1c46696cad5e96011c3a5a0b.tar.gz
yuzu-9ed34889258cd3da1c46696cad5e96011c3a5a0b.tar.xz
yuzu-9ed34889258cd3da1c46696cad5e96011c3a5a0b.zip
arm_disasm: Show conditional code for BKPT instructions.
Changed cond_to_str to take a uint32, since unsigned numbers are only ever passed to it, and this can be a source of warnings for some compilers (also indexing an array without bounds checking a signed number is kind of iffy).
Diffstat (limited to 'src/core/arm/disassembler')
-rw-r--r--src/core/arm/disassembler/arm_disasm.cpp5
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 f7c7451e9..5a8a113cc 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[] = {
131 "ROR" 131 "ROR"
132}; 132};
133 133
134static const char* cond_to_str(int cond) { 134static const char* cond_to_str(uint32_t cond) {
135 return cond_names[cond]; 135 return cond_names[cond];
136} 136}
137 137
@@ -337,8 +337,9 @@ std::string ARM_Disasm::DisassembleBX(uint32_t insn)
337 337
338std::string ARM_Disasm::DisassembleBKPT(uint32_t insn) 338std::string ARM_Disasm::DisassembleBKPT(uint32_t insn)
339{ 339{
340 uint8_t cond = (insn >> 28) & 0xf;
340 uint32_t immed = (((insn >> 8) & 0xfff) << 4) | (insn & 0xf); 341 uint32_t immed = (((insn >> 8) & 0xfff) << 4) | (insn & 0xf);
341 return Common::StringFromFormat("bkpt\t#%d", immed); 342 return Common::StringFromFormat("bkpt%s\t#%d", cond_to_str(cond), immed);
342} 343}
343 344
344std::string ARM_Disasm::DisassembleCLZ(uint32_t insn) 345std::string ARM_Disasm::DisassembleCLZ(uint32_t insn)