Запись и выполнение простых программ
ЛАБОРАТОРНАЯ РАБОТА №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.