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.