Санкт-Петербургский государственный электротехнический университет “ЛЭТИ”
Отчет
По лабораторной работе
Програмируемая задержка.
Выполнили:
Студент гр.0105
Бухарев А.А.
Преподаватель:
Смирнов Б.И.
СПб, 2013
Цель лабораторной работы – первое знакомство со средой разработки и отладки пограмм на языке ассемблера.
Необходимо решить следующие задачи:
• познакомиться с запуском и управлением лабораторной среды, построенной на основе файлового менеджера WinCmd,
• освоить основные проиемы работы с текстовым процессором Ultra
Edit 32 (UE32), который используется для вызова и исполнения инструментальных программ лабораторной среды,
• получить первые навыки разработки программ на языке ассемблера,
• изучить последовательность создания исполняемых файлов,
• ознакомиться с простейшими приемами отладки исполняемых модулей с помощью симулятора-отладчика,
• выполнить исследования первой учебной программы.
Текст ПП:
DELAY:
PUSH B
DEL1:
MVI B,0DH ;Для отладки изменено --- 0D9H
DEL2:
XTHL ; Обмен содержимого вершины стека с содержимым HL
XTHL
DCR B ; B←(B) – 1
JNZ DEL2 ; Перейти по адресу a16 если не нуль
DCR C
JNZ DEL1
POP B ; Извлечь слово из стека в BC
RET ; Возврат из подпрограммы
Вид окна программы:
ЗАДАНИЕ НА САМОСТОЯТЕЛЬНОЕ ИССЛЕДОВАНИЕ (5)
Мы видим, что регистр РС содержит в себе адрес строки которая будет выполнена следующей. Когда программа доходит до цикла Delay видим, что регистр РС зацикливается, а значение регистра ВС уменьшается с каждым циклом.
Определение точного времени задержки:
Можно записать код программы в виде количества тактов тратящихся на каждую команду:
DELAY:
PUSH B ;12
DEL1:
MVI B,0DH ;7
DEL2:
XTHL ;16
XTHL ;16
DCR B ;4
JNZ DEL2 ;10(7)
DCR C ;4
JNZ DEL1 ;10(7)
POP ;10
RET ;10
Получаем что формула вычисления задержки имеет вид:
Т=(46*В+18)*С+29
Для повышения точности задержки можно уменьшить коэффициент при переменной В.
Методом перебора определяем, что наиболее близкое значение задержки к 4554 можно получить подставив, в качестве коэффициентов В=16, а С=6 получим задержку равную 4553.
Вопросы к лабораторной работе №1
1) Указать строки которые задают число повторений внешнего и внутреннего циклов.
Это строки:
MVI B,0DH;
MVI C,10H.
2) Пояснить почему для для выполнения лабороторной работы необходимо выполнять загрузку лабороторной среды? Укажите альтернативные способы.
Для выполнения лабороторной работы мы используем лабороторуню среду потому что она содержит в себе уже подгоовленые к запуску лабороторные работы, пояснения к ним и справочные материаллы по языку програмирования Assembler. Также мы можем сами непосредственно запусать все эти документы из папок где они все расположенны.
3) Укажите возможности изменения шрифтов, использованных в UE32.
Шрифты в UE32 изменяются в меню View\Set Font…
Для шрифтов можно настроить стиль, высоту, начертание и пр.
Это сделанно для удовлетворения индивиуальных потребностей пользователя.
4) Help. Вывод различной помощи, справки и информации. Подменю:
|
|
5) Для задержки №11 (380926) значения В=80, С=103, с разностью с требуемым значением – 3.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.