BETA - BASIC
Введение
BETA-BASIC версии 1.8 добавляет 30 новых команд н 21 новую функцию к уже име-
ющимся в ZX-SPECTRUM.
Глава 1
Описание команд BETA-BASIC
ALTER <список атрибутов> ТО список атрибутов [А]. Быстрая смена атрибутов
экрана (INK,FLASH,BRIGHT. PAPER) без необходимости очистки экрана.
Пример: ALTER ТО PAPER 1. INK 6 или
ALTER INK 7 ТО PAPER 2.INK 0
AUTO <номер строкиХ.шаг> [6J
Включение автоматической нумерации строк. По умолчанию принимается шаг»10.
BREAK [SHIFT SPACE]
Останов выполнения программы.
CLOCK строка [С]
Задание параметров в часах-будильнике
примеры:
CLOCK "09:29:05"-установка точного времени в часах.
CLOCK "А06:20" -установка времени срабатывания будильника.
CLOCK аргумент [С]
Управление часами с помощью заданного аргумента.
Переход звуковой световой
на строку сигнал сигнал
CLOCK 0 откл откл откл
CLOCK 1 откл откл вкл
CLOCK 2 откл - вкл откл
CLOCK 3 откл вкл вкл
CLOCK 4 вкл ОТ' откл
CLOCK 5 вкл от вкл
CLOCK б вкл вк. откл
CLOCK 7 вкл вк/ вкл
CHR$ цифра
Знаки вставляемые в строку пачатаемую -ератором PR i NT для изменения позиции
печати.
CHR$ В - курсор влево;
CHRS 9 - курсор вправо;
CHRI 10 - курсор вниз;
CHRf 11 - курсор вверх.
. DEF KEY имя клавиши: строка SH1FT1
DEF KEY имя кпавишн: инструкция: инструкция: . . .
После подачи этой команды нажатие указанной клавиши будет вызывать появление
заданной строки илн цепочки инструкций'.
DEF PROG имя процедуры [1] ключевое слово обозначающее начало проц-ры.
DELE IЕ (номер строкн> ТО <номер строки> (7]
Стиранке строк в заданном диапазоне.
Лримеры:
DELETE ГО 50
DELETE 10 ТО 30
DO [D]
DO WHILE условие входа [Dj
DO UNTIL условие входа [D]
Ключевое слово обозначающее начало цикла.
Цикл DO начинается всегда и без условий.
Цикл DO WHILE начинается, если заданное условие истинно.
Цикл DO UNTIL начинается, если заданное условие ложно.
Цихл должен закончиться командой LOOP.
DP0KE адрес, число s.P]
Загрузка двухбайтового^ числа в диапазоне 0...65535
г.01 Г <номер строки> * [0]
Позволяет нормальное редактирование строки. Появляется при нажатии кл.[0], ес-
ли до этого была нажата клавиша ENTER.
ELSE инструкция [Е]
Третья (альтернативная) часть структуры IF-THEN.
Пример- IF условие THEN инструкция ELSE инструкция
END PROG [3]
Слово, обозначающее конец процедуры вызываемой по имени.
EXIT IF условие [1]
; Выход по заданному условию из цикла до-LOOP.
FILL X.Y [F]
FILL <INK цвет>;X,Y [F]
FILL <PAPER цвет>;X,Y [F]
Закрашивание знака данным цветом ( е- <н нажато FILL или FILL INK) фона знака
(если нажато FILL PAPER). Допускается ■ зов сложных команд. Например:
FILL INK 2; PAPER 1; FLASH 1;X
GET числовая переменная чли перемг* va-строка [G]
Присвоение переменной номера клавиши счет клавиш идет с Н для А, 12 для В,
13 для С и т.д.)' Или самой буквы на на* ой клавише.
JOIN <номер с троки У [SHIFT 6]
Объединение строки с заданным номероч .или текущей строки, если номер ие ука-
зан) со строкой, находящейся в нижней части экрана. Новый номер равен указанно^-
му номеру нлй номеру текущей строки.
KEY IN строка [SHIFT 4]
Ввод в программу поданной строки.
KEYWORDS 0 [8]
KEYWORDS 1 [9J
Переключатель ключевых слов BETA-BASlfc на знаки псевдографики, вызываемые в
режиме GRAF ICS.
LIST номер строки ТО номер строки
LLIST номер строки ТС номер строки
Печать строк программы в заданном диапазоне.
LOOP IL]
LOOP UNTIL условие [L]
LOOP WHILE условие £L]
Ключевое слово, обозначающее конец цикла.
При LOOP цикл кончается всегда и без условий.
При LOOP UNTIL цикл кончается, если зз 13-чное условие истинно
При LOOP WHILE цикл кончается, если ч'пнное условие ложно.
GO TQ ON переменная; номер строки, hov< ? строки,...[0}
GO SUB ON переменная; номер строки, но^ер строки...[0]
Переход иа строку в зависимости от значения переменной.
ON ERROR номер строки [N]
Включение части программы обслуживания ошибок. При ошнбке управление передает-
ся на заданную строку. Переменная ERROR получает значение кода ошибки.
RLOT X,V; строка
Вывод строки знаков в любое место экрана. Координаты Задают позицию леього
верхнего угла знака строки.
Роке адрес, строка
Вводит в память знаки заданной строки, начиная с данного адреса.
Pop <числовая переменная) IQ]
Возвращает адрес, откуда был сделан вызов GO SUB, DO-LOOP, PROC.
PROC имя [2]
Выполнение процедуры с данным именем.
RENUM <начало ТО KOHeuXLINE новое начало>
<STEP шаг> {9]
Перенумерфция строк из заданного диапазона на строки, начинающиеся с задаьной
строки с данным шагом. По умолчанию первая строка - 10. шаг - 10.
ROLL направление <,сдвнгХ;X,Y;ширина.высота> fR]
"Перемотка" заданного окна экрана. Изображение, исчезающее с одной стороны ок-
на, появляется с противоположной.
Код направление обьект передвижения
1 влево атрибуты
2 вниз атрибуты
3 вверх атрибуты
4 вправо атрибуты
5 влево изображение
6 вниз изображение
7 вверх изображение
8 вправо изображение
9 влево изображение и атрибуты
10 вниз изображение и атрибуты '
11 вверх изображение и атрибуты
12 вправч) изображение и атрибуты
* SCROLL <направление><,сдвиг X;Х,У;ширина.высота;[S]
Сдвиг содержимого заданного окна экрана на.одну линию. Синтаксис такой же,
как в команде ROLL.
SORT таблица или строка [М]
SORT INVERSE таблица или строка СМ]
Упорядочение таблицы знаков или строки.
SRL IТ
В месте нахождения курсора строка разделяется на 2 части.
TRACE <номер строки) [Т]
Пуск пошагового выполнения программы, начиная с заданной строки. Выключение
режима командами RUN.CLEAR и TRACE 0.
USING строка-образец;число [Р]
Использование в команде PRINT USING позволяет задавать формат распечатки чи-
сел. Знаки "♦" в строке-абзаце означают пробелы перед числами.
Глава 2
Описание функций BETA-BASIC
Ниже приводится краткое описание функций, добавляемых системой BETA-BASIC с
описаниями аргументов. Способы ввода функций в программу указаны в квадратных
скобках. ^
AND (число,число) {FN А( ] - двсичная операция "логическое и".
BINS (число) [FN В&( ] - двоичная распечатка данного десятичного числа.
CHARS (число) [FN CS( ] - преобразование целого числа без знака в диапа-
зоне 0-65535 в эквивалентную строку из двух
знаков.
COSE (число) [ FN С( ] - косинус числа, вычисляемый с 4 значащими циф-
рами.
DEC (строка) [FN D( ] - преобразование строки с записью шестнадцати-
ричного числа в десятичное число.
DPEEK (адрес) [FN Р( ] - возвращает двухбайтовое число, находящееся в
памяти по данному адресу.
FILLED () [FN F( ] - количество элементов изображения, заполненных
последней командой FILL.
HEXS (число) [FN Н( ] - преобразование десятичного числа в строку с
записью шестнадцатиричного числа.
INSTRING (начало,строка I.строка 2) [FN I( ]
- возвращает позицию первого знака строки 2, на-
ходящейся внутри строки 1 при просмотре стро-
ки 1. начиная с заданной стартовой позиции.
Если внутри строки 1 нет строки 2, то возвра-
щается 0.
MEM О [ FN М( ] - возвращает количество свободных байтов памяти.
MEMORYS () [FN MS( ] - возвращает значение всей памяти от адреса 0 до
65535 интерпретированное как одна строка.
MOD (число 1,число 2) [FN V( ] остаток деления числа 1 на число 2 (деление по
модулю).
NUMBER (строка) [FN N( ] - преобразование строки из двух знаков в двух-
байтовое число, где каждый байт содержит чис-
ло. отвечающее заданному коду ASCII.
OR (число 1,число 2) [FN 0( ]- двоичная операция "логическое или", выполнен-
ная над заданными числами.
RNDM (число) [FN R( ] - возвращает псевдослучайное число из диапазона
от 0 до заданного числа.
SCRNS (ряд,столбец) [ FN KS( ] возврздмеi знак находящийся на экране в задан-
ной позиции.
SINE (число) [FN S( ] - синус числа, • вычисляемый с 4 значащими цифра-
ми. Более быстрое вычисление, чем в оригиналь-
ной системе SPECTRUM BASIC.,
'STRINGS (количество,строка) [FN SS( ]
ч - повторение строки заданное количество раз.
TIMES О [FN Т( ] - текущее время, измеренное по часам CLOCK.
USINGS (строка-образец.число) [FN US( ]
- знаковая запись числа в заданном формате (как
USING).
XOR (число 1,число 2) [FN Х( ]
- двоичная операция "логическое исключающее
или", выполненная над заданными числами.
Глава 3
Специальные переменные
В системе BETA-BASIC имеются встроенные переменные доступные по имени.
XOS, Y0S - относительное начало координат, первоначально установленное на 0.0.
Может быть изменено в диапазонах 0-255 для X0S и 0-175 для Y0S. Обнуляются по
командам CLEAR и RUN.
XRG, YRG - максимальные границы изображения, . первоначально установленные на
256 для XRG и на 176 для YRG.
Во время выполнения команд ON ERROR и TRACE обновляются следующие специальные
переменные:
ERROR - код последней обнаруженной ошибки
LINE - номер последней выполненной строки программы (при 1RACE), номер строки
с обнаруженной ошибкой (при ON ERROR).
STAT - номер последнего выполненного -:ератора программы (при TRACE), номер
оператора с обнаруженной ошибкой (при ON tRROR).
Имена специальных переменных можно вводить заглавными и строчными б>квами.