Особенности функционирования микропроцессоров: Методическая разработка для проведения практического занятия, страница 3

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.  Переведем данное число в шестнадцатеричную систему счисления – ha1.

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) = hae

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

а1

РгА:=h’00.

Запись начальной входной комбинации.

lxi d,h'0100

02

03

04

11

00

01

РгD:=h’0100

m3: mov b,a

05

47

РгВ:= РгА

anihae

06

07

е6

ае

РгА:= РгА & hae

xrih’0e

08

09

ее

РгА:= РгА "h’0e

xrihae

0A

0B

ее

ае

РгА:= РгА "hae

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

а1

РгА:=h’00. Запись начальной входной комбинации.

jmp m2

1b

1c

1d

fa

32

00

если результат = 0, перейти к метке m2, иначе к следующей команде.

m1: mvi a,h’01

1e

1f

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

подполковник                   С. Зайцев