Microsoft Macro Assembler
Appearance
Commonly known as just MASM, this is a macro assembler for 16 bit development of OS/2 and DOS software and drivers, that had some limited support for 32bit code generation and MS Windows development. Came supplied for free with some versions of the IBM developer toolkit and the Diver Development Toolkit (DDK).
MASM is also an informal standard as an assembly language format.
IBM Macro Assembler
Early versions of MASM were generic 8088, 8087 and 8086 assemblers and could generate code for any system based on these processors not just DOS, and later MASM also supported 80186, 80286, NEC V20 and so on, IBM did however market the same product under the name "IBM Macro Assembler" that only supported the generation of DOS executables.
Add-ons and fixes
- The masm4os2 package contains a version of DOSXNT.EXE that makes the MASM 6.11d package compatible with OS/2.
Version
- Version 6.11 can be patched to support OS/2 (See above), it is also the last DOS compatible version of MASM, 6.12 and later were windows console executables.
- Version 6.1 was the first version to support Windows PE executables.
- Latest Version: 6.0b - Last version that supports OS/2 fully, can generate flat 32bit code for OS/2, DOS (using a supplied DOS extender) and Windows. See Publications below.
- Version 5.11 is often used as a reference and is what came with the old OS/2 1.x toolkits. The IBM ALP Assembler has a compatibility mode for MASM.
- Version 5.1 was the first version with native OS/2 support.
- IBM Macro Assembler Version 3 was the last IBM branded MASM
Prerequisites
- Link386 or compatible linker for generating OS/2 32 bit files, 16 bit files can be handled by the supplied linker.
Links
License
- Discontinued - Closed source commercial software.
Author
Publications
Related Articles
- Creating 32-Bit Flat Memory Model MASM Code for OS/2 2.0 by Microsoft
- Charles Petzold: OS/2 Kernel Programming - Contains an example OS/2 16 bit MASM assembly program. - From PC Magazine - 1987.