|
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 порта. |