Индивидуальное задание №2. Написать с адреса 2000 h на языке Ассемблер для МП Intel 8085А программу, содержащую подпрограмму подсчета контрольной суммы (КС) 10 h ячеек памяти (2030
Написать с адреса 2000 h на языке Ассемблер для МП Intel 8085А программу, содержащую подпрограмму подсчета контрольной суммы (КС) 10 h ячеек памяти (2030 h…203F h), заполненных константой, значение которой задано в таблице 16.4.
Таблица 16.4 – Исходные данные к индивидуальному заданию №2
Номер варианта | Исходные данные (Р = 16) | Номер варианта | Исходные данные (Р = 16) |
(D) | (D) | ||
1, 3, 5, 7 | 8, 10, 12, 14 | ||
2, 4, 6 | 0A | 9, 11, 13 | 0D |
Начальный адрес массива загрузить в пару регистров HL, заданную константу – в регистр D. Заполнение массива константой оформить в виде цикла, счетчик циклов организовать на регистре Е. Значение контрольной суммы записать в регистр С. Начальный адрес подпрограммы 2020 h. Нижняя
граница стека – 2045 h. Алгоритм решения задачи и алгоритм подпрограммы представлены на рисунке 16.2.
До выполнения программы вычислить значение контрольной суммы массива ячеек памяти для заданной константы (без переноса в старший разряд).
Результаты выполнения записать в таблицу 16.5 и сделать выводы.
Таблица 16.5 – Результаты выполнения индивидуального задания №2
Номер варианта | Результат (P = 16) | Содержимое регистров и ЯП (P = 16) | Значения признаков | |||||||||
(C) | (D) | (E) | (H) | (L) | (M1) -(M16) | (SP) | S | Z | A | P | C | |
После выполнения программы целиком (Project " Run), необходимо выполнить ее в пошаговом режиме по отдельным операциям (Project " Step Over) и проследить за содержимым указателя стека SP после выполнения команд соответствующих блокам 12 и 13 основной программы (рисунок 16.2, а), а также блокам 1 и 5 подпрограммы (рисунок 16.2, б). Полученные значения записать в отчет и сделать выводы.
Рисунок 16.2 – Алгоритм решения задачи (a) и алгоритм подпрограммы (б)
Дата добавления: 2014-11-30; просмотров: 817;