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 — номер подфункции: