Индивидуальное задание №2
Написать с адреса 2000 h на языке Ассемблер для МП Intel 8085А программу, содержащую подпрограмму подсчета контрольной суммы (КС) 10 h ячеек памяти (2030 h…203F h), заполненных константой, значение которой задано в таблице 16.4.
Таблица 16.4 – Исходные данные к индивидуальному заданию №2
Начальный адрес массива загрузить в пару регистров HL, заданную константу – в регистр D. Заполнение массива константой оформить в виде цикла, счетчик циклов организовать на регистре Е. Значение контрольной суммы записать в регистр С. Начальный адрес подпрограммы 2020 h. Нижняя граница стека – 2045 h. Алгоритм решения задачи и алгоритм подпрограммы представлены на рисунке 16.2. До выполнения программы вычислить значение контрольной суммы массива ячеек памяти для заданной константы (без переноса в старший разряд). Результаты выполнения записать в таблицу 16.5 и сделать выводы.
Таблица 16.5 – Результаты выполнения индивидуального задания №2
После выполнения программы целиком (Project " Run), необходимо выполнить ее в пошаговом режиме по отдельным операциям (Project " Trace Into) и проследить за содержимым указателя стека SP после выполнения команд соответствующих блокам 12 и 13 основной программы (рисунок 16.2, а), а также блокам 1 и 5 подпрограммы (рисунок 16.2, б). Полученные значения записать в отчет и сделать выводы.
Рисунок 16.2 – Алгоритм решения задачи (a) и алгоритм подпрограммы (б)
|