Операционная система MS DOS (том 2)

Управление программами


В версии 5.0 MS-DOS появились некоторые новые функции, имеющие отношение к управлению программами. Например, функция 4B05h прерывания INT 21h предназначена для подготовки программы к выполнению. Эта функция может использоваться программами, перехватывающими функцию 4B00h (обычный запуск программы), например, для установки версии MS-DOS.

Регистры на входе:



Регистр Содержимое
AX 4B05h
DS:DX Адрес управляющей структуры (см. ниже)

Регистры на выходе:

Регистр Содержимое
AX 00h, если сброшен флаг CF и, соответственно, функция выполнилась без ошибок;

код ошибки, если установлен флаг CF.

Перед вызовом функции необходимо подготовить управляющую структуру:

(00h) 2 Зарезервировано и равно 00h.
(02h) 2 Флаги типа программы:

Бит 0 - программа типа .EXE;

Бит 1 - оверлей.

(04h) 4 Указатель на ASCII-имя файла с программой.
(08h) 2 PSP сегмента новой программы.
(0Ah) 4 Стартовый адрес CS:IP новой программы.
(0Eh) 4 Размер программы с учетом PSP.

После возврата из этой функции до завершения запущенной программы нельзя вызывать прерывания DOS, BIOS или другие программные прерывания. Если MS-DOS работает в верхней области памяти HMA, после возврата из этой функции адресная линия A20

выключается .

Некоторые недокументированные функции управления программами были включены в документацию MS-DOS версии 5.0:

Функция Назначение
50h Установить PSP для текущей программы.
51h Получить PSP текущей программы.



Содержание раздела