Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lr7.doc
Скачиваний:
0
Добавлен:
10.11.2019
Размер:
324.1 Кб
Скачать

Лабораторна робота №7 мікропрограмування обчислювальних процесів зі зверненням до підпрограм

Мета роботи: Вивчення роботи схем стенда при реалізації звертання до підпрограм і виходу з підпрограм, придбання практичних навичок мікропрограмування й дослідження обчислень зі зверненням до підпрограм і до вкладених підпрограм.

Методичні вказівки до виконання лабораторної роботи

Типова мікропрограма обчислювального процесу зі зверненням до підпрограми наведена у табл. 7.1. Розглянемо роботу програми.

У програмі мікрокоманда 3 здійснює перехід до підпрограми, початкова адреса якої дорівнює 12. При цьому покажчик стека інкрементується (SР=SР+1) і у вершину стека (за адресою в покажчику стека SР) завантажується адреса повернення в основну програму, тобто в мікрокоманду 4 (0100). Підпрограма займає адреси 12,13 й 14. Мікрокоманда 14 (Р3-Р0 = 0110) передає керування по вмісту осередку у вершині стека, тобто по вмісту осередку стека, що адресується покажчиком стека SР. Тому що в мікрокоманді 3 у вершину стека була записана адреса 4, керування з мікрокоманди 14 буде передано в мікрокоманду 4. При цьому покажчик стека SР декрементується, і стара адреса переходу 4 виштовхується з вершини стека. Мікрокоманда 4 передає керування мікрокоманді 5, що, у свою чергу, передає керування мікрокоманді 6 – команді безумовного переходу за адресою (R3-R0) = 0000. Тому після мікрокоманди 6 буде виконуватися мікрокоманда 0, що приведе до повторення циклу. Якщо при виконанні програми перемикачами (SА3-SА1) вихідна шина Y ВУ1 буде підключена до світлодіодів (VD12-VD9), то на цих індикаторах у процесі роботи програми будуть висвітлюватися адресні коди: 1,2,3,12,13,14,4,5,6,0,1,2,3,12 і т.д.

Приклад типової мікропрограми із вкладеними підпрограмами й використанням стека наведен в табл. 7.2.

Головна частина цієї програми (основна частина програми) знаходиться в осередках МПП 13,14 й 15.

При виконанні програми у якості стартової мікрокоманди варто використати мікрокоманду 13 (першу мікрокоманду основної частини програми). У наступному такті роботи стенда на шині Y ВУ1 буде генеруватися адреса 14. Мікрокоманда 14 сформує на адресній шині Y ВУ1 код 0 і керування буде передано в мікрокоманду 0 (у підпрограму 0), а в стек буде записана адреса повернення 15. У наступному такті мікрокоманда 0 передає керування в мікрокоманду 12 (підпрограму 12) і записує у вершину стека адресу повернення 1. Мікрокоманда 12 здійснює повернення в мікрокоманду 1 підпрограми 0 і встановлює у вершині стека адресу 15. Мікрокоманда 1 (підпрограми 0) передає керування в мікрокоманду 6 (у підпрограму 6) і записує у вершину стека адресу повернення (адресу мікрокоманди 2), тобто в підпрограму 0. Мікрокоманда 6 передає керування в підпрограму 12, що складається з однієї мікрокоманди повернення, що встановлює у вершині стека число 7. Тому підпрограма 12 передає керування в мікрокоманду 7 підпрограми 6, установивши у вершині стека число 8 і т.д.

В цілому при стартовій адресі мікропрограми 13 на адресній шині ВУ1 послідовно в кожному такті будуть генеруватися числа (адреси): 13,14,0,12,1,6,12,7,3,12,4,9,10,5,8,2,15,13 і т.д.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]