Типы данных

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

Переменные

Если перед именем переменной (комбинация букв, цифр, и _) стоит знак $ - это глобальная переменная.

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