Проектирование элементов ЭВУ, страница 6

Т.к. все функции в программе вычисляются аналогично друг другу, одними и теми же способами, то для примера можно составить алгоритм вычисления одной функции, который по сути будет справедлив для остальных функций. Для примера возьмем функцию E1 . Схема алгоритма программы вычисления одной функции E1 показана на рис.4.

Рис.4. Схема алгоритма вычисления ФАЛ


 
 


       На схеме алгоритма (рис.4) введены следующие обозначения:

исходный байт данных;

байты результатов конкретных логических операций над первым и вторым слагаемыми функции E1 ;

константы маскирования байта ;

 - константы для логического сложения по модулю два с замаскированными байтами для определения логического значения байтов.

       По данному алгоритму можно составить требуемую программу.

Нижеследующие фрагменты текста программы будут выделены другим шрифтом, нежели основной текст.

В первую очередь образуем исходный байт данных вида 000x1x2Q1Q2Q3 .

MOV A,B

;пересылка в аккумулятор байта 0000 00x1x2

RLC

;сдвиг содержимого аккумулятора на один разряд влево, в результате получаем байт 0000 0x1x20

RLC

;повторный сдвиг на один разряд дает байт 0000 x1x200

RLC

;очередной сдвиг дает байт 000x1 x2000

ORA D

;логическое сложение байтов, хранящихся в аккумуляторе и регистре D, дает исходный байт данных 000x1 x2Q1Q2Q3

Сохраним исходный байт данных в регистре E для последующего многократного использования.

MOV E,A

;копирование содержимого аккумулятора в регистр Е

       Составим программу расчета системы функций E1 , E2 , E3

на основе представленного выше алгоритма (см. рис.4).

;Вычисление функции E1

ANI 11111010B

;маскирование битов Q1 и Q3 в первом слагаемом E1

XRI 10B

;вычисление первого слагаемого путем сложения замаскированного байта по модулю два с константой, содержащей единицы в неинвертируемых разрядах

JZ M1

;переход к месту, где функции E1 присваивается значение 1, в случае, если результат предыдущей операции равен 0 (то есть первое слагаемое равно 1)

MOV A,E

;восстановление исходного байта данных в аккумуляторе

ANI 11110100B

;маскирование битов x2, Q2 и Q3 во втором слагаемом

XRI 100B

;вычисление второго слагаемого