|
Type |
mnemonic |
argument |
description |
Reading memory |
PUSHC |
const |
Pushes a constant onto the stack |
|
PUSHL |
id |
Pushes local var id onto the stack |
|
PUSHA |
id |
Pushes Mcontext[id] onto the stack |
|
PUSHV |
id |
Pushes Scontext[id] onto the stack |
|
PUSHG |
id |
Pushes Gcontext[id] onto the stack |
|
PUSHS |
|
Pops index and offset and pushes the dereference of offset+index |
Writing memory |
STOREL |
id |
Stores the top stack element in local variable id |
|
STOREG |
id |
Stores the top stack element in Gcontext variable id |
|
STOREV |
id |
Stores the top stack element in Scontext variable id |
|
STOREA |
id |
Stores the top stack element in Mcontext variable id |
|
STORES |
|
Pops value, index and offset and stores the value in the address offset+index |
Special |
CALL |
id |
Performs system call id (arguments are taken from the stack) |
|
NTFY |
|
Sends a message containing the stack contents to all subscribers in Scontext |
|
FLOOD |
|
Floods a message containing the stack contents into the network |
Arithmetic |
ADD |
|
S, x, y → S, x+y |
|
SUB |
|
S, x, y → S, x-y |
|
MUL |
|
S, x, y → S, x*y |
|
DIV |
|
S, x, y → S, x/y |
|
MOD |
|
S, x, y → S, x%y |
Comparison |
LESS |
|
S, x, y → S, x < y |
|
GREAT |
|
S, x, y → S, x > y |
|
LEQ |
|
S, x, y → S, x ≤ y |
|
GEQ |
|
S, x, y → S, x ≥ y |
|
EQ |
|
S, x, y → S, x = y |
|
NEQ |
|
S, x, y → S, x ≠ y |
Logical |
NOT |
|
S, x → S, ~x |
|
AND |
|
S, x, y → S, x ∧ y |
|
OR |
|
S, x, y → S, x ∨y |
Bitwise |
BAND |
|
S, x, y → S, x & y |
|
BOR |
|
S, x, y → S, x | y |
|
BXOR |
|
S, x, y → S, x ^ y |
Control |
RJT |
dist |
S, x → S; PC += dist if x |
|
RJF |
dist |
S, x → S; PC += dist if ~x |
|
JUMP |
addr |
S, x → S; PC = addr |
|