Microsoft Assembler Versions Features

This document lists brief descriptions of current and older Microsoft Assembler tools for the PC, along with a brief list of features and notes. While you may find older versions of development tools in many places, links to the old/used programming tools sales pages of EMS Professional Software, this page's sponsor, are provided for your convenience. EMS is not affiliated with Microsoft. All terms on this page are trademarks of Microsoft Corporation. We've started a forgery identification reference.

MASM 2.0
MASM 3.01
MASM 4.0

MASM 5.0
MASM 5.1
MASM 6.0
MASM 6.10
MASM 6.11

Buy an MS Assembler package.

MACRO-80 Assembler

Relocatable macro assembler for the 8080 and Z80 microcomputer systems. Includes assembler, linking loader, and cross reference facility. List price was $200.

XMACRO-86 Cross Assembler

Modified version of MACRO-80. Assembles 8086 code on any 8080 or Z80 development system running CP/M, ISIS-II, or TEKDOS operating system. Does not assemble 8080 or Z80 instructions. List price was $300.


MASM 2.0 - IBM. The files are dated 7/18/84. It includes two thick PC format books and a single 5.25 diskette. Volume 1 describes assembler principles and syntax. Volume 2 is an instruction set and keyword reference. Price was about $75. Pretty much the same capabilities as the current MASM, but restricted to the 8086/8087 instruction set.

MASM 3.01 - Now includes symbolic debug utility. Green vinyl covered three ring binder. Document number 8450L-300-00. Part Number 016-014-009. © Microsoft Corporation 1984. Includes a single 5.25" diskette. The copy I've seen is very plain looking (no MS logos or color on diskette label).

MASM 3.44 for CP/M-80 (buy it)

MASM 4.00 - Includes manual and one 5.25" diskette. Manual is MS Document Number 410610001-400-R01-1285, Part Number 016-014-023

MASM 5.0 - Includes two 5.25" 360K diskettes, files dated 7-31-87, 12:00:00, and the following manuals:
Reference, 148 pages (wire bound), 0887 Part No. 016-014-043
Programmer's Guide, 467 pages, 0887 Part No. 00111
Microsoft CodeView and Utilities, 401 pages, 0887 Part No. 00112
Mixed-Language Programming Guide, 140 pages, 0887 Part no. 00113

MASM 5.1 -
MS Part numbers:
5.25": 016014v510
International 5.25": 016-014AV510

Includes four 5.25" 360K diskettes and one 5.25" 1.2MB disk, files dated 2-1-88, 1:00:00, and the following printed materials:
CodeView Function-Key Template, Part No. 999-999-632
CodeView Function-Key Template, Part No. 999-999-630
Reference, wire bound, 148 pages, Document No. 410610002-500-R01-1287, 1287 Part No. 01509, alternately 1287 Part No. 04696
Mixed-Language Programming Guide, Document No. 410840031-500-R01-1287, 140 pages, 1287 Part No. 01508
Microsoft CodeView and Utilities, Document No. 410840010-500-R03-1287, 1287 Part No. 01507
Programmer's Guide, 467 pages, Document No. 410610014-500-R00-0787, 1287 Part No. 01506
5.1 Update, CodeView and Utilities Update, Editor, Document No. 614610011-510-R00-0288, 0388 Part No. 02949 (only in some later assemblies?)

MASM 6.0 MS Part Numbers:

MASM 6.00 UPD (5.25): 016-044-600 (direct box)
MASM 6.00 UP (3.5): 016-045-600 (direct box)
6.00 3.5", Non USA, 016-045AV600. Appears to be North American version 5.25" box with NONUSA and 3.5" labels laid over the NA 5.25" labels.

Microsoft Assembler MASM 6.0
MASM 6.0 - Includes four 1.2MB diskettes and the following printed materials:
License agreement envelope (containing diskettes), 0389 Part No. 06536
Quick Start for Microsoft Macro assembler 5.0 and 5.1 Users, 0391 Part No. 21595
Microsoft Macro Assembler, Installing and Using the Professional Development System, 78 pages, 0291 Part No. 06558
Microsoft Macro Assembler, Reference, (wire bound), 196 pages, 0291 Part No. 06557
Microsoft Macro Assembler Programmer's Guide, 0291 Part No. 06556

MASM 6.0B - Disk 1 volume label is MASM600B, . The 6.0 version has MASM600. 6.0b update disk is Disk Assy 016-044-065

MASM 6.10 (buy it)

MS Part Numbers:

MASM 6.10 (1.44MB)AE: 016-345V610

MASM 6.10 version upgrade - To qualify for this license, you must own any previous version of MASM. No disk check is performed. Five 1.2MB diskettes, with disk one labeled Disk Assy 016-044-126
Printed materials:
Retail box sleeve, 0293 Part No. 50612 and white box-top label UPGRADE MASM 6.10 (1 (sic), 016-044-615
No Registration card
License card, marked "UPGRADE MASM 6.10, (1.2MB) RSLR", 0992 Part No. 36543.
Inside Microsoft Developer Resource Telephone Directory booklet, 0892 Part No. 098-36865
Assembler Inside & Out, by Harley Hahn, Osborne McGraw Hill, Microsoft Part # 35752, ISBN 0-07-881842-7
Microsoft MASM Environment and Tools, rear bar code labeled 35751
Microsoft MASM Reference, rear bar code labeled 35749
Microsoft MASM Programmer's Guide, rear bar code labeled 35747
Microsoft MASM Getting Started, rear bar code labeled 35753

Microsoft Assembler MASM 6.11Microsoft Assembler MASM 6.11, Academic (first package type)Microsoft Assembler MASM 6.11 Academic (final package style)
From left to right, First retail package, first academic priced package, and final academic priced package (note new AE logo and green diamond that states Win95 compatibility)
MASM 6.11

MS Part numbers:
UPDATE MASM 1.0/6.1: 016-045-611 (direct box from MS fulfillment center)
NFR: 016-551V611
Academic Price: 016-351V611 
Academic Price, International: 016-351AV611
Full Retail: 016-051V611
MASM 6.11 WIN EN INTL 3H: 016-051AV611

Five 1.44MB diskettes with latest file date of 10/19/93 11:32. Disk 1 is Disk Assy 016-051-003. MASM 6.11d is the LAST version that will run in DOS, as opposed to a DOS box under Win9x or NT. Beginning with MASM 6.12, the DOS Extender which was used has been dropped. So if someone is running DOS 6.22 with or without Win 3.x, MASM up to 6.11d will run, while 6.12 or later will NOT. Of course, any of the MASM can be used to develop for DOS, Win 3.x or Win32.
Printed materials:
Retail box sleeve, 0893 Part No. 54117 and white box-top label MASM 6.11 (1.44MB)AE, 016-351V611
Registration card, 0394 Part No. 55474
Disk offer, 0394 Part No. 55538 (expires 12/31/94)
Microsoft Support Network card, 0993 Part No. 55277
Assembler Inside & Out, by Harley Hahn, Osborne McGraw Hill, Microsoft Part # 35752, ISBN 0-07-881842-7
Microsoft MASM Environment and Tools, 928 pages, Document No. DB55793-1093, rear bar code labeled 55793
Microsoft MASM Reference, 194 pages, Document No. DB35749-1292, rear bar code labeled 35749
Microsoft MASM Programmer's Guide, 454 pages, Document No. DB35747-1292, rear bar code labeled 35747
Microsoft MASM Getting Started, 40 pages, Document No. DB35753-1292, rear bar code labeled 35753
Microsoft MASM Environment and Tools, 928 pages, Document No. DD55793-1093, rear bar code labeled 55793

MASM Version 6.11d is available on the Windows 98 Driver Developer Kit. While the whole file is 18+ Meg file. It can be downloaded in parts. You will need two files. The URLs are: (2.9 MBytes) (1.9 MBytes)
After downloading each file, execute them to extract the files. Then run the setup program. MASM is the ml.exe file in the 98ddk/bin/win98 directory. It is version 6.11d that can be patched to 6.14. This is not the same as purchasing MASM product. The linker is 32 bit and will not create 16-bit DOS programs. Also, the Programmer’s Work Bench nor CodeView for debugging are included in the full DDK. NOTE: The linker that comes with the DDK will not produce 16-bit applications for DOS. To do this, you must have Microsoft’s Linker version 5.63 that is available from Microsoft’s FTP site:
Jon Kirwan has a site that will walk you thorough downloading MASM and other Microsoft tools that came with the commercial package (but not all, as Microsoft has not released all of them). The URL to his site is: This paragraph taken from MASM FAQ, © Raymond Moon, Last updated: 20 Feb 2000

This from Jon Kirwan in a post on comp.lang.asm.x86 newsgroup:
All of the MASM/ML Microsoft assembler tools can be used to target real mode code, I believe. At least, I've never had possession of one that couldn't.

But there is a difference between targetting real mode and being hosted in real mode -- some of the Microsoft assemblers require being hosted as a console32 application, I believe.

Elsewhere, just a day ago, Kevin Rhoads posted a quick list of various assembler versions and mentioned that 6.11d is the last one to run, hosted on a "normal" DOS system. Quite true. If you want support for the more recent instructions and processors, you'll use the console32 versions in a DOS box.

The console32 version is available from Microsoft's web sites for free. You can look at to see how to get it. The pure DOS hosted 6.11d is only available, so
far as I know right now, as an upgrade to certain versions (6.11 and 6.11a, I believe) which you probably will have to buy over the counter. For a time, and I don't recall if it is still available from Microsoft, there was a version 6.11c provided as part of a DDK for no charge. I believe I still have that version sitting on their July 1996 MSDN CD-ROMs. But the 6.11d upgrade was specifically designed NOT to upgrade that version, also if my memory holds.

Send suggestions/corrections to