Microsoft Macro Assembler

[2] They were sold either as the generic "Microsoft Macro Assembler" for all x86 machines or as the OEM version specifically for IBM PCs.

This was intended for PCs with only 64k of memory and lacked some features of the full MASM, such as the ability to use code macros.

Version 5.0, released August 1987, supported 386 instructions, and also shorthand mnemonics for segment descriptors (.code, .data, etc.

6.1 was built as a bi-modal binary before the Win32 API was finalized, and is incompatible with running on Windows NT due to missing exports.

[4] In 1993 full support for protected mode 32-bit applications and the Pentium instruction set was added.

[5] In 1999, Intel released macros for SIMD and MMX instructions, which were shortly thereafter supported natively by MASM.

With the 6.15 release in 2000, Microsoft discontinued support for MASM as a separate product, instead subsuming it into the Visual Studio toolset.

"[8] In a review of three assemblers, Michael Blaszczak of BYTE in February 1989 found that MASM 5.1 was the slowest and complained the most about code.

He concluded that "MASM takes some getting used to, but it gets the job done" despite "more than its fair share of frustrating quirks and oddities".