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

М1:                 РОР     РSW                ;Восстановление содержимого аккумулятора и регистра

;признаков

ЕІ                                ;Разрешение прерываний

RЕТ                             ;Возврат в основную программу

Р8.30. В подпрограмме необходимо предусмотреть сохранение в стеке и последующее восстановление содержимого аккумулятора и регистра признаков. Сохранять содержимое регистровой пары НL, а также других РОНов нет необходимости, так как в подпрограмме оно не меняется.

Р8.31. Обращение к подпрограмме СOSN в процессе выполнения подпрограммы обработки прерываний реализуется с помощью команды САLL СОSN. В остальном решение аналогично решению задачи 8.30.

Р8.32. При проектировании МПС, предназначенной для проверки работоспособности модулей ОЗУ, за основу можно взять схему на рис. 8.2, к которой необходимо подключить ПЗУ, ОЗУ и индикаторы. Можно использовать БИС ПЗУ типа КР556РТ5 с емкостью памяти 512x8 и 8 БИС ОЗУ типа КР565РУ2А с общей емкосгью памяти 1024x8. (Для решения поставленной задачи столь большая память не требуется; предполагается, что МПС выполняет и другие функции.)

Для подключения индикаторов (светодиодов, динамика) следует использовать регистр К589ИР12.

Алгоритм представлен на рис. Р.8.7.

Проверка работоспособности модуля производится последовательно ячейка за ячейкой1 путем записи и считывания тестового сигнала и сравнения считанной информации с тестовым сигналом. При совпадении этой информации для всех ячеек осуществляется переход к новому тестовому сигналу; после проверки на всех тестовых сигналах выдается звуковой сигнал низкого тона, свлидетельствующий об исправности модуля. При несовпадении информации для какой-либо ячейки на каком-либо тестовом сигнале индицируются адрес дефектной ячейки и номер дефектной БИС и выдается звуковой сигнал высокого тона, свидетельствующий о неисправности модуля.

Рис. Р8.7. Алгоритм проверки работоспособности модулей ОЗУ

При составлении программы необходимо руководствоваться следующими соображениями:

для адресации ячеек проверяемого модуля необходимо выбрать область памяти емкостью 1 Кбайт, не используемую в самой МГ7С (капример. от F000 до F3FF ), для перехода от одного тестозого сигнала к другому можно использовать тот факт, что рекомендсванные в задании тестовые сигналы отличаются один от другого на постоянную,  величину 01010101;

совпадение считанной из ячейки информации с записанной: целесообразно проверять с помощью команды суммирования по mod2; при этом несовпадающий бит будет указывать на номер дефектной БИС.

Р8.33. Пусть  , где R(j) – j-й минтерм или имиликант фунхции F:

причем

Для запоминания в МПС функции F закодируем каждый из минтермов R(j)двумя n-разрядными кодами М(j) = m1 m2 ...mn   и  С(j} = с1с2...спобразуемыми по правилу, которое представлено в табл. Р8.2.

Таблица Р8.2

ri

mi

ci

xi

1

1

1

0

1

0

0

Таблица Р8.3

bi

mi

ci

ti

0

0

0

0

0

0

1

Ф

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

Ф

1

1

0

1

1

1

1

0

Например, mi=1 означает, что в R(j) входит .xi ; или а сi = 1— что xi входит в неинвертированном виде.

Пусть необходимо вычислить функцию F на наборе значений аргументов х1=bі, х2 = b2 , ..., хn= bn который задан кодом  В = b1 b2...bп, введенным в МПС.

Составим тест T(j) =t1 t2 ...tn  но правилу, предсгавленному в табл. Р8.3.

Сопоставляя табл. Р8.2 и табл. Р8.3, легко заключить, что данный импликант или минтерм на заданном наборе значений аргументов будет равен 1 в том, и только в том случае, если все ti (i=1, ..., п) равны 0. Полагая в табл. Р8.3 Ф = 1, получаем