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
Interface Simulator.IORWatch

All Superinterfaces:
  Simulator.Watch

All Known Implementing Classes:
  MulticastIORWatch, Simulator.IORWatch.Empty

Enclosing interface:
  Simulator

public static interface Simulator.IORWatch
extends Simulator.Watch

The `IORWatch` interface represents a user probe that is fired when a watchpoint detects an access to an IO register where the watch has been inserted. Direct as well as indirect accesses (through pointers) are monitored. Implicit accesses for special registers such as SPL, SPH, and SREG in push, pop, call, sei, etc instructions are NOT MONITORED. These instructions are syntactically apparent in the program and can be probed with `Simulator.Probe` instructions. This interface extends the `Simulator.Watch` interface with methods to trap reads and writes to individual bits within a register.

Nested Class Summary
`static class` | `Simulator.IORWatch.Empty` The `Simulator.IORWatch.Empty` class acts as a base class with empty methods for each fireXXX() method.

Method Summary
`void` | `fireAfterBitRead(State state, int ioreg_num, int bit, boolean value)` The `fireAfterBitRead()` method is called after the data address is read by the program.
`void` | `fireAfterBitWrite(State state, int ioreg_num, int bit, boolean value)` The `fireAfterBitWrite()` method is called after the data address is written by the program.
`void` | `fireBeforeBitRead(State state, int ioreg_num, int bit)` The `fireBeforeBitRead()` method is called before the data address is read by the program.
`void` | `fireBeforeBitWrite(State state, int ioreg_num, int bit, boolean value)` The `fireBeforeBitWrite()` method is called before the data address is written by the program.

Methods inherited from interface avrora.sim.Simulator.Watch
`fireAfterRead, fireAfterWrite, fireBeforeRead, fireBeforeWrite`

Method Detail

### fireBeforeBitRead

    public void fireBeforeBitRead(State state,
                                  int ioreg_num,
                                  int bit)

  The `fireBeforeBitRead()` method is called before the data address is read by the program.

  Parameters:
    `state` - the state of the simulation
    `ioreg_num` - the number of the IO register being read

### fireBeforeBitWrite

    public void fireBeforeBitWrite(State state,
                                   int ioreg_num,
                                   int bit,
                                   boolean value)

  The `fireBeforeBitWrite()` method is called before the data address is written by the program.

  Parameters:
    `state` - the state of the simulation
    `ioreg_num` - the number of the IO register being read
    `value` - the value being written to the memory location

### fireAfterBitRead

    public void fireAfterBitRead(State state,
                                 int ioreg_num,
                                 int bit,
                                 boolean value)

  The `fireAfterBitRead()` method is called after the data address is read by the program.

  Parameters:
    `state` - the state of the simulation
    `ioreg_num` - the number of the IO register being read
    `value` - the value of the memory location being read

### fireAfterBitWrite

    public void fireAfterBitWrite(State state,
                                  int ioreg_num,
                                  int bit,
                                  boolean value)

  The `fireAfterBitWrite()` method is called after the data address is written by the program.

  Parameters:
    `state` - the state of the simulation
    `ioreg_num` - the number of the IO register being read
    `value` - the value being written to the memory location

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