4.8. СИНТЕЗ УПРАВЛЯЮЩЕГО УЗЛА ( РАЗРАБОТКА ПРОГАММ НА ЯЗЫКЕ МИКРОПРОЦЕССОРА ).
При разработке программы обработки данных согласно заданному линейно-разностному уравнению определим назначение регистров. Регистровая пара DE используется для хранения, расширенного до 16-ти разрядного значения входной выборки X(n), и промежуточных значений результатов, формируемых в процессе расширения. Пара HL используется для хранения промежуточного значения –Y(n-1)/2 и результата вычислений Y(n).
Блок-схема программы обработки изображена на рисунке 2. Каждый блок этой схемы опишем макросами.
1. Макрос Dopcode преобразует находящееся в аккумуляторе значение X(n) в обратном коде в эквивалентное значение в дополнительном коде по правилу: X(n)(ок) ³ 0 ® X(n)(дк) = X(n)(ок)
X(n)(ок) < 0 ® X(n)(дк) = X(n)(ок) +1,
2. Макрос Dopcod16 программно расширяет разрядную сетку с 8-ми до 16-ти разрядов, используя регистровую пару DE.
3. Макрос _Y(n-1)/2 вычисляет значение Y(n-1)/2 путём сдвига на один разряд вправо с заполнением старшего разряда знаком числа и сохраняет его в HL.
4. Макрос Invert изменяет знак 16-ти разрядного числа, представленного в дополнительном коде путём инвертирования всех его разрядов и добавлением единицы.
5. Макрос Round округляет старшую тетраду младшего байта 16-ти разрядного числа. В зависимости от значения младшей тетрады сташая округляется до ближайшего целого.
6. Макрос Output последовательно выводит в порты вывода байты 16-ти разрядного числа, причём первым выводится младший байт.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.