Microsoft Macro Assembler
Un article de Wikipédia, l'encyclopédie libre.
Le logiciel Microsoft Macro Assembler (Macro Assembleur de Microsoft, plus connu sous l'acronyme MASM) est un assembleur pour la famille de processeurs x86. Il fut à l'origine développé par Microsoft pour le développement de leur système d'exploitation MS-DOS.
MASM supporte une grande variété de macros aidant à la programmation en langage assembleur ainsi que des idiomes de programmation structurée, incluant des constructions de haut niveau pour les boucles, les appels de procédures, les branchements, etc. ce qui fait de MASM un assembleur à programmation de haut niveau. Les dernières versions de MASM ont la possibilité de produire des programmes pour le système d'exploitation Windows. MASM fut un des rares outils de développement de Microsoft pour lequel il n'y eu pas de version 16 et 32 bits séparée.
Sommaire |
[modifier] Compétition entre assembleurs
Dans les premières années de la décénie 1990 d'autres assembleurs alternatifs prirent une certaine part de marché à MASM, parmi lesquels TASM de Borland, le partagiciel A86 et NASM vers la fin de la décénie. Toutefois, deux évènements à la fin des années 90 permirent à MASM de garder un solide support de la communauté des programmeurs en assembleur: en premier lieu, MASM qui était jusqu'alors un logiciel commercial, fut distribué gratuitement comme partie du kit de développement de driver (Driver Development Kit ou DDK). Dans un deuxième temps, le pack MASM32 maintenu par Steve Hutchesson ainsi que les tutoriaux d'Iczelion apparurent permettant de programmer directement et relativement aisément des applications 32 bits fonctionnant directement sous Windows. Ces deux évènements combinés assurérent à MASM sa continuité dans le temps.
MASM reste encore aujourd'hui un des assembleurs phare de la communauté des programmeurs en assembleur pour la plateforme Win32, mais d'autres assembleurs comme NASM, TASM, FASM, GoAsm, RosASM ou HLA rassemblent chacun une communauté importante.
[modifier] Versions de MASM
Bien que MASM ne soit plus un produit commercial, Microsoft continue à assurer son support du fait d'une utilisation assez importante du langage assembleur en développement interne chez Microsoft. Depuis que Microsoft a arrêté la vente de MASM, de nombreuses mises à jour ont été produites pour la lignée de MASM v6.x (la dernière mise à jour de cette lignée est la version 6.15 qui était incluse dans le Visual C++ 6.0 Processor Pack). MASM v7.0 fut inclus avec Visual C++ .NET 2002, MASM v7.1 avec Visual C++ .NET 2003 et MASM 8.0 avec Visual C++ .NET 2005 (cette dernière version est la première à pouvoir assembler du code 64 bits). Pour les versions de MASM incluses avec Visual C++, l'exécutable de MASM s'appelle ml.exe et se situe dans le répertoire bin. La version 64 bits de MASM incluse avec Visual C++ 2005 se nomme ml64.exe et se situe dans le même répertoire. La documentation de MASM pour ces versions est incluse avec la documentation de Visual C++.
[modifier] Projets supportant MASM
De nombreux projets supportant MASM ont vu le jour. Ainsi des environnements de développement intégré permettent un développement plus aisée avec MASM (qui s'utilise habituellent en ligne de commande) parmi lesquels Qedit, Radasm ou WinAsm Studio. On notera aussi des débogueurs comme OllyDbg qui supporte la syntaxe MASM ou des désassembleurs comme IDA.
De nombreux forums ou sites internet proposent des codes sources de la documentation ou de l'aide concernant cet assembleur qui malgré son ancienneté reste un des assembleurs les plus supportés.
Le support officiel de MASM par Microsoft se résume aujourd'hui à ajouter des instructions lorsque de nouveaux processeurs voient le jour et à améliorer la prise en charge du 64 bits.