ПЦУ / 2 семестр / ПЦУ / Лабораторная работа / Лабораторная работа №4
.docxЛабораторная работа №4
Команды ЛОГИЧЕСКИХ ОПЕРАЦИЙ
Цель работы: Изучить команды логических операций и получить практические навыки работы с ними.
Краткие сведения из теории
Команды логических операций выполняют логические операции над содержимым А-регистра и регистра R, ячейкой памяти или непосредственными данными.
Команды логических операций можно разделить на следующие группы:
-
команды логической операции И (ANA, ANI);
-
команды логической операции ИЛИ (ORA, ORI);
-
команды логической операции исключающее ИЛИ (XRA, XRI);
-
команды сравнения (CMP, CPI);
-
команды циклических сдвигов (RAR, RAL, RLC, RRC);
-
команды дополнений (CMA, CMC);
-
команда установки признака переноса (STC).
Выполнение почти всех команд изменяет значение регистра флагов F.
Выполнение работы:
1. Записать в регистры следующие данные:
|
Регистр |
A |
B |
C |
D |
E |
|
Значение |
01 H |
09 Н |
03 H |
0A H |
02h |
2. В регистровую пару HL записать адрес 0900 H. В ячейку с адресом 0900 H записать число 52 H. (рисунок 1)

Рисунок 1
3. Написать программу, выполняющую следующие действия, указанные в пунктах 2.1. – 2.19.
Задание 1 представлено на рисунке 2:
|
№ задания |
Варианты |
|||||||||||
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
|
|
2.1 |
Поразрядное И над содержимым регистра и А-регистра ANA R (перед выполнением команды необходимо заполнить регистры по варианту) команду поместить в адрес 0000 H |
|||||||||||
|
Е 12 |
C 1B |
D 1D |
B 13 |
C 14 |
D A2 |
E D8 |
E 23 |
H 45 |
L 3F |
C 1A |
D 0D |
|
Рисунок 2
Выполнение задания 2.1 указано на рисунке 3

Рисунок 3
Задание 2 представлено на рисунке 4:
|
2.2 |
Поразрядное И над содержимым ячейки памяти и А-регистра ANA M (перед выполнением команды необходимо заполнить регистровую пару HL адресом ячейки по варианту, а в ячейку памяти с этим адресом поместить число по варианту) команду поместить в адрес 0001 H |
|||||||||||
|
0901 FE |
0909 EE |
0904 E8 |
0902 F2 |
0903 A2 |
0904 AB |
0905 CD |
0906 21 |
0907 4F |
0908 FC |
0909 EA |
0900 C8 |
|
Рисунок 4
Выполнение задания 2.2 указано на рисунке 5

Рисунок 5
Задание 3 представлено на рисунке 6:
|
2.3 |
Поразрядное И над непосредственными данными и содержимым А-регистра ANI d8 (перед выполнением команды регистры не заполнять) первый байт (код) команды поместить в адрес 0002 H, в адрес 0003 H занести второй байт команды - непосредственные данные по варианту |
|||||||||||
|
82 |
C9 |
12 |
A9 |
B6 |
C2 |
1E |
20 |
E5 |
00 |
C9 |
11 |
|
Рисунок 6
Выполнение задания 2.3 указано на рисунке 7

Рисунок 7
Задание 4 представлено на рисунке 8:
|
2.4 |
Поразрядное исключающее ИЛИ над содержимым регистра и А-регистра XRA R (перед выполнением команды необходимо заполнить регистры по варианту) команду поместить в адрес 0004 H |
|||||||||||
|
B A3 |
D 3A |
E 41 |
C B4 |
D F5 |
E D0 |
H 09 |
L 03 |
B 1F |
C 2D |
D 3A |
E 41 |
|
Рисунок 8
Выполнение задания 2.4 указано на рисунке 9

Рисунок 9
Задание 5 представлено на рисунке 10:
|
2.5 |
Поразрядное исключающее ИЛИ над содержимым ячейки памяти и А-регистра XRA M (перед выполнением команды необходимо заполнить регистровую пару HL адресом ячейки по варианту, а в ячейку памяти с этим адресом поместить число по варианту) команду поместить в адрес 0005 H |
|||||||||||
|
0907 4F |
0905 CD |
0906 21 |
0908 FC |
0909 EA |
0900 C8 |
0901 FE |
0902 F2 |
0903 A2 |
0904 AB |
0905 CD |
0906 21 |
|
Рисунок 10
Выполнение задания 2.5 указано на рисунке 11

Рисунок 11
Задание 6 представлено на рисунке 12:
|
2.6 |
Поразрядное исключающее ИЛИ над непосредственными данными и содержимым А-регистра XRI d8 (перед выполнением команды регистры не заполнять) первый байт (код) команды поместить в адрес 0006 H, в адрес 0007 H занести второй байт команды - непосредственные данные по варианту |
|||||||||||
|
82 |
C9 |
12 |
A9 |
B6 |
C2 |
1E |
20 |
E5 |
00 |
C9 |
11 |
|
Рисунок 12
Выполнение задания 2.6 указано на рисунке 13

Рисунок 13
Задание 7 представлено на рисунке 14:
|
2.7 |
Поразрядное ИЛИ над содержимым регистра и А-регистра ORA R (перед выполнением команды необходимо заполнить регистры по варианту) команду поместить в адрес 0008 H |
|||||||||||
|
Е 12 |
C 1B |
D 1D |
B 13 |
C 14 |
D A2 |
E D8 |
E 23 |
H 45 |
L 3F |
C 1A |
D 0D |
|
Рисунок 14
Выполнение задания 2.7 указано на рисунке 15

Рисунок 15
Задание 8 представлено на рисунке 16:
|
2.8 |
Поразрядное ИЛИ над содержимым ячейки памяти и А-регистра ORA M перед выполнением команды необходимо заполнить регистровую пару HL адресом ячейки по варианту, а в ячейку памяти с этим адресом поместить число по варианту) команду поместить в адрес 0009 H |
|||||||||||
|
0906 21 |
0904 AB |
0905 CD |
0907 4F |
0908 FC |
0909 EA |
0900 C8 |
0901 FE |
0902 F2 |
0903 A2 |
0904 AB |
0905 CD |
|
Рисунок 16
Выполнение задания 2.8 указано на рисунке 17

Рисунок 17
Задание 9 представлено на рисунке 18:
|
2.9 |
Поразрядное ИЛИ над непосредственными данными и содержимым А-регистра ORI d8 (перед выполнением команды регистры не заполнять) первый байт (код) команды поместить в адрес 000A H, в адрес 000B H занести второй байт команды - непосредственные данные по варианту |
|||||||||||
|
82 |
C9 |
12 |
A9 |
B6 |
C2 |
1E |
20 |
E5 |
00 |
C9 |
11 |
|
Рисунок 18
Выполнение задания 2.9 указано на рисунке 19

Рисунок 19
Задание 10 представлено на рисунке 20:
|
2.10 |
Сравнение содержимого регистра и А-регистра CMP R (перед выполнением команды необходимо заполнить регистры по варианту) команду поместить в адрес 000C H |
|||||||||||
|
Е 12 |
C 1B |
D 1D |
B 13 |
C 14 |
D A2 |
E D8 |
E 23 |
H 45 |
L 3F |
C 1A |
D 0D |
|
Рисунок 20
Выполнение задания 2.10 указано на рисунке 21

Рисунок 21
Задание 11 представлено на рисунке 22:
|
2.11 |
Сравнение содержимого ячейки памяти и А-регистра CMP M (перед выполнением команды необходимо заполнить регистровую пару HL адресом ячейки по варианту, а в ячейку памяти с этим адресом поместить число по варианту) команду поместить в адрес 000D H |
|||||||||||
|
0906 21 |
0904 AB |
0905 CD |
0907 4F |
0908 FC |
0909 EA |
0900 C8 |
0901 FE |
0902 F2 |
0903 A2 |
0904 AB |
0905 CD |
|
Рисунок 22
Выполнение задания 2.11 указано на рисунке 23

Рисунок 23
Задание 12 представлено на рисунке 24:
|
2.12 |
Сравнение непосредственных данных и содержимого А-регистра CPI d8 (перед выполнением команды регистры не заполнять) первый байт (код) команды поместить в адрес 000E H, в адрес 000F H занести второй байт команды - непосредственные данные по варианту |
|||||||||||
|
82 |
C9 |
12 |
A9 |
B6 |
C2 |
1E |
20 |
E5 |
00 |
C9 |
11 |
|
Рисунок 24
Выполнение задания 2.12 указано на рисунке 25

Рисунок 25
Задание 13 представлено на рисунке 26:
|
2.13 |
Циклический сдвиг влево содержимого А-регистра RLC (перед выполнением команды необходимо заполнить регистры по варианту) команду поместить в адрес 0010 H |
|||||||||||
|
A 12 |
A 1B |
A 1D |
A 13 |
A 14 |
A A2 |
A D8 |
A 23 |
A 45 |
A 3F |
A 1A |
A 0D |
|
Рисунок 26
Выполнение задания 2.13 указано на рисунке 27

Рисунок 27
Задание 14 представлено на рисунке 28:
|
2.14 |
Циклический сдвиг влево содержимого А-регистра через перенос RAL (перед выполнением команды необходимо заполнить регистры по варианту) команду поместить в адрес 0011 H |
|||||||||||
|
A 12 |
A 1B |
A 1D |
A 13 |
A 14 |
A A2 |
A D8 |
A 23 |
A 45 |
A 3F |
A 1A |
A 0D |
|
Рисунок 28
Выполнение задания 2.14 указано на рисунке 29

Рисунок 29
Задание 15 представлено на рисунке 30:
|
2.15 |
Циклический сдвиг вправо содержимого А-регистра RRC (перед выполнением команды необходимо заполнить регистры по варианту) команду поместить в адрес 0012 H |
|||||||||||
|
A 12 |
A 1B |
A 1D |
A 13 |
A 14 |
A A2 |
A D8 |
A 23 |
A 45 |
A 3F |
A 1A |
A 0D |
|
Рисунок 30
Выполнение задания 2.15 указано на рисунке 31

Рисунок 31
Задание 16 представлено на рисунке 32:
|
2.16 |
Циклический сдвиг вправо содержимого А-регистра через перенос RAR (перед выполнением команды необходимо заполнить регистры по варианту) команду поместить в адрес 0013 H |
|||||||||||
|
A 12 |
A 1B |
A 1D |
A 13 |
A 14 |
A A2 |
A D8 |
A 23 |
A 45 |
A 3F |
A 1A |
A 0D |
|
Рисунок 32
Выполнение задания 2.16 указано на рисунке 33

Рисунок 33
Задание 17 представлено на рисунке 34:
|
2.17 |
Дополнение содержимого А-регистра CMA (перед выполнением команды необходимо заполнить регистры по варианту) команду поместить в адрес 0014 H |
|||||||||||
|
A 12 |
A 1B |
A 1D |
A 13 |
A 14 |
A A2 |
A D8 |
A 23 |
A 45 |
A 3F |
A 1A |
A 0D |
|
