1-Лабораторная_Основы микропроцессорной техники (Лабораторная работа № 1Основы микропроцессорной тех / Документ Microsoft Word
.docТомский межвузовский центр дистанционного образования
Томский государственный университет
систем управления и радиоэлектроники (ТУСУР)
Кафедра промышленной электроники (ПрЭ)
Лабораторная работа № 1
Основы микропроцессорной техники
Отладка прикладных программ для микропроцессора серии К580
Выполнил:
Студент ТМЦДО
гр.:
специальности 200400
1 июня 2007 г.
2007
Цель работы: освоении системы команд микропроцессора К580ВМ80А и приобретение навыков отладки простейших программ с помощью ассемблера и эмулятора.
Ход работы:
5.2 С помощью редактора Norton Commander создал файл SUM1.asm.
Программа SUM1.asm складывает два числа, записанные с адреса 10Н, и формирует результат равный 85Н в ячейку 12Н.
В аккумуляторе до выполнения команды десятичной коррекции будет число 7FH.
Содержимое регистра признаков F изменяет команда ADD.
5.3 Модифицировал и отладил программу SUM2.asm, используя команды с прямой переадресацией.
Программа SUM1 больше программы SUM2 на два оператора. Программа SUM1 выполнится за 52 машинных такта, SUM2 за 54 машинных такта.
5.4 Проверил работу программы MAX.
Убедился (прогоняя программу в пошаговом режиме), что число, с которым производится сравнение, сначала преобразуется в дополнительный код (инвертируется, увеличивается на единицу, в триггер С записывается 1 как признак отрицательного числа), а затем суммируется с содержимым А. Признаки, формируемые при сложении, запоминаются в регистре F и анализируются последующими командами условного перехода, а содержимое аккумулятора восстанавливается прежним.
5.5 Разработал и проверил программу PORT, выводящую в порт с адресом 81Н содержимое порта 80Н с обменом полубайтов.
5.6 Проверил работу программы DELAY, реализующей двоично-десятичный счётчик в аккумуляторе, скорость инкрементирования которого зависит от времени выполнения подпрограммы временной задержки DELAY.
Прогнал программу в пошаговом режиме в эмуляторе. Содержимое аккумулятора увеличивается на один после каждого выполнения подпрограммы DELAY. Регистр В последовательно меняет своё значение 2-1-0. При вызове подпрограммы указатель стека SP уменьшается на 2, при выходе из подпрограммы увеличивается на 2. Признаки нуля устанавливается в единицу когда В становится равным 0, признак чётности устанавливается в единицу, когда регистр PSW = 2EH. При вызове подпрограммы в стеке сохраняется адрес ячейки памяти, куда был записан последний введенный в стек байт. При выполнении команды RET работа подпрограммы завершается и продолжается выполнение основной программы. Для того чтобы уменьшить скорость работы счётчика, нужно увеличить задержку, т.е изменить значение счетчика DELAY: MVI B,2 (3,4,5,6 и т.д.)
5.7 Разработал и проверил работу программы PSWB, сохраняющей в стеке содержимое регистровых пар PWS и В на время вызова подпрограммы CONV, а затем восстанавливающей их из стека. Подпрограмма CONV переводит числа из шестнадцатеричной системы в десятичную. Содержимое SP уменьшается в программе при выполнении команд PUSH и CALL, а увеличивается командами POP и RET.
5.8 Разработал и отладил на эмуляторе программу UMNOG формирующую в ячейках 100Н (старший байт) – 101Н (младший байт) произведение двоичных чисел, находящихся в портах 100Н и 101H.
5.9 Контрольные вопросы:
-
Какие логические операции выполняются в аккумуляторе микропроцессора?
- поразрядное И над содержимым r и А
- поразрядное И над содержимым ячейки памяти и А
- поразрядное Исключающее ИЛИ над содержимым r и А
- поразрядное Исключающее ИЛИ над содержимым ячейки памяти и А
- поразрядное ИЛИ над содержимым регистра и А
- поразрядное ИЛИ над содержимым ячейки памяти и А
- поразрядное И байта и А
- поразрядное Исключающее ИЛИ над содержимым А и байта
- поразрядное ИЛИ байта и А.
-
Как изменится содержимое аккумулятора после выполнения команды CPI 0FBH?
Содержимое аккумулятора не меняется.
-
Какими командами можно обнулить аккумулятор?
XRA A
MVI A,0
-
Назвать достоинства и недостатки языка ассемблера по сравнению с языками высокого уровня?
Достоинства: размер и скорость выполнения программ.
Недостатки: сложность