Go to the documentation of this file.
35 #ifndef TTA_POM_DISASSEMBLER_HH
36 #define TTA_POM_DISASSEMBLER_HH
83 std::string
label(Word address,
int index)
const;
137 static std::string
label(
bool printAddresses_
True if instruction indices (addresses) should be printed at the end of lines.
std::string label(Word address, int index) const
virtual TCEString procedureDescription(const TTAProgram::Procedure &proc)
static DisassemblyGuard * createGuard(const TTAProgram::MoveGuard &guard)
virtual Word startAddress() const
virtual TCEString disassembleProcedures()
static TCEString disassembleFully(const TTAProgram::Program &program, bool indices=false)
virtual TCEString printAddress(const TTAProgram::Instruction &instr) const
static DisassemblyElement * createTerminal(const TTAProgram::Terminal &terminal)
virtual Word instructionCount() const
virtual void setPrintAddresses(bool addresses)
static POMDisassembler * disassembler(const TTAMachine::Machine &mach, const TTAProgram::Program &program)
virtual TCEString destinationLabels(const TTAProgram::Procedure &proc, int instrIndex) const
static DisassemblyImmediate * createInlineImmediate(const TTAProgram::Terminal &terminal, bool signExtend)
static bool isCallOrJump(const TTAProgram::Terminal &terminal)
static DisassemblyMove * createMove(const TTAProgram::Move &move)
POMDisassembler(bool indices=false)
virtual TCEString labelPositionDescription(TCEString labelStr) const
virtual TCEString dataSectionDescription(const TTAMachine::AddressSpace &aSpace, Word location)
virtual TCEString dataDefDescription(const TTAProgram::DataDefinition &def)
virtual TCEString disassembleProcedure(const TTAProgram::Procedure &proc)
static DisassemblyImmediateAssignment * createImmediateAssignment(const TTAProgram::Immediate &immediate)
const TTAProgram::Program & program_
Program object model to disassemble.
static DisassemblyElement * createFUPort(const TTAProgram::Terminal &terminal)
static std::string disassemble(const TTAProgram::Move &move)
virtual TCEString disassembleProgram()
virtual TCEString codeSectionDescription(Word startAddress)
find Finds info of the inner loops in the program
virtual size_t instructionSize(const TTAProgram::Instruction &)
Returns the size of the instruction in memory addresses, if known. Falls back to address per instruct...
virtual TCEString disassembleInstruction(const TTAProgram::Instruction &instruction, int addr=-1)
"Template methods" that can be overridden in the derived assemblers.
int labelCount(Word address) const
static DisassemblyElement * createRegister(const TTAProgram::Terminal &terminal)
virtual ~POMDisassembler()
static DisassemblyImmediateRegister * createImmediateRegister(const TTAProgram::Terminal &terminal)
virtual DisassemblyInstruction * createInstruction(Word instructionIndex) const