Skip to content

llvm-js/ByteX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ByteX

Язык программирования 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 - константа.

Releases

No releases published

Packages

No packages published