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 :
- #include <stdio.h>
- #include <stdlib.h>
- #include <dos.h>
-
- int main() {
- union REGS inRegs;
- union REGS outRegs;
- int86(0x11,&inRegs,&outRegs);
- if((outRegs.x.ax & 0x0002) >> 1) {
- printf("Coprocesseur mathématique présent\n");
- } else {
- printf("Coprocesseur mathématique non installé\n");
- }
- printf("Nombre de port RS-232 : %i\n",(outRegs.x.ax & 0x0E00)>> 9);
- printf("Nombre de port parallèle : %i\n",(outRegs.x.ax & 0xC000) >> 14);
- printf("Nombre de manette de jeu : %i\n",(outRegs.x.ax & 0x1000)>> 12);
- return 0;
- }
Voir également
Langage de programmation - Assembleur 80x86 - Interruption 21h
Dernière mise à jour : Samedi, le 4 juillet 2015