Язык программирования ByteX предоставляет следующие инструкции:
-
shl dest, count: выполнить побитовый сдвиг влево (<<) над содержимым регистра dest на count позиций и сохранить результат в dest.
-
shr dest, count: выполнить побитовый сдвиг вправо (>>) над содержимым регистра dest на count позиций и сохранить результат в dest.
-
call syscall: вызвать системный вызов syscall.
-
func name: перейти к определенной функции с именем name.
-
goto name: безусловно перейти к метке с именем name.
-
jmpz name: перейти к метке с именем name, если значение регистра $r1 равно 0.
-
jmpg name: перейти к метке с именем name, если значение регистра $r1 больше 0.
-
pop: удалить последний элемент из стека.
-
push stuff: добавить элемент stuff в стек.
-
*inc: увеличить значение последнего элемента стека на 1.
-
dec: уменьшить значение последнего элемента стека на 1.
-
pull: получить значение последнего элемента стека.
-
atan num: вычислить арктангенс num и сохранить результат в регистре $r1.
-
add num num2: сложить числа num и num2 и сохранить результат в регистре $r1.
-
sub num num2: вычесть число num2 из числа num и сохранить результат в регистре $r1.
-
div num num2: разделить число num на число num2 и сохранить результат в регистре $r1.
-
mul num num2: умножить числа num и num2 и сохранить результат в регистре $r1.
-
mod num num2: вычислить остаток от деления числа num на число num2 и сохранить результат в регистре $r1.
-
equ a b: проверить равенство чисел a и b и сохранить результат (1 - равны, 0 - не равны) в регистре $r1.
-
xor a b: выполнить побитовое исключающее ИЛИ над числами a и b и сохранить результат в регистре $r1.
-
or a b: выполнить побитовое ИЛИ над числами a и b и сохранить результат в регистре $r1.
-
and a b: выполнить побитовое И над числами a и b и сохранить результат в регистре $r1.
-
cmp a b: сравнить числа a и b и сохранить результат (1 - a больше b, 0 - a меньше или равно b) в регистре $r1.
-
quit: завершить выполнение программы.
-
rand: получить случайное число, используя последние два элемента стека как границы.
-
sct: маршрутизация по адресу секций. 0 - адрес секции по умолчанию, 0 - переменная, 1 - константа.