Microsoft Macro Assembler
Der Microsoft Macro Assembler (abgekürzt MASM) ist ein von Microsoft entwickelter Assembler für x86-Prozessoren. Er übersetzt Assemblerquelltext in ausführbaren, nativen Maschinencode.
Der Microsoft Macro Assembler entwickelte sich zeitweise zum meistbenutzten Assembler für die Entwicklung von MS-DOS-Programmen. Heutzutage ist MASM der bevorzugte Assembler für alle Microsoft-basierenden Betriebssysteme (wohl auch aufgrund des MASM32-SDK). Er ist in aktuellen Versionen in der Entwicklungsumgebung Microsoft Visual Studio (und Express) enthalten, es gibt ihn aber auch in einer separaten Download-Version. Die kostenlosen Versionen von MASM dürfen nicht für kommerzielle Zwecke verwendet werden. Zudem darf man sie nur zur Entwicklung für Microsoft-Betriebssysteme verwenden – alle anderen Betriebssysteme sind ausdrücklich durch die EULA (End-User License Agreement) ausgeschlossen.
Als kommerzieller Konkurrent zum Microsoft Macro Assembler behauptete sich besonders der Turbo Assembler von Borland. Als kostenlose und freie Alternativen sind beispielsweise die beiden MASM kompatiblen Programme jWasm und UASM verfügbar. Außerdem gibt es noch den Netwide Assembler und Flat assembler mit eigner Syntax.
In der aktuellen Version 14.0 werden folgende Befehlssätze unterstützt: x86-Architektur, x87-fpu, MMX, 3DNow, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, SSE4.A, VMX, AVX, AVX2, AES, CVT16, FMA3 und FMA4. Ab der Version 8.0 gibt es zwei Ausgaben unter derselben Versionsnummer, eine für die x86-32-Architektur und eine für die x86-64-Architektur.
Durch Microsofts Freigabe und Veröffentlichung des Quellcodes von MS-DOS 4.0 am 25. April 2024 ist MASM 5.10 mitsamt dem Microsoft C Compiler (Version 5.10), dessen Linker LINK.EXE
(Version 3.65) und NMAKE.EXE
(Version 1.00.05), sowie der dazugehörigen C Bibliothek als Binärcode öffentlich auf github verfügbar.