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

5.1. К начальному значению суммы прибавить содержимое очередной ячейки массива.

5.2. Результат поместить в регистр В.

5.3. Записать в регистровую пару HL адрес очередной ячейки массива.

6. Сравнить адрес текущей ячейки массива с адресом конечной ячейки массива (подпрограмма).

7. Если текущий адрес меньше конечного, то повторить вычисления с п.5.

8. Останов.

Подпрограмма сравнения содержимого регистровых пар (поскольку команда непосредственного сравнения содержимого регистровых пар отсутствует, то сравнение можно произвести посредством операции вычитания с последующим контролем флагов нуля или переноса):

9. Вычесть из содержимого младшего байта конечного адреса массива содержимое младшего байта текущего адреса массива.

10. Вычесть из содержимого старшего байта конечного адреса массива содержимое старшего байта текущего адреса массива с учетом бита переноса.

11. Возврат к п.7.

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

Таблица 6.3

Адрес

Содержимое

8000

81FF

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

8200

Массив

8209

820А

Стек

821А

б) ввести исходный массив (с целью упрощения контроля результата (суммы) все элементы массива могут быть равны, например, 110) и выполнить программу в пошаговом режиме;

в) после выполнения каждого шага программы заносить в таблицу 6.4 содержимое всех используемых регистров, а также содержимое стека и флага переноса:

Таблица 6.4

шага

Регистры

SP

SP-1

Флаг

С

Комментарий

А

В

D

E

H

L

0

XX

XX

XX

XX

XX

XX

XX

XX

X

Исх. данные

1

2

г) прокомментировать содержимое стека и установку флага.

6.4. Содержание отчета

В отчете привести наименование и цель работы, тексты программ задач №1 и №2, записанные в мнемокодах и машинных кодах, заполненные таблицы 6.2 и 6.4 с подробными комментариями.

Лабораторная работа №7

Арифметическое умножение и деление

7.1. Цель работы

1. Изучить способы организации арифметического умножения и деления.

2. Получить практические навыки составления программ.

7.2. Краткие сведения из теории

7.2.1. Арифметическое умножение

Существует несколько алгоритмов умножения чисел. При первом алгоритме умножение можно заменить многократным сложением, например 14*3 = 14+14+14. Существенный недостаток этого способа - значительная длительность процесса вычисления.

При втором алгоритме умножение осуществляется в столбик. Такой алгоритм применим как для десятичных, так и для двоичных чисел. Применим данный алгоритм для умножения двоичных чисел, например:

0110 - множимое 610;

0011 - множитель 310;

0110 - первое частичное произведение;

0 110   - второе частичное произведение;

00 00     - третье частичное произведение;

000 0       - четвертое частичное произведение;

0001 0010 - произведение 1810.

После завершения умножения множимого на значение младшего разряда множителя получается первое частичное произведение. В результате умножения множимого на значение следующего по старшинству разряда множителя формируется второе частичное произведение. Подобная процедура повторяется с целью получения всех необходимых частичных произведений.