- •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).
3.2. Задали массив чисел 0a00 ←0116; 0a01 ←0516; 0a02 ←0216; 0a03 ←0116.
Пользуясь командами INX R и DCX R, определили сумму элементов массива (Таблицы 28-29).
Таблица 28
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
21 01 0A |
LXI H |
0A01 |
В регистровую пару (HL) загрузили адрес ячейки памяти M(0A01) |
0803 |
3A 00 0A |
LDA |
0A00 |
В аккумулятор загрузили число находящееся в ячейке памяти M(0A00) |
0806 |
86 |
ADD M |
|
Сложили содержимое аккумулятора с содержимым ячейки памяти адрес которой находится в регистровой паре (HL), результат поместили в аккумулятор |
0807 |
23 |
INX H |
|
Инкрементировали содержимое регистровой пары (HL) |
Окончание таблицы 28
0808 |
86 |
ADD M |
|
Сложили содержимое аккумулятора с содержимым ячейки памяти адрес которой находится в регистровой паре (HL), результат поместили в аккумулятор |
0809 |
23 |
INX H |
|
Инкрементировали содержимое регистровой пары (HL) |
080A |
86 |
ADD M |
|
Сложили содержимое аккумулятора с содержимым ячейки памяти адрес которой находится в регистровой паре (HL), результат поместили в аккумулятор |
080B |
FF |
RST 7 |
|
Прервали выполнение программы |
Просмотрели и зафиксировали в отчете содержимое регистров A=09, F=06
Таблица 29
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
21 02 0A |
LXI H |
0A02 |
В регистровую пару (HL) загрузили адрес ячейки памяти M(0A02) |
0803 |
3A 03 0A |
LDA |
0A03 |
В аккумулятор загрузили число находящееся в ячейке памяти M(0A03) |
0806 |
86 |
ADD M |
|
Сложили содержимое аккумулятора с содержимым ячейки памяти адрес которой находится в регистровой паре (HL), результат поместили в аккумулятор |
0807 |
2B |
DCX H |
|
Декрементировали содержимое регистровой пары (HL) |
0808 |
86 |
ADD M |
|
Сложили содержимое аккумулятора с содержимым ячейки памяти адрес которой находится в регистровой паре (HL), результат поместили в аккумулятор |
0809 |
2B |
DCX H |
|
Декрементировали содержимое регистровой пары (HL) |
Окончание таблицы 29
080A |
86 |
ADD M |
|
Сложили содержимое аккумулятора с содержимым ячейки памяти адрес которой находится в регистровой паре (HL), результат поместили в аккумулятор |
080B |
FF |
RST 7 |
|
Прервали выполнение программы |
Просмотрели и зафиксировали в отчете содержимое регистров A=09, F=06
3.3. Задали массив чисел 0A00 ←0116; 0A01 ←0516; 0A02 ←0216; 0A03 ←0116. Пользуясь командами INR M и DCR M, уменьшить первый и второй элементы массива на единицу, третий и четвертый элементы массива увеличить на единицу (Таблица 30).
Таблица 30
Адрес |
Машинный код |
Мнемоника команды |
Операнд |
Комментарий |
0800 |
21 00 0A |
LXI H |
0A00 |
В регистровую пару (HL) загрузили адрес ячейки памяти M(0A00) |
0803 |
35 |
DCR M |
|
Декрементировали содержимое ячейки памяти адрес которой находится в регистровой паре (HL) |
0804 |
23 |
INX H |
|
Увеличили значение адреса в регистровой паре (HL) на единицу |
0805 |
35 |
DCR M |
|
Декрементировали содержимое ячейки памяти адрес которой находится в регистровой паре (HL) |
0806 |
23 |
INX H |
|
Увеличили значение адреса в регистровой паре (HL) на единицу |
0807 |
34 |
INR M |
|
Инкрементировали содержимое ячейки памяти адрес которой находится в регистровой паре (HL) |
0808 |
23 |
INX H |
|
Увеличили значение адреса в регистровой паре (HL) на единицу |
Продолжение таблицы 30
0809 |
34 |
INR M |
|
Инкрементировали содержимое ячейки памяти адрес которой находится в регистровой паре (HL) |
080А |
FF |
RST 7 |
|
Прервали выполнение программы |
Исходный массив - 0A00 ←0116; 0A01 ←0516; 0A02 ←0216; 0A03 ←0116
Модифицированный массив - 0A00 ←0016; 0A01 ←0416; 0A02 ←0316; 0A03 ←0216