Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Programmation  Plateforme  Compilateur  Outils  Emulateur  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
Rust
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Les remarques
Les opérateurs
Les instructions conditionnelles
Les instructions de boucles
Type de données élémentaire
Référence des registres
Mode d'adressage du processeur
Structure de données
Référence des instructions par catégories
Référence, lexique et dictionnaire des instructions 80x86
Les symboles prédéfinies
Les directives
Mode 8080
Mode réel
Mode protégé
Mode virtuel 8086
Mode SMM
Format du descripteur de segment
Format du TSS
Format du SMM
Format BCD
Format des nombres réels
8086/8088
Série NEC V20/V30
80286
80386
Pentium
Pentium Pro
AVX-512
MMX (MultiMedia eXtensions)
MPX (Memory Protection Extensions)
SGX (Software Guard Extensions)
SHA extensions
SMX (Safer Mode Extensions)
SSE (Streaming SIMD Extensions)
SSE2 (Streaming SIMD Extensions 2)
SSE3 (Streaming SIMD Extensions 3)
SSSE3 (Supplemental Streaming SIMD Extensions 3)
SSE4.1 (Streaming SIMD Extensions 4.1)
SSE4.2 (Streaming SIMD Extensions 4.2)
TSX (Transactional Synchronization Extensions)
VMX (Virtual-Machine eXtensions)
x86-64
Les boucles
Les chaînes
les comparaisons
Les conversions
Les décalages de bits
Les drapeaux
Les opérateurs
Saut conditionnel
Saut inconditionnel
Les transferts de données
Utilisation de la pile
Les premiers pas
Accès mémoire
Ensemble d'instructions pour les applications 80386
BIOS compatible au micro-ordinateur IBM PC
Démarrage du système
Détermination de la version du BIOS
Détermination du type de PC
Fonctions de sortie de l'écran du BIOS
Détermination de la configuration du système à l'aide du BIOS
Détermination de la RAM disponible à l'aide du BIOS
Accéder à la disquette depuis le BIOS
Accéder au disque dur depuis le BIOS
Accéder au port série depuis le BIOS
L'interruption de la cassette
Accéder au clavier depuis le BIOS
Accéder à l'imprimante à partir du BIOS
Lecture de la date et de l'heure à partir du BIOS
Variables du BIOS
Bonjour
Application
Détection
Mathématique
Temps
Stationnement de voiture
BIOS SCSI
CMOS de XT
DesqView
Valeur absolue (ABS)
Triangle Pascal
Année bissextile
DOS
GeoWorks
86-DOS
MS-DOS 2
MS-DOS 6
A86
LZASM
MASM
NASM
TASM
CodeView
Free Hex Editor Neo
OllyDbg
SoftICE
Turbo Debugger
DOSBox
emu8086
PCE - PC Emulator
PCem
Interruptions
Port d'entrée/sortie
RAM de l'IBM PC
Téléchargement
00h à 07h: Processeur
08h à 0Fh: Périphériques (IRQ0 à IRQ7)
10h: Gestionnaire vidéo
13h: Accès aux disques
14h: Gestion des ports séries
15h: Extension d'Entrée/Sortie
16h: Gestion du clavier
17h: Gestion de l'imprimante
21h: Service DOS
2Ah: Interface de service réseau
2Fh: Multiplexe
33h: Interface du pilote de souris
59h: GSS Computer Graphics Interface
5Ch: Réseau BIOS (NetBIOS)
67h: Gestionnaire EMM/EMS
00h: Mode vidéo
01h: Sélection du type de curseur
10h, F0h: Tseng Labs HiColor
4Fh: Pilote VESA
5Fh: Realtek RTVGA
6Fh: Video 7
18h: Demande des informations SCSI
01h: Écrit dans la RAM non-volatile (Amstrad PC1512)
02h: Lecture dans la RAM non-volatile (Amstrad PC1512)
10h: Gestionnaire principal TopView
89h: Entrée en mode protégé
64h: OS/2 API DOS32StartSession
FFh, 92h: Détecte la présence du pilote «PREDIR.EXE»
16h: Windows & DPMI
0Ah: Détection de Windows
84h: Demande le point d'entrée
86h: Détection du mode DPMI
87h: Détecte l'installation DPMI
8Eh: Machine virtuel et application
Préface
Notes légal
Dictionnaire
Recherche

Interruption 2Fh

Fonction 16h, Sous-Fonction 0Ah

Détection de Windows 3.0 ou Windows 3.1

Description

Grâce à cette fonction, il est possible de connaître la présence de Windows, sa version (si supérieur ou égal à 3.0) ainsi que son mode actuel de fonctionnement.

Entrée

Registre Description
AX 160Ah

Sortie

Registre Description
AX 0000h si fonction supporté
BX Version (BH=Version, BL=Révision). Si vous fonctionner sous Windows 95 ou 98, la version contenu dans BH vaudra 4 et la révision sera 0 pour 95 et 10 pour 98. Voici d'ailleurs un bref tableau reflétant cette réalité :
BH (Version) BL (Révision) Description
03h 00h Windows 3.0
03h 01h Windows 3.1
04h 00h Windows 95
04h 0Ah (10) Windows 98
05h   Windows 2000 Professionnel, Windows 2000 Server, Windows Server 2003
CX Mode de fonctionnement:
Mode Description
0001h Cette valeur permet d'indiquer le mode réel (uniquement disponible sous Windows 3.0)
0002h Cette valeur permet d'indiquer le mode standard
0003h Cette valeur permet d'indiquer le mode étendu pour le 80386

Remarques

Interruption 2Fh

Fonction 16h, Sous-Fonction 84h

Demande le point d'entrée d'un API de périphérique
Windows, OS/2

Description

Cette sous-fonction demande le point d'entrée d'un périphérique virtuel, d'application (API) de Windows.

Entrée

Registre Description
AX 1684h
BX Identificateur du périphérique virtuel (VxD ID) (MP=Mode Protégé; V86=Mode Virtuel 86):
Valeur Nom Call Out V86 MP Description
01h VMM   Oui Oui Gestionnaire de machine virtuel (Virtual Machine Manager)
02h Debug   Non Non Déboguage
03h VPICD   Oui Oui Périphérique virtuel du contrôleur d'interruption programmable (PIC).
04h VDMAD   Non Non Périphérique virtuel du DMA (Direct Memory Access).
05h VTD   Oui Oui Périphérique virtuel de l'horloge/minuterie (Virtuel Timer Device).
06h V86MMGR   Non Non Périphérique virtuel du mode 8086/8088.
07h PAGESWAP   Non Non Périphérique de pagination de la mémoire.
08h Parity   Non Non Trappe de vérification de la parité.
09h Reboot   Non Oui Gestionnaire de la combinaison clavier Ctrl+Alt+Delete.
0Ah VDD   Non Oui Périphérique virtuel d'affichage vidéo primaire (Virtual Display Device (Grabber)).
0Bh VSD   Non Non Périphérique virtuel de gestion du son (Virtual Sound Device).
0Ch VMD Oui Oui Oui Périphérique virtuel pour la souris (Virtual Mouse Device).
0Dh VKD   Non Oui Périphérique virtuel du clavier (Virtual Keyboard Device).
0Eh VCD   Non Oui Périphérique virtuel de communication (Virtual COMM Device).
0Fh VPD       Périphérique virtuel d'imprimante (Virtual Printer Device).
10h VHD       Périphérique virtuel du disque dur pour Windows 3.0 (Virtual Hard Disk Device).
BLOCKDEV   Non Non Périphérique virtuel du disque dur pour Windows 3.1 (Virtual Hard Disk Device).
11h VMCPD       Périphérique virtuel du coprocesseur mathématique (Virtual Math Coprocessor Device).
12h EBIOS   Non Non Réservé pour la page EBIOS (ingénierie du PS/2)
13h BIOSXLAT       Carte d'application de la ROM du BIOS pour le mode protégé et le mode virtuel 8086.
14h VNETBIOS Oui Non Non Périphérique virtuel du BIOS réseau (Virtual NetBios Device).
15h DOSMGR   Oui Non Gestionnaire DOS.
16h WINLOAD       Chargement de Windows.
17h SHELL   Non Oui Interpréteur de commande.
18h VMPoll   Non Non Mode Virtuel "Poll"?
19h VPROD       ?
1Ah DOSNET   Non Non Assures au réseau l'intégrité avec les modes virtuel.
1Bh VFD   Non Non Périphérique virtuel d'unité amovible/lecteur de disquette (Virtual Floppy Device).
1Ch VDD2   Non Non Périphérique virtuel d'adaptateur vidéo secondaire (Secondary display adapter).
1Dh WINDEBUG   Non Oui Déboguage Windows
1Eh TSRLoad       Utilitaire d'assistance au TSR
1Fh BiosHook       Interruption BIOS accrochant les périphériques virtuel (VxD)
20h Int13h Non Non Non Interruption 13h
21h PageFile   Non Oui Périphérique de pagination fichier
22h SCSI       Périphérique gérant le bus d'entrée/sortie SCSI.
23h MCA_POS       Pour l'architecture MCA
24h SCSIFD       Périphérique d'accès rapide au disque par SCSI.
25h VPEND       Périphérique virtuel de crayon (Virtual Pen Device)
26h APM       Gestionnaire d'alimentation avancée (Advanced Power Management).
444h VADMAD       Automatisation DMA (Windows 3.0)
1025h MMD       Gestionnaire de mémoire ou machine? (Memory Manager/Machine Manager?)
2860h COMMTASK Non Non Oui Gestionnaire de tâche de Windows en mode 386
28C0h VxD Non Oui Oui Générique de device virtuel pour le mode réel/protégé
3098h VstlthD Non Non Non Pour le mode ROM du QEMM de Stealth
Le bit du haut (15) de l'identificateur du périphérique virtuel est réservé pour un usage futur. Les 10 bits (14 à 5) suivant sont les numéro d'OEM lequel est désigne par Microsoft. Les 5 bits (4 à 0) du bas sont le numéro de périphérique. Naturellement, ce schéma n'est plus utilisé depuis ce temps là car il y a maintenant beaucoup plus que 32 périphérique virtuel (VxD) différentes.
ES:DI 0000h:0000h

Sortie

Registre Description
ES:DI Code de retour:
Valeur Description
0000h:0000h Cette valeur permet d'indiquer que la fonction n'est pas supporté
... Ces valeurs permettent d'indiquer que le point d'entrée du périphérique virtuel d'application

Remarques

Interruption 2Fh

Fonction 16h, Sous-Fonction 86h

Détection du mode DPMI
DPMI

Description

Cette sous-fonction permet de connaître le mode de DPMI (DOS Protected Mode Interface) sous lequel l'ordinateur fonctionne.

Entrée

Registre Description
AX 1686h

Sortie

Registre Description
AX Code de retour:
Valeur Description
=0000h S'il est en mode protégé sous le DPMI (INT 31h disponible)
<>0000h S'il est en mode réel virtuel 86 ou pas de DPMI (INT 31h non disponible)

Remarques



Interruption 2Fh

Fonction 16h, Sous-Fonction 87h

Détecte l'installation du DPMI
DPMI

Description

Cette sous-fonction permet de détecter si un gestionnaire DPMI (DOS Protected-Mode Interface) est présent.

Entrée

Registre Description
AX 1687h

Sortie

Registre Description
AX Code de retour:
Valeur Description
0000h Cette valeur permet d'indiquer qu'il est installé
... Ces valeurs permet d'indiquer qu'il n'est pas installé
BX Drapeaux:
Bits Description
0 Cette valeur permet d'indiquer un programme supportant le 32-bits
1 à 15 Ces valeurs sont réservés pour un usage futur
CL Type de processeur:
Code Description
02h 80286
03h 80386
04h 80486
DH Version majeur du DPMI
DL Version mineur en 2-décimal (Binaire/BCD)
SI Nombre de paragraphes de donnée privée du DOS extender
ES:DI Point d'entrée des drapeaux du mode DPMI

Remarques

Interruption 2Fh

Fonction 16h, Sous-Fonction 8Eh, Option 0000h

Fixe le nom de l'application
Windows 95, 98

Description

Cette option permet de définir un nom à l'application d'une longueur maximal de 79 caractères et devant obligatoirement être terminée par un code ASCII 0 ne faisant pas partie du 79 caractères juste-spécifié.

Entrée

Registre Description
AX 168Eh
DX 0000h
ES:DI Adresse du tampon ASCIZ devant contenir le nouveau nom d'application.

Sortie

Registre Description
AX Code de retour:
Valeur Description
0000h Cette valeur permet d'indiquer l'erreur de fonction non-supporté
0001h Cette valeur permet d'indiquer que l'opération est réussit

Remarques

Interruption 2Fh

Fonction 16h, Sous-Fonction 8Eh, Option 0001h

Demande le nom de l'application
Windows 95, 98

Description

Cette option permet de définir un nouveau nom de machine virtuel d'une longueur maximal de 29 caractères et devant obligatoirement être terminée par un code ASCII 0 ne faisant pas partie du 29 caractères juste nommé.

Entrée

Registre Description
AX 168Eh
DX 0001h
ES:DI Adresse du tampon ASCIZ devant contenir le nom de la machine virtuel.

Sortie

Registre Description
AX Code de retour:
Valeur Description
0000h Cette valeur permet d'indiquer l'erreur de fonction non-supporté
0001h Cette valeur permet d'indiquer que l'opération est réussit

Remarques

Interruption 2Fh

Fonction 16h, Sous-Fonction 8Eh, Option 0002h

Demande le nom de l'application
Windows 95, 98

Description

Cette option permet de connaître le nom de l'application en le copiant si possible dans le tampon spécifier après l'avoir terminé par un code ASCII 0 comme une chaîne de caractères de format ASCIZ.

Entrée

Registre Description
AX 168Eh
DX 0002h
ES:DI Adresse du tampon ASCIZ devant contenir le nom de l'application.
CX Longueur en octet du tampon

Sortie

Registre Description
AX Code de retour:
Valeur Description
0000h Cette valeur permet d'indiquer l'erreur de fonction non-supporté
0001h Cette valeur permet d'indiquer que l'opération est réussit


Interruption 2Fh

Fonction 16h, Sous-Fonction 8Eh, Option 0003h

Demande le nom virtuel de la machine
Windows 95, 98

Description

Cette option permet de copier le nom de la machine virtuel si possible dans le tampon spécifier après l'avoir terminé par un code ASCII 0 comme une chaîne de caractères de format ASCIZ.

Entrée

Registre Description
AX 168Eh
DX 0003h
ES:DI Adresse du tampon ASCIZ devant contenir le nom virtuel de la machine
CX Longueur en octet du tampon

Sortie

Registre Description
AX Code de retour:
Valeur Description
0000h Cette valeur permet d'indiquer l'erreur de fonction non-supporté
0001h Cette valeur permet d'indiquer que l'opération est réussit


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Jeudi, le 3 mars 2016