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


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




[28]

3LIST

Рис. 5.1. Программа физического обращения к диску

10REM ОБРАЩЕНИЕ К ЧЗТС

20* «10001

30! LDA* < ТАБЛ1

40! LDA* > ТАБЛ1

50! JSR*309

60! 1-ОАТАБЛ1 + 13

70! STA ANSER

80! RTS

90! ТАБЛ11*01300100

100! ТИПТАБЛИиЫ(РАЗЬЕМ

1 10 120 130 140 150 160 170 180

JПРИВОД,ТОМ

♦0907ТРЕК,СЕКТОР

«= ТАБЛ 2

- БУФЕР «2(НЕИСПОЛЬЗУЕТСЯ «01

*4(ОСТАЛОСЬОТ

(ПРЕДЫДУЩЕГООБРАШЕ

НИЯ

190 ! ТАБЛ2х*0001Е

200 ! :

210 CALL «1000

220 IF PEEK < ANSER) < >

0 THEN PRINT ОШИБКА

": STOP

СООБЩЕНИЕ ДОС

Всего ДОС распознает 15 ошибок различного рода, которые распечатываются в развернутом виде. При использовании команды ONERGOTO на языке БЕЙСИК код ошибки записывается по адресу 222 ( Д DE) и имеет следующий смысл:

01 - язык недоступен системе (нет интерпретатора с языка БЕЙСИК);

02, 03 - ошибка в диапазоне;

04- ГМД защищен на запись;

05- чтение после конца данных;

06- файл не найден;

07- не тот том (неправильно указан параметр V);

08- ошибка ввода-вывода;

09- ГМД полностью использован и дальнейшая запись на него невозможна; 0А - файл защищен на запись;

0В - синтаксическая ошибка;

ОС - нет свободных буферов ввода-вывода;

0D - команда не для этого типа файла;

0Е - нет конца программы;

0F - команда недоступна в прямом диалоге.

5.3. ИНТЕРПРЕТАТОР ЯЗЫКА БЕЙСИК

Двоичный файл с именем HELLO, содержащий интерпретатор языка БЕЙСИК, размещается на системном ГМД [13, 14, 16, 19].

Системный диск формируется таким образом, чтобы при включении питания


происходила автоматическая загрузка интерпретатора в память компьютера (ячейки с адресами ЕООО + FFFF).

БЕЙСИК занимает 14К байт памяти. Основное отличие интерпретатора от трансляторов (например, с языка ФОРТРАН) заключается в непосредственном переводе командной строки в двоичные коды, которые немедленно выполняются. Таким образом, интерпретатор языка БЕЙСИК позволяет организовать диалог как в программном, так и в непосредственном режиме. Интерпретатор воспринимает командную строку, содержащую операторы на языке БЕЙСИК. В одной строке может поместиться не более 255 символов (что соответствует восьми экранным строкам).

ЭЛЕМЕНТЫ ЯЗЫКА

В отличие от программ в машинных командах, где данные представлялись в двоичном виде, в программе на языке БЕЙСИК (в дальнейшем просто программа на БЕЙСИКе) данные представляются в форме, удобной для пользователя: целые, вещественные, алфавитноцифровые.

Данные на языке БЕЙСИК записываются либо как константы, либо как переменные.

Константа - величина, записанная в виде цифр (число) или символов (строка). Например, целые константы представляются в десятичном виде (диапазон ±32767) или в шестнадцатеричном формате (от U 0 - Д FFFF). Числам от И 0 до Д 7FFF соответствуют положительные целые величины, от Д 8001 до # FFFF - целые отрицательные (от -32767 до -1). Заметим, что поскольку шестнадцатеричному числу # 8000 соответствует целое число 32768 (выходит за диапазон целых констант), то вблизи ft 8000 лучше пользоваться вещественными константами.

Примеры целых констант: 29, -100, # 7F.FFFF.

Вещественные константы представляются в естественном виде: 123.456 . -. 001.3. или в экспоненциальном формате:

1.23456Е2 = 123.456 . -I.E-3 = 001, З.ЕО.

Вещественные константы изменяются в диапазоне ±9.99999999 или ±10

Строковые или символьные константы имеют длину не более 237 символов, содержат любые символы, кроме перевода строки (]~), и заключены в апострофы.

Например:

"ПЭВМ АГАТ", "ПГОГРАММА".

Переменная - это такая величина, которая может принимать произвольные значения в зависимости от потребностей пользователя.

В качестве обозначений переменных используют буквенно-цифровые символы. Обозначение переменной служит ее именем и не является количественной характеристикой. В качестве имени переменной можно использовать последовательность из любого числа символов, но первым символом должна быть буква.

Так же, как и константы, переменные могут быть трех типов. Признаком типа служит специальный символ, стоящий после последнего символа имени {% -признак целого типа, Д - признак строкового, у вещественных переменных специального символа нет).


Пример.

X - переменная вещественного типа:

Х% - переменная целого типа;

X $ - переменная строкового типа;

АХ 12NАМЕ79ПЮЧ - переменная вещественного типа.

В примере символами X, Х%, X Ц обозначаются разные переменные (имена совпадают, но тип разный).

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

Строковые константы присваиваются только строковым переменным.

Кроме простых переменных интерпретатор языка БЕЙСИК обрабатывает индексированные переменные или массивы. Число индексов в массиве определяет его размерность и может быть произвольным. Таким образом, массив характеризуется именем, указателем типа, количеством и максимальным значением индексов.

Пример.

М( 10,2) - массив вещественных чисел;

М%(2.2) - массив целых чисел;

М (5,2) - массив строковых символов.

В отличие от простой переменной, в массиве можно запомнить много величин. Например, в массиве М(10,2) можно запомнить 20 вещественных или целых (а возможно, и тех, и других) чисел. Обратиться к каждому числу (элементы массива) можно по имени, за которым в скобках следует указать значения индексов, соответствующих этому элементу. Три массива, приведенные в примере, идентифицируют три матрицы разного типа и размерности. Первый массив -матрица из 10 строк и двух столбцов, содержащая вещественные числа, второй -матрица 2x2 целых чисел, третий - матрица 5x2 строковых величин.

ОПЕРАЦИИ, ВЫПОЛНЯЕМЫЕ ИНТЕРПРЕТАТОРОМ ЯЗЫКА БЕЙСИК

Арифметические операции:

"=" - присваивание (переменная=выражение);

"-" - взятие с обратным знаком (унарная), вычитание (бинарная);

"+" - сложение;

"*" - умножение;

"Г - деление;

"л" - возведение в степень;

Операции сравнения и логические:

"=" - равно;

"< >" - не равно;

"<" - меньше;

">" - больше;

"<=" - меньше или равно;

">=" - больше или равно;

"NOT" - логическое НЕ;

"AND" - логическое И;



[стр.Начало] [стр.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]