53 Address start,
int size,
bool littleEndian,
58 littleEndian_(littleEndian) {
59 if (initData != NULL) {
60 data_ =
new std::vector<MinimumAddressableUnit>(
size);
61 for (
int i = 0 ; i <
size; i++) {
68 "The given value does not fit to the MAU of address "
90 Address start,
const std::vector<MinimumAddressableUnit>& initData,
92 : start_(start), allZeros_(
false), littleEndian_(littleEndian) {
94 for (std::size_t i = 0 ; i < initData.size(); i++) {
103 "The given value does not fit to the MAU of address "
109 data_ =
new std::vector<MinimumAddressableUnit>(initData);
160 index =
size() - index -1;
172 int remainingBits = totalAreaDefBits - maskBits;
178 int addressMaskBits = addressBits - remainingBits;
181 if (addressMaskBits >= 0) {
182 retVal = retVal << addressMaskBits;
184 retVal = retVal >> (-addressMaskBits);
196 return (*
data_)[index];
201 "Definition does not contain initialisation data.");
244 "Data definition does not contain an address reference.");
254 "Data definition does not refer to a data address.");
#define assert(condition)
Word MinimumAddressableUnit
Type for storing a MAU (must be unsigned type!). This limits the maximum size of the simulated minimu...
find Finds info of the inner loops in the false
virtual int width() const
const TTAMachine::AddressSpace & space() const
InstructionAddress location() const
virtual Address startAddress() const
Address start_
Start address of definition.
bool allZeros_
Is all the data zeros? (In this case data_ is null)
virtual bool isAddress() const
virtual bool isInitialized() const
virtual MinimumAddressableUnit MAU(int index) const
virtual Address destinationAddress() const
virtual bool isInstructionAddress() const
virtual void setStartAddress(Address start)
virtual void setDestinationAddress(Address dest)
DataDefinition(Address start, int size, bool littleEndian, MinimumAddressableUnit *initData=NULL, bool allZeros=false)
int size_
Size of uninitialized data definition.
virtual ~DataDefinition()
virtual DataDefinition * copy() const
std::vector< MinimumAddressableUnit > * data_
Init data of definition.