ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Public Member Functions | Public Attributes | List of all members
etiss::instr::BitArrayRange Class Reference

Reading through it will only return bits within the range. More...

#include <Instruction.h>

Collaboration diagram for etiss::instr::BitArrayRange:
Collaboration graph
[legend]

Public Member Functions

 BitArrayRange (unsigned endindex_included, unsigned startindex_included)
 
I read (const BitArray &ba)
 reads bits from the range to the return value starting at the lsb. More...
 
void write (BitArray &ba, I val)
 write the bit from the passed value starting at the lsb to the range. More...
 
BitArray::size_type start ()
 highest bit of the range (included) More...
 
BitArray::size_type end ()
 lowest bit of the range (included). More...
 

Public Attributes

etiss_del_como(BitArrayRange) private BitArray::size_type endpos
 

Detailed Description

Reading through it will only return bits within the range.

The length of the range may not be larger than sizeof(I)*8.

Definition at line 207 of file Instruction.h.

Constructor & Destructor Documentation

◆ BitArrayRange()

etiss::instr::BitArrayRange::BitArrayRange ( unsigned  endindex_included,
unsigned  startindex_included 
)
Attention
startindex_included MUST be the higher valued index. Only exception is for zero length ranges where startindex_included+1==endindex_included

Definition at line 195 of file Instruction.cpp.

Member Function Documentation

◆ end()

BitArray::size_type etiss::instr::BitArrayRange::end ( )

lowest bit of the range (included).

Attention
for zero length ranges end() equals start()+1

Definition at line 216 of file Instruction.cpp.

References endpos.

◆ read()

I etiss::instr::BitArrayRange::read ( const BitArray ba)

reads bits from the range to the return value starting at the lsb.

higher bits are set to zero

Definition at line 198 of file Instruction.cpp.

References endpos, and etiss::instr::BitArray::get_range().

Referenced by RV32IMACFDArch::initInstrSet(), and RV64IMACFDArch::initInstrSet().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ start()

BitArray::size_type etiss::instr::BitArrayRange::start ( )

highest bit of the range (included)

Definition at line 211 of file Instruction.cpp.

◆ write()

void etiss::instr::BitArrayRange::write ( BitArray ba,
I  val 
)

write the bit from the passed value starting at the lsb to the range.

Definition at line 205 of file Instruction.cpp.

References endpos, and etiss::instr::BitArray::set_range().

Here is the call graph for this function:

Member Data Documentation

◆ endpos

etiss_del_como (BitArrayRange) private BitArray::size_type etiss::instr::BitArrayRange::endpos

Definition at line 213 of file Instruction.h.

Referenced by end(), read(), and write().


The documentation for this class was generated from the following files: