Лабораторные работы / Лаба 3 / Лабораторная работа №3
.docЗаботин Е. Л., ЭМ-31
Лабораторная работа №3
Команды обработки данных
Цель работы: Изучить команды обработки данных и получить практические навыки работы с ними.
Краткие сведения из теории
Команды обработки данных выполняют арифметические операции над содержимым А-регистра и регистра R, регистровой парой, ячейкой памяти или непосредственными данными. Выполнение почти всех команд изменяет значение регистра флагов F.
Команда DAA – десятичная коррекция содержимого регистра преобразовывает данные регистра А по следующему принципу:
Если младшая тетрада А-регистра больше 9 или флаг АС=1, то содержимое А-регистра увеличивается на 6, а к старшей тетраде прибавляется 1. Затем, если старшая тетрада А-регистра больше 9 или флаг CY=1, то содержимое А-регистра увеличивается на 60 H.
Таблица № 1 – Команды обработки данных
Формат, байтов |
Время, тактов |
Код |
Мнемокод |
Наименование команд |
Описание операций |
Биты признаков |
||||
S |
Z |
AC |
P |
CY |
||||||
1 |
4 |
* |
ADD R |
Сложение содержимого регистра и содержимого А-регистра |
В А-регистр записывается результат суммы содержимого А-регистра и содержимого R-регистра |
+ |
+ |
+ |
+ |
+ |
1 |
7 |
86 |
ADD M |
Сложение содержимого ячейки памяти и содержимого А-регистра |
В А-регистр записывается результат суммы содержимого А-регистра и содержимого ячейки памяти, адрес которой хранится в (H,L)-паре |
+ |
+ |
+ |
+ |
+ |
2 |
7 |
C6 |
ADI B2 |
Сложение непосредственных данных и содержимого А-регистра |
В А-регистр записывается результат суммы содержимого А-регистра и непосредственных данных (B2) |
+ |
+ |
+ |
+ |
+ |
1 |
4 |
* |
ADC R |
Сложение содержимого регистра и содержимого А-регистра с переносом |
В А-регистр записывается результат суммы содержимого А-регистра, содержимого R-регистра и значения флага (CY) |
+ |
+ |
+ |
+ |
+ |
1 |
7 |
8E |
ADC M |
Сложение содержимого регистра и содержимого А-регистра с переносом |
В А-регистр записывается результат суммы содержимого А-регистра, содержимого R-регистра и значения флага (CY) |
+ |
+ |
+ |
+ |
+ |
2 |
7 |
СE |
ACI B2 |
Сложение содержимого ячейки памяти и содержимого А-регистра с переносом |
В А-регистр записывается результат суммы содержимого А-регистра, содержимого ячейки памяти, адрес которой хранится в (H,L)-паре, и значения флага (CY) |
+ |
+ |
+ |
+ |
+ |
1 |
4 |
* |
SUB R |
Вычитание содержимого регистра из содержимого А-регистра |
В А-регистр записывается результат вычитания от содержимого А регистра содержимого R-регистра |
+ |
+ |
+ |
+ |
+ |
1 |
7 |
96 |
SUB M |
Вычитание содержимого ячейки памяти из содержимого А-регистра |
В А-регистр записывается результат вычитания от содержимого А регистра содержимого ячейки памяти, адрес которой хранится в (H,L)-паре |
+ |
+ |
+ |
+ |
+ |
2 |
7 |
D6 |
SUI B2 |
Вычитание непосредственных данных из содержимого А-регистра |
В А-регистр записывается результат вычитания от содержимого А регистра непосредственных данных (B2) |
+ |
+ |
+ |
+ |
+ |
Таблица № 2 - Результаты выполнения команд
№ п/п |
Адрес |
Значение |
Команда |
Значение регистров, пар регистров, ячеек памяти, флагов до и после выполнения команды |
||||||||
Регистр, пара, ячейка, значение |
Регистр флагов F |
|||||||||||
S |
Z |
0 |
AC |
0 |
P |
1 |
C |
|||||
1 |
0000 |
83 |
ADD E |
E – 12 H A – 00 H |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
A – 12 H |
||||||||||||
2 |
0001 |
86 |
ADD M |
A – 12 H HL – 0901 0901 – FE H |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
A – 10 H |
||||||||||||
3 |
0002 0003 |
C6 82 |
ADI d8 |
A – 10 H |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
A – 92 H |
||||||||||||
4 |
0004 |
88 |
ADC B |
B – A3 H A – 92 H |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
A – 35 H |
||||||||||||
5 |
0005 |
8E |
ADC M |
HL – 0907 H A – 35 H |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
A – 85 H |
||||||||||||
6 |
0006 0007 |
CE 82 |
ACI d8 |
A – 85 H |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
A – 85 H |
||||||||||||
7 |
0008 |
93 |
SUB E |
E – 12 H A – 85 H |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
A – 73 H |
||||||||||||
8 |
0009 |
96 |
SUB M |
HL – 0906 0906 – 21 H A – 73 H |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
A - 52 |
||||||||||||
9 |
000A 000B |
D6 82 |
SUI d8 |
A – 52 H |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
A – 00 H |
||||||||||||
10 |
000C |
9B |
SBB E |
E – 12 H A – 00 H |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
A – BD H
|
||||||||||||
11 |
000D |
9E |
SBB M |
HL – 0906 H 0906 – 21 H A – BD H |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
A – 9B H |
||||||||||||
12 |
000E 000F |
DE 82 |
SBI d8 |
A – 9B H |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
A – 18 H |
||||||||||||
13 |
0010 |
1C |
INR E |
E – 12 H |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
E – 13 H |
||||||||||||
14 |
0011 |
34 |
INR M |
HL – 0906 H 0906 – 21 H |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0906 – 22 H |
||||||||||||
15 |
0012 |
03 |
INX B |
BC – 0908 H |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
BC – 0909 H |
||||||||||||
16 |
0013 |
1D |
DCR E |
E – 12 H |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
E – 11 H |
||||||||||||
17 |
0014 |
35 |
DCR M |
HL – 0906 H 0906 – 21 H |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0906 – 20 H |
||||||||||||
18 |
0015 |
0B |
DCX B |
BC – 0908 H |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
BC – 0907 H |
||||||||||||
19 |
0016 |
09 |
DAD B |
BC – 0908 H HL – 0900 H |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
HL – 1208 H |
||||||||||||
20 |
0017 |
27 |
DAA |
- |
- |
- |
0 |
- |
0 |
- |
1 |
- |
Вывод. В данной лабораторной работе я изучил команды обработки данных и получил практические навыки работы с ними.