avrora.sim.mcu
Class ATMegaFamily.MaskRegister

java.lang.Object
  extended byavrora.sim.State.RWIOReg
      extended byavrora.sim.mcu.ATMegaFamily.IMRReg
          extended byavrora.sim.mcu.ATMegaFamily.MaskRegister
All Implemented Interfaces:
State.IOReg
Direct Known Subclasses:
ATMega128L.SimImpl.USART.ControlRegisterB
Enclosing class:
ATMegaFamily

public class ATMegaFamily.MaskRegister
extends avrora.sim.mcu.ATMegaFamily.IMRReg


Field Summary
 ATMegaFamily.FlagRegister flagRegister
           
protected  long interruptMask
           
protected  int[] mapping
          The mapping array maps a bit number (0-7) to an interrupt number (0-35).
 
Fields inherited from class avrora.sim.State.RWIOReg
value
 
Constructor Summary
ATMegaFamily.MaskRegister(int[] map, ATMegaFamily.FlagRegister fr)
           
 
Method Summary
protected  int getVectorNum(int bit)
           
 void update(avrora.sim.mcu.ATMegaFamily.IMRReg other)
           
 void update(int bit, avrora.sim.mcu.ATMegaFamily.IMRReg other)
           
 void write(byte val)
          The write() method writes an 8-bit value to the IO register as a byte.
 void writeBit(int bit, boolean val)
          The writeBit() method writes a single bit value into the IO register at the specified bit offset.
 
Methods inherited from class avrora.sim.State.RWIOReg
read, readBit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

flagRegister

public final ATMegaFamily.FlagRegister flagRegister

mapping

protected final int[] mapping
The mapping array maps a bit number (0-7) to an interrupt number (0-35). This is used for calculating the posted interrupts.


interruptMask

protected final long interruptMask
Constructor Detail

ATMegaFamily.MaskRegister

public ATMegaFamily.MaskRegister(int[] map,
                                 ATMegaFamily.FlagRegister fr)
Method Detail

write

public void write(byte val)
Description copied from class: State.RWIOReg
The write() method writes an 8-bit value to the IO register as a byte. For simple RWIOReg instances, this simply writes the internally stored value.

Specified by:
write in interface State.IOReg
Overrides:
write in class State.RWIOReg
Parameters:
val - the value to write

writeBit

public void writeBit(int bit,
                     boolean val)
Description copied from interface: State.IOReg
The writeBit() method writes a single bit value into the IO register at the specified bit offset.

Specified by:
writeBit in interface State.IOReg
Overrides:
writeBit in class State.RWIOReg

update

public void update(avrora.sim.mcu.ATMegaFamily.IMRReg other)

update

public void update(int bit,
                   avrora.sim.mcu.ATMegaFamily.IMRReg other)

getVectorNum

protected int getVectorNum(int bit)