- •Лабораторная работа №1
- •1.Машинный язык и Ассемблер.
- •2.Команды передачи данных.
- •Обмен байтами
- •2.1.Регистровая адресация.
- •2.2.Косвенная регистровая адресация.
- •2.3.Прямая адресация.
- •2.4.Непосредственная адресация.
- •2.5.Неявная адресация.
- •3.Команды арифметических и логических операций.
- •4.Применение команд передачи данных, арифметических и логических
- •5.Задания для подготовки и лабораторной работе.
- •6.Требования к отчету.
- •7.Вопросы.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЕГАЗОВЫЙ УНИВЕРСИТЕТ
ИНСТИТУТ НЕФТИ И ГАЗА
Лабораторная работа №1
ПО КУРСУ "ПРОЕКТИРОВАНИЕ МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВ".
УЧЕБНЫЙ МИКРОПРОЦЕССОРНЫЙ КОМПЛЕКТ
СИСТЕМА КОМАНД МИКРОПРОЦЕССОРА КР580ВМ80А
СОСТАВ КОМАНД ПЕРЕДАЧИ ДАННЫХ
СОСТАВ КОМАНД АРИФМЕТИЧЕСКИХ ДЕЙСТВИЙ
СОСТАВ КОМАНД ЛОГИЧЕСКИХ ОПЕРАЦИЙ
Разработал:ст.пр.Мамченков А.В.
ТЮМЕНЬ-2013
Цель работы: изучить состав команд операций передачи данных, команд арифметических действий и логических операций микропроцессора КР580ВМ80А(i8080/8085).Приобрести практические навыки в программировании на языке ассемблер микропроцессора КР580ВМ80А.
1.Машинный язык и Ассемблер.
На своем рабочем уровне микропроцессор реагирует на список операций (инструкций),называемых машинными командами. На рис.1.1.а. приведено содержимое памяти, являющееся программой на машинном языке. Эта программа начинается с адреса 800Н с содержимым 0011 1110В и оканчивается адресом 806Н с содержимым 0111 0110В.
а)
Адрес |
Содержимое |
800Н |
0011 1110 |
801Н |
1011 0100 |
802Н |
0010 1111 |
803Н |
0011 0010 |
804Н |
0000 0000 |
805Н |
0000 1001 |
806Н |
0111 0110 |
б)
Адрес |
Содержимое |
800Н |
3Е |
801Н |
В4 |
802Н |
2F |
803Н |
32 |
804Н |
00 |
805Н |
09 |
806Н |
76 |
Рис.1.1.Размещение программы в памяти.
Программа на машинном языке на рис.1.1.а. становится проще для восприятия, когда она представлена в шестнадцатеричном коде (Н-коде), как показано на рис.1.1.б.
Если расшифровать каждую операцию из программы на рис.1.1. то по-
лучим следующее:
1.Загрузить число 1011 0100В в аккумулятор.
2.Инвертировать каждый двоичный бит содержимого аккумулятора.
3.Поместить результат инверсии в ячейку памяти данных с адресом 900Н.
4.Остановить процессор.
Данная программа осуществляет перевод 8-разрядного двоичного числа
в его эквивалент в инверсной форме.
Для перевода от формы человеческого языка к машинному языку "понятному" микропроцессору существуют языки программирования от самого высокого уровня (Бейсик,Фортран,Паскаль) до машинного, представленного на рис.1.1.Наиболее приближенным к машинному языку является язык программирования Ассемблер. Ассемблер использует слова и фразы, преобразуя их в машинный код микропроцессора.
Программа на языке Ассемблер может быть представлена в виде табл.1.1.
Табл.1.1.Программа на языке Ассемблер.
Адрес |
Мнемоника ассемблера |
Комментарий |
|
MVI A,B4H |
Загрузить в аккумулятор данные, следующие непосредственно: В4Н. |
|
СМА |
Инвертировать содержимое аккумулятора. |
|
STA 0900H |
Переслать содержимое аккумулятора в память |
|
HLT |
Остановить процессор |
Как видно из таблицы все объявления на машинном языке разбиты на четыре поля: поле метки, мнемоники, операнда и комментария. Поле метки используется не всегда и в этой программе осталось пустым. Поле мнемоники содержит мнемонику Ассемблера (команду Ассемблера),которая указывает микропроцессору операцию для выполнения. Поле операнда содержит информацию о регистрах, данных, адресах, участвующих в операции. Поле комментариев содержит пояснительную информацию, помогающую понять действия, происходящие в программе(поле комментариев отделяется точкой с запятой).
Как только программа составлена (табл.1.1.) мнемокод Ассемблера переводится в машинный код и представляется в виде, показанном в табл.1.2.
Т.е. задача ассемблирования состоит из этапов:
1)перевод мнемоники и операндов на машинный язык;
2)назначение последовательно ячеек памяти каждой команде и операнду.
Переход от версии табл.1.1. к версии табл.1.2. может быть осуществлен либо вручную, либо на машине при помощи специальной программы Ассемблера.
Табл.1.2.Программа в машинных кодах и на языке Ассемблер.
Адрес Н-код |
Содержимое¦ Н-код |
Метка |
Мнемоника ассемблера
|
Комментарий | ||
0800 |
3E |
|
MVI A,B4H |
| ||
0801 |
B4 |
|
CMA |
| ||
0802 |
2F |
|
STA 0900 |
| ||
0803 |
32 |
|
|
|
| |
0804 |
00 |
|
|
|
| |
0805 |
09 |
|
|
|
| |
0806 |
76 |
|
HLT |
|