Section courante

A propos

Section administrative du site

Fiche technique
Système d'exploitation : DOS/Windows/OS/2
Auteur : Microsoft
Date de publication : 1981 à actuellement
Catégorie : Compilateur assembleur

Sommaire

Le logiciel Macro Assembler de Microsoft est un compilateur pour le langage de programmation Assembleur 80x86 et 64 bits. Il s'agit de l'un des compilateurs assembleurs 8086 les plus ancien à avoir survécu à tous les changements d'environnement matériel et logiciels s'étant produit depuis les 40 ans dernières années. Jusqu'à la version 5.0, le compilateur était uniquement disponible pour le système d'exploitation MS-DOS. Ensuite, à partir de la version 5.1 jusqu'à la version 6.11, il était disponible pour les systèmes d'exploitation MS-DOS et OS/2. Ensuite, il fut uniquement proposé pour le système d'exploitation Windows avec l'exécutable «ML.EXE» ou «ML64».

Version

Voici les différentes versions du MASM :

Version Année Description
MACRO-86 1981 Produit originale, inclus le M86 (prédécesseur de MASM), LINK, LIB and CREF
1.00 1981 Première version officielle de MASM
1.00 1981 Version proposé par IBM
1.10 1982 Support des instructions du coprocesseur mathématique 8087 et du DOS 2.0 (fichier gérer par des Handle)
1.25 1983 Support de l'émulation du 8087
1.27 1984 Corrections de bogues mineurs
2.00 1984 Version proposé par IBM, support d'instructions 80186, 80286 et 80287, ajout de directives .186, .286c, .287, .8086, .8087
3.00 1984 Support des instructions du mode protégé du 80286, ajout des utilitaires MAKE, SYMDEB et MAPSYM, ajout de directive .286p.
3.01 1985 Mise à jour mineurs sur les utilitaires SYMDEB et MAPSYM.
4.00 1985 Ajout des utilitaires EXEMOD et EXEPACK, ajout de directives .err, .err1, .err2, .errb, .errdef, .errdif, .erre, .erridn, .errnb, .errndef et .errnz.
5.00 1987 Support des instructions 386 et 387, simplification des directives de segment, support de multiples modèle de mémoire, variables communes, utilisation des mémoires d'environnement MASM, INCLUDE et TMP, aide de la ligne de commande, ajout de CodeView (CV) (remplaçant les utilitaires SYMDEB et MAPSYM) et CVPACK, ajout des directives .286, .386, .386c, .386p, .387, align, .alpha, byte, .code, comm, .const, .data, .data?, df, dosseg, dword, .errdifi, .erridni, .fardata, .fardata?, fword, ifdifi, ifidni, .model, .msfloat, qword, .seq, .stack, tbyte et word
MASM/2 1987 Version proposé par IBM, version spécifique au système d'exploitation OS/2 basée sur MASM 4.00, inclut les versions liées de MASM, LINK, LIB, CREF, MAKE et EXEMOD, comprend la version DOS (CV) et la version OS/2 (CVP) de CodeView.
5.10 1988 Ajout des étiquettes locales (@@, @B, @F), macro de fonctions de chaînes de caractères (CATSTR, INSTR, SIZESTR, SUBSTR), un support OS/2, ajout des utilitaires BIND, EXEHDR et IMPLIB, ajout des directives catstr, elseif, elseif1, elseif2, elseifb, elseife, elseifdef, elseifdif, elseifdifi, elseifidn, elseifidni, instr, sizestr et substr.
5.10A 1989 Corrections de bogues mineurs.
5.10B 1989 Inclus avec le Windows 3.1 DDK
6.00 1991 ML au lieu de MASM, ajout du pilote de compatibilité MASM, support d'instructions 486, assemblage multi-passes, prise en charge du modèle de mémoire FLAT, prise en charge du modèle TINY (pour les fichiers .COM), meilleur traitement des macros, allongement automatique du saut conditionnel, prototypes de fonctions de langage de haut niveau et appels (INVOKE et PROTO), ajout de NMAKE (remplaçant MAKE) et de H2INC, ajout de QuickHelp (QH), ajout de PWB (Programmer's Workbench), enlève les utilitaires CREF, EXEMOD et EXEPACK, ajout de directives .486, .486p, .dosseg, echo, .exit, extern, externdef, for, forc, goto, includelib, invoke, .listall, .listif, .listmacro, .listmacroall, .no87, .nocref, .nolist, .nolistif, .nolistmacro, option, popcontext, proto, pushcontext, real4, real8, real10, repeat, sbyte, sdword, .startup, struct, subtitle, sword, textequ, typedef, union et while.
6.00B 1992 Correction de bogues mineurs, c'est la dernière version à avoir un pure exécutable DOS.
6.10 1992 Support de COFF, Windows, utilise le DOSXNT DOS extender (exécutable DOS/Windows), enlève le support OS/2, BIND et CVP.
6.10a 1992 Distribution de patch, correction de bogues mineurs.
6.11 1993 Support d'instructions Pentium, dernière version commerciale, ajout de directive .586, .586p et alias.
6.11a 1994 Distribution de patch, correction de bogues mineurs.
6.11c 1994 Inclus avec le Windows 95 DDK et le Windows NT 3.5 DDK.
6.11d 1995 Distribution de patch, correction de bogues mineurs, dernière version DOS.
6.12 1997 Distribution de patch, support du Pentium Pro et des instructions MMX, ajout des directives .686, .686p et .mmx.
6.13 1997 Distribution de patch, support d'instructions K3D d'AMD, ajout de la directive .k3d.
6.14 1999 Distribution de patch, support d'instructions SSE, ajout des directives oword et .xmm.
6.15 2000 Inclus avec le Visual Studio 6.0 Processor Pack, support d'instructions SSE2.
7.00 2002 Inclus avec le Visual Studio .NET 2002, le COFF est le format d'objet par défaut, le fichier «ML.ERR» est enlevé, les messages textes sont intégrés dans le ML.EXE.
7.10 2003 Inclus avec le Visual Studio .NET 2003.
8.00 2005 Inclus avec le Visual Studio 2005, support des instructions SSE3, ajout de l'exécutable ML64.
9.00 2008 Inclus avec le Visual Studio 2008, support des instructions SSSE3, SSE4.1 et SSE4.2.
10.00 2010 Inclus avec le Visual Studio 2010, support des instructions AVX et x64, enlève le support d'assemblage 16 bits.

Concurrent

Les concurrents du MASM sont FASM (Flat Assembler) de Tomasz Grysztar, gas (GNU Assembler), NASM (Netwide Assembler), TASM de Borland et le Yasm.



Dernière mise à jour : Dimanche, le 3 juillet 2016