|
|
(не показана 1 промежуточная версия этого же участника) |
Строка 1: |
Строка 1: |
| {{ДИ}} | | {{ДИ}} |
| {{TOCright}}
| |
| <h2>1.1. Устройство БК-0010-01</h2>
| |
|
| |
|
| <pre>
| | '''Материал удален по требованию автора.''' |
| БК-0010-01 (далее просто БК) - это микроЭВМ, предназначенная для
| |
| индивидуального пользования. БК свободно располагается на столе и
| |
| состоит всего из двух частей - системного блока, совмещенного с
| |
| клавиатурой, и блока питания. В качестве дисплея может использоваться
| |
| бытовой телевизор или специальный монитор, а для сохранения программ к
| |
| БК подключается любой бытовой магнитофон (желательно кассетный).
| |
| Дисплей и магнитофон - это внешние устройства микроЭВМ. Внутренние
| |
| устройства показаны на рис.1.
| |
| | |
| ╔═════════════════════╗ ╔═════════════════════╗
| |
| ║ П Р О Ц Е С С О Р ║ ║ П А М Я Т Ь ║
| |
| ╚═════════════════════╝ ╚═════════════════════╝
| |
| | |
| | |
| < о б щ а я ш и н а >
| |
| | |
| | |
| ╔════════════════════╗ ╔═════════════════════╗
| |
| ║ УСТРОЙСТВА ВВОДА ║ ║ УСТРОЙСТВА ВЫВОДА ║
| |
| ╚════════════════════╝ ╚═════════════════════╝
| |
| | |
| Рис.1. Устройство микроЭВМ БК-0010-01
| |
| | |
| Процессор - это мозг ЭВМ. Он предназначен для обработки данных и
| |
| для управления всеми остальными устройствами.
| |
| В памяти машины хранятся данные, результаты их обработки и
| |
| программа, по которой эта обработка производится.
| |
| Устройства ввода позволяют вводить в память компьютера данные и
| |
| программу их обработки. В БК есть устройства ввода с клавиатуры, маг-
| |
| нитофона и дополнительных устройств (например, джойстика или "мыши").
| |
| Устройства вывода предназначены для сохранения программ и данных во
| |
| внешней памяти (магнитофон) и для выдачи результатов обработки данных
| |
| в форме, удобной для человека. В БК есть устройство вывода на цветной
| |
| графический дисплей, на магнитофон, на генератор звука и на порт вво-
| |
| да/вывода, к которому могут подключаться дополнительные устройства,
| |
| например, принтер, бытовые приборы или технологическое оборудование.
| |
| Аппаратная часть БК построена по схеме "Q-Bus" ("усеченная общая
| |
| шина"). Это означает, что все устройства ЭВМ, включая процессор,
| |
| память, клавиатуру, соединены друг с другом одними и теми же
| |
| электрическими проводниками (общей шиной), по котoрым передаются
| |
| сигналы управления и данные. 16 из этих проводников (линий) служат для
| |
| передачи адреса и данных в размере одного машинного слова.
| |
| </pre>
| |
| | |
| <h2>1.2. Основные характеристики и организация БК</h2>
| |
| | |
| <pre>
| |
| Основными характеристиками любой ЭВМ являются разрядность, объем и
| |
| организация памяти, быстродействие и система команд процессора.
| |
| Разрядность БК - 16 бит. Бит (от английского выражения "binary
| |
| digit" - "двоичная цифра") является минимальной единицей информации. В
| |
| одном бите содержится столько же информации, сколько в ответе на
| |
| вопрос "да или нет ?". Один бит информации передается по одной линии
| |
| общей шины в виде одного из двух уровней напряжения. Соответственно,
| |
| вводятся понятия "логический 0" и "логическая 1". Почему 0 и 1 ?
| |
| Вы наверняка слышали, что "ЭВМ работает в двоичной системе счисле-
| |
| ния". Давайте вспомним о системах счисления.
| |
| В повседневной жизни мы пользуемся десятичной системой счисления -
| |
| для записи чисел достаточно 10 цифр: 0,1,2,3,4,5,6,7,8,9. Наряду с
| |
| десятичной в программировании широко применяются двоичная, восьмерич-
| |
| ная и шестнадцатеричная системы счисления.
| |
| Основание десятичной системы счисления равно 10. Для примера
| |
| возьмем число 847 (в десятичной системе счисления). Это число из трех
| |
| цифр можно представить в виде суммы трех произведений:
| |
| 2 1 0
| |
| 8*10 + 4*10 + 7*10 = 800 + 40 + 7 = 847
| |
| Каждое произведение получается умножением соответствующей цифры в
| |
| записи числа на основание системы счисления (в данном случае число 10)
| |
| в степени, равной номеру позиции цифры. Например, цифра "7" стоит на
| |
| нулевой позиции числа 847, тогда ей (цифре "7") соответствует произве-
| |
| дение числа 7 на 10 в степени 0. Напомним, что любое число в степени 0
| |
| равно 1. Цифре "4" соответствует произведение числа 4 на 10 (10 в сте-
| |
| пени 1), а цифре 8 - произведение числа 8 на 100 (10 в степени 2). Это
| |
| правило применяется при переводе чисел из какой-либо системы счисления
| |
| в понятную нам десятичную систему. Позиции цифр (номера разрядов) в
| |
| записи числа нумеруются от 0 и далее справа налево.
| |
| Для записи чисел в двоичной системе счисления используются 2 цифры:
| |
| 0 и 1. Попробуем перевести двоичное число 1001 в десятичное, учитывая,
| |
| что основание системы счисления равно 2. По аналогии с предыдущим
| |
| примером десятичное значение двоичного числа 1001 определяется
| |
| сложением произведений:
| |
| 3 2 1 0
| |
| 1*2 + 0*2 + 0*2 + 1*2 = 1*8 + 0*4 + 0*2 + 1*1 = 9
| |
| Аналогично переводятся числа из восьмеричной системы счисления в
| |
| десятичную. Например, восьмеричное число 377 в десятичной системе
| |
| будет равно сумме:
| |
| 2 1 0
| |
| 3*8 + 7*8 + 7*8 = 3*64 + 7*8 + 7*1 = 255
| |
| Для представления чисел в шестнадцатеричной системе счисления
| |
| используются 16 цифр: 0,1,2,3,4,5,6,7,8,9,А,В,С,D,E,F. Буквы
| |
| A,B,C,D,E,F в данном случае надо рассматривать как цифры, равные
| |
| соответственно 10,11,12,13,14,15.
| |
| Если записывать число в двоичной системе счисления, один бит будет
| |
| соответствовать одному двоичному разряду числа. Действительно,
| |
| двоичная система наиболее удобна для вычислительной техники, так как
| |
| проще сделать устройства для распознавания всего двух логических
| |
| уровней - 0 и 1. Поскольку бит является слишком мелкой единицей, в
| |
| вычислительной технике используют понятия: 1 байт = 8 бит, 1 К = 1024
| |
| байт (килобайт).
| |
| Итак, разрядность БК - 16 бит. По 16 проводникам общей шины одно-
| |
| временно могут передаваться 16 бит информации, составляющие в совокуп-
| |
| ности машинное слово. Следовательно, В БК размер машинного слова равен
| |
| 16 битам (или 2 байтам). Данные, которые помещаются в машинное слово,
| |
| процессор обрабатывает целиком, в один прием. Разрядность ЭВМ влияет
| |
| на ее быстродействие. Например, если целое число занимает 2 байта, то
| |
| для выполнения операции сложения таких чисел на 8-разрядных ЭВМ
| |
| (например, "Микроша", "Криста") требуется несколько машинных команд, а
| |
| на 16-разрядном БК - только одна, что, конечно, быстрее.
| |
| На рис.2 показан стандартный способ записи разрядов машинного
| |
| слова. Разряды нумеруются справа налево от 0 до 15. При этом разряд с
| |
| номером 0 (нулевой разряд) называется младшим, а разряд с номером 15 -
| |
| старшим. Такой способ записи слова совпадает с записью числа в
| |
| двоичной системе счисления. Обычно целое число занимает во внутреннем
| |
| представлении в ЭВМ одно слово. При этом старший разряд слова
| |
| считается знаковым. Он равен "1" для отрицательных чисел и "0" - для
| |
| положительных.
| |
| | |
| 15 8 7 0
| |
| ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
| |
| │ 0 │ 1 │ 0 │ 1 │ 0 │ 0 │ 1 │ 0 │ 0 │ 1 │ 1 │ 1 │ 0 │ 1 │ 0 │ 0 │
| |
| └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
| |
| └────── старший байт ─────────┘ └─────── младший байт ────────┘
| |
| | |
| Рис.2. Машинное слово
| |
| | |
| Быстродействие ЭВМ зависит от тактовой частоты процессора и
| |
| некоторых других тонкостей его организации. Для самых простых операций
| |
| (типа регистр-регистр) быстродействие БК составляет около 400 тысяч
| |
| операций в секунду. Если же оценивать быстродействие по времени работы
| |
| сложных программ с арифметическими расчетами, то разрядность ЭВМ также
| |
| влияет на быстродействие, о чем мы уже говорили.
| |
| Память БК состоит из 2-х частей: оперативного запоминающего уст-
| |
| ройства (ОЗУ) и постоянного запоминающего устройства (ПЗУ).
| |
| В ОЗУ хранятся программа и данные, которые она обрабатывает. ОЗУ БК
| |
| собрано из 16-и больших интегральных схем (БИС) КР565РУ6, общий объем
| |
| ОЗУ составляет 32К. При выключении компьютера содержимое ОЗУ стира-
| |
| ется.
| |
| Программа, записанная в ПЗУ, при выключении питания не стирается (в
| |
| отличие от содержимого ОЗУ). Но в ПЗУ нельзя записать информацию, ее
| |
| можно оттуда только прочитать.
| |
| ПЗУ собрано из 4-х БИС КР1801РЕ2. В первой БИС записана (как гово-
| |
| рят, зашита) программа МОНИТОР - операционная система БК. МОНИТОР
| |
| включает в себя драйверы внешних устройств, программу настройки
| |
| компьютера при включении питания, а также обеспечивает операции по
| |
| загрузке и запуску программ. Драйверы управляют работой внешних
| |
| устройств. Например, драйвер магнитофона обеспечивает обмен
| |
| информацией с магнитофоном. В трех остальных БИС ПЗУ зашит транслятор
| |
| с языка Бейсик, обеспечивающий перевод текста программы на языке
| |
| Бейсик в последовательность команд, "понятную" для процессора. Если
| |
| подключить к БК блок МСТД, то в адресное пространство БК вместо трех
| |
| БИС с Бейсиком будут включены две БИС: с интерпретатором языка Фокал и
| |
| с тестовой системой диагностики, проверяющей исправность БК (при этом
| |
| еще останется пустое место,куда можно подключить одну БИС объемом 8К).
| |
| Объем ОЗУ БК составляет, как уже говорилось, 32К, из которых 16К
| |
| отводится для программы и 16К - для изображения на экране.
| |
| Организацию памяти можно образно представить как ряд пронумерован-
| |
| ных по порядку ячеек, в каждой из которых помещается один байт инфор-
| |
| мации (рис.3).
| |
| ┌───┬───┬───┬───┬───┬───┬───┬───┬───────────
| |
| адреса байтов │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 10 ...
| |
| (восьмеричные) ├───┴───┼───┴───┼───┴───┼───┴───┼───────────
| |
| адреса слов │ 0 │ 2 │ 4 │ 6 │ 10 ...
| |
| (восьмеричные) ├───────┼───────┼───────┼───────┼───────────
| |
| номера разрядов(бит) │0...15Д│0...15Д│0...15Д│0...15Д│0...15Д ...
| |
| в слове (десятичные) └───────┴───────┴───────┴───────┴───────────
| |
| | |
| Рис. 3. Адресация памяти
| |
| | |
| Нумерация начинается с нуля, а максимальный возможный номер (адрес)
| |
| определяется разрядностью ЭВМ и в данном случае равен
| |
| 16
| |
| 2 - 1 = 177777 = 65535Д . (Далее по тексту значения адресов и кодов
| |
| машинных команд будут записываться в восьмеричной системе счисления,
| |
| так как от нее проще перейти к двоичной. В тех случаях, когда система
| |
| счисления не очевидна, десятичные числа будут записываться с буквой
| |
| "Д" в конце числа). Процессор может брать из памяти и записывать в
| |
| память один байт (указав предварительно его адрес) либо одно слово (в
| |
| этом случае указанный адрес должен быть четным). Машинные команды
| |
| размещаются в этой же памяти по словам, поэтому адрес очередной
| |
| машинной команды программы всегда должен быть четным.
| |
| Адреса ячеек ОЗУ БК меняются от 0 до 77777, а адреса ячеек ПЗУ - от
| |
| 100000 до 177577. На рисунке 4 показано распределение памяти (адресно-
| |
| го пространства) БК-0010-01.
| |
| | |
| ┌─────────────────┬────────────────────────────────────────────┐
| |
| │ Адреса │ Содержимое и объем памяти │
| |
| ╞═════════════════╪════════════════════════════════════════════╡
| |
| │ 0 │ Системные переменные, стек │
| |
| │ 777 │ ( 0,5 К ) │
| |
| ├─────────────────┼────────────────────────────────────────────┤
| |
| │ 1000 │ │
| |
| │ 37777 │ Программа пользователя │
| |
| │ (или 67777) │ ( 15,5 К или 27,5 К в режиме РП ) │
| |
| ├─────────────────┼────────────────────────────────────────────┤
| |
| │ 40000 │ │
| |
| │ (или 70000) │ ОЗУ экрана │
| |
| │ 77777 │ ( 16 К или 4 К в режиме РП ) │
| |
| ├─────────────────┼────────────────────────────────────────────┤
| |
| │ 100000 │ Системное ПЗУ : МОНИТОР, драйверы │
| |
| │ 117777 │ ( 8 К ) │
| |
| ├─────────────────┼────────────────────────────────────────────┤
| |
| │ 120000 │ ПЗУ с транслятором Бейсика │
| |
| │ 177577 │ ( 23,9 К ) │
| |
| ├─────────────────┼────────────────────────────────────────────┤
| |
| │ 177600 │ Область системных регистров │
| |
| │ 177777 │ ( 0,1 К ) │
| |
| └─────────────────┴────────────────────────────────────────────┘
| |
| Рис.4. Распределение адресного пространства БК-0010-01
| |
| | |
| Наконец, последняя важнейшая характеристика ЭВМ - система команд.
| |
| Для каждого типа ЭВМ характерен свой набор машинных команд, которые
| |
| она может выполнять, и, следовательно, свой ассемблер. В качестве про-
| |
| цессора в БК используется однокристалльный микропроцессор К1801ВМ1.
| |
| Система команд этого процессора "DEC-овская", то есть аналогичная ЭВМ
| |
| PDP-11 фирмы DEC (Digital Equipment Corporation) - одной из ведущих
| |
| зарубежных фирм по производству вычислительной техники. В СССР такую
| |
| же систему команд имеют ЭВМ типа СМ, Электроника-60, ДВК и т.п. Вот
| |
| почему, кстати, ЭВМ типа ДВК удобно использовать как инструментальную
| |
| машину для БК при разработке сложных и больших программ.
| |
| </pre>
| |
|
| |
| | |
| <h2>1.3. Устройство вывода - дисплей</h2>
| |
| | |
| <pre>
| |
| Основным устройством вывода для БК является экран телевизора. На
| |
| экране можно разместить 24 строки текста (символьных строки), не счи-
| |
| тая самой верхней, служебной, строки, предназначенной для отображения
| |
| информации о текущих режимах работы клавиатуры и экрана. Каждая строка
| |
| состоит из 32-х символьных позиций - то есть в каждой строке можно
| |
| разместить до 32-х символов (букв, цифр или других знаков), если вклю-
| |
| чен режим экрана "32 символа в строке". Такая же строка вмещает 64
| |
| символа, если включен режим экрана "64 символа в строке". Переключение
| |
| экрана из одного режима в другой осуществляется одновременным нажатием
| |
| клавиш "АР2" и ";". Режим "64 символа в строке" рекомендуется исполь-
| |
| зовать только при работе с черно-белым видеомонитором (телевизором).
| |
| На рис.5 показано изменение номеров строк по вертикали вниз (обоз-
| |
| начено осью Y) и изменение номеров позиций по горизонтали вправо
| |
| (обозначено осью Х). Например, буква "М" на экране находится на 1-ой
| |
| позиции 2-ой строки. Заметим, что места, на которых могут быть распо-
| |
| ложены символы (позиции в символьных строках), называют знакоместами.
| |
| Их расположение строго фиксировано, поэтому все буквы имеют одинаковую
| |
| ширину и высоту; постоянно также и расстояние между строками. Тем не
| |
| менее, если Вы будете программировать на БК в кодах, это ограничение
| |
| можно обойти. В игровых программах часто встречаются "пляшущие" в вер-
| |
| тикальном направлении буквы различной высоты, ширины и цвета.
| |
| На дисплее также обычно отображается курсор. Это закрашенный
| |
| прямоугольник, стоящий на том знакоместе, где будет выведен очередной
| |
| символ.
| |
| | |
| 0 1 2 3 4 5 6 7 Х (номера символьных позиций - числа
| |
| ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬── из интервала от 0 до 31)
| |
| 0 │ │ │ │ │ │ │ │ │ │
| |
| 1 │ │ │ │ │ │ │ │ │ │
| |
| 2 │ │М│А│Р│Т│▓│ │ │ │
| |
| 3 │ │ │ │ │ │ │ │ │ │
| |
| 4 │
| |
| Y (номера символьных строк - числа
| |
| из интервала от 0 до 23)
| |
| | |
| Рис.5. Символьные координаты экрана (режим "32 символа в строке")
| |
| | |
| Каждая символьная строка, в свою очередь, состоит из 10 горизон-
| |
| тальных линий экрана - назовем их точечными строками. Их всего 240 (по
| |
| 10 точечных строк на 24 символьные строки). Каждая точечная строка
| |
| состоит из точек - это элементарная единица графической информации.
| |
| Количество графических точек в строке равно 256 (для режима "32 симво-
| |
| ла в строке") или 512 (для режима "64 символа в строке").
| |
| Любой символ на экране - это рисунок, полученный из отдельных то-
| |
| чек. На рис.6 показано, как буква "М" сформирована из точек на нулевой
| |
| символьной позиции нулевой символьной строки. В системном ПЗУ хранится
| |
| специальная программа (знакогенератор), которая при выводе на дисплей
| |
| какого-либо символа формирует на экране соответствующую картинку из
| |
| точек. В МОНИТОРе есть также подпрограммы для вывода отдельных точек и
| |
| прямых линий по координатам.
| |
| Далее, говоря о координатах (строках и позициях), не будем указы-
| |
| вать, символьные они или графические (точечные), так как понятно, что
| |
| они - символьные, если речь идет о символах, и графические, если речь
| |
| идет о точках.
| |
| | |
| 0 1 2 3 4 5 6 7 8 Х (номера точечных позиций - числа
| |
| ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─── из интервала от 0 до 255)
| |
| 0 │ │ │ │ │ │ │ │ │ │
| |
| 1 │ │■│ │ │ │■│ │ │ │
| |
| 2 │ │■│■│ │■│■│ │ │ │
| |
| 3 │ │■│ │■│ │■│ │ │ │
| |
| 4 │ │■│ │■│ │■│ │ │ │
| |
| 5 │ │■│ │ │ │■│ │ │ │
| |
| 6 │ │■│ │ │ │■│ │ │ │
| |
| 7 │ │■│ │ │ │■│ │ │ │
| |
| 8 │ │ │ │ │ │ │ │ │ │
| |
| 9 │ │ │ │ │ │ │ │ │ │
| |
| Y (номера точечных строк - числа
| |
| из интервала от 0 до 239)
| |
| | |
| Рис.6. Графические координаты экрана (режим "32 символа в строке")
| |
| | |
| Запомните, что в режиме "64 символа в строке" одной графической
| |
| точке соответствует один бит экранного ОЗУ. Поскольку бит может
| |
| принимать лишь два состояния - 0 или 1, то графическая точка может
| |
| быть либо включена, либо выключена. Информацию о цвете точки хранить
| |
| негде, поэтому режим "64 символа в строке" используется только для
| |
| вывода черно-белых изображений и текстов.
| |
| В режиме "32 символа в строке" одной графической точке
| |
| соответствуют два бита ОЗУ. Количество точек в строке уменьшается,
| |
| зато появляется возможность кодировать 4 цвета - красный, зеленый,
| |
| синий, черный. Для подключения бытового цветного телевизора в качестве
| |
| цветного дисплея необходимо, как правило, специальное согласующее
| |
| устройство [10].
| |
| В обоих режимах начало экранного ОЗУ (адрес 40000) соответствует
| |
| левому верхнему углу экрана. При увеличении адреса мы движемся вправо
| |
| по точечной строке (ее длина - 64 байт), пока не перейдем в начало
| |
| следующей, и т.д. Правый нижний угол экрана соответствует адресу
| |
| 77777. Служебная строка занимает 2000 (восьмеричное) байт, поэтому
| |
| графической точке с координатами X=0, Y=0 соответствуют два младших
| |
| бита по адресу 42000.
| |
| Все сказанное справедливо в обычной конфигурации памяти, однако в
| |
| БК есть еще режим расширенной памяти (РП). В этом режиме экранное ОЗУ
| |
| начинается с адреса 70000, и в нем помещаются только 4 символьных
| |
| строки. Зато намного больше памяти остается для программы и ее данных.
| |
| В режиме РП работают многие системные программы (например,
| |
| копировщики).
| |
| </pre>
| |
|
| |
| <h2>1.4. Устройство ввода - клавиатура</h2>
| |
| | |
| <pre>
| |
| ┌──────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
| |
| │ ПОВТ │ КТ │ │ │ │ ИНД │ БЛОК│ ШАГ │ СБР │ СТОП│
| |
| │ │ │ │ │ │ СУ │ РЕД │ │ │ │
| |
| ├───┬──┴┬───┬┴──┬──┴┬───┬┴──┬──┴┬───┬┴──┬──┴┬───┬┴──┬──┴┬────┤
| |
| │ │ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ / │ │
| |
| │ │ + │ ! │ " │ # │ $ │ % │ & │ ' │ ( │ ) │ { │ = │ ? │ │
| |
| ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤
| |
| │ ТАБ│ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ : │ Ъ │ ВС│
| |
| │ │ J │ C │ U │ K │ E │ N │ G │ [ │ ] │ Z │ H │ * │ } │ │
| |
| ├────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┤
| |
| │ СУ │ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │ . │ │
| |
| │ │ F │ Y │ W │ A │ P │ R │ O │ L │ D │ V │ \ │ > │ │
| |
| ├────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┬───┤
| |
| │ЗАГЛ│СТР│ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ , │ │ │ │
| |
| │ │ │ Q │ ^ │ S │ M │ I │ T │ X │ B │ @ │ < │ │ │ │
| |
| ├────┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┴───┴─┬─┴───┤ ├───┤ │
| |
| │ РУС │ АР2│ │ ЛАТ │ │ │ │
| |
| │ │ │ (пробел) │ │ │ │ │
| |
| └──────┴────┴──────────────────────────────┴─────┴───┴───┴───┘
| |
| | |
| Рис.7. Клавиатура ЭВМ БК-0010-01
| |
| | |
| Клавиатура БК аналогична клавиатуре пишущей машинки. Но если
| |
| пишущая машинка имеет только два регистра - строчные и заглавные
| |
| буквы, то в БК 6 регистров - каждая буквенная клавиша в зависимости от
| |
| включенного режима может выдавать 6 различных кодов. Рассмотрим
| |
| назначение специальных и переключающих клавиш БК, которое они несут
| |
| при работе Бейсик-системы.
| |
| | |
| СБР - "сброс". Очищает экран дисплея.
| |
| | |
| - далее эту клавишу будем называть клавишей "ВК"
| |
| ("Возврат Каретки"). Ввод с клавиатуры обычно завер-
| |
| шается нажатием этой клавиши, поэтому ее также
| |
| называют "ВВОД".
| |
| | |
| ВС - "Возврат Строки". Она возвращает последнюю введенную
| |
| строку, которую тут же можно отредактировать с
| |
| помощью стрелок и снова ввести клавишей "ВК".
| |
| | |
| РУС , ЛАТ - эти клавиши включают соответственно русский или
| |
| латинский шрифт. Одновременно в правой части служеб-
| |
| ной строки высвечивается надпись "РУС" или "ЛАТ".
| |
| | |
| ЗАГЛ , СТР - включают соответственно заглавный или строчный
| |
| шрифт.
| |
| | |
| - "нижний регистр". Одновременное нажатие этой и любой
| |
| клавиши спецзнаков позволяет ввести спецзнаки (на-
| |
| пример, для вывода символа "&" надо нажать клавишу
| |
| нижнего регистра, и, удерживая ее нажатой, нажать
| |
| клавишу "6"). На клавиатуре БК-0010 соответствующая
| |
| переключающая клавиша называется "ПР" ("правый
| |
| регистр").
| |
| | |
| СУ - "Символ Управляющий". Одновременное нажатие этой и
| |
| любой буквенной клавиши превращает последнюю
| |
| в управляющую клавишу (их коды на 100 меньше, чем
| |
| коды латинских букв).
| |
| | |
| АР2 - "Второй символ управляющий". Одновременное нажатие
| |
| этой и буквенной клавиши дает код управления
| |
| экраном или символ псевдографики (их коды на 100
| |
| больше, чем коды латинских букв). В БК-0010 ту же
| |
| функцию выполняет клавиша "НР" ("нижний регистр").
| |
| Коды всех символов и соответствующих клавиш
| |
| приведены в Приложении 1.
| |
| | |
| - "забой". "Забивает" ( стирает ) символ, стоящий
| |
| слева от курсора.
| |
| | |
| - удаляет часть строки, расположенную справа от
| |
| курсора.
| |
| | |
| - "сдвижка в строке". Сдвигает часть строки,
| |
| расположенную справа от курсора, на одну
| |
| символьную позицию влево.
| |
| | |
| - "раздвижка в строке". Раздвигает часть строки,
| |
| расположенную справа от курсора, на одну
| |
| символьную позицию вправо.
| |
| | |
| Четыре клавиши со стрелками в правой нижней части клавиатуры
| |
| предназначены для управления перемещением курсора.
| |
| | |
| ПОВТ - многократный повтор ввода последней нажатой клавиши.
| |
| | |
| ИНД СУ - включает режим вывода управляющих символов на экран
| |
| в виде инверсных соответствующих букв.
| |
| | |
| БЛОК РЕД - запрещает отработку клавиш управления курсором.
| |
| | |
| ШАГ - пошаговое выполнение Бейсик-программы.
| |
| | |
| Ниже приводятся некоторые полезные управляющие комбинации клавиш.
| |
| Далее для обозначения одновременного нажатия 2-х или 3-х клавиш будем
| |
| использовать наклонную черту "/".
| |
| | |
| СУ/@ - приостанавливает вывод на дисплей, чтобы Вы могли
| |
| прочитать быстро уходящую с экрана информацию;
| |
| | |
| АР2/СБР - переключение в режим расширенной памяти (РП) и
| |
| обратно;
| |
| | |
| АР2/: - включить/выключить курсор;
| |
| | |
| АР2/; - переключить режим 32/64 символа в строке;
| |
| | |
| АР2/ /1 - включить красный цвет;
| |
| | |
| АР2/ /2 - включить зеленый цвет;
| |
| | |
| АР2/ /3 - включить синий цвет;
| |
| | |
| АР2/ /4 - включить черный цвет.
| |
| | |
| Дополнительные возможности при работе с клавиатурой в Бейсике
| |
| описаны в п. 3.5.3.12, а также в "Руководстве оператора" [2].
| |
| </pre>
| |
|
| |
| <h2>1.5. Описание системных регистров</h2>
| |
| | |
| <pre>
| |
| Системные регистры БК используются для работы с внешними
| |
| устройствами. Каждый из этих 16-разрядных регистров имеет свой адрес в
| |
| адресном пространстве, расположенном с адреса 177600 по адрес 177777.
| |
| Регистры внешних устройств используются обычно опытными
| |
| программистами, работающими в кодах. Начинающие могут пока пропустить
| |
| данный пункт и вернуться к нему при необходимости. Различные способы
| |
| работы с системными регистрами показаны в примерах на Бейсике и
| |
| ассемблере в следующих главах.
| |
| </pre>
| |
|
| |
| <h3>1.5.1. Регистр состояния клавиатуры</h3>
| |
| | |
| <pre>
| |
| Регистр состояния клавиатуры имеет адрес 177660.
| |
| В нем используются только два бита.
| |
| Разряд 6 - это бит разрешения прерывания. Если в нем содержится
| |
| логический ноль "0", то прерывание от клавиатуры разрешено; если нужно
| |
| запретить прерывание от клавиатуры, то в 6 разряд надо записать "1".
| |
| Разряд 7 - это флаг готовности устройства. Он устанавливается в "1"
| |
| при поступлении в регистр данных клавиатуры нового кода. Разряд
| |
| доступен только по чтению.
| |
| Если прерывание от клавиатуры разрешено (в разряд 6 записан "0"),
| |
| то при установке разряда 7 в "1" (при поступлении в регистр данных
| |
| клавиатуры нового кода) производится прерывание от клавиатуры -
| |
| читается код нажатой клавиши из регистра данных клавиатуры, выдается
| |
| звуковой сигнал и производятся действия, соответствующие нажатой
| |
| клавише. При чтении регистра данных разряд 7 регистра состояния
| |
| сбрасывается в "0".
| |
| </pre>
| |
|
| |
| <h3>1.5.2. Регистр данных клавиатуры</h3>
| |
| | |
| <pre>
| |
| Регистр данных клавиатуры имеет адрес 177662.
| |
| При нажатии на определенную клавишу в разрядах 0-6 этого регистра
| |
| формируется соответствующий нажатой клавише семиразрядный код. Запись
| |
| нового кода в регистр не производится до тех пор, пока не будет
| |
| прочитан предыдущий код.
| |
| Разряды 7-15 не используются.
| |
| Регистр доступен только по чтению.
| |
| </pre>
| |
|
| |
| <h3>1.5.3. Регистр смещения</h3>
| |
| | |
| <pre>
| |
| Регистр смещения 177664 предназначен для указания начала экранного
| |
| ОЗУ и организации рулонного сдвига экрана.
| |
| При начальной установке экрана в регистре записывается значение
| |
| 1330. Изменение этого значения на 1 приводит к сдвигу изображения на
| |
| экране по вертикали на 1 точечную строку.
| |
| Сразу же после включения питания разряд 9 устанавливается в "1".
| |
| При включении режима расширенной памяти разряд сбрасывается в "0".
| |
| | |
| Разряды 8, 10-15 не используются.
| |
| Регистр доступен по записи и чтению.
| |
| </pre>
| |
|
| |
| <h3>1.5.4. Регистр порта ввода-вывода</h3>
| |
| | |
| <pre>
| |
| Адрес регистра - 177714.
| |
| Регистр предназначен для работы с внешними устройствами,
| |
| подключаемыми к разъему "УП" ("устройство периферийное"). Такими
| |
| устройствами могут быть джойстик, программатор ПЗУ и многое другое.
| |
| При записи по этому адресу данные поступают в порт вывода, а при
| |
| чтении из этого регистра данные читаются из порта ввода. Для
| |
| реализации аппаратной части каждого порта используются по две
| |
| микросхемы К589ИР12.
| |
| В таблице 1 приводится соответствие разрядов портов ввода и вывода
| |
| контактам разъема "УП".
| |
| | |
| Таблица 1. Соответствие разрядов портов контактам разъема "УП"
| |
| ┌────────────────────────────╥────────────────────────────┐
| |
| │ порт ввода ║ порт вывода │
| |
| ├────────────┬───────────────╫────────────┬───────────────┤
| |
| │ разряды │ контакты ║ разряды │ контакты │
| |
| │ порта │ разъема "УП" ║ порта │ разъема "УП" │
| |
| ├────────────┼───────────────╫────────────┼───────────────┤
| |
| │ 0 │ В24 ║ 0 │ А16 │
| |
| │ 1 │ А24 ║ 1 │ А13 │
| |
| │ 2 │ В23 ║ 2 │ В12 │
| |
| │ 3 │ В17 ║ 3 │ В10 │
| |
| │ 4 │ В20 ║ 4 │ В5 │
| |
| │ 5 │ А20 ║ 5 │ В7 │
| |
| │ 6 │ В22 ║ 6 │ В6 │
| |
| │ 7 │ А23 ║ 7 │ А7 │
| |
| │ 8 │ В31 ║ 8 │ А28 │
| |
| │ 9 │ А31 ║ 9 │ В28 │
| |
| │ 10 │ В32 ║ 10 │ А27 │
| |
| │ 11 │ А32 ║ 11 │ В27 │
| |
| │ 12 │ В30 ║ 12 │ А26 │
| |
| │ 13 │ А29 ║ 13 │ В26 │
| |
| │ 14 │ В29 ║ 14 │ А25 │
| |
| │ 15 │ А30 ║ 15 │ В25 │
| |
| └────────────┴───────────────╨────────────┴───────────────┘
| |
| | |
| В Н И М А Н И Е ! Нагрузочная способность порта вывода ограничена
| |
| нагрузочной способностью выходов микросхемы К589ИР12.
| |
| Кроме 16 разрядов портов ввода/вывода на разъем "УП" выведены:
| |
| - выходной сигнал "СБРОС" для начальной установки внешнего устройства
| |
| (устройства пользователя) командой RESET (контакт А1 разъема "УП" );
| |
| нагрузочная способность вывода ограничена - сигнал поступает
| |
| непосредственно от вывода "INIT" процессора;
| |
| - входной сигнал "IRQ2" - сигнал требования прерывания от внешнего
| |
| устройства (контакт В1); вектор прерывания расположен по адресу 100;
| |
| - общий вывод (контакты А11, В11, А18, В18, А19, В19);
| |
| - +5 Вольт (контакты А8, В8, А9, В9); во избежание перегрузки блока
| |
| питания БК питать устройства пользователя от этих контактов не
| |
| рекомендуется.
| |
| Устройства, подключаемые к контактам разъема "УП", должны иметь
| |
| следующие уровни сигналов:
| |
| | |
| 0 B < U1 < 0.5 B
| |
| 2.4 B < U0 < 5.25 B ,
| |
| | |
| где U1 - напряжение, соответствующее логической "1" ,
| |
| U0 - напряжение, соответствующее логическому "0" .
| |
| Сигналы инверсные - логической "1" соответствует низкий уровень
| |
| напряжения, а логическому "0" - высокий.
| |
| Подача на контакты других напряжений может вывести компьютер из
| |
| строя.
| |
| </pre>
| |
|
| |
| <h3>1.5.5. Регистр управления системными внешними устройствами</h3>
| |
| | |
| <pre>
| |
| Адрес регистра - 177716.
| |
| Старший байт регистра (разряды 8-15) используются для задания
| |
| адреса, с которого запускается процессор при включении питания (при
| |
| этом младший байт регистра принимается равным 0). Адрес начального
| |
| пуска процессора равен 100000.
| |
| Разряды 0-3 служат для задания режимов работы процессора.
| |
| Разряды 0-3, 8-15 доступны только по чтению.
| |
| Разряды 4-7 доступны по чтению и по записи. При чтении из этих
| |
| разрядов данные читаются из входного системного порта, а при записи в
| |
| эти разряды данные поступают в выходной системный порт.
| |
| Назначение разрядов выходного системного порта:
| |
| Разряд 4 используется для передачи данных на линию.
| |
| Разряд 5 используется для передачи данных на магнитофон, либо
| |
| сигнала готовности на линию.
| |
| Разряд 6 используется для передачи данных на магнитофон и для
| |
| генерации звукового сигнала.
| |
| Разряд 7 используется для управления двигателем магнитофона ( "1" -
| |
| "стоп", "0" - "пуск" ).
| |
| Назначение разрядов входного системного порта:
| |
| Разряд 4 используется для чтения данных с линии.
| |
| Разряд 5 используется для чтения данных с магнитофона.
| |
| Разряд 6 сброшен в "0", если хотя бы одна клавиша нажата и
| |
| установлен в "1", если все клавиши отжаты.
| |
| Разряд 7 используется для чтения сигнала готовности с линии.
| |
| | |
| </pre>
| |
|
| |
|
| [[Категория:Программирование на БК-0010-01]] | | [[Категория:Программирование на БК-0010-01]] |