2. Инвертирование. Данная операция подразумевает инвертирование тех аргументов Хi, которые входят в данный член yi(x) без знаков инверсии.
Данная операция осуществляется путем «суммирования по модулю два» полученного ранее набора аргументов с константами σ1 и σ2, которые содержат «1» на позициях, соответствующих инвертируемым разрядам в Y1(x) и Y2(x).
Для нашего примера получаем следующие маски:
σ1=00001110;
σ2=01000001.
Y1(x) |
Y2(x) |
||||||||||||||||
Х1 |
Х2 |
Х3 |
Х4 |
Х5 |
Х6 |
Х7 |
Х8 |
Х1 |
Х2 |
Х3 |
Х4 |
Х5 |
Х6 |
Х7 |
Х8 |
||
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
3. Анализ результата. Данная операция подразумевает выполнение следующих действий.
1. Если результат выполнения двух вышеназванных операций равен 00000000, то данный член Yi(x) равен «1», то есть Yi(x)=1.
2. Если результат выполнения двух вышеназванных операций равен 11111111, то данный член Yi(x) равен «0», то есть Yi(x)=0, переходим к испытанию следующего члена в выражении Y(x), либо принимаем решение, что Y(x)=0, если испытанный член Yi(x) был последним.
Блок схема алгоритма представлена на рис.1.
Рис.1. |
Программа на языке ассемблер.
Решение:
1. Пусть для нашего случая входная комбинация следующая.
Х1 |
Х2 |
Х3 |
Х4 |
Х5 |
Х6 |
Х7 |
Х8 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
a |
1 |
2. Переведем данное число в шестнадцатеричную систему счисления – h’a1.
3. Переведем в шестнадцатеричную систему счисления значения сигналов маскирования.
Y1(x) |
Y2(x) |
||||||||||||||||
Х1 |
Х2 |
Х3 |
Х4 |
Х5 |
Х6 |
Х7 |
Х8 |
Х1 |
Х2 |
Х3 |
Х4 |
Х5 |
Х6 |
Х7 |
Х8 |
||
B’ |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
H’ |
a |
e |
7 |
1 |
Получаем:
Y1(x) = h’ae
Y2(x) = h’71.
4. Переведем в шестнадцатеричную систему счисления значения сигналов инвертирования.
Y1(x) |
Y2(x) |
||||||||||||||||
Х1 |
Х2 |
Х3 |
Х4 |
Х5 |
Х6 |
Х7 |
Х8 |
Х1 |
Х2 |
Х3 |
Х4 |
Х5 |
Х6 |
Х7 |
Х8 |
||
B’ |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
|
H’ |
0 |
e |
4 |
1 |
Получаем:
Y1(x) = h’0e
Y2(x) = h’41.
Мнемоники ЯП "Ассемблер" |
№ яч.ОЗУ |
Машинный код |
Комментарии |
mvi a,h'00 |
00 01 |
3е а1 |
РгА:=h’00. Запись начальной входной комбинации. |
lxi d,h'0100 |
02 03 04 |
11 00 01 |
РгD:=h’0100 |
m3: mov b,a |
05 |
47 |
РгВ:= РгА |
anih’ae |
06 07 |
е6 ае |
РгА:= РгА & h’ae |
xrih’0e |
08 09 |
ее 0е |
РгА:= РгА "h’0e |
xrih’ae |
0A 0B |
ее ае |
РгА:= РгА "h’ae |
jzm1 |
0C 0D 0E |
са 27 00 |
если результат = 0, перейти к метке m1, иначе к следующей команде. |
mova,b |
0f |
78 |
РгА:= РгВ (восстановление аккумулятора) |
anih’71 |
10 11 |
е6 71 |
РгА:= РгА & h’71 |
xrih’41 |
12 13 |
ее 41 |
РгА:= РгА "h’41 |
xrih’71 |
14 15 |
ее 71 |
РгА:= РгА "h’71 |
jzm1 |
16 17 18 |
са 27 00 |
если результат = 0, перейти к метке m1, иначе к следующей команде. |
mvi a,h'00 |
19 1a |
3е а1 |
РгА:=h’00. Запись начальной входной комбинации. |
jmp m2 |
1b 1c 1d |
fa 32 00 |
если результат = 0, перейти к метке m2, иначе к следующей команде. |
m1: mvi a,h’01 |
1e 1f |
3е 01 |
РгА:=h’01 |
m2: staх d |
20 21 22 |
32 20 02 |
ОЗУ[ячейка, адрес которой в регистрах de]:= (РгА)результат |
inx d |
23 |
РгDE:=РгDE+1 |
|
mova,b |
24 |
78 |
РгА:= РгВ (восстановление аккумулятора) |
inr a |
25 |
РгA:=РгA+1 |
|
sui h'ff |
26 27 |
d6 00 |
РгA:=РгA-0 |
jnz m3 |
28 29 30 |
c2 05 00 |
если результат ¹ 0, перейти к меткеm3 ,иначе к следующей команде. |
hlt |
31 |
76 |
ОСТАНОВ |
5. Методические указания по заключительной части.
По результатам работы курсантов на занятии выставить оценки и объявить их с комментариями. Ответить на вопросы курсантов. Повторить цели занятия и степень их достижения.
Дать задание на самоподготовку:
1. Составить программу для решения выражения:
для произвольных значений Yи Z.
Результат записать в ОЗУ по адресу h'2002.
2. Подготовиться к "летучке" по вопросам программирования в системе команд МП.
Старший преподаватель кафедры № 8
подполковник С. Зайцев
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.