Renfield.asm

Signaler
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjour a tous,

bon nombre d'entre vous ne me connaissent surment pas...
(je viens plutôt de VbFrance...)

Je me (re)met a l'ASM !!

j'ai téléchargé Masm32, et je voudrais savoir si les Macro Instructions

.IF .THEN etc sont des choses à utiliser....

j'avoue ne pas savoir si le code produit est "meilleur" que celui que l'on pourrait coder en Asm "pur"....

j'ai un peu le sentiment que cela dénature l'asm... enfin, je me trompe peut-etre...

quel est votre avis là dessus ?

8 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Si c'est pour faire ces trucs la, prog en C dans VS 2003, il produira un bien meilleur code.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
ok, donc, je reste sur mon premier avis d'eviter toutes ces MACRO .....
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
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.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
570
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
18 janvier 2021
2
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
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
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.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
570
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
18 janvier 2021
2
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
Messages postés
805
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
30 octobre 2010

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??
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
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...