tip.vm
Class TipVm

java.lang.Object
  extended by tip.vm.TipVm

public class TipVm
extends Object


Field Summary
static int HEAP_BASE
           
static int MEM_SIZE
           
static int OP_ADD
           
static int OP_ALOAD
           
static int OP_CALL
           
static int OP_CALL_INDIRECT
           
static int OP_DEREF
           
static int OP_DIV
           
static int OP_GOTO
           
static int OP_IFCMP_EQ
           
static int OP_IFCMP_GT
           
static int OP_IFEQ
           
static int OP_IFNE
           
static int OP_INPUT
           
static int OP_LOAD
           
static int OP_LOADC
           
static int OP_MALLOC
           
static int OP_MLOAD
           
static int OP_MSTORE
           
static int OP_MUL
           
static int OP_OUTPUT
           
static int OP_RETURN
           
static int OP_STORE
           
static int OP_SUB
           
static int STACK_BASE
           
 
Constructor Summary
TipVm(int[] mem)
           
 
Method Summary
 void callFunction(int function, int returnAddress)
           
 int deref(int address)
           
 int getLocal(int index)
           
 int malloc()
           
 void mstore(int address, int value)
           
 int pop()
           
 void push(int value)
           
 int readInput()
           
 void runProgram()
           
 void setLocal(int index, int value)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MEM_SIZE

public static final int MEM_SIZE
See Also:
Constant Field Values

HEAP_BASE

public static final int HEAP_BASE
See Also:
Constant Field Values

STACK_BASE

public static final int STACK_BASE
See Also:
Constant Field Values

OP_ADD

public static final int OP_ADD
See Also:
Constant Field Values

OP_SUB

public static final int OP_SUB
See Also:
Constant Field Values

OP_MUL

public static final int OP_MUL
See Also:
Constant Field Values

OP_DIV

public static final int OP_DIV
See Also:
Constant Field Values

OP_IFEQ

public static final int OP_IFEQ
See Also:
Constant Field Values

OP_IFNE

public static final int OP_IFNE
See Also:
Constant Field Values

OP_IFCMP_EQ

public static final int OP_IFCMP_EQ
See Also:
Constant Field Values

OP_IFCMP_GT

public static final int OP_IFCMP_GT
See Also:
Constant Field Values

OP_LOADC

public static final int OP_LOADC
See Also:
Constant Field Values

OP_LOAD

public static final int OP_LOAD
See Also:
Constant Field Values

OP_ALOAD

public static final int OP_ALOAD
See Also:
Constant Field Values

OP_STORE

public static final int OP_STORE
See Also:
Constant Field Values

OP_MLOAD

public static final int OP_MLOAD
See Also:
Constant Field Values

OP_MSTORE

public static final int OP_MSTORE
See Also:
Constant Field Values

OP_CALL

public static final int OP_CALL
See Also:
Constant Field Values

OP_CALL_INDIRECT

public static final int OP_CALL_INDIRECT
See Also:
Constant Field Values

OP_RETURN

public static final int OP_RETURN
See Also:
Constant Field Values

OP_GOTO

public static final int OP_GOTO
See Also:
Constant Field Values

OP_MALLOC

public static final int OP_MALLOC
See Also:
Constant Field Values

OP_INPUT

public static final int OP_INPUT
See Also:
Constant Field Values

OP_OUTPUT

public static final int OP_OUTPUT
See Also:
Constant Field Values

OP_DEREF

public static final int OP_DEREF
See Also:
Constant Field Values
Constructor Detail

TipVm

public TipVm(int[] mem)
Method Detail

runProgram

public void runProgram()

push

public void push(int value)

pop

public int pop()

malloc

public int malloc()

callFunction

public void callFunction(int function,
                         int returnAddress)

getLocal

public int getLocal(int index)

setLocal

public void setLocal(int index,
                     int value)

deref

public int deref(int address)

mstore

public void mstore(int address,
                   int value)

readInput

public int readInput()