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

UptoLike

62
цессе выполнения подпрограммы в аккуму лят оре А (старший байт) и реги-
стровой паре HL (младшие два байта), но затем расширяется до 32-разряд-
ног о числа (добавлением нулевог о старшего байта) и помещается в 4-бай-
товую ячейк у памяти PLUS (см. табл. 6.2), чт о делается с целью унифик а-
ции применения подпрограмм умножения.
Алгоритм подпрограммы следующий:
1. Получение знака произведения из знаков операндов и его сохра-
нение в стеке.
2. Очистка знаковых битов операндов (получение мод улей).
3. Перемножение операндов методом суммирования частных произ-
ведений: путем сдвига произведения вправо и прибавления множимого
к произведению для каждого ненулевого бита множителя, выдвигаемо-
го вправо, т. е. старшими разрядами вперед (при этом произведение
образуется в регистрах A-HL).
4. Помещение произведения в переменную PLUS.
5. Помещение знака произведения во флажок знака МП.
При этом операцию умножения удобно отобразить схемой, показан-
ной на рис. 6.7.
Множитель (А) Произведение в A–HL
Множимое (DE)
15
0 15
7
0
0
Рис. 6.7
Подробнее алгоритмы ре ализации умножения рассмотрены в лите-
ратуре [4]. Вызов подпрограммы умножения байта на слово осуще ств-
ляется с адреса 0200Н.
Входными регистрами подпрограммы являются регистровая пара DE
и регистр-аккумулятор А, хранящие множимое и множитель в прямом
коде (знак-модуль). Выходным регистром является флажок знака МП,
возвращающий знак произведения, 4-байтовый модуль которого поме-
щается во временную ячейку памяти PLUS.
По дпрограмм а сохраняет неизменным значение регистровой пары HL.
Текст подпрограммы представлен в прил. 6.1.