Типы данных
Код разделен на отдельные элементы, каждый из которых обозначается по-своему и играет свою роль в скрипте.
Переменные
Если перед именем переменной (комбинация букв, цифр, и _) стоит знак $ - это глобальная переменная.
0004: $MyVar = 100Именем локальной переменной может быть только число, после которого стоит @. Это число является индексом в списке локальных переменных, выделенных для текущего скрипта или миссии.
0006: 100@ = 10Переменная ADMA (Advanced Direct Memory Access, усовершенствованный доступ к памяти) - это указатель на определенный адрес внутри файла main.scm. Они используются так же как глобальные переменные, но в отличие от них ADMA могут читать и писать значения по любому адресу в пределах main.scm.
$myVar = &0 // прочитать первые 4 байта main.scm и записать значение в $myVar
&57 += &120(&231,4i) // также могут использоваться как элементы массиваADMA переменные не влияют на размер буфера для глобальных переменных, выделенного в заголовке main.scm.
Метки
Метки указывают на определенную строку кода и используются в условных (опкод 004D) и безусловных переходах (опкоды 0002, 0050). Имя метки состоит из букв, цифр и _ и всегда начинается с :
:MyLabelЧтобы использовать такую метку в опкоде замените : на @
0002: jump @MyLabelЕсли имя метки написано как самостоятельное выражение с парой скобок в конце, это представляет собой вызов подпрограммы командой gosub:
Строковые литералы
Текст, обрамленный одинарными кавычками ' ', - это короткий строковый литерал (до 15 символов).
Текст, обрамленный двойными кавычками " ", - это длинный строковый литерал (максимальная длина определяется опкодом).
Если внутри литерала используется кавычка, она должна быть заэкранирована при помощи обратного слэша\
Допускается использование пустых строк '' или "".
Строковые переменные
Глобальные переменные, содержащие короткий строковый литерал, начинаются с s$.
Локальные переменные, содержащие короткий строковый литерал, заканчиваются на @s.
Глобальные переменные, содержащие длинный строковый литерал, начинаются с v$.
Локальные переменные, содержащие длинный строковый литерал, заканчиваются на @v.
Имена моделей
Вместо ID моделей из .ide файлов могут использоваться их имена, перед которыми стоит #
Числа в 16-ричном формате
0x - число в шестнадцатиричном формате
-0x - отрицательное число в шестнадцатиричном формате
Разрешенный диапазон шестнадцатиричных чисел лежит между -80000000 и 7FFFFFFF.
Last updated