MASM

Microsoft Macro Assembler
Típusú Fordítóprogram
Szerző Microsoft
Fejlesztők Microsoft
Operációs rendszer MS-DOS , Windows
Interfész nyelvek orosz, angol stb.
Első kiadás 1981
legújabb verzió 14.16.27023.1 ( 2017. március 7. )
Állapot aktív
Engedély Microsoft EULA
Weboldal microsoft.com/en-us/down…

A MASM (Microsoft Macro Assembler) egy összeszerelő program x86- os processzorokhoz . Eredetileg a Microsoft MS-DOS operációs rendszerben való programok írására készítette, és egy ideig a legnépszerűbb assembler volt számára. A MASM a makrólehetőségek és a strukturált programozási idiómák széles skáláját támogatta, beleértve az ismétlések magas szintű konstrukcióit, az eljáráshívásokat és az alternációkat (ezért a MASM egy magas szintű összeszerelő). A későbbiekben[ mikor? ] hozzáadta a Windows rendszerhez való programok írásának lehetőségét . A MASM azon kevés Microsoft fejlesztőeszközök egyike, amelyeknek nem volt külön 16 bites és 32 bites verziója.

Programpélda

Hello World program a MASM32 -n , amely kinyomtatja ezt az üzenetet, és kilép.

.386 .model flat , stdcall opció casemap : none include \ masm32 \ include \ masm32.inc include \ masm32 \ include \ kernel32.inc include \ masm32 \ macros \ macros.asm includelib \ masm3 lib2 \ m lib2 lib2 . _ \ lib \ kernel32.lib .code start: print " Hello world " kilépés vége kezdet

Példa ugyanerre a programra a MASM 4.0-s verziójában az Intel 8086 processzorhoz .

include io.asm adatszegmens x db ' Hello world ! _ ' , ' $ ' adatvégek veremszegmens verem db 128 dup ( ? ) verem véget ér kódszegmens feltételezzük cs : code , ds : data , ss : verem kezdete : mov ax , data mov ds , ax lea dx , x outstr befejezi a kódot _ vége kezdés

Példa ugyanerre a programra MS-DOS-hoz a MASM 6.1-es verziójában az Intel 8086 processzorhoz .

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

Történelem

Az 1990-es évek elején olyan alternatív összeszerelők, mint a Borland TASM és a szabad összeszerelő NASM , elkezdték megszerezni a MASM piaci részesedését. Az 1990-es évek végén bekövetkezett két esemény azonban lehetővé tette a MASM számára, hogy megtartsa részesedésének nagy részét: először a Microsoft felhagyott a MASM kereskedelmi termékként történő értékesítésével, és elkezdte ingyenesen terjeszteni a DDK ( Eng.  Device Driver Kit – illesztőprogramok  létrehozására szolgáló készlet) részeként. ). Másodszor, a MASM32 csomagnak és az Iczelion Win32 oktatóprogramjainak köszönhetően kiderült, hogy a MASM-ben programozás Microsoft Windows környezetben is lehetséges . 2000 -ben a MASM 6.15 a Visual C++ Development Kit részeként jelent meg, és a Visual C++ 6.0 utáni összes verziója tartalmazta a MASM egy olyan verzióját, amely megegyezik a Visual C++ verziójával. Később a Visual C++ 2005 bemutatta a MASM 64 bites verzióját. A MASM programozók nagy közösségével együtt ezek a fejlesztések segítettek megállítani a MASM népszerűségének csökkenését a többi összeszerelőhöz képest. Ma a MASM továbbra is használatos a Win32 platformon, annak ellenére, hogy versenyeznek az olyan újabb termékek, mint a NASM , fasm , TASM , HLASM .

MASM-et támogató projektek

Számos feltörekvő szoftverfejlesztési projekt támogatja a MASM-et, beleértve az IDE -ket (például RadASM ), a hibakeresőket (például az OllyDbg-t) és a szétszerelőket (beleértve az IDA -t, egy interaktív szétszerelőt).

MASM verziók

Bár a MASM már nem kereskedelmi termék, a Microsoft továbbra is fenntartja a többi Microsoft-termékben használt forráskódot. Amióta a Microsoft felhagyott a MASM külön értékesítésével, számos frissítés történt a MASM 6.x gyártósoron (a legújabb frissítés a 6.15-ös verzió, amely a Visual C++ 6.0-val együtt volt), majd ezt követően a MASM 7.0 a Visual C++ .NET részeként. 2002 , MASM 7.1 Visual C++ .NET 2003-ban, MASM 8.0 Visual C++ 2005-ben és MASM 9.0 Visual C++ 2008-ban, amelyek támogatják az x64 platformot . A 11-es verzió óta a MASM ismét független termékként jelenik meg, 2 fejlesztői környezet létezik: normál (qedit) és unicode (uniedit).

Linkek