BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 1 juil. 2004 à 17:49
bien entendu, avec inoke, tu n'as aucun controle du parallelisme des instructions par exemple.
Un autre, il te reste >= 16 octets de retrait sur esp, pourquoi aller encore pusher, autant les remplir avec mov et faire le call d'un SendMessage (exemple) qui remontera esp en sortie.
ToutEnMasm
Messages postés591Date d'inscriptionjeudi 28 novembre 2002StatutMembreDernière intervention13 décembre 20223 2 juil. 2004 à 21:22
Les macros de masm sont ce qui transforme ce langage en langage de haut niveau.
Je ne sais pas ce qu'est le parallelisme (excepté pour ma voiture) mais invoke garantit un code sans erreur de dimension dans les variables .Si une api demande un dword ,on ne peut pas remplacer ce dword par un byte sans provoquer une erreur a la compilation.
lnvoke réduit aussi le nombre de lignes.
Le then n'existe pas en masm32 par contre
.if eax == truc
.elseif eax == machin
.else
.endif
est la boucle la plus utilisée
Masm32 fournit des macros standards comme SADD et ainsi de suite.
pour voir des exemples avec ou sans macros voir mon site.
ToutEnMasm
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 2 juil. 2004 à 22:19
le parallelisme (ou pairing en english) des instructions est l'ordre de passage d'une instruction dans le uPipe ou le vPipe (2 pipelines a partir du pentium), ceci est explique dans les manuels Intel.
Masm32 fournit AGNER.HLP, voir a partir du chapitre 10.1, lire egalement Michael Abrash sur ce sujet.
ToutEnMasm
Messages postés591Date d'inscriptionjeudi 28 novembre 2002StatutMembreDernière intervention13 décembre 20223 4 juil. 2004 à 09:08
Salut,
Commencer en masm en se préoccupant des problèmes d'optimisations sa fait franchement déjanté,d'autant plus que le manuel précise qu'il faut s'en préoccuper une fois que la routine est au point,si on en a l'utilité et si la technique s'avère efficace.
A moins d'avoir vraiment des problèmes d'éxécution en temps réel (tir de missile) ou d'énormes fichiers a traités .Des temps d'éxécutions en heures pour des routines se répétant souvent sont sujettes a des études d'optimisations.
Tout ce discours est hors sujet lorsqu'on débute avec masm.Le premier point est d'obtenir un programme qui fonctionne sans passer des heures et des heures a le debugger et la les macros sont indispensables.
ToutEnMasm
Fildomen
Messages postés805Date d'inscriptionjeudi 22 mai 2003StatutMembreDernière intervention30 octobre 2010 16 juil. 2004 à 04:34
Mouais , je te connais toi renfield, tu m'as bien noté dans une source à vbfrance. tu sais, nous allons craquer tout les deux dans ce langage, tu peux me dire pourquoi tu as passé le vb??? moi parce-que je crois qu'il est très faible, et puis, c'est trop lent, mais il est très très maniable, si je voulais faire un projet en vb, la difficulté n'est pas prise en compte, seul le temps de la frappe sur mon clavier :-)
et toi,prkoi??
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202172 16 juil. 2004 à 04:59
je n'ai pas passé le VB.....
je m'interesse a tout un tas de choses, et l'assembleur en fait partie.
Le visual Basic a beau être maniable, et tout ce que tu decris, rien n'est jamais forcément simple (ca viens pas forcément non plus du langage). Je suis d'accord sur sa relative lenteur dans les sections de code critique...
Pour conclure, j'ajouterai qu'il ne faut pas, selon moi dresser de comparatif systématique entre les deux.... ils n'ont pas la même vocation, ni la même philosophie !
Il faut tâcher d'aborder l'assembleur comme de l'assembleur ;-) et oublier tout ce que tu as pu apprendre avec le VB.....(sauf les API, lol)
Enfin, je te dis ca, lol je suis encore un sacré débutant...