| 1 |
BEGIN |
Перевод процессора в режим исполнения команд. |
| 2 |
END |
Остановка выполнения команд. |
| 3 |
PUSH value |
Добавление на вершину стека числа value. |
| 4 |
POP |
Удаление числа из вершины стека. |
| 5 |
PUSHR reg |
Чтение регистра reg и добавление его на вершину стека. |
| 6 |
POPR reg |
Удаление числа из вершины стека и его запись в регистр reg. |
| 7 |
ADD |
Сложение двух верхних значений на вершине стека с сохранением результата. |
| 8 |
SUB |
Вычитание двух верхних значений на вершине стека с сохранением результата. |
| 9 |
MUL |
Умножение двух верхних значений на вершине стека с сохранением результата. |
| 10 |
DIV |
Деление двух верхних значений на вершине стека с сохранением результата. |
| 11 |
OUT |
Удаление числа из вершины стека с выводом в консоль. |
| 12 |
IN |
Считывание из консоли числа с сохранением на вершине стека. |
| 13 |
JMP _label |
Безусловный переход на метку label. |
| 14 |
JEQ _label |
Условный переход на метку label, если верхние два числа на стеке равны. |
| 15 |
JNE _label |
Условный переход на метку label, если верхние два числа на стеке не равны. |
| 16 |
JA _label |
Условный переход на метку label, если верхнее число на стеке больше следующего за ним. |
| 17 |
JAE _label |
Условный переход на метку label, если верхнее число на стеке больше или равно следующему за ним. |
| 18 |
JB _label |
Условный переход на метку label, если верхнее число на стеке меньше следующего за ним. |
| 19 |
JBE _label |
Условный переход на метку label, если верхнее число на стеке меньше или равно следующему за ним. |
| 20 |
CALL _label |
Вызов функции, тело которой располагается по метке label. |
| 21 |
RET |
Возврат из функции. |