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