Les Chevaliers de Malte/Développeur - Assembleur et Pascal - Interruption 21h, Fonction 00h: Mettre fin au programme


00h à 07h 08h à 0Fh 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 1Dh 1Eh 1Fh 20h 21h 22h 23h 24h 25h 26h 27h 28h 29h 2Ah 2Bh 2Eh 2Fh 33h 41h 4Bh 59h 5Ch 67h 7Ah 80h à F0h Rechercher


Interruption 21h

Fonction 00h

Mettre fin au programme

CP/M, DOS 1.0.+, OS/2, Windows NT


Description

Cette fonction permet de mettre fin à l'exécution d'un programme de façon normal. Pour y arriver il prend soit de restaurer les adresses des interruptions contenu dans les champs de l'interruption 22h, 23h et 24h et de vider les tampons et tous les processus relié à l'application en cours.


Entrée

Registre Valeur ou description
AH 00h
CS Ce registre permet d'indiquer l'adresse de segment du PSP


Sortie

 Aucune

Remarques

    Dans un programme de format «.COM» le code segment du programme est le même que le PSP, mais dans un programme de format «.EXE» il toutefois beaucoup plus complexe voir impossible d'appeler cette fonction puisqu'il faut qu'il soit appeler dans le premier segment du code du programme.

    Cette fonction effectue la même opération que l'Interruption 20h.

    Cette fonction ne restaure l'Interruption 24h qu'à partir de la version 2 du système d'exploitation DOS.

    ATTENTION! Vous devez vous assurez que les fichiers utilisant les FCB doivent être fermé avant l'appel de cette fonction.

    Voici la structure d'un PSP (Prefix Segment Program):

Offset Longueur Description
00h 2 octets Contient l'instruction assembleur «INT 20h» (DB 0CDh,20h)
02h 2 octets Contient l'adresse du dernier segment alloué au programme
04h 1 octet Réservé pour un usage interne ou futur
05h 5 octets Contient l'instruction d'appel de l'interruption DOS (INT 21h)
0Ah 4 octets Contient l'adresse de l'interruption 22h
0Eh 4 octets Contient l'adresse de l'interruption 23h
12h 4 octets Contient l'adresse de l'interruption 24h
16h 2 octets Contient l'adresse de segment du programme parent
18h 20 octets Contient une table des «Handles» permettant la gestion des fichiers par le système d'exploitation
2Ch 2 octets Contient une adresse de segment de l'environnement
2Eh 4 octets Réservé pour un usage interne ou futur
32h 2 octets Contient la longueur de la table des «Handles» permettant la gestion des fichiers par le système d'exploitation
34h 4 octets Contient la Adresse de la table des «Handles» permettant la gestion des fichiers par le système d'exploitation
38h 23 octets Réservé pour un usage interne ou futur
50h 3 octets Contient les instructions assembleur «INT 21h» et «RETF» (DB 0CDh, 021h, 0CBh)
53h 9 octets Réservé pour un usage interne ou futur
5Ch 16 octets Contient le premier FCB (File Control Block) nommé aussi FCB1
6Ch 16 octets Contient le deuxième FCB (File Control Block) nommé aussi FCB2
80h 127 octets Contient la ligne de commande et la DTA par défaut

Dernière mise à jour: Lundi, le 24 juillet 2006