summaryrefslogtreecommitdiffstats
path: root/disassembler
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2013-11-15 15:21:25 +0000
committerVladimir Marko <vmarko@google.com>2013-11-15 15:21:25 +0000
commitad435ebd9d011eef66ef77e96b065024220c10ad (patch)
treec6b4fcbe0493ffaafbcc4daf4e38cb915813fbc0 /disassembler
parent500793f33b8af8bc7ccf5595a66b4b13bce766bc (diff)
downloadart-ad435ebd9d011eef66ef77e96b065024220c10ad.zip
art-ad435ebd9d011eef66ef77e96b065024220c10ad.tar.gz
art-ad435ebd9d011eef66ef77e96b065024220c10ad.tar.bz2
Fix Thumb2 ldrd/strd disassembly.
Change-Id: Ie75aeab5b970640e90e567621ac45ce1a3a7c377
Diffstat (limited to 'disassembler')
-rw-r--r--disassembler/disassembler_arm.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/disassembler/disassembler_arm.cc b/disassembler/disassembler_arm.cc
index 65f2383..db51fab 100644
--- a/disassembler/disassembler_arm.cc
+++ b/disassembler/disassembler_arm.cc
@@ -427,9 +427,9 @@ size_t DisassemblerArm::DumpThumb32(std::ostream& os, const uint8_t* instr_ptr)
args << Rt << "," << Rd << ", [" << Rn;
const char *sign = U ? "+" : "-";
if (P == 0 && W == 1) {
- args << "], #" << sign << imm8;
+ args << "], #" << sign << (imm8 << 2);
} else {
- args << ", #" << sign << imm8 << "]";
+ args << ", #" << sign << (imm8 << 2) << "]";
if (W == 1) {
args << "!";
}