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вызывает машинную подпрограммуWORDPEEK и 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
]]>