ГЛАВА 16
СООБЩЕНИЯ ОБ ОШИБКАХ
СООБЩЕНИЯ В ДИАЛОГОВОМ РЕЖИМЕ
Команда, вводимая в TR DOS, не должна содержать ошибок. Если ко-
манда не относится к числу распознаваемых TR DOS, то TR DOS игнорирует
ее. Если же команда содержит синтаксическую ошибку или сразу обна-
ружилась ошибка в процессе выполнения команды, то выдается сообщение.
Сообщения об ошибках и причины, их вызывающие, приведены ниже.
(1) NO DISK
В дисководе нет диска, или диск не отформатирован, -или дверка диско-
вода открыта. После подсказки А> снова выводится команда, Вы можете
вставить диск или закрыть дверку дисковода и нажать ENTER для повторно-
го выполнения той же самой команды.
(2) NO FILE(S)
TR DOS не может найти файл на диске. Это сообщение также выдается,
если в команде неправильно указан тип файла.
(3) *ERROR*
Это сообщение выдается, когда в команде допущена синтаксическая
ошибка.
(4) OUT OF MEMORY
Это сообщение выдается при загрузке программы С диска, если памяти
недостаточно, или при выполнении команды MOVE, если нет 4К памяти для
рабочего буфера. После общего сброса компьютера эта проблема, как
правило, исчезает.
(5) FILE EXISTS
Вы попытались записать файл с именем, которое уже использовано для
файла этого типа.
(6) OWERWRITE EXISTING FILE ? (Y,N)
Это сообщение появляется при копировании всех файлов с диска на
диск, когда выходной диск содержит файл такого же типа с тем же именем.
Вы можете ввести У для того, чтобы записать новый файл на место старого,
или N, чтобы оставить старый.
(7) DISK ERROR ошибка диска
TRK XX SEC YY трек XX сектор YY
RETRY, ABORT, IGNORE? повторить, прервать,
игнорировать?
Произошла ошибка на дйске, есть три возможности: можно ответить R -
для повторного выполнения команды, что часто помогает, А - чтобы прервать
операцию и вернуться в TR DOS, или I - чтобы игнорировать этот сектор и
продолжить операции с диском.
(8) WRITE PROTECT защита записи
TRK О SEC 1 трек 0 сектор 1
RETRY, ABORT, IGNORE? повторить, прервать,
игнорировать?
На диске установлена защита записи. Подобно предыдущему случаю
имеются три возможности, однако нет смысла повторять операцию, если не
поменять диск или не снять с него защиту записи.
(9) VERIFY ERROR ошибка верификации
Эйр сообщение появляется при верификации диска. Сообщение
информирует о том, что данные на диске не соответствуют тем, что в памяти.
КОДЫ ОШИБОК
Все перечисленные выше сообщения выводятся в том случае, если ко-
манда введена из TR DOS, если же команда подается из СОС или из прог-
раммы в машинных кодах, то сообщение об ошибке на экран не выводится.
Однако код ошибки заносится в регистровую пару ВС. Вот список кодов:
0 - ошибок нет
1 - нет файлов
2 - файл существует
3 - нет места
4 - каталог переполнен
5 - переполнение номера записи
6 - нет диска
7 - ошибка диска
8 синтаксическая ошибка
10 - канал уже открыт
11 - не дисковый файл
12 - канал не открыт
Для того, чтобы получить код ошибки, используйте присвоение пере-
менной значения команды TR DOS. Переменная получит значение кода
ошибки по завершению выполнения команды TR DOS.
Пример 1:
LET A-USR 15619: REM: CAT
Пример 2: Простая программа, иллюстрирующая использование кода
ошибки 1:
10 CLEAR 65367
20 LET ERR=USR 15619: REM: LOAD "COPY" CODE
25 REM КОД ОШИБКИ ПОМЕЩАЕТСЯ В ПЕРЕМЕННУЮ
ERR
30 IF ERR~1 THEN CLS: PRINT AT 10, 1;......COPY"" CODE
NOT ON DlSK":STOP
40 RANDOMIZE USR 32768
50 RANDOMIZE USR 15616
ГЛАВА 17
СВЕДЕНИЯ О TR DOS
1. TR DOS занимает 112 байтов в ОЗУ.
2. Без TR DOS ОЗУ пользователя начинается с адреса:
23813 - с интерфейсом 1,
23755 - без интерфейса 1.
3. С TR DOS ОЗУ пользователя начинается с адреса:
23925 - с интерфейсом 1,
23867 - без интерфейса 1.
Для того, чтобы записать, загрузить-или запустить программу, использу-
ющую байты с 32755 по, скажем, 23925, следует воспользоваться магической
кнопкой (смотрите главу 11).
4. Данные записываются на диск секторами. Если число байтов превы-
шает 256, то используется следующий сектор, это продолжается до тех пор,
пока не будет записан весь файл. 522 байта займут j сектора. Третий сектор,
будет содержать 10 байтов, только эти 10 байтов будут загружаться с диска
из этого сектора. Оставшиеся 246 байтов не загружаются, чтобы не стереть
данные в ОЗУ. *
5. Помимо 112 байтов ОЗУ TR DOS использует буфер в 256 байтов при
обращении к диску. Этот буфер создается автоматически. При выполнении
большинства команд TR DOS сначала сдвигает BASIC-программу (если есть
такая) вверх, чтобы создать буфер. После завершения операции программа
сдвигается назад в первоначальное положение. Это мероприятие незаметно
для пользователя. ч
6. Команда MOVE требует для работы как минимум 4К ОЗУ. Если в
памяти есть программа, то для выполнения команды MOVE, возможно, потре-
буется сначала очистить компьютер, а потом использовать эту команду. Это
можно сделать из СОС командой RANDOMIZE USR 0 или использовать
системный переключатель.
7. На диск можно записать до 128 файлов.