Salut,
j'ai fait un programme qui lit le contenu d'un fichier ( tout le contenu ) le mets dans une chaine de caractére puis affiche cette derniére mais le problème c'est qu'il affiche 2 caractères de plus à la fin et pourtant j'ai mis le $ à la fin pour marquer la fin du fichier.
et pouvez vous me dire qu'est ce qu'on doit mettre dans le buffer au début ? ou doit on le declarer dans la partie non initialisé ?
merci,
Code:[section .text] [org 100h] mov dx,path ; Ouvrir le fichier mov al,0 ; mov ah,3dh ; int 21h ; mov si,ax ; mov dx,s ; mov bx,si ; ici: mov cx,1 ; Lire le premier caractére mov ah,3fh ; le mettre dans @dx int 21h ; inc dx cmp ax,0 ; Bouclé jusqu'à ce que jne ici ; le nombre de caractére lu est 0 mov bx,si ; fermer le fichier mov ah,3eh ; int 21h ; inc dx ; Mettre $ dans la fin mov bx,dx ; de la chaine de caractére mov ax,'$' ; pour marquer la fin de la chaine mov [bx],al ; mov ah,9 ; afficher la chaine mov dx,s ; int 21h ; int 20h [section .data] path db 'C:\ici\test.txt',0 s db '0'
-----