Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
142
Добавлен:
23.02.2015
Размер:
452.1 Кб
Скачать

3. Лабораторная работа № 2

ЗАПИСЬ И ВЫПОЛНЕНИЕ ПРОСТЫХ ПРОГРАММ

Цель работы: запись и чтение программ; исследование выполнения отдельных команд и простых программ; применение различных методов адресации операндов.

3. 1. Машинные циклы выполнения команд

Микропроцессор КР580ВМ80А имеет фиксированный набор команд. Время выполнения команды определяется процессом получения, декодирования и выполнения команды. В зависимости от вида команды время её выполнения может составлять 1 – 5 машинных циклов. Машинный цикл состоит из 3 – 5 машинных тактов. Для КР580ВМ80А имеется 10 различных типов машинных циклов: извлечение кода команды (цикл М1), чтение данных из памяти, запись данных в память, запись в стек и чтение данных из стека, чтение и запись данных во внешние устройства, цикл обслуживания прерываний, останов, обслуживание прерываний в режиме останова. Первым машинным циклом при извлечении любой команды является цикл М1. В каждом машинном цикле МП проверяет состояние сигнала «Готов» на своем входе. При нулевом сигнале на этом входе работа МП приостанавливается. В УОУ это используется для выполнения программы в пошаговом режиме. Одно нажатие клавиши STEP приводит к выполнению одной команды программы.

3. 2. Программа с прямой адресацией операнда

Рассмотрим программу 1, извлекающую число из памяти по адресу 8500, инвертирующую его и записывающую результат в ячейку памяти по адресу 8501.

ПРОГРАММА 1 (в мнемокодах)

Мнемокод

Комментарий

LDA 8500

Получить число по адресу 8500

CMA

Инвертировать число

STA 8501

Записать результат по адресу 8501

RST4

Конец и вызов системной программы «Монитор»

При составлении программ и их записи в ОЗУ коды команд и числа представляются в шестнадцатеричной системе счисления.

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

ПРОГРАММА 1 (размещение по адресам ячеек памяти)

Адрес

Код

Комментарий

8400

3A

Код команды LDA

8401

00

Младший байт адреса

8402

85

Старший байт адреса

8403

2F

Код команды CMA

8404

32

Код команды STA

8405

01

Младший байт адреса

8406

85

Старший байт адреса

8407

E7

Код команды RST 4

Предварительную запись программ удобно проводить в более компактной форме. В программе указывается начальный адрес каждой команды и при этом понимается, что в зависимости от длины (одно-, двух- или трехбайтной) команды она будет занимать в памяти от одной до трех последовательных ячеек памяти. При такой записи в левом столбце указываются лишь адреса команд в программе. Это позволяет сократить объем при написании программ и сделать более простым их анализ.

ПРОГРАММА 1 (общий вид записи)

Адрес

Код команды

Мнемокод

Комментарий

8400

3A 00 85

LDA 8500

Получить число

8403

2F

CMA

Инвертировать число

8404

32 01 85

STA 8501

Записать число по адресу 8501

8407

E7

RST4

Вызвать программу «Монитор»

При выполнении программ в пошаговом режиме вместо команды RST4 удобнее использовать команду HLT.

В программе 1 применен прямой способ адресации.

Соседние файлы в папке Лаб1-3