Go to the documentation of this file.
34 #ifndef TTA_BINARY_ENCODING_HH
35 #define TTA_BINARY_ENCODING_HH
95 const std::string& iTemp,
const std::string& dstUnit)
const;
116 virtual int width()
const;
InstructionFormat & instructionFormat(int index) const
virtual int childFieldCount() const
ImmediateSlotField & immediateSlot(int index) const
bool hasMoveSlot(const std::string &name) const
void deleteImmediateSlots()
void removeInstructionFormat(InstructionFormat &format)
void removeMoveSlot(MoveSlot &slot)
InstructionFormatContainer instructionFormats_
A container for instruction formats.
int longImmDstRegisterFieldCount() const
std::vector< LImmDstRegisterField * > LImmDstRegisterFieldContainer
Container type for LImmDstRegisterFields.
std::vector< MoveSlot * > MoveSlotContainer
Container type for MoveSlots.
MoveSlotContainer moveSlots_
A container for move slots.
void setImmediateControlField(ImmediateControlField &field)
void unsetImmediateControlField()
static const std::string OSNAME_TEMPLATE_EXTRA_BITS
bool hasImmediateControlField() const
int socketCodeTableCount() const
std::map< TCEString, int > TemplateExtraBitCountMap
Template extra bit count container.
virtual int width() const
std::vector< InstructionFormat * > InstructionFormatContainer
Container type for InstructionFormats.
bool hasInstructionFormat(const std::string name) const
SocketCodeTable & socketCodeTable(int index) const
static const std::string OSNAME_TEMPLATE_NAME
int templateExtraBits(const TCEString &templateName) const
virtual ObjectState * saveState() const
void addLongImmDstRegisterField(LImmDstRegisterField &field)
ImmediateControlField * immediateField_
The immediate control field.
int longestTemplateExtraBits() const
virtual void loadState(const ObjectState *state)
LImmDstRegisterFieldContainer longImmDstRegFields_
A container for long immediate register fields.
void removeSocketCodeTable(SocketCodeTable &table)
SocketCodeTableContainer socketCodes_
A container for socket code tables.
int instructionFormatCount() const
void removeImmediateSlot(ImmediateSlotField &slot)
TemplateExtraBitCountMap extraTemplateBits_
Extra (padding) bits per instruction template.
int immediateSlotCount() const
static const std::string OSNAME_TEMPLATE_EXTRA_BIT_COUNT
bool hasImmediateSlot(const std::string &name) const
void setTemplateExtraBits(const TCEString &templateName, int bitCount)
virtual ~BinaryEncoding()
void addMoveSlot(MoveSlot &slot)
bool hasSocketCodeTable(const std::string &name) const
void addInstructionFormat(InstructionFormat &format)
static const std::string OSNAME_BEM
ObjectState name for binary encoding.
std::vector< ImmediateSlotField * > ImmediateSlotContainer
Container type for ImmediateSlotFields.
void addSocketCodeTable(SocketCodeTable &table)
std::vector< SocketCodeTable * > SocketCodeTableContainer
Container type for SocketCodeTables.
void deleteInstructionFormats()
ImmediateSlotContainer immediateSlots_
A container for immediate slots.
ImmediateControlField & immediateControlField() const
void removeLongImmDstRegisterField(LImmDstRegisterField &field)
MoveSlot & moveSlot(int index) const
virtual InstructionField & childField(int position) const
void deleteLongImmDstRegisterFields()
int moveSlotCount() const
void addImmediateSlot(ImmediateSlotField &slot)
LImmDstRegisterField & longImmDstRegisterField(int index) const
static const std::string OSNAME_FU_OPCODE