uk.ac.man.cs.rainbow.simulator.rasm
Class GetArg

java.lang.Object
  |
  +--uk.ac.man.cs.rainbow.simulator.Instruction
        |
        +--uk.ac.man.cs.rainbow.simulator.rasm.GetArg
All Implemented Interfaces:
Serializable

public class GetArg
extends Instruction

Push a copy of the i'th value (based at 0) of the stack frame onto the top of the stack. Intended for accessing arguments passed to functions and local variables. Takes an optional argument that allows the direct specification of an index to get (bypassing the use of the stack.)

v0 ... vi ... vn i v0 ... vi ... vn vi

See Also:
PutArg, Serialized Form

Inner classes inherited from class uk.ac.man.cs.rainbow.simulator.Instruction
Instruction.MACRO
 
Constructor Summary
GetArg()
           
GetArg(int index)
           
GetArg(int index, RASMCode code)
           
GetArg(RASMCode code)
           
 
Method Summary
protected  boolean execute(RASMThread thread)
          Make this instruction execute in the given context.
 String toString()
           
 
Methods inherited from class uk.ac.man.cs.rainbow.simulator.Instruction
addClass, getInstruction, getInstruction, getInstruction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GetArg

public GetArg()

GetArg

public GetArg(int index)

GetArg

public GetArg(RASMCode code)

GetArg

public GetArg(int index,
              RASMCode code)
Method Detail

toString

public String toString()
Overrides:
toString in class Object

execute

protected boolean execute(RASMThread thread)
                   throws RASMThread.Exception
Description copied from class: Instruction
Make this instruction execute in the given context.
Overrides:
execute in class Instruction
Following copied from class: uk.ac.man.cs.rainbow.simulator.Instruction
Throws:
RainbowException - All sorts of things can go wrong during execution...