Section courante

A propos

Section administrative du site

Équipement

Cellule 00410h à 00411h

PC, XT, PC Junior, AT, PS/2  

Description

Ce mot contient divers informations sur l'équipement de la machine actuellement installé.

Lecture/Écriture

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é

Exemples

Voici un exemple, en Turbo Pascal, permettant de demander l'équipement installé à l'aide de cette cellule :

  1. Program Mem00410;
  2.      
  3. Var
  4.  Equip:Word Absolute $0040:$0010;
  5.      
  6. BEGIN
  7.  If (Equip AND $0002) shr 1 = 1 Then Begin
  8.   WriteLn('Coprocesseur mathématique présent');
  9.  End
  10.   Else
  11.  Begin
  12.   WriteLn('Coprocesseur mathématique non installé');
  13.  End;
  14.  WriteLn('Nombre de port RS-232 : ',(Equip AND $0E00) shr 9);
  15.  WriteLn('Nombre de port parallèle : ',(Equip AND $C000) shr 14);
  16.  WriteLn('Nombre de manette de jeu : ',(Equip AND $1000) shr 12); 
  17. END.

Voici un exemple, en Turbo C, permettant de demander l'équipement installé à l'aide de cette cellule :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <dos.h>
  4.      
  5. int main() {
  6.  int Equip;
  7.  Equip = peek(0x0040,0x0010);
  8.  if((Equip & 0x0002) >> 1) {
  9.   printf("Coprocesseur mathématique présent\n");
  10.  } else {
  11.   printf("Coprocesseur mathématique non installé\n");
  12.  }
  13.  printf("Nombre de port RS-232 : %i\n",(Equip & 0x0E00)>> 9);
  14.  printf("Nombre de port parallèle : %i\n",(Equip & 0xC000) >> 14);
  15.  printf("Nombre de manette de jeu : %i\n",(Equip & 0x1000)>> 12);
  16.  return 0;
  17. }

Voici un exemple, en Turbo Basic, permettant de demander l'équipement installé à l'aide de cette cellule :

  1. DEF SEG=0
  2. Equip = PEEK(&H0410)+(PEEK(&H0411)*256)
  3. IF (Equip AND &H0002) = &H0002 Then
  4.  PRINT "Coprocesseur mathématique présent"
  5. ELSE
  6.  PRINT "Coprocesseur mathématique non installé"
  7. END IF
  8. PRINT "Nombre de port RS-232 : "; (Equip AND &H0E00) / 512
  9. PRINT "Nombre de port parallèle : "; (32768-(Equip AND &HC000)) / 16384
  10. PRINT "Nombre de manette de jeu : "; (Equip AND &H1000) / 4096

Voir également

Langage de programmation - Assembleur 80x86 - Interruption 11h: Demande la configuration

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