Interruption 12h: Taille de la RAM
Cette interruption permet de retourner la quantité de mémoire conventionnelle disponible en KiloOctets.
Entrée
Aucune
Sortie
Registre | Description |
---|---|
AX | Nombre de KiloOctets disponible |
Remarques
- Sur certains des premiers modèles de PC, la quantité de mémoire renvoyée par cette fonction est contrôlée par les paramètres des commutateurs DIP de la carte système et peut ne pas refléter toute la mémoire physiquement présente.
- Sur le PC/AT, la valeur renvoyée est la quantité de mémoire fonctionnelle trouvée lors de l'auto-test de mise sous tension, quelles que soient les informations de configuration de la taille de la mémoire entreposées dans la RAM du CMOS.
- La valeur renvoyée ne reflète aucune mémoire étendue (au-dessus de la limite de 1 Mo) pouvant être installée sur des machines 80286 ou 80386 telles que le PC/AT ou PS/2 (modèles 50 et supérieurs).
Exemples
Voici un exemple, en Turbo Pascal 7, permettant d'accéder directement aux informations de la RAM du BIOS afin de demander la taille de la mémoire conventionnel :
on obtiendra le résultat suivant :
Taille de la mémoire conventionnelle = 640Voici un exemple, en Turbo C, permettant d'accéder directement aux informations de la RAM du BIOS afin de demander la taille de la mémoire conventionnel :
- #include <stdio.h>
- #include <stdlib.h>
- #include <dos.h>
-
- int main() {
- int Memory;
- geninterrupt(0x12);
- Memory = _AX;
- printf("Taille de la mémoire conventionnelle = %i\n",Memory);
- return 0;
- }
on obtiendra le résultat suivant :
Taille de la mémoire conventionnelle = 640Voir également
Assembleur 80x86 - Référence global de la mémoire des compatibles IBM PC - Cellule 00413h à 00414h
Références
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 57.
Dernière mise à jour : Jeudi, le 3 mars 2016