|
|
|
|
Загрузка и выполнение программ через MS-DOS (код 4Bh с AL=0)
При использовании функции загрузки и выполнения MS-DOS требует не только достаточного количества свободной памяти для загрузки программного
загрузчика файла COMMAND.COM, но также достаточное количество свободной памяти для размещения новой программы. Эта память используется также
для создания блока начального распределения новой программы. Вспомните, что блок начального распределения порождающей программы должен быть установлен
достаточно большим для предохранения текущей программы, или перезаписи блока операционной системой MS-DOS при загрузке новой программы. Кроме того,
большинство резидентных подпрограмм или RTL написаны в формате типа .COM. Для программ типа .COM операционная система MS-DOS устанавливает стек в начало
наивысшего адреса доступной памяти в общем сегменте, который используется для программного кода, данных и стека. Если вершина стека не настраивается
внизу сегмента, то может быть защищено до 64 Кбайт порождающей программы. Если же стек настраивается внизу сегмента, то все, что находится в стеке,
будет потеряно (например, при возврате в MS-DOS). Конечно, возврат в MS-DOS в стеке не нужен, если используется функция с кодом 4Ch.
|
|