Les Chevaliers de Malte/Développeur - Assembleur et Pascal - Interruption 21h, Fonction 29h: Fixer un ou des nom(s) de fichier(s) dans un FCB


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 29h

Fixer un ou des nom(s) de fichier(s) dans un FCB

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


Description

Cette fonction permet de fixer un ou des nom(s) de fichier(s) en utilisant l'ancienne méthode du FCB (File Control Block).


Entrée

 AH=29h
 DS:SI=Adresse du nom de fichier sous le format d'une chaine de caractères ASCIIZ
 ES:DI=Adresse du tampon FCB du fichier. Vous pouvez utiliser le bloc de FCB normal:
Offset Longueur Description
00h 1 octet Ce champs contient l'unité (0 = unité courante, 1=A:, 2=B:, 3=C:, 4=D:,...)
01h 8 octets Ce champs contient le nom du fichier avec des espaces s'il n'est pas assez long
09h 3 octets Ce champs contient l'extension du fichier avec des espaces s'il n'est pas assez long
0Ch 2 octets (1 mot) Ce champs contient le numéro du bloc courant
0Eh 2 octets (1 mot) Ce champs contient la taille de l'enregistrement
10h 4 octets (2 mots) Ce champs contient la taille du fichier
14h 2 octets (1 mot) Ce champs contient la date de la derniëre modification
16h 2 octets (1 mot) Ce champs contient l'heure de la derniëre modification
18h 8 octets Réservé pour un usage interne ou futur
20h 1 octet Ce champs contient le numéro de l'enregistrement courant
21h 4 octets Ce champs contient le numéro de l'enregistrement pour l'accès séquentiel
ou le bloc de FCB étendue:
Offset Longueur Description
00h 1 octet Ce champs contient un identificateur de FCB étendu (FFh)
01h 5 octets Réservés par un usage interne ou futur
06h 1 octet Ce champs contient les attributs de fichier
07h 1 octet Ce champs contient l'unité (0 = unité courante, 1=A:, 2=B:, 3=C:, 4=D:,...)
08h 8 octets Ce champs contient le nom du fichier avec des espaces s'il n'est pas assez long
10h 3 octets Ce champs contient l'extension du fichier avec des espaces s'il n'est pas assez long
13h 2 octets (1 mot) Ce champs contient le numéro du bloc courant
15h 2 octets (1 mot) Ce champs contient la taille de l'enregistrement
17h 4 octets (2 mots) Ce champs contient la taille du fichier
1Bh 2 octets (1 mot) Ce champs contient la date de la derniëre modification
1Dh 2 octets (1 mot) Ce champs contient l'heure de la derniëre modification
1Fh 8 octets Réservé pour un usage interne ou futur
27h 1 octet Ce champs contient le numéro de l'enregistrement courant
28h 4 octets Ce champs contient le numéro de l'enregistrement pour l'accès séquentiel
 AL=Les paramètres de transmission:
Bits Description
0 Ce bit permet d'indiquer que les séparateurs d'entête dans la chaîne de caractères:
Code Description
0 Ce code indique qu'ils ne seront pas vérifiés
1 Ce code indique qu'ils seront vérifiés
1 Ce bit permet d'indiquer le comportement pour les unités de disque:
Code Description
0 Ce code indique que l'unité de disque sera modifiée. Si le nom de fichier transmis ne comporte pas d'unité de disque, la valeur 0 (unité courante) sera inscrite dans le tampon FCB.
1 Ce code indique que l'unité de disque dans le tampon FCB ne sera modifiée que si le nom de fichier transmis contient une unité de disque
2 Ce bit permet d'indiquer le comportement pour les noms de fichiers:
Code Description
0 Ce code indique que le nom de fichier sera modifié. Si le nom de fichier transmis ne contient pas de nom de fichier, le nom de fichier sera remplit avec des espaces s'il n'est pas assez long (Code ASCII 32) dans le FCB.
1 Ce code indique que le nom du fichier contenu dans le FCB ne sera modifié que si le nom de fichier referme un nom de fichier.
3 Ce bit permet d'indiquer le comportement pour les extensions de fichiers:
Code Description
0 Ce code indique que l'extension de fichier sera modifié. Si l'extension de fichier transmis ne contient pas d'extension de fichier, l'extension de fichier sera remplit avec des espaces s'il n'est pas assez long (Code ASCII 32) dans le FCB.
1 Ce code indique que l'extension du fichier contenu dans le FCB ne sera modifié que si l'extension de fichier referme un extension de fichier.
4 à 7 Tous ses bits doivent contenir le valeur 0.


Sortie

 AL=Indicatif de retour:
Code Description
0 Cette code indique que le nom du fichier n'avait pas des caractères de type générique
1 Cette code indique que le nom du fichier avait des caractères de type générique
2 Cette code indique que l'unité de disque spécifié n'est pas valide
 DS:SI=Adresse du premier caractère du nom de fichier dans le tampon de nom de fichier spécifié
 ES:DI=Adresse du tampon FCB


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