Вы находитесь на странице: 1из 10

«ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ НАУК И ТЕХНОЛОГИЙ


КАФЕДРА КОМПЬЮТЕРНОЙ ИНЖЕНЕРИИ

ОТЧЕТ
По курсу: «Микропроцессоры и микроконтроллеры»
Лабораторная работа №2
Тема: «Отладчик AFD. Команды отладчика и управление работой»
.

Выполнил:
ст. гр. ПО-18
Сирота Д.Д.
Проверил:
ст. препод.
Авксентьева О.А.

Донецк – 2021
Вариант №18
Адрес №1 607B3 - 6070:00B3
Адрес №2 4000:100
AFD (Advanced Functional Debugger) – полноэкранный профессиональный отладчик,
обеспечивающий интерактивный доступ ко всем основным ресурсам компьютера, и работающий
в режиме процессора 8086/80286.
Рассмотрим основные команды отладчика:

Рис 1.1. Основное окно отладчика AFD.

D addr – команда отображения кодов программы. Стартовый адрес дезассемблированных


кодов указывается в параметре addr. Сегментный адрес по умолчанию содержится в регистре CS.
CS:n – указывает последнюю выполненную инструкцию.
Введем в командную строку команду: D 6070:00B3

Рис. 1.2. Результат выполнеиня команды D.


Варианты выполнения команды D:
1) D 6070:00B3
2) D CS:00B3, if CS = 6070
3) D B3, if CS = 6070 (сегментный регистр по умолчанию)
4) D DS:3, if DS = 6070
5) D AX, if AX = 00B3 and CS = 6070
А {addr (адрес)} - команда модифицирования ассемблерного кода. Позволяет редактировать
команды программы, вводить программу с клавиатуры. Выход из режима ввода программы
осуществляется нажатием клавиш перемещения курсора, F8, F7. Если адрес addr,модифицируемой
команды не указан, изменения производятся в текущей (выделенной) строке. Если команда задана с
параметром (адресом), текущей становится инструкция с данным адресом.

Рис 1.3. Результат выполнения команды A.

Результат после ассемблирования:

Рис 1.4. Сегмент пограммы после ассемблирования.

Варианты выполнения команды А:


1) А 7080:00F2
2) А CS:00F2, if CS = 7080
3) А F2, if CS = 7080 (сегментный регистр по умолчанию)
4) А DS:F2, if DS = 7080
5) А AX, if AX = 00F2 and CS = 7080
6) А (частный случай), используется для редактирования по позиции курсора.
W fspec, addr, length – команда записи данных из сегмента памяти в файл fspec. Адрес начала
записываемого фрагмента памяти определяется параметром addr. Cегментный адрес по умолчанию
находится в DS. Число записываемых байт, указывается в length,оно задается в шестнадцатеричном
формате.
Запишем команды с 6070:00B3 по 6070:B8:

Рис 1.5. Пример выполнения команды W.


Варианты выполнения команры W
1) W B3, 8, lab; if DS = 6070, файл не будет иметь расширение.
2) W CS,B3,8,lab/lab.bin; if CS = 6070, запись в директорию lab
Запись на другой логический диск возможна при его подключении в DOSbox.
3) запись на флешку W 6070:В3,8,D:\lab.bin if MOUNT в DOSbox.

L fspec (имя файла) {param}{,addr} - команда загрузки файла в память. Если в команде
указывается адрес addr, программа располагается в памяти с данного адреса, в противном случае
адрес “назначения” определен по умолчанию (CS:0100). После завершения операции загрузки
программы в память, число загруженных байт отображается в регистрах BX-CX.
И загрузим из файла lab.txt все по адресу№2 – 4000:140

Рис 1.6. Пример выполнения команды L. количество записанных байт в регистре СХ.
Варианты выполнения команды L
1) L lab.txt , загрузка по умолчанию CS:100.
2) L /CS,B3,8,lab/lab.bin; if CS = 6070, чтение из директории lab
Запись на другой логический диск возможна при его подключении в DOSbox.
3) чтение из флешки L /6070:00B3 D:\lab.bin if MOUNT в DOSbox.

Установим точку останова:

Рис 1.7. Окно установки контрольных точек.


Выгрузим точки останова командой BW:

Рис 1.8. Команда сохранения файла контрольных точек


Варианты выполнения команды BW
1) BW lab/lab;запись в директорию
2) BW E:\lab ; запись на флешку
Изменим точки останова и перезапишем обратно командой BL:

Рис 1.9. Добавление еще одной точки.

Рис. 1.10. Загрузка ранее записанного файла контрольных точек.

Как видно, точка 1 осталась неизменной, а точка 2 была удалена, т.к. не была указана ранее.
S-Search – команда поиска. Формат команды: S [[адр.], строка]:
Варианты выполнения команды S
1) S 4000:100, 90
2) S CS:100,”danil”
3) S ,90 Поиск по умолчанию в сегменте CS.

Рис. 1.11. Результат выполнения команды S 4000:100,90.

F-fill – команда заполнения указанными символами области памяти.


Формат команды: F адр, повтор, строка. На месте строки могут быть как ASCII коды в
одинарных ковычках, так и HEX код.

Рис. 1.12. Результат выполнения команды записи строк.


Варианты выполнения команды F
1)F B3,1,90 if CS = 6070
2)F DS,AX,5,909090; if DS = 6070 and AX = D3
Рис 1.13. Альтернативный способ записи символов в память.

C – сравнение двух областей памяти. Формат команды: С адр.1, адр.2, длина


При однаковых значениях будет выдано соответствующее уведомление, а при различиях
будут выведены указанные области памяти в разные области просмотра памяти на экране:

MO {DE} M{ONO} | C{OLOR} | A{LTERN} ON | OFF - команда обеспечения настройки


экрана. Позволяет включить альтернативный (скрытый) экран для отображения данных,
выдаваемых исполняющейся программой. После выполнения команды MO A ON переключение
между основным и альтернативными экранами осуществляется с помощью клавиши F6. Если
команда задается с параметром M, используется монохромный адаптер, параметр С позволяет
использовать цветной адаптер. Если задать команду без параметров, будут выданы действующие
установки экрана приложения.

Рис 1.14. Команда сравнения памяти.


Рис 1.15 Результат сравнения областей памяти.
Теперь изменим информацию в адрессе 4000:100 при помощи уже известной коданды А для
сравния с разными данными. Получим результат:

Рис 1.16. Результат сравнения при нахождении отличий.

G {start ad.(старт. адр.)}{, break ad.(адрес останова)} - команда запуска программы.


Выполняет программу, начиная с текущей точки (если в команде отсутствует первый операнд) или
с адреса start ad. (“старт. адр.”). Дополнительно может быть установлена точка останова. Сегментом
по умолчанию для адреса останова break ad. Является CS. Выполнение программы может быть
остановлено нажатием CTRL-Esc.
Рис 1.17. Пример команды G.

Рис 1.18. Результат команды G.

Рис 1.19. Результат выполнения команды G, с активной контрольной точкой

Вам также может понравиться