Section courante

A propos

Section administrative du site

Interruption 21h

Fonction 28h

Écriture sélective de plusieurs enregistrements par le FCB
CP/M, DOS 1.0+, OS/2, Windows NT

Description

Cette fonction permet l'écriture sélective de plusieurs enregistrements en utilisant l'ancienne méthode du FCB (File Control Block) en employant les données dans la zone de transfert courante (DTA - Disk transfert Area).

Entrée

Registre Valeur ou description
AH 28h
CX Ce registre permet d'indiquer le nombre d'enregistrement devant être écrit
DS:DX Cette paire de registres permet d'indiquer l'adresse du tampon FCB du fichier. Vous pouvez utiliser le bloc de FCB normal :
Déplacement Longueur Description
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 :
Déplacement Longueur Description
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

Sortie

Registre Valeur ou description
AL Ce registre permet d'indiquer le résultat de l'opération :
Valeur Description
0 Ce code indique que l'enregistrement a été écrit avec succès
1 Ce code indique que l'unité de disque est pleine
2 Ce code indique qu'un débordement de segment a eu lieu
CX Ce registre permet d'indiquer le nombre d'enregistrement ayant réellement été écrit

Remarques

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 1512.
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 177 à 178.

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