Преодразование файла типа .exe в файл типа .com. - часть 2
команде. Остальная часть программы должна быть перемещаемым
сегментом команд, и об этом не нужно забывать при написании
программы, которая будет преобразовываться в файл типа .COM.
Ассемблирование и редактирование связей этой программы
осуществляется обычным способом. Однако до запуска программы DEBUG
нужно изменить в имени файла тип .EXE на тип .COM. Это необходимо
сделать, так как программа DEBUG не позволяет записывать файл типа
.EXE. На Фиг. 5.19 показана последовательность шагов, которую нужно
выполнить. В данном примере вводится команда программы DEBUG без
имени файла. В качестве имени можно было бы в данной строке указать
FIG5=18.COM, зато его отсутствие позволило продемонстрировать
некоторые другие функции программы DEBUG. Команда N отладчика
позволяет задать имя файла. После этого команда L выполняет
загрузку файла в память. Если указать имя файла в команде DEBUG, то
последняя выполнит все то же самое, что и команды N и L.
Теперь, когда файл загружен, вы обнаружите, что в
дествительности программа загрузилась, начиная со смещения 400H.
Команда M сдвигает содержимое области памяти с 400H на 100H. Длина
области, равная 1000H, была выбрана для гарантии того, что там
поместится вся программа. Теперь программа соответствует формату
файла типа .COM и может быть опять записана на дискету. Однако
прежде, чем это сделать, вы изменяете содержимое регистра CX, чтобы
он указал фактическую длину программы. При любом считывании и
записи файлов на дискету, осуществляемых программой DEBUG, длина
файла хранится в регистре CX. Так как файл типа .COM теперь намного
короче, чем был файл типа .EXE, то мы можем сэкономить дисковую
B>A:ASM FIG5_18,,,;
The IBM Personal Computer Assembler
Version 1.00 (c)Copyright IBM Corp 1981
Warnings Severe
Errors Errors
0 0
Содержание Назад Вперед