MASM32 de l'assembleur ??? - ASM - Programmation
Marsh Posté le 02-10-2005 à 02:34:34
euh... les print et cie, ce sont des macros, et rien que des macros ! en aucun cas ce ne sont des mnémoniques !
masm32 définit tout un tas de macros pour les taches répetitives, mais ça reste de l'assembleur pur !
tu peux voir ces macros dans le fichier \masm32\macros\macros.asm. tu constateras ainsi qu'elles sont entièrement en assembleur.
pour un tuto, voici le meilleur : http://win32asm.cjb.net/
Marsh Posté le 02-10-2005 à 02:38:59
et va faire un tour ici aussi, tu verras qu'on peut encore faire de l'assembleur bourrin en 2005 sous XP
http://forum.hardware.fr/forum2.ph [...] y=0&nojs=0
Marsh Posté le 02-10-2005 à 17:02:36
Ah ben les temps changent...
Tout d'abord merci...C'était bien ce que je cherchais...Les deux liens sont supers...Mais bon je suis quand même déçu...je ne m'imaginais pas écrire en assembleur en utilisant des macros qui existaient déjà dans une librairie ni passer par le C...Mais bon faut vivre avec son temps...Et de toute façon qu'est-ce qui m'empêche de ne pas utiliser les macros hein ??? Allez faut que j'arrête d'être nostalgique...Je pense juste à tous ces petits jeunes pour qui le premier contact avec l'asm se fera avec MASM32 et qui se diront que pour afficher un message suffit de faire print en asm...Bon allez, faut que j'arrête d'être nostalgique...
Encore merci...
Marsh Posté le 02-10-2005 à 17:30:29
moi je vois pas ce qui te gène dans l'utilisation des macros
Marsh Posté le 03-10-2005 à 04:09:13
Moufle2mer a écrit : je ne m'imaginais pas écrire en assembleur en utilisant des macros qui existaient déjà dans une librairie, |
? ben c'est pas le cas, les macros c'est du "code replacement", donc tu peut tout à fait coder tes propres macros... celles fournies avec masm32 ne sont là que pour permettre au néophytes de débuter plus facilement. et puis une librairie ca tiens de la place en mémoire (parcequ'il n'y a pas qu'un seul algo...) alors que c'est pas le cas pour une macro...
sinon, masm offre aussi une collection de procédures (avec les sources, donc modifiables), mais là encore, elles ne sont présentent que pour les néophytes. si tu les utilisent c'est ton choix, et effectivement ce n'est plus vraiment de l'assembleur dans ce cas là, mais tu l'as choisi... et de toute facon, si tu te limite aux macros/procédures offerte par masm tu ne programmeras pas grand chose, donc tu seras automatiquement ammené a coder en asm si tu veut arriver à faire quelquechose...
Moufle2mer a écrit : ni passer par le C... |
??? tu dois programmer bizarrement...
Marsh Posté le 03-10-2005 à 12:19:09
NightWare a écrit : ? ben c'est pas le cas, les macros c'est du "code replacement", donc tu peut tout à fait coder tes propres macros... celles fournies avec masm32 ne sont là que pour permettre au néophytes de débuter plus facilement. et puis une librairie ca tiens de la place en mémoire (parcequ'il n'y a pas qu'un seul algo...) alors que c'est pas le cas pour une macro... |
Quand je dis passer par le C va voir le second lien, pour le starfield la source est en C avec à l'intérieur de l'asm (_asm{})...Voilà...
Pour ce qui est des macros je le disais déjà :"De toute façon rien ne m'oblige à les utiliser"...Ce que je trouve dommage c'est que dans les tutoriaux ils te disent que pour imprimer un message à l'écran il faut utiliser tel ou tel macro...Les tutoriaux que j'avais commencé à lire en 90 (ah le bon vieux temps) expliquaient toute la démarche pour imprimer un message à l'écran (passage par les int etc...) avec forcément une explication sur le fonctionnemnt du système...Et là j'avais vraiment l'impression d'apprendre quelque chose...Alors que là...
Voilà...
Est-ce que j'ai été claire ???
Marsh Posté le 03-10-2005 à 12:30:59
Moufle2mer a écrit : Quand je dis passer par le C va voir le second lien, pour le starfield la source est en C avec à l'intérieur de l'asm (_asm{})...Voilà... |
ben le source est en C avec de l'asm parce que c'était un choix de ma part ! j'ai préféré, pour ne pas compliquer davantage, coder l'algo en C et l'affichage en asm, mais rien ne m'empéchait de tout coder en asm
Marsh Posté le 03-10-2005 à 12:54:18
Harkonnen a écrit : ben le source est en C avec de l'asm parce que c'était un choix de ma part ! j'ai préféré, pour ne pas compliquer davantage, coder l'algo en C et l'affichage en asm, mais rien ne m'empéchait de tout coder en asm |
Faut pas prendre ça comme une critique...Je comprends la pédagogie (qui fort bien d'ailleurs...).
Allez je retire ce que j'ai dis sur l'utilisation du C.
Marsh Posté le 07-10-2005 à 09:46:59
En fait de nos jours l'asm est surtout utilisé pour améliorer encore les performances de certaines routines (critiques), encore faut-il savoir optimiser l'algo lui-même et code ASM.
Donc faire un "hello world!", c'est joli, mais sans grand intérêt, sauf pour l'apprentissage.
Marsh Posté le 02-10-2005 à 02:16:26
Bonjour à tous,
Bon alors tout d'abord que les choses soient claires je suis débutant en asm...ça fait longtemps que je m'y intéresse mais j'ai jamais eu le courage de m'y mettre...Tout ça pour dire qu'aujourd'hui j'ai fais un grand pas en avant en décidant de m'y mettre pour de bon, alors je prends ma doc qui date d'environ 10 ans, je télécharge MASM32, je fais mon petit programme "Hello World" ( ), qui plante (évidemment), je cherche à comprendre pourquoi...et après des heures de recherche je tombe sur la réponse : "Ta doc est toute vieille, le monde change, les choses évoluent mon p'tit"...Au lieu de rétorquer par un "Le monde change et poutant Mireille Mathieu nous cassent toujours autant les c........" je reste calme et essaye de voir comment on assemble au XXIe sciècle...et là que trouve-je : pour imprimer un "Hello world" sous MASM32 suffit de faire un print blablabla...Quoi !!!! Où sont passés les bon vieux MOV dans des adresses pas possibles pour les INT etc...
D'où ma question : qu'est devenu l'assembleur ??? Est-ce que désormais c'est comme cela qu'on programme en assembleur...L'assembleur n'est plus un langage de bas niveau ???? C'était mieux avant comme dirait l'autre ???
Bon il est évident (pour moi en tout cas) que les print et Cie c'est du tout pourrie (pour l'assembleur...)
D'où ma vraie question : Est-ce que l'on peut toujours programmer "en barbare" tout en ayant Windows XP ? Si oui (et j'imagine que c'est le cas) comment ??? Quels compilateurs ?? Mais aussi où trouver des tutoriaux à jour pour ça...
Bon voilà je pense que c'est tout...
Merci...