Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084), страница 31
Текст из файла (страница 31)
рес участка ЗУ (заполняемого единицами) в регистр Н1. Переписать в оперативное ЗУ Загрузить начальный ад. рес участка ЗУ (заполняемого единица. ми) в регистр Н1. Глава 3 172 адрес Зу Объектный код Искадный код Метки шести. весьм. 22 042 5Н1.0 ХОР ХОР МЧ! А МООР 12 50 1.Н1,0 160 О!4 70 ОС МОЧ М,А 167 77 043 23 1ХХ Н 22 042 ЗН1.0 !60 014 052 70 ОС 2А б 7 130 58 О!1 1.Н1.0 156 О!4 043 ОЕ ОС 23 1ХХ Н 042 5Н1.0 156 014 6Е ОС 2 3 4 б 7 120 160 014 000 000 076 377 052 70 ОС 00 00 3Е РЕ 2Н Прадо.гжение Описание спернциигном- ментерий Переписать в оперативиое ЗУ ХОР (пустая команда) ХОР (пустая команда) Загрузить единицы в А Загрузить первый адрес, который необходимо заполиить единицами Переписать содержимое А (единицы) в первый адрес Увеличить содержимое Н1.
иа ! Переписать увеличенный адрес в оперативиое ЗУ Загрузить иачальиый адрес (=000000в =00 00м) в Н1. Увеличить содержимое Н1. иа ! Переписать увеличенный адрес в оперативное ЗУ Набор команд микроЭВМ 173 Продолдсение Адрес Зу Объектный код Описание овераанн/ком. ментарнй И«ходный код Метка посыл. шести. Загрузить конечный адрес ( числу адресных ячеек в А, заполняемых единицами (младший байт)) 072 1.РА 6А ОС ВР !40 12 1 2 152 014 275 011 СМР 1.
Сравнить содержимое А с содержимым ). Если АФ)., переход по метке 1.00Р 302 С2 4Е 09 ЗА 116 011 072 Загрузить конечный адрес в А (старший байт) СРА 7 150 12 1 153 014 274 6В ОС 6С О11 68 Сравнить содержимое А с содержимым Н Если АФН, переход по метке 1.00Р СМР Н 302 116 011 166 4Е 09 76 НАРТ Конец регистры и стек используются неоптимальным образом, т. е. для данного случая можно написать более эффективную и простую программу.
3.21. Некоторые общие аспекты ввода и вывода информации Предотвращение копирования программного обеспечения ер(П Приведенные выше примеры программ пересылки данных являются весьма простыми по сравнению с теми сложными 174 Глава 3 программами, которые применяются для обработки данных на современных ЭВМ. Как уже неоднократно отмечалось, сложные логические функции создаются и реализуются на основе набора элементарных функций. Конкретно это сводится к тому, что с помощью программы, команды которой написаны на языке ассемблера, по определенному алгоритму создаются требуемыеболее мощные логические функции. При переходе к более сложным функциям удобнее использовать язык более высокого уровня. Следует указывать ЭВМ то, что она должна сделать, не слишком вдаваясь в детали задания.
Одно указание более сложной функции должно быть достаточным для того, чтобы ЭВМ выполнила набор следующих друг за другом команд, написанных на языке ассемблера. При этом более сложные функции обозначаются с помощью операторов. Одним из таких операторов является, например, РК1НТ Х. После считывания этого оператора система выполняет операцию вывода на печать, в результате которой переменная Х будет напечатана на бумаге. Другим примером является оператор 1Е Х(А ТНЕУ ОО ТО 100.
Это оператор перехода или ветвления, который продолжает выполнение программы с переходом в строку 100, если Х меньше А; в противном случае программа переходит в строку, следующую после той, на которой находится данный оператор. Оператор вводится в систему в виде строки понятного текста, содержащего буквы и цифры, а не в виде битовой информации или мнемоники. Ввод текста возможен в том случае, когда система (ЭВМ) связана с терминалом, который снабжен клавиатурой.
ЭВМ имеет в своем распоряжении программу ввода информации в виде программы, с помощью которой каждое нажатие клавиши приводит к генерации одного байта в АЯСП-коде; этот байт вводится в ЭВМ. Сформированный при нажатии клавиши символ хранится в буфере текста, который является частью оперативного ЗУ (ЗУПВ). ЭВМ обрабатывает символы, помещенные в буфер текста, в обычном режиме. При выполнении арифметических операций сначала требуется преобразовать данные из АЯСП-кода в двоичный код. С этой целью применяется специальная подпрограмма.
При выдаче данных на принтер система наряду с командой, инициирующей печать, обеспечивает представление соответствующих символов в АЯС11-коде. Под буферы текста выделяются значительные объемы ЗУПВ, особенно при обработке административно-управленческих данных. В программах типа «оформление накладных» такие данные, как имя и адрес клиента, описание поставляемых товаров, их цены и т.
п., печатаются без какой-либо предвари- Набор команд микроЭВМ тельной цифровой обработки. Под эти данные в системе выделяется ЗУПВ. Если число клиентов и ассортимент товаров оказываютси значительными — а это часто имеет место на практике,— то хранение этих параметров в буфере текста потребует слишком много места в ЗУПВ и система становится слишком дорогостоящей. По этой причине при обработке больших объемов информации применяется другой метод.
Архивное ЗУ в виде диска или магнитной ленты заполняется данными из буфера текста, после чего ЭВМ выполняет необходимую обработку этих данных. В случае накладных можно обрабатывать таким образом, например, данные по 50 клиентам. По окончании обработки этого пакета данных система запрашивает следующий пакет, записанный также на диске нли ленте. Таким образом, шаг за шагом обрабатывается весь массив данных; при этом с помощью относительно небольшого ЗУПВ можно переработать очень большой объем текстовой н цифровой информации. В следующей главе рассмотрен отладочный комплекс с МП 8085А. Этот комплекс снабжен дополнительным пультом ручного управления.
Если ввести в систему устройство ввода- вывода информации в виде терминала, то ее управление можно осуществлять непосредственно с этого терминала. ЭВМ имеет программу, которая считывает и интерпретирует сигналы нажатия на клавиши, преобразуя их в символьную информацию. В результате нажатия клавиши СК (клавиши перевода в начало новой строки) могут вводиться любые команды ЭВМ. Таким же образом можно вводить строки символов, которые временно хранятся в буфере текста для дальнейшей обработки.
Буфер текста может, например, содержать строки программы, написанной на языке ассемблера с сопровождающими комментариями. Такой программой может быть программа пересылки данных или программа заполнения единицами ЗУ, которые обсуждались в этой главе. С помощью процедуры ассемблирования текстовые строки переводятся в машинные коды с байтами, состоящими из нулей и единиц. Однако буфер текста может включать такие данные, предназначенные для того, чтобы указывать или расширять файлы данных, записанные на диске или ленте. В последнем случае мы говорим о модификации соответствующих файлов.
Переписывание данных из буфера текста в дисковое или ленточное ЗУ производит программа, которая называется программой управления файлами или программой (системой) управления базами данных (ПУБД). Все эти программы, выполняющие специальные операции, состоят из наборов элементарных команд, которые уже рассматривались ранее в настоящей главе. Эти команды распо- Гтб Глава 3 лагаются в таком порядке, который реализует требуемую сложную функцию, такую, как управление базами данных нли ассемблирование. Отдельные стандартные программы, которые как минимум обеспечивают управление ЭВМ с помощью терминала и ввод- вывод данных, постоянно используются и обычно хранятся в ПЗУ, которое является частью программного ЗУ ЭВМ. Эти стандартные программы, проявляющие разный уровень «интеллекта», обычно обозначаются общим термином «монитор».
Монитор, который выполняет управленческие и контрольные функции, может быть достаточно «интеллектуальным», чтобы обеспечить диалог между пользователем и ЭВМ: при этом ЭВМ может давать ценные указания относительно качества управления. Такая интерактивная связь упрощает управление в том смысле, что для общения с системой не требуется специальных знаний. Система опрашивает, чтб и от чьего имени требуется сделать, после чего оператор (пользователь), используя клавиатуру терминала, вводит свои ответы. Далее система выдает на экран дисплея набор команд, названия которых наглядно показывают, как необходимо действовать для того, чтобы выполнить программу вычислений.
Интеллектуальный монитор может также ставить диагнозы, если в ходе выполнения про' граммы возникли ошибки или если элементы периферийной аппаратуры работают в ненормальном режиме. Диагностическая программа, которая начинает автоматически работать в случае появления ошибки, выдает на экран указания, которые содержат описания совершенной ошибки и возможных способов ее коррекции. В случае неверного ввода данных может появиться указание заменить какую-либо перфокарту (строку текста). При появлении ошибок в работе основного ЗУ диагностическая программа может указать, какой именно дисковод или магнитофон следует заменить.
Очевидно, что использование диагностической программы требует меньше времени, чем режим работы с поиском ошибок самим пользователем. Сервисный вызов, т. е. вызов техника по обслуживанию, который никогда не появляется сразу, следует производить только в самом крайнем случае. Здесь работа монитора и других вспомогательных программ подробно не рассматривается.