Цифровые устройства и микропроцессорные системы. Задачи и упражнения: Учебное пособие (Представление чисел и арифметические операции в цифровых устройствах. Микропроцессорные устройства и системы на базе МП КР580ВМ80), страница 68

Микропрограмма представлена в табл. P6.11.

Микрокоманды МК0 и MK1 обеспечивают начальную установку счетчика в 0; МК2 и МК3 – выдачу текущего состояния счетчика в регистр Q. МК4 обеспечивает инкрементирование РОН0, МК5 – условный переход к МК4 при (РОН0) ¹0, МК6 – инкрементирование POH1 и безусловный переход МК2, т. е. повторение цикла счета.

Таблица Р6.11

МК

Адрес МК

BR

P

MS2

КПР

MS1

КИС

C0

КОП

A

B

D

Примечание

МК0

0000

0010

011

111

0

000

0001

0000

(РОН1)¬0

МК1

0001

0010

011

111

0

000

0000

0000

(РОН0)¬0

МК2

0010

0010

000

011

0

000

0001

(Q)¬(РОН1)

МК3

0011

0010

000

011

0

000

0000

(Q)¬(РОН0)

МК4

0100

010

001

011

1

000

0000

(РОН0)¬(РОН0)+1

МК5

0101

0010

0000

001

к МК2 при (РОН0) ¹ 0

МК6

0110

0010

0001

001

011

1

000

0001

(РОН1) ¹ (РОН1)+1; к МК2

P6.112. а) Числа z1 последовательности связаны рекуррентным соотношением z1 = zi-1 + 3 (mod 16). Микропрограмма представлена в табл. Р6.12.

Таблица Р6 12

МК

Адрес МК

BR

P

MS2

КПР

MS1

КИС

C0

КОП

A

B

D

Примечание

МК0

0000

0010

011

111

0

000

0000

0000

(РОН0)¬0

МК1

0001

0001

0001

011

110

0

000

0000

0011

(РОН0)¬(РОН0)+3 переход к МК1

Суммирование по модулю 16 при КОП = 000 обеспечивается за счет того, что РОН0 содержит 4 разряда, а перенос при переполнении не учитывается.

P6.113. Замена кода Р = 0100 на код Р = 0000, вообще говоря, недопустима. Хотя оба кода обеспечивают переход на адрес из поля BR при выполнении одинакового условия F ¹ 0, но код Р = 0100 обеспечивает также запоминание в стеке адреса возврата из подмикропрограммы, тогда как при Р = 0000 возврат будет обеспечиваться только в том случае, если в последней команде подмикропрограммы указан адрес возврата.

P6.114. Микропрограмма представлена в табл. Р6.13. Переход в МК2 к подмикропрограмме обеспечивается кодом Р = 0100 и указанием адреса перехода BR=1100. Возврат к MK14 из подмикропрограммы обеспечивается кодом Р = 0110; адрес возврата МК3 здесь указывать не нужно, так как при переходе в МК2 к подмикропрограмме он автоматически запомнился в стеке.

Таблица Р6.13

МК

Адрес МК

BR

P

Примечание

МК0

0000

0010

К МК1

МК1

0001

0010

К МК2

МК2

0010

1100

0100

К МК12 при F¹0

МК3

0011

0010

К МК4

МК4

0100

0000

0001

К МК0

МК12

1100

0010

К МК13

МК13

1101

0010

К МК14

МК14

1110

0110

Возврат к МК3

Р6.115. См. решение задачи 6.114.