Методика анализа результатов, полученных в ходе лабораторной работы
Программный раздел содержит наборы программ для исследования на языке ассемблера для микропроцессоров 8080.Каждой программе предпосланы введение и комментарии; за каждой программой следует по крайней мере один пример ее использования. При исследовании программ была получена следующая информация: назначение программы, процедуру ее выполнения, используемые регистры, размер памяти, необходимый для программы и ее данных, а также специальные случаи, входные и выходные условия.
Во всех программах был использован следующий метод передачи параметров:
Первый 8-разрядный параметр передается в аккумуляторе, второй 8-разрядный параметр- регистре В, а третий- в регистре С.
Первый 16-разрядный параметр передается в регистрах Н и L, при этом старший байт- в регистре Н. Второй 16-разрядный параметр передается в регистрах D и Е со старшим байтом в D.
Большее число параметров передается прямо или косвенно. Вход в программу осуществляется с помощью .
Для большинства коротких программ было определена процедура выполнения отдельных команд.
Порядок выполнения отчета по лабораторной работе:
1. Цель и наименование работы:
2. Перечень команд передачи данных;
3. Исследуемые программы с комментариями:
4. Заполненные таблицы результатов исследования программ:
5. Графическое представление выполнения команд
6. Ответы на контрольные вопросы:
7. Анализа результатов, полученных в ходе лабораторной работы
Образец отчета по лабораторной работе:
Лабораторная работа № 3.
Запись и выполнение простых программ
Учебные цели: исследование выполнения отдельных команд и простых программ микропроцессором; использование различных методов адресации в программах; запись программ.
Учебные задачи:
1. Исследование выполнения отдельных команд и простых программ микропроцессором; использование различных методов адресации в программах; запись программ.
2. Закрепление полученных теоретических знания по программированию микропроцессорных систем.
3. Практически рассмотреть состояние различных узлов и устройств микропроцессора, а также компонентов микропроцессорной системы, используя программное моделирование.
Оборудование: ПК IBM/PC или совместимый с программным эмулятором КР580.
Порядок выполнения работы.
Задание №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.Каждой программе предпосланы введение и комментарии; за каждой программой следует по крайней мере один пример ее использования. При исследовании программ была получена следующая информация: назначение программы, процедуру ее выполнения, используемые регистры, размер памяти, необходимый для программы и ее данных, а также специальные случаи, входные и выходные условия.
Разработанные программы позволили использовать, исследовать и анализировать команды с различными способами адресации. Используя различные способы адресации можно получить более эффективное исполнение программы.