ce code illustre la procedure de recherche de fichiers dans un repertoire, il est en quelque sorte equivalant a la command "DIR" du DOS
je n'ai pas affichier tous les detailles consernant les fichiers(date,taille..)
le code a eté compilé est testé
je ne dit pas que ce code est le parfait example car je l'ai ecrit sans le raffine
Source / Exemple :
DONNE SEGMENT
MESSAGE DB "ENTREZ LE NOM DU REPERTOIRE A LISTER",10,13,'$'
REPERTOIRE DB "LES FICHIER CONTENU DANS ( $"
SUIT DB " )SONT",10,13,'$'
RETOURE DB 10,13,'$'
BUFFER DB 13 DUP(?),'$'
EXTANTION DB 256 dup(?)
DTA DB 43 DUP(?)
ESPACE DB " $"
DONNE ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DONNE
DEBUT:
MOV AX,DONNE
MOV DS,AX
MOV AH,9
LEA DX,MESSAGE
INT 21H
LIRE: ;boucle pour lire la chaine entrer
MOV AH,01H ;fct 01h (lire un caractaire et mettre sont code dans AL)
INT 21H
CMP AL,13 ;si c'est "entrer" on quite la boucle
JE AFFICHAGE
MOV EXTANTION[SI],AL
INC SI
JMP LIRE
AFFICHAGE:
MOV EXTANTION[SI],0
MOV AH,9
mov dx,offset RETOURE
INT 21H
MOV AH,1AH ;on deplace la DTA(UNE ZONE QUI CONTIENT LES INFORMATION SUR LE FICHIER)
MOV DX,OFFSET DTA
INT 21H
MOV AH,4EH ;ON CHERCHE LE FICHIER FCT 4EH
MOV DX,OFFSET EXTANTION ;L'OFFSET DU BUFFER QUI CONTIENT LE NOM DU FICHIER
XOR CX,CX
INT 21H
push ds
pop es
CLD
mov CX,0
LECTURE:
JC FIN
MOV SI,OFFSET DTA
ADD SI,1EH ;A L'@ 1EH DE LA DTA SE TROUVE LE NOM DU FICHIER TROUVER
MOV DI,OFFSET BUFFER
PUSH CX
COPIE:
MOV CX,1
lodsb
stosb
MOV AH,9 ; definie la couleur des caractaire (14=jaune)
MOV BL,14
int 10H
MOV DL,AL
MOV AH,2 ;fct n°2 sortie d'un caractaire
int 21h
OR AL,AL
JNZ COPIE
pop cx
INC CX
CMP CX,4 ;SI ON A ECRIT 4 NOM DE FICHIER SUR UN LINE ON PASSE A LA LINE SUIVANTE
je line
MOV AH,9
LEA DX,ESPACE
INT 21H
jmp suivant
line:
mov ah,9
lea dx,retoure
int 21h
mov CX,0
suivant:
MOV AH,4FH ;ON CHERCHE LE FICHIER SUIVANT QUI A LES MEME (ATTRIBUE)
INT 21H
JMP LECTURE
FIN:
MOV AH,9
MOV BL,15 ;couleur blanche
int 10H
mov ah,4ch ;et on quitte le programme
int 21h
CODE ENDS
END DEBUT
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.