- •Отчёт о лабораторной работе №2
- •С микропрограммным управлением серии к1804
- •1. Цель работы
- •2. Структурная схема цпэ к1804вс1
- •3. Структурная схема секции управления адресом микрокоманды к1804ву1
- •4. Система команд мп1804
- •5. Функциональная схема микротренажера мт2 1804
- •6. Программа работы на стенде мт2 1804
- •5. Микропрограмма организации цикла с помощью стека
- •7. Микропрограмма, организации вложения подпрограмм.
- •8. Микропрограмма, организации условных переходов.
- •7. Выполнение индивидуального задания
- •8. Выводы:
5. Микропрограмма организации цикла с помощью стека
Данная микропрограмма иллюстрирует один из методов организации цикла с использованием аппаратного стека на четыре 4-разрядных слова (он же используется при реализации подпрограмм), в который можно записывать адреса микрокоманд, а затем осуществлять условный или безусловный переход по записанному адресу.
Таблица 1.9
Адрес памяти |
Микрокоманда |
Выполняемая функция | ||||||||
адрес перехода |
инструкция перехода |
приёмник результата |
источник операндов |
АЛУ |
А |
В |
D | |||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | |||
0000 |
хххх |
0010 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
Продолжить | |
0001 |
хххх |
1001 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
Загрузить стек и продолжить | |
0010 |
хххх |
0010 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
Продолжить | |
0011 |
1010 |
0001 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
БП по адресу 10 | |
1010 |
хххх |
0111 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
Переход по стеку |
Результат работы: В процессе работы программы осуществляется бесконечный цикл переходов по адресам 0000 -> 0001 -> 0010 -> 0011 -> 1010 -> 0010 -> 0011 -> …
6-Микропрограмма, демонстрирующая обращение к подпрограмме и возврат из нее.
Микропрограмма, являющаяся реализацией диаграммы переходов на рисунке ниже.
Программа Подпрограмма
Таблица 1.9
Адрес памяти |
Микрокоманда |
Выполняемая функция | ||||||||
адрес перехода |
инструкция перехода |
приёмник результата |
источник операндов |
АЛУ |
А |
В |
D | |||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | |||
0000 |
хххх |
0010 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
Продолжить | |
0001 |
1000 |
0101 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
Переход к подпрограмме | |
0010 |
хххх |
0010 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
Продолжить | |
0011 |
0000 |
0001 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
БП к адресу 0000 | |
1000 |
хххх |
0010 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
Продолжить | |
1001 |
хххх |
0010 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
Продолжить | |
1010 |
хххх |
0110 |
хххх |
хххх |
хххх |
хххх |
хххх |
хххх |
Возврат из подпрограммы |
Результат работы: происходит обращение к подпрограмме и возврат из нее в соответствии с рисунком.