Методические указания к выполнению лабораторных работ по курсу «Микропроцессорная техника»

Вид материалаМетодические указания

Содержание


Запись и выполнение простых программ
СМА на команды INR
Маскирование данных и организация условных переходов
Подпрограмма и стек
SPHL или команды LXI SP
В. Команда NOP
DEL В осуществляет регулируемую временную задержку, и ее входным параметром является двухбайтное число, записанное в паре регист
Подобный материал:
  1   2   3   4   5   6


Министерство образования Украины

Днепропетровский национальный университет


Кафедра радиоэлектроники


МЕТОДИЧЕСКИЕ УКАЗАНИЯ К

ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ

ПО КУРСУ

«Микропроцессорная техника»


Днепропетровск

2000

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


МЕТОДИЧЕСКИЕ УКАЗАНИЯ К

ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ

ПО КУРСУ

«Микропроцессорная техника»


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


Запись и выполнение простых программ


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


ВВЕДЕНИЕ


Микропроцессор (МП) КР580ИК80 имеет фиксированный набор команд. Время выполнения команды определяется процессом ее получения, декодирования и непосредственного выполнения. Это время можно представить состоящим из ряда временных интервалов.

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

Для МП КР580ИК80 существует десять различных типов машинных циклов: 1) извлечение кода команды (М1); 2) чтение данных из памяти; 3) запись данных в память; 4) извлечение из стека; 5) запись данных в стек; 6) ввод данных из внешнего устройства; 7) запись данных во внешнее устройство; 8) цикл обслуживания прерывания; 9) останов; 10) обслуживание прерывания при работе микропроцессора в режиме останова.

Первым машинным циклом при выполнении любой команды является цикл М извлечения кода команды.

На первом такте каждого машинного цикла МП указывает тип выполняемого цикла с помощью 8-разрядного слова состояния, выдаваемого на магистраль данных. Назначение каждого разряда в слове состояния указано в табл.2.1, В табл. 2.2 приведен вид слова состояния МП при выполнении различных циклов. Отдельные разряды слова состояния задействуются в микро-ЭВМ для формирования магистрали управления. Слово состояния выдается на МП лишь на интервале синхросигналов СИН (такты Т1 и Т2), а используется на протяжении всего машинною цикла. Поэтому необходимо записывать слово состояния в специальный регистр слова состояния (РСС). Па рис.2.1 приведена схема записи слова состояния в многорежимный буферный регистр К589ИР12. Запись осуществляется с использованием сигнала СИН и синхросигнала Ф1. Сигнал СИН появляется в начале каждого цикла и занимает промежуток времени между положительными фронтами синхросигнала Ф2 на тактах Т1 и Т2 (рис.2.2). Таким образом, запись слова состояния осуществляется сигналом Ф1 на такте Т2.

Рассмотрим временные диаграммы работы микро-ЭВМ при выполнении машинного цикла М.

В такте Т1 (рис.2.3) программный счетчик МП выдает на МА адрес ячейки памяти, из которой будет считываться код команды. При этом схема приращения адреса МП автоматически увеличивает на единицу значение числа, записанного в программный счетчик. Положительным фронтом импульсов Ф2 формируется сигнал СИН и вызывается слово состояния на МД. Сигнал ПРИЕМ, управляющий двунаправленным шинным формирователем (ДШФ) МД. на этом такте равен нулю, что позволяет слову состояния поступить на МД микро-ЭВМ.

В такте Т1 слово состояния записывается в регистр. Положительным фронтом Ф2 заканчивается cигнал СИН и формируется единичный сигнал ПРИЕМ, позволяющий данным поступить на вход МП через двунаправленный шинный формирователь. Из сигнала ПРИЕМ и седьмого разряда слова состояния (Д7), формируется сигнал на чтение данных из памяти (Ч.ПАМЯТИ), позволяющий данным поступить из памяти на МД. Изменения данных на этом такте не будут восприниматься МП, так как их запись осуществляется в фиксированный момент времени на такте Т3. На этом же такте анализируется состояние сигналов ГОТОВ, ЗАХВАТ, ОБ.ОС. При нулевом сигнале на входе 3.ЗАХВАТ, нуле в разряде Д4 слова состояния и единичном сигнале на входе ГОТОВ микропроцессор переходит к выполнению такта Т3 . На такте Т3, в момент отрицательного фронта сигнала Ф1 производится запись данных во внутренний регистр кода команды.










Таблица 2.1


Разряд

Назначение

Обозначение

Д0


Д1


Д2


Д3


Д4


Д5


Д6


Д7


Обслуживание сигнала прерывания.

Совместно с сигналом "Прием" этот разряд используется для подачи команды RST на МД.


Д1=0 указыват, что в текущем цикле будет производиться запись данных в память или внешнее устройство. В противном сучае будет осуществляться чтение данных из памяти внешнего устройства.


Указывает, что на МА находится адрес стека из SP.

Указывает на выполнение команды "Останов".

Указывает, что на МА находится адрес внешнего устройства и МД будет содержать данные для записи при сигнале "ЗП".

Указывает выполнение цикла извлечения кода команды.

Указывает, что на МА содержится адрес внешнего устройства и данные будут находиться на МЦ при сигнале "Прием".

Указывает, что Мд будет использована для чтения данных из памяти.

ОБ.ПР


ЗАПИСЬ


СТЕК


ОБ.ОС


ВЫВОД


М1


ВВОД


ПАМЯТЬ



Положительным фронтом Ф2 оканчиваются сигналы ПРИЕМ и Ч.ПАМЯТИ на выходе МП. Отметим, что импульс на выходе ПРИЕМ будет формироваться микропроцессором в машинных циклах: извлечение кода команды (М1), чтение данных из памяти, прерывание, чтение из стека или внешнего устройства.

На последующих тактах Т1 и Т2 дешифратор кода команды расшифровывает код команды, определяет количество байтов в команде, формирует команды на внутренние пересылки данных и подготавливает МП к выполнению следующих машинных циклов.

Таблица 2.2


Разряды слова состояния

Информация сотояния

Вид состояния МП при машинных циклах

1

2

3

4

5

6

7

8

9

10

Извлечение кода команды

Чтение данных из памяти

Запись в память

Извлечение данных из стека

Запись в стек

Ввод данных из ВУ

Запись данных в ВУ

Обслуживание прерываний

Останов

Обслуживание прерываний в режиме останова

Д0


Д1


Д2


Д3


Д4


Д5


Д6


Д7

ОБ.ПР


ЗАПИСЬ


СТЕК


ОБ.ОСТ


ВЫВОД


М1


ВВОД


ПАМЯТЬ

0


1


0


0


0


1


0


1

0


1


0


0


0


0


0


1

0


0


0


0


0


0


0


0

0


1


1


0


0


0


0


1

0


0


1


0


0


0


0


0

0


1


0


0


0


0


1


0

0


0


0


0


1


0


0


0

1


1


0


0


0


1


0


0

0


1


0


1


0


0


0


1

1


1


0


1


0


1


0


0


Отличие по сравнению с М1 машинных циклов чтения данных из памяти, стека или внешнего устройства заключается в том, что МП воспринимает числа, полученные по МД на такте Т3 не как код команда, а как данные.

Временные диаграммы процесса записи данных в память приведены на рис.2.4.

На такте Т1 при положительном фронте Ф2 содержание регистра адреса выдается на МА, а слово состояния – на МД.

На такте Т2 сигналом Ф1 производится запись в регистр слова состояния. Положительным фронтом Ф2 оканчивается синхросигнал СИН, а на МД выдается данное для записи в память.

На такте Т3 на выходе ВЫДАЧА формируется сигнал, по которому будет происходить запись данных в память. Из этого сигнала и разряда Д4 формируется сигнал З.ПАМЯТЬ, разрешающий запись в память Непосредственно запись числа в память осуществляется по сигналу Ф2 .

Рассмотрим простейшую программу (программа 2.1), извлекающую число из ячейки с адресом 8010Н, инвертирующую содержимое и записывающую результат в память по адресу 8011Н.





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


Мнемокод

Комментарий

LDA 8010

извлечь число из памяти по адресу 8010 Н

CMA

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

STA 8011

записать результат по адресу 8011 Н

HLT

остановка МП


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

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


Адрес

Число

Комментарий

8020



Код команды LDA

8021

10

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

8022

80

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

8023

2F

Код команды СМА

8024

32

Код команды STA

8025

11

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

8026

80

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

8027

76

Остановка МП


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


Адрес

Машинный код

Метка

Мнемокод

Комментарий

8020

3А 10 80




LDA 8010 H

Извлечь число из памяти

8023

2F




CMA

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

8024

32 11 80




STA 8011 H

Записать по новому адресу

8027

76




HLT

Остановка МП


В рассмотренной программе используется прямой способ адресации Исследуем программу, аналогичную программе 2.1, с использованием косвенного способа адресации (программа 2.2).

Программа 2.2


Адрес

Машинный код

Метка

Мнемокод

Комментарий

8020

21 10 80




LXI 8010 H

Запись в регисты H,L число 8010 Н

8023






MOV A,M

Извлечь число из ячейки с адресм, указкнным в регистре H,L

8024

2F




CMA

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

8025

23




INX H

Увеличить на 1 число в регистрах

8026

77




MOV M,A

Записать число из аккумулятора по адресу, указанному в H,L

8027

76




HLT

Остановка МП



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


ЗАДАНИЕ 1. Исследовать программу 2.1.

Порядок выполнения задания следующий:

1. Ввести в микро-ЭВМ программу 2.1.

2. Записать по адресу 8010 Н исследуемое число.

3. Осуществить пуск программы 2.1. Проверить результат выполнения программы числа, записанного по адресу 8011 Н.

4. Перейдя в режим трассировки, исследовать процесс выполнения программы по командам. После выполнения каждой команды проанализировать содержимое программно-доступных регистров.

5. Заменяя в программе 2.1 команду СМА на команды INR A, DCR А, ADD A, ANA A, ОRA A, RLC, RAL, RRC, RAR, исследовать результат их выполнения по числу, записанному по адресу 8011 Н. Результаты выполнения программы при различных командах, описанных в программе 2.1 по адресу 8023 Н, занести в табл.2.3.

Таблица 2.3


Число, записанное по адресу 8010 Н

Команда, хранимая по адресу 8023 Н

Число, записанное по адресу 8011 Н

~ ~ ~





















ЗАДАНИЕ 2. Исследовать программу 2.2.

Порядок выполнения задания следующий:

1. Ввести в микро-ЭВМ программу 2.2.

2. Записать по адресу 8010 H исследуемое число.

3. Осуществить пуск программы с адреса 8020 Н. Проверить результат выполнения программы по числу, записанному по адресу 8011 Н.

4. Исследовать выполнение программы 2.2 в режиме трассировки.

5. Видоизменить программу 2.2 так. чтобы при ее выполнении результат записывался первоначально по адресу 8010 Н. Ввести в микро-ЭВМ модифицированную программу 2.2 и исследовать ее выполнение.

6. Исследовать выполнение модифицированной программы 2.2 в режиме трассировки.


ЗАДАНИЕ 3. Исследовать программу 2.3.

Порядок выполнения задания следующий:

1. Разработать программу 2.3 увеличения на 5 числа, записанного по адресу 8010 Н, и размещения результата по адресу 8011 Н.

2. Ввести в микро-ЭВМ программу 2.3 и осуществить ее запуск. Проверить результат ее выполнения по числу, записанному по адресу 8011 Н, при числах 05 Н и FЕ Н, хранимых но адресу 8010 Н.

3. Исследовать выполнение программы 2.3 в режиме трассировки.


ЗАДАНИЕ 4. Исследовать программу 2.4.

Порядок выполнения задания следующий:

1. Составить программу 2.4 сложения чисел, хранимых по адресам 8010 Н и 80FE H, и записи результата по адресу 8011 Н.

2. Ввести в микро-ЭВМ программу 2.4 и осуществить ее запуск. Проверить результат выполнения программы по числу, хранимому по адресу 8011 Н, последовательно записывая по адресам 8010 Н и 80FE Н соответственно числа 0В Н и ВО Н, FЕ Н и В5 Н.

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

4. Исследовать модифицированную программу 2.4 в режиме трассировки.

ЗАДАНИЕ 5. Исследовать программу 2.5.

Порядок выполнения задания следующий:

1. разработать программу 2.5 сравнения чисел, хранимых по адресам 8010 Н и 8011 Н, и записи большего из них в регистр В.

2. Ввести в микро-ЭВМ программу 2.5, а также записать по адресам 8010 Н и 8011 Н исследуемые числа.

3. Осуществить запуск программы 2.5. Проверить результат ее выполнения по числу, записанному в регистре В.

4. Исследовать выполнение программы 2.5 в режиме трассировки.

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

Отчет должен содержать:

1. Заполненную табл.2.3, отражающую выполнение программы 2.1 для различных случаев ее модификации.

2. Временные диаграммы выполнения любой произвольно выбранной одно- и трехбайтовой команды в программе 2.1.

3. Видоизмененную программу 2.2, записанную в машинных кодах, позволяющую первоначально записывать результат по адресу 8010 Н.

4. Разработанные программы 2.3, 2.4, 2.5, записанные в машинных кодах.

5. Результаты исследований работы программ 2.3, 2.4, 2.5 согласно заданиям 3-5. Наблюдаемое в режиме трассировки содержимое программно-доступных регистров после выполнения каждой команды программ 2.3, 2.4, 2.5.

ЗАДАНИЯ ДЛЯ САМОПРОВЕРКИ

1. За сколько машинных тактов выполняется каждая команда в программах 2.1 и 2.2?

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

3. Укажите все возможные способы адресации, используемые при составлении программ 2.3 - 2.5.

4. При выполнении каких команд, используемых при модификации программы 2.1, задействуются разряды регистра состояния МП?

5. Изобразите временные диаграммы процесса выполнения микро-ЭВМ следующих команд: LDA2><А1>, СМА, STA2><А1>, МОV М,А, MOV A.M, INX М.


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