Версии: DOS 2.00 и выше. DOS, функция 49h Освободить блок памяти
Вход:
AH=49h
ES – сегментный адрес освобождаемого блока памяти
Выход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
AX – код ошибки
Описание. Освобождает блок памяти, начинающийся с адреса ES:0000. Этот блок становится доступным для других запросов системы. Вообще говоря, нужно освобождать лишь те блоки памяти, которые получены через функцию 48h (распределить память). Родитель отвечает за освобождение памяти порожденных процессов. Тем не менее, ничто не препятствует освобождать память чужих процессов.
Версии: DOS 2.00 и выше. DOS, функция 4Ah Изменить размер блока памяти
Вход:
AH=4Ah
ES – сегмент распределенного блока памяти
BX – нужный размер блока в 16-байтных параграфах
Выход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
AX – код ошибки
BX – размер максимального доступного блока памяти (в параграфах)
Описание. Изменяет размер существующего блока памяти. Когда программа получает управление, функция 4Bh уже распределила блок памяти, начиная с PSP, который содержит всю доступную память. Чтобы освободить память для запуска порождаемых процессов, блок памяти, начинающийся с PSP, необходимо сначала сжать.
Примечание.
Функция 31h и INT 27h (TSR) сжимают блок по адресу PSP.
Версии: DOS 2.00 и выше.
DOS, функция 4Bh Выполнить или загрузить программу Вход:
AH=4Bh
DS:DX – адрес строки ASCIZ с именем файла, содержащего программу
ES:BX – адрес EPB (блока параметров EXEC)
AL=00h – загрузить и выполнить
AL=01h – загрузить, но не выполнять
AL=03h – загрузить программный оверлей
Выход:
CF=0, если функция выполнена успешно
BX, DX не сохранены
CF=1, если при выполнении функции возникли ошибки
AX – код ошибки
Описание. Данная функция загружает в память и запускает программу, имя которой указано в регистрах DS:DX. Запущенная программа после завершения работы возвратит управление запускаемой. Если диск или путь не указаны, принимаются значения по умолчанию. ES:BX указывает на блок памяти, подготовленный как EPB, формат которого зависит от запрошенной подфункции в AL.
Версии: DOS 2.00 и выше. DOS, функция 4Ch Завершить программу
Вход:
AH=4Ch
AL – код выхода
Описание. Возвращает управление от порожденного процесса его родителю, устанавливая код выхода (его можно опросить функцией 4Dh). Управление передается по адресу завершения в PSP завершающейся программы. Векторы Ctrl-Break и Critical Error восстанавливаются к старым адресам, сохраненным в родительском PSP.
Примечание. Значение ERRORLEVEL (используемое в пакетных файлах DOS) можно использовать для проверки кода выхода самой последней программы.