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

ЛАБОРАТОРНАЯ РАБОТА №3

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

Учебные цели: исследование выполнения отдельных команд и простых программ микропроцессором; использование различных методов адресации в программах; запись программ.

Учебные задачи:

1. Исследование выполнения отдельных команд и простых программ микропроцессором; использование различных методов адресации в программах; запись программ.

2. Закрепление полученных теоретических знания по программированию микропроцессорных систем.

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

Образовательные результаты, заявленные во ФГОС третьего поколения:

Студент должен:

уметь:

- выполнять требования технического задания по программированию микропроцессорных систем;

- составлять программы на языке Ассемблера микропроцессорных систем;

- создавать и отлаживать программы реального времени средствами программной эмуляции и на аппаратных макетах;

- производить тестирование и отладку микропроцессорных систем.

знать

- программное обеспечение микропроцессорных систем;

- базовую функциональную схему микропроцессорной системы;

- методы тестирования и способы отладки микропроцессорных систем;

- состояние производства и использования микропроцессорных систем;

- особенности программирования микропроцессорных систем реального времени;

- методы микропроцессорной реализации типовых функций управления.

Задачи лабораторной работы:

1. Используя программу эмулятора микропроцессорной системы исследовать систему команд микропроцессора КР580ВМ80 и программы типовых функций управления;

2. Практическое использование нового программного продукта.

Обеспеченность занятия:

Учебно-методическая литература:

- Костров Б.В., Ручкин В.Н. Микропроцессорные системы и контроллеры. Учебное пособие. М.,ДЕСС, 2007г,319 с.

- Майоров В.Г., Гаврилов А.И. Практический курс программирования микропроцессорных систем. – М.: Машиностроение, 1999 г.

- Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем: Учебник. – М.: ФОРУМ: ИНФРА-М, 2005

- Палагута К.А. Микропроцессоры INTEL 8080, 8085 (КР580ВМ80А, КР1821ВМ85А) и их программирование/ К.А. Палагута. – М.:МГИУ, 2007. – 104 с.

- Программирование микропроцессорных систем: Учеб. пособие для вузов /Под ред. В.Ф.Шаньгина. – М.: Академия., 2009. – 303 с.

Справочная литература

-Конспект лекций «Микропроцессорные системы».

-Система команд микропроцессора КР580ВМ80.

Технические средства обучения:

- Персональный компьютер;

Программное обеспечение:

-Операционная система Windows;

-Программа - эмулятор микропроцессорной системы КР580.

Приложение №1

Программа №2.1

lxi hi,0010 записать адрес 0010 в паре HL

mov a,m передать данные в аккумулятор

cma инвертировать содержимое аккумулятора

lnx hl инвертировать содержимое HL

mov m,a передать содержимое регистра А в ячейку памяти

hit прервать выполнение программы

Программа №2.2

lda 0010 передать данные из ячейки 0010 в аккумулятор и

mov d,a в регистр D

lhtd 0011 данные из ячейки 0011 передать в регистр HL

sub l вычесть содержимое регистра L из содержимого А

jnc cnt если есть заем, идти на CNT

mov b,l передать содержимое L в регистр В

jmp done перейти на конец программы

cnt:mov b,d передать содержимое D в регистр B

done:hlt остановить выполнение программы

Программа №2.3

lxi hl,0010 записать адрес 0010 в регистр HL

lxi bc,0011 записать адрес 0011 в регистр ВС

ldax bc передать данные из ячейки по адресу ВС в аккумулятор

add m сложить содержимое аккумулятора и ячейки 0010

inx bc увеличить содержимое ВС на 1

stax bc передать содержимое аккумулятора в ячейку ВС

hlt завершить выполнение

Программа №2.4

start:lxi hl,0010 записать адрес 0010 в регистр HL

lxi bc,0011 записать адрес 0011 в регистр ВС

ldax bc передать данные из ячейки ВС в аккумулятор

xra m проверка числа

iz start если 0, то идти на начало

mov b,a записать в регистр В значение аккумулятора

hlt завершить выполнение

Программа №2.5

lxi hl,0000 загрузить адрес в регистр HL

lxi de,0010 загрузить адрес в регистр DE

mvl b,10 записать в регистр число 10

cnt:mov a,m передать данные из ячейки HL в аккумулятор

stax de передать число из аккумулятора в ячейку DE

inx hl инкрементировать HL

inx de инкрементировать DE

dcr b деинкрементировать B

jnz cnt если b≠, идти на CNT

hlt завершить выполнение

Программа №2.6

lxi hl,0010 записать в регистр HL адрес 0010

mov a,m передать данные в аккумулятор из ячейки HL

cma инвертировать число в аккумуляторе

mov d,a передать содержимое аккумулятора в регистр D

hlt останов программы

Лабораторная работа № 3.

Порядок выполнения работы.

Задание №1.

Программа 2.1.

LXI HL,0010 // записать число (адрес) 0010h в регистровую пару HL.

MOV A,M // считать из ячейки памяти 0010h данные в A.

CMA // инвертировать содержимое A.

INX HL // инкрементировать HL – следующий адрес 0011h.

MOV M,A // записать A в ячейку 0011h.

HLT // Останов.

1.2. По адресу 0010h находится число 50h. (00h)

1.3. После выполнения программы в ячейке по адресу 0011h – число AFh. (FFh)

Таблица 1

Содержимое регистров после выполнения каждой команды программы 1.1
Регистры МП Шаг программы (команда, после которой анализируется содержимое регистров)
0 шаг (начало) 1шаг LXI H 2 шаг MOV A,M 3шаг CMA 4 шаг INX HL 5 шаг MOV M,A 6 шаг HLT  
A 50h AFh AFh AFh AFh
FL - - - S,P - - -
H
L
M1=0010 50h 50h 50h 50h 50h 50h 50h
M2=0011 AFh AFh

Задание №2.

Программа 2.2. – нахождение максимального числа.

2.1. В ячейках памяти помещены числа: в 0010h – 10h, а в 0011h – 01h.

2.2. После выполнения программы в регистре B число 10h.

Задание №3.

Программа2.3. – сложение двух чисел.

Слагаемые находятся в ячейках памяти 0010h и 0011, и имеют значение 15h и 01h соответственно. Результат находится в ячейке 0012h и после выполнения программы имеет числовое значение 16h.

Таблица 2

Команда A FL HL М1/данные М2/данные М3/данные ВС
lxi hl 0010 - 15h
lxi bc, 0011 - 15h 01h
ldax bc 01h - 15h 01h
add m 16h - 15h 01h
inx bc 16h - 15h 01h
stax bc 16h - 15h 01h 16h
hlt 16h - 15h 01h 10h

Задание №4.

Программа 2.4. – программа проверки равенства двух чисел.

Сравниваемые числа находятся в ячейках памяти по адресам 0010h и 0011h.

Если они равны 10h и 10h соответственно, то программа зацикливается, если же в ячейках находятся неравные числа 10h и 1h, то программа проходит одну итерацию и в регистре B появляется число 11h.

Задание №5.

Программа 2.5. – программа копирования массивов данных.

В результате выполнения программы были копированы 10 байтов начиная с нуля в ячейки начиная с адреса 0010h.

Задание №6.

LDA 0010h

MOV B,A

LDA 0011h

MOV C,A

LDA 0012h

MOV D,A

LDA 0013h

MOV E,A

HLT

Программа 3.6. 0010h – 00h, D – FFh.

Анализ результатов, полученных в ходе лабораторной работы:

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

Разработанные программы позволили использовать, исследовать и анализировать команды с различными способами адресации. Используя различные способы адресации можно получить более эффективное исполнение программы.

ЛАБОРАТОРНАЯ РАБОТА №3

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

Учебные цели: исследование выполнения отдельных команд и простых программ микропроцессором; использование различных методов адресации в программах; запись программ.

Учебные задачи:

1. Исследование выполнения отдельных команд и простых программ микропроцессором; использование различных методов адресации в программах; запись программ.

2. Закрепление полученных теоретических знания по программированию микропроцессорных систем.

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

Образовательные результаты, заявленные во ФГОС третьего поколения:

Студент должен:

уметь:

- выполнять требования технического задания по программированию микропроцессорных систем;

- составлять программы на языке Ассемблера микропроцессорных систем;

- создавать и отлаживать программы реального времени средствами программной эмуляции и на аппаратных макетах;

- производить тестирование и отладку микропроцессорных систем.

знать

- программное обеспечение микропроцессорных систем;

- базовую функциональную схему микропроцессорной системы;

- методы тестирования и способы отладки микропроцессорных систем;

- состояние производства и использования микропроцессорных систем;

- особенности программирования микропроцессорных систем реального времени;

- методы микропроцессорной реализации типовых функций управления.

Задачи лабораторной работы:

1. Используя программу эмулятора микропроцессорной системы исследовать систему команд микропроцессора КР580ВМ80 и программы типовых функций управления;

2. Практическое использование нового программного продукта.

Обеспеченность занятия:

Учебно-методическая литература:

- Костров Б.В., Ручкин В.Н. Микропроцессорные системы и контроллеры. Учебное пособие. М.,ДЕСС, 2007г,319 с.

- Майоров В.Г., Гаврилов А.И. Практический курс программирования микропроцессорных систем. – М.: Машиностроение, 1999 г.

- Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем: Учебник. – М.: ФОРУМ: ИНФРА-М, 2005

- Палагута К.А. Микропроцессоры INTEL 8080, 8085 (КР580ВМ80А, КР1821ВМ85А) и их программирование/ К.А. Палагута. – М.:МГИУ, 2007. – 104 с.

- Программирование микропроцессорных систем: Учеб. пособие для вузов /Под ред. В.Ф.Шаньгина. – М.: Академия., 2009. – 303 с.

Справочная литература

-Конспект лекций «Микропроцессорные системы».

-Система команд микропроцессора КР580ВМ80.

Технические средства обучения:

- Персональный компьютер;

Программное обеспечение:

-Операционная система Windows;

-Программа - эмулятор микропроцессорной системы КР580.

Наши рекомендации