Section courante

A propos

Section administrative du site

INT86

Interruption 80x86
Turbo C dos.h

Syntaxe

int int86(int IntNo,union REGS *InRegs,union REGS *OutRegs);

Paramètres

Nom Description
IntNo Ce paramètre permet d'indiquer le numéro de l'interruption
InRegs Ce paramètre permet d'indiquer la valeur des registres pour l'appel de l'interruption
OutRegs Ce paramètre permet d'indiquer la valeur des registres pour les valeurs de retour de l'interruption

Description

Cette fonction permet d'appeler une interruption avec une structure d'enregistrement d'appel et de retour séparé.

Exemple

Voici un exemple permettant de demander l'équipement installé à l'aide de l'interruption 11h :

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

Voir également

Langage de programmation - Assembleur 80x86 - Interruption 21h

Dernière mise à jour : Samedi, le 4 juillet 2015