TD3, le programme

Voir le sujet précédent Voir le sujet suivant Aller en bas

TD3, le programme

Message  Invité le Ven 20 Fév 2009, 10:57

J'ai bien avancé dans la resolution de mon programme.
En fait il ouvre le fichier, le parcours, se positionne aux bons endroits, il donne le nombre de fois ou il s'est positionné aux positions 10,20,30,...
par exemple le fichier qui contient ceci:
"ikjfdsnvsavnkf,g;dfa
fkljg jfkgdflkgdkfjd
ldfjkgsdmlfjgkdkfljg
fgjksdmkgjdfjklsjdkf
jkdhffdsdsfkjkjslqdf
jkdhfkjqsdlfhskdjfzp
jdfnkjsdcskdvnmdfkff"

il me dit qu'il s'est positionné 14 fois aux positions 10,20,30,...

le probleme se trouve lorsqu'il s'agit de recopier les caracteres dans le message à afficher, il m'y écrit selement le caractere qui se trouve à la position 10, (ici c'est le caractere 'v').

Je laisse une partie de mon code pour clarifier tout ça, UN GRAND MERCI D'AVANCE à tout aide:

......
lmess RESD 1 ; Pour mémoriser la taille de ce qu'on a lu.
message RESB 1 ; Pour mémoriser ce qu'on lit
.......
boucle:
.......
MOV EAX,3 ; service read
MOV EBX,[handle] ; à partir du fichier
MOV ECX,caracter ; ce qu'on lit va dans message
MOV EDX,1 ; on lit 1 caractère à la fois
INT 0x80

CMP EAX,0 ; retour est le nombre de caractères lus
JLE affichage ; si celui-ci vaut 0, la lecture est finie.
INC BYTE [lmess]

MOV ESI,1

MOV EAX,45 ; service brk
MOV EBX,[message+ESI]

MOV AL , BYTE [caracter]
MOV [message+ESI], AL
JMP BOUCLE

Voilà, merci pour tout aide.

Invité
Invité


Revenir en haut Aller en bas

Re: TD3, le programme

Message  Invité le Ven 27 Fév 2009, 11:05

Ok le probleme a été resolu, il resultat du fait que je n'utilisait pas le "_end" et de la mauvaise utilisation de "brk", fin il y a dans le dossier de TD3, 8 exemples, si mes souvenirs sont bons c'est dans le 6 exemple on explique comment utilise le "_end", pour l'allocation en mémoire.
Fin voilà j'espère que j'étais suffisamment clair.

Invité
Invité


Revenir en haut Aller en bas

Re: TD3, le programme

Message  Madrid le Mer 04 Mar 2009, 23:36

salut les amis,

on demande dans le programme du td3 le nombre de caractères lus et écrits dans un fichier.

est ce que c'est le nombre de caractères en position 10,20,30 dans se cas la le nombres de caractères lus sera le même que celui écrit ou bien le nombre total des caractères du fichier ?

Madrid

Nombre de messages : 187
Prénom : Noor
Statut : étudiant 2RET
Localisation : Woluwé-Saint-Lambert
Date d'inscription : 28/12/2006

Revenir en haut Aller en bas

Re: TD3, le programme

Message  nvs le Jeu 05 Mar 2009, 00:49

on pourrait imaginer qu'en cas de panne, le nombre de caractères affichés est inférieur au nombre de caractères lus Suspect







_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: TD3, le programme

Message  Madrid le Jeu 05 Mar 2009, 01:07

euh ça veut dire que le nombre et le même ? Suspect

Madrid

Nombre de messages : 187
Prénom : Noor
Statut : étudiant 2RET
Localisation : Woluwé-Saint-Lambert
Date d'inscription : 28/12/2006

Revenir en haut Aller en bas

Re: TD3, le programme

Message  Invité le Jeu 05 Mar 2009, 20:24

en fait tu te positionne la 1ere fois que tu rentre dans la boucle à la pos 10, ensuie tu lis, ensuite tu reserve, ensuite tu écrit à la pos ds la memoire que que tu as reservé, ensuite tu incremente un registre ou une variable qui joura le rôle du compteur,
et voilà, le tour est joué, il te reste de boucler dans la boucle tout en effectuant les operations que j'ai écrite plus haut, donc tu incrementera le compteur à chaque fois que tu as pu effectuer toutes ces operations(1.se positionner;2.lire;3.reserver;4.ecrire dans ce que tu as reservé), et en fait ds ce pgm le nbr de caracteres lus et ecrits sera toujours le même.
j'espère que ça t'aidera

Invité
Invité


Revenir en haut Aller en bas

Re: TD3, le programme

Message  Contenu sponsorisé Aujourd'hui à 09:25


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum