Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Постановка задачи: составить программу вычисляющую произведение двух операндов. Результат сохранить в ячейке ОП.
Исходные данные: первый операнд принять равным « 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;
· Выполнить по тактам команду Деление и объяснить назначение микрокоманд;
· Выполнить по тактам команду Запись и объяснить назначение микрокоманд.
Дата публикования: 2014-11-19; Прочитано: 349 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!