Masm32

Masm32 is a software packet which includes tools to build Win32 applications with Masm. It contains:
  • Masm v6.14, Link, RC - tools from Microsoft (from the Windows 98 DDK). The author (Steve Hutchesson, "Hutch") claims that he has a NDA with Microsoft which allows him to redistribute these components.
  • WINDOWS.INC - include file in Masm syntax declaring Win32 equates, typedefs and structures
  • KERNEL32.INC/USER32.INC/... - contain prototypes for Masm's INVOKE directive
  • KERNEL32.LIB/USER32.LIB/... - import libraries in MS-COFF format
  • MASM32.LIB - a library of simple functions. Source (Masm syntax) is included.
  • some tools and source code samples
Strangely, the Masm32 licence is limited to create binaries for MS Windows and additionally it tries to prohibit creating open source software (see details here), which might limit its usefulness.

A few Win32 assembly samples supplied on this site still require the Masm32 package. However, due to some compatibility problems they may not be compilable with the current version of Masm32. As a work-around here's an old version of Masm32's WINDOWS.INC (IIRC it's v7) which should work with these samples.