ГЛАВА 4
РЕЖИМЫ РАБОТЫ
4.1 БЕЙСИК-48К, ИСПОЛЬЗОВАНИЕ ЯЗЫКА "БЕЙСИК-48"
В настоящей главе рассматриваются следующие вопросы:
■ использование компьютера Спектрум I28K в качестве модели Спектрум
48 К;
■ ввод режима БЕЙСИК-48 ;
■ числа;
■ вход в программу;
■ редактирование текущей строки.
Компьютер Спектрум I28K имеет возможность функционировать точно так же,
как модель Спектрум 48К. Это достигается с помощью выбора опции начального
меню "Бейсик-48". В этом режиме дополнительные свойства компьютера Спектрум
I28K, такие, как дополнительная память, редактор полного экрана, многоканальный
звук не могут быть использованы.
Режим "Бейсик-48" включен только для целей совместимости: при использовании
режима "Бейсик-48" (вместо режима "Бейсик-128") нет преимуществ при написании
программ, и его использование не рекомендуется. Приведенная ниже информация
включена в настоящее руководство только для справочных целей или для тех
пользователей, которые использовали модель Спектрум 48К и хотят пользоваться
компьютером Спектрум 128К немедленно без изучения возможностей редактора
" Бейсик-128".
В действительности имеются два метода перевода компьютера Спектрум 128К в
режим "Бейсик-48": первый - путем выбора опции "Бейсик-48" начального меню.
Выбрав опцию "Бейсик-48", на экране Вы увидите следующее сообщение:
(значок копирайт) 1982 Sinclair Research LTD
Второй способ заключается в том, что вы можете войти в режим "Бейсик 48" в
процессе редактирования программы в режиме "Бейсик-128". Для этого (находясь
в режиме "Бейсик-128") введите:
SPECTRUM (нажмите [ENTER])
Компьютер Спектрум 128К ответит с помощью сообщения "ОК" (хорошо) и
перейдет в режим "Бейсик-48". При этом вы не имеете никакой другой возможности
вернуться в режим "Бейсик-128", кроме сброса и повторной установки компьютера
Спектрум I28K ( или выключения и последующего повторного включения).
Основное отличие режима "Бейсик-48" заключается во вводе и редактировании
программ. Те программы, которые включают музыку или "электронный диск",
должны использовать только режим "Бейсик-128". Заметим также, что переговорные
символы SPECTRUM и PLAY заменили определенные пользователем графические
символы для клавиш [Т] и [U] (значения 163 и 164), использовавшиеся в режиме
"Бейсик-128".
Компьютер использует встроенный язык программирования, называющийся
Бейсик (Символический командный код общего назначения для начинающих). В
настоящее время Бейсик является наиболее распространенным языком
программирования для домашних компьютеров. Однако компьютеры разных типов
имеют тенденцию использовать свой собственный диалект языка Бейсик, и компьютер
Спектрум 128К не является в этом смысле исключением.
Язык БЕЙСИК был разработан таким образом, чтобы он был прост в освоении
и использовании. Полное руководство по языку программирования Бейсик приводится
в книге "BASIC" издательства фирмы "СОЛОН".
Числа сохраняются с точностью до 9 или 10 знаков. Наибольшее число около 10
в степени 38, а наименьшее 4*10 в степени -39.
Числа сохраняются как бинарные с плавающей запятой с одним экспонентным
байтом е(К=е<=255),и четыре байта мантиссы (1/2<=м<=1).Это соответствует
числу м*2 в степени е-128. См. (1/2<=м<=1).
Поскольку 1/2<=М<1, старший бит мантиссы всегда I. Следовательно, мы
можем заменить его на бит, обозначающий знак: 0 для положительного числа и 1-
для отрицательного.
Наименьшее целое имеет специальное представление, в котором первый байт 0,
второй байт знака (0 и FFH), а третий и четвертый -само число в дополнительном
коде (младшие значащие цифры в первом байте).
Числовые переменные имеют имя произвольной длины, начинающееся с буквы
и продолжающееся буквами или цифрами. Пробелы и символы управления цветом
игнорируются и все буквы преобразуются к минимально упакованному виду.
Вход в программу осуществляется с помощью команды LIST. Редактирование
строки начинается с ее вызова (EDIT). Затем используя курсорные клавиши,
клавишу "DELETE" и другие необходимые клавиши производится редактирование
текущей строки.
Краткие сведения по операторам, командам и функциям языка "Бейсик"
приведены ниже в таблицах.
1. ФУНКЦИИ
Функция Тип аргумента Результат
ABS Число Абсолютная величина
ACS Число- Арккосинус в радианах
AND Бинарный оператор Левый операнд:!.Число,, тогда
Приоритет 3. Правый A AND В = : A IF В<>0;
олеранд всегда число. В IF В=0.- 1.Строка,
Левый операнд: тогда А$ AND В = :
число,, строка А$ IF В<>0; " " IF В=0.
ASN Число Арксинус в радианах
ATN Число Арктангенс в радианах
ATTR X и Y - числа Число, бинарная форма которого в
скобках кодирует атрибуты строки
X колонки Y Бит 7-1 - мигание
BIN Двоичная запись числа
CHRS Число Символ, соответствующий коду
CODE Строка Код первой буквы
COS Число в радианах Косинус X
ЕХР Число е в степени X
FN FN с символом имени вызывает
функцию
IN Число Число
INKEYS Читает клавиатуру
INT Число Целая часть (всегда округляется)
LEN Строка Длина
LN Число Натуральный логарифм
NOT Число 0IFXO0
OR Бинарный оператор. A OR В = О IF В=0
Оба операнда числа.
Приоритет 2. A OR В = 1
IF BOO
РЕЕК Число Значение байта в памяти.
Адрес,передаваемый как параметр
PI Число Пи=3.1415927...
POINT X и Y - числа в 1 если точка экрана имеет цвет
скобках шрифта и 0 если цвет фона
RND Следующее псевдослучайное число
генерируемой последовательности
SCREENS X и Y заключенные в скобки оба числа
SGN Число Знак числа: -1 отрицательное
SIN Число в радианах Синус X
SQR Число Квадратный корень
STR$ Число Строка с изображением числа
TAN Число Тангенс X
USR Число Адрес битной таблицы с
изображением символа
VAL Строка Строка рассматривается как
числовое выражение
VAL$ Строка Рассматривается как строковое
выражение - число отрицание
2. ОПЕРАЦИИ
Префиксные:
отрицательное значение.
Инфиксные (двухопераццовые):
+ сложение для чисел, конкатенция для строк; - вычитание;
* умножение; / деление;
А возведение в степень. Сообщение В, = равенство
если левый операнд отрицательный;
> больше < меньше
<= меньше или равно => больше или равно
<> не равно
Примечание: оба операнда должны быть одного типа. Результат равен 1 или нет.
Функции и операции имеют следующий приоритет:
Операции Приоритет
Операции со строками....................... 12
Все функции кроме NOT................... II
А............................................................ 10
- (для отрицания)..................................9
V............................................................8
+,- (минус для вычитания)..................6
=, >,< ,<я ,=> ,<>............................5
NOT........................................................4
AND.....................................................3
OR...........................................................2
3. ОПЕРАТОРЫ
Принятые обозначения:
А - одна буква;
V - переменная;
X, Y, Z - числовые выражения;
М, N - числовые выражения, которые округляются к ближайшему целому;
Е - некоторое выражение;
F - выражение, имеющее строковое значение;
S - последовательность операторов, разделенных двоеточием ':';
С - последовательность символов управления цветом.
Каждый заканчивается V или ';'.
Цветовой символ имеет форму операндов: PAPER, INK, FLASH, BRIGHT,
INVERSE или OVER.
Текст произвольного выражения может располагаться в любом месте строки (за
исключением номера строки, который должен размешаться в начале строки).
Все операторы, кроме INPUT, DEF и DATA могут использоваться и как команды
и в программах.
Команда или строка программы может содержать несколько операторов,
разделенных двоеточием ':'.
Нет ограничений на положение оператора в строке, хотя есть некоторые
ограничения в IF и REM.
Все операторы языка сведены в следующую таблицу:
ОПЕРАТОР ДЕЙСТВИЕ ОПЕРАТОРА
ВЕЕР X,Y Воспроизводит звук длительностьюХ сек. и высотой Y полутонов
вверх от основного тона "до" (или вниз, если Y отрицательное).
BORDER М Устанавливает цвет рамки (бордюра) экрана. (М=0,1,2,3,4,5,6,7)
BRIGHT IV! Устанавливает яркость выводимого символа:
0-для обычной яркости;
1-для повышенной яркости;
8 - сохраняет существующую яркость.
CAT работает с дисководом
CIRCLE X,Y,Z Изображает дугу или окружность с центром в точке с коорди-
натами (X,Y) и радиусом Z.
CLEAR Уничтожает все переменные и очищает занимаемую ими па-
мять. Выполняет RESTORE и CLS, устанавливает PLOT пози-
цию в нижнюю левую точку экрана и очищает GO SUB стек.
CLEAR N Подобно CLEAR, но дополнительно изменяет системную пе-
ременную RAMTOP на 'N' и задает новый GO SUB стек.
CLOSE# работает с дисководом
CLS (CLEAR SCREEN) очищает файл экрана.
CONTINUE Продолжает выполнение программы, начатой ранее и остано-
вленной с сообщением, отличным от 0. Если было сообщение
9 или L, то выполнение продолжается со следующего опе-
ратора, в других случаях с того оператора, где была ошибка.
Если сообщение возникло в командной строке, то CONTINUE
вызовет попытку повторить командную строку и перейдет в
цикл, если было сообщение 0:1, дает сообщение 0, если было
0:2, или дает сообщение N, если было 0:3 или более. В качестве
CONTINUE используется ключевое слово CONTHa клавиатуре.
COPY Пересылает копию 22 строк экрана на принтер, уели он под-
ключен. Помните, что по COPY нельзя распечатать находящийся
на экране автоматический листинг. Выдает сообщение D, если
нажать клавишу BREAK.
DATA Е1,Е2,ЕЗ,... Часть списка данных. Должна располагаться в программе.
DEF FNA(A1,A2,...,AK) Определяемая пользователем функция. Должна распо-
лагаться в программе. Или буквы и $ для строковых аргументов,
значений. Используется форма DEF FNA(), если нет аргументов.
DELETE F работает с дисководом.
DIM A(N1,N2,...,NK) Уничтожает массив с именем 4 А' и устанавливает числовой ма-
ссив 'А' с 'К' измерениями, присваивает всем его элементам
значение 0.
DIM A$(N1,N2,...,NK) Уничтожает массив или строку с именем А$ и устана-
вливает символьный массив с 'К' измерениями, присваивает
всем его элементам значение "S". Массив может быть
представлен как массив строк фиксированной длины NK, с К-
I размерностью. Сообщение 4 выдается, если недостаточно
места для размещения массива. Массив не определен до его
описания в операторе DIM.
DRAW X,Y То же самое, что и DRAW X,Y,0. Чертит прямую линию.
DRAW X,Y,Z Изображает линию от текущей графической позиции в точку
с приращениями X,Y по дуге в Z радиан. Выдает сообщение В
при выходе за пределы экрана.
ERAZE работает с дисководом.
FLASH N Определяет: будет ли символ мерцающим или с постоянным
свечением. N=0 для постоянного свечения, N=1 - для
мерцания,N=8 - для сохранения предыдущего состояния.
FOR А=Х ТО Y
FOR А=Х ТО Y STEP I
FOR А=Х ТО Y STEP Z Уничтожает скалярную переменную 'А* и устанавливает
управляющую пепеременную 'X', предел 4Y шаг приращения
*Z зацикливает адрес, указанный в утверждении после FOR
оператора. Проверяет, если начальное значение больше (если
STEP>=0) или меньше (если STEP<0), чем предел, то происходит
переход к утверждению NEXT А или выдача сообщения I, если
нет (см. NEXT). Сообщение 4 выдается, если недостаточно
места для размещения управляющей переменной.
FORMAT F работает с дисководом (форматирование).
GO SUB N Проталкивает строку с оператором GO SUB в стек для испо-
льзования затем как GO ТО N. Выдается сообщение 4, если не
все подпрограммы завершились с RETURN.
GO ТО N Продолжает выполнение программы со строки 'N Если 'N'
опущено, то с первой строки после этой.
IF X THEN S Если 'X' истинно (не равно 0), то выполняется 'S 'S' включает
все операторы до конца строки. Форма 4IF X THEN номер
строки* недопустима.
INK N Устанавливает цвет закрашивания ( т.е. цвет, которым будут
изображаться символы на цвете фона). 'N' в интервале от 0 до
7 указывает цвет. N = 8 - оставить цвет без изменений, N=9
- увеличение контраста. Выдает сообщение К, если 'N' не
лежит от 0 до 9.
INPUT ... Где есть последовательность вводимых символов, разде-
ляемых как в операторе PRINT запятыми, точками с запятой
или апострофами. Вводимыми символами могут быть:
а) некоторый PRINT-символ, начинающийся не с буквы;
б) имя переменной;
в) строка имен переменных строкового типа.
PRINT - символы в случае а) представляются также, как и в
операторе. Все выводятся в нижнюю часть экрана. В случае б)
компьютер останавливается и ждет ввода некоторого выражения
с клавиатуры, значение которого будет присвоено переменной.
Ввод существляется обычным образом, а синтаксические
ошибки выдаются мерцающим знаком вопроса [?]. Для
строкового выражения вводной буфер устанавливается для
размещения двух таких строк (который при необходимости
может быть увеличен). Если первый вводимый символ STOP,
то программа останавливается с сообщением Н. Случай в)
подобен случаю б) с той лишь разницей, что вводимая
информация представляет собой строковый литерал
неограниченной длины, и STOP в этом случае не сработает.
Для останова вы должны нажать клавишу 'курсор вниз'.
INVERSE N Символ управления инверсией выводимого символа. Если
N=0, символ выводится в обычном виде с прорисовкой цвета
закрашивания (INK) на цвете фона (PAPER). Если N=1, то
цветонос решение изображения символа меняетмя на
обратите Выдает сообщение К,если N не 0 или 1.
LET V=E Приаиивает значение 'Е' переменной *V Ключевое слово
LFT не может быть опущено. Скалярная переменная не
определена, пока не встретится в операторах LET, READ или
INPUT.
Если 4V' индексируемая строковая переменная или сечение
строкового массива (подстрока), то присваивание
осуществляется с усечением справа или дополнением пробелами
до фиксированной длины.
LIST То же, что и LIST 0.
LIST N Записывает текст программы в верхнюю часть экрана, начиная
с первой строки меньшей, чем *N и делает 4N' текущей
строкой.
LLIST N Подобно LIST, но вывод осуществляется на принтер.
LOAD F Загружает программу и переменные.
LOAD F DATA () Загружает числовой массив.
LOAD F DATS () Загружает строковый массив.
LOAD F CODE M,N Загружает старшие 'N' байтов, начиная с адреса 4М
LOAD F CODE М Загружает байты, начиная с адреса 'М
LOAD F CODE Загружает байты по тому же адресу, с которого они были вы-
гружены.
LOAD F SCREENS Аналогично LOAD F CODE 16384,6912. Очищает файл экрана
и загружает его с кассетного магнитофона.
LPRINT Подобно PRINT, но использует принтер.
MERGE F Подобно LOAD F, но не затирает всю старую программу в па-
мяти, а заменяет только те строки и переменные, у которых
совпадают номера или имена с такими же на ленте.
MOVE F1,F2 работает с дисководом
NEW Запускает по новой систему программирования бейсик, уни-
чтожая старую программу, переменные и используемую память,
включая и байт адреса в системной переменной RAMBOT, но
сохраняет системные переменные UDG, Р RAMT, RASP и PIP.
NEXT А а) находит управляющую переменную 'А';
б) если STEP>=0, а значение f-A'w«стало больше значения
'предел', или STEP<0, а значение меньше, чем значение
'предел', то происходит переход к оператору цикла.
OPEN# работает с дисководом
OUT M,N Выводит байт 'N' в порт 'М Операция выполняется на уровне
микропроцессора (загружает в регистровую пару ВС адрес 'М',
а в регистр A-'N* и выполняет команду ассемблера OUT
(С)<А). О <= М <= 65535, -255 <= N <= 255, иначе выдается
сообщение В.
OVER N Управляющий символ надпечатывания по выведенной строке.
Если N=0, то выводимый символ затирает существующий в
данной позиции. Если N=1, то новый символ соединяется со
старым, образуя закрашивающий цвет, при условии, что
старый символ имел указание цвета, отличное от старого, или
цвет фона, если оба указывают на один и тот же цвет (либо
фона, либо закрашивания, сложение по модулю 2).
PAPER N Подобен INK, но управляет цветом фона.
PAUSE N Останавливает выполнение программы и задерживает изобра-
жение на экране на 'N' кадров (50 кадров в сек. - частота
кадровой развертки) или до нажатия любой клавиши. 0 <- N
<= 65535, иначе выдается сообщение В. При N=0 время
задержки не учитывается и задержка продолжается до первого
нажатия клавиши.
PLOT C;M,N Выводит точку закрашивающего цвета (обработанную OVER и
INVERSE) с координатами (ABS(M),ABS(N)) смещает
графическую (PLOT POSITION) позицию. Если цветной символ
'С' не специфицирован иначе, то цвет закрашивания в позиции,
где расположена эта точка, изменяется на текущий сплошной
закрашивающий цвет, и другие указания (цветфона, мерцание,
яркость) оста-ются без изменения. 0 <= ABS(M)<= 65535,
0 <= ABS(N)<= 175, иначе-сообщение В.
POKE M,N Записывает значение 'N' в байт памяти по адресу 4М
0 <= М <= 65535, -255 <= N <= 255,иначе сообщение В.
PRINT ... Гдепоследовательность PRINT-символов, разделенных за-
пятыми, точками с запятой или апострофами, которые выврдятся
в экранный файл для отображения на экране телевизора. Точка
с запятой сама действия не вызывает, а используется для
разграничения символов. Запятая порождает управляющий
символ 'запятая', апостроф порождает символ ENTER.
В конце оператора PRINT, если он не заканчивается точкой
с запятой, запятой или апострофом, автоматически выводится
символ ENTER.
PRINT-символом может быть:
а) пустая строка;
б) числовое выражение.
Если значение выражения отрицательное, то выводится знак
минус. Если X 10**-5 или X >= 10** 13, вывод осуществляется
в показательной форме. Мантисса представляется 8 цифрами
(с нормализацией) и десятичной точкой (отсутствует только
тогда, когда в мантиссе одна цифра) после первой цифры.
Показатель степени записывается после буквы 'е' с
последующим знаком и двумя цифрами порядка.Иначе X
выводится как обычное десятичное число с 8-ю значащими
цифрами.
в) строковое выражение. В строке возможны пробелы до и
после сим волов. Не отражаемые на экране символы выводятся
как 7'
г) AT M,N - вывод в строку 4М позицию 'N'
д)ТАВЫ - вывод управляющего символа TAB с последующими
2-мя байтами 4N' (первый байт-старший) вызывает ТАВ-
останов.
е) цветовой символ в форме PAPER, INK,FLASH,BRIGHT,
INVERSE или OVER оператора.
RANDOMIZE To же,что и RANDOMIZE О
RANDOMIZE N Устанавливает системную переменную SEED, используемую
для вычисления очередного значения функции RND. Если N
<> 0, то SEED принимает значение 'N Если N=0, то SEED
принимает значение другой системной переменной FRAMES,
подсчитывающей кадры, отображаемые на экране, что
обеспечивает вполне случайное число. Оператор запускает
сокращение RAND.Coo6iiieHHe В, если 'N' не лежит интервале
от 0 до 65535.
READ V1,V2,...,VK Присваивает переменным одна за другой значения, последова-
тельно представленные в списке DATA.
REM ... Не выполняется.может быть последовательностью символов
(исключая ENTER). Может включать двоеточие для указания
отсутствия операторов в строке с REM.
RESTORE То же самое, что и RESTORE 0
RESTORE N Перезаписывает указатель данных в первый оператор DATA в
строке меньшей, чем 'N Следующий оператор READ начнет
считывание отсюда
RETURN Ссылается на оператор GO SUB в стеке и передает управление
на строку после него. Выдает сообщение 7, если нет
указываемого оператора в стеке. Характерная ошибка, когда
операторы GO SUB не сбалансированы операторами RETURN.
RUN То же самое, что и RUN 0.
RUN N CLEAR, а затем GO ТО N .
SAVE F Записывает на ленту программы и переменные.
SAVE F LINE М Записывает на ленту программу и переменные таким образом,
что при загрузке программа автоматически выполняется со
строки 4М
SAVE F DATA 0 Запись на ленту числового массива.
SAVE F DATA $() Запись на ленту строкового массива $.
SAVE F CODE M,N Записывает на ленту 4N' байтов, начиная с адреса М.
SAVE F SCREENS Аналогично SAVE F CODE 16384,6912. Выдает сообщение F,
если 'F' пустая строка или имеет длину более 10.
STOP Останавливает выполнение программы с выдачей сообщения
9. CONTINUE (продолжение) будет осуществлятся со
следующего оператора.
VERIFY То же, что и LOAD, за исключением того, что данные загру-
жаются в ОЗУ, но сравниваются с находящимися там. Выдает
сообщение В, если обнаружен хотя бы один не совпадающий
байт.
4. СООБЩЕНИЯ
Они появляются в нижней части экрана, если компьютер остановился при
выполнениии некоторого оператора бейсика и указывает причину, вызвавшую
останов. Сообщение содержит кодовый номер или букву. Краткое сообщение
помогает найти ошибочную строку и ошибочный оператор в этой строке (команда
указывается как строка 0, оператор 1 располагается в строке первым, оператор 2
следует после первого или THEN и т.д.).
От состояния CONTINUE зависит очень многое в сообщениях. Обычно
сообщение начинается с оператора, специфицированного в предыдущем сообщении,
но имеется исключения - сообщение 0,9,D.
КОД ЗНАЧЕНИЕ СИТУАЦИЯ
0 ОК (о'кей! Порядок!).........................................................................Разное
Успешное завершение или переход на строку с номером,
большим, чем имеется всего. Это сообщение не меняет
строки или оператора, определенного для CONTINUE
1 NEXT WITHOUT FOR (NEXT без FOR)...........................................NEXT
Управляющей переменной нет (не была определена в операторе
FOR), но есть обычная переменная с тем же именем.
2 VARIABLE NOT FOUND ( переменная не найдена).........................разное
Для простой переменной выдается, если она используется без
предварительного определения в операторах LEJ, READ или
INPUT, или загружается с ленты, или устанавливается в операторе
FOR. Для индексируемой переменной сообщение выдается, если
она не была предварительно определена в операторе DIM перед
использованием или загрузкой с ленты
3 SUBSCRIPT WRONG (ошибочный адрес).........................................в индекс-
Индекс превышает размерность массива, либо ошибочное или ной пере-
число задает индекс, если индекс отрицательный или больше менной
65535, то выдается сообщение В. или под-
строке
4 OUT OF MEMORY ( вне памяти ).....................................................LET,
INPUT,
В памяти недостаточно места для ваших действий.Вы можете FOR,
освободить себе память, удалив командные строки,используя DIM,
DELETE, затем удалить I или 2 строки программы ( с целью GO SUB,
возврата их впоследствии), получить дополнительную память, LOAD,
маневрируя оператором CLEAR. MERGE.
5 OUT OF SCREEN ( вне экрана )......................................................PRINT,
23 строки в нижней половине экрана. Также встречается с PRINT AT.
PRINT AT 22,...
6 NUMBER TOO BIG ( число больше максимального).......................Арифмети-
В результате вычислений получилось число больше 10**38 ческие опе-
рации.
7 RETURN WITHOUT GO SUB (RETURN без GO SUB).................RETURN
Встретилось больше операторов RETURN, чем было операто- GO SUB.
ров
8 END OF FILE (конец файла)..............................................................Операции с
внешней
памятью.
9 STOP STATEMENT (оператор STOP)...............................................STOP.
После этого сообщения CONTINUE не может повторить STOP,
но может передать управление на следующий оператор.
A INVALID ARGUMENT (ошибочный аргумент).................................SQR, LN,
ASN, ACS,
Аргумент функции не допустим в данной версии. USR (со
строковым
аргумен-
том)
В INTEGER OUT OF RANGE (переполнение целого)..........................RUN,
Выдается, когда аргумент с плавающей точкой округляется к RANDOMIZE,
к целому. Для случая массивов см. сообщение 3. РОКЕ,
DIM,
GO ТО
GO SUB,
LIST,
LLIST,
PAUSE,
PLOT,
CHR$,
PEEK,
USR(c
числовым
аргумен-
том)
С NONSENSE IN BASIC (выражение не бейсика)............................VAL,
Текст (строка) не распознается бейсиком как допустимое выра- VALS
жение.
D BREAK-CONT REPEATS...................................................................
Клавиша BREAK нажата во время действия периферийной опе-
рации. Действия CONTINUE после этого оператора обычные,
те что указаны в операторе. Сравните с сообщением L.
Е OUT OF DATA ( вне данных )...........................................................
Попытка выдать READ когда список данных в DATA кончился.
F INVALID FILE NAME (неверное нмя файла)..................................
Оператор SAVE с пустой строкой вместо имени или с именем
длиннее 10 символов.
G NO ROOM FOR LINE (нет места для строки)................................
Недостаточно места в памяти для записи очередной строки
программы.
Н STOP IN INPUT
Некоторые введенные данные начинаются с оператора STOP,
или была нажата INPUT LINE. Действие CONTINUE - обычное
1 FOR WITHOUT NEXT (FOR без NEXT).....................................
Цикл FOR ни разу не выполнялся, не найден NEXT.
J INVALID I/O DEVICE (неверное устройство ввода-вывода)..........
К INVALID COLOUR (неверный цвет).............................................
L BREAK INTO PROGRAM (BREAK во время выполнения ..........
программы)
Нажата клавиша BREAK; это обнаруживается между двумя
операторами. Строка и номер оператора в строке указывает
на оператор, выполняемый перед нажатием BREAK, но
CONTINUE переходит к следующему оператору.
М RAMTOP NO GOOD (адрес RAMTOP не годен)..........................
Число, указанное для RAMTOP, слишком велико, или слиш-
ком мало.
LOAD,
SAVE,
VERIFY,
MERGE,
LPRINT,
LLIST,
COPY
(только
когда ком-
пьютер за-
просил
свертку,а
вы ответил и
N,SPACE
или STOP.
READ
SAVE
Ввод
строки в
программу
INPUT
FOR
воперациях
с внешними
устройст.
INK,
PAPER,
FLASH,
BRIGHT,
INVERSE,
OVER,
разное
CLEAR,
возможно
RUN.
N STATEMENT LOST (оператор отсутствует).....................................RETURN
Переход к оператору, которого уже нет. NEXT
CONTINUE
О INVALID STREAM (ошибочный поток данных).............................. В операц.
...............................................................................................................ввода-выв.
Р FN WITHOUT DEF (FN без DEF )....................................................FN
Определяемая пользователем функция не определена в операторе
DEF FN.
Q PARAMETER ERROR (ошибка в параметре)....................................FN
Ошибочное число аргументов или один из них не того типа,
который был описан.
R ТАРЕ LOADING EI^ROR (ошибка загрузки с ленты).......................VARIFY,
Файл на ленте найден,но не может быть считан. LOAD,
MERGE.