Mnemonic |
Operands |
Description |
BIPUSH |
byte |
Push a byte onto stack |
DUP |
N/A |
Copy top word on stack and
push onto stack |
ERR |
N/A |
Print an error message and
halt the simulator |
GOTO |
label name |
Unconditional jump |
HALT |
N/A |
Halt the simulator |
IADD |
N/A |
Pop two words from stack;
push their sum |
IAND |
N/A |
Pop two words from stack;
push Boolean AND |
IFEQ |
label name |
Pop word from stack and
branch if it is zero |
IFLT |
label name |
Pop word from stack and
branch if it is less than zero |
IF_ICMPEQ |
label name |
Pop two words from stack
and branch if they are equal |
IINC |
variable name, byte |
Add a constant value to
a local variable |
ILOAD |
variable name |
Push local variable onto
stack |
IN |
N/A |
Reads a character from the
keyboard buffer and pushes it onto the stack. If no character is available,
0 is pushed |
INVOKEVIRTUAL |
method name |
Invoke a method |
IOR |
N/A |
Pop two words from stack;
push Boolean OR |
IRETURN |
N/A |
Return from method with integer
value |
ISTORE |
variable name |
Pop word from stack and
store in local variable |
ISUB |
N/A |
Pop two words from stack;
push their difference |
LDC_W |
constant name |
Push constant from constant
pool onto stack |
NOP |
N/A |
Do nothing |
OUT |
N/A |
Pop word off stack and print
it to standard out |
POP |
N/A |
Delete word from top of
stack |
SWAP |
N/A |
Swap the two top words on
the stack |
WIDE |
N/A |
Prefix instruction; next
instruction has a 16-bit index |