MASM

Microsoft Macro Assembler
Typ Kompilátor
Autor Microsoft
Vývojáři Microsoft
Operační systém MS-DOS , Windows
Jazyky rozhraní ruština, angličtina atd.
První vydání 1981
Nejnovější verze 14.16.27023.1 ( 7. března 2017 )
Stát aktivní
Licence Microsoft EULA
webová stránka microsoft.com/en-us/down…

MASM (Microsoft Macro Assembler ) je assembler pro x86 procesory . Původně jej vyráběl Microsoft pro psaní programů v operačním systému MS-DOS a nějakou dobu byl pro něj nejoblíbenějším assemblerem, který byl k dispozici. MASM podporoval širokou škálu makro zařízení a strukturovaných programovacích idiomů, včetně konstrukcí na vysoké úrovni pro opakování, volání procedur a alternace (proto je MASM assembler na vysoké úrovni). Později[ kdy? ] přidána možnost psát programy pro Windows . MASM je jedním z mála vývojových nástrojů Microsoftu, který neměl oddělenou 16bitovou a 32bitovou verzi.

Příklad programu

Program Hello World na MASM32 , který vytiskne tuto zprávu a ukončí se.

.386 .model flat , možnost stdcall casemap : none include \ masm32 \ include \ masm32.inc include \ masm32 \ include \ kernel32.inc include \ masm32 \ macros \ macros.asm includelib \ masm32 \ lib \ masm32.lib includelib \ masm32 \ lib \ kernel32.lib .code start: print " Hello world " exit end start

Příklad stejného programu v MASM verze 4.0 pro procesor Intel 8086 .

include io.asm datový segment x db ' Hello world ! ' , ' $ ' data končí zásobník segment zásobník db 128 dup ( ? ) konce zásobníku kód segment předpokládat cs : kód , ds : data , ss : začátek zásobníku : mov ax , data mov ds , ax lea dx , x outstr dokončit kód končí konec začátek

Příklad stejného programu pro MS-DOS v MASM verze 6.1 pro procesor Intel 8086 .

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

Historie

Na počátku 90. let začaly alternativní assemblery jako Borlandův TASM a bezplatný assembler NASM přebírat část podílu MASM na trhu. Dvě události na konci 90. let však umožnily MASM udržet si většinu svého podílu: zaprvé Microsoft přestal prodávat MASM jako komerční produkt a začal jej distribuovat zdarma jako součást DDK ( Eng.  Device Driver Kit  – sada pro vytváření ovladačů ). Za druhé, díky balíčku MASM32 a Iczelionovým výukovým programům Win32 se ukázalo, že programování v MASM je možné i v prostředí Microsoft Windows . V roce 2000 byla vydána MASM 6.15 jako součást Visual C++ Development Kit a všechny verze Visual C++ po 6.0 zahrnovaly verzi MASM stejnou jako Visual C++. Později Visual C++ 2005 představil 64bitovou verzi MASM. Společně s velkou komunitou programátorů MASM tento vývoj pomohl zastavit pokles popularity MASM ve srovnání s jinými assemblery. Dnes se MASM nadále používá na platformě Win32 navzdory konkurenci novějších produktů, jako jsou NASM , fasm , TASM , HLASM .

Projekty podporující MASM

Existuje mnoho nových projektů vývoje softwaru, které podporují MASM, včetně IDE (jako RadASM ), debuggerů (jako OllyDbg) a disassemblerů (včetně IDA , interaktivního disassembleru).

Verze MASM

Přestože MASM již není komerčním produktem, společnost Microsoft nadále udržuje zdrojový kód používaný v jiných produktech společnosti Microsoft. Od doby, kdy Microsoft přestal prodávat MASM samostatně, došlo k několika aktualizacím výrobní řady MASM 6.x (nejnovější aktualizací je verze 6.15, která byla součástí Visual C++ 6.0), a poté MASM 7.0 jako součást Visual C++ .NET. 2002, MASM 7.1 ve Visual C++ .NET 2003, MASM 8.0 ve Visual C++ 2005 a MASM 9.0 ve Visual C++ 2008, které podporují platformu x64 . Od verze 11 je MASM opět vydáván jako nezávislý produkt, existují 2 vývojová prostředí: normální (qedit) a unicode (uniedit).

Odkazy