|
Наиболее важная часть такой подготовки называется
перемещением.
Программа может содержать адреса, значения которых
должны меняться в зависимости от того, в каком месте памяти
находится программа. Если программе это не требуется, то она
называется само-перемещаемой. Программы типа COM должны быть
само-перемещаемыми, а перемещение программ типа EXE должно
выполняться специальной программой ДОС - загрузчиком.
Программы типа EXE начинаются специальной двухбайтовой
меткой, 4D5A, которая используется для различения программ
разных типов. За этой меткой следует определенная управляющая
информация, включающая таблицу, указывающую какое перемещение
необходимо. Далее размещается собственно программа.
Помимо перемещения, во время загрузки для программ типа
EXE может быть определен сегмент стека. Программы типа EXE
могут определять куда они должны загружаться - в верхнюю или
в нижнюю часть доступной памяти.
В связи с простотой формата COM, можно создавать
относительно короткие и простые файлы типа COM в машинных
кодах непосредственно, либо с помощью программ для
модификации содержимого файлов на дискетах, таких как DEBUG
или SecMod, либо путем написания короткой программы на
БЕЙСИКЕ, которая будет записывать байты программы прямо в
файл типа COM.
|