vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 2010
-
7 août 2004 à 17:46
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
7 août 2004 à 21:05
Je regarde le fichier strrev.asm qui est utilisé au moins pour les debogages et je remarque que c'est une traduction d'un algorithme écrit en C qui est utilisé. Pourtant, j'ai l'impression qu'il serait plus interessant d'utiliser la structure de pile dont on dispose en assembleur, car elle donne de meilleurs résultats d'après mes tests. Est-ce que je me trompe, ou le code fourni par vs pour strrev est il médiocre?
Pour info voici le strrev que j'ai fait, et qui donne le même résultat que l'original si les 2 args sont égaux, mais plus rapidement en version release
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 7 août 2004 à 19:05
A koi te servent les push edx et pop edx, tu ne ten sers pas ! jme trompe ?
Ca faisait un moment kon tavait pas vu, jvois ke ta taffé le boukin d'asm..
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 7 août 2004 à 20:45
Tiens je remarque que tu écris 3 fois la même chose alors qu'une seule suffirait. C'est vrai que ca a l'air plus rapide, mais je ne comprends pas pourquoi (j'ai vu que tu avais fait pareil dans ta fonction bnstrcpy)
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 7 août 2004 à 20:48
deroulage de boucle, vaut mieux effectuer un saut de code 1 fois plutot que 3.
Gaffe le reverse en bas n'est pas terrible, tape a la sauvage va vite. Affecter sur cl puis sur ch en instruction suivante provoque un AGI STALL a tout coup.