Главная страница  Микропроцессоры 

[0] [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]

исходных значений. Функции служат для выполнен! математических операций и операций со строковыми в., личинами. Приведем примеры некоторых функций языка БЕЙСИК:

SIN - вычисление синуса выражения;

COS - вычисление косинуса выражения;

SQR - вычисление корня квадратного;

SGN - определение знака выражения;

LOG - вычисление натурального логарифма;

BIN - преобразование двоичного числа в десятичное;

LEN - вычисление количества знаков в заданной строке;

POS - нахождение порядкового номера символа или группы символов в указанной строке;

INT - нахождение целого числа, которое наиболее близко к указанному числу, но не больше его, например ШТ(5,17)=5, ШТ(10) = 10, ШТ(1,99) = 1.

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

К дополнительным средствам относятся некотор! средства языка БЕЙСИК, позволяюшие организовыва и обрабатывать списки, таблицы, матрицы.

Приведем пример небольшой программы на языке БЕЙСИК. Эта программа обеспечивает прием с терминала трехбуквенного обозначения месяца и вывод на терминал его номера:

10 REM ПРОГРАММА ВЫЧИСЛЕНИЯ НОМЕРА МЕСЯМА

20 REM ПО ЕГО Имени

35 LET То = "ЯНВФеВНАРАПРМАИИЮНИЮЛАВГСеНОКТНОЯДЕК

ае PRINT "ВВЕДИТЕ ПЕРВЫЕ ТРИ БУКВЫ ИМЕНИ МЕСЯЦЛ"

5(9 3MPUT Но

ЬФ IF LEN(M)<>3 GOTO 1J;>

7* LET M=<P0SCTo.M",l)+2)/3

ea PRTNT М"»" ИМЕЕТ НОМЕР ",Н

9в PRINT "ПРОДОЛЖИТЬ?<ДА/НЕТ)"

\фф INPUT LD

не IF L" = "AA" СОТО 3?

129 STOP

13Р PRINT "ОШИБКА ВВОДА. ПОВТОРИТЬ?"

М0 GOTO 5*

В приведенной программе строки 10,20 являются комментарием, в котором указано название программы.

В строке 30 текстовой переменной га присваивается строковое выражение, являющееся последовательностью 162



трех первых букв названия каждого месяца в календарной последовательности. Оператор PRINT в строке 40 выдает на терминал сообщение, указанное в этом операторе. После выдачи сообщения программа переходит к строке 50, в которой указывается операция ввода сообщения с клавиатуры. По оператору INPUT в строке 50 набранное значение помещается в текстовую переменную МП. В строке 60, используя функцию LEN, проверяется, было ли введено три символа. Если нет, то управление передается на строку 130, если да, то на следующую строку программы. В строке 70 программы вычисляется количество знаков заданной строки. Для этого

используется функция POS. Запись вида posfra. ма,г)

читается так: найти начальную позицию 1-го вхождения

строки Мй в строку та.. Так, для значения ма,

равного MAP, значение, вычисленное оператором POS, будет равно 7. Далее, в строке 70 вычисляется значение числовой переменной М. В строке 80 выводится на терминал результат решения задачи, например, в следующем виде: MAP ИМЕЕТ НОМЕР 3. После этого по оператору из строки 90 выводится запрос на продолжение, а в строке 100 ожидается ответ на него, который размещается в текстовой переменной ta.

В строке НО ответ анализируется: если ДА, то управление передается на строку 30, НЕТ - на строку 120, где работа программы останавливается. В строке 140 размещен оператор, сигнализирующий об ошибке ввода, найденной после проверки в строке 60. После сообщения об ошибке по оператору из строки 140 управление передается на строку 50 для ввода нового значения трех букв названия месяца.

КОНТРОЛЬНЫЕ ВОПРОСЫ

программное обеспе- I. Отразите структуру программного обсечение микроэвм печения микроЭВМ.

2. Перечислите задачи, решаемые программами операционной системы.

3. Дайте краткую характеристику программ операционной системы.

4. Назовите основные способы адресации памяти.



5. Какие способы адресации требуют- дл;, своей реализации наибольшего и наимен-шего объема памяти?

6. Какой способ адресации наиболее уд бен для последовательного просмотра ряд чисел, размещенных друг за другом?

7. Назовите типы команд, характерных для языков программирования.

8. Что представляют собой символичес-кие языки программирования?

9. Перечислите совокупность команд сим. волического языка микропроцессора К580ИК580.

10. Назовите основные элементы и типы переменных языка БЕЙСИК.

11. Перечислите наиболее часто исполь-зуемые операторы и функции языка БЕЙ. СИК.

Глава 6

ОРГАНИЗАЦИЯ ИНТЕРФЕЙСА В МИКРОЭВМ 6.1 Интерфейс и его функции

Рассмотрение архитектуры и назначения микроЭВМ по-Зволяет представить данный тип вычислительных машин как набор средств, полностью укомплектованный и под-готовленный к решению определенного класса задач, В этот набор, т.е. собственно в микроЭВМ, помимо ее центральной части (микропроцессора), как правило, входят оперативная память и периферийные устройства, на-пример терминал, печатающее устройство, гибкие диски и т. п. Каждое из названных устройств выполняется в виде самостоятельного блока; для того чтобы из этих блоков могла быть скомплектована микроЭВМ, нужны средства объединения - шины. Шина представляет собой совокупность сигнальных линий, объединенных в одном кабеле, по которым информация передается между устройствами микроЭВМ. Устройство, от которого и формация передается по шине, называется источнике устройство, получающее информацию, -приемника Итак, шины связывают между собой различные бл ки микроэвм. Каждый блок использует установленн! набор сигналов для общения с другими блоками. Сигналы, вырабатываемые источником, могут не соответствовать по своим параметрам сигналам, которые должны 0ыть восприняты приемником, поэтому элементы микроЭВМ подсоединяются не непосредственно к шине, а че-




[0] [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]

0.012