|
OpenASIP 2.2
|
#include <DisassemblyInstruction.hh>

Public Member Functions | |
| DisassemblyInstruction () | |
| ~DisassemblyInstruction () | |
| Word | moveCount () const |
| void | addMove (DisassemblyInstructionSlot *move) |
| DisassemblyInstructionSlot & | move (Word index) const |
| Word | longImmediateCount () const |
| void | addLongImmediate (DisassemblyImmediateAssignment *longImm) |
| DisassemblyImmediateAssignment & | longImmediate (Word index) const |
| std::string | toString () const |
| DisassemblyAnnotation & | annotation (int index) const |
| void | addAnnotation (DisassemblyAnnotation *annotation) |
| int | annotationCount () const |
Private Types | |
| typedef std::vector< DisassemblyInstructionSlot * > | MoveTable |
| Vector of DisassemblyMoves. | |
| typedef std::vector< DisassemblyImmediateAssignment * > | LongImmediateTable |
| Vector of DisassemblyMoves. | |
Private Member Functions | |
| DisassemblyInstruction (const DisassemblyInstruction &) | |
| Copying not allowed. | |
| DisassemblyInstruction | operator= (const DisassemblyInstruction &) |
| Assignment not allowed. | |
Private Attributes | |
| MoveTable | moves_ |
| List of instruction moves. | |
| LongImmediateTable | longImmediates_ |
| List of instruction long immediates. | |
| std::vector< DisassemblyAnnotation * > | annotations_ |
| Annotationes of instruction itself. | |
Represents an instruction in the disassembler.
Definition at line 46 of file DisassemblyInstruction.hh.
|
private |
Vector of DisassemblyMoves.
Definition at line 70 of file DisassemblyInstruction.hh.
|
private |
Vector of DisassemblyMoves.
Definition at line 67 of file DisassemblyInstruction.hh.
| DisassemblyInstruction::DisassemblyInstruction | ( | ) |
| DisassemblyInstruction::~DisassemblyInstruction | ( | ) |
Destructor.
Definition at line 46 of file DisassemblyInstruction.cc.
References SequenceTools::deleteAllItems(), and moves_.

|
private |
Copying not allowed.
| void DisassemblyInstruction::addAnnotation | ( | DisassemblyAnnotation * | annotation | ) |
Adds an annotation to instruction.
| annotation | Annotation to add. |
Definition at line 175 of file DisassemblyInstruction.cc.
References annotation(), and annotations_.
Referenced by TPEFDisassembler::createInstruction().

| void DisassemblyInstruction::addLongImmediate | ( | DisassemblyImmediateAssignment * | longImm | ) |
Adds a long immediate to the instruction.
| longImm | Immediate to be added. |
Definition at line 96 of file DisassemblyInstruction.cc.
References longImmediates_.
Referenced by POMDisassembler::createInstruction(), TPEFDisassembler::createInstruction(), and POMDisassembler::disassemble().
| void DisassemblyInstruction::addMove | ( | DisassemblyInstructionSlot * | move | ) |
Adds a move to the instruction.
| move | Move to be added. |
Definition at line 58 of file DisassemblyInstruction.cc.
References move(), and moves_.
Referenced by POMDisassembler::createInstruction(), TPEFDisassembler::createInstruction(), and POMDisassembler::disassemble().

| DisassemblyAnnotation & DisassemblyInstruction::annotation | ( | int | index | ) | const |
Returns annotation of requested index.
| index | Index of annotation to return. |
Definition at line 165 of file DisassemblyInstruction.cc.
References annotations_.
Referenced by addAnnotation(), and toString().
| int DisassemblyInstruction::annotationCount | ( | ) | const |
Returns the number of annotationes stored for the instruction.
Definition at line 185 of file DisassemblyInstruction.cc.
References annotations_.
Referenced by toString().
| DisassemblyImmediateAssignment & DisassemblyInstruction::longImmediate | ( | Word | index | ) | const |
Returns the long immediate at a given index.
| index | Index of the long immediate. |
| OutOfRange | If the give index is out of range. |
Definition at line 122 of file DisassemblyInstruction.cc.
References __func__, longImmediateCount(), and longImmediates_.
Referenced by DisassemblyGridTable::GetValue(), and toString().

| Word DisassemblyInstruction::longImmediateCount | ( | ) | const |
Returns number of long immediates in the instruction.
Definition at line 109 of file DisassemblyInstruction.cc.
References longImmediates_.
Referenced by DisassemblyGridTable::GetValue(), longImmediate(), and toString().
| DisassemblyInstructionSlot & DisassemblyInstruction::move | ( | Word | index | ) | const |
Returns the isntruction move at a given index.
| index | Index of the move. |
| OutOfRange | If the give index is out of range. |
Definition at line 82 of file DisassemblyInstruction.cc.
References moveCount(), and moves_.
Referenced by addMove(), DisassemblyGridTable::GetValue(), and toString().

| Word DisassemblyInstruction::moveCount | ( | ) | const |
Returns number of moves in the instruction.
Definition at line 69 of file DisassemblyInstruction.cc.
References moves_.
Referenced by move(), and toString().
|
private |
Assignment not allowed.
| std::string DisassemblyInstruction::toString | ( | ) | const |
Returns disassembly of the instruction.
Definition at line 135 of file DisassemblyInstruction.cc.
References annotation(), annotationCount(), longImmediate(), longImmediateCount(), move(), moveCount(), DisassemblyAnnotation::toString(), DisassemblyImmediateAssignment::toString(), and DisassemblyInstructionSlot::toString().
Referenced by POMDisassembler::disassemble(), and TPEFDumper::section().

|
private |
Annotationes of instruction itself.
Definition at line 84 of file DisassemblyInstruction.hh.
Referenced by addAnnotation(), annotation(), and annotationCount().
|
private |
List of instruction long immediates.
Definition at line 81 of file DisassemblyInstruction.hh.
Referenced by addLongImmediate(), longImmediate(), and longImmediateCount().
|
private |
List of instruction moves.
Definition at line 78 of file DisassemblyInstruction.hh.
Referenced by addMove(), move(), moveCount(), and ~DisassemblyInstruction().