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

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

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 05.04.2014
Размер файла 109,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

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

Цель работы:

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

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

1.1. Ознакомиться с принципом действия, машинными циклами и тактами микропроцессора КР580.

1.2. Изучите правила записи машинных программ при работе с УОУ.

1.3. Написать программу для выполнения действий, указанных в табл. 1.

Программу разместить в любой свободной области оперативной памяти УОУ.

1.4. Пользуясь таблицей кодов команд, размещенной на лицевой панели УОУ, записать машинные коды команд программы. Константы перевести из десятичной в шестнадцатеричную систему счисления.

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

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

Таблица 1. Учебная программа

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

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

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

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

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

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

В МП КР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 команды СМА инвертируется аккумулятор и т.п.

Ход работы

Разработали новую программу

Таблица 2. Новая программа

АДРЕС

МАШ.

КОД

МЕТКИ

МНЕМОКОД

КОММЕНТА-РИИ

8200

26 67

START

MVI H, 2F

Записываем в регистр H число 2F

8202

3E A8

MVI A, A8

Записываем в регистр A число A8

8204

06FF

MVI B, FF

Записываем в регистр B число FF

8206

4C

MOV C, H

Записываем в регистр 2F число FF

8207

6F

MOV L, A

Пересылаем число A8 из регистра H в L

8208

58

MOV E, B

Пересылаем число FF из регистра B в E

8209

E7

RST 4

Конец программы и возврат в монитор

Определили содержимое регистров общего назначения.

Таблица 3. Содержимое РОН до выполнения программы

B

00

C

00

D

00

E

00

H

00

L

00

A

00

Установили стартовый адрес программы и запустили её выполнение.

Вновь определили содержимое всех регистров РОН процессора и проверили правильность решения задачи в Таблице 4.

Таблица 4. Содержимое РОН после выполнения программы

B

FF

C

2F

D

00

E

2F

H

67

L

A8

A

A8

В результате выполнения работы мы записали число 2F в регистр H, число A8 в регистр A, число FF в регистр B, затем данные из регистра H скопировали в регистр С, затем данные из регистра A скопировали в регистр L. Потом из регистра B скопировали данные в регистр E. В последствии мы перезаписываем регистр С вводя в него число 2F. Затем записываем число A8 в регистр L, число FF в регистр E. Программа разработана, введена в УОУ и проверена на правильность выполнения.

Проверка

После выполнения программы, до которого содержимое регистров отражено в таблице 3. Регистры приняли значения, проведенные в таблице 4. При проверке данных в регистрах они соответствуют значениям, которые требуются по заданию. Регистр A принял значения A8, регистр В значение FF, регистр С -2F, регистр E - FF, регистр H - 2F, регистры L-A8, регистр D мы не использовали в ходе выполнения работы.

Вывод

В ходе выполнения работы была изучена запись данных в регистры, а так же их перенос данных из одного регистра в другой. Проведено изучение состояния и изменение содержимого памяти УОУ. Выполнено исследование и изменение содержимого регистров. Была написана программа, запущена и проверен результат её выполнения.

Размещено на Allbest.ru


Подобные документы

  • Изучение элементов структуры микропроцессора i80386 и алгоритмов выполнения множества команд. Разработка проекта структуры АЛУ и структуры микро-ЭВМ на базе гипотетического процессора. Описание и создание программы эмуляции по выполнению заданных команд.

    курсовая работа [484,4 K], добавлен 07.09.2012

  • Принцип работы процессора (одномагистральная структура). Временные диаграммы, описывающие выполнение микроопераций для каждой команды. Структурная схема управляющего автомата на основе памяти с одним полем адреса. Описание процессора на языке Active VHDL.

    курсовая работа [621,0 K], добавлен 24.09.2010

  • Типы команд, синтаксис ассемблера и код операции, по которому транслируется команда. Команды вычисления и непосредственной пересылки данных между регистрами. Поле для определения операции вычисления. Управление последовательностью выполнения программы.

    реферат [29,1 K], добавлен 13.11.2009

  • Классификация параллельных ВС. Системы с общей и распределенной памятью. Конвейеры операций. Производительность идеального конвейера. Суперскалярные архитектуры. VLIW-архитектура. Предсказание переходов. Матричные процессоры. Законы Амдала и Густафсона.

    курсовая работа [810,9 K], добавлен 03.10.2008

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

    презентация [120,6 K], добавлен 14.10.2013

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

    курсовая работа [871,9 K], добавлен 16.09.2010

  • Изучение архитектуры персонального компьютера на примере микропроцессора фирмы Intel. Регистры общего назначения. Оперативная память; форматы данных и команд. Команд пересылки с различными способами адресации операндов. Структура программы на Ассемблере.

    курс лекций [506,4 K], добавлен 03.05.2014

  • Команды вычислительной машины, которые интерпретируются микропроцессором или микропрограммами. Правила для записи чисел цифровыми знаками. Способы кодирования информации. Практическое применение машинных кодов, систем счисления, кодировки информации.

    курсовая работа [1,6 M], добавлен 15.03.2015

  • Запись кодов команд программы и констант в FlashROM, кодов исходных данных в EEPROM, требуемых значений установочных битов (Fuse Bits) и битов защиты (Lock Bits). Запись и чтение кодов при программировании, способы программирования в микроконтроллерах.

    контрольная работа [24,2 K], добавлен 22.08.2010

  • Краткая история развития и качественные характеристики известных типов машинных носителей: перфокарты, перфоленты, стримеры, жёсткий и гибкий магнитный диск, перезаписываемый лазерный компакт-диск, сменный магнитный диск типа ZIP или JAZZ, флэшнакопители.

    реферат [50,1 K], добавлен 23.01.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.