Section courante

A propos

Section administrative du site

Interruption 21h

Fonction 21h

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

Description

Cette fonction permet d'effectuer la lecture d'un enregistrement sélective 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 21h
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

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 1508.
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 165 à 167.
Quick Reference: Programmer avec les fonctions de MS-DOS, Edition Microsoft PRESS, Ray Duncan, 1991, ISBN: 2-266-04061-8, page 37 à 38.

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