avrora.sim.mcu
Class ATMegaFamily.MaskableInterrupt

java.lang.Object
  extended byavrora.sim.mcu.ATMegaFamily.MaskableInterrupt
All Implemented Interfaces:
Simulator.Interrupt
Enclosing class:
ATMegaFamily

public class ATMegaFamily.MaskableInterrupt
extends java.lang.Object
implements Simulator.Interrupt

The MaskableInterrupt class represents an interrupt that is controlled by two bits in two registers: a mask bit in a mask register and a flag bit in a flag register, at the same offset. When this interrupt fires, it automatically clears the flag bit in the flag register.


Field Summary
protected  int bit
           
protected  ATMegaFamily.FlagRegister flagRegister
           
protected  int interruptNumber
           
protected  ATMegaFamily.MaskRegister maskRegister
           
protected  boolean sticky
           
 
Constructor Summary
ATMegaFamily.MaskableInterrupt(int num, ATMegaFamily.MaskRegister mr, ATMegaFamily.FlagRegister fr, int b, boolean e)
           
 
Method Summary
 void fire()
          The fire() method is called by the simulator when the interrupt is about to be processed (i.e. it has been posted, and is not masked).
 void force()
          The force() method is called by the simulator when an interrupt is being forced by an outside source (i.e. not of the simulation).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

interruptNumber

protected final int interruptNumber

maskRegister

protected final ATMegaFamily.MaskRegister maskRegister

flagRegister

protected final ATMegaFamily.FlagRegister flagRegister

bit

protected final int bit

sticky

protected final boolean sticky
Constructor Detail

ATMegaFamily.MaskableInterrupt

public ATMegaFamily.MaskableInterrupt(int num,
                                      ATMegaFamily.MaskRegister mr,
                                      ATMegaFamily.FlagRegister fr,
                                      int b,
                                      boolean e)
Method Detail

force

public void force()
Description copied from interface: Simulator.Interrupt
The force() method is called by the simulator when an interrupt is being forced by an outside source (i.e. not of the simulation). For example, when stress testing a program by bombarding it with interrupts, this method would be used.

Specified by:
force in interface Simulator.Interrupt

fire

public void fire()
Description copied from interface: Simulator.Interrupt
The fire() method is called by the simulator when the interrupt is about to be processed (i.e. it has been posted, and is not masked). This method is called just before control is transferred to the interrupt handler.

Specified by:
fire in interface Simulator.Interrupt