Можно использовать DEBUG для сохранения программ на диске в следующих случаях:
1. После загрузки программы в память машины и ее модификации необходимо сохранить измененный вариант. Для этого следует:
uзагрузить программу по ее имени: DEBUG n:имя файла [Enter]
uпросмотреть программу с помощью команды D и ввести изменения по команде E
uзаписать измененную программу: W [Enter]
2. Необходимо с помощью DEBUG написать небольшую по объему программу и сохранить ее на диске. Для этого следует:
uвызвать отладчик DEBUG
uс помощью команд A (assemble) и E (enter) написать программу
uприсвоить программе имя: N имя файла.COM [Enter].
Тип программы должен быть COM — так как только программист знает, где действительно кончается его программа, указать отладчику длину программы в байтах.
uзапросить регистр CX командой: R CX [Enter] — отладчик выдаст на этот запрос CX 0000 (нулевое значение)
uуказать длину программы — 6
uзаписать измененную программу: W [Enter]
В обоих случаях DEBUG выдает сообщение «Writing nnnn bytes» (Запись nnnn байтов). В случае, если nnnn равно 0, то произошла ошибка при вводе длины программы, и необходимо повторить запись cнова.
Важно: Отладчик DOS DEBUG это средство, полезное для отладки ассемблерных программ. Однако следует быть осторожным с ее использованием, особенно для команды E (ввод). Ввод данных в неправильные адреса памяти или ввод некорректных данных могут привести к непредсказуемым результатам.
На экране в этом случае могут появиться «странные» символы, клавиатура заблокирована или даже DOS прервет DEBUG и перезагрузит себя с диска. Какие-либо серьезные повреждения вряд ли произойдут, но возможны некоторые неожиданности, а также потеря данных, которые вводились при работе с отладчиком.
В случае, если данные, введенные в сегмент данных или сегмент кодов, оказались некорректными, следует, вновь используя команду E, исправить их. Однако, можно не заметить ошибки и начать трассиpовку программы. Но и здесь возможно еще использовать команду E для изменений. В случае, если необходимо начать выполнение с первой команды, то следует установить в регистре командного указателя (IP) значение 0100.
Введите команду R (register) и требуемый регистр в следующем виде:
R IP [Enter]
Отладчик выдаст на экран содержимое регистра IP и перейдет в ожидание ввода. Здесь следует ввести значение 0100 и нажать для проверки результата команду R (без IP). Отладчик выдаст содержимое регистров, флагов и первую выполняемую команду. Теперь можно, используя команду T, вновь выполнить трассировку программы.
В случае, если ваша программа выполняет какие-либо подсчеты, то возможно потребуется очистка некоторых областей памяти и регистров. Но yбедитесь в сохранении содержимого регистров CS, DS, SP и SS, которые имеют специфическое назначение.