- •Логические команды и команды сдвига
- •5 Приборы, оборудование и документация
- •6 Порядок выполнения работы
- •7 Содержание отчёта
- •10.1.2 Команды логического сложения
- •10.1.3 Команды логического умножения
- •10.1.4 Команды исключающие или
- •10.1.5 Команда инверсия
- •10.2.1 Теоретическое обоснование
- •10.2.2 Команды сравнения с содержимым регистра
- •10.3 Команды сдвига
- •10.3.1 Теоретическое обоснование
- •10.3.2 Команды циклического сдвига.
- •10.3.3 Команды сдвига через перенос
- •Логические команды и команды сдвига
7 Содержание отчёта
Наименование и цели лабораторной работы.
Условия, проверочные программы и результаты выполнения заданий № 1…4 в виде таблиц.
Ручной расчёт ожидаемого результата.
Краткие пояснения по ходу выполнения и результатам для каждого задания.
8 Контрольные вопросы
Поясните, как с помощью команды сдвига умножить либо разделить некоторое число на 8.
Укажите, с помощью какой логической команды и как можно выделить некоторые разряды числа (см. таблицу 14).
Укажите, когда устанавливаются триггеры TZ, TC, TP, TS при выполнении команды сравнения.
Поясните, с помощью какой команды можно получить инверсию содержимого регистра D.
9 Требования к знаниям и умениям студентов
В результате выполнения лабораторной работы студенты должны знать:
систему команд МП КР580ВМ80;
логические команды и команды сдвига;
назначение команд системной программы МОНИТОР УМК.
Должны уметь:
составлять программы, содержащие логические команды и команды сдвига;
готовить к работе УМК;
вводить и выполнять программы в автоматическом режиме.
10 Методические указания
Логические команды
10.1.1 Теоретическое обоснование
Для реализации логических операций в системе команд микропроцессора КР580ВМ80, предусмотрены следующие логические команды:
логическое сложение;
логическое умножение;
исключающее ИЛИ;
инверсия.
Все логические команды выполняются побитно с 8-ми разрядными операндами. При этом один из операндов размещается в регистре-аккумуляторе, а второй – либо в одном из регистров общего назначения, либо в ячейке памяти, или задаётся во втором байте команды. Результат выполнения команды записывается в регистр-аккумулятор. При этом бит переноса устанавливается в нуль, а остальные биты устанавливаются в соответствии с результатом выполнения команды.
Команды логического сложения реализуют логическую операцию ИЛИ. Результат равен 1, если хотя бы один из соответствующих битов равен единице, и равен 0, если оба равны нулю. Например:
Где OR – обозначение логической операции ИЛИ.
Команды логического умножения реализуют логическую операцию И. Результат равен 1, если оба соответствующие бита равны 1, и равен 0, если один из них равен 0. Например:
Где AND – обозначение логической операции И.
Команды исключающего ИЛИ реализуют логическую операцию ИСКЛЮЧАЮЩЕЕ ИЛИ или называемую по другому СЛОЖЕНИЕ ПО МОДУЛЮ ДВА. Результат равен 1, если соответствующие биты противоположны (1 и 0), и равен 0, если они одинаковы (1 и 1; 0 и 0). Например:
где XOR – обозначение логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ.
Команды инверсии реализуют операцию ОТРИЦАНИЕ содержимого регистра-аккумулятора. Например:
где NOT – обозначение логической операции ОТРИЦАНИЕ.
10.1.2 Команды логического сложения
ORA ri– с регистром: A, B, C, D, E, H или L;
ORA M– с ячейкой памяти, адрес ячейки памяти в HL;
ORI <B2> – с непосредственным операндом, B2 – второй байт команды.
10.1.2.1 Записать в память, начиная с адреса 0800H, коды программы (таблица 1), реализующей выражение:
A = (A) OR (C) OR (M) OR 80H.
Таблица 1 – Контрольная программа, содержащая команды логического сложения
Адрес |
Команда |
Операнд |
Машинный код |
Комментарий |
0800 |
ORA |
C |
B1 |
; A = (A) OR (C) |
0801 |
LXI |
H, 0900H |
21 00 09 |
; Загр. HL=0900H, адр. ; М |
0804 |
ORA |
M |
B6 |
; A = (A)OR(М) |
0805 |
ORI |
80H |
F6 80 |
; A = (A)OR 80Н |
10.1.2.2 Выполнить программу, предварительно задавая исходные значения в соответствии с таблицей 2:
СТ0800 0807ВП.
Проверить полученные результаты (см. таблицу 2).
Таблица 2 – Исходные данные и результаты для контрольной программы, содержащей команды логического сложения
Вариант |
1 |
2 |
3 |
4 |
5 |
(А) – исх. |
00 |
FF |
АА |
01 |
70 |
(С) |
00 |
00 |
55 |
10 |
04 |
(М) по адр. 0900Н |
00 |
00 |
88 |
02 |
53 |
(А) – рез. |
80 |
FF |
FF |
93 |
F7 |
(F) |
82 |
86 |
86 |
86 |
82 |