Техника микропроцессорных систем в МТС
Задание:
Составить алгоритм и программу на языке Assembler K580.
Имеются два массива. Начальные адреса массивов 2С4Д и 2F5E. Количество элементов в каждом массиве равно 48. Необходимо сложить элементы двух массивов и результат сложения поместить на место 1 массива.
Описание работы программы
Программа суммирует поэлементно два массива: MASA MASB по 48 элементов в каждом и результат
суммирования помещает в массив MASA.
Для адресации элементов массива MASA используется регистровая пара (HL).
Для адресации элементов массива MASA используется регистровая пара (DE).
Последовательность действий следующая:
1. В регистровые пары (HL) и (HL) заносятся адреса первых элементов массивов MASA и MASB
соответственно.
2. Устанавливается счетчик на число операций цикла ( С = 48 ).
3. В аккумулятор заносится значение 1-го элемента массива MASB
4. Это значение складывается со значением 1-го элемента массива MASA. Результат - в
аккумуляторе.
5. Содержимое аккумулятора записывается по адресу (HL) - то есть в 1-й элемент массива MASA.
6. Наращиваются на +1 указатели адресов массивов MASA и MASB в регистровых парах HL и DE.
7. Уменьшается на 1 значение счетчика цикла.
8. Если счетчик цикла = 0, то выход из программы, иначе - переход на п.3., но теперь уже
в аккумулятор заносится следующее значение массива MASB.
Блок-схема программы изображена на Рис.1
Состояние программы и памяти массивов в начале программы при прогоне на эмуляторе
показано на рис.2
Состояние программы и памяти массивов в конце программы при прогоне на эмуляторе
показано на рис.3
Листинг программы изображен на рис. 4