Galaksija BASIC
Реализация языка программирования BasicGalaksija BASIC — это интерпретатор языка BASIC для домашнего компьютера Galaksija. Сам интерпретатор частично основан на коде, взятом из реализации BASIC на компьютере TSR 8, для совместимости с Microsoft BASIC. Многочисленные модификации Galaksija BASIC включают элементарную поддержку массивов, новый код для работы с графикой. В целом же данные реализации не намного ушли от оригинала.
Ядро интерпретатора полностью содержалась в 4 Кб ROM памяти “A” или “1”. У оригинального же компьютера был зарезервированный слот для ROM расширения “B” или “2”, который обеспечивал больше количество команд и особенностей, таких как встроенный ассемблер Z80.
Ключевые слова и символы, обеспечиваемые ROM “A”/”1”.
Ядро реализации содержит 3 специальных символа и 32 зарезервированных слова:
!
комментарий (аналог команды REM стандартного BASIC)#
аналог команды DATA стандартного BASIC&
префикс для шестнадцатеричных чиселARR$(n)
резервирует массив строкBYTE
служит какPEEK
, когда используется как функция (на пример, PRINT BYTE(11123)) и какPOKE
, когда используется как команда (на пример, BYTE 11123,123)CALL n
вызывает подпрограмму BASIC, аналог команды GOSUB в большинстве реализаций BASIC (на пример, CALL 100+4*X)CHR$(n)
преобразует число в строкуDOT x, y
отображает или проверяет пиксель с указанными координатами (0<=x<=63, 0<=y<=47).DOT *
отображает часы или время управляемой содержимым переменной Y$EDIT n
указывает какая строка программы будет отредактированаELSE
стандартная часть конструкции IF-ELSE (В Galaksija не используется THEN)EQ
сравнивает в алфавитном порядке переменные X$ и Y$FOR
стандартный цикл FORGOTO
стандартная команда GOTOHOME
эквивалент стандартной команды CLS , которая очищает экранHOME n
защищает n символов с верху экрана от прокруткиIF
стандартная часть выражения IF-ELSE (В Galaksija не используется THEN)INPUT
обеспечивает ввод переменной пользователемINT(n)
функция возвращает максимально возможное целое число меньшее или равное nKEY(n)
проверка нажатия клавиши с символом nLIST
отображает программуMEM
возвращает размер потребляемой памятиNEW
очищает текущую программуNEW n
очищает программу и перемещает в начало области BASICNEXT
стандартное прерывание цикла FOROLD
загружает программу с магнитной лентыOLD n
загружает программу с адреса nPTR
возвращает адрес переменнойPRINT
выводит число или строкуRETURN
возврат из подпрограммы BASICRND
возвращает случайное число с интервала от 0 до 1RUN
исполняет программу на BASICSAVE
сохраняет программу на магнитную лентуSTEP
стандартная часть цикла FORSTOP
прекращает исполнения программы на BASICTAKE
замещает команды READ и RESTORE. Если параметром выступает имя переменной то исполняется как READ иначе RESTOREUNDOT x, y
сбрасывает пиксель с указанными координатамиUNDOT *
останавливает часыUSR
вызывает машинную подпрограммуWORD
PEEK и POKE для двух байтов
Ключевые слова и символы, обеспечиваемые ROM “B”/”2”.
Расширенный BASIC содержит в ROM “B” or “2” 1 зарезервированный символ и 22 зарезервированных слова:
-
%
-
/LABEL
-
ABS(x)
-
ARCTG(x)
-
COS(x), COSD(x)
-
DEL
-
DUMP
-
EXP(x)
-
INP(x)
-
LDUMP
-
LLIST
-
LN(x)
-
LPRINT
-
OUT
-
PI
-
POW(x,y)
-
REN
-
SIN(x), SIND(x)
-
SQR(x)
-
TG(x), TGD(x)
Комментарии
]]>blog comments powered by Disqus
]]>