
- •Инструкция по технике безопасности
- •Методические указания по оформлению отчёта к лабораторным работам.
- •2.1.Правила оформления отчёта.
- •Содержание отчёта:
- •Лабораторная работа мп – 1 Исследование микро-эвм на основе микропроцессора кр580ик80
- •3.2 Краткие теоретические сведения
- •3.3.Учебный микропроцессорный комплект (умк)
- •3.4 Задание для домашней подготовки
- •3.5. Подготовка умк к работе
- •3.6. Задания к лабораторной работе
- •3.6.2. Индикация и модернизация содержимого озу.
- •3.6.3. Модификация содержимого регистров микропроцессора
- •3.6.4. Заполнение озу константой
- •3.6.5. Копирование областей памяти
- •3.6.6. Вычисление контрольной суммы массива памяти
- •3.7. Выполнение программы пользователя
- •3.8. Контрольные вопросы
- •Лабораторная работа мп-2 Исследование цикла выполнения команд микропроцессора кр580ик80
- •4.2. Теоретические сведения
- •4.3. Задание для домашней подготовки
- •4.4. Порядок выполнения работы
- •4.5. Контрольные вопросы
- •Лабораторная работа мп-3 Программирование арифметических операций в системе команд микропроцессора кр580вм80
- •Основные теоретические сведения.
- •Приемы программирования типовых арифметических задач
- •5.3.2. Десятичное сложение
- •5.3.3. Умножение
- •Порядок выполнения работы
- •5.5 Контрольные вопросы
- •6. Лабораторная работа мп-4 Программная реализация типовых функций управления на основе микропроцессора к580ик80
- •6.2. Краткие теоретические сведения
- •6.2.1. Опрос двоичного датчика
- •6.2.2. Ожидание события
- •6.2.3. Ожидание импульсного сигнала
- •6.2.4. Выделение и обработка отдельных бит информации
- •6.2.5. Формирование управляющего сигнала
- •6.2.6. Вывод управляющего слова на группу автономных устройств
- •6.2.7. Формирование временной задержки малой длительности
- •6.2.8. Формирование последовательности импульсных сигналов с изменяемой длительностью и скважностью.
- •6.3. Задание на дом
- •7.Лабораторная работа мп-5
- •7.3. Задание для домашней подготовки
- •7.4. Порядок выполнения работы
- •7.5. Контрольные вопросы
- •Приложение
- •Литература
4.4. Порядок выполнения работы
4.4.1. Включить микроЭВМ, нажав кнопку «~».
4.4.2. Нажать кнопку «СБ».
4.4.3. Записать в память программу в соответствии с вариантом. Первую команду записать в ячейку с адресом 0800.
4.4.4. Перевести микроЭВМ в пошаговый режим работы, для чего нажать кнопку РБ/шаг и КМ/ЦК. Для последующего шага нажать кнопку ШГ.
4.4.5. Передать управление в ячейку 0800.
4.4.6. Нажимая кнопку ШГ проконтролировать состояние светодиодных шины адреса, шины данных и байта состояния в каждом цикле команды. Сравнить полученные результаты с циклограммой, полученной теоретически.
4.5. Контрольные вопросы
4.5.1. Назначение БР, различие регистров по свойствам.
4.5.2. Последовательность действий АЛУ при выполнении арифметической или логической операции.
4.5.3. Что представляет собой цикл команды?
4.5.4. Какова последовательность действий МП при выборе кода операции?
4.5.5. Для чего применяется байт состояния?
4.5.6. Как синхронизируется работа МП с внешними устройствами?
4.5.7. Задано следующее исходное состояние регистров процессора и памяти в 16-ричном коде:
А=80; F=43; D=80; C=33; D=80; E=32; H=80; L=20; SP=321; PC=8006; (8020)=38; (8021)=30; (321D)=30; (321F)=40.
Нарисуйте и поясните временные диаграммы выполнения одной из следующих команд:
CNZ 102H XTHL LHLD 8020H INR A
STA 8030H IN 20H POPH
4.5.8. В аккумуляторе А находится код 3Е, в регистре признаков F – код 02. Каково будет состояние A и F после выполнения одной из следующих команд:
ADI 3FH SVI 40H ANI XRI 5EH
ORI 25H CPI RAR RLC
Лабораторная работа мп-3 Программирование арифметических операций в системе команд микропроцессора кр580вм80
Цель работы: целью работы является изучение приемов программирования арифметических операций.
Основные теоретические сведения.
Из арифметических операций микропроцессор (МП) выполняет только сложение и вычитание над байтами в двоичном и двоично-десятичном формате. Операции умножения и деления, а также операции с другими форматами данных реализуются с помощью программ. Операнды представляются в формате с фиксированной запятой. В арифметических операциях адресуется обычно только один операнд, второй операнд находится, как правило, в аккумуляторе, туда же после выполнения арифметической операции загружается готовый результат, а в соответствии с полученным результатом устанавливаются признаки S, Z, C, P в регистре признаков. При этом надо помнить, что при выполнении арифметических операций данные, находящиеся в аккумуляторе, «разрушаются», за исключением операций сравнения, при которых оба операнда не изменяются, а лишь происходит установка битов регистра признаков.
Арифметические данные выполняются с помощью команд сложения ADD и вычитания SUB над однобайтовыми числами. При сложении чисел формата более одного байта вначале складываются младшие байты с помощью команды сложение с переносом ADG. Затем та же операция проводится над старшими байтами, в ней автоматически учитывается перенос из младшего байта, если он имел место. При вычитании чисел формата более одного байта вначале вычитаются младшие с помощью команды вычитание с заемом SBB. Затем та же операция проводится над старшими байтами, в ней автоматически учитывается заем из младшего байта, если он имел место.
Также в системе команд МП имеются команды сложения двухбайтных слов DAD rp (BL+rp→HL), при этом суммируется содержимое регистра HL с содержимым регистровой пары rp (BC, DE, HL, SP), а результат заносится в регистр HL и устанавливается бит переносов.
При сложении чисел, представленных в двоично-десятичном коде после каждой однобитной операции сложения, необходимо выполнить операцию десятичной коррекции аккумулятора DAA. Однако необходимо помнить, что команда DAA не может быть использована для коррекции результата вычитания, выполняемого над двоично-десятичными числами. Вычитание двоично-десятичных чисел обычно заменяется сложением вычитаемого, представленного в коде дополнения до 10, где n – число десятичных разрядов вычитаемого. Например, 85-33=85+(100-33)=85+(99-33)+1)=85+67=152, при этом перенос, возникающий в n+1 разряд не учитывается, поэтому результат равен 52.