AL — номер подфункции:
О — получить имя;
1 — установить имя;
DX — дескриптор EMM;
ES:DI — адрес буфера для подфункции 0;
DS:SI — адрес имени для подфункции 1. Для более удобной реализации связей внутри многозадачных систем можно организовать доступ к дескрипторам по их именам. С этой целью в EMM предусмотрены функции $53 и $54. Первая позволяет установить новое имя дескриптора или получить ранее установленное имя. Вторая обеспечивает поиск дескриптора по его имени. При обращении к подфункции 0 функции $53 (получить имя) в регистре DX указывается дескриптор, а в регистрах ES:DI — адрес буфера длиной 8 байт. В этот буфер помещается связанное с дескриптором имя, соответствующее структуре
array [1..8] of Char
Если имя ранее не было определено, буфер содержит пробелы. При обращении к подфункции 1 (задать имя) в регистрах DS:S/ указывается адрес массива из восьми символов. Эти символы без какого-либо изменения помещаются во внутренний буфер EMM и в дальнейшем могут использоваться для поиска дескриптора. В качестве символов имени можно задавать любые символы ПК от #0 д® #255.
Дать список имен дескрипторов или искать дескриптор по имени
Вход: АН == $54;
AL — номер подфункции:
О — дать список имен;
1 — искать дескриптор;
2 — дать количество активных дескрипторов;
ES:DI — адрес буфера для подфункции 0;
DS.\ST — адрес имени для подфункции 1. Выход: AL — количество дескрипторов (для подфункции 2) или дескриптор (для подфункции 1).
Буфер по адресу ES:DI заполняется списком имен
(для подфункции 0).
функция $54 предназначена в основном для поиска дескриптора по его имени (подфункция 1). Однако с ее помощью можно также получить список имен (подфункция 0) и количество активных дескрипторов (подфункция 2). При обращении к подфункции 0 в ES:DI указывается адрес буфера. Каждому активному дескриптору в этом буфере должно быть выделено по 10 байт: первые два байта при выходе из функции содержат сам дескриптор (его идентификационный номер), а остальные 8 байт — связанное с ним имя.
Картировать память и выполнить инструкцию JUMP
Вход: АН = $55;
AL — номер подфункции: