Команда
|
Описание
|
A (Assemble)
|
Транслирование команд ассемблера в машинный код; адрес по умолчанию – CS:0100h.
A [<адрес_начала_кода>]
|
C (Compare)
|
Сравнение содержимого двух областей памяти; по умолчанию используется DS.
В команде указывается либо длина участков, либо диапазон адресов.
C <начальный_адрес_1> L<длина> <начальный_ адрес_2>
C <начальный_адрес_1> <конечный_адрес_1>
<начальный_адрес_2>
|
D (Display/ Dump)
|
Вывод содержимого области памяти в шестнадцатеричном и ASCII-форматах.
По умолчанию используется DS; можно указывать длину или диапазон.
D [<начальный_адрес> [L<длина>]] D [начальный_адрес конечный_адрес]
|
E (Enter)
|
Ввод в память данных или инструкции машинного кода;
по умолчанию используется DS.
E [<адрес> [<инструкции/данные>]]
|
F (Fill)
|
Заполнение области памяти данными из списка; по умолчанию используется DS.
Использовать можно как длину, так и диапазон. F <начальный_адрес_1> L<длина> ‘<данные>’ F <начальный_адрес> <конечный_адрес> ‘<данные>’
|
G (Go)
|
Выполнение отлаженной программы на машинном языке до указанной точки останова; по умолчанию используется CS. При этом убедитесь, что IP содержит корректный адрес.
G [=<начальный_адрес>] <адрес_останова> [<адрес_останова> ...]
|
H (Hexadeci- mal)
|
Вычисление суммы и разности двух шестнадцатеричных величин.
H <величина_1> <величина_2>
|
I (Input)
|
Считывание и вывод одного байта из порта. I <адрес_порта>
|
L (Load)
|
Загрузка файла или данных из секторов диска в память; по умолчанию – CS:100h.
Файл можно указать с помощью команды N или аргумента при запуске debug.exe.
L [<адрес_в_памяти_для_загрузки>]
L [<адрес_в_памяти_для_загрузки> [<номер_диска>
<начальный_сектор> <количество_секторов>]]
|
M (Move)
|
Копирование содержимого ячеек памяти; по умолчанию используется DS.
Можно указывать как длину, так и диапазон. M <начальный_адрес> L<длина> <адрес_ назначения>
M <начальный_адрес> <конечный_адрес> <адрес_ назначения>
|
N (Name)
|
Указание имени файла для команд L и W. N <имя_файла>
|
O (Output)
|
Отсылка байта в порт.
O <адрес_порта> <байт>
|
P (Proceed)
|
Выполнение инструкций CALL, LOOP, INT или повторяемой строковой инструкции с префиксами REPnn, переходя к следующей инструкции.
P [=<адрес_начала>] [<количество_инструкций>]
|
Q (Quit)
|
Завершение работы debug.exe
|
R (Register)
|
Вывод содержимого регистров и следующей инструкции.
R <имя_регистра>
|
S (Search)
|
Поиск в памяти символов из списка; по умолчанию используется DS.
Можно указывать как длину, так и диапазон. S <начальный_адрес> L<длина> ‘<данные>’ S <начальный_адрес> <конечный_адрес> ‘<данные>’
|
T (Trace)
|
Пошаговое выполнение программы. Как и в команде P, по умолчанию используется пара CS: IP. Замечу, что для выполнения прерываний лучше пользоваться командой P.
T [=<адрес_начала>] [<количество_выполняемых_ команд>]
|
U (Unas- semble)
|
Дизассемблирование машинного кода; по умолчанию используется пара CS:IP. К сожалению,
debug.exe некорректно дизассемблирует специфические команды процессоров 80286+, хотя они все равно выполняются корректно.
U [<начальный_адрес>]
U [<начальный_адрес конечный_адрес>]
|
W (Write)
|
Запись файла из debug.exe; необходимо обязательно задать имя файла командой N, если он не был загружен. А программы записываются только в виде файлов .COM! Число байт записываемой информации должно содержаться в регистре CX.
W [<адрес> [<номер_диска> <начальный_сектор>
<количество_секторов>]]
|