Логические команды и команды сдвига
Цель работы
1 Изучить логические команды и команды сдвига в микропроцессоре (МП) КР580ВМ80.
2 Приобрести практические навыки составления программ, содержащих логические команды и команды сдвига.
3 Приобрести практические навыки ввода программы в учебный микропроцессорный комплект (УМК), ее отладки и выполнения в автоматическом режиме.
Подготовка к выполнению работы
1 Повторить по [2] логические команды и команды сдвига.
2 Изучить методические указания к данной лабораторной работе и составить проверочные программы для заданий №1…4.
3 Подготовить ответы на вопросы для самоконтроля.
Вопросы для самоконтроля
1 Укажите, какие логические операции может выполнять МП КР580ВМ80?
2 Укажите, где размещаются операнды и куда пересылается результат операции при выполнении команд логического сложения, логического умножения, сложения по модулю два и инверсии?
3 Укажите выполняемую операцию, формат, число машинных циклов и поясните, какие действия выполняет МП в каждом цикле для нижеуказанных команд:
а) ANA C; б) ORA D; в) ANI 30H; г) XRI 30H.
4 Укажите типы команд сравнения и поясните, как они выполняются.
5 Укажите типы команд сдвига.
6 Поясните разницу между командами RRC и RAR.
Приборы, оборудование и документация
1 Учебный микропроцессорный комплект.
2 Методические указания к лабораторной работе.
Порядок выполнения работы
1 Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса и инструктаж по технике безопасности.
2 Включить и привести в рабочее состояние УМК.
3 Установить автоматический режим работы УМК. Для этого отжать клавиши РБ/ШГ и КМ/ЦК.
4 Выполнить программы, содержащие логические команды и команды сдвига. Вначале следует выполнить контрольную программу, а затем задание для каждого вида команды. Методические рекомендации по выполнению этих заданий приведены в методических указаниях к данной лабораторной работе.
5 После проверки преподавателем результатов выключить питание УМК и вынуть вилку шнура питания из розетки.
6 Ответить на контрольные вопросы.
7 Оформить отчет и сдать зачет.
Содержание отчета
1 Наименование и цели лабораторной работы.
2 Условия, проверочные программы, расчеты ожидаемых результатов и результаты выполнения заданий № 1…4 в виде таблиц.
3 Ручной расчет ожидаемого результата.
4 Краткие выводы по ходу выполнения и результатам для каждого задания.
Контрольные вопросы
1 Поясните, как с помощью команды сдвига умножить либо разделить некоторое число на 8?
2 Укажите, с помощью какой логической команды и как можно выделить некоторые разряды числа?
3 Укажите, когда устанавливаются триггеры TZ, TC, TP, TS при выполнении команды сравнения?
4 Поясните, с помощью какой команды можно получить инверсию содержимого регистра D.
Требования к знаниям и умениям учащихся
В результате выполнения лабораторной работы учащиеся должны знать:
- систему команд МП КР580ВМ80;
- логические команды и команды сдвига;
- назначение команд системной программы МОНИТОР УМК.
Должны уметь:
- составлять программы, содержащие логические команды и команды сдвига;
- готовить к работе УМК;
- вводить и выполнять программы в автоматическом режиме.
Методические указания
Логические команды
Теоретическое обоснование
Для реализации логических операций в системе команд микропроцессора КР580ВМ80 предусмотрены следующие логические команды:
1) логическое сложение;
2) логическое умножение;
3) исключающее ИЛИ;
4) инверсия.
Все логические команды выполняются побитно с 8-ми разрядными операндами. При этом один из операндов размещается в регистре-аккумуляторе, а второй – либо в одном из регистров общего назначения, либо в ячейке памяти, или задается во втором байте команды. Результат выполнения команды записывается в регистр-аккумулятор. При этом бит переноса устанавливается в нуль, а остальные биты устанавливаются в соответствии с результатом выполнения команды.
Команды логического сложения реализуют логическую операцию ИЛИ. Результат равен 1, если хотя бы один из соответствующих битов равен единице, и равен 0, если оба равны нулю. Например:
10111011, |
где « » – обозначение логической операции ИЛИ.
Команды логического умножения реализуют логическую операцию И. Результат равен 1, если оба соответствующие бита равны 1, и равен 0, если один из них равен 0. Например:
00100000, |
где « » – обозначение логической операции И.
Команды исключающего ИЛИ реализуют логическую операцию ИСКЛЮЧАЮЩЕЕ ИЛИ или называемую по другому СЛОЖЕНИЕ ПО МОДУЛЮ ДВА. Результат равен 1, если соответствующие биты противоположны (1 и 0), и равен 0, если они одинаковы (1 и 1; 0 и 0). Например:
10011011, |
где « » – обозначение логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ.
Команды инверсии реализуют операцию ОТРИЦАНИЕ содержимого только регистра-аккумулятора. Например: