These are commands recognized by the assembler program. Each command should be written in a separate line. Comments should be marked with the # symbol at the beginning of the line.
- END - successfully end program execution.
- POP - remove last element from the stack.
- OUT - print last element of the stack as a number.
- ADD - remove last two elements from the stack and push their sum back.
- SUB - remove last two elements from the stack and push their difference back.
- MUL - remove last two elements from the stack and push their product back.
- DIV - remove last two elements from the stack and push their quotient back.
- DUP - duplicate last element of the stack.
- ABORT - abort program execution with failure.
- HERE argument (string) - declare label at ths position in code.
- JMP argument ((string) label name or (int) ip delta) - set execution pointer to the specified label.
- JMP[G/L/E/LE/GE] argument ((string) label name or (int) ip delta) - remove last two elements from the stack and, if the first one of them is greater/less/equal/less or equal/greater or equal then the other, perform jump to the specified label.
- OUTC - print symbol coresponding (acc. to UTF-8) to the last element on the stack.
- PUSH source - push value to the stack from source (source can be integer, character (if marked with brackets), register in the form of RAX, RBX, RCX e.t.c. or RAM cell (index can be specified in figure brackets and can be the value in the register)).
- MOVE dest - move top value from the stack to the destination (destination is specified in the same format as PUSH source).
- VSET - set video memory cell at [last element of the stack] to the value of [previous to the last element in the stack]. One element from the stack gets deleted.
- VGET - replace the last element of the stack with the value from the video memory stored at the specified index.
- CCLR - clear the console.
- DRAW - draw video memory content to the screen as ASCII-art.
- CALL argument ((string) label name or (int) ip delta) - perform jump and add current IP to the address stack.
- RET - return to the last position mention in address stack.
- IN - read integer from the console and put it into the stack.