У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа ’1 Арифметические команды микропроцессора на языке Ассемблер Цель работы- 1.html

Работа добавлена на сайт samzan.net: 2016-01-17

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 2.2.2025

 Цель работы: 

1. Изучить работу программы-эмулятора лабораторного стенда УМПК-80;

2. Изучить арифметические команды микропроцессора Intel 8080 на языке «Ассемблер»

Оборудование: ПЭВМ

Программное обеспечение: программа-эмулятор лабораторного стенда УМПК-80

Основные положения

Программная модель микропроцессорного устройства УМПК-80 на основе БИС серии К580 дает широкие и удобные возможности для набора и отладки программ (к примеру, может быть возможен одновременный просмотр всех регистров, памяти, ввод команд в мнемонических обозначениях и в шестнадцатеричных кодах, ассемблирование и дизассемблирование команд и т. д.). С помощью модели изучают особенности работы однокристальных микропроцессоров, с фиксированным набором команд. УМПК-80 является легко осваиваемым и удобным средством для исследования относительно небольших (до 0,5 Кбайт) программ пользования. Реальный УМПК-80 имеет внутренний источник питания, обеспечивающий ее работу в сети 220 B, 50 Гц.

В ее состав УМПК-80 входят:

– микропроцессор (МП);

– схема тактового питания (СхТП);

– формирователь магистрали данных (ФМД);

– формирователь магистрали управления (ФМУ);

– формирователь магистрали адреса (ФМА);

– восьмиразрядная магистраль данных (МД). для двунаправленного обмена данными между отдельными узлами микро-ЭВМ;

– шестнадцатиразрядная однонаправленная магистраль адреса (МА), управляемая микропроцессорной БИС и используемой для адресации к памяти и отдельными узлами микро-ЭВМ;

– пятиразрядная однонаправленная магистраль управления (МУ), управляемая микропроцессорной БИС и служащая для определения режима работы микро-ЭВМ при выполнении каждого МЦ;

– оперативное запоминающее устройство (ОЗУ), емкостью 1Кб;

– постоянное запоминающее устройство (ПЗУ), емкостью 2Кб;

– регистр ввода (РгВв) с переключателей (П);

– регистр вывода с индикацией состояний светодиодами (РгВыв);

– схема выдачи кода прерывания (СхВКПР);

– схема дешифрации адреса (СхДША);

– схема выдачи звукового сигнала (СхВЗС);

– клавиатура управления и ввода данных (К), состоящей из 9 клавиш управления, и 16 клавиш для введения шестнадцатеричных кодов чисел;

– регистр чтения клавиатуры (РгЧК);

– шестиразрядный восьмисегментный дисплей (Д), четыре разряда которого служат для отображения кода адреса в шестнадцатеричной системе исчисления, а два – для отображения данных;

–  РгСК - регистр сканирования;

–  РгСг - регистр сегментов дисплея;

– магистрали микро-ЭВМ, а также входной и выходной регистры имеют индикационные светодиоды (ИС), указывающие их состояние.

Основным элементом УМПК-80 является микропроцессор К580ВМ80. Этот микропроцессор является аналогом микропроцессора Intel 8080. Он представляет собой однокристальный восьмиразрядный МП  с фиксированной системой команд, и предназначен для построения средств обработки данных, применяемых в устройствах автоматики, контроллерах и МЭВМ. Он помещен в пластиковый корпус с 40 выводами и потребляет мощность 750 мВт. Его тактовая частота составляет 2,5 МГц.

Память УМПК-80 организована в виде восьмиразрядных ячеек, каждая из которых имеет свой шестнадцатиразрядный адрес. Таким образом, микропроцессорная БИС может работать с памятью до 65536 байт.

В УМПК-80 реализована адресация с помощью карты памяти: каждому физическому устройству макета ставится в соответствие адрес, и обращение к нему при таком типе адресации аналогично обращению к ячейке памяти с использованием всего набора команд микропроцессора.

В ПЗУ, емкостью 2 Кб, записаны управляющие и демонстрационные программы; адреса с 0800h по 0BFFh – ОЗУ; адрес 0BB0h – начальный адрес стека а адреса с 0BB1h по 0BFF задействуются для временной записи данных во внутренних регистрах МП при работе управляющей программы.

Адрес 0800h является также начальным адресом ОЗУ, куда могут записываться исследуемые программы пользователя. Следует отметить, что область ОЗУ с адреса 0800h по адрес 0AFFh в учебной  микро-ЭВМ схемотехнически защищена от случайной записи во время выполнения программ пользователя. Для записи данных при выполнении программ необходимо использовать область ОЗУ с адреса 0B00h по адрес 0BB0h.

Такая адресация позволяет легко осуществить дешифрацию устройств на основе простого трехразрядного дешифратора. Как видно из рисунка, для дешифрации устройств можно использовать лишь 11-й, 12-й, 13-й разряды адресной магистрали. Любая из восьми комбинаций состояний этих разрядов однозначно определяет вид устройства, с которым будет работать микропроцессор на каждом машинном цикле.

Микропроцессор К580ВМ80 имеет восьмиразрядную внутреннюю шину данных. Обмен информацией между внутренней шиной данных и шиной данных микропроцессорной системы осуществляется через двунаправленный буферный регистр данных. К580ВМ80 помещен в пластиковый корпус с 40 выводами и потребляет мощность 750 мВт. Его тактовая частота составляет 2,5 МГц. Шестнадцатиразрядная шина адреса позволяет микропроцессору осуществлять непосредственную адресацию до 64 Кб памяти. Буферные регистры адресов и данных имеют выходы с тремя состояниями (высокий, низкий уровни и состояние с высоким входным сопротивлением), что позволяет отключать микропроцессор от шины системы при реализации режима прямого доступа к памяти со стороны внешних устройств.

Секция регистров включает в себя восемь восьмиразрядных регистров (W2, W3, B, C, D, E, H, L) и трех шестнадцатиразрядных регистров (программный счетчик, указатель стека, управляемый адресный регистр). Регистры B, C, D, E, H, L являются регистрами общего назначения (РОН), в зависимости от типа выполняемой команды могут использоваться либо как самостоятельные регистры, либо как шестнадцатиразрядные пары BC, DE, HL. Буферные регистры W2 и W3 не являются программно-доступными регистрами и используются для выполнения команд внутри БИС микропроцессора.

Программный счетчик (PC) содержит адрес памяти, по  которому находится текущая команда. Содержимое счетчика автоматически изменяется в течение каждого цикла команды. Указатель стека (SP) содержит адрес памяти, начиная с которого ее можно применять для хранения и восстановления содержания программно-доступных регистров МП БИС.

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

Арифметико-логический блок (АЛБ) выполняет арифметические и логические операции над данными, представленными в двоичной форме под воздействием схемы управления (СУ) микропроцессорной БИС. Он включает в себя восьмиразрядное арифметико-логическое устройство (АЛУ), схему десятичной коррекции (ДК), построенной на базе ПЗУ, восьмиразрядный регистр признаков аккумулятор и буферный регистр (W1). Арифметико-логический блок позволяет осуществить арифметические операции сложения и вычитания, а также основные логические операции (И, ИЛИ,  исключающее ИЛИ) и сдвиг. При проведении операций одно число всегда берется из аккумулятора, а другое - из буферного регистра W1. Результат выполнения операции поступает на внутреннюю шину данных или записывается в регистр накопителя. Блок десятичной коррекции при необходимости осуществляет перевод содержимого регистра накопителя из двоичной в двоично-десятичную форму.

После выполнения каждой операции в АЛУ вырабатывается пять признаков, значения которых могут влиять на выполнение последующих команд обработки информации (но не всех) и условий передачи управления. Для удобства сохранения и восстановления состояния микропроцессора во время прерываний и перехода к подпрограммам все признаки собраны в одном регистре – регистре признаков.

Признак переноса (Carry – C) устанавливается в единицу, если при выполнении команд появляется единица переноса из старшего разряда.

Дополнительный признак переноса (Auxiliary carry – AC) устанавливается в единицу, если при выполнении команды возникает единица переноса из третьего разряда числа. Состояние разряда может быть проанализировано лишь командой десятичной коррекции числа.

Признак знака (Sign – S) в машинном слове можно представить числом от -128 до +127. В этом случае седьмой (старший) разряд числа – его знак. Единица в седьмом разряде при такой записи будет указывать на отрицательное число, а ноль – на положительное.

В разряд нулевого признака (Zero – Z) записывается единица, если при выполнении команды результат равен нулю.

В разряд признака четности (Parity – P) записывается единица, если при выполнении команды количество единиц в разрядах результата будет четным.

Следует иметь в виду, что различные команды по-разному влияют на отдельные признаки.

Регистр команд (РгК) и дешифратор команды (ДШК) используется в микропроцессорной БИС для получения и дешифрации команды. При извлечении команды первый байт, содержащий ее код, помещается в регистр команды и поступает на дешифратор команд. Дешифратор совместно со схемой управления и синхросигналами 1, 2 формирует управляющие сигналы для всех внутренних блоков микропроцессорной БИС, а также его выходные сигналы управления и состояния.

На схему управления поступают шесть сигналов и выходят еще шесть управляющих сигналов.

Входные управляющие сигналы МП К580ВМ80

Обозначение  Наименование и функциональное назначение

1, 2 Тактовые импульсы. Постоянно подаются на МП, обеспечивают тактирование.

RESET Сброс. Начальная установка и запуск командного цикла с адреса 00:00.

READY Готовность данных к обмену между памятью или ВУ и микропроцессора.

INT Запрос на внешнее прерывание.

HOLD Захват шин. Запрос на прямой доступ к памяти со стороны ВУ.

Выходные управляющие сигналы МП К580ВМ80

Обозначение  Наименование и функциональное назначение

READ Разрешение приема информации с шины данных системы.

WRITE Признак выдачи информации на шину данных.

SYNC Синхронизация. Начало машинного цикла.

WAIT Ожидание. Микропроцессор находится в состоянии ожидания.

INTE Разрешение прерывания.

HLDA Подтверждение захвата шин. Признак допуска ВУ к шинам данных и адреса.

Выполнение каждой команды производится микропроцессорной БИС в строго определенной последовательности, определяемой кодом команды, и синхронизируется во времени сигналами 1, 2 тактового генератора.

В зависимости от вида команды время выполнения команды (время получения, декодирования и выполнения) может состоять из 1–5 машинных циклов. Машинный цикл (МЦ) – время, требуемое для извлечения одного байта информации из памяти или выполнения команды, определяемой одним машинным словом. Машинный цикл может состоять из 3–5 машинных тактов. Машинный такт (МТ) – период синхросигналов 1 или 2. Для микропроцессорной БИС К580ВМ80 существует десять различных типов машинных циклов:

– извлечение кода команды;

– чтение данных из памяти;

– запись данных в память;

– извлечение из стека;

– запись данных в стек;

– ввод данных из внешнего устройства;

– запись данных во внешнее устройство;

– цикл обслуживания прерывания;

– обслуживание прерывания при работе МП в режиме останова;

– останов.

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

Восьмиразрядное машинное слово используется для сообщения МП как кода команд, так и данных. Набор команд фиксирован и состоит из 244 различных команд. Все команды можно разделить на пять групп:

– команды переноса данных, осуществляющие перенос данных между регистрами или регистрами и памятью;

– арифметические команды, включают в себя команды сложения, вычитания, увеличения или уменьшения на единицу данных в регистрах или памяти;

– логические команды, позволяющие осуществить логические операции И, ИЛИ, исключающее ИЛИ, сравнение, сдвиг в регистрах или памяти;

– команды передачи управления, обеспечивающие передачу управления по условию или безусловную передачу, а также вызов или возврат из подпрограмм;

– команды управления и работы со стеком, организующие ввод – вывод из микро-ЭВМ, доступ к стеку и внутреннему регистру признаков микропроцессорной БИС, а также ее управление.

Память микро-ЭВМ организована в виде восьмиразрядных ячеек, каждая из которых имеет свой шестнадцатиразрядный адрес. Таким образом, микропроцессорная БИС может работать с памятью до 65536 байт.

Одна команда может содержать от одного до трех байт. Многобайтовые команды записываются в последовательные ячейки памяти. Первый байт команды всегда содержит код команды. При трехбайтовых  командах во втором и третьем байтах содержатся данные (адрес), причем во втором байте записывается младший байт данных, а в третьем – старший байт данных (адреса).

Микропроцессорная БИС имеет четыре различных типа адресации к памяти или регистрам:

– прямая адресация – второй и третий байты команды содержат адрес памяти (младший байт адреса во втором байте команды, а старший байт – в третьем);

– адресация к регистру – команда указывает на регистр или пару регистров, в которых записаны данные;

– косвенная адресация с помощью регистров – команда указывает на пару регистров, в которых записан адрес памяти или данные;

– непосредственная – команда сама содержит данные.

При двухбайтовых данных во втором байте команды записывается младший байт, а в третьем – старший.

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

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

При обслуживании прерывания, в зависимости от кода команды RST<N>, микропроцессорная БИС обращается к одной из восьми фиксированных ячеек памяти. Особенностью команды RST является то, что ее код передается в МП по шине данных от источника запроса на прерывание. Это происходит после того, как микропроцессор входит в режим прерывания и вырабатывает признак INTE=1. По этой команде  содержимое программного счетчика микропроцессора записывается в стек, затем в нем устанавливается адрес прерывающей программы, состоящий из трехразрядного адреса из команды RST и нулей в остальных разрядах. Таким образом, передается управление одной из восьми возможных прерывающих программ.

При запуске исполняемого файла программной модели Вы попадаете в главное окно модели, в котором производится основная работа с исследуемой программой.

В состав окна входит:

1.  Меню модели

2.  Панель инструментов

3.  Секция машинных кодов

4.  Секция мнемокодов

5.  Секция сообщений

6.  Строка состояния

Перемещения между секциями осуществляются клавишами <Tab> и <Shift+Tab> или с помощью мыши.

Выполнение работы

Задача:

  1. В качестве примера для расчета выбрать два числа в шестнадцатеричном виде в соответствии со своим вариантом (см. приложение 2).
  2. Произвести контрольный расчет заданных однобайтных чисел на предмет сложения и вычитания.
  3. Разработать программу сложения и вычитания двух однобайтных чисел на языке «Ассемблер». При разработке программы сложения (вычитания) предусмотреть расположения исходных данных и результата в ячейках памяти, например 0810Н, 0811Н, 0812Н. В качестве подсказки студенту предоставляется текст программы:

 LXI  H, 0810

MOV  A, M

INX  H

ADD  M

INX  H

MOV  M, A

 HLT

Поэтому необходимо используя таблицу системы команд микропроцессора (приложение 1) необходимо произвести диссамблирование (перевести в машинные коды).

  1. Привести результат в виде таблицы

Адрес

Машинный код

Мнемоника

  1. Ввести программу в эмулятор УМПК-80 и выполнить ее, нажав кнопку в панели инструментов. Проверить результат выполнения программы с результатом контрольного расчета.
  2. Сделать выводы по работе.




1. образовательного процесса
2. Бумеранг Акварельный этюд Недостаточно чтобы у нас были крыльяГлавное чтобы они нас несли Ну во
3. Фискальная политика и ее механизм Особенности фискальной политики в РБ
4. Фактографическая проза или пред-текст
5. Экономика здравоохранения
6. тематиз Основные подходы к исследованию международных конфликтов
7. Вариант 6 рис 13 Дано- R1 6 Ом; R2 195 Ом; R3 13
8. серозный менингит а у нескольких детей симптомы ОРВИ
9. 2013 г УТВЕРЖДАЮ- Начальник Управления по физической культуре спорту и туризму Адм
10. варианта П о к а з а т е л и Nc шт.html