Section courante

A propos

Section administrative du site

Interruption 21h

Fonction 43h, Sous-fonction 00h

Demande l'attribut d'un fichier à l'aide de son nom
DOS 2.0+, OS/2, Windows NT

Description

Cette fonction permet de demander l'attribut d'un fichier à l'aide de son nom.

Entrée

Registre Valeur ou description
AX 4300h
DS:DX Cette paire de registres permet d'indiquer l'adresse du nom de fichier sous forme de chaîne de caractères ASCIZ

Sortie

Registre Valeur ou description
FC Ce registre de drapeau de retenue permet d'indiquer le résultat de l'opération :
Valeur Description
0 Cette valeur permet d'indiquer que l'opération a été un succès, dans ce cas :
Registre Description
CX Ce registre permet d'indiquer l'attribut du fichier :
Bits Description
0 Ce bit contient la valeur 1 si l'attribut de fichier est en mode lecture seulement
1 Ce bit contient la valeur 1 si l'attribut de fichier est en mode caché
2 Ce bit contient la valeur 1 si l'attribut de fichier est en mode système
3 à 4 Ces bits sont réservés pour une utilisation interne ou futur
5 Ce bit contient la valeur 1 si l'attribut de fichier est en mode archivage
6 à 7 Ces bits sont réservés pour une utilisation interne ou futur
1 Cette valeur permet d'indiquer qu'une erreur s'est produite et dans ce cas :
Registre Description
AX Ce registre permet d'indiquer le code d'erreur :
Code Description
1 Cette erreur permet d'indiquer que le numéro de la fonction n'est pas valide
2 Cette erreur permet d'indiquer que le fichier est introuvable
3 Cette erreur permet d'indiquer que le chemin est introuvable

Exemple

L'exemple suivant, écrit en Turbo Pascal, permet de vérifier l'existence d'un fichier en utilisant cette sous-fonction :

  1. Function FileExists(Filename:String):Boolean;Assembler;ASM
  2.  PUSH DS
  3.   LDS SI,[FileName] { Fabrique un ASCIIZ }
  4.   XOR AH,AH
  5.   LODSB
  6.   XCHG AX,BX
  7.   MOV Byte Ptr [SI+BX],0
  8.   MOV DX,SI
  9.   MOV AX,4300h      { Demande les attributs de fichier }
  10.   INT 21h
  11.   MOV AL,False
  12.   JC  @1            { Échec ? }
  13.   INC AX
  14. @1:
  15.  POP DS
  16. END;

Références

Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 223 à 225.

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