
- •Отладчик программ afd
- •Содержание
- •Введение
- •1. Рабочая среда отладчика.
- •1.1. Запуск отладчика и выход из среды.
- •1.2. Навигация по экрану.
- •1.3. Окно регистров.
- •1.4. Окна памяти.
- •1.5. Окно командной строки.
- •1.6. Окно ассемблера.
- •1.6.1.Просмотр программы.
- •1.6.2. Пошаговое исполнение.
- •1.6.3.Ассемблирование.
- •2. Система команд.
- •2.1. Загрузка файлов.
- •2.2. Управление программами.
- •2.3. Управление регистрами.
- •2.4. Управление памятью.
- •2.5. Управление портами.
- •2.6. Управление режимами.
- •2.7. Трассировка
- •2.8. Протоколирование.
- •2.9. Завершение работы.
- •3. Контрольные точки
- •3.1. Формат экрана контрольных точек
- •3.2. Окно контрольных точек
- •3.3. Управление окном
- •3.4. Вспомогательные функции
- •Приложение п1. Горячие клавиши Рабочий экран
- •Экран контрольных точек
- •Приложение п2 Основные сообщения отладчика
- •Invalid BreakPoint number.
- •Invalid operand type or size.
- •Invalid register.
- •Value missing.
- •Литература
1.6. Окно ассемблера.
Окно ассемблера расположено непосредственно под окном CMD. В этом окне отображается фрагмент отлаживаемой программы. Полагается, что фрагмент находится в сегменте CS.
Левая колонка окна показывает смещение кодов программы в сегменте. Следующая колонка отображает значения кода в HEX-формате. И, наконец, правые две колонки отображают код программы в терминах ассемблера.
В окне ассемблера выполняются следующие уникальные действия:
1) просмотр программы;
2) пошаговое исполнение программы;
3) коррекция программы в терминах языка ассемблера.
Особый статус окна подчеркивается наличием в нем специального маркера исполняемой команды, а также особенностями активизации окна, связанными с характером выполняемых в нем действий.
1.6.1.Просмотр программы.
Для реализации режима просмотра программы необходимо активизировать окно CMD. В этом случае клавиши ↑, ↓, Pg Dn, Pg Up позволяют реализовать "прокрутку" текста программы в окне ассемблера. Причем установка начального адреса программы может быть выполнена командой D addr, где addr - смещение первой команды в сегменте CS (более подробно см. п. 2.2).
1.6.2. Пошаговое исполнение.
Режим пошагового исполнения является активным ВСЕГДА, то есть независимо от того, какое окно экрана активизировано в текущий момент. Для реализации этого режима используются "горячие клавиши" строки-подсказки:
F1 Step - пошаговое исполнение программы с "заходом" в подпрограммы и LOOP-циклы.
F2 StepProg - пошаговое исполнение программы без "захода" в подпрограммы и LOOP-циклы, т.е. любые действия, задаваемые командами CALL, INT, LOOP исполняются за один шаг.
В процессе пошаговой реализации программы специальный маркер (строка, выделенная цветом) показывает на команду, готовую к исполнению (текущую команду). Ниже маркера располагаются строки текущего фрагмента программы, а выше помещается строка с предыдущей исполненной командой.
Исполняя программу "шаг за шагом", мы имеем возможность наблюдать за изменением состояния процессора и стека (окно регистров), а также областей памяти (окна данных). Кроме того, отладчик предоставляет возможность наблюдать за операндами текущей команды, расположенными в памяти. Значение такого операнда отображается в правом верхнем углу окна ассемблера по мере появления команд, оперирующих с памятью.
1.6.3.Ассемблирование.
Для включения режима ассемблирования необходимо активизировать окно CMD и сформировать командную строку A или A addr, где addr - адрес, по которому будет размещаться новая команда программы. После включения режима пользователь может изменить текст программы. Выход из режима - по "CTRL-Home" (см. также п. 2.2).
2. Система команд.
В этом разделе рассмотрены команды отладчика, классифицированные по выполняемым функциям.
2.1. Загрузка файлов.
L fspec {param.}{,addr} |
Загрузка файла fspec в память по указанному адресу addr. По умолчанию адрес загрузки равен CS:0100.
Если файл fspec является программой, т.е. имеет расширение .exe или .com, то в процессе загрузки производятся все необходимые действия по установке программы в память и подготовке ее к исполнению. При этом программе могут быть переданы параметры командной строки param.
После загрузки регистры BX и СХ отображают количество загруженных байт.
Примеры.
L pr1.exe - Загрузка программы pr1.exe по адресу CS:0100. После загрузки программа готова к исполнению.
L pr1 - То же самое, что и предыдущий пример, т.к. по умолчанию отладчик воспринимает все файлы без расширения как .exe-файлы.
L format a: - Загрузка программы форматирования диска format с параметром a:.
L proba.txt - Загрузка текстового файла по адресу CS:100.
L proba.txt,DS:0200 - Загрузка файла proba.txt по адресу DS:0200.
L proba.txt,1000:0200 - Загрузка файла proba.txt по адресу 1000:0200.