Section courante

A propos

Section administrative du site

Interruption 21h

Fonction 27h

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

Description

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

Entrée

Registre Valeur ou description
AH 27h
CX Ce registre permet d'indiquer le nombre d'enregistrement devant être lu
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é lu avec succès
1 Ce code indique que la fin du fichier est maintenant atteinte
2 Ce code indique qu'un débordement de segment a eu lieu
3 Ce code indique que l'enregistrement a été lu partiellement
CX Ce registre permet d'indiquer le nombre d'enregistrement ayant réellement été lu

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

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