Assembler - язык неограниченных возможностей


Управление памятью в DPMI - часть 2


/p>


INT 31h, АХ = 0502h — Освободить блок памяти

Ввод: АХ = 0502h
SI:DI = идентификатор блока
Вывод: CF = 0, если не было ошибки


INT 31h, AX = 0503h — Изменить размер блока памяти

Ввод: АХ = 0503h
ВХ:СХ = новый размер в байтах
SI:DI = идентификатор блока
Вывод: если CF = 0,
ВХ:СХ = новый линейный адрес блока;
SI:DI = новый идентификатор


Нам потребуются еще две функции DPMI для работы с устройством, которое отображает свою память в физическое пространство адресов.


INT 31h, АХ = 0800h — Отобразить физический адрес выше границы 1 Мб на линейный

Ввод: АХ = 0800h
ВХ:СХ = физический адрес
SI:DI = размер области в байтах
Вывод: если CF = 0, ВХ:СХ = линейный адрес, который можно использовать для доступа к этой памяти


INT 31h, AX = 0801h — Отменить отображение, выполненное функцией 0800h

Ввод: АХ = 0801h
ВХ:СХ = линейный адрес, возвращенный функцией 0800h
Вывод: CF = 0, если не было ошибок





Начало  Назад  Вперед