- •Логические команды и команды сдвига
- •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 Команды сдвига через перенос
- •Логические команды и команды сдвига
10.1.5 Команда инверсия
CMA – инверсия содержимого регистра-аккумулятора (в учебниках [2.1], [2.2] ошибочно обозначена SMA).
10.1.5.1 Записать в память, начиная с адреса 0830Н, коды программы (таблица 8), реализующей выражение:
A = NOT ((NOT B) AND (NOT C)).
Таблица 8 – Контрольная программа, содержащая команды логического отрицания и умножения
Адрес |
Команда |
Операнд |
Машинный код |
Комментарий |
0830 |
MOV |
A, B |
78 |
; Пересылка А ← (B) |
0831 |
CMA |
|
2F |
; A = NOT (A) |
0832 |
MOV |
B, A |
47 |
; Пересылка А ← (B), ; NOT (B) |
0833 |
MOV |
A, C |
79 |
; Пересылка А ← (C) |
0834 |
CMA |
|
2F |
; A = NOT (A), NOT (C) |
0835 |
ANA |
B |
A0 |
; A = (A) AND (B) |
0836 |
CMA |
|
2F |
; A = NOT (A), рез. |
10.1.5.2 Выполнить программу, задавая исходные значения в соответствии с таблицей 9:
СТ0830 0837ВП.
Проверить полученные результаты.
Таблица 9 – Исходные данные и результаты для контрольной программы, содержащей команды логического отрицания и умножения
Вариант |
1 |
2 |
3 |
4 |
5 |
(B) |
00 |
FF |
25 |
39 |
AB |
(C) |
FF |
02 |
56 |
21 |
13 |
(A) – рез. |
FF |
FF |
77 |
39 |
BB |
(F) |
56 |
56 |
96 |
96 |
16 |
Задание 2:
Написать и выполнить программу реализации выражения:
A = NOT ((C) XOR (NOT B)).
Исходные значения взять из таблицы 10. Результат записать в таблицу 10. Начальный адрес программы 0А10Н.
Таблица 10 – Исходные данные и результаты для проверочной программы, содержащей команды логического отрицания и сложения по модулю два
Вариант |
1 |
2 |
3 |
4 |
5 |
(B) |
37 |
43 |
09 |
95 |
20 |
(C) |
29 |
5E |
F6 |
10 |
5A |
(A) – рез. |
|
|
|
|
|
(F) |
|
|
|
|
|
Проверочную программу записать в таблицу, аналогичную по форме таблице 8.
Команды сравнения
10.2.1 Теоретическое обоснование
Система команд микропроцессора КР580ВМ80 содержит три типа команд сравнения:
сравнение содержимого аккумулятора с содержимым регистра: А, В, С, D, E, H или L;
сравнение содержимого аккумулятора с ячейкой памяти по адресу HL;
сравнение содержимого аккумулятора с непосредственным операндом.
Команды сравнения выполняются посредством внутреннего вычитания из содержимого аккумулятора, соответственно, содержимого регистра, ячейки памяти либо непосредственного операнда. Содержимое аккумулятора при этом не изменяется. В результате сравнения устанавливаются биты признаков следующим образом (таблица 11):
Таблица 11 – Значение битов признаков в зависимости от результата сравнения
Результат сравнения |
Признак | |
(TZ) |
(TC) | |
Равно Больше Меньше |
1 0 0 |
0 0 1 |
Бит чётности устанавливается по результату внутреннего вычитания и, соответственно, равен 1, если количество единиц в результате чётно, и равен 0, если количество нечётно.
Бит знака устанавливается равным значению старшего разряда результата внутреннего вычитания.