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

Lab_pr_MP_14

.pdf
Скачиваний:
43
Добавлен:
06.03.2016
Размер:
509.67 Кб
Скачать

ФГБОУ ВПО «Уфимский государственный авиационный технический университет»

СПОСОБЫ АДРЕСАЦИИ В МИКРОПРОЦЕССОРНЫХ СИСТЕМАХ

Лабораторный практикум

Уфа 2014

2

Составители: А.П. Торгашев, А.Ю. Демин, И.С. Фролов, Г.С. Фролов

УДК 004.7(07)

ББК 32.973.26-04(7)

Способы адресации в микропроцессорных системах: Лабораторный практикум /Уфимск. гос. авиац. техн. ун-т; Сост.: А.П. Торгашев, А.Ю. Демин, И.С. Фролов, Г.С. Фролов. – Уфа, 2014. – 44 с.

Лабораторный практикум посвящен изучению микропроцессор- ного стенда УМПК-80, изучению способов адресации к внешним уст- ройствам и памяти в микропроцессорных системах, исследованию ко- манд условных переходов и организации программных циклов. Рас- смотрены краткие теоретические сведения по структурной организации микропроцессорных систем, методам адресации, основным понятиям и терминам микропроцессорной техники, примеры простых программ для МП Intel 8080. В приложении приведены машинные коды команд Ассемблера. Даны задания к лабораторным работам и методика их вы- полнения.

Табл. 4. Ил. 8. Библиогр.: 7 назв.

Рецензенты: канд. техн. наук, доц. Мукаев Р.Ю. канд. техн. наук, доц. Уразбахтин Р.Н.

 

3

 

 

СОДЕРЖАНИЕ

 

 

Введение

4

 

Лабораторная работа МПТ-1

 

 

Ознакомление с учебным стендом УМПК-80 и

 

 

его программным эмулятором. Запись и выполнение

 

 

простых программ

 

1.1

Цель работы

5

1.2

Задачи работы

5

1.3

Краткие теоретические сведения

5

1.4

Задание к лабораторной работе

22

1.5

Порядок выполнения задания

23

1.6

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

27

1.7

Требования по оформлению отчета

28

 

Лабораторная работа МПТ-2

 

 

Ввод-вывод данных, организация условных

 

 

переходов и формирование временных интервалов

 

2.1

Цель работы

29

2.2

Задачи работы

29

2.3

Краткие теоретические сведения

29

2.4

Задание к лабораторной работе

39

2.5

Порядок выполнения задания

39

2.6

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

41

2.7

Требования по оформлению отчета

41

 

Критерии результативности лабораторного практикума

42

 

Список литературы

42

 

Приложение А Машинные коды команд Ассемблера

43

4

Введение

Учебный стенд УМПК-80 построен на базе аналога процессора i8080 фирмы Intel. Микропроцессорная система на его основе содержит все основные модули, которые имеются в современных процессорах, и является простым и наглядным примером для начального изучения микропроцессорных систем. Ассемблер (низкоуровневый язык про- граммирования) процессоров i8080 имеет все необходимые состав- ляющие, представленные в ассемблерах других процессоров (команды пересылок, арифметические и логические операции, команды сдвигов, переходов, вызовов подпрограмм и возвратов из них, прямых обраще- ний к памяти и прочее) и может рассматриваться как язык начального уровня, легкий в освоении. Навыки программирования на ассемблере i8080, безусловно, облегчат освоение языков низкого уровня всех дру- гих процессоров и однокристальных ЭВМ.

Для ускорения и облегчения освоения ассемблера i8080 при вы- полнении лабораторных работ рекомендуется использовать разрабо- танный авторами эмулятор стенда УМПК-80 [7], который реализует с помощью программных средств возможности стенда на компьютере с операционной системой Windows. Это позволяет получить больше практических навыков при написании программ на ассемблере, уско- рить процесс выполнения лабораторных работ и проводить дистанци- онное обучение основам микропроцессорной техники.

Ограничения эмулятора: программа достаточно точно имитирует реальную работу УМПК-80, однако временные интервалы, получаемые расчетным путем для МП i8080, программой в точности не обеспечи- ваются. Рекомендуется с помощью эмулятора отлаживать общую рабо- тоспособность программ (корректность пересылок, переходов, вызовов подпрограмм), а точность получения расчетных временных интервалов проверять непосредственно на УМПК-80.

Примечание. Разработчики будут благодарны за сообщения обо всех выявленных ошибках и сбоях в работе программы.

5

ЛАБОРАТОРНАЯ РАБОТА МПТ-1 ОЗНАКОМЛЕНИЕ С УЧЕБНЫМ СТЕНДОМ УМПК-80 И ЕГО ПРОГРАММНЫМ ЭМУЛЯТОРОМ.

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

1.1. ЦЕЛЬ РАБОТЫ

Изучение структуры учебной микроЭВМ, карты памяти, органов управления и режимов работы.

1.2. ЗАДАЧИ РАБОТЫ

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

1.3. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

1.3.1. Учебная микроЭВМ на базе микропроцессорных БИС с фиксированным набором команд

Учебная микроЭВМ предназначена для знакомства с особенно- стями построения микроЭВМ на микропроцессоре (МП) с фиксиро- ванным набором команд и может быть использована для исследования методов программирования и работы БИС микропроцессорного ком- плекта. МикроЭВМ может применяться как управляющая ЭВМ при создании и исследовании работы систем управления различными объ- ектами. Она является легко осваиваемым и удобным средством для от- ладки относительно небольших (до 0,5К байт) программ пользователя. Открытая конструкция и наличие большого количества средств инди- кации позволяют наглядно исследовать процесс преобразования и пе- редачи информации в микроЭВМ. В лабораторном практикуме исполь- зуются стенды в варианте исполнения А (далее по тексту - стенды А) и в варианте исполнения Б (далее по тексту - стенды Б). Стенды А имеют внутренний источник питания, обеспечивающий их работу от сети 220 В, 50 Гц, стенды Б запитываются от внешнего источника питания через разъем на задней панели стенда. Кроме того, стенды отличаются адре- сами внешних устройств (табл. 1.2, 1.3 и рис. 1.2 и 1.3) и методами ор-

6

ганизации адресного пространства в стендах А используется метод разделенного адресного пространства, при котором обращение к внеш- нему устройству происходит как к ячейке памяти, в стендах Б исполь- зуется метод раздельного управления памятью и внешними устройст- вами, при котором для обращения к ячейкам памяти и к внешним уст- ройствам используется различный набор управляющих сигналов, фор- мируемых системным контроллером КР580ВК28 (аналог i8228, Intel).

1.3.2. Структура учебной микроЭВМ

На рис.1.1 приведена структура микроЭВМ, где показаны ее от- дельные блоки. В структуру микроЭВМ входят следующие блоки и ма- гистрали:

блок центрального процессора БЦП со схемой тактового пи- тания СхТП;

формирователи магистрали данных ФМД, управления ФМУ, адреса ФМА;

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

16-разрядная однонаправленная магистраль адреса МА, управляемая МП БИС и используемая для адресации к памя- ти и отдельным узлам микроЭВМ;

5-разрядная однонаправленная магистраль управления МУ, управляемая МП БИС и служащая для определения режима работы микро- ЭВМ при выполнении каждого машинного цикла;

блок памяти (БП), включающий в себя ОЗУ емкостью 1К байт и ПЗУ емкостью 2К байт;

регистры ввода РгВв с переключателями П и вывода РгВыв с индикацией состояний светодиодами;

схема выдачи кода прерывания СхВКПр;

схема дешифрации адреса СхДША, формирующая сигналы выборки устройств;

клавиатура управления и ввода данных К, состоящая из 9 клавиш управления, клавиши начальной установки микро- ЭВМ и 16 клавиш для введения шестнадцатеричных кодов чисел.

 

 

 

 

 

 

 

 

 

 

 

 

 

Сигналы выборки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

устройств

 

 

БЦП

 

 

 

СхТП

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СвД

 

СвД

 

СвД

 

СхДША

 

ФМД

 

 

ФМА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ФМУ

МА

МУ

МД

СхВЗС СхВКПР ПЗУ ОЗУ РгВв

РгВыв РгСг

РгСк

РгЧК

СвД

СвД

Д

К

 

 

ПК ВУ

Рис. 1.1. Структура учебной микроЭВМ УМПК-80

8

Для ввода информации в микроЭВМ с клавиатуры в структуру введен регистр чтения клавиатуры РгЧК и регистр сканирования мат- рицы клавиш РгСк.

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

Для управления дисплеем Д в микроЭВМ используются два ре- гистра: регистр сегментов дисплея РгСг и регистр сканирования РгСк (тот же, что и для сканирования матрицы клавиш).

Для генерации звука в микроЭВМ введена схема выдачи звуко- вого сигнала СхВЗС.

Магистрали микроЭВМ, а также входной и выходной регистры имеют светодиоды СвД, указывающие их состояние.

1.3.3.Адресация в учебной микроЭВМ

ВмикроЭВМ в варианте исполнения А реализована адресация с помощью карты памяти: каждому физическому устройству макета ставится в соответствие адрес, и обращение к нему при таком типе адресации аналогично обращению к ячейке памяти с использованием всего набора команд МП БИС. В табл. 1.1 приведена карта памяти микроЭВМ, из которой видно, что первые 2К байт адресов (с адреса 0000h по 07FFh) занимает ПЗУ, в котором записаны управляющие и демонстрационные программы; адреса с 0800h по 0FFFh (следующие 2К адресов) - ОЗУ; далее память распределяется блоками также по 2К адресов до адреса 87FFh между входными и выходными регистрами микроЭВМ. С адреса 8800h до FFFFh (конечный адрес, доступный прямым образом микропроцессору i8080/85 и КР580ВМ80А) разме- щается область неиспользуемого микроЭВМ УМПК-80 адресного пространства.

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 1.1

 

Карта памяти микроЭВМ

 

 

 

 

 

Биты в старшем байте

 

 

 

 

 

 

адреса (А8…

А15)

Адреса

 

 

 

 

15 14

13 12 11

 

10 9 8

 

 

 

 

 

0

0

0

0

0

 

0 0 0

0000

Управляющая программа

 

 

...……

 

 

 

….…

Демонстрационные программы

0

0

0

0

0

 

1 1 1

07FF

 

 

 

ПЗУ

0

0

0

0 1

 

0 0 0

0800

Область адресов для

 

 

…..

….…….

 

 

 

…….

...

записи исследуемых

 

 

0

0

0

0 1

 

0 1 0

0AFF

программ

 

 

0

0

0

0

1

 

0 1 1

0B00

Для записи данных ис-

 

 

…..

…..….

 

 

 

…….

следуемых программ и

 

 

0

0

0

0

1

 

0 1 1

0BB0

стек

 

ОЗУ

0

0

0

0

1

 

0 1 1

0BB1

Для записи данных

 

 

…..

…..……

 

 

 

…….

……

управляющей про-

 

 

0

0

0

0

1

 

0 1 1

0BFF

граммы

 

 

0

0

0

0

1

 

1 0 0

0C00

Для записи данных ис-

 

 

0

0

0

0

1

 

1 1 1

0FFF

следуемых программ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

1

0

 

0 0 0

1000

Управление защитой

 

 

…..

…….….

 

 

 

…..

…..

первых адресов ОЗУ от

 

УПР

0

0

0

1

0

 

1 1 1

17FF

записи

 

Зп/Чт

0

0

0

1

1

 

0 0 0

1800

Входной регистр

 

0

0

0

1

1

 

1 1 1

1FFF

 

 

 

чтения клавиатуры

 

РгЧК

0

0

1

0

0

 

0 0 0

2000

Входной регистр

 

0

0

1

0

0

 

1 1 1

27FF

 

 

 

 

 

 

 

РгВв

0

0

1

0

1

 

0 0 0

2800

Регистр сканирования

 

0

0

1

0

1

 

1 1 1

2FFF

 

 

 

дисплея и клавиатуры

 

РгСк

0

0

1

1

0

 

0 0 0

3000

Выходной регистр

 

0

0

1

1

0

 

1 1 1

37FF

 

 

 

 

 

 

 

РгВыв

0

0

1

1

1

 

0 0 0

3800

Регистр сегментов

 

0

0

1

1

1

 

1 1 1

3FFF

 

 

 

дисплея

 

РгСг

1

0

0

0

0

 

0 0 0

8000

Регистр звукового вы-

 

1

0

0

0

0

 

1 1 1

87FF

 

 

 

хода

 

СхВЗС

1

0

0

0

1

 

0 0 0

8800

Неиспользуемые адреса

…..

………..

 

 

 

…..

…..

 

 

 

 

1

1

1

1

1

 

1 1 1

FFFF

 

 

 

 

10

Оперативная память микроЭВМ (ОЗУ) используется как для за- писи, хранения и модификации данных исследуемых программ (об- ласти памяти с адресами от 0В00h до 0BB0h и с 0C00h до 0FFFh), так и для временной записи и хранения данных управляющей программы (область памяти с адресами от 0BB1h до 0BFFh). При этом адрес 0ВВ0h является начальным адресом стека верхушкой» стека) – об- ласти памяти, доступ к которой может осуществляться с помощью специальных команд операций со стеком по принципу LIFO Last In

– First Out последним зашёл первым вышел»).

Для записи кодов команд (программ) пользователя в адресном пространстве микроЭВМ зарезервированы адреса с 0800h по 0AFFh. Большинство из приведенных в лабораторном практикуме программ начинаются с адреса 0800h и могут быть без изменения адресов ис- следованы на данном макете. Эта область памяти в учебной микро- ЭВМ УМПК-80 схемотехнически защищена от случайной записи во время выполнения программ пользователя в автоматическом (не по- шаговом) режиме работы, что исключает возможность модификации расположенных в ней данных в процессе исполнения программы. Для записи данных при автоматическом выполнении программ необхо- димо использовать область ОЗУ с адреса 0В00h по адрес 0ВВ0h (для стендов Б - с адреса 0C00h по 0CB0h).

Следует помнить, что стек в процессорах i8080/85 и КР580ВМ80А работает на автоуменьшение. Это означает, что до на- чала исполнения команды, оперирующей со стеком, в 16-разрядном регистре указателе стека SP (Stack Pointer) хранится адрес начала стека. В случае УМПК-80это адрес 0BB0h. При этом в 8-разрядном регистре SPH (старшие 8 разрядов регистра стека SP) хранится стар- ший байт адреса (0Bh), а в регистре SPL (младшие 8 разрядов регист- ра стека SP) – младший байт адреса (B0h). При каждой записи в стек указатель стека SP автоматически декрементируется на длину записи в стек (количество байт, занесенных в стековую область памяти). При записи двух байт (например, двухбайтного адреса возврата из под- программы после выполнения команды CALL) в регистре стека SP будет записано 16-разрядное число 0BAEh (0Bh в SPH, AEh в SPL), то есть регистр стека SP будет указывать на следующую сво- бодную для записи ячейку памяти в области, отведенной под стек. При этом в 8-разрядных ячейках с адресами 0BB0h и 0BAFh будут

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]