Лекция: Задание 2. Выполнение команды умножение.

Постановка задачи: составить программу вычисляющую произведение двух операндов. Результат сохранить в ячейке ОП.

Исходные данные: первый операнд принять равным «66», записать его вячейку ОП по адресу «61»; второй равным «29», записать по адресу «62»; сохранить произведение в ячейке ОП по адресу «91». Программу начать с адреса «10».

1. Занесём данные в ячейкиОП, аналогично заданию 1, пункт 1. Таким образом, получим:

· В ячейке 61 – первый операнд равный 66;

· В ячейке 62 – второй операнд равный 29.

2. Составим программу согласно заданию. Она приведена на рис. 4.

Адрес Команды Команда Пояснения
Поля команды
КОП ТА А
  Загрузка первого операнда из ячейки ОП с адресом 61 в АК
Выполнение команды умножение. Результат будет изначально находиться в АК
Запись результата в ОП по адресу 91
Останов
             

 

Рис. 4. Программа умножения двух чисел

 

3. Введем в СЧАКадрес первой команды программы.Для этого вБлоке управляющих сигналов в окне Выбор регистров выберем Счетчик адреса команды, соответствующее окно регистра окрасится в синий цвет.Наберем адрес первой команды «10».

4. Введем составленную программу в модель, аналогично заданию 1, пункт 2.

5. В Блоке управляющих сигналов выберемрежим работы – Такт. Последовательно нажимая кнопку Старт, выполним первую команду не акцентируя внимания на этапах её выполнения (выполнение команды Загрузкапроисходитза шесть тактов).

6. Начало выполнения команды Умножениепредставлено на рис.5. В Регистре команднаходится команда «07 0 61» – загрузить в АК содержимое ячейки «61». В АК находится первый операнд – «66», в ОП — содержимое ячейки «61». В окне МК БУСпоявится микрокоманда – СЧАК:=СЧАК +1, которая будет выполнена в следующем такте.

 

Рис. 5. Начало выполнения команды умножение

 

7. Нажмем кнопку Старт. В результате выполнения микрокоманды СЧАКувеличится на единицу, в окне МКпоявится микрокоманда:

РА:=СЧАКРегистру адреса присвоить значение Счетчика адреса команд.

8. Последовательно нажимая кнопку Старт, проследим все этапы выполнения команды Умножение (рис. 6).

№ такта Микрокоманда Результат выполнения МК
1- 5 Выполнение команды «Загрузка» в АК первого операнда (66)
СЧАК:=СЧАК+1 Формирование адреса следующей команды
РА:=СЧАК На РА появится адрес команды из СЧАК
Чтение (РС:=ОП(РА)) В РС заносится содержимое РА, т.е. команда 05 0 62(умножение)
РК:=РС В РК считывается команда умножение из РС ОП
РА:=А На регистр адреса заносится адрес второго операнда (62) из поля А команды, находящейся на РК
Чтение (РС:=ОП(РА)) В РС (ОП) заносится второй операнд (29)
РО:=РС Регистру операнда присваивается значение РС
ПУСК АУ Запуск арифметического устройства, т.е. в следующем такте выполнится команда сложение и в АК будет сформирован результат
СЧАК:=СЧАК +1 Окончание выполнения команды Сложение. Формирование адреса следующей команды. В следующем такте значение СЧАК будет увеличено на 1(в данной модели команды занимают одну ячейку памяти) для формирования адреса следующей команды

 

Рис. 6. Микропрограмма выполнения команды умножение

 

9. Выберем в Блоке управляющих сигналоврежим работы Автоматинажмем кнопку Старт.В результате выполнения программы в ячейке ОПпо адресу «91» будет записан результат равный «01914».

10. Проверьте правильность выполнения программы (аналогично ЛР№1, заданию 2, пункт 8).

 

Задание для самостоятельной работы.Составить программу деления первого операнда на второй. Результат сохранить в ячейке ОП. Исходные данные:

· Операнд 1 — 400, записать по адресу = 63;

· Операнд 2 — 20, записать по адресу равному 64;

· Адрес ячейки ОП — 47 (в ней будет сохранен результат);

· Программу начать с адреса — 23;

· Выполнить по тактам команду Делениеи объяснить назначение микрокоманд;

· Выполнить по тактам команду Записьи объяснить назначение микрокоманд.

 

еще рефераты
Еще работы по информатике