Файл: В.В. Демьянов Изучение системы команд микропроцессора серии К580 на учебно-отладочной микроЭВМ.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 15.06.2024

Просмотров: 69

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

10

индикацию счетчика команд пользователя и адресуемой им ячейки ОЗУ, содержания любого регистра, включая аккумулятор и регистр признаков, содержания регистровых пар, включая указатель стека; индикацию стека; ввод программы и данных в ОЗУ с клавиатуры; ввод команд с клавиатуры; запись информации в регистры общего назначения; ввод контрольных точек и контрольный прогон программы; запуск программы на исполнение; индикацию ошибок; сброс микроЭВМ в исходное состояние; вывод программы и данных в ячейках ОЗУ на магнитофон и считывание программ с магнитофона в ОЗУ; отдельный вывод на индикацию признаков нуля и переноса из регистра признаков аккумулятора.

После пуска или общего сброса счетчик команд пользователя устанавливается по адресу 8200, а вершина стека устанавливается равной

83Е0.

Стек расширяется в сторону уменьшения адресов ОЗУ. Регистры МП обнуляются. По командам RUN или STEP выполняется программа пользователя.

Режим работы микроЭВМ задается нажатием соответствующей клавиши на клавиатуре пульта. Назначение клавиш учебноотладочного устройства (УОУ) приведено в табл. 3.

Клавиши данных используются также для задания имен регистров

ирегистровых пар МП КР580ВМ80:

-клавиши A, B, C, D, E, 8/H, 9/L, F – для обозначения регистра – аккумулятора А, регистра общего назначения (РОН) B-L, регистра признаков F;

-клавиша 2/S для обозначения указателя стека (SP);

-клавиша 1/P для обозначения содержимого вершины стека (SP). Старшие разряды вершины стека хранятся по адресу SP+1, млад-

шие разряды – по адресу SP.

Включение тумблера в положение “Отладка” необходимо для организации прерывания в пошаговом режиме выполнения программы и анализа останова в контрольных точках.

10

 

 

11

 

 

Таблица 3

Название

Обозначение

Назначение клавиши

клавиши

клавиши

 

Сброс

RST

Служит для формирования сигнала сбро-

 

 

са УОУ

 

 

Служит для перевода УОУ в режим за-

Адрес

ADDR

дания адреса ячейки памяти

 

 

Служит для перевода УОУ в режим за-

Память

MEM

писи данных в ячейку памяти

 

 

Служит для увеличения на единицу ад-

Следующий

NEXT

реса индицируемой ячейки памяти или

 

 

регистра МП

 

 

Служит для восстановления начального

Восстанов-

CLR

значения адреса или данных, если после

их ввода не нажимались другие команд-

ление

 

ные клавиши

 

 

Служит для отображения содержимого

Регистр

REG

восьмиразрядного регистра МП

Шаг

STEP

Служит для выполнения очередной ко-

 

 

манды МП

 

 

Служит для запуска программы на вы-

Прогон

RUN

полнение с остановом на введенной кон-

трольной точке либо команде останова

 

 

МП

Контроль-

 

Служит для задания адреса контрольной

ная точка

BRK

точки в программе

2. ЗАДАНИЕ ДЛЯ ДОМАШНЕЙ ПОДГОТОВКИ

1. Ознакомьтесь со структурой микроЭВМ.

2.Ознакомьтесь со структурой МП К580ВМ80.

3.Ознакомьтесь с общими принципами чтения и записи данных в микроЭВМ.

11


12

3. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ

3.1. Исследовать порядок включения микроЭВМ

Подключить шнур питания к сети. Включить тумблер СЕТЬ. На дисплей выводится адрес 8200. МикроЭВМ находится в режиме ОЖИДАНИЕ и реагирует на нажатие клавиш управления. Вызов возможных режимов работы определяется алгоритмом выполнения команд монитора. Из любого места программы можно вернуть микроЭВМ к этому состоянию нажатием на клавишу RST. Ячейки памяти и регистры будут обнулены, указатель вершины стека установлен по адресу 83E0. Нажать на клавишу RST и убедиться, что содержимое счетчика команд равно 8200.

3.2. Исследовать содержимое ОЗУ

Нажать на клавишу ADDR. Последовательно нажать на клавиши 8,3,Е,6. Убедиться при этом, что каждая цифра будет записана в младший разряд дисплея и произойдет одновременный сдвиг всех знаков адресного дисплея на один разряд влево. При введении четвертой цифры микроЭВМ выведет на дисплей число, соответствующее этому адресу: 00. В случае ошибки при введении кода нажать клавишу CLR и вновь набрать адрес. При нажатии на NEXT микроЭВМ увеличит значение адреса на единицу и выведет содержание ячейки на дисплей: 82. Убедиться, что дальнейшим нажатием на клавишу NEXT можно просмотреть содержимое ОЗУ дальше.

3.3. Записать числа в память микроЭВМ

Нажать на клавиши RST , MEM . На дисплее высветятся адрес 8200 и десятичная точка, сигнализирующая о возможности записи в ОЗУ. Нажать клавиши 1, 2, 3, 4 и убедиться, что окончательное число, записанное по адресу 8200, есть 34. Нажать клавишу NEXT и записать произвольное число по адресу 8201; перейти к следующему адресу и убедиться, что вернуться к предыдущему адресу можно нажав клавишу MEM. Запись вне поля адресов ОЗУ невозможна, при этом индицируется на дисплее сообщение об ошибке (Err).

12

13

3.4. Записать числа в программно-доступные регистры МП

Нажать клавиши RST, REG, A. На дисплее будет выведено имя регистра А и его содержимое. Нажав клавиши В, 6, ввести в аккумулятор число В6. Записать таким образом числа в регистры общего назначения B, C, D, E, H, L и в регистр признаков F. Перебрать обращение к регистрам при помощи клавиши NEXT.

Для обращения к регистровой паре нажать на клавиши ADDR, 1/Р, MEM. На дисплее отразится содержимое указателя стека. Для обращения к другим регистровым парам повторить вышеуказанные действия.

4. СОДЕРЖАНИЕ ОТЧЕТА

Отчет должен содержать: краткое описание структурной схемы учебной микроЭВМ; карту распределения памяти; назначение командных клавиш; обозначение клавиш программно-доступных регистров; регистровых пар и вершины стека.

5. КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Расскажите назначение элементов структурной схемы учебной микроЭВМ.

2.С какой целью выделяется слово состояния МП?

3.Что такое монитор и каково его назначение?

4.Что такое карта распределения памяти и как распределена память в учебной микроЭВМ?

5.Как занести данные в память микроЭВМ и как их прочитать?

6.В какие регистры МП учебной микроЭВМ можно занести данные и как их прочитать?

7.Укажите назначение регистров в МП К580ВМ80.

13


14

Лабораторная работа № 3 ЗАПИСЬ И ВЫПОЛНЕНИЕ ПРОСТЫХ ПРОГРАММ

ЦЕЛЬ РАБОТЫ: исследование выполнения отдельных команд и простых программ; использование различных методов адресации в программах; запись программ.

1. КРАТКИЕ СВЕДЕНИЯ ИЗ ТЕОРИИ

Микропроцессор (МП) К580ВМ80 имеет фиксированный набор команд. Время выполнения команды можно представить состоящим из ряда временных интервалов. Наиболее короткий временной интервал, равный периоду синхронизации МП, называется машинным тактом. Время, необходимое для извлечения одного байта информации из памяти или внешнего устройства, или выполнения команды, определяемой одним машинным словом, называется машинным циклом. Машинный цикл для МП может включать в себя 3-5 машинных тактов. В зависимости от вида команды время выполнения может состоять из 1-5 машинных циклов. Для МП имеется 10 типов машинных циклов: извлечение кода команды (цикл М1), чтение данных из памяти, запись данных в память, извлечение данных из стека, запись в стек, ввод данных из внешнего устройства, вывод данных на внешнее устройство, цикл обслуживания прерывания, останов, обслуживание прерывания в режиме останова. Первым машинным циклом при извлечении любой команды является цикл М1.

На каждом машинном цикле МП проверяет состояние сигнала ГОТОВ на своем входе. Нулевой сигнал на этом входе останавливает нормальную работу МП, он переходит в режим ОЖИДАНИЕ, при этом на магистралях микроЭВМ присутствует вся информация, передаваемая на рассматриваемом машинном цикле. Это можно использовать для поцикловой отладки микроЭВМ или анализа работы команды.

На каждом цикле М1 МП проверяет состояние сигнала З.Пр.(запрос на прерывание) на своем входе. Если прерывания разрешены (ранее в МП введена команда EI, на выходе МП сформирован единичный сигнал Р.Пр. - разрешение на прерывание), на шинах магистрали управления микроЭВМ появляется сигнал ОБ.Пр (обработка прерывания), по которому на шину данных аппаратно вводится код ко-

14

15

манды RST7, обеспечивающей вызов программы монитора, обслуживающей шаговый режим работы программы пользователя (тумблер в положении ОТЛАДКА), благодаря чему можно исследовать ход исполнения каждой команды. Если тумблер стоит в положении ПРОГОН, то запрос на прерывание самой микроЭВМ не формируется.

Программа записывается в микроЭВМ в последовательных ячейках памяти.

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

Программа 1 (в мнемокодах)

Мнемокод

Комментарий

LDA 8400

Получить число из адреса 8400

CMA

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

STA 8401

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

RST4

Прервать выполнение программы

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

Программа 1 (размещение по адресам памяти)

Адрес

Код команды

Комментарий

8200

Код команды LDA

8201

00

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

8202

84

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

8203

2F

Код команды CMA

8204

32

Код команды STA

8205

01

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

8206

84

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

8207

Е7

Код команды RST

15


16

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

Программа 1 (общий вид записи)

Адрес

Код

Метка

Мнемокод

Комментарий

 

команды

 

 

 

8200

3А 0084

 

LDA, 8400

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

8203

2F

 

CMA

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

8204

320184

 

STA, 8401

Записать число

8207

E7

 

PST4

Прервать выполнение про-

 

 

 

 

граммы

Рассмотрим аналогичную программу с использованием косвенного способа адресации (программа 2).

Программа 2 (косвенный способ адресации)

Адрес

Код

Метка

Мнемокод

Комментарий

 

команды

 

 

 

8200

21 0084

 

LXIH, 8400

Занести в регистровую пару

 

 

 

 

HL число 8400

8203

 

MOV A,M

Получить число из адреса,

 

 

 

 

записанного в HL

8204

2F

 

CMA

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

8205

23

 

INX H

Увеличить на единицу число

 

 

 

 

в HL

8206

77

 

MOV M,A

Занести число по адресу,

 

 

 

 

указанному в HL

8207

Е7

 

RST4

Прервать выполнение про-

 

 

 

 

граммы

16


17

2. ЗАДАНИЕ ДЛЯ ДОМАШНЕЙ ПОДГОТОВКИ

1. Ознакомьтесь со структурой команд МП К580ВМ80.

2.Рассмотрите правила выполнения команд INRA, DCRA, ADDA, ANAA, ORAA, CMPA, DAA.

3.Рассмотрите результат выполнения программы 1 при записи по адресу 8203 команд, приведенных в п.2 задания. Результаты выполнения программы при различных командах, записанных в программе 1 по адресу 8203, занести в табл. 1.

 

 

Таблица 4

Число, записанное по

Команда, записанная по

Число, записанное

адресу 8400

адресу 8203

по адресу 8401

0F

CMA (2F)

 

 

[(A)INV(A)]

 

00

INR A (3C)

 

 

[(R)(R+1)]

 

05

DCR A (3D)

 

 

[(R)(R-1)]

 

04

ADD A (87)

 

 

[(A)(A+R)]

 

33

ANA A (A7)

 

 

[(A)(A) AND R]

 

66

ORA A (B7)

 

 

[(A)(A) OR R]

 

3F

CMP A (BF)

 

 

[(A) – (R)]

 

02

DAA (27)

 

 

[десятичная коррекция A]

 

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

8000.

5.Разработайте программы: увеличения на 5 числа, записанного по адресу 8400, и записи результата по адресу 8401 (программа 3); сложения чисел , записанных по адресам 8400 и 8401, и записи результата по

17