- •1.2. Выполнили операцию вычитания двух однобайтных чисел с применением различных режимов адресации: sub rs, sub m, sui b2 (Таблицы 4-6)
- •1.3. Выполнили операцию сложения двух двухбайтных чисел с применением одной из команд adc rs, adc m, aci b2 (Таблица 7)
- •1.4. Выполнили операцию вычитания двух двухбайтных чисел с применением одной из команд: sbb rs, sbb m и sbi b2 (Таблица 8)
- •1.5. Выполнили задания пунктов 1.3. И 1.4. Используя регистровую косвенную адресацию (Таблицы 9 – 10).
- •1.6. Разработали и исследовали программу сложения пяти произвольных однобайтных чисел, используя все режимы адресации. (Таблица 10.1)
- •2.2. С помощью байта – маски сбросили первый и четвертые байты 3316 с применением одной из команд: ana rs, ana m, ana b2 (Таблица 12).
- •2.3. Выполнили операцию логического сложения чисел a316 и 8b16 с применением одной из команд: ora rs, ora m, ori b2 (Таблица 13).
- •2.4. С помощью байта – маски установили третий и седьмой биты байта 3316 с применением одной из команд: ora rs, ora m, ori b2 (Таблица 14).
- •3.2. Задали массив чисел 0a00 ←0116; 0a01 ←0516; 0a02 ←0216; 0a03 ←0116.
- •3.4. Определили сумму двух однобайтных чисел находящихся по адресам 0921 (0316), 0a10 (0516), 0bc9 (0116). Пользуясь командой сложения содержимого регистровых пар dad r (Таблица 31).
- •3.5. Нашли сумму двух десятичных однобайтных чисел 7710 и 1810 (Таблица 32).
1.6. Разработали и исследовали программу сложения пяти произвольных однобайтных чисел, используя все режимы адресации. (Таблица 10.1)
Таблица 10.1
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
21 00 0A |
LXI H |
0A00 |
Записать в регистровую пару (HL) число 0A00 |
0803 |
36 00 |
MVI M |
00 |
Загрузили в ячейку памяти 0A00 число 00 |
0805 |
21 01 0A |
LXI H |
0A01 |
Записать в регистровую пару (HL) число 0A01 |
0808 |
36 00 |
MVI M |
00 |
Загрузили в ячейку памяти 0A01 число 00 |
080A |
06 00 |
MVI B |
00 |
Записали в регистр B число 00 |
080C |
3E E2 |
MVI A |
E2 |
Записали число E2 в аккумулятор |
080E |
C6 F1 |
ADI |
F1 |
Сложили содержимое аккумулятора с F1 |
0810 |
D2 14 08 |
JNC |
0814 |
Осуществили переход по условию С=0 |
0813 |
04 |
INR B |
|
Увеличили содержимое регистра B на 1 |
0814 |
21 05 0A |
LXI H |
0A05 |
Записать в регистровую пару (HL) число 0A05 |
0817 |
36 E0 |
MVI M |
E0 |
Загрузили в ячейку памяти 0A05 число E0 |
0819 |
86 |
ADD M |
|
Выполнили сложение содержимого аккумулятора и содержимого ячейки памяти 0A05 и результат записали в аккумулятор |
081A |
D2 1E 08 |
JNC |
081E |
Осуществили переход по условию С=0 |
Окончание таблицы 10.1
081D |
04 |
INR B |
|
Увеличили содержимое регистра B на 1 |
081E |
0E EE |
MVI C |
EE |
Записали в регистр С число ЕЕ |
0820 |
81 |
ADD C |
|
Выполнили сложение содержимого аккумулятора и содержимого регистра С, результат записали в аккумулятор |
0821 |
D2 25 08 |
JNC |
0825 |
Осуществили переход по условию С=0 |
0824 |
04 |
INR B |
|
Увеличили содержимое регистра B на 1 |
0825 |
16 FF |
MVI D |
FF |
Записали в регистр D число FF |
0827 |
82 |
ADD D |
|
Выполнили сложение содержимого аккумулятора и содержимого регистра D, результат записали в аккумулятор |
0828 |
D2 2C 08 |
JNC |
082C |
Осуществили переход по условию С=0 |
082B |
04 |
INR B |
|
Увеличили содержимое регистра B на 1 |
082C |
32 00 0A |
STA |
0A00 |
Содержимое аккумулятора поместили в ячейку памяти 0A00 |
082F |
3E 00 |
MVI A |
00 |
Записали число 00 в аккумулятор |
0831 |
80 |
ADD B |
|
Выполнили сложение содержимого аккумулятора и содержимого регистра B, результат записали в аккумулятор |
0832 |
32 01 0A |
STA |
0A01 |
Содержимое аккумулятора поместили в ячейку памяти 0A01 |
0835 |
FF |
RST 7 |
|
Прервали выполнение программы |
2. Исследовали команды логических операций.
2.1. Выполнили операцию логического умножения чисел A316 и 8B16 с помощью любой команды: ANA RS, ANA M, ANA B2 (Таблица 11).
Таблица 11
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
3E A3 |
MVI A |
A3 |
Записали число A3 в аккумулятор |
0802 |
06 8B |
MVI B |
8B |
Записали в регистр B число 8B |
0804 |
A0 |
ANA B |
|
Логически умножили содержимое аккумулятора и регистра B результат записали в аккумулятор |
0805 |
FF |
RST 7 |
|
Прервали выполнение команды |
Просмотрели и зафиксировали в отчете содержимое регистров A=83, B=86, F=92