Cette fonction permet de fixer un ou des nom(s) de fichier(s) en utilisant l'ancienne méthode du FCB (File Control Block).
Registre |
Valeur ou description |
AH |
29h |
DS:SI |
Cette paire de registres permet d'indiquer l'adresse du nom de fichier sous le format d'une chaîne de caractères ASCIZ. |
ES:DI |
Cette paire de registres permet d'indiquer l'adresse du tampon FCB du fichier. Vous pouvez utiliser le bloc de FCB normal : |
00h |
1 octet |
Ce champ contient l'unité (0 = unité courante, 1=A:, 2=B:, 3=C:, 4=D:,...) |
01h |
8 octets |
Ce champ contient le nom du fichier avec des espaces s'il n'est pas assez long |
09h |
3 octets |
Ce champ contient l'extension du fichier avec des espaces s'il n'est pas assez long |
0Ch |
2 octets (1 mot) |
Ce champ contient le numéro du bloc courant |
0Eh |
2 octets (1 mot) |
Ce champ contient la taille de l'enregistrement |
10h |
4 octets (2 mots) |
Ce champ contient la taille du fichier |
14h |
2 octets (1 mot) |
Ce champ contient la date de la dernière modification |
16h |
2 octets (1 mot) |
Ce champ contient l'heure de la dernière modification |
18h |
8 octets |
Ce champ est réservé pour un usage interne ou futur |
20h |
1 octet |
Ce champ contient le numéro de l'enregistrement courant |
21h |
4 octets |
Ce champ contient le numéro de l'enregistrement pour l'accès séquentiel |
ou le bloc de FCB étendue : |
00h |
1 octet |
Ce champ contient un identificateur de FCB étendu (FFh) |
01h |
5 octets |
Ce champ est réservé pour un usage interne ou futur |
06h |
1 octet |
Ce champ contient les attributs de fichier |
07h |
1 octet |
Ce champ contient l'unité (0 = unité courante, 1=A:, 2=B:, 3=C:, 4=D:,...) |
08h |
8 octets |
Ce champ contient le nom du fichier avec des espaces s'il n'est pas assez long |
10h |
3 octets |
Ce champ contient l'extension du fichier avec des espaces s'il n'est pas assez long |
13h |
2 octets (1 mot) |
Ce champ contient le numéro du bloc courant |
15h |
2 octets (1 mot) |
Ce champ contient la taille de l'enregistrement |
17h |
4 octets (2 mots) |
Ce champ contient la taille du fichier |
1Bh |
2 octets (1 mot) |
Ce champ contient la date de la dernière modification |
1Dh |
2 octets (1 mot) |
Ce champ contient l'heure de la dernière modification |
1Fh |
8 octets |
Ce champ est réservé pour un usage interne ou futur |
27h |
1 octet |
Ce champ contient le numéro de l'enregistrement courant |
28h |
4 octets |
Ce champ contient le numéro de l'enregistrement pour l'accès séquentiel |
AL |
Ce registre permet d'indiquer les paramètres de transmission : |
0 |
Ce bit permet d'indiquer que les séparateurs d'entête dans la chaîne de caractères: |
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: |
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: |
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 : |
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 la valeur 0. |