CF=1, если при выполнении функции возникли ошибки
Описание. Данная функция выделяет дескриптор, соответствующий указанному селектору.
Примечания.
Созданный этой функцией дескриптор можно удалить функцией 0001h.
DPMI, функция 0100h Выделить блок памяти DOS Вход:
AX=0100h
BX – количество параграфов (по 16 байт)
Выход:
CF=0, если функция выполнена успешно
AX – сегментный адрес выделенного блока памяти
DX – селектор выделенного блока памяти
CF=1, если при выполнении функции возникли ошибки
AX – код ошибки DOS
BX – размер наибольшего доступного блока (в параграфах)
Описание. Данная функция выделяет память из пула свободной памяти DOS.
Примечания.
Созданный этой функцией дескриптор не может быть изменен или освобожден. В случае, если запрашивается памяти больше, чем 64 Кбайт, функция выделяет несколько дескрипторов. Для доступа к следующему можно пользоваться функцией 0003h.
DPMI, функция 0101h Освободить блок памяти DOS Вход:
AX=0101h
DX – селектор выделенного блока памяти
Выход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
AX – код ошибки DOS
Описание. Данная функция освобождает память DOS, выделенную функцией 0100h.
Примечания.
Все выделенные при выделении памяти дескрипторы освобождаются.
DPMI, функция 0102h Изменить размер блока памяти DOS Вход:
AX=0102h
BX – необходимый размер блока памяти
DX – селектор блока памяти
Выход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
AX – код ошибки DOS
BX – размер наибольшего доступного блока (в параграфах)
Описание. Данная функция изменяет размер памяти DOS, выделенной функцией 0100h.
Примечания.
Увеличение размера блока памяти часто может привести к ошибке, если после данного блока был выделен другой блок, если размер увеличиваемого блока больше 64 Кбайт или если после дескриптора этого блока памяти был выделен другой дескриптор.
DPMI, функция 0200h Получить вектор прерывания реального режима Вход:
AX=0200h
BL – номер прерывания
Выход:
CF=0
CX:DX – сегмент: смещение вектора прерывания реального режима
Описание. Данная функция возвращает вектор прерывания реального режима.
Примечания.
Значение, возвращаемое в CX – сегмент, не селектор. Попытки использовать его как селектор приведут к исключению общей защиты памяти.
DPMI, функция 0201h Установить вектор прерывания реального режима Вход:
AX=0201h
BL – номер прерывания
CX:DX – сегмент: смещение вектора прерывания реального режима
Выход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
Описание. Данная функция устанавливает вектор прерывания реального режима.