lilVM instruction reference
Instruction Description
INC RX Increments value at register RX
DEC RX Decrements value at register RX
SET :number: RX Sets decimal number value in register RX
LOAD RA RD Loads value from memory at address RA (register value) to destination register RD.
LOADIM :number: RD Loads decimal number value to destination register RD.
STORE RA RV Stores value to memory at address RA (register value) from value register RV.
EQ RX RY @:label: Compares RX, RY values and if RX == RY jumps to @:label:
NEQ RX RY @:label: Compares RX, RY values and if RX != RY jumps to @:label:
LT RX RY @:label: Compares RX, RY values and if RX < RY jumps to @:label:
LTE RX RY @:label: Compares RX, RY values and if RX <= RY jumps to @:label:
GT RX RY @:label: Compares RX, RY values and if RX > RY jumps to @:label:
GTE RX RY @:label: Compares RX, RY values and if RX >= RY jumps to @:label:
ADD RA RB RC Adds registers RA, RB. RC = RA + RB
SUB RA RB RC Subtracts registers RA, RB. RC = RA - RB.
MUL RA RB RC Integer multiplication of registers RA, RB. RC = RA * RB.
DIV RA RB RC Integer division of registers RA, RB. RC = RA / RB.
MOD RA RB RC Mod division of registers RA, RB. RC = RA % RB.