Индивидуальное задание №2

Написать с адреса 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 " Trace Into) и проследить за содержимым указателя стека SP после выполнения команд соответствующих блокам 12 и 13 основной программы (рисунок 16.2, а), а также блокам 1 и 5 подпрограммы (рисунок 16.2, б). Полученные значения записать в отчет и сделать выводы.

Рисунок 16.2 – Алгоритм решения задачи (a) и алгоритм подпрограммы (б)

ЛАБОРАТОРНАЯ РАБОТА №17

ОБУЧЕНИЕ РАБОТЕ В ИНТЕГРИРОВАННОЙ СРЕДЕ
MPLAB IDE


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: