Section courante

A propos

Section administrative du site

Voici une référence des adresses mémoire exploité par le système d'exploitation DOS ou compatible. Vous remarquerez que les adresses ne sont pas diviser en Segment:Offset mais plutôt en adresse physique en mémoire. Vous devrez conserver les 4 chiffres du haut pour le segment et garder le dernier du bas pour l'offset. A NOTER toutefois que bien que je ne voulais pas copier des auteurs de livre et ne pas respect leurs droits, il devient parfois difficile de ne pas avoir des similitudes pour une raison fort simple, il y a trop d'auteurs (Aide-Mémoire de Les Interruptions Du MS-DOS de Philippe Mercier, La Bible du PC – Programmation Système de Michaël Tischer, Le Livre d'Or PC de Martin Althaus, Turbo Pascal 7 utile de François Gervais, les livres de Microsoft Press,...) ayant traiter de se sujet lors des années 1980, 1990 et ils ont carrément épuiser toutes les possibilités de dire les termes... J'ose croire que si un de ses auteurs parcours cette page, il se persuadera pas de m'actionner parce qu'il y a deux ou trois mots pareils à son livre.

Adresse Longueur Description
00000h à 003FCh 1 Ko Table des vecteurs d'interruption
00400h à 004FFh 256 octets Ces adresses sont utilisées par la ROM BIOS (sans oublier ceux des cartes vidéo EGA ou postérieur) ainsi que par de nombreuses applications DOS afin de pouvoir reconnaître correctement le matériel installer et d'agir en conséquence. Il est cependant peut flexible sur de nombreux aspect.
00400h à 00401h 2 octets (1 mot) On utilise cette adresse de base (port d'entrée/sortie) pour le COM1 ou désigne régulièrement la souris série affectant du même coup le COM3.
00402h à 00403h 2 octets (1 mot) On utilise cette adresse de base (port d'entrée/sortie) pour désigné le COM2
00404h à 00405h 2 octets (1 mot) On utilise cette adresse de base (port d'entrée/sortie) pour désigné le COM3
00406h à 00407h 2 octets (1 mot) On utilise cette adresse de base (port d'entrée/sortie) pour désigné le COM4
00408h à 00409h 2 octets (1 mot) On utilise cette adresse de base (port d'entrée/sortie) pour désigné le LPT1
0040Ah à 0040Bh 2 octets (1 mot) On utilise cette adresse de base (port d'entrée/sortie) pour désigné le LPT2
0040Ch à 0040Dh 2 octets (1 mot) On utilise cette adresse de base (port d'entrée/sortie) pour désigné le LPT3
0040Eh à 0040Fh 2 octets (1 mot) On utilise cette adresse de base (port d'entrée/sortie) pour désigné le LPT4
00410h à 00411h 2 octets (1 mot) Ce mot contient divers informations sur l'équipement de la machine actuellement installé.
Bits Description
0 Contient la valeur 1 advenant qu'il y ait au moins une unité de disquette installé sur la machine.
1 Contient la valeur 1 si un coprocesseur mathématique est installé sur la machine.
2 et 3 Lors des premiers PC, on utilisait ces bits pour indiquer la mémoire RAM disponible par le système sur la carte mère des PC et XT uniquement.
4 et 5 Indique la carte vidéo installé exploiter au démarrage de la machine :
Valeur Description
00b Carte vidéo adaptateur spécial comme les cartes EGA, VGA ou PGA...
01b Mode texte 40x25 en 16 couleurs
10b Mode texte 80x25 en 16 couleurs
11b Mode texte 80x25 en monochrome
6 et 7 Indique le nombre d'unité de disquette installé:
Valeur Description
00b 1 lecteur
01b 2 lecteurs
10b 3 lecteurs
11b 4 lecteurs
8 à 10 Indique le nombre de ports série de format RS-232 installé.
12 Aura la valeur 1 si une manette de jeux est installé
13 Vaudra 1 si les modèle d'imprimante pour port série est installé.
14 et 15 Indique le nombre d'imprimante connecté
00412h 1 octet Auto-test : Cet octet sert à stocker certaines informations pendant l'auto-test du système, étant effectué au cours de l'opération de démarrage du système (avant que le système d'exploitation ne soit lancer), y compris lors d'un démarrage à chaud. Il est utilisé par la suite par les routines du BIOS pour détecter la frappe de certaines touches mais il ne présente aucun intérêt pratique pour le programmeur.
00413h à 00414h 2 octets (Mot) La taille mémoire exprimée en Kilo-octets : A cet adresse de la mémoire figure un mot indiquant la capacité (RAM) de la mémoire conventionnel (celle se trouvant sous la barre des 1 Mo) en Ko. Cette donnée est également calculés au cours de l'opération de lancement du système et elle peut être lue à l'aide de l'interruption 12h du BIOS.
00415h à 00416h 2 octets (Mot) Tester: Une fois de plus, ces 2 octets sont exploités uniquement pendant l'opération du démarrage du système pour tester l'électronique. Ils n'ont plus aucune signification par la suite.
00417h 1 octet Premier ensemble d'État du clavier : Cet octet est appelé "octet d'état du clavier" puisqu'il indique l'état du clavier et de certaines touches spéciales. On pourra lire le contenu de cet octet grâce à la fonction 02h de l'INTERRUPTION 16h (clavier du BIOS). En accédant à cet octet, il est autre possible d'activer ou de désactiver les modes INSERT ou majuscules (CAPS) sur les BIOS AT ou postérieur. Seuls les 4 bits de plus fort poids de cet octet sont utiles à cet effet et il préférable d'éviter d'affecter les 4 bits inférieurs.
Bits Description
0 Vaut 1 si la touche Shift droite est actionnée
1 Vaut 1 si la touche Shift gauche est actionnée
2 Vaut 1 si une/des touches Ctrl sont actionnées
3 Vaut 1 si la touche Alt est actionnée
4 Vaut 1 si la touche Scroll Lock activée
5 Vaut 1 si la touche Num Lock est activée
6 Vaut 1 si la touche Caps Lock est activée
7 Vaut 1 si le mode INSERT activé
00418h 1 octet Deuxième ensemble d'État du clavier: La signification de cet octet se rapproche drôlement de celle de l'octet de l'adresse 00417h avec cependant la différence que ce n'est pas l'état des modes INSERT ou majuscules étant mentionné mais davantage la position, "enfoncée" ou "non enfoncée", des touches correspondantes
Bits Description
0 Vaut si 1 la touche Ctrl gauche est enfoncée (à partir du AT ou postérieur)
1 Vaut si 1 la touche Alt gauche est enfoncée (à partir du AT ou postérieur)
2 Vaut si 1 la touche SysReq est enfoncée (à partir du AT ou postérieur)
3 Vaut si 1 si le mode Pause est activé
4 Vaut si 1 la touche Break est enfoncée
5 Vaut si 1 la touche Num Lock est enfoncée
6 Vaut si 1 la touche Caps Lock est enfoncée
7 Vaut si 1 la touche INSERT est enfoncée
00419h 1 octet ALT+Code ASCII: Cet octet est utilisé lorsqu'on enfonce une combinaison de touche ALT+Code ASCII. Il conserva donc la valeur tapée lorsqu'on enfonce la touche ALT suivie d'un code ASCII.
0041Ah 2 octets (1 mot) Cet octet contient l'adresse du prochain caractère à extraire à partir du tampon clavier, il s'agit de l'adresse de début.
0041Ch 2 octets (1 mot) Cet octet contient l'adresse du dernier caractère (fin) du tampon clavier.
0041Eh 32 octets (16 mots) Tampon clavier: C'est dans cette zone de mémoire qu'est situé le véritable tampon clavier. Comme chaque caractère stocké dans le tampon clavier occupe 2 octets, sa taille est de 32 octets. Il pourra donc recevoir 16 touches au maximum. Pour un caractère ASCII normal, c'est d'abord le code ASCII du caractère, suivi de sa correspondance au niveau du code clavier, étant mémorisé ici. Le code clavier spécifier est le numéro de la touche ayant produit le caractère ASCII. Toutefois, si le caractère figurent dans le tampon clavier et que celui-ci possède un code étendu (par exemple une touche de déplacement), alors le premier octet contiendra 0 et le deuxième octet indiquera le code de la touche étendue. Le tampon lui-même est conçu comme une sorte de mémoire en anneau dans lequel on en insère tant qu'elle n'est pas pleine. L'adresse du prochain caractère à lire dans le tampon clavier est fournie par le mot à l'adresse 0041Ah. Lorsqu'un caractère est lu, ce pointeur est avancée de 2 octets vers la fin du tampon. Si un caractère a été lu dans la dernière cellule de mémoire du tampon, le pointeur est à nouveau fixé sur le début du tampon. Il en va exactement de même avec le pointeur placé à l'adresse 0041Ch, indiquant la fin du tampon clavier. Lorsqu'un nouveau caractère est entré, il est stocké, dans le tampon clavier, à l'endroit désigné par ce pointeur. Il est ensuite augmenté de 2 pour se rapprocher de la fin du tampon. Si un nouveau caractère vient d'être inséré dans le dernier emplacement tampon, le pointeur est à nouveau fixé sur le début tampon. La rapport entre le pointeur de début et le pointeur de fin du tampon est ainsi d'une grande importance pour juger de l'état du tampon. Deux situations revêtent à cet égard une signification particulière. Il s'agit tout d'abord du cas où les 2 pointeurs contiennent la même adresse. Ce terme exprime tout simplement qu'il n'y a pour le moment aucun caractère dans le tampon clavier. Le second cas est celui où on tente d'ajouter un caractère au-delà de la "fin" du tampon clavier. Cela supposerait que le pointeur de fin fût augmenté de 2 pour "rattraper" le pointeur de début. Ou par conséquent que le tampon clavier est plein et qu'il ne peut plus recevoir d'autres caractères. Si le début (0041Ah) = Fin(0041Ch), le tampon est vide.
00450h 1 octet Position X du curseur sur la page 0
00451h 1 octet Position Y du curseur sur la page 0
00452h 1 octet Position X du curseur sur la page 1
00453h 1 octet Position Y du curseur sur la page 1
00454h 1 octet Position X du curseur sur la page 2
00455h 1 octet Position Y du curseur sur la page 2
00456h 1 octet Position X du curseur sur la page 3
00457h 1 octet Position Y du curseur sur la page 3
00458h 1 octet Position X du curseur sur la page 4
00459h 1 octet Position Y du curseur sur la page 4
0045Ah 1 octet Position X du curseur sur la page 5
0045Bh 1 octet Position Y du curseur sur la page 5
0045Ch 1 octet Position X du curseur sur la page 6
0045Dh 1 octet Position Y du curseur sur la page 6
0045Eh 1 octet Position X du curseur sur la page 7
0045Fh 1 octet Position Y du curseur sur la page 7
0A0000h à 0AFFFFh 64 Ko Adresse de la mémoire graphique des modes supérieur au carte CGA.
0B0000h à 0B7FFFh 32 Ko Adresse de la mémoire vidéo des cartes monochromes ou des modes émuler correspondant à celui-ci.
0B8000h à 0BFFFFh 32 Ko Adresse de la mémoire vidéo des cartes couleurs CGA et de leur mode vidéo ainsi que de tous les modes texte couleurs.
C00F9h 20 octets Chaîne de caractère signature du BIOS ayant la forme «ATI Technologies Inc» du fabricant ATI.
C0110h 29 octets Chaîne de caractère signature du BIOS ayant la forme «ATI VGA EDGE-16, BIOS V5-1.01» du fabricant ATI.
C0110h 21 octets Chaîne de caractère signature du BIOS ayant la forme «VGA1024, BIOS V5-1.01» du fabricant ATI.
C011Eh 7 octets Chaîne de caractère signature du BIOS ayant la forme «V5-1.01» du fabricant ATI d'une carte VGA1024.
C0126h 7 octets Chaîne de caractère signature du BIOS ayant la forme «V5-1.01» du fabricant ATI d'une carte VGA EDGE-16.
C0181h 9 octets Chaîne de caractère signature du BIOS ayant la forme «IT - VGA2» du fabricant Inform Tech.
C94F9h 23 octets Chaîne de caractère signature du BIOS ayant la forme «Super BIOS II Formatter» du fabricant Western digital.
0E0000h à 0EFFFFh 64 Ko Cette banque de mémoire est souvent utiliser pour la mémoire EMS ou ces émulateurs. Sur certains XT on le retrouvera pour la ROM supplémentaire.
E0013h   Chaîne de caractère signature du BIOS ayant la forme «ROM DIAGNOSTICS (C) 1987, American Megatrends Inc.» du fabricant American Megatrends.
0F0000h à 0FFFFFh Pouvant aller jusqu'à 64 Ko de mémoire. Ces adresses sont utiliser pour la ROM BIOS de la carte mère.
F0004h à 0F0010h 12 octets Chaîne de caractère signature du BIOS ayant la forme «AAAAMMMMIIII» du fabricant American Megatrends.
F0005h   Chaîne de caractère signature du BIOS ayant la forme «Copyright 1984,1985 Phoenix Software Associates Ltd.» du fabricant WYSE dans ses machines Amdek System/88.
F0010h à 0F0017h 8 octets Chaîne de caractère signature du BIOS ayant la forme «07/07/91» du fabricant American Megatrends.
F0020h   Chaîne de caractère signature du BIOS ayant la forme «American Megatrends Inc.» du fabricant American Megatrends.
F0100h   Chaîne de caractère signature du BIOS ayant la forme «ROM BIOS (C) 1990 American Megatrends Inc.» du fabricant American Megatrends.
F0150h   Chaîne de caractère signature du BIOS ayant la forme «386DX-OP-PIc-25-F1-ZZ» du fabricant American Megatrends.
F0723h   Chaîne de caractère signature du BIOS ayant la forme «Real Time Clock Battery Problem Detected» du fabricant WYSE dans ses machines Amdek System/88.
F079Ch   Chaîne de caractère signature du BIOS ayant la forme «Invalid Configuration information - please run SETUP program» du fabricant WYSE dans ses machines Amdek System/88.
F1B20h   Chaîne de caractère signature du BIOS ayant la forme «American Megatrends Inc.» du fabricant American Megatrends.
F2004h   Chaîne de caractère signature du BIOS ayant la forme «WYSE COPR. IBM Compatible» du fabricant WYSE dans ses machines Amdek System/88.
F39C1h   Chaîne de caractère signature du BIOS ayant la forme «Non-System disk or disk error» du fabricant WYSE dans ses machines Amdek System/88.
F3F37h   Chaîne de caractère signature du BIOS ayant la forme «Rom Bios Ver 2.14» du fabricant WYSE dans ses machines Amdek System/88.
FB000h 6 octets Chaîne de caractère signature du BIOS ayant la forme «Zenith» du fabricant Zenith.
FC02Bh 5 octets Chaîne de caractère signature du BIOS ayant la forme «Tandy» du fabricant Tandy.
FC050h 8 octets Chaîne de caractère signature du BIOS ayant la forme «OLIVETTI» du fabricant Olivetti.
FC2FFh 6 octets Chaîne de caractère signature du BIOS ayant la forme «Zenith» du fabricant Zenith.
FD900h Double mot Adresse de l'interruption 16h du Conterm Max.
FE004h 6 octets Chaîne de caractère signature du BIOS ayant la forme «Tandon» du fabricant Tandon.
FE00Eh 3 octets Chaîne de caractère signature du BIOS ayant la forme «IBM» du fabricant IBM.
FE719h Double mot Adresse de l'interruption 18h de la ROM Bios Phoenix version 2.14 (1984, 1985)
FE739h Double mot Adresse de l'interruption 14h de la ROM Bios Phoenix version 2.14 (1984, 1985)
FE82Eh Double mot Adresse de l'interruption 16h de la ROM Bios Phoenix version 2.14 (1984, 1985)
FEFD2h Double mot Adresse de l'interruption 17h de la ROM Bios Phoenix version 2.14 (1984, 1985)
FF841h Double mot Adresse de l'interruption 12h de la ROM Bios Phoenix version 2.14 (1984, 1985)
FF859h Double mot Adresse de l'interruption 11h de la ROM Bios Phoenix version 2.14 (1984, 1985)
FFA0Ah Double mot Adresse de l'interruption 02h de la ROM Bios Phoenix version 2.14 (1984, 1985)
FFF23h Double mot Adresse de l'interruption 06h, 07h et 0Ah de la ROM Bios Phoenix version 2.14 (1984, 1985)
FFF54h Double mot Adresse de l'interruption 05h de la ROM Bios Phoenix version 2.14 (1984, 1985)
FFFC2h 4 octets Chaîne de caractère signature du BIOS ayant la forme «WANG» du fabricant Wang.
FFFF0h Variable Point d'entrée de la combinaison de touche Ctrl+Alt+Delete lors du démarrage à froid de tous bon compatible.
FFFFEh 1 octets Signature de modèle de PC
Code Description
055h (85) Conterm Max du fabricant du même nom.
0FCh (252) PC AT ou postérieur
0FDh (253) PC Junior d'IBM.
0FEh (254) PC XT
0FFh (255) IBM PC ou compatible


Dernière mise à jour : Samedi, le 2 août 2014