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

UptoLike

64
Входным регист ром подпрограммы является флажок знака МП, зна-
чение которого определяет, какая операция будет выполнятьсясложе-
ние или вычит ание. Выходных регистров нет, результат операции нахо-
дится в ячейке памяти SUM, хранящей значение y[k].
Текст подпрограммы представлен в прил. 6.3.
Подпрограмма формирования выходного сигна-
ла фильтра. Данная подпрограмма осуществляет деление получен-
ной суммы y[k] на число 1024 для получения выходного значения филь-
тра. Подпрограмма деления двоичного числа на число, представимое в
виде целой степени числа 2, сводит ся к сдвигу делимого вправо на
число бит, равное этой степени (для деления на 1024 = 2
10
, надо сдви-
гать на 10 бит вправо). При этом следует сохранять знак делимого.
Кроме того, предлагаемая подпрограмма ре а лизует округление ре-
зультата деления до целого (а не отбрасывание дробной части), а также
осуществляет проверку возможности превышения результатом деления
максимального значения для 2-байтового слова и диагностирует этот
факт переходом на процедуру обработки ошибки.
Отметим, что подпрограмма алгебраического сложения образует в
ячейке, хранящей y[k], значение суммы в дополнительном коде, в связи
с чем перед выполнением собственно деления данная по дпрограмма ана-
лизирует знак суммы y[k] и в случае отрицательного значения произво-
дит его преобразование в прямой код.
Вызов подпрограммы деления осуществляется с адреса 0280Н.
Результат деления подпрограмма возвращает в регистровую пару HL
в прямом коде (знак-модуль).
Текст подпрограммы представлен в прил. 6.4.
Распределение поля памяти. В распоряжении по льз ов ателя до 64 Кбайт
ячеек памяти ОЗУ. Согласно заданию на курсовое проектирование наи-
высший порядок разностного уравнения равен двум, т. е. в памяти обя-
зательно должны присутствовать отсчеты x[k], x[k 1], x[k 2], y[k] (как
результат текущего решения разно стного уравнения), y[k – 1] и y[k – 2].
Также следует предусмотреть хранение в памяти коэффициентов а
0
, а
1
,
a
2
, b
1
и b
2
уравнения (6.26).
Кроме того, в памяти следует предусмотреть ячейки для хранения
промежуточных результатов расчета подпрограмм арифметических опе-
раций. В предложенных в приложениях подпрограммах это 4-байтовые
ячейки PLUS и SUM, в которых хранятся (соответственно) значения
модуля результата последней операции умножения и значение y[k] (т. е.
домноженное на 1024).