|
ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
|
stores a bit vector More...
#include <Instruction.h>


Public Member Functions | |
| BitArray (const super &a) | |
| unsigned | byteCount () const |
| unsigned | intCount () const |
| void | set_value (size_type width, unsigned long value) |
| change the value the object is holding | |
| void | set_value (unsigned long value) |
| BitArray | get_range (size_type end, size_type start) const |
| get the interval [end, start] | |
| void | set_range (unsigned long val, size_type end, size_type start) |
| set the value to the interval [end, start] | |
| std::string | to_string () const |
| string representation of the BitArray | |
Static Public Member Functions | |
| static std::vector< BitArray > | permutate (const BitArray &input, std::vector< size_type > indexes) |
| permutates the given input at the specified indexes. | |
Private Types | |
| typedef boost::dynamic_bitset | super |
stores a bit vector
Definition at line 113 of file Instruction.h.
|
private |
Definition at line 116 of file Instruction.h.
|
inline |
Definition at line 120 of file Instruction.h.
| unsigned etiss::instr::BitArray::byteCount | ( | ) | const |
Definition at line 96 of file Instruction.cpp.
Referenced by RV32IMACFDArch::initInstrSet(), RV64IMACFDArch::initInstrSet(), and etiss::Translation::translateBlock().

get the interval [end, start]
Definition at line 142 of file Instruction.cpp.
Referenced by etiss::instr::InstructionSet::compile(), etiss::instr::BitArrayRange::read(), and etiss::instr::InstructionSet::resolve().

| unsigned etiss::instr::BitArray::intCount | ( | ) | const |
Definition at line 104 of file Instruction.cpp.
Referenced by etiss::CPUArch::compensateEndianess(), etiss::Translation::disasm(), and etiss::Translation::translateBlock().

|
static |
permutates the given input at the specified indexes.
Ex: the bit array of 0101 with indexes 1 and 3 will be permutated to 0101, 0111, 1101, 1111
Definition at line 113 of file Instruction.cpp.
Referenced by etiss::instr::InstructionSet::compile().

set the value to the interval [end, start]
Definition at line 151 of file Instruction.cpp.
Referenced by etiss::instr::BitArrayRange::write().

| void etiss::instr::BitArray::set_value | ( | size_type | width, |
| unsigned long | value | ||
| ) |
change the value the object is holding
Definition at line 131 of file Instruction.cpp.
References b.
Referenced by etiss::CPUArch::compensateEndianess(), etiss::Translation::disasm(), set_value(), and etiss::Translation::translateBlock().

| void etiss::instr::BitArray::set_value | ( | unsigned long | value | ) |
Definition at line 137 of file Instruction.cpp.
References set_value().

| std::string etiss::instr::BitArray::to_string | ( | ) | const |