Go to the documentation of this file.
35 #ifndef TCEASM_CODE_SECTION_CREATOR_HH
36 #define TCEASM_CODE_SECTION_CREATOR_HH
45 class InstructionElement;
void newSection(UValue startAddress)
InternalSection internalSection_
Internal representation of code section.
static const UValue CODE_RELOC_SIZE
Bitwidth of immediate value containing address to relocate.
CodeSectionCreator(MachineResourceManager &resourceManager, const TTAMachine::Machine &targetMachine, AssemblyParserDiagnostic *parent)
bool isBegin
Is first move of an instruction.
UValue startAddress
Start address of the section.
TPEF::MoveElement::FieldType srcType
Source type.
bool isGuarded
Is guarded move.
ElementType type
Type of move.
@ IMMEDIATE
Long immediate assignment.
void addMove(const ParserMove &move)
UValue srcUnit
TPEF Resource section unit id of register or port.
UValue dstIndex
TPEF Resource section operand id or register number.
UValue guardUnit
TPEF Resource section unit id of guard register or port.
LiteralOrExpression immValue
If source is immediate, the value.
std::vector< Annotation > annotationes
Annotations for the element.
TPEF::MoveElement::FieldType dstType
Destination type.
void startNewInstruction()
TPEF::MoveElement::FieldType guardType
Guard type.
UValue slotNumber_
Slot number of current move.
UValue dstUnit
TPEF Resource section unit id of register or port.
UValue immediateIndex_
Immediate index.
void addAnnotationes(TPEF::InstructionElement &instrElem, InternalElement &elem, LabelManager &lables) const
MachineResourceManager & resources_
TPEF Resources and strings.
void finalize(TPEF::Binary &tpef, LabelManager &labels)
const TTAMachine::Machine & mach_
UValue asmLineNumber
Line number where in source code this move is located.
bool isInverted
Is guard inverted.
UValue srcIndex
TPEF Resource section operand id or register number.
UValue slot
Bus slot number.
bool isNextBegin_
Next element is starting element of instruction.
AssemblyParserDiagnostic * parent_
Place to add warnings during compilation.
std::vector< InternalElement > elements
Elements of the section.
bool isDestinationAlreadyWritten(const InternalElement &elem) const
UValue guardIndex
TPEF Resource section operand id or register number.