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.
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 kezdetPé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ésPé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égeAz 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 .
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).
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).
Assembly nyelv | |
---|---|
IDE | |
Fordítók | |
Szintaxis formátumok |