MASM

Microsoft Macro Assembler
Tip de Compilator
Autor Microsoft
Dezvoltatori Microsoft
Sistem de operare MS-DOS , Windows
Limbi de interfață rusă, engleză etc.
Prima editie 1981
ultima versiune 14.16.27023.1 ( 7 martie 2017 )
Stat activ
Licență EULA Microsoft
Site-ul web microsoft.com/en-us/down…

MASM (Microsoft Macro Assembler) este un asamblator pentru procesoare x86 . A fost produs inițial de Microsoft pentru scrierea de programe în sistemul de operare MS-DOS și a fost de ceva timp cel mai popular asamblator disponibil pentru acesta. MASM a suportat o mare varietate de facilități macro și idiomuri de programare structurate, inclusiv constructe de nivel înalt pentru repetiții, apeluri de procedură și alternanțe (de aceea MASM este un asamblator de nivel înalt). Mai tarziu[ când? ] a adăugat posibilitatea de a scrie programe pentru Windows . MASM este unul dintre puținele instrumente de dezvoltare Microsoft care nu avea versiuni separate pe 16 și 32 de biți.

Exemplu de program

Programul Hello World pe MASM32 care tipărește acest mesaj și iese.

.386 .model flat , opțiune stdcall casemap : niciunul 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

Un exemplu de același program în versiunea 4.0 MASM pentru procesorul Intel 8086 .

include io.asm data segment x db ' Bună lume ! ' , ' $ ' datele se termină stiva segment stiva db 128 dup ( ? ) stiva se termină segmentul de cod presupune cs : cod , ds : date , ss : începutul stivei : mov ax , date mov ds , ax lea dx , x outstr termina codul finals sfârşitul începutului

Un exemplu de același program pentru MS-DOS în versiunea MASM 6.1 pentru procesorul Intel 8086 .

.model minuscul .code .startup mov dx , offset Bună ziua mov ah , 9 int 21 h .exit Hello db ' Hello world ! $ ' sfârşitul

Istorie

La începutul anilor 1990, asamblatorii alternativi precum TASM de la Borland și asamblatorul gratuit NASM au început să ia o parte din cota de piață a MASM. Cu toate acestea, două evenimente de la sfârșitul anilor 1990 au permis MASM să-și păstreze cea mai mare parte a cotei sale: în primul rând, Microsoft a încetat să vândă MASM ca produs comercial și a început să-l distribuie gratuit ca parte a DDK ( Eng.  Device Driver Kit  - un set pentru crearea de drivere ). ). În al doilea rând, datorită pachetului MASM32 și tutorialelor Iczelion Win32, s-a dovedit că programarea în MASM este posibilă și într-un mediu Microsoft Windows . În 2000, MASM 6.15 a fost lansat ca parte a setului de dezvoltare Visual C++ și toate versiunile de Visual C++ după 6.0 au inclus o versiune de MASM egală cu cea a Visual C++. Mai târziu, Visual C++ 2005 a introdus o versiune pe 64 de biți a MASM. Împreună cu marea comunitate de programatori MASM, aceste dezvoltări au ajutat la stoparea scăderii popularității MASM în comparație cu alți asamblatori. Astăzi, MASM continuă să fie utilizat pe platforma Win32, în ciuda concurenței cu produse mai noi, cum ar fi NASM , fasm , TASM , HLASM .

Proiecte care susțin MASM

Există multe proiecte de dezvoltare software în curs de dezvoltare care acceptă MASM, inclusiv IDE-uri (cum ar fi RadASM ), dispozitive de depanare (cum ar fi OllyDbg) și dezasamblare (inclusiv IDA , un dezasamblator interactiv).

Versiuni MASM

Deși MASM nu mai este un produs comercial, Microsoft continuă să mențină codul sursă folosit în alte produse Microsoft. De când Microsoft a încetat să vândă MASM separat, au existat mai multe actualizări la linia de producție MASM 6.x (cea mai recentă actualizare fiind versiunea 6.15, care a fost inclusă cu Visual C++ 6.0) și, după aceea, MASM 7.0 ca parte a Visual C++ .NET 2002 , MASM 7.1 în Visual C++ .NET 2003, MASM 8.0 în Visual C++ 2005 și MASM 9.0 în Visual C++ 2008 care acceptă platforma x64 . De la versiunea 11, MASM este din nou lansat ca produs independent, există 2 medii de dezvoltare: normal (qedit) și unicode (uniedit).

Link -uri