- •Логические команды и команды сдвига
- •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.3 Команды логического умножения
ANA ri– с регистром: A, B, C, D, E, H или L;
ANA M– с ячейкой памяти, адрес ячейки памяти в HL;
ANI <B2> – с непосредственным операндом, B2 – второй байт команды.
10.1.3.1 Записать в память, начиная с адреса 0810Н, коды программы (таблица 3), реализующей выражение:
A = (A) AND (D) AND (M) AND 7FH.
Таблица 3 – Контрольная программа, содержащая команды логического умножения
Адрес |
Команда |
Операнд |
Машинный код |
Комментарий |
0810 |
ANA |
D |
A2 |
; A = (A) AND (D) |
0811 |
LXI |
H, 0910H |
21 10 09 |
; Загр. HL=0910H, адр. ; М |
0814 |
ANA |
M |
A6 |
; A = (A) AND (М) |
0815 |
ANI |
7FH |
E6 7F |
; A = (A) AND 7FН |
10.1.3.2 Выполнить программу, предварительно задавая исходные значения в соответствии с таблицей 4:
СТ0810 0817ВП.
Проверить полученные результаты (см. таблицу 4):
Таблица 4 – Исходные данные и результаты для контрольной программы, содержащей команды логического умножения
Вариант |
1 |
2 |
3 |
4 |
5 |
(А) – исх. |
00 |
FF |
55 |
81 |
DB |
(D) |
A2 |
FF |
90 |
77 |
23 |
(М) по адр. 0910Н |
36 |
FF |
C3 |
6E |
0F |
(А) – рез. |
00 |
7F |
00 |
00 |
03 |
(F) |
56 |
12 |
56 |
56 |
16 |
Задание 1:
Написать и выполнить программу реализации выражения:
M2 = (A) AND (M1) OR (C) AND (D).
Адрес ячеек памяти: М1 = 0920Н, М2 = 0921Н. Исходные значения взять из таблицы 5. Результаты записать в таблицу 5. Начальный адрес программы 0А00Н.
Таблица 5 – Исходные данные и результаты выполнения для проверочной программы, содержащей команды логического сложения и умножения
Вариант |
1 |
2 |
3 |
4 |
5 |
(А) |
FF |
4A |
81 |
00 |
30 |
(C) |
A2 |
35 |
65 |
4B |
7E |
(D) |
30 |
50 |
60 |
A0 |
F0 |
(M1) по адр. 0920Н |
01 |
10 |
03 |
50 |
D5 |
(M2) по адр. 0921Н |
|
|
|
|
|
(F) |
|
|
|
|
|
Проверочную программу записать в таблицу, аналогичную по форме таблице 3.
10.1.4 Команды исключающие или
XRA ri– с регистром: A, B, C, D, E, H или L;
XRA M– с ячейкой памяти, адрес ячейки памяти в HL;
XRI <B2> – с непосредственным операндом, B2 – второй байт команды.
10.1.4.1 Записать в память, начиная с адреса 0820Н, коды программы (таблица 6), реализующей выражение:
A = (A) XOR (C) XOR (M) XOR AAH.
Адрес: М = 0930H.
Таблица 6 – Контрольная программа, содержащая команды логического сложения по модулю два
Адрес |
Команда |
Операнд |
Машинный код |
Комментарий |
0820 |
XRA |
A |
AF |
; A = (A) XOR (A), ; A=00H |
0821 |
XRA |
E, |
AB |
; A = (A) XOR (E) |
0822 |
LXI |
H, 0930H |
21 30 09 |
; Загр. HL=0930H, адр. ; М |
0825 |
XRA |
M |
AE |
; A = (A) XOR (M) |
0826 |
XRI |
AAH |
EE AA |
; A = (A) XOR AAH, ; рез. |
10.1.4.2 Выполнить программу, задавая исходные значения в соответствии с таблицей 7:
СТ0820 0828ВП.
Проверить полученные результаты (см. таблицу 7):
Таблица 7 – Исходные данные и результаты для контрольной программы, содержащей команды сложения по модулю два
Вариант |
1 |
2 |
3 |
4 |
5 |
(А) – исх. |
00 |
00 |
00 |
00 |
00 |
(E) |
00 |
FF |
C2 |
AA |
00 |
(М) по адр. 0930Н |
F0 |
0F |
22 |
55 |
00 |
(А) – рез. |
5A |
5A |
4A |
55 |
AA |
(F) |
06 |
06 |
02 |
06 |
86 |