|
| 111000111000 [count] |
; Основные команды - напрямую задают состояние всех 12 выходов. |
| 111000!!xx?? [count] |
; Продвинутые команды для сложных случаев. |
| mask <mask> [count] | ; Маска со сложным синтаксисом. |
| [+|-|~|&|?] <mask> [count] |
; Изменение по маске |
Циклы
| for (while, try) <count> |
; Выполнить команду(ы) несколько раз. |
| repz (rep) <count> |
; Аналогично команде for, но без выдержки пауз. |
Переходы
| goto <label> |
; Переход к метке. Пропуск если метка не найдена. |
| jmp (jump) <label> |
; Переход к метке. Ошибка если метка не найдена. |
| label <label> |
; Объявление метки для команд goto/jump/jmp. |
| gosub <function> [count] |
; Вызов функции. Пропуск если функция не найдена. |
| call <function> [count] |
; Вызов функции. Ошибка если функция не найдена. |
| sub (func, psub) <function> |
; Объявление функции для команд gosub/call. |
| return, ret |
; Возврат из функции. |
Ветвления
| test <i | q | pin> <addr> | ; Проверка состояния входа, выхода или пинв ЛПТ порта. |
| jz, jnz <function> | ; Условный переход. |
| callz, callnz <function> | ; Условный вызов функции. |
Ключевые слова
| random [[set] add] | ; Изменить счетчик рандомов для команд переходов и ветвлений. |
| random <command> | ; Изменить команду перехода или ветвления для вызова произвольной функции или метки. |
Логика
- Эти команды выполняются с выдержкой регулярных пауз.
| on [count] |
; Установить все выходы в 1. |
| off [count] |
; Сбросить все выходы в 0. |
| nop [count] |
; Ничего не делать. |
| or (+) [<mask> [count]] |
; Установить указанные выходы в 1. |
| clr (-) [<mask> [count]] |
; Сбросить указанные выходы в 0. |
| xor (~) [<mask> [count]] |
; Инвертировать состояние указанных выходов (eor, inv). |
| and (&) [<mask> [count]] |
; Логическое И. |
| rol (rlc) [count] |
; Циклический сдвиг влево. |
| ror (rrc) [count] |
; Циклический сдвиг вправо. |
| lsl [count] |
; Логический сдвиг влево. |
| lsr [count] |
; Логический Shift вправо. |
| asl [count] |
; Арифметический сдвиг влево. |
| asr [count] |
; Арифметический сдвиг вправо. |
| ssl [count] |
; Циклический сдвиг влево с приоритетом единицы. |
| ssr [count] |
; Циклический сдвиг вправо с приоритетом единицы. |
| nsl [count] |
; Циклический сдвиг влево с приоритетом нуля. |
| nsr [count] |
; Циклический сдвиг вправо с приоритетом нуля. |
| not [count] |
; Инверттировать все выходы. |
| inc [number] |
; Прибавить число. |
| dec [number] |
; Вычесть число. |
| mul [number] |
; Умножить на число. |
| div [number] |
; Разделить на число. |
| shift [=] [+|–] number [count] |
; Циклический сдвиг выходов. |
Паузы
| sleep ms[sec[min[hours]]] |
; Задать паузу на текущий шаг. |
| sleeps ms[sec[min[hours]]] |
; Задать регулярную паузу. |
| delay ms[sec[min[hours]]] |
; Выполнить задержку. |
| skip |
; Однократно пропустить паузу. |
| wait ms[sec[min[hours]]] |
; Ждать пока системное время превысит указанное. |
| speed [number] |
; Задать скорость SPEED. (PAUSE = MULTIPLIER * SPEED) |
Окружение
| cmd count [number] |
; Задать количество используемых выходов. |
| cmd leds <leds> [outs] | ; Задать кол-во управляемых светодиодов. leds - кол-во светодиодов outs - количество используемых выходов |
| cmd remap [numbers...] |
; Переназначить выходы порта. |
| cmd ms [number] |
; Задать множитель MULTIPLIER. (PAUSE = MULTIPLIER * SPEED) |
| cmd restart |
; Перезапуск скрипта. |
| cmd show |
; Показать окно программы WndLpt. |
| cmd hide |
; Спрятать окно программы WndLpt. |
| cmd bkgnd |
; Спрятать окно программы WndLpt. |
| cmd priority [number] |
; Задать приоритет потока скрипта. Min 1, max 7. По-умолчанию 7. |
Визуализация музыки в скрипте
| cmd enable_music [ 1 | 0 ] |
; Включить/выключить встроенную визуализацию музыки. |
| cmd music_preset [=|+|-] <number> |
; Изменить режим визуализации. |
| cmd switch_to_music |
; Переключиться на вкладку визуализации "Music" (выполнение скрипта останавливается). |
Эмуляция часов (для светодиодов выставленных по кругу)
| cmd enable_clock [ 1 | 0 ] |
; Включить/выключить эмуляцию часов. |
| cmd clock_timings <ms> <ms> ... | ; Изменить тайминги часов. |
Прочее
| cmd set_lpt_port_addr_in_decimal_at_owners_risk [addr] |
; Задает базовый адрес LPT порта. |