Основные команды DEBUGa
Запуск программы Debug производится debug.exe из командной строки. После запуска программы на экране монитора появится - и мигающий курсор _. Программа готова к выполнению. Список основных команд DEBUGa можно получить введя символ ? , который приведен на рис.3.6.1., для выхода из отладчика DEBUGa вводится Q.
рис. 3.6.1.
Для просмотра всех регистров процессора необходимо набрать r и на экране монитора отобразится текущее содержимое регистров процессора рис.3.6.2 , где отображены содержимое общих регистров, состояние регистра флагов ( nu up ei pl nz na po nc), адрес команды, которая будет выполняться 0aed:0100 ( cs:ip cs=0aed ip=0100 ), машинный код команды 74d0 , символьный код, мнемонический код команды JZ ( условный переход по флагу Z) и величина изменения содержимого ip 00d2
рис. 3.6.2
При работе с DEBUGом могут возникать ошибки в синтаксисе написание команд, проверьте правильность написания и исправьте. В данном случае пропущено =
Нужно написать – t=0aed:0100,4
Команда r (register – регистр) без расширения отображает содержимое всех регистров процессора, с указанием регистра изменяет его содержимое рис.3.6.3
рис.3.6.3
В нашем случае содержимое регистра DX поменяли с 0000 на 3456.
Команда A (ассемблировать) позволяет писать (изменять) команды по указанному адресу (полный логический адрес памяти). ¯ - ввод ( enter)
-A 0aed:0100 ¯
-0aed:0100 JZ 00d2 ¯
Команда U (деассемблировать) выводит содержимое памяти в виде команд указывается полный логический адрес начала и конца выводимой памяти рис.3.6.4
рис.3.6.4
Команда D ( dump) выводит на экран монитора содержимое памяти 16 виде, указывается полный логический адрес начала и конца отображаемой памяти рис.3.6.5
0 1 2 3 4 5 6 7 8 9 a b c d e f
номер байта
содержимое ячеек памяти
адрес памяти содержимое ячеек памяти в 16 виде в коде ASCII
рис.3.6.5
Команда T ( trace ) пошаговое выполнение программы с распечаткой содержимого регистров процессора. При вводе t без расширения, выполняется только одна команда текущая. Расширение Т : Т=сссс:дддд, нн где сссс: дддд – полный адрес команды с которой начнётся трассировка (сссс- сегмент, дддд- смещение), нн- количество шагов, выполняемых команд рис. 3.6.6
рис. 3.6.6
Команда G ( go ) – выполняет команды с (полный адрес команды) по полные адреса команд останова, их может быть несколько до10
-g=0aed:0100,0aed:0121,0aed:00da
ВНИМАНИЕ !!! Неправильная адресация останова может привести к зависанию машины и перезагрузки.
Команда m (move) перемещает данные в памяти с адреса ( полный) по адрес ( полный) в область памяти определяемым адресом ( полный).
- m 0aed:0100, 0aed:0400,1000:0700
Команды L, N, W предназначены для работы с внешней памятью ( hdd, fdd и т.д)
Команда L– загружает из внешней памяти по адресу ( полный адрес) оперативной памяти, указывается объём в байтах.
Команда N- присваивает области памяти ( начальный, конечный адрес ) имя для создания файла.
Команда W – загружает из оперативной памяти ( полный адрес), количество (объем в байтах) во внешнюю память.
Команды XA, XD, XM, XS используются для работы с оперативной памятью в защищенном режиме.
Дата добавления: 2017-06-13; просмотров: 1267;