"Ассемблер и программирование для IBM PC. (IBM PC assembler language and programming)" - читать интересную книгу автора (Абель Питер, Переводчик: Ю.В.Сальников)

программы должен быть COM (см. гл.6 для пояснений по
COM-файлам),
- так как только программист знает, где действительно
кончается его программа, указать отладчику длину программы в
байтах. В последнем примере концом программы является команда

хххх:0106 C3 RET

Эта команда однобайтовая и поэтому размер программы будет равен
106 (конец) минус 100 (начало), т.е. 6.
- запросить регистр CX командой: R CX [Return]
- отладчик выдаст на этот запрос CX 0000 (нулевое значение)
- указать длину программы - 6,
- записать измененную программу: W [Return]

В обоих случаях DEBUG выдает сообщение "Writing nnnn bytes." (Запись
nnnn байтов). Если nnnn равно 0, то произошла ошибка при вводе длины
программы, и необходимо повторить запись cнова.


ОСНОВНЫЕ ПОЛОЖЕНИЯ НА ПАМЯТЬ
________________________________________________________________

Отладчик DOS DEBUG это достаточное мощное средство, полезное для
отладки ассемблерных программ. Однако следует быть осторожным с ее
использованием, особенно для команды E (ввод). Ввод данных в неправильные
адреса памяти или ввод некорректных данных могут привести к
непредсказуемым результатам. На экране в этом случае могут появиться
"странные" символы, клавиатура заблокирована или даже DOS прервет DEBUG и
перезагрузит себя с диска. Какие-либо серьезные повреждения вряд ли
произойдут, но возможны некоторые неожиданности, а также потеря данных,
которые вводились при работе с отладчиком.
Если данные, введенные в сегмент данных или сегмент кодов, оказались
некорректными, следует, вновь используя команду E, исправить их. Однако,
можно не заметить ошибки и начать трассиpовку программы. Но и здесь
возможно еще использовать команду E для изменений. Если необходимо начать
выполнение с первой команды, то следует установить в регистре командного
указателя (IP) значение 0100. Введите команду R (register) и требуемый
регистр в следующем виде:

R IP [Return]

Отладчик выдаст на экран содержимое регистра IP и перейдет в ожидание
ввода. Здесь следует ввести значение 0100 и нажать для проверки результата
команду R (без IP). 0тладчик выдаст содержимое регистров, флагов и первую
выполняемую команду. Теперь можно, используя команду T, вновь выполнить
трассировку программы.
Если ваша программа выполняет какие-либо подсчеты, то возможно
потребуется очистка некоторых областей памяти и регистров. Но yбедитесь в
сохранении содержимого регистров CS, DS, SP и SS, которые имеют