Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР1 МПС.RTF
Скачиваний:
11
Добавлен:
17.02.2016
Размер:
228.71 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЕГАЗОВЫЙ УНИВЕРСИТЕТ

ИНСТИТУТ НЕФТИ И ГАЗА

Лабораторная работа №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Н

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]