- •Вычислительные машины, системы и сети
- •Часть 1
- •Содержание
- •Введение
- •Лабораторная работа № 1 Изучение устройства и технических характеристик учебного микропроцессорного комплекса
- •Возможные состояния операционного устройства
- •Значения отдельных бит регистра состояния
- •Технические характеристики умк
- •Лабораторная работа № 2 Изучение системы команд микропроцессора кр 580 ик80а
- •Варианты заданий
- •Лабораторная работа № 3 Разработка и отладка программ для микропроцессора кр 580 ик80а
- •Лабораторная работа № 4 Разработка программы контроля управляющих параметров
- •Заключение
- •Библиографический список
- •Приложение Набор команд микропроцессора кр580ик80а
- •Краткие пояснения для описания команд микропроцессора кр 580 ик80а
- •Команды пересылки
- •Арифметические команды
- •Логические команды
- •Команды перехода
- •Команды ввода/вывода, управления, работы со стеком
- •Вычислительные машины, системы и сети
- •Часть 1
- •443100, Г. Самара, ул. Молодогвардейская, 244. Главный корпус
Лабораторная работа № 2 Изучение системы команд микропроцессора кр 580 ик80а
Цель работы: изучение системы команд микропроцессора КР 580 ИК80А для написания простейших программ пользователя.
Оборудование: учебный микропроцессорный комплекс (УМК).
Команды микропроцессора
Команды микропроцессора можно разделить на пять групп:
Команды пересылки данных и загрузки – команды, позволяющие передавать данные между оперативной памятью и регистрами процессора, а также получать данные непосредственно из программного кода.
Арифметические команды – команды, реализующие арифметические операции над числами с фиксированной и плавающей запятой (сложение, вычитание, умножение, деление и др.).
Логические команды – команды, реализующие логические операции, такие как: конъюнкция (И), дизъюнкция (ИЛИ), логическое отрицание (НЕ) и др.
Команды передачи управления – команды переходов (условные и безусловные), команды переходов к подпрограмме.
Команды ввода/вывода – это команды приема и передачи информации, соответственно, из или во внешнюю среду. Прием и передача данных, как правило, осуществляется через соответствующие порты микро-ЭВМ.
Команды пересылки осуществляют передачу данных в/из регистра в ячейку(и) оперативной памяти, не изменяя при этом состояние флагов.
Способы адресации в командах
Способом адресации можно назвать различные режимы интерпретации поля адреса команды. Число слов в команде зависит от реализуемых способов адресации, допустимого размера памяти и архитектуры микропроцессора. Для краткости изложения содержимое поля адреса будем называть исходным адресом, а адрес ячейки памяти, содержащей необходимые данные, будем называть эффективным адресом. Различают следующие способы адресации:
Прямая адресация. Наиболее простой и естественный способ адресации, при котором в команде задается эффективный адрес, т.е. исходный адрес равен эффективному.
Непосредственная адресация. При непосредственной адресации операнд является частью команды. В этом случае операнд располагается непосредственно в команде вслед за операционной часть команды.
Индексная адресация. Индексной называется адресация, в которой эффективный адрес получается путем сложения исходного адреса с содержимым регистра (индексного регистра).
Косвенная адресация. При косвенной адресации исходный адрес служит указателем на ячейку, в которой находится эффективный адрес. Таким образом, исходный адрес это «адрес адреса». Частным случаем косвенной адресации является косвенная регистровая адресация, когда исходный адрес, указывает на общий регистр, содержащий эффективный адрес. Косвенная регистровая адресация повышает эффективность программы, так как в команде в этом случае адресное поле должно вмещать только ссылку на общий регистр или регистры. Для косвенной регистровой адресации используется, как правило, пара регистров H и L.
Относительная адресация. При относительной адресации эффективный адрес образуется путем сложения исходного адреса и содержимого программного счетчика. Этот способ адресации особенно эффективен в командах переходов, когда переход осуществляется в близкие ячейки, поскольку не требует задания полного адреса, по которому осуществляется переход.
Страничная адресация. Зачастую объем памяти микропроцессора превышает адресное пространство, т.е. максимальное число адресов для данного формата команд. В этом случае память разбивается на страницы, размер которых определяется максимальным числом ячеек, адресуемых в команде. При таком подходе программный счетчик можно считать состоящим из двух частей. Старшие разряды содержат номер страницы, а младшие разряды содержат адрес слова внутри страницы.
Порядок ввода и запуска программы пользователя на УМК.
Выбрать участок памяти в ОЗУ и занести в него программу в шестнадцатеричном коде.
Выбрать участок памяти в ОЗУ и занести в него данные.
Передать управление программе пользователя, для чего:
Последовательно нажать следующие клавиши: «СТ» Адрес 1 «| _ |» Адрес 2 «| _ |» Адрес 3 «ВП», где Адрес 1 – начальный адрес программы, Адрес 2 и Адрес 3 – адреса выполнения прерывания программы.
При написании программ пользователя используются команды, описание которых приведено в приложении 1.
Порядок выполнения работы.
Составить программу, реализующую выполнение следующих операций согласно варианту задания (таблица 5):
Непосредственная пересылка данных в регистр;
Непосредственная пересылка данных в память;
Непосредственная загрузка пары регистров;
Прямая загрузка аккумулятора;
Перемещение данных из аккумулятора в регистр;
Перемещение данных из памяти в регистр;
Прямая запись содержимого аккумулятора в память;
Прямая загрузка пары регистров H и L;
Косвенная загрузка аккумулятора;
Прямая запись содержимого пары регистров H и L в память;
Обмен данными между регистрами H и D, L и E, соответственно;
Помещение двух данных в стек;
Извлечение двух данных из стека.
Таблица 5
