Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[33]

Таблица 5.3

Таблица образов

Номер секции

Вид вектора описателя

Значение вектора описателя

Шестиадцатерич -ное содержимое секции

С

В

А

С

В

А

0

4

010

010

12

I

111

111

3F

2

t

t

100

000

20

3

t

t

01

100

100

64

4

101

101

2D

5

010

101

15

6

по

по

36

7

011

по

8

111

07

9 Конец описания

00

000

000

00

СООБЩЕНИЕ ОБ ОШИБКАХ

Сообщением об окончании исполнения программы и директив языка БЕЙСИК являются сигналы: символ ] и курсор в виде мигающей черты.

Интерпретатор сообщает об ошибках в программе или директиве посредством надписей на экране ВКУ либо печати их на печатающем устройстве.

На экране ВКУ выдается, кроме этого, текст строки, при исполнении которой обнаружена ошибка, с выделением местоположения ошибки красным цветом, а при работе в АЦР-64 - знаком "!".

После каждой ошибки происходит останов программы; при этом символ ] и курсор в виде мигающей черты вновь появляются на экране ВКУ.

В результате неправильного ввода операторов GET и INPUT в процессе исполнения программы на экране ВКУ появляется сообщение:

ОШИБКА ВВОДА (REENTER)

После этого ввод необходимо повторить. Возможны следующие сообщения об ошибках:

NEXT БЕЗ FOR - встреченному по ходу исполнения NEXT нет соответствующего FOR;

СИНТ.ОШ. - недопустимый символ в операторе;

RETURN БЕЗ GOSUB - некуда возвращаться в результате, как правило, неверного входа в подпрограмму (GOTO ВМЕСТО GOSUB);

МАЛО ДАННЫХ - выполняется READ, а списки ДАТА исчерпаны (возможно, пропущен RESTORE);

ОШ.ТИП - не согласованы операнды (например, сложение строки с числом);

ПЕРЕПОЛНЕНИЕ - засылка в целую переменную большего числа (шестнадцате-ричная константа длиннее четырех цифр и т.д.) ;

МАЛО ПАМЯТИ - нет свободной памяти под переменную или массив (вложенные


GOSUB и FOR не оставили в стеке свободного места под выражение, нет места под буфер поиска замены в директиве LIST и др.);

НЕТ НОМЕРА - отсутствует строка с номером, указанным в GOTO, THEN или GOSUB;

ОШ. ИНДЕКС - значение индекса выходит за пределы размерности, указанной для массива в DIM;

УЖЕ ОПИСАН - при исполнении DIM обнаружен массив с таким же именем; может быть вызвана использованием имени массива раньше DIM;

1/0 - делить на ноль нельзя;

ОШ. ЗНАЧЕНИЕ - неправильный операнд (например, попытка записать с помощью ГОКЕ число, большее 255, указать координату за пределами экрана и др.);

СТРОКА ДЛИННА - в результате сложения получена строка длиннее 255 символов;

ОСТАНОВ - одновременно нажаты клавиши УПР, Ц или выполнен STOP;

НАДО RUN - после одновременного нажатия клавиш УПР, Ц или STOP И перед COUT выполнено редактирование программы или нажаты клавиши УПР, СБР -продолжить нельзя;

НЕ В ДИАЛОГЕ - команда только для программного исполнения;

НЕТ МЕТКИ - в выражении ассемблера использовано имя с неопределенным значением, выдается также при использовании отсутствующей функции;

БАЙТ НЕПОЛОН - в шестнадцатеричной загрузке памяти записано нечетное число цифр;

Таблица 5.4

Сообщение об ошибках интерпретатора языка БЕЙСИК

Русская диагностика

Английская диагностика

Код ошибки

Сообщение

Код ошибки

Сообщение

0

next tor

0

no for error

12

синт.ош

6

sintax error

19

return gosub

12

no gosub error

35

мало данных

20

no datd error

46

ош. значение

29

illegal value

57

переполнение

40

owerflow error

69

мало памяти

48

out of memory

80

нет номера

61

undef statement

90

ош. индекс

76

subscript error

99

уже описан

85

redim array

109

х/о

96

devision by zero

124

ош.тип

126

type error name

130

строка длинна

130

long string

165

нет метки

157

undef name

174

байт неполон

167

bite uncompl

186

ош. метка

179

label error

194

ош.код

184

opcode error

200

уже есть

190

dooble def


ОШ. МЕТКА - начало оператора ассемблирования принято за метку, но меткой служить не может, например ! МЕТКА + I:RTS; может быть вызвана неправильной записью кода операции OTXW);

ОШ.КОД - не удается сформировать команду языка ассемблера, например, недопустимая адресация; выдается также при нарушении, условий относительной адресации, когда метка перехода далеко отстоит от команды условного перехода;

УЖЕ ЕСТЬ - в команде языка ассемблера использована метка, значение которой уже определено ко времени первого прохода.

При использовании оператора ONERRGOTO в программе исполнение команды Х=РЕЕК(218)+РЕЕК(219)*256 приведет к тому, что в X будет номер строки, в которой была ошибка.

Команда ГОКЕ 216,0 отключает выполнение оператора ONERRGOTO. После выполнения команды Y=PEEK(222) Y будет равен коду ошибки.

Коды ошибок и их соответствие диагностическим сообщениям русской и английской версиям приведены в табл. 5.4. Если седьмой бит ячейки с адресом 216 равен 1, это означает, что оператор ONERRGOTO уже выполнен. Это можно использовать в программе, например, так:

40 IF РЕЕК (216) 127 THEN GOTO 1000. ОБРАЩЕНИЕ К ИНТЕРПРЕТАТОРУ ЯЗЫКА БЕЙСИК

Для пуска интерпретатора необходимо разместить его в ОЗУ начиная с адреса й F00 и затем передать управление на этот адрес. Все действия выполняются автоматически программой "Дисковая операционная система" (ДОС) при включении ПЭВМ.

После пуска интерпретатора на экране ВКУ появляется символ ] и курсор в виде мигающей черты, что определяет готовность интерпретатора к работе. После выполнения программы эти сигналы вновь появляются на экране ВКУ.

Для обращения к интерпретатору из программы "Системный монитор" используются следующие команды:

♦ЕООО - для обращения к интерпретатору без сохранения программы и состояния интерпретатора;

+Е003 - для обращения к интерпретатору с сохранением программы и состояния интерпретатора.

Г л а в а в. ПРОГРАММИРОВАНИЕ НА ПЭВМ "АГАТ"

6.1. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ БЕЙСИК

ПЭВМ предоставляет большие возможности программисту по созданию графи ческого черно-белого и цветного изображения, проигрыванию на встроенном динамике музыкальных произведений, управлению объектами на экране с помощью аналоговых пультов, созданию баз данных; обработке информации и т.п.

Основным средством программирования в ПЭВМ "Агат" служит интерпретатор языка БЕЙСИК, который расширен до возможности применения в нем ДОС и ассемб-



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98]