Interruption 67h |
Fonction 43h |
Alloué du EMM |
---|---|---|
Pilote EMM 3.0+ |
Description
Cette fonction permet l'allocation d'un «Handle» et de pages de mémoire.
Entrée
Registre | Valeur ou description |
---|---|
AH | 43h |
BX | Ce registre permet d'indiquer le nombre de pages logiques de 16 Ko à allouer |
Sortie
Registre | Valeur ou description | |||||
---|---|---|---|---|---|---|
AH | Ce registre permet d'indiquer le résultat de la fonction de l'EMM: | |||||
Valeur | Description | |||||
00h | Cette valeur permet d'indiquer que tout va bien, dans ce cas, le registre suivant est affecté: | |||||
Registre | Description | |||||
DX | Ce registre permet d'indiquer le Handle pour accéder à la mémoire allouée. | |||||
80h | Cette valeur permet d'indiquer une erreur interne, l'EMM est endommagé ou détruit. | |||||
81h | Cette valeur permet d'indiquer un problème de fonctionnement de l'électronique de l'EMS. | |||||
85h | Cette valeur permet d'indiquer qu'il n'y a plus de Handle disponible afin d'allouer de la mémoire. | |||||
87h | Cette valeur permet d'indiquer que la demande d'allocation de mémoire de pages EMM est supérieur à celle disponible. | |||||
88h | Cette valeur permet d'indiquer qu'on a tenté d'effectuer la réclamation de 0 page. |
Remarques
- Cette fonction est l'équivalent d'une fonction d'ouverture de fichier pour le gestionnaire de mémoire étendue. L'identificateur de descripteur Handle renvoyé est analogue à un descripteur de fichier et possède un certain nombre de pages de mémoire étendue. L'identificateur de descripteur Handle doit être utilisé avec chaque demande ultérieure de cartographie de la mémoire et doit être libéré par une opération de fermeture avant la fin de l'application.
- Cette fonction peut échouer car il n'y a plus de descripteurs à allouer ou parce qu'il n'y a pas suffisamment de pages de mémoire étendue pour satisfaire la demande. Dans ce dernier cas, l'interruption 67h, fonction 42h peut être utilisée pour déterminer le nombre réel de pages disponibles.
- A partir du EMS 4.0, l'interruption 67h, fonction 51h peut être appelée pour modifier le nombre de pages allouées à un identificateur de descripteur Handle de EMM.
- A partir du EMS 4.0, les pages allouées par cette fonction sont toujours de 16 Ko pour être compatible avec les versions antérieures d'EMS. Voir également l'interruption 67h, Fonction 5Ah, Sous-fonctions 00h et 01h.
- A partir du EMS 4.0, l'identificateur de descripteur Handle 0000h est toujours disponible pour une utilisation par le système d'exploitation, et un appel préalable à cette fonction n'est pas nécessaire. Le système d'exploitation doit appeler l'interruption 67h, fonction 51h pour affecter le nombre de pages souhaité à l'identificateur de descripteur Handle réservée.
Références
Quick Reference: Programmer avec les extensions de MS-DOS, Edition Microsoft PRESS, Ray Duncan, 1991, ISBN: 2-266-04057-X, page 56 à 57.
Dernière mise à jour : Jeudi, le 3 mars 2016