Низкоуровневое програмирование Главная - Реальный режим - Прерывания DOS - INT 21h: Сервис DOS. - Функция 4Bh: Выполнить или загрузить программу.

Функция 4Bh: Выполнить или загрузить программу.

Вход:
AH = 4Bh
AL - действие:
0 - загрузить и выполнить
1 - загрузить
3 - загрузить оверлей
4 - загрузить и выполнять в фоне (Европейский MS-DOS4)
DS:ВX - указатель на строку с полным путём к исполняемому файлу.
ES:BX - указатель на таблицу параметров

Выход:
если CF установлен - AX = код ошибки
если CF сброшен - операция выполнена успешно

Примечание:
функция может изменить значение регистров BX и DX
Коды ошибок:
1 - неправильный номер подфункции
2 - файл не найден
5 - ошибка диска
8 - недостаточно памяти
10 - ошибка переменных среды
11 - неверный формат файла

Подфункция 5
Так же эта функция имеет специальную подфункцию с номером 5
Вход:
AH = 4Bh
AL = 5
DS:DX - указатель на структуру состояния выполнения
Выход:
если CF установлен - AX = код ошибки
если CF сброшен - операция выполнена успешно, AX=0

Примечание:
После выхода из этой функции переключатель A20 находится в состоянии, запрещающем читать высокие адреса
DOS 5.0+
Структура состояния программы:
смещениеразмерсмысл
02 байтарезерв
22 байтатип: 0=.exe, 1=оверлей
44 байтауказатель на строку с полным именем исполняемого файла
82 байтасегмент PSP программы
0Ah4 байтаточка входа
0Eh4 байтаРазмер программы в памяти, включая PSP