 
        
        - •Системный отладчик debug
- •2.1. Общие сведения
- •2.2. Командный язык отладчика
- •Войти в режим ассемблирования командой
- •Перейдем в режим ассемблирования
- •Провести р-трассировку. Для этого сначала выполнить команду:
- •После этого провести обычную детальную т-трассировку
- •Команда
- •Команда
- •Команда
- •По команде
- •Предположим, необходимо заменить диагностические сообщения в воот-секторе на свои собственные. Для этого выполним последовательность действий.
- •2.3. Общий список команд программы debug
	
		 
		
- 
Системный отладчик debug
2.1. Общие сведения
Существуют разные типы программ-отладчиков для работы с памятью и внешними устройствами на самом нижнем (аппаратном) уровне, написанные под MS-DOS и работающие в реальном режиме РС. Все они предусматривают применение единого командного языка, работают с памятью в диапазоне 000000H - 10FFEFH и отличаются, в основном, видом интерфейса и сервисными функциями. Наиболее простым (всего один файл - debug.exe), а главное, всегда присутствующим в наборе утилит операционной системы, в том числе и Windows, является системный отладчик DEBUG. О нем и пойдет речь в настоящем разделе.
Отладчик DEBUG предназначен для решения широкого круга задач. К ним относятся, например, следующие задачи:
- 
Изучение текущего содержимого оперативной памяти; 
- 
Редактирование отдельных секторов на флоппи-дисках и на винчестере; 
- 
Загрузка и дизассемблирование .сом и .ехе-файлов; 
Разработка и отладка собственных программ на языке ассемблера (точнее на мнемокодах) ;
- 
Загрузка, модификация, вывод на экран содержимого произвольного файла; 
- 
Тестирование периферийного оборудования, для работы с портами ввода/вывода напрямую (в диалоговом режиме); 
- 
Изучение системы команд процессора, прерываний BIOS и MS-DOS. 
При изучении схемотехники PC/AT необходим инструмент, позволяющий напрямую работать с периферийными портами и оперативной памятью, а также создавать короткие тестовые программы для генерации нужных сигналов на системной плате и периферийных адаптерах. Отладчик наилучшим образом подходит для этих целей. Познакомимся только с общими принципами работы в DEBUG.
Запуск отладчика в среде MS-DOS осуществляется командой:
DEBUG [disk:][path][filename][.extension][parameter 1] [parameter 2]
Отладчик запускается указанной командой из любого места файловой системы.
Если команда DEBUG содержит имя файла (filename), то указанный файл загружается в память, и все последующие действия будут выполняться именно для этого файла.
Отсутствие имени файла в команде обозначает, что пользователь работает с файлом, находящимся в памяти, или файл будет загружен в дальнейшем с помощью команд Name и Load.
Parameter 1 и parameter 2 – это параметры загружаемого файла. Например,:
DEBUG diskcomp.com A: B:
В команде А: и В: - параметры, которые программа DEBUG передает программе diskcomp.
После запуска отладчик загружается в оперативную память, а состояние процессора следующее:
- 
Содержимое сегментных регистров CS, DS, ES, SS устанавливается на первом свободном сегменте сразу после самого отладчика. 
- 
Регистр IP устанавливается равным 100. 
- 
После запуска программы DEBUG с именем файла регистр СХ (счетчик) содержит длину этого файла (в байтах). Если длина файла больше 64 К, этот параметр находится в двух регистрах ВХ и СХ (старшие байты в регистре ВХ). 
- 
Текущий адрес передачи из диска равен 80Н в кодовом сегменте (CS). 
- 
Вся доступная память распределена. Каждая попытка распределить память в загруженной программе завершается неудачей. 
- 
Начальное состояние флагов: 
NV UP EI PL NZ NA PO NC.
- 
Значения флагов определяются из таблицы 2.1. 
Таблица 2.1
| Имя флага | 1 | 0 | 
| флаг переноса (да/нет) | CY | NC | 
| флаг паритета (четность/нечетность) | PE | РО | 
| флаг дополнительного переноса (да/нет) | АС | NA | 
| флаг нуля-результата (да/нет) | ZR | NZ | 
| флаг знака (отрицат./положит.) | NG | PL | 
| флаг маскирования прерывания (допуск./запрещ.) | EI | DI | 
| флаг направления (возрастание/убывание) | DN | UP | 
| флаг переполнения (да/нет) | OV | NV | 
Отладчик DEBUG имеет специальный указатель адреса данных, который используется по умолчанию во многих командах отладчика.
П осле
запуска отладчика из любого места
файловой системы слева на экране
появляется черта [ -
] и рядом с ней мигающий курсор, которые
указывают на то, что отладчик ждет ввод
команды  (Рис. 2.1).
осле
запуска отладчика из любого места
файловой системы слева на экране
появляется черта [ -
] и рядом с ней мигающий курсор, которые
указывают на то, что отладчик ждет ввод
команды  (Рис. 2.1). 
Рис. 2.1. Пример запуска программы-отладчика DEBUG
Внимание! Все числа интерпретируются отладчиком в шестнадцатеричной системе счисления.
Рассмотрим команды отладчика DEBUG и работу с ними.
