Приложения
_ А. Сообщения монитора
Теневой сервис-монитор обладает большой и сложной системой команд,
а, следовательно, достаточно мощным синтаксическим анализатором. В
процессе разбора команд и их выполнения могут быть обнаружены неточ-
ности и ошибки. В этом случае монитор информирует пользователя и в
большинстве случаев предлагает выправить ситуацию. Приведенный ниже
список сообщений монитора поможет лучше разобраться в причинах ошибки
и исправить ее.
Analyser error Ошибка анализатора (возникает только в профессиональ-
ном расширении). Во время работы программы анализатора возникла
ошибка, связанная с переполнением стека, делением на ноль или что-то дру-
гое. Вслед за сообщением Analyser error выдается имя слова, в котором
возникла ошибка и, возможно, содержимое стека. Конкретный вид ошибки
высвечивается в статусной строке.
Bad address breakpoint Задан неверный адрес ловушки (точнее останова
программы. Для «физической» ловушки адрес не может быть меньше 16384.
ffid disk Ошибка чтения дискеты. Возникает, например, когда сделана
попытка посмотреть каталог неформатированной дискеты.
Bad opcode Ошибочный код операции. Во время трассировки программы
встретился код. который не соответствует ни одной известной инструкции
микропроцессора Z80.
Bad operand Ошибочное значение операнда. Величина операнда коман-
ды SLOW не может превышать 255.
Bad string Ошибка в задании строкового аргумента (стринга), обычно
непарное число кавычек.
Blocks identifical Сравниваемые (командой CHECK) блоки памяти
идеи гичны.
Breakpoint ### При выполнении или трассировке программы
встретилась ловушка с номером ###.
Breakpoint undefined Ловушка не определена. Ошибка возникает при
попытке включить (или выключить) ловушку, которая не была ранее задана.
Command abandoned Выполнение команды прервано. Это сообщение
информационного характера, команду можно вызвать из стека команд и пов-
торить.
(^ommanriflflf^fljuqri Команда не найдена. Введенной команды нет в
мониторе, либо в тексте присутствует синтаксическая ошибка.
Disk not TRDQS Физические параметры дискеты (размер сектора,
например 'не соответствует стандартным для системы TR-DOS.
Division by zero Деление на ноль. Ошибка может возникнуть при вы-
полнении в анализаторе программы пользователя.
Enter address Введите адрес (ввод нового адреса в команде DASM, см.
стр.20).
Enter name Введите имя (ввод имени дискеты при форматировании).
Enter number Введите число (либо действительно введите число, либо
откажитесь от ввода командой EDIT).
Enter command Введите команду.
Failed at ### ##;### ## При сравнении блоков памяти обнаружено
несоответствие, через двоеточие указаны адреса и значения ^различных яче-
ек.
Finish program Конец программы. В процессе трассировки программы
выполнена команда микропроцессора HALT при отключенных преры-
ваниях. В реальном режиме работы это означает полный останов процессора,
выйти из которого можно только аппаратным сбросом.
Forbidden bank RAM Запрещенный номер банка оперативного за-
поминающего устройства. Ошибка возникает, если в режиме 48 Бейсик
попытаться изменить конфигурацию памяти (в этом режиме это сделать не-
возможно из-за аппаратных блокировок).
Forbidden bank ROM Запрещенный номер страницы постоянного за-
поминающего устройства. Причины ошибки те же, что и у предыдущей.
Forbidden type word Запрещенный тип слова. Ошибка может возникнуть
только в профессиональном расширении, например, при попытке
редактирования слова из базового словаря.
Found at ### Найден байт (например, в команде FIND), адрес которого
выдается в этом сообщении.
Illegal value operand Неправильное значение операнда. Обычно выдает-
ся, когда вместо возможных значений ON или OFF задаются недопустимые
численные параметры.
Illegal word name Неправильное имя слова. Ошибка возникает только в
профессиональном расширении, например, если дается ссылка к еще неоп-
ределенному слову.
Insuficient program space Недостаточно области для программы. Ошибка
может возникнуть только в профессиональном расширении, когда не хватает
места для размещения в памяти программы пользователя.
Invalid bank RAM Неверный номер банка оперативного запоминающего
устройства, который не может быть больше 15.
Invalid bank ROM Неверный номер банка постоянного запоминающего
устройства, который не может быть больше 1.
Invalid number breakpoint Неверный номер ловушки. Всего в мониторе
можно определить 8 ловушек (1...8).
Invalid status breakpoint Попытка недопустимого действия с ловушкой.
Командой BRK можно лишь включить (ON), либо выключить (OFF) ловуш-
ку.
Invalid type brackets Несоответствие типов примененных скобок. Закры-
вающая скобка должна быть того же типа, что и открывающая.
Invalid type breakpoint Неверный тип ловушки. Значение типа может
выбираться в диапазоне 0...3.
Known disk Неизвестная дискета. Ошибка возникает в процессе
идентификации дискеты.
Known number Непонятный номер. Возможно, попытка ввода числа без
префикса, определяющего систему счисления (помните также о системе, ус-
тановленной командой BASE). Эта ошибка может не иметь к вводу чисел
никакого отношения, если между параметрами забыт разделитель.
No definition Нет определения для нового слова. Ошибка может бы п.
выдана только в профессиональной версии.
No search string Нет строки для поиска. Аргумент поиска (строка байт)
должен быть определен. Клавиша SS/F продолжает поиск, начатый коман-
дами FIND и SEARCH, и ищет следущее вхождение аргумента в заданном
диапазоне адресов. Если поиск закончен, то аргумент забывается. Для нов-
торного поиска необходимо повторить ввод команды.
Not number Не число. Синтаксический анализатор пытается
интерпритировать операнд сначала как мнемонику регистра, затем как иы-
ражение, и, наконец, как число, если и это не удается появляется сообщение
об ошибке.
Number too big Число слишком велико. Сообщение выдается, если вве-
дено число больше чем 65535.
Operand not found Не найден операнд. В команде задано меньшее
количество операндов, чем то, которое должно быть.
Out of range Значение операнда вне возможного для данного случая
диапазона.
Out of stack space Недостаточен размер области стека. Сообщение может
возникать только в профессиональном расширении.
Print abandoned Прервана команда печати. Если печать прервана,
например, нажатием на клавишу BREAK, то в некоторых типах принтеров
могут остаться нераспечатанные данные. Для очистки буфера принтера и
этом случае его необходимо либо перевести в состояние OFF LINE, либо вы-
ключить.
Professional program not found Данная функция, команда или режим
присутствует только в профессиональном расширении монитора.
Program undefined Программа неопределена. Сообщение выдается толь-
ко в профессиональной версии монитора, при попытке включи п, режим
анализатора без задания программы анализа.
Quit operand not found He хватает операнда, обычно это coo6mei ие ука-
зывает на нехватку закрывающих скобок.
Stack empty Стек анализатора пуст. Сообщение выдается только в
профессиональной версии, если слово пытается обработать значение и.) сте-
ка, которого там нет.
Stack not empty Стек анализатора не пуст. Сообщение выдается только
в профессиональной версии, если в конце обработки анализируемого слова
на стеке остались невостребованные значения.
Star(>finish Начальный адрес больше конечного. В командах, работа-
ющих с блоками памяти, первым должен указываться начальный (меньший)
адрес, а затем конечный (больший).
State of stack Состояние стека анализатора после выполнения слова с
помощью команды EVAL. Только в профессиональном расширении.
Stop number ### Останов процессора трассировки программы в резуль-
тате выполнения ключевого слова st анализатора. В сообщении выдается но-
мер ключевого слова.
String not found Аргумент поиска (строка символов, байт) не найден.
String too long Аргумент поиска (строка символов, байт) слишком велик
(больше допустимых 20 байт).
Syntax error При разборе операнда синтаксический анализатор встретил
ошибочное выражение, которое не смог идентифицировать. Ошибка может
возникнуть при «слиянии» операндов, когда между ними забыт разделитель.
Too few blocks В команде MOVE задан блок нулевой длины.
Too few operands Слишком маленькое значение операнда.
Too many ) Слишком много скобок. Сообщение появлятеся, когда закры-
вающих скобок больше, чем открывающих.
Too many operands Слишком много операндов для данной команды.
Word not known Неизвестное слово. Сообщение выдается только в
профессиональной версии, если при выполнении программы встретилось не-
определенное ранее слово.
Word redifined Слово переопределено. Сообщение выдается только в
профессиональной версии при задании старому слову новой программы.
Working... Работаю... Сообщение указывает на выполнение команды
Workspace insufficient Задан недопустимый адрес рабочей области
монитора. Эта область (используемая при трассировке программ) может рас-
полагаться, начиная с адресов 23296.. 49144.
***undefined Данная ловушка не определена.