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
Class CodeSegment.ProbedInstr

    java.lang.Object
      avrora.core.Instr
          avrora.sim.CodeSegment.ProbedInstr

All Implemented Interfaces:
  InstrPrototype

Enclosing class:
  CodeSegment

protected class CodeSegment.ProbedInstr
extends Instr

The ProbedInstr class represents a wrapper around an instruction in the program that executes the probes before executing the instruction and after the instruction. For most methods on the `Instr` class, it simply forwards the call to the original instruction.

Nested Class Summary

Nested classes inherited from class avrora.core.Instr
`Instr.ADC, Instr.ADD, Instr.ADIW, Instr.AND, Instr.ANDI, Instr.ASR, Instr.BCLR, Instr.BLD, Instr.BRBC, Instr.BRBS, Instr.BRCC, Instr.BRCS, Instr.BREAK, Instr.BREQ, Instr.BRGE, Instr.BRHC, Instr.BRHS, Instr.BRID, Instr.BRIE, Instr.BRLO, Instr.BRLT, Instr.BRMI, Instr.BRNE, Instr.BRPL, Instr.BRSH, Instr.BRTC, Instr.BRTS, Instr.BRVC, Instr.BRVS, Instr.BSET, Instr.BST, Instr.CALL, Instr.CBI, Instr.CBR, Instr.CLC, Instr.CLH, Instr.CLI, Instr.CLN, Instr.CLR, Instr.CLS, Instr.CLT, Instr.CLV, Instr.CLZ, Instr.COM, Instr.CP, Instr.CPC, Instr.CPI, Instr.CPSE, Instr.DEC, Instr.EICALL, Instr.EIJMP, Instr.ELPM, Instr.ELPMD, Instr.ELPMPI, Instr.EOR, Instr.FMUL, Instr.FMULS, Instr.FMULSU, Instr.ICALL, Instr.IJMP, Instr.IMM_class, Instr.ImmediateRequired, Instr.IMMIMM_class, Instr.IMMREG_class, Instr.IMMWORD_class, Instr.IN, Instr.INC, Instr.InvalidImmediate, Instr.InvalidOperand, Instr.InvalidRegister, Instr.JMP, Instr.LD, Instr.LDD, Instr.LDI, Instr.LDPD, Instr.LDPI, Instr.LDS, Instr.LPM, Instr.LPMD, Instr.LPMPI, Instr.LSL, Instr.LSR, Instr.MOV, Instr.MOVW, Instr.MUL, Instr.MULS, Instr.MULSU, Instr.NEG, Instr.NONE_class, Instr.NOP, Instr.OR, Instr.ORI, Instr.OUT, Instr.POP, Instr.PUSH, Instr.RCALL, Instr.REG_class, Instr.REGIMM_class, Instr.REGIMMREG_class, Instr.RegisterRequired, Instr.REGREG_class, Instr.REGREGIMM_class, Instr.RET, Instr.RETI, Instr.RJMP, Instr.ROL, Instr.ROR, Instr.SBC, Instr.SBCI, Instr.SBI, Instr.SBIC, Instr.SBIS, Instr.SBIW, Instr.SBR, Instr.SBRC, Instr.SBRS, Instr.SEC, Instr.SEH, Instr.SEI, Instr.SEN, Instr.SER, Instr.SES, Instr.SET, Instr.SEV, Instr.SEZ, Instr.SLEEP, Instr.SPM, Instr.ST, Instr.STD, Instr.STPD, Instr.STPI, Instr.STS, Instr.SUB, Instr.SUBI, Instr.SWAP, Instr.TST, Instr.WDR, Instr.WORD_class, Instr.WrongNumberOfOperands`

Field Summary
`protected int` | `address`
`protected Instr` | `instr`
`protected MulticastProbe` | `probe`

Fields inherited from class avrora.core.Instr
`properties`

Constructor Summary
`CodeSegment.ProbedInstr(Instr i, CodeSegment.ProbedInstr prev)`
`CodeSegment.ProbedInstr(Instr i, int a)`

Method Summary
`void` | `accept(InstrVisitor v)` The `accept()` method is part of the visitor pattern for instructions.
`Instr` | `asInstr()` The `asInstr()` method converts an instruction into an AVR instruction.
`Instr` | `build(int address, Operand[] ops)` The `build()` method constructs a new `Instr` instance with the given operands, checking the operands against the constraints that are specific to each instruction.
`java.lang.String` | `getOperands()` The `getOperands()` method returns a string representation of the operands of the instruction.

Methods inherited from class avrora.core.Instr
`getCycles, getName, getSize, getVariant, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### address

    protected final int address

### instr

    protected final Instr instr

### probe

    protected final MulticastProbe probe

Constructor Detail

### CodeSegment.ProbedInstr

    public CodeSegment.ProbedInstr(Instr i,
                                   int a)

### CodeSegment.ProbedInstr

    public CodeSegment.ProbedInstr(Instr i,
                                   CodeSegment.ProbedInstr prev)

Method Detail

### accept

    public void accept(InstrVisitor v)

  Description copied from class: `Instr`
  The `accept()` method is part of the visitor pattern for instructions. The visitor pattern uses two virtual dispatches combined with memory overloading to achieve dispatching on multiple types. The result is clean and modular code.

  Specified by:
    `accept` in class `Instr`
  Parameters:
    `v` - the visitor to accept

### build

    public Instr build(int address,
                       Operand[] ops)

  Description copied from interface: `InstrPrototype`
  The `build()` method constructs a new `Instr` instance with the given operands, checking the operands against the constraints that are specific to each instruction.

  Parameters:
    `address` - the address at which the instruction will be located
    `ops` - the operands to the instruction
  Returns:
    a new `Instr` instance representing the instruction with the given operands

### getOperands

    public java.lang.String getOperands()

  Description copied from class: `Instr`
  The `getOperands()` method returns a string representation of the operands of the instruction. This is useful for printing and tracing of instructions as well as generating listings.

  Specified by:
    `getOperands` in class `Instr`
  Returns:
    a string representing the operands of the instruction

### asInstr

    public Instr asInstr()

  Description copied from class: `Instr`
  The `asInstr()` method converts an instruction into an AVR instruction. This is used internally for special types of instructions (that are used in the interpreter, for example) so that they behave correctly when reading them from an executing program.

  Overrides:
    `asInstr` in class `Instr`
  Returns:
    an object representing this instruction that is one of the valid AVR instructions; null if this instruction is a "special" type of instruction such as those used internally in the interpreter

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