Les Chevaliers de Malte/Développeur - Assembleur et Pascal - Interruption 21h, Fonction 27h: Lecture sélective de plusieurs enregistrements par le 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 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

 AH=27h
 CX=Nombre d'enregistrement devant être lu
 DS:DX=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


Sortie

 AL=Indicatif de retour:
Code Description
0 Cette code indique que l'enregistrement a été lu avec succès
1 Cette code indique que la fin du fichier est maintenant atteinte
2 Cette code indique qu'un débordement de segment a eu lieu
3 Cette code indique que l'enregistrement a été lu partiellement

 CX=Nombre d'enregistrement ayant réellement été lu

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