|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object avrora.sim.BaseInterpreter.StateImpl
Constructor Summary | |
BaseInterpreter.StateImpl()
|
Method Summary | |
long |
getCycles()
The getCycles() method returns the clock cycle count recorded so far in the simulation. |
byte |
getDataByte(int address)
The getDataByte() method reads a byte value from the data memory (SRAM) at the specified
address. |
boolean |
getFlag_C()
The getFlag_C() method returns the current value of the C bit in the status register as a
boolean. |
boolean |
getFlag_H()
The getFlag_H() method returns the current value of the H bit in the status register as a
boolean. |
boolean |
getFlag_I()
The getFlag_I() method returns the current value of the I bit in the status register as a
boolean. |
boolean |
getFlag_N()
The getFlag_N() method returns the current value of the N bit in the status register as a
boolean. |
boolean |
getFlag_S()
The getFlag_S() method returns the current value of the S bit in the status register as a
boolean. |
boolean |
getFlag_T()
The getFlag_T() method returns the current value of the T bit in the status register as a
boolean. |
boolean |
getFlag_V()
The getFlag_V() method returns the current value of the V bit in the status register as a
boolean. |
boolean |
getFlag_Z()
The getFlag_Z() method returns the current value of the Z bit in the status register as a
boolean. |
Instr |
getInstr(int address)
The getInstr() can be used to retrieve a reference to the Instr object
representing the instruction at the specified program address. |
InterruptTable |
getInterruptTable()
The getInterruptTable() method gets a reference to the interrupt table,
which contains information about each interrupt, such as whether it is enabled, posted,
pending, etc. |
ActiveRegister |
getIOReg(int ioreg)
The getIOReg() method is used to retrieve a reference to the actual IOReg
instance stored internally in the state. |
byte |
getIORegisterByte(int ioreg)
The getIORegisterByte() method reads the value of an IO register. |
int |
getPC()
The getPC() retrieves the current program counter. |
byte |
getProgramByte(int address)
The getProgramByte() method reads a byte value from the program (Flash) memory. |
byte |
getRegisterByte(Register reg)
Read a general purpose register's current value as a byte. |
int |
getRegisterUnsigned(Register reg)
Read a general purpose register's current value as an integer, without any sign extension. |
int |
getRegisterWord(Register reg)
Read a general purpose register pair as an unsigned word. |
Simulator |
getSimulator()
The getSimulator() method returns the simulator associated with this state
instance. |
int |
getSleepMode()
The getSleepMode() method returns an integer code describing which sleep mode the
microcontroller is currently in. |
int |
getSP()
The getSP() method reads the current value of the stack pointer. |
byte |
getSREG()
The getSREG() method reads the value of the status register. |
byte |
getStackByte()
The getStackByte() method reads a byte from the address specified by SP+1. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public BaseInterpreter.StateImpl()
Method Detail |
public Simulator getSimulator()
getSimulator()
method returns the simulator associated with this state
instance.
getSimulator
in interface State
public InterruptTable getInterruptTable()
getInterruptTable()
method gets a reference to the interrupt table,
which contains information about each interrupt, such as whether it is enabled, posted,
pending, etc.
getInterruptTable
in interface State
InterruptTable
instancepublic byte getRegisterByte(Register reg)
getRegisterByte
in interface State
reg
- the register to read
public int getRegisterUnsigned(Register reg)
getRegisterUnsigned
in interface State
reg
- the register to read
public int getRegisterWord(Register reg)
getRegisterWord
in interface State
reg
- the low register of the pair to read
public byte getSREG()
getSREG()
method reads the value of the status register. The status register contains
the I, T, H, S, V, N, Z, and C flags, in order from highest-order to lowest-order.
getSREG
in interface State
public boolean getFlag_I()
getFlag_I()
method returns the current value of the I bit in the status register as a
boolean.
getFlag_I
in interface State
public boolean getFlag_T()
getFlag_T()
method returns the current value of the T bit in the status register as a
boolean.
getFlag_T
in interface State
public boolean getFlag_H()
getFlag_H()
method returns the current value of the H bit in the status register as a
boolean.
getFlag_H
in interface State
public boolean getFlag_S()
getFlag_S()
method returns the current value of the S bit in the status register as a
boolean.
getFlag_S
in interface State
public boolean getFlag_V()
getFlag_V()
method returns the current value of the V bit in the status register as a
boolean.
getFlag_V
in interface State
public boolean getFlag_N()
getFlag_N()
method returns the current value of the N bit in the status register as a
boolean.
getFlag_N
in interface State
public boolean getFlag_Z()
getFlag_Z()
method returns the current value of the Z bit in the status register as a
boolean.
getFlag_Z
in interface State
public boolean getFlag_C()
getFlag_C()
method returns the current value of the C bit in the status register as a
boolean.
getFlag_C
in interface State
public byte getStackByte()
getStackByte()
method reads a byte from the address specified by SP+1. This method
should not be called with an empty stack, as it will cause an exception consistent with trying to read
non-existent memory.
getStackByte
in interface State
public int getSP()
getSP()
method reads the current value of the stack pointer. Since the stack pointer
is stored in two IO registers, this method will cause the invocation of the .read()
method
on each of the IOReg
objects that store these values.
getSP
in interface State
public int getPC()
getPC()
retrieves the current program counter.
getPC
in interface State
public Instr getInstr(int address)
getInstr()
can be used to retrieve a reference to the Instr
object
representing the instruction at the specified program address. Care should be taken that the address in
program memory specified does not contain data. This is because Avrora does have a functioning
disassembler and assumes that the Instr
objects for each instruction in the program are
known a priori.
getInstr
in interface State
address
- the byte address from which to read the instruction
Instr
object representing the instruction at that address in
the programpublic byte getDataByte(int address)
getDataByte()
method reads a byte value from the data memory (SRAM) at the specified
address.
getDataByte
in interface State
address
- the byte address to read
java.lang.ArrayIndexOutOfBoundsException
- if the specified address is not the valid memory rangepublic byte getProgramByte(int address)
getProgramByte()
method reads a byte value from the program (Flash) memory. The flash
memory generally stores read-only values and the instructions of the program. Care should be taken that
the program memory at the specified address does not contain an instruction. This is because, in
general, programs should not read instructions as data, and secondly, because no assembler is present
in Avrora and therefore the actual byte value of an instruction may not be known.
getProgramByte
in interface State
address
- the byte address at which to read
java.lang.ArrayIndexOutOfBoundsException
- if the specified address is not the valid program memory rangepublic byte getIORegisterByte(int ioreg)
getIORegisterByte()
method reads the value of an IO register. Invocation of this
method causes an invocatiobn of the .read()
method on the corresponding internal
IOReg
object, and its value returned.
getIORegisterByte
in interface State
ioreg
- the IO register number
public ActiveRegister getIOReg(int ioreg)
getIOReg()
method is used to retrieve a reference to the actual IOReg
instance stored internally in the state. This is generally only used in the simulator and device
implementations, and clients should probably not call this memory directly.
getIOReg
in interface State
ioreg
- the IO register number to retrieve
ActiveRegister
instance of the specified IO registerpublic long getCycles()
getCycles()
method returns the clock cycle count recorded so far in the simulation.
getCycles
in interface State
public int getSleepMode()
getSleepMode()
method returns an integer code describing which sleep mode the
microcontroller is currently in.
getSleepMode
in interface State
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |