Interruption 21h |
Fonction 26h |
Créer un nouveau PSP |
---|---|---|
CP/M, DOS 1.0+, OS/2, Windows NT |
Description
Cette fonction permet de créer un nouveau PSP (Prefix Segment Program).
Entrée
Registre | Valeur ou description |
---|---|
AH | 26h |
DX | Ce registre permet d'indiquer l'adresse de segment du nouveau PSP. |
Sortie
Aucune
Remarques
- Cette fonction copie les données existant dans le PSP courant de le nouveau PSP créer.
- Une fois que le PSP du programme en cours d'exécution est copiée dans le nouveau segment, les informations sur la taille de la mémoire dans la nouvelle PSP sont mises à jour de manière appropriée et le contenu actuel de la terminaison (Interruption 22h), du gestionnaire Ctrl+C (Interruption 23h) et du gestionnaire d'erreurs critiques (Le vecteur d'interruption 24h) sont enregistrés à partir du déplacement 0Ah.
- Cette fonction ne charge pas un autre programme ou elle ne provoque elle-même l'exécution.
- A partir de la version 2.0 du système d'exploitation DOS, l'interruption 21h, fonction 4Bh (EXEC), pouvant être utilisée pour charger et exécuter des programmes ou des recouvrements au format .COM ou .EXE, doit être utilisée de préférence à cette fonction.
- L'adresse de déplacement du nouveau PSP a toujours la valeur 0.
- Voici la structure d'un PSP (Prefix Segment Program) :
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 |
Références
La Bible du PC: Programmation système - Sixième Edition, Edition Micro-Application, Michael Tischer, 1996, ISBN: 2-7429-0544-8, page 1511.
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 174 à 175.
Dernière mise à jour : Jeudi, le 3 mars 2016