50#include "tce_config.h"
67 "outputfile",
"Name of the output file.",
"o");
71 "linenumbers",
"Print line numbers",
"n");
75 "flat",
"The instructions only with file line numbers "
76 "matching instruction indices",
"F");
80 "stdout",
"Print to standard output",
"s");
109 std::cout <<
"tcedisasm - OpenASIP TTA parallel disassembler "
118int main(
int argc,
char *argv[]) {
127 std::cerr <<
"Error: Illegal commandline: "
135 std::cerr <<
"Error: Illegal number of parameters." << endl << endl;
188 std::ostream* output = &std::cout;
192 options.outputFile() : inputFileName +
".S";
193 if (!
options.printToStdout()) {
199 std::fstream::trunc | std::fstream::out);
204 std::fstream::trunc | std::fstream::out);
205 if (file.is_open()) {
215 *output <<
"CODE " << first <<
" ;" << endl << endl;
222 std::cerr <<
"Disassebly failed because of exception: " <<
227 for (
int i = 0; i <
program->dataMemoryCount(); i++) {
234 *output <<
"DATA " << aSpace.
name() <<
" "
243 std::map<Word, const TTAProgram::DataDefinition*> definitions;
249 std::map<Word, const TTAProgram::DataDefinition*>::iterator iter =
252 for (; iter != definitions.end(); iter++) {
254 *output << endl <<
"DA " << std::dec << def->
size();
256 for (
int mau = 0; mau < def->
size(); mau++) {
257 *output << endl <<
"1:0x" << std::hex << def->
MAU(mau);
260 *output <<
" ;" << endl;
268 for (TTAProgram::Program::InstructionVector::const_iterator i =
269 instr.begin(); i != instr.end(); ++i) {
static std::string outputFileName(const std::string &adfFile)
TTAMachine::Machine * machine
the architecture definition of the estimated processor
find Finds info of the inner loops in the program
static MachInfoCmdLineOptions options
TTAMachine::Machine * readMachine()
static std::string TCEVersionString()
virtual bool isFlagOn() const
virtual std::string String(int index=0) const
void parse(char *argv[], int argc)
CmdLineOptionParser * findOption(std::string name) const
virtual std::string argument(int index) const
virtual int numberOfArguments() const
void addOption(CmdLineOptionParser *opt)
void printVersion() const
virtual ~DisasmCmdLineOptions()
std::string errorMessage() const
static bool createFile(const std::string &file)
static bool fileIsWritable(const std::string fileName)
static bool fileIsCreatable(const std::string fileName)
static bool fileExists(const std::string fileName)
virtual void printHelp() const
static std::string disassemble(const TTAProgram::Move &move)
virtual Word startAddress() const
static Binary * readBinary(BinaryStream &stream)
virtual TCEString name() const
InstructionAddress location() const
virtual Address startAddress() const
virtual bool isInitialized() const
virtual MinimumAddressableUnit MAU(int index) const
DataDefinition & dataDefinition(Address address) const
int dataDefinitionCount() const
const TTAMachine::AddressSpace & addressSpace() const
std::vector< Instruction * > InstructionVector
Vector for instructions.
static UniversalMachine & instance()
void setSourceFile(const std::string &fileName)
int main(int argc, char *argv[])