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

Автор работы: Пользователь скрыл имя, 05 Мая 2013 в 16:30, лабораторная работа

Краткое описание

Цель работы: Ознакомление с принципом действия, машинными циклами и тактами микропроцессора КР580: изучение правил записи машинных программ (в машинных кодах и мнемокодах); исследование выполнения команд пересылки байта.
Задание на работу: Ознакомиться с принципом действия, машинными циклами и тактами микропроцессора КР580. Изучить правила записи машинных программ при работе с УОУ.

Вложенные файлы: 1 файл

Arkhitektura.docx

— 216.69 Кб (Скачать файл)

МИНОБРНАУКИ РОССИИ

 

Федеральное государственное бюджетное образовательное  учреждение

высшего профессионального образования

«Тульский государственный университет»

 

Кафедра «Автоматика и телемеханика»

 

 

 

 

АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

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

 

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

 

 

 

 

 

 

Выполнил студент группы 622111

Петров  Н.С ___________.

 

Проверил доц. каф. АТМ

 А.В.  Копылов .____________

 

 

Тула 2012 г.

Цель  работы:

Ознакомление  с принципом действия, машинными  циклами и тактами микропроцессора  КР580: изучение правил записи машинных программ (в машинных кодах и мнемокодах); исследование выполнения команд пересылки  байта.

Задание на работу:

Ознакомиться  с принципом действия, машинными  циклами и тактами микропроцессора  КР580. Изучить правила записи машинных программ при работе с УОУ.  Написать программу для выполнения действий:


Теоретические сведения:

Машинные  циклы и такты:

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

Машинный цикл состоит из 3 - 5 машинных тактов T1, называемых также функциональными  состояниями или просто состояниями  микропроцессора. Длительность такта  равна периоду сигналов синхронизации. Продолжительность выполнения различных  команд составляет от 4 до 18 тактов.

Для МП КР580 существует 10 типов машинных циклов:

1. Извлечение  кода команды (М1).

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

3. Запись  данных в память.

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

5. Запись  данных в стек.

6. Ввод  данных из внешнего устройства.

7. Вывод  данных во внешнее устройство.

8. Цикл  обслуживания прерывания.

9. Останов.

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

Первые три такта всех машинных команд унифицированы и образуют фазу адресации. Собственно адресация  осуществляется в цикле T1. Микропроцессор выдает сигналы на шину адреса. Источником адреса могут быть следующие внутренние регистры: программный счетчик, указатель  стека, регистровые пары B, D или Н, L, а также пара W, Z.

Такт Т2 отведен для проверки необходимости реакции на некоторые управляющие сигналы, влияющие на функционирование МП. В этом такте проверяются уровни внешних сигналов готовности READY, запроса прямого доступа к памяти HOLD, а также внутреннего сигнала подтверждения останова HLTA. Кроме того, в такте Т2 последнего машинного цикла каждой команды проверяется уровень внешнего сигнала запроса прерывания INT.

Помимо проверки управляющих сигналов в такте Т2 производятся следующие действия:

если текущий машинный цикл связан с обращением к программной памяти, то выполняется инкремент программного счетчика РС;

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

Такт Т3 отведен непосредственно  для обмена информацией.

В тактах Т4 производятся дешифрование кода операции, необходимые внутренние передачи и преобразования данных. Например, в тактах Т4, Т5 команд INR (INX) и DCR (DCX) осуществляется инкремент или декремент адресуемого регистра (регистровой пары), в командах разветвлений проверяются указанные в них условия, в так те T4 команды СМА инвертируется аккумулятор и т.п.

Система команд микропроцессора КР580 приведена в таблице 2.

 

Запись  программ при работе с УОУ

 

В УОУ "Электроника 580" предусмотрен ввод-вывод программ только в машинных кодах, записанных в шестнадцатеричной  системе счисления. Такое представление  программ неудобно для программиста, так как затрудняет понимание  и увеличивает вероятность ошибок. Для человека более удобна символическая (мнемоническая) запись программ. Поэтому  на практике  целесообразно совмещать  на одном бланке машинные и мнемонические  коды команд. Рассмотрим особенности  записи программ на примере (Таблица 1):

Таблица 1. Пример программы.


Бланк разделен на пять вертикальных полей. В первом поле записывается шестнадцатеричный  адрес ячейки памяти, в которой  размещен первый байт кода команды, а  во втором поле - машинный код команды (один, два или три байта) в порядке  размещения байтов в памяти. При  записи следует помнить, что в  трехбайтных командах во втором байте  команды записывается младший байт адреса или операнда, а в третьем - старший.

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

В четвертом поле записывается мнемоническое  обозначение соответствующей

машинной команды. Сначала записывается мнемоника кода операции, а затем  мнемоники операндов или адресов. В этом поле двухбайтные коды принято  записывать в привычном виде: сначала  старший байт, а затем  младший.

Обычно работа программы заканчивается  командой останова (HLT). При отладке  программ в УОУ не рекомендуется  заканчивать командой останова, так  как при этом будет невозможно с помощью монитора просмотреть  содержимое регистров или памяти. Вместо команды останова лучше использовать команду RST4 (код Е7), которая будет передавать управление монитору.

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

Таблица 2. Коды команд МП КР580.

 

Ход работы:

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

Таблица 3. Необходимый результат данного задания.

А

B

C

E

H

L

64

64

D1

D1





 

1. Введённая в эмулятор УОУ предоставлена в таблице 3.

В каждую адресную строку после нажатия кнопки REG на панели эмулятора был введён машинный код.

Таблица 4. Программный  код выполнения данного задания.

Адрес

Машинный код

Метка

Мнемокод

Комментарий

8200

2Е D1

START

MVI L, D1

Ввод в регистр L

8202

3E 64

 

MVI A, 64

Ввод в регистр A значение 64

8204

0E 1C

 

MVI C, 1C

Ввод в регистр C значение 1C

8026

65

 

MOV H, L

Пересылка из регистра L в H регистр

8207

5F

 

MOV C,A

Пересылка из регистра A в регистр C

8208

41

 

MOV B, C

Пересылка из регистра C в регистр B

8209

76

END

HTL

Команда остановки


 

2. Содержимое  регистров общего назначения  до запуска программы (см. Таблица 5).

Таблица 4. Содержимое регистров до запуска программы.

А

B

C

E

H

L

00

00

00

00

00

00


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

4. После  выполнения заданной программы  результаты проверки РОН таковы:

Таблица 6. Содержимое регистров после запуска программы.

А

B

C

E

H

L

64

64

D1

D1





 

 

Вывод.

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

Во время  работы был изучен принцип действия, машинных циклов и тактов микропроцессора  КР580. Были изучены правила записи машинных программ (в машинных кодах  и мнемокодах); исследованы выполнения команд пересылки байта.

 


Информация о работе Запись и выполнение простых программ