avrora.sim
Interface ActiveRegister

All Known Implementing Classes:
ATMegaFamily.PinRegister, ProbedActiveRegister, RegisterSet.MultiFieldRegister, RWRegister, USART.ControlRegisterA

public interface ActiveRegister

The ActiveRegister interface models the behavior of a register that may perform some simulation work as a result of being read or written. For example, the register might configure a device, begin a transmission, or unpost an interrupt. Since some IO registers behave specially with regards to the devices they control, their functionality can be implemented externally to the interpreter, in the device implementation.


Method Summary
 byte read()
          The read() method reads the 8-bit value of the IO register as a byte.
 boolean readBit(int num)
          The readBit() method reads a single bit from the IO register.
 void write(byte val)
          The write() method writes an 8-bit value to the IO register as a byte.
 void writeBit(int num, boolean val)
          The writeBit() method writes a single bit value into the IO register at the specified bit offset.
 

Method Detail

read

public byte read()
The read() method reads the 8-bit value of the IO register as a byte. For special IO registers, this may cause some action like device activity, or the actual value of the register may need to be fetched or computed.

Returns:
the value of the register as a byte

write

public void write(byte val)
The write() method writes an 8-bit value to the IO register as a byte. For special IO registers, this may cause some action like device activity, masking/unmasking of interrupts, etc.

Parameters:
val - the value to write

readBit

public boolean readBit(int num)
The readBit() method reads a single bit from the IO register.

Parameters:
num - the number of the bit to read
Returns:
the value of the bit as a boolean

writeBit

public void writeBit(int num,
                     boolean val)
The writeBit() method writes a single bit value into the IO register at the specified bit offset.

Parameters:
num - the number of the bit to write
val - the value of the bit to write