Запись и выполнение простых команд
Исследование принципа действия, машинных циклов и тактов микропроцессора КР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