Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## avrora.sim.mcu
Class ATMegaFamily.MaskableInterrupt

    java.lang.Object
      avrora.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`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD