JZ M1 |
;переход, если второе слагаемое равно 1 |
|
MVI D,0B |
;запись в регистр D, где будет храниться байт результата вида 0000 0E1E2E3, значения Е1 = 0 (нули записываются во все разряды) |
|
JMP M2 |
;безусловный переход для исключения следующей команды |
|
M1: |
MVI D,100B |
;запись в регистр D значения E1 = 1 (в разряд D2). В регистре D теперь находится байт 0000 0100 |
M2: |
MOV A,E |
;восстановление байта данных в аккумуляторе |
;Вычисление функции E2 |
||
ANI 11110101B |
;маскирование битов x2 и Q2 в первом слагаемом E2 |
|
XRI 10001B |
;вычисление первого слагаемого |
|
JZ M3 |
;переход, если первое слагаемое равно 1, в то место, где функции E2 присваивается значение 1 |
|
MOV A,E |
;восстановление исходного байта данных в аккумуляторе |
|
ANI 11110010B |
;маскирование битов x2, Q1 и Q3 во втором слагаемом |
|
XRI 10010B |
;вычисление второго слагаемого |
|
JNZ M4 |
;переход к месту, где пропускается присваивание функции E2 значения 1, в случае, если результат предыдущей операции не равен 0 (то есть второе слагаемое равно 0). Таким образом функция E2 получается равной 0 |
|
M3: |
MOV A,D |
;запись в аккумулятор байта, где в разряде D2 находится значение E1 |
ORI 10B |
;запись значения E2 = 1 в разряд A1 аккумулятора. Содержимое остальных разрядов при этом сохраняется. Получаем байт вида 0000 0E1E20 = 000 0E110 |
|
MOV D,A |
;пересылка содержимого аккумулятора в регистр D |
|
M4: |
MOV A,E |
;восстановление байта данных в аккумуляторе |
;Вычисление функции E3 |
||
ANI 11100100B |
;маскирование битов x1, x2, Q2 и Q3 в первом слагаемом E3 |
|
XRI 100B |
;вычисление первого слагаемого |
|
JZ M5 |
;переход, если первое слагаемое равно 1, в то место, где функции E3 присваивается значение 1 |
|
MOV A,E |
;восстановление исходного байта данных в аккумуляторе |
|
ANI 11110010B |
;маскирование битов x2, Q1 и Q3 во втором слагаемом E3 |
|
XRI 10010B |
;вычисление второго слагаемого |
|
JZ M5 |
;переход, если второе слагаемое равно 1, в то место, где функции E3 присваивается значение 1 |
|
MOV A,E |
;восстановление исходного байта данных в аккумуляторе |
|
ANI 11101010B |
;маскирование битов x1, Q1 и Q3 в третьем слагаемом E3. Так как все переменные в записи третьего слагаемого с инверсией, то вычислять его нет необходимости, надо только проверить результат операции (0 или не 0) |
|
JZ M5 |
;переход, если третье слагаемое равно 1, в то место, где функции E3 присваивается значение 1 |
|
|||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.