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