Лекция: Задание 1. Выполнение команды сложение.
Постановка задачи: составить программу вычисляющую сумму двух операндов и сохраняющую результат в ячейке ОП.
Исходные данные: первый операнд принять равным «100», записать его вячейку ОП по адресу «50»; второй равным «299», записать по адресу «51»; сохранить сумму в ячейке ОП по адресу «90».
1. Занесём данные в ячейкиОП. Для этоговБлоке управляющих сигналов в окне Выбор регистров выберем Регистр адреса,соответствующее окно регистра окрасится в синий цвет.Наберем адрес первого операнда «50». ВБлоке управляющих сигналов в окне Выбор регистров выберем Регистр слова,соответствующее окно регистра окрасится в синий цвет. Введем с клавиатуры первый операнд «100». Нажмем кнопку Запись.После нажатия кнопки значение адреса в РАувеличилось на единицу и приняло значение «51», следовательно, адрес второго операнда задался автоматически, т.к. операнды расположены в смежных ячейках ОП. Введем второй операнд «299», нажмем кнопку Запись(действия выполняются аналогично, как и для первого операнда).
2. Составим программу согласно заданию. Она приведена на рис.1.
| Адрес Команды | Команда | Пояснения | |||
| Поля команды | |||||
| КОП | ТА | А | |||
| Загрузка первого операнда из ячейки ОП с адресом 50 в АК | |||||
| Сложение двух операндов результат будет изначально находиться в АК | |||||
| Запись результата в ОП по адресу 90 | |||||
| Останов | |||||
Рис. 1. Программа сложения двух чисел
3. Введем составленную программу в модель. Для этоговБлоке управляющих сигналовв окне Выбор регистров выберем Регистр адреса,соответствующее окно регистра окрасится в синий цвет.Наберем адрес первой команды «00». ВБлоке управляющих сигналов в окне Выбор регистров выберем Регистр слова,соответствующее окно регистра окрасится в синий цвет. Введем с клавиатуры первую команду «07 0 50». Нажмем кнопку Запись.
4. Аналогично введем другие команды. Обратите внимание, что после нажатия кнопки Записьзначение РАувеличивается на единицу.
5. Введем в СЧАКадрес первой команды программы «00», аналогично ЛР №1, рис. 5.
6. Выполним команду сложения по микрокомандам. Для этого:
6.1.В Блоке управляющих сигналов выберемрежим работы – Такт. Последовательно нажимая кнопку Старт, выполним первую команду не акцентируя внимания на этапах её выполнения (выполнение команды Загрузкапроисходитза шесть тактов).
6.2. Начало выполнения команды Сложениепредставлено на рис. 2. В Регистре команднаходится команда 07 0 50 – загрузить в АК содержимое ячейки «50». В АК находится первый операнд – «100». В ОП содержимое ячейки «50». В окне МК БУСпоявилась микрокоманда – СЧАК:=СЧАК +1, которая будет выполнена в следующем такте.
6.3. Нажмем кнопку Старт. В результате выполнения микрокоманды СЧАКувеличится на единицу, в окне МКпоявится микрокоманда:
РА:=СЧАК – Регистру адреса присвоить значение Счетчика адреса команд.
Рис. 2. Начало выполнения команды сложение
6.4. Последовательно нажимая кнопку Старт, проследим все этапы выполнения команды Сложение (рис. 3).
Внимание!Микрокоманда, появляющаяся в окне МК БУС будет выполнена в следующем в такте. Направления передачи информации показаны красными стрелками.
| № такта | Микрокоманда | Результат выполнения МК |
| 1- 5 | — | Выполнение команды «Загрузка» в АК первого операнда (100) |
| СЧАК:=СЧАК+1 | Формирование адреса следующей команды | |
| РА:=СЧАК | На РА появится адрес команды из СЧАК | |
| Чтение (РС:=ОП(РА)) | В РС заносится содержимое РА, т.е. команда 03 0 51(сложение) | |
| РК:=РС | В РК считывается команда сложение из РС ОП | |
| РА:=А | На регистр адреса заносится адрес второго операнда (51) из поля А команды, находящейся на РК | |
| Чтение (РС:=ОП(РА)) | В РС (ОП) заносится второй операнд (299) | |
| РО:=РС | Регистру операнда присваивается значение РС | |
| ПУСК АУ | Запуск арифметического устройства, т.е. в следующем такте выполнится команда сложение и в АК будет сформирован результат | |
| СЧАК:=СЧАК +1 | Окончание выполнения команды Сложение. Формирование адреса следующей команды. В следующем такте значение СЧАК будет увеличено на 1(в данной модели команды занимают одну ячейку памяти), т.е. в нем будет сформирован адрес следующей команды |
Рис. 3. Микропрограмма выполнения команды сложение
7. Выберем в Блоке управляющих сигналоврежим работы Автоматинажмем кнопку Старт, т.е. выполним все остальные команды программы.
8. В результате выполнения программы в ячейкеОПпо адресу «90»будет результат равный «399».
9. Проверьте правильность выполнения программы (аналогично ЛР№1, заданию 2, пункт 8).
Задание для самостоятельной работы.Составить программу вычитания из первого операнда второго. Результат сохранить результат в ячейке ОП. Исходные данные:
· Операнд 1 = 456, записать по адресу = 53;
· Операнд 2 = 68, записать по адресу равному 54;
· Адрес ячейки ОП= 77 (в ней будет сохранен результат);
· Выполнить по тактам команду «Загрузка»дляпервого операндаи объяснить назначение микрокоманд;
· Выполнить по тактам команду «Вычитание»и объяснить назначение микрокоманд.