Section courante

A propos

Section administrative du site

Interruption 27h: Terminer en TSR

Cette interruption permet d'effectuer la terminaison de l'exécution d'un programme en mode résident (TSR). Ainsi, cette interruption met fin à l'exécution du programme en cours d'exécution, mais réserve une partie ou la totalité de sa mémoire afin qu'elle ne soit pas superposée par le prochain programme transitoire à charger. Le système d'exploitation DOS effectue ensuite les actions suivantes : les tampons de fichiers sont vidés et tous les descripteurs ouverts pour les fichiers ou les périphériques appartenant au processus sont fermés, le vecteur gestionnaire de terminaison (Interruption 22h) est restauré à partir de PSP:000Ah, le vecteur du gestionnaire de Ctrl+C (Interruption 23h) est restauré à partir de PSP:000Eh, a partir de la version 2.0 du système d'exploitation DOS, le vecteur du gestionnaire d'erreurs critiques (Interruption 24h) est restauré à partir de PSP:0012h, et le contrôle est transféré au gestionnaire de terminaison.   Si le programme revient à l'interpréteur de commande COMMAND.COM, les transferts de contrôle vers la partie résidente et la partie transitoire sont rechargés si nécessaire. Si un fichier de traitement par lot est en cours, la ligne suivante du fichier est récupérée et interprétée; sinon, une prompt est émise pour la prochaine commande utilisateur.

Entrée

Registre Description
CS Ce registre permet d'indiquer l'adresse du segment du PSP (Prefix Segment Program) dont la structure est la suivante:
Déplacement Longueur Description
00h 2 octets Ce champ contient l'instruction assembleur «INT 20h» (DB 0CDh,20h)
02h 2 octets Ce champ contient l'adresse du dernier segment alloué au programme
04h 1 octet Ce champ est réservé pour un usage interne ou futur
05h 5 octets Ce champ contient l'instruction d'appel de l'interruption DOS (INT 21h)
0Ah 4 octets Ce champ contient l'adresse de l'interruption 22h
0Eh 4 octets Ce champ contient l'adresse de l'interruption 23h
12h 4 octets Ce champ contient l'adresse de l'interruption 24h
16h 2 octets Ce champ contient l'adresse de segment du programme parent
18h 20 octets Ce champ contient une table des «Handles» permettant la gestion des fichiers par le système d'exploitation
2Ch 2 octets Ce champ contient une adresse de segment de l'environnement
2Eh 4 octets Ce champ est réservé pour un usage interne ou futur
32h 2 octets Ce champ contient la longueur de la table des «Handles» permettant la gestion des fichiers par le système d'exploitation
34h 4 octets Ce champ contient la Adresse de la table des «Handles» permettant la gestion des fichiers par le système d'exploitation
38h 23 octets Ce champ est réservé pour un usage interne ou futur
50h 3 octets Ce champ contient les instructions assembleur «INT 21h» et «RETF» (DB 0CDh, 021h, 0CBh)
53h 9 octets Ce champ est réservé pour un usage interne ou futur
5Ch 16 octets Ce champ contient le premier FCB (File Control Block) nommé aussi FCB1
6Ch 16 octets Ce champ contient le deuxième FCB (File Control Block) nommé aussi FCB2
80h 127 octets Ce champ contient la ligne de commande et la DTA par défaut
DX Ce registre permet d'indiquer le nombre d'octets qu'il faut réservé + 1 pour le programme (Minimum: 0h (DOS 1.x) 110h (DOS 2.x) 60h (DOS 3+) et Maximum FFF0h).

Sortie

 Aucune

Remarques

Références

Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 303.

Dernière mise à jour : Jeudi, le 3 mars 2016