Система команд микропроцессора КР580вм80а на базе микро-ЭВМ "Электроника 580". Технические характеристики микро-ЭВМ, страница 10

Эти команды используются в ситуациях, когда необходимо подсчитывать число каких-то событий, т. е. когда регистр следит за тем, сколько раз была выполнена определенная операция.

К данной группе команд относятся:

Положительное приращение регистра                 INR r

Положительное приращение памяти                    INR М

Отрицательное приращение регистра                  DCR r

Отрицательное приращение памяти                    DCR М

Положительное приращение регистровой пары  INX rp

Отрицательное приращение регистровой пары   DCX rp

4.3. Задания к лабораторной работе

Задание №1.

Произвести вычитание двух чисел 30 81210 и 12 46010.

Для этого необходимо:

а) указанные числа перевести из десятичного формата в шестнадцатеричный;

б) составить программу вычисления в соответствии со следующим алгоритмом:

1. Загрузить младший байт (МБ) уменьшаемого в аккумулятор.

2. Вычесть младший байт вычитаемого из аккумулятора.

3. Результат (младший байт разности) записать в память.

4. Загрузить старший байт (СБ) уменьшаемого в аккумулятор.

5. Вычесть старший байт вычитаемого из аккумулятора с учетом бита переноса.

6. Результат (старший байт разности) записать в память.

7. Останов.

Текст программы и исходные данные желательно расположить в адресном пространстве ОЗУ в соответствии с таблицей 4.2;

Таблица 4.2

Адрес

Содержимое

8000

81FF

Текст программы

8200

МБ уменьшаемого

8201

СБ уменьшаемого

8202

МБ вычитаемого

8203

СБ вычитаемого

8204

МБ разности

8205

СБ разности

в) ввести исходные данные и выполнить программу в пошаговом режиме;

г) после выполнения каждого шага программы заносить в таблицу 4.3 содержимое регистров А, H, L и ячеек памяти с адресами 8204 и 8205;

Таблица 4.3

№ шага

Рег. А

Рег. H

Рег. L

8204

8205

Комментарий

0

00

00

00

00

00

Исходные данные

1

2

д) перевести результат из шестнадцатеричного формата в десятичный.

Задание №2.

Произвести умножение двух чисел 1210 и 310.

Для этого необходимо:

а) указанные числа перевести из десятичного формата в шестнадцатеричный;

б) составить программу вычисления в соответствии со следующим алгоритмом:

1. Загрузить первый сомножитель в регистр В.

2. Загрузить второй сомножитель в регистр С.

3. Загрузить содержимое регистра В в аккумулятор.

4. Уменьшить на 1 содержимое регистра С.

5. Сложить содержимое аккумулятора с содержимым регистра В;

6. Уменьшить на 1 содержимое регистра С.

7. Если содержимое регистра С не равно 0, перейти к п.5 *;

8. Результат (произведение) записать в память.

9. Останов.

* Команда JNZ, адрес осуществляет переход к выполнению команды, записанной по указанному адресу, при отсутствии нулевого результата (флаг нуля не установлен)

Текст программы и исходные данные желательно расположить в адресном пространстве ОЗУ в соответствии с таблицей 4.4;

Таблица 4.4

Адрес

Содержимое

8000

81FF

Текст программы

8200

1-й сомножитель

8201

2-й сомножитель

8202

Произведение

в) ввести исходные данные и выполнить программу в пошаговом режиме;

г) после выполнения каждого шага программы заносить в таблицу 4.5 содержимое регистров А, В, С, H, L, ячейки памяти с адресом 8202 и состояние флага нулевого результата;

Таблица 4.5