Microsoft Macro Assembler

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Microsoft Macro Assembler (MASM) je makroassembler vyvinutý společností Microsoft pro architekturu x86 a x86-64 procesorů. MASM byl součástí balíčku programovacích nástrojů Microsoftu od verze 3.0, a později bylo uvolněno několik verzí, včetně MASM 5.1, MASM 6.0, MASM 6.1 a MASM 6.15. MASM se používá pro vytváření programů v jazyce symbolických instrukcí a sestavování do strojového kódu. MASM umožňuje také použití makroinstrukcí pro snadné opakování a rozšíření zdrojových kódů. MASM je úzce integrován s Microsoft Visual C++ a je často používán při tvorbě nízkoúrovňových a hardwarověorientovaných programů.

Microsoft Macro Assembler (zkráceně MASM) je překladač pro rodinu mikroprocesorů x86. Původně byl vytvořen společností Microsoft pro vývoj jejich operačního systému MS-DOS a byl po dlouhou dobu nejpopulárnějším a nejvyužívanějším assemblerem dostupným pro tento operační systém. Podporoval používání maker a prvky strukturovaného programování jako jsou smyčky, volání procedur a alternací (proto je MASM označován jako vysokoúrovňový assembler).

Pozdější verze přidaly schopnost sestavit programy z MS-DOSu i pro operační systémy Microsoft Windows. MASM je jedním z mála vývojových nástrojů společnosti Microsoft (jiným je např. +more NMAKE), která v jedné verzi dokázaly vytvářet jak 16bitový, tak i 32bitový kód. Nejdříve podporoval aplikace jen pro MS-DOS, další verze (5. 1 a 6. 0) podporovaly též operační systém OS/2. Pozdější verze (6. 1+) umožňovaly vytvářet aplikace pro Win32 konzoli, které bylo možné za pomoci Phar Lap TNT DOS extenderu provozovat i v prostředí MS-DOSu (kvůli chybě ve verzi 6. 1 však nefungovaly ve finální verzi Windows NT).

Konkurence

Na začátku devadesátých let začaly alternativní assemblery jako např. Borland TASM, shareware assembler A86, a (ke konci 90. +more let) NASM, zabírat podíl na trhu, kde byl převážně MASM. Nicméně, dvě události v pozdních 90. letech umožnily MASMu udržet si většinu svého podílu na trhu: první, Microsoft přestal prodávat MASM jako komerční produkt a začal jej distribuovat "bezplatně" jako součást DDK (Driver Development Kit). Za druhé, objevil se balíček MASM32 a Iczelionovy tutorialy Win32, které daly Windowsovským aplikacím možnost programovat v MASM. Později v roce 2000, byl MASM 6. 15 uvolněn jako součást procesorového balíku Visual C++, který byl bezplatný. Výsledkem bylo, že všechny verze Visual C++, pozdější než 6. 0, zahrnovaly verzi MASM ekvivalentní k verzi Visual C++. Později, ve Visual C++ 2005, se objevila 64bitová verze MASM (souborové jméno bylo ml64. exe). Kombinace těchto událostí a fakt, že existovala široká základna uživatelů s instalovaným MASM, pomohly zpomalit úpadek MASM vůči jiným assemblerům. I dnes je MASM stále populární mezi assemblery na platformách Win32, navzdory konkurenci nových produktů, jako např. UASM, Asmc, POASM, NASM a Yasm, FASM, GoAsm, a HLA.

MASM verze

Ačkoliv MASM již není komerčním produktem, Microsoft stále pokračuje v jeho podpoře, kvůli široké základně assembly kódů, které existují a jsou využívány interně u samotného Microsoftu. Poslední verze MASM, která byla prodávána jako samostatný balíček, byla verze 6. +more11. Od chvíle kdy Microsoft přestal MASM samostatně prodávat, přidal několik aktualizací k produktové řadě MASM verze 6. x. Verze 6. 15 byla obsažena v balíku Visual C++ 6. 0 Processor Pack. Verze 7. 0 byla obsažena ve Visual C++ . NET 2002. Verze 7. 1 byla obsažena ve Visual C++ . NET 2003. Verze 8. 0 byla pak obsažena ve Visual C++ 2005, která také obsahovala verzi, jež mohla kompilovat kód x64. Ve 64bitovém kódu ale nefungují příkazy invoke, . if, . repeat a . while.

Některé z novějších verzí MASM jsou také obsaženy v různých SDK a DDK společnosti Microsoft. Do budoucna vše nasvědčuje tomu, že další verze MASM budou dodávány s budoucími verzemi Visual C++. +more Navzdory tomu, že MASM je dnes k dispozici legálně a "bezplatně", je nutné mít na paměti, že se stále ještě jedná o komerční produkt, a všechny tyto "bezplatné" verze mají jistá omezení použití, která je nutno respektovat.

Kromě toho existují i balíčky vyráběné nadšenci, které obsahují kolem MASM celý ekosystém, jako jsou editory, debuggery, linkery, hlavičkové soubory, příklady zdrojových kódů. Často jsou šířeny po internetu svými autory. +more Microsoft proti těmto autorům nikdy nezasáhl.

Související články

Assembler * TASM * NASM

Externí odkazy

[url=http://masm32. com]MASM32 Homepage[/url] nebo též [url=http://masm32. +morecom/board/]diskuzní fórum MASM[/url] * [url=http://www. winasm. net]WinAsm Studio IDE - Assembly fórum, open source projekty[/url] * [url=https://web. archive. org/web/20090513083157/http://sourcerip. com/]Bezplatné MASM Source Kódy[/url] * [url=http://www. microsoft. com/downloads/details. aspx. FamilyID=7A1C9DA0-0510-44A2-B042-7EF370530C64]MASM download pro Visual C++ 2005 Express Edition[/url].

Kategorie:Assemblery Kategorie:Software Microsoftu Kategorie:Programovací jazyky

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top