Проектирование специализированных вычислителей цифровой обработки сигналов. Зиатдинов С.И - 66 стр.

UptoLike

66
ных в приложениях подпрограмм (без их модификации) обязательными
из приведенных в табл. 6.2 являются только отмеченные (*).
Следует также заметить, что стартовый адрес всех приведенных под-
программ совпадает с начальным адресом их размещения в памяти.
В данном примере предполагается, что с адреса 0000 до 03FFH раз-
мещается ПЗУ программ, а с адреса 0400Н располагаются ячейки ОЗУ.
Приложение 6.1
Подпрограмма осуществляет умножение слова, помещенного в реги-
стровую пару DE, на байт в аккумуляторе А. В данной работе применя-
ется для умножения x[k] помещаемого в А , на ко эффициент, помещае-
мый в регистровую пару DE.
Подпрограмма формирует модуль произведения в ячейке PLUS (4
байта по адресу 0400Н), а знакво флажке знака МП.
Адре с и код Мнемокод Комментарии
1) предварительная частьвычисление знака произведения и получение моду-
лей множителей:
0200: Е5 PUSH Н Сохранение в стеке значения HL
6F ТMOV L, А Сохранение значения А в L -
АА XRA D Определение знака результата
F5 PUSH PSW и сохранение его в стеке
Удаление знаков множителей (для
получения их абсолютных значений):
7А MOV A,D Старший байт DE – в аккумулятор
Е6 AMI 7FH Очистка знакового бит а
7F (“7FH – битовая маска)
57 MOV D, A Возврат байта в D
7D MOV A.I, Восстановление А из L
E6 ANI 7FH Очистка знакового бит а
7F (7FH битовая маска)
2) основная частьсобственно умножение:
020В: 21 LXI Н, 0 Очистка места для произведения
00 в регистровой паре HL
00
06 MVI В,8 Счетчик сдвигов (битов множителя)
08 (число битов множителя – 8)