Примечание. Если в AL возвращается 00h, можно предполагать, что работает DOS более ранней версии, чем DOS 2.0.
Версии: DOS 2.00 и выше. DOS, функция 31h Завершиться и остаться резидентным
Вход:
AH=31h
AL – код выхода
DX – объем памяти, оставляемой резидентной (в параграфах)
Описание. Выходит в родительский процесс, сохраняя код выхода в AL. Код выхода можно получить через функцию 4Dh. DOS устанавливает начальное распределение памяти, как специфицировано в DX, и возвращает управление родительскому процессу, оставляя указанную память резидентной (число байт равно DX*16). Эта функция перекрывает функцию INT 27h, которая не возвращает код выхода и не способна установить резидентную программу, размер которой превышает 64 Кбайт.
Версии: DOS 2.00 и выше. DOS, функция 32h Получить информацию DOS о диске (Официально не документирована)
Вход:
AH=32h
DL – номер диска (0 – текущий, 1 – A и так далее)
Выход:
AL=00h, если в DL был задан корректный диск
DS:BX – адрес блока информации о диске для запрошенного устройства (Таблица Б-6)
AL=FFh, если в DL был задан некорректный диск
Описание.
Возвращает блок информации, представляющей интерес для приложений и утилит, которые выполняют доступ к дискам, поддерживаемым драйверами устройств, на уровне секторов.
Некоторые дисководы (особенно незагружаемые) функционируют только через свои драйвера устройств. Такие диски могут содержать неверную информацию в корневой записи и таблице разделов, что делает очень трудным определение, например, размера корневого оглавления, числа таблиц FAT и прочего. Блок информации диска содержит такие данные в хорошо форматированной структуре.
Версии: DOS 2.00 и выше. Таблица Б-6. Формат блока информации о диске
DOS, функция 33h Установить/опросить статус Ctrl-Break Вход:
AH=33h
AL=00h – опросить текущий статус контроля Ctrl-Break
AL=01h – установить статус контроля Ctrl-Break
DL – требуемый статус (0 – выключен, 1 – включен)
Выход: DL – текущий статус (0 – выключен, 1 – включен)
Описание.
Если AL=00h, в DL возвращается текущий статус контроля Ctrl-Break.
Если AL=01h, в DL возвращается новый текущий статус.
Когда статус «включен», DOS при выполнении большинства функций (исключая 06h и 07h) проверяет, нажаты ли клавиши Ctrl-Break. Если это обнаружено, выполняется прерывание INT 23h (если оно не перехватывается, то процесс снимается).
При статусе «выключен» DOS проверяет на нажатие Ctrl-Break лишь при выполнении операций стандартного ввода/вывода, стандартной печати и стандартного AUX.
Версии: DOS 2.00 и выше. DOS, функция 34h