MASM

Microsoft Macro Assembler
Type Kompiler
Forfatter Microsoft
Udviklere Microsoft
Operativ system MS-DOS , Windows
Interface sprog russisk, engelsk osv.
Første udgave 1981
nyeste version 14.16.27023.1 ( 7. marts 2017 )
Stat aktiv
Licens Microsoft EULA
Internet side microsoft.com/en-us/down...

MASM (Microsoft Macro Assembler) er en assembler til x86- processorer . Det blev oprindeligt produceret af Microsoft til at skrive programmer i MS-DOS- operativsystemet og var i nogen tid den mest populære assembler til rådighed for det. MASM understøttede en bred vifte af makrofaciliteter og strukturerede programmeringsidiomer, herunder højniveaukonstruktioner til gentagelser, procedurekald og alterneringer (hvilket er grunden til, at MASM er en assembler på højt niveau). Senere[ hvornår? ] tilføjede muligheden for at skrive programmer til Windows . MASM er et af de få Microsoft-udviklingsværktøjer, der ikke havde separate 16-bit og 32-bit versioner.

Programeksempel

Hello World -program på MASM32 , der udskriver denne besked og afslutter.

.386 .model flad , stdcall option casemap : ingen inkluderer \ masm32 \ include \ masm32.inc include \ masm32 \ include \ kernel32.inc include \ masm32 \ macros \ macros.asm includelib \ masm32 \ lib \ masm32.lib includelib \ . \ lib \ kernel32.lib .code start: print " Hello world " exit slut start

Et eksempel på det samme program i MASM version 4.0 til Intel 8086 processoren .

inkludere io.asm datasegment x db ' Hej verden ! _ ' , ' $ ' data slutter stak segment stak db 128 dup ( ? ) stak slutter kode segment antag cs : kode , ds : data , ss : stak start: mov ax , data mov ds , ax lea dx , x outstr finish code ends slut start

Et eksempel på det samme program til MS-DOS i MASM version 6.1 til Intel 8086-processoren .

.model tiny .code .startup mov dx , offset Hej mov ah , 9 int 21 h .exit Hej db ' Hello world ! $ ' slutning

Historie

I begyndelsen af ​​1990'erne begyndte alternative samlere som Borlands TASM og frie samlere NASM at tage nogle af MASMs markedsandele. To begivenheder i slutningen af ​​1990'erne gjorde det dog muligt for MASM at beholde det meste af sin andel: For det første stoppede Microsoft med at sælge MASM som et kommercielt produkt og begyndte at distribuere det gratis som en del af DDK ( Eng.  Device Driver Kit  - et sæt til oprettelse af drivere ). For det andet, takket være MASM32-pakken og Iczelions Win32-tutorials, viste det sig, at programmering i MASM også er muligt i et Microsoft Windows -miljø . I 2000 blev MASM 6.15 udgivet som en del af Visual C++ Development Kit , og alle versioner af Visual C++ efter 6.0 inkluderede en version af MASM svarende til Visual C++. Senere introducerede Visual C++ 2005 en 64-bit version af MASM. Sammen med det store fællesskab af MASM-programmører hjalp disse udviklinger med at dæmme op for faldet i popularitet af MASM sammenlignet med andre assemblere. I dag fortsætter MASM med at blive brugt på Win32-platformen på trods af konkurrence fra nyere produkter som NASM , fasm , TASM , HLASM .

Projekter, der understøtter MASM

Der er mange nye softwareudviklingsprojekter, der understøtter MASM, herunder IDE'er (som RadASM ), debuggere (som OllyDbg) og disassemblere (inklusive IDA , en interaktiv adskiller).

MASM-versioner

Selvom MASM ikke længere er et kommercielt produkt, fortsætter Microsoft med at vedligeholde den kildekode, der bruges i andre Microsoft-produkter. Siden Microsoft stoppede med at sælge MASM separat, har der været flere opdateringer til MASM 6.x produktionslinjen (den seneste opdatering er version 6.15, som var inkluderet i Visual C++ 6.0), og derefter MASM 7.0 som en del af Visual C++ .NET 2002, MASM 7.1 i Visual C++ .NET 2003, MASM 8.0 i Visual C++ 2005 og MASM 9.0 i Visual C++ 2008, der understøtter x64 -platformen . Siden version 11 er MASM igen udgivet som et selvstændigt produkt, der er 2 udviklingsmiljøer: normal (qedit) og unicode (uniedit).

Links