КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Составление программ
IN p KO KO (S) KO KO (S) KO (S) (A)+(S)®(A) Рисунок 16 – Формат команды ADD S Пример. 2. SUB S – вычитание (S) из (А) с записью результата в А (рисунок 17). Команда 10 010 01l в соответствии с кодом из табл. 7 (22S) содержит 10 0102 = 22 – код вычитания, 011г = 3 (РОН Е), т.е. по команде SUB Е из (А) вычитается (Е). Восьмеричный код 223.
(A)-(S)®(A) Рисунок 17 – Формат команды SUB S Пример 3. SUI2 – вычитание содержимого второго байта В2 из А и помещение результата в А (рис. 18). Команда двухбайтовая.
(A)-(<B2>)®(A)
Рисунок 18 – Формат команды SUI а Логические команды реализуют операции И, ИЛИ, НЕ, исключающее ИЛИ, сдвиги влево и вправо и другие команды с формированием признаков ССС. Операнды хранятся в РОН или ячейках ОЗУ, результат помещается в аккумулятор. Пример 1. ANA S – команда выполняет операцию поразрядного логического И над (S) и (А). Например, команда 10 100 100 поразрядно логически умножает (А) и (H), восьмеричный код для команды ANA H -244(рис. 19).
(A) & (S)®(A) Рисунок 19 – Формат команды ANA S Пример 2. ANI2 выполняет поразрядно операцию И над содержимым второго байта В2 и (А). Команда двухбайтовая, ее код 346, т.е. в двоичной форме 11 100 110(см. рис. 20)
(A) & (<B2>)®(A)
Рисунок 20 – Формат команды ANI а Пример 3. ORA S аналогична команде ANA S, но выполняет операцию поразрядного логического ИЛИ, т.е. (A)V(S) ® (A), код 26S. Команды переходов служат для организации правильной последовательности выполнения программы, включают команды условного и безусловного переходов, вызова подпрограммы, возвращения в основную программу и др. Все команды на признаки ССС не влияют. Команды безусловного перехода выполняют специальные операции над содержимым СК. Команды условного перехода обеспечивают ветвления по анализу признаков ССС (табл. 8). Пример 1. JMP 2 3 – трехбайтовая команда передачи управления по адресу, содержащемуся в В2 и ВЗ путем записи содержимого В2 и ВЗ в PC (PC - шестнадцатиразрядный регистр). Код команды 303 (рис. 21).
(ВЗ) (В2) -> (PC), где PC - счетчик команд Рисунок 21 – Формат команды JMP a Пример 2. CALL a – команда безусловного перехода к подпрограмме, трехбайтовая (рис. 22). Восемь старших разрядов адреса следующей команды пересылаются в ячейку памяти, адрес которой на один меньше содержимого указателя стека SP. Восемь младших разрядов адреса следующей команды пересылаются в ячейку памяти, адрес которой на два меньше (SP). Содержимое SP уменьшается на два. Управление передается команде, адрес которой расположен в В2 и ВЗ команды CALL: ((SP) - 1) (РСН); ((SP) - 2) (PCL); (SP) ((SP) - 2); (PC) (ВЗ) (В2). Код команды – 315.
Рисунок 22 – Формат команды CALL a Пример 3. RET – однобайтовая команда с кодом 311, по ней содержимое указателя стека увеличивается на два, содержимое ячейки памяти по адресу, хранящемуся в SP, пересылается в СК на место младших восьми разрядов, содержимое ячейки памяти, по адресу на один большему, чем содержимое SP, пересылается в СК на место старших восьми разрядов. (PCL) (SP); (РСН) ((SP) + 1); (SP) ((SP) + 2). Таким образом, возврат в основную программу происходит при обращении к байту команды, следующему за байтом, используемым командой CALL. Команды управления, ввода-вывода и работы со стеком служат для управления работой МП, портами ввода-вывода и стеком; на флаги ССС влияния не оказывают. Пример 1. XTHL меняет содержимое регистра L на содержимое ячейки памяти по адресу, содержащемуся в указателе стека SP, и наоборот. Содержимое РОН Н меняется на содержимое ячейки памяти по адресу, на один большему, чем (SP) и наоборот. Команда однобайтовая, код -343. (L) ® (SP); (Н) ® ((SP) + 1). Пример 2. IN <B2>, OUT <B2> - двухбайтовые команды, служат для ввода данных от входного порта в А и вывода данных из А в выходной порт, соответственно, имеют коды 333 и 323. Второй байт обеих команд отведен под адрес соответствующего входного и выходного портов (рисунок 23).
(А) (Данные) Рисунок 23 – Формат команд IN и OUT
Рассмотрим составление программ суммирования первых 40 чисел натурального ряда. При этом нужно иметь в виду, что все команды и ячейки памяти записываются в восьмеричной системе. Будем суммировать последовательно уменьшающиеся числа, от 40 до 1. Алгоритм программы приведен на рисунке 24. Распределение памяти: регистр А – результат; регистр D – слагаемые от 40 до 1: 10000 – начальный адрес СК. Программа размещается в ячейках памяти ОЗУ с номерами от 010000 до 010013. В ячейку 010000 помещена команда MVI А О (первый байт), в ячейку 010001 – число 0 (второй байт команды).
Рисунок 24 – Алгоритм программы сложения чисел натурального ряда В ячейке 010002 находится 1-й байт MVI D О, в ячейке 010003 – число от 478 до 4010 т.е. 40 в восьмеричном коде, и т.д. Коды команд берутся из таблицы 7, коды РОН – из таблицы 6. При кодировании команды условного перехода JNZ Ml при неравенстве нулю результата предыдущей команды во втором байте указывается старший байт адреса ячейки, которой передается управление, в третьем байте – младший байт адреса. Уменьшение слагаемого на 1 производится командой DCR D. Вывод результата осуществляется во внешнее устройство – порт P000 (если P000 – дисплей, P001 – принтер и т.п., то на экран дисплея). Программа приведена в табл. 9.
Таблица 9- Программа вывода
Собственно программа, которая вводится в МП, размещена в левой части – СК и КО, а в правой части приведена мнемоническая запись программы с комментариями, предназначенная для удобства работы программиста. 4.3 Архитектура, система программирования микроЭВМ «Электроника-60» Одноплатная микроЭВМ «Электроника-60» используется для построения вычислительных комплексов, предназначенных для сбора, накопления и обработки цифровой информации моделирования и управления объектами в реальном масштабе времени. Разрядность микроЭВМ для чисел и команд составляет 16 двоичных разрядов, количество регистров РОН – 8, принцип работы основных устройств – параллельный, емкость ОЗУ до 32 Кбайт шестнадцатиразрядных слов, принцип построения ЭВМ – модульный, т.е. все функциональные блоки выполнены в виде конструктивно законченных устройств (модулей); связь между модулями производится через одну общую шину – канал обмена информацией (рис. 25). Основным устройством ЭВМ является центральный процессор ЦП, который выполняет арифметико-логическую обработку данных и Управляет распределением времени использования канала при обращении к остальным модулям. Центральный процессор построен на базе микропроцессорного набора БИС серии К581, состоящего из схемы управления - БИС бму (К581ИК2), схемы регистрового АЛУ - БИС РАЛУ (К582ИК1) и трех БИС МПЗУ для хранения микрокоманд ЭВМ (К581РУ1 К581РУ2, К581РУЗ). Все БИС соединены микроканалом (МК) из 22 линий связи (рис. 26). Рисунок 25 – Структурная схема микроЭВМ «Электроника-60» Блок управления каналом (БУК) ЭВМ обеспечивает взаимодействие канала ЭВМ с блоком ЦП. БИС РАЛУ состоит из блока АЛУ, блока 8 РОН, два из которых являются указателем стека SP и счетчиком команд PC, блока дешифратора РОН и шестнадцатиразрядного регистра состояний процессора, в котором используются шесть разрядов для определения текущего приоритета ЦП (разряд 7), Т – разряда прерывания программы при ее отладке (разряд 4) и разряды условий ветвления по знаку результата N (разряд 3), по равенству результата нулю Z (разряд 2), по арифметическому переполнению V (разряд 1) и переносу единицы С (разряд 0). Связь через канал замкнутая и асинхронная, т.е. на управляющий сигнал активного устройства, например ЦП, поступает сигнал пассивного устройства, например ОЗУ, а выполнение операций передачи данных не зависит от тактовых импульсов и происходит с максимально возможным для данного устройства быстродействием. Управляющая программа и данные записываются в ОЗУ или считываются с внешних устройств ввода-вывода УВВ через интерфейсы. Интерфейсы могут быть ориентированными на связь ЦП со стандартным УВВ (дисплеем, перфоратором и т.д.) или универсальными, которые при необходимости за счет наличия дополнительных линий связи задействуются с любым УВВ пользователя (датчики СЧПУ и др.). Интерфейсные блоки состоят из регистров состояния и регистров данных приемника и передатчика. Обмен между устройствами выполняется как шестнадцатиразрядными словами, так и байтами в трех режимах: программном, в режиме прерывания и режиме прямого доступа к памяти. Интерфейс И2 служит для подсоединения к каналу ЭВМ устройств УВВ обмена данных в шестнадцатиразрядном параллельном коде (пульт оператора, дисплей и др.). Интерфейс И 7 предназначен для подключения к каналу ЭВМ устройств УВВ данных в восьмиразрядном параллельном коде (цифропечатающее устройство «DZM-180» и «Роботрон 1156»). Интерфейс УПО (устройство последовательного обмена) служит для подсоединения к каналу ЭВМ устройств ввода-вывода для обмена данными в последовательном коде по двухпроводной линии; используется для связи с удаленными от ЭВМ объектами, когда нецелесообразно соединять ЭВМ и объект многопроводным каналом связи для передачи данных в параллельном коде. Интерфейс И4 выполняет в составе вычислительного комплекса функции обмена информацией между каналом ЭВМ и контроллером НГМД (внешняя память), регенерации динамической памяти в режиме прямого доступа и начальной загрузки системы.
Интерфейс ВЗ предназначен для ввода данных в ЭВМ с фотосчитывающего устройства «FS1501» или «СПЗ». Интерфейс В21 служит для вывода данных из ЭВМ на ленточный перфоратор «ПЛ-150М». Программирование микроЭВМ и микропроцессорных систем зависит от аппаратных возможностей и характеристик современных микроЭВМ и микропроцессоров. Основной системой команд, унифицированной в разработках программного обеспечения многих микро- и миниЭВМ, является система команд микроЭВМ «Электроника-60» и ее модификаций. Базовые варианты системы применяются в ЭВМ типа НЦ-80-01, НМС 111001, CMC 121.2, СМ-3, СМ-4 с модификациями (процессоры этих ЭВМ имеют единую архитектуру и программную совместимость) и используются в составе систем ЧПУ и модулей ГПС (2С42, 2С85 2У32, 2МЧЗ и др.). Эта же система рекомендована к применению в странах СЭВ. В настоящее время и ближайшие годы разработка системных программ для систем ЧПУ будет выполняться на языке Ассемблер с применением кросс-средств, так как из-за большого объема логических преобразований и работы в реальном масштабе времени программирование управляющей ЭВМ на языке высокого уровня – непригодно. Система команд микроЭВМ «Электроника-60» позволяет разрабатывать как программное обеспечение работы системы управления станков с ЧПУ, ПР и модулей ГПС, так и составлять программы для обработки деталей на этом оборудовании. Базовый вариант операционной системы состоит из Ассемблера, компоновщика, редактора текста и отладчика программ. В данном параграфе рассмотрена основа базового варианта – язык Ассемблер микроЭВМ «Электроника-60».
Дата добавления: 2015-04-29; Просмотров: 602; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |