Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по практике ЭВМ и ПУ.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
12 Мб
Скачать
☆

8.2.2.5 Выполнение двухсловной команды бпу.

Выборка первого слова команды происходит так же, как выборка однословной команды (У1 – У9). После анализа старшего разряда регистра РК1 определяется длинна команды. Для двухсловных команд <15> РК1=1, поэтому процессор приступает к выборке второго слова:

У1 <СЧК> ->ШД – (в СЧК адрес второго слова команды)

У2 ПР:=ШД

У3 <ПР> ->ША

У4 РА:=ША

У5 чт

У6 БИРчт:=<j>

У7 <БИРчт> ->ШД

У8(б) РК2:=ШД

У9 СЧК:=<СЧК>+1

В результате выполнения указанных микроопераций второе слово команды записывается в РК2.

Формат команды БПУ показан на рисунке 3. В результате выполнения команды в СЧК должен быть записан адрес, указанный во втором слове команды, т. к. адресация прямая. Следовательно, фаза выполнения операции состоит из машинного цикла передачи адреса из РК2 в СЧК (рисунок 19).

У21 <РК2> ->ШД – содержимое РК2 выставить на ШД

У22 СЧК:=ШД – записать в СЧК информацию с ШД.

Рисунок 18  Алгоритм выполнения команды ПРС

Рисунок 19  Схема выполнения команды БПУ

Практическая работа № 3 «Составление программ обработки данных на языке Assembler»

1 Цель работы:

1.1 Изучить принцип построения линейных и нелинейных программ на языке Assembler на примере микропроцессорного комплекта (МПК) КР580.

1.2 Проверить и отладить программы с помощью эмулятора микропроцессора МПК КР580.

2. Литература:

2.1 Цилькер Б.Я. Организация ЭВМ и систем. Учебник для Вузов – СПб.: Питер, 2004

2.2 Пятибратов А.П. Вычислительные системы, сети и телекоммуникации: Учеб. для вузов/ А.П. Пятибратов, Л.П. Гудыно, А.А. Кириченко. – М.: Финансы и статистика, 2002

2.3 Приложение к данной лабораторной работе.

3. Используемое оборудование:

3.1 ПЭВМ.

3.2 Обучающая программа.

4. Задание:

4.1 Повторить структурную схему микропроцессора МПК КР580.

4.2 Используя приложение к работе, изучить систему команд МПК КР580.

4.3 Используя приложение к работе, изучить принцип составление линейных и не линейных программ на языке Assembler.

4.4 Составить алгоритмы и написать программы для выполнения задач из пункта 4.4.1 – 4.4.5.

4.4.1 Два 8 – и разрядных числа представлены в прямом коде и записаны в ячейках памяти 0B2F(16) и 0В30(16). Нарисовать блок – схему и написать программу для арифметического сложения этих чисел в обратном и дополнительном кодах. При этом, результат сложения в обратном коде записать в регистр В, результат в дополнительном коде записать на место первого слагаемого в прямом коде. Программу представить по примеру таблицы 1.

4.4.2 Из памяти через микропроцессор считывается 14 восьмиразрядных чисел, которые будут передаваться на принтер. В микропроцессоре организован контроль каждого числа по системе четности. Если обнаружена ошибка, делается повторная попытка считывания этого числа. Если и после этого ошибка осталась, то из регистра D выдается код сообщения об ошибки и выполнение программы прекращается. Нарисовать блок – схему алгоритма выполнения программы и написать программу по примеру таблицы 1.

4.4.3 От внешнего устройства принимается 16 восьмиразрядных чисел. Все числа складываются друг с другом. Если результат сложения двух чисел отрицательный, то он удаляется. Если результат сложения двух чисел положительный, то к нему прибавляется следующее число. Если в окончательном результате четное число единиц, то он записывается в регистр С. Если не четное, то в ячейку памяти 0238(16). Нарисовать блок – схему алгоритма выполнения программы и написать программу по примеру таблицы 1.

4.4.4 В процессе работы принтер может выдать микропроцессору следующие коды:

00000001 – к работе готов.

00000010 – печать закончена.

00000011 – нет бумаги.

00000100 – закончился тонер.

00000101 – замятие бумаги.

00000110 – не закрыта крышка.

00000111 – информация поставлена в очередь на печать.

00001000 – не установлен картридж.

Процессор в ответ на полученное сообщение выдает код сообщения для вывода на экран монитора пользователю:

10000001 – принтер подключен.

10000010 – печать успешно завершена.

10000011 – в лотке отсутствует бумага.

10000100 – заправьте картридж.

10000101 – застревание бумаги.

10000110 – закройте крышку принтера.

10000111 – информация в очереди.

10001000 – установите картридж в принтер.

Нарисовать блок – схему алгоритма выполнения программы и написать программу по примеру таблицы 1.

4.4.5 При включении компьютера, во время первичного тестирования, принтер выдает микропроцессору следующие коды:

1) 00010001 – к работе готов.

2) 00110010 – печать закончена.

3) 10000010 – нет бумаги.

4) 00011100 – закончился тонер.

5) 11100101 – замятие бумаги.

6) 10101110 – не закрыта крышка.

7) 00011111 – информация поставлена в очередь на печать.

8) 01101010 – не установлен картридж.

Процессор сохраняет их в памяти. В процессе работы микропроцессор, получив одно из таких сообщений, должен сформировать код ответного сообщения, которое выдается пользователю на монитор. Код сообщений формируется по формуле:

КО = m + 2n-1,

где: КО – код ответа;

n – номер кода сообщения от принтера;

m – код сообщения от принтера в десятичной системе счисления.

Нарисовать блок – схему алгоритма выполнения программы и написать программу по примеру таблицы 1.

4.5 Запустить эмулятор микропроцессора МПК КР580. Поочередно ввести программы, составленные в пункте 4.4.

4.6 Пошагово проверить работу программ и исправить ошибки, в случае их возникновения.

5 Порядок выполнения работы:

5.1 Используя приложение к данной работе, изучить теоретический материал в соответствии с заданиями 4.2. и 4.3.

5.2 Выполнить задания 4.4 – 4.6.

5.3 Ответить на контрольные вопросы.

6. Содержание отчета:

6.1 Название и цель лабораторной работы.

6.2 Решение задач в пункте 4.4.

6.3 Ответы на контрольные вопросы.

7. Контрольные вопросы:

7.1 Какие виды адресаций используется в МПК КР580? В чем их особенность?

7.2 Поясните формат команд в МПК КР580.

7.3 В чем отличие линейных и нелинейных программ?

7.4 Что такое циклический сдвиг числа? Какие виды сдвигов реализуются в МПК КР580? Как они реализуются?

8. Приложение

8.1 Формат команд и данных в МПК КР580.

В МПК КР580, данные хранятся в оперативной памяти в виде 8 – разрядных двоичных слов.

Команды могут быть одно, двух и трех байтовыми. Большинство команд являются однобайтовыми, и в них задается код операции.

В двухбайтовых командах, первый байт определяет код операции. Во втором может находиться либо операнд, либо адрес устройства ввода – вывода при обмене данными с периферийными устройствами.

В трехбайтовых командах первый байт – это код операции, остальные два может занимать двухбайтовый адрес команды при выполнении команд безусловной или условной передачи управления или при обращении к подпрограммам. Кроме этого, в двух последних байтах может быть адрес ячейки памяти, содержимое которой является операндом, либо там может быть двухбайтовый операнд. Во всех случаях, второй байт является младшим, третий байт является старшим.