Команда DEBUG
DEBUG — отладчик машинного кода: ассемблирование (A), дампы (D), ввод (E), трассировка (T), точки (G). Через него правили сектора и писали tiny-утилиты.
Синтаксис
DEBUG [[диск:][путь]файл [параметры]]
Все параметры
| Ключ | Что делает |
|---|---|
A [адрес] | Ассемблировать инструкции. |
D [диапазон] | Дамп памяти. |
E адрес [значения] | Ввести байты. |
R | Регистры и флаги. |
T [=адрес] [число] | Трассировка по шагам. |
G [=адрес] | Выполнить до точки. |
U [диапазон] | Дизассемблировать. |
N имя / L / W | Имя файла, загрузка, запись. |
Q | Выход. |
H числа | Hex+dec калькулятор. |
M, C, F, S | Копировать, сравнить, заполнить, найти в памяти. |
I/O порт | Ввод/вывод в порты. |
XA/XD/XM/XS | Работа с EMS. |
Примеры
DEBUG
Пустой сеанс.
H 10 20
0x10 = 16 dec, сумма/разность.
D 0:0 FF
Дамп таблицы векторов.
Типичные ошибки
- Одна опечатка в E — и правите не ту память. Сначала D, потом E.
- W без N перезапишет файл программы — держите копии.
Вопросы и ответы
Что можно сделать DEBUG без ассемблера?
Смотреть дампы, править байты в файлах, считать hex, чинить boot-сектор.
Почему DEBUG нет в 64-бит Windows?
NTVDM вырезан. Пользуйтесь DOSBox или флешкой MBFU.