summaryrefslogtreecommitdiff
path: root/src/arch/arm/insts/mem.cc
diff options
context:
space:
mode:
authorDerek Hower <drh5@cs.wisc.edu>2009-07-13 14:49:51 -0500
committerDerek Hower <drh5@cs.wisc.edu>2009-07-13 14:49:51 -0500
commit100da6b3267b4e3d6834cd872502b8303d289d17 (patch)
tree1a1427989468e5b6e5f8a1c1c7bb96b3bbdb6f2c /src/arch/arm/insts/mem.cc
parentd51445490d9f7ccd09d7003f4360044422bd7b57 (diff)
parent60577eb4caff66a756f260bff6bf3bf8cb7edcba (diff)
downloadgem5-100da6b3267b4e3d6834cd872502b8303d289d17.tar.xz
merge
Diffstat (limited to 'src/arch/arm/insts/mem.cc')
-rw-r--r--src/arch/arm/insts/mem.cc19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/arch/arm/insts/mem.cc b/src/arch/arm/insts/mem.cc
index 7909330aa..afbf05e44 100644
--- a/src/arch/arm/insts/mem.cc
+++ b/src/arch/arm/insts/mem.cc
@@ -37,14 +37,17 @@ Memory::generateDisassembly(Addr pc, const SymbolTable *symtab) const
{
std::stringstream ss;
printMnemonic(ss);
- return ss.str();
-}
-
-std::string
-MemoryNoDisp::generateDisassembly(Addr pc, const SymbolTable *symtab) const
-{
- std::stringstream ss;
- printMnemonic(ss);
+ printReg(ss, machInst.rd);
+ ss << ", [";
+ printReg(ss, machInst.rn);
+ ss << ", ";
+ if (machInst.puswl.prepost == 1)
+ printOffset(ss);
+ ss << "]";
+ if (machInst.puswl.prepost == 0)
+ printOffset(ss);
+ else if (machInst.puswl.writeback)
+ ss << "!";
return ss.str();
}
}