Микропроцессорные системы. Анкудинов И.Г. - 17 стр.

UptoLike

Составители: 

Таблица 3.3. Программа пересылки массива
Адрес Машинный код Мнемокод Комментарий
Сохранение регистров в стеке
0800 C5 PUSH B
0801 D5 PUSH D
0802 E5 PUSH H
Непосредственная пересылка
0803 1A цикл: LDAX D
0804 02 STAX B Если множитель = 0
0805 03 INX B
0806 13 INX D
0807 2B DCX H
0808 7C MOV A, H Если множимое = 0
0809 B5 ORA L (А) – множитель
080A C210308 JNZ цикл Счетчик циклов
Восстановление регистров
080D E1 POP H
080E D1 POP D
080F C1 POP B
0810 C9 RET
Использование стека
В табл. 3.3 приведена подпрограмма [6], демонстрирующая
использование стека для перемещения массива данных из одной области ОЗУ в
другую. Так как программа предназначена для случая, когда адрес начала
массива-источника принадлежит области массива-приемника, пересылка
начинается с младших разрядов.
Параметры подпрограммы:
(D, E) – адрес начала массива-источника;
(B, C) – адрес начала массива-приемника;
(H, L) – длина массива.
3.3. Порядок выполнения работы
1. Ознакомиться с программами умножения У88 Б1 и У168.
2. Ввести эти программы и выполнить умножение чисел, заданных
преподавателем в покомандном режиме.
3. Составить таблицу, отражающую содержимое регистров после
выполнения каждой команды.
4. Ввести подпрограмму, демонстрирующую использование стека для
перемещения массива данных в ОЗУ.
5. Выполнить перемещение массива по заданию преподавателя.
3.4. Содержание отчета
17