Методическая разработка для проведения практического занятия № 12 по дисциплине “ Цифровые устройства и микропроцессоры “

Страницы работы

Фрагмент текста работы

основных узлов и блоков МП при выполнении  программ по его структурной схеме.

2. Методические указания по вводной части.

Принять рапорт дежурного. Проверить наличие и внешний вид курсантов, подготовку класса к занятию. Дать указания на устранение выявленных недостатков.

Объявить тему, отрабатываемые вопросы, план занятия, учебные и воспитательные цели.

3. Методика проверки подготовки курсантов к занятию.

Проверку подготовки курсантов к занятию провести путем письменной «летучки» по восьми вариантам (см. Приложение1) по разработке линейных программ, в машинных кодах МП и на языке  программирования "Ассемблер". Перед тем как раздать задания преподаватель кратко доводит требования по оформлению решений, отводимое время, дает команду дежурному раздать распечатки с системой команд МП, высвечивает слайд "Структурная схема микропроцессора".

4. Методические рекомендации по отработке учебных вопросов.

Прежде чем приступить к рассмотрению вопросов занятия, необходимо напомнить обучаемым назначение регистра флагов МП, его разрядов, организацию условных и безусловных переходов при выполнении МП соответствующих команд.

Практическое занятие №11фактически является продолжением практического занятия №10, поэтому методические рекомендации по отработке учебных вопросов аналогичны.

Учебная группа приступает к разработке программ в машинных кодах и на языке программирования «Ассемблер», используя распечатку системы команд МП.

Для каждой задачи, условия которой даются преподавателем под запись, составляется блок-схема алгоритма её выполнения, а затем вершинам алгоритма ставятся в соответствие команды из имеющегося набора. Данная работа проводится курсантами у доски, а также самостоятельно на местах. Преподаватель выдает задание по разработке нескольких программ, для того чтобы успевающие могли отработать максимально возможное количество задач, а также, в ходе занятия, выявляет отстающих и помогает им  разобраться в вопросах вызывающих затруднения.

1.ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ УЧАСТКОВ ПРОГРАММ

Задача № 1.

Составить программу для решения выражения:

при  y = h'09, z = h'03. Результат записать в ОЗУ по адресу h'0030.

Решение:

Мнемоники

ЯП "Ассемблер"

яч.ОЗУ

Машинный

код

Комментарии

mvia, h'09

0

1

 3е

 09

РгА:=h’09

mvi b, h'03

2

3

 06

 03

РгВ:=h’03

sub b

4

90

РгА:= (РгА) – (РгВ)

jm m1

5

6

7

fa

0b

00

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

mvi a, h'09

8

9

3e

09

РгА:=h’09

(восстановление аккумулятора)

addb

a

80

РгА:= (РгА) + (РгВ)

m1: sta h'0030

b

c

d

32

30

00

ОЗУ[h’0030]:= (РгА)результат

hlt

e

76

ОСТАНОВ

Вопрос: Как изменится программа, если  вместо команды SUBB для сравнения Z и У использовать команду CMPB?

Ответ: Программа станет короче на одну команду mvia, h'09, так как не будет необходимости восстанавливать аккумулятор.

Мнемоники

ЯП "Ассемблер"

яч.ОЗУ

Машинный

код

Комментарии

mvia, h'09

0

1

 3е

 09

РгА:=h’09

mvi b, h'03

2

3

 06

 03

РгВ:=h’03

cmp b

4

b8

(РгА)–(РгВ);

(РгА)- не изменяется

jm m1

5

6

7

fa

0b

00

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

addb

9

80

РгА:= (РгА) + (РгВ)

m1: sta h'0030

a

b

c

32

30

00

ОЗУ[h’0030]:= (РгА)результат

hlt

d

76

ОСТАНОВ

Задача № 2.

В машинных кодах МП КР580 и на языке программирования «Ассемблер» составить программу (подпрограмму), уменьшающую содержимое регистра А  на единицу. Если полученный результат  окажется равным 0, сдвигающую содержимое регистра А  на 1 разряд влево и завершающую программу без сохранения результата, иначе записывает результат по адресу h’2002.

Решение:

Мнемоники

ЯП "Ассемблер"

яч.ОЗУ

Машинный

код

Комментарии

dcra

0

90

РгА:= (РгА) – 1

jzm1

1

2

3

ca

08

00

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

sta h’2002

4

5

6

32

02

20

ОЗУ[h’2002]:= (РгА)результат

hlt

7

76

ОСТАНОВ

m1: rlc

8

07

РгА:=Сдв (РгА)на 1разряд влево.

hlt

9

76

ОСТАНОВ

2. Программирование циклических программ

Задача № 3.

Составить программу циклического уменьшения числа Х = h'14 с шагом  = h'02         N=5 раз. Результат записать в ОЗУ по адресу h'0030.

Решение:

Мнемоники ЯП

 "Ассемблер"

яч.ОЗУ

Машинный

код

Комментарии

mvia, h'14

0

1

 3e

 14

РгА:= h’14

mvi b, h'02

2

3

 06

 02

РгВ:=h’02

mvi c, h'05

4

5

0e

05

РгС:= h’05

m1: sub b

6

90

РгА:= (РгА) – (РгВ)

dcr c

7

0d

РгС:= (РгС) -1

jnz m1

8

9

a

c2

06

00

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

sta h'0030

b

c

d

32

30

00

ОЗУ[h’0030]:= (РгА)результат

hlt

e

76

ОСТАНОВ

Задача № 4.

В машинных кодах микропроцессора МП КР580 и на языке программирования «Ассемблер» составить программу  циклического сдвига содержимого регистра А=h’80 вправо  до тех пор, пока результат не станет меньше h’10. Результат записать в ОЗУ по адресу h’5489.

Решение:

Мнемоники ЯП

 "Ассемблер"

яч.ОЗУ

Машинный

код

Комментарии

mvi a, h'80

0

1

 3e

80

РгА:= h’80

mvi b, h'10

2

3

 06

10

РгB:=h’10

m1: rrc

4

0f

РгА:=Сдв (РгА)на 1разряд вправо

cmp b

5

b8

(РгА)–(РгВ);

(РгА)- не изменяется

jp m1

6

7

8

f2

04

00

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

sta h'5489

9

a

b

32

89

54

ОЗУ[h’5489]:= (РгА)результат

hlt

c

76

ОСТАНОВ

Вопрос: Как изменить программу, чтобы подсчитать количество

Похожие материалы

Информация о работе