Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 2.doc
Скачиваний:
12
Добавлен:
19.11.2018
Размер:
280.06 Кб
Скачать

Предположим, необходимо заменить диагностические сообщения в воот-секторе на свои собственные. Для этого выполним последовательность действий.

Загрузка ВООТ-сектора:

L 100 80 0 1

Затем, используя команду Е, проведем редактирование диагностических сообщений. И наконец, за­помним отредактированный загрузчик на диске:

W 100 80 0 1

Внимание! Изменять саму программу в BOOT-секторе категорически запрещается! Изменять можно только текстовые сообщения.

Запись в файл на диске производится ко­мандой W без аргументов (или только с параметром <адрес>). В этом случае команда W переписывает на диск файл, определение которого находится в контрольном блоке FCB по адресу CS:80. Для такой установки пред­варительно необходимо командой N указать имя файла, куда будет производиться запись, либо запустить DEBUG с указанием имени файла. В пару регистров ВХ:СХ при этом необходимо занести длину записываемого файла с помощью команды L (Load).

Внимание.

  1. Команды Go и Trace изменяют содержимое регистров BX и CX. Перед употреблением команды W необходимо убедиться, что эти регистры содержат правильные данные.

  2. Командой W нельзя переписывать файлы типа .EXE и .HEX. Эти файлы записываются в специальном формате, недоступном DEBUG.

Начало области памяти, откуда будет производиться запись, всегда по умолчанию является байтом с адре­сом CS:0100.

Если же используется команда

W <адрес>

для записи в файл, то параметр <адрес> указывает на­чало области памяти, копируемой в файл.

Пример 3.

Скопировать в файл на диске содержимое BIOS-области оперативной памяти.

Предполагая наличие PC AT со стандартным BIOS размером 64К, обнулим сначала регистр ВХ, а затем занесем в регистр СХ значение 2000Н. Далее зададим имя файла, куда будем копировать старшую половину BIOS, командой:

N BIOS.COM

И наконец,команда

W F000:E000

занесет в файл BIOS.COM содержимое BIOS.

Пример 4.

Запомнить загрузчик BOOT диска А: как файл BOOT.COM на диске А:.

Для этого выполним команды:

L 100 0 0 1

N A:\BOOT.COM

W

2.3. Общий список команд программы debug

Для быстрого использования программы DEBUG все приведенные выше команды сведены в таблицу 2.2.

Таблица 2.2

Команда

Функция

Формат

Assemble

Compare

Dump

Enter

Fill

Go

Hexarith­metic

Input

Load

Move

Name

Транслирует вы­ра­жение

Сравнивает память

Выводит на экран со­держимое памяти

Изменяет память

Меняет блоки памя­ти

Выполняет про­грам­­му

Шестнадцатеричное сложение и вычита­ние

Считывает байт из порта и выводит его на экран

Загружает файл или сектор с диска

Копирует блок памяти

Определяет файлы и параметры

A [<адрес>]

C <адрес1>

L<длина>

<адрес2>

D [<адрес блока>]

[L<длина блока>]

E <адрес> [<список>]

F <диапазон памяти> <цепочка байтов>

G[=<адрес>]

[<адрес1>]

[<адрес n…>]

H <число1> <число2>

I <адрес порта>

L [<адрес>

<номер диска>

<начальный сектор>

<число секторов>]

M <диапазон> <начальный адрес>

N [<путь>]

<имя файла>

Продолжение таблицы 2.2

Команда

Функция

Формат

Output

Proceed

Quit

Register

Search

Trace

Unassem­bler

Write

Передает выходной байт в порт

Переход к следую­ще­му оператору

Выход из DEBUG

Выводит на экран ре­гистры и флаги, дает доступ к ним

Ищет символы

Отслеживание программы

Дизассемблирование программы

Записывает файл или сектор на диск

O <адрес порта> <байт>

P[=<адрес>

[<число инструкций>]]

Q

R [<имя регистра>]

S <диапазон памяти> <цепочка байтов>

T[=<адрес>]

[<число инструкций>]

U [<начальный адрес> [<длина>]]

или

U <начальный адрес> <конечный адрес>

W [<адрес>

<номер диска>

<начальный сектор> <число секторов>]

Для углубления знаний по системному отладчику DEBUG в следующем разделе предложен цикл лабораторных работ, вместе с тем позволяющих самостоятельно освоить некоторый дополнительный материал.