Справка

Переменная состоит только из букв, можно исспользовать русские буквы. Задается следующим образом

a=1;

после этого переменную можно использовать. Переменные содержат числа от 0 до 255
Имя массива состоит только из букв, можно исспользовать русские буквы. Задается следующим образом:



после этого массив можно использовать. При объявлении в квадратных скобках указывается размер массива, максимальный 255.
Компилятор не отслеживает ситуацию выхода за границу массива, по этому следует следить за этим.
Арифметические операции

Если число в результате математической операции будет больше 255 или меньше 0 произойдет переполнение буфера.
Умножение и деление требуют большого времени, лучше не использовать их. Это связано с отсутсвием этих операций в chip8. Они заменяются на операции сложения и вычитания.
Булевые операции >(больше), ==(равно), !=(не равно) возвращают 0(ложь) или 1(истина)

Возвращает целочисленный корень из числа. Требует столько же времени, сколько и деление.
Спрайт задается двоичным числом которое начинается с буквы b. Имя спрайта должно содержать буквы. Ширина спрайта всегда равна восьми пикселям, высота может быть от одного до пятнадцати пикселей.
0 не закрашивается, 1 закрашивается



Этот спрайт будет содержать шахматную доску
Если выражение в скобках после if равно 1, то будет выполнено все между then и endif; Иначе выполнение перейдет на код после endif;
Метка состоит из букв и заканчивается двоеточием. Она используется функциями goto и gosub и обозначает место, куда перейдет выполнение программы после вызова этих функций.
Переход на указанную метку.
Переход на указанную метку с сохранением места перехода. При достижении return; программа возвращается и продолжает выполнение.
Возврат из подпрограммы. Важно: адрес перехода берется из стека, если забыть поставить return то стек переполнится, если поставить без вызова подпрограммы то обнулится.

Рисует спрайт начиная с верхней левой точки x,y. Спрайт должен быть заранее объявлен. Пример анимации спрайта:

 

Выводит число начиная с верхней левой точки x,y. Число всегда трехзначное, максимальное 255.
Или выводит строку. Следует следить, что бы длина строки не превышала ширину экрана. Набор символов ограничен,
возможен вывод английскими и русскими буквами.

Выводит символ с номером от 0 до 15 начиная с верхней левой точки x,y.
Рисует точку в позиции x,y
Возвращает 1 если при отрисовке произошло наложение на другой спрайт, иначе 0. Необходимо вызывать сразу после отрисовки.
Очищает экран.
Возвращает 1 если клавиша с номером key нажата, иначе 0
Возвращает 1 если клавиша с номером key не нажата, иначе 0
Возвращает случайное число от 0 до 255
Переключает разрешение в режим 128х64. Это разрешение поддерживает только SuperChip
Переключает разрешение в режим 64х32. Это разрешение используется по умолчанию.
Прокрутить экран на 4 (2) пикселя влево в режиме 128×64 (64×32)

Прокрутить экран на 4 (2) пикселя вправо в режиме 128×64 (64×32)
Ожидает указанное время. Таймер работает особым образом — каждую секунду отсчитыватся 60 тактов. Другими словами, если вы хотите поставить задержку на секунду
то вам нужно написать delay(60); если на две секунды delay(120); При этом не стоит забывать, что выполнение инструкций так же занимает много времени

Завершает выполнение программы.
Макрос. Производит замену с учетом регистра по всему коду. Макрос должен быть написан в одну строку, точка с
запятой в конце не нужна.

Примеры
hello world



bounce