приведет к возникновению ошибки $8D, а повторный вызов $48 без вызова $47 — ошибки $8Е.
Дать количество активных дескрипторов
Вход: АН == $4 в. Выход: ВХ — количество дескрипторов.
Функция $4 В возвращает в регистре ВХ количество активных в данный момент дескрипторов, а функция $4 С — количество связанных с дескриптором логических страниц (см. замечание к функции $4 С).
Дать количество связанных с дескриптором страниц
Вход: АН = $4 С;
DX = дескриптор. Выход: ВХ = количество страниц.
С помощью этой функции Вы можете получить количество связанных с дескриптором логических страниц.
При выполнении следующей программы на экран выводится общее количество дескрипторов и свободная EMS— память к моменту начала работы программы, затем создается новый дескриптор и ему передается вся доступная память. В заключение вновь выводится общее количество дескрипторов и количество страниц, которыми владеет вновь созданный дескриптор, после чего дескриптор уничтожается.
Uses DOS;
var
Reg: Registers;
Procedure Intr67;
{Выполняет прерывание $67 с регистрами, заданными значениями переменной Reg} begin
Intr($67,Reg) ;
if Reg.ahoO then begin
WriteLn('Ошибка ',Reg.ah);
Halt end end;
va-
Handle: Word;
begin
with Reg do
begin
^Определяем общее количество дескрипторов} ah := $4В;
Intr67;
WriteLn('Используется',bx:3,' дескрипторов');
{Определяем объем всей и доступной EMS-памяти}