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

Страницы работы

Фрагмент текста работы

Санкт-Петербургский государственный технический университет

Факультет технической кибернетики

Кафедра автоматики и вычислительной техники

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

"Микропроцессор К580"

По курсу:  “Основы организации ЭВМ и микропроцессоров ”

Работу выполнил:

 студент группы 3081/6     

                                                                                                  

Работу принял:

Санкт-Петербург

2006

1.  Введение

Цель работы:

Практическое ознакомление с организацией микропроцессорных систем на основе однокристальных микропроцессоров и приобретение навыков программирования микропроцессоров указанного типа. Изучение всех  БИС  МПК  проводится поэтапно в составе типовой микроЭВМ (рис. 1), реализованной на базе данного МПК.

2. Схема исследуемого устройства.

3.  Состав:

Ø  Плата центрального процессора. На ней размещены собственно процессор (СБАИС К580ВМ80А), тактовый генератор двухфазных последовательностей импульсов Ф1 и Ф2 КР580ГФ24, системный контроллер сигналов управления обменом информации в микропроцессорной системе КР580ВК38и шинные формирователи адреса и данных КР580ВА86

Ø  Плата оперативного запоминающего устройства ёмкостью 1024 восьмиразрядных слов на БИС К565РУ2А

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

4.  Задания:

1)  выполнение вводной работы – изучение центрального процессорного элемента и системы его команд с помощью учебных команд

2)  Умножение младшими разрядами вперёд

3)  Вывод на индикацию попеременно: множимое, множитель, произведение.

5.  Выполнение вводной работы.

(все адреса и команды представлены в восьмеричной системе, указание на  Н = 000 опускается)

1)  Загрузка данных в 2 заданных регистра РОН.

Адреса

Команды

Мнемоника

Комментарии

000

041

LXI H

Загрузка начального адреса памяти

001

200

B2

мл. байт адреса

002

000

B3

ст. байт адреса

003

001

LXI B

Запись исходных данных в регистры B и C

004

001

B2

B2 -> (C)

005

010

B3

B3 -> (B)

006

160

MOV M, B

Запоминаем (B)

007

043

INX H

Формирование следующего адреса памяти

010

161

MOV M, C

Запоминание (C)

011

166

HLT

Останов

В результате выполнения данной программы была осуществлена загрузка в регистры В и С данных 010 и 001, что было проверено косвенно путем пересылки содержимого указанных регистров в память. В режиме ПДП было установлено, что в ячейке по адресу 200 хранилось значение 010, в ячейке по адресу 201 – 001.

2)  Занесение в стек содержимого регистров.

Адреса

Команды

Мнемоника

Комментарии

000

061

LXI SP

Установка указателя стека

001

202

B2

мл. байт адреса

002

000

B3

ст. байт адреса

003

001

LXI B

Запись исходных данных в регистры B и C

004

001

B2

B2 -> (C)

005

010

B3

B3 -> (B)

006

305

PUSH B

Запоминание содержимого B и C в стеке

007

166

HLT

Останов

В соответствии с описанием выполнения команды PUSH (B): (B) ->((SP) - 1), (C)-> ((SP) - 2), SP:= (SP) – 2, рост стека происходит в направлении младших адресов. Кроме того, следует обратить внимание на очередность записи содержимого регистров: сначала запись содержимого  старшего, потом младшего байтов. В итоге, в ячейке по адресу 200 хранится 001, по адресу 201 – 010.  Первоначально указатель стека указывал на ячейку под адресом 202.

3)  Извлечение данных, занесенных в стек.

Адреса

Команды

Мнемоника

Комментарии

000

061

LXI SP

Установка указателя стека

001

202

B2

мл. байт адреса

002

000

B3

ст. байт адреса

003

301

POP B

Извлечение данных из стека и загрузка их в регистровую пару B и C

004

004

INR B

Увеличение на единицу содержимого Рг B

005

015

DCR C

Уменьшение на единицу содержимого Рг C

006

305

PUSH B

Запоминание содержимого B и C в стеке

007

166

HLT

Останов

команда POP (B): ((SP)) ->(C), ((SP) + 1)->(B), SP:= (SP) + 2.

Изначально в ячейки по адресам 200 и 201 были записаны значения 222 и 333. По ходу выполнения программы данные заносятся из стека в регистры и подвергаются изменению, модифицированные данные заносятся обратно в стек (200 – 221, 201 - 334). Такая последовательность и служит ответом на вопрос о характере изменения указателя стека, когда при выполнении команды PUSH формируются адреса (SP) – 1 и (SP) – 2, а при команде POP - (SP), (SP) + 1. Адреса формируются так, чтобы соответствовать правилу изменения SP, которое увеличивается или уменьшается по указанным выше правилам.

При ответе на оставшиеся к данному пункту исследования вопросы необходимо заметить, что на стенде установлен 16-ти разрядный клавишный регистр адреса. Следовательно, ожидаемый объем памяти  составляет 216 = 64 кбайт. Но ОЗУ процессора обладает емкостью 1кбайт, что, соответственно, в 64 раза меньше. В итоге, мы получили, что максимальное значение указателя стека составляет 002000 вместо 377377. Принимая во внимание тот факт, что при включении микроЭВМ указатель стека принимает значение 377377, то есть несуществующее для данного процессора, мы можем сделать вывод о  необходимости начальной инициализации указателя стека.

4)  Выполнение операций сложения и вычитания данных в двоичном и двоично-десятичном кодах.

·  Сложение двоичных чисел.

Адреса

Команды

Мнемоника

Комментарии

000

041

LXI H

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

001

200

B2

мл. байт адреса

002

000

B3

ст. байт адреса

003

076

MVI A

Непосредственная загрузка А одним из слагаемых

004

010

B2

Байт данных слагаемого

005

206

ADD M

Сложение содержимого A с содержимым ячейки памяти

006

167

MOV M, A

Запоминание значения суммы в ячейке памяти

007

166

HLT

Останов

Предварительно в ячейку памяти с адресом 200 было занесено значение 100. После выполнения операции сложения содержимого аккумулятора и памяти, значение аккумулятора стало равным 110. Это значение снова заносится в память (200 - 110). После замены команды ADD на ADC не было замечено изменений в процессе выполнения операции сложение - по адресу 200 было занесено значение 120. Отличие команд становится очевидным только при переполнении. В команде ADC учитывается значение флага переноса при циклическом

Похожие материалы

Информация о работе