Interruption 21h |
Fonction 48h |
Allouer d'un bloc de mémoire RAM |
---|---|---|
DOS 2.0+, OS/2, Windows NT |
Description
Cette fonction permet d'allouer un bloc de mémoire RAM.
Entrée
Registre | Valeur ou description |
---|---|
AH | 48h |
BX | Ce registre permet d'indiquer le nombre de paragraphes (16 octets) à allouer |
Sortie
Registre | Valeur ou description | |||
---|---|---|---|---|
FC | Ce registre de drapeau de retenue permet d'indiquer le résultat de l'opération : | |||
Valeur | Description | |||
0 | Cette valeur permet d'indiquer que l'opération a été un succès, et dans ce cas : | |||
Registre | Description | |||
AX | Ce registre permet d'indiquer l'adresse de segment de la zone de mémoire alloué | |||
1 | Cette valeur permet d'indiquer qu'une erreur s'est produite et dans ce cas : | |||
Registre | Description | |||
BX | Ce registre permet d'indiquer le nombre de paragraphe encore disponible | |||
AX | Ce registre permet d'indiquer le code d'erreur : | |||
Code | Description | |||
7 | Cette erreur permet d'indiquer que le bloc de contrôle de la mémoire détruit | |||
8 | Cette erreur permet d'indiquer que la mémoire disponible est insuffisante |
Remarques
- Si la fonction réussit, l'adresse de base du bloc nouvellement alloué est AX:0000.
- La stratégie d'allocation par défaut utilisée par le système d'exploitation DOS est "premier correspondance"; c'est-à-dire que le bloc de mémoire à l'adresse la plus basse suffisamment grande pour satisfaire la demande est alloué. La stratégie d'allocation peut être modifiée avec l'interruption 21h, fonction 58h.
- Lorsqu'un programme .COM est chargé, il possède d'ordinaire déjà toute la mémoire dans la zone de programme transitoire, n'en laissant aucune pour l'allocation dynamique. La quantité de mémoire initialement allouée à un programme .EXE au moment du chargement dépend des champs MINALLOC et MAXALLOC dans l'entête du fichier .EXE. Voir l'interruption 21h, fonction 4Ah.
Exemple
L'exemple suivant permet de retourner dans la paire de registres DX:AX le nombre d'octets de disponible en mémoire conventionnel pour l'application :
Références
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 248 à 249.
Dernière mise à jour : Jeudi, le 3 mars 2016