Jump to content

Microsoft Macro Assembler: Difference between revisions

From EDM2
mNo edit summary
No edit summary
Line 5: Line 5:
====IBM Macro Assembler====
====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.  
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.  
=====IBM Macro Assembler/2=====
IBM version of the Microsoft Macro Assembler specifically modified to support OS/2 as well as DOS, pre-dates and differs slightly from the Microsoft version 5.1 that was the first OS/2 capable MASM from [[Microsoft]]


====Add-ons and fixes====
====Add-ons and fixes====
Line 15: Line 18:
* 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.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.
* Version 5.1 was the first version with native OS/2 support.
* IBM Macro Assembler/2 v1 introduced in 1987
* IBM Macro Assembler Version 3 was the last IBM branded MASM
* IBM Macro Assembler Version 3 was the last IBM branded MASM


Line 32: Line 36:
* [http://support.microsoft.com/KB/94577 Creating 32-Bit Flat Memory Model MASM Code for OS/2 2.0] by Microsoft
* [http://support.microsoft.com/KB/94577 Creating 32-Bit Flat Memory Model MASM Code for OS/2 2.0] by Microsoft
* Charles Petzold: [https://books.google.co.uk/books?id=x1yigTsvZxsC&pg=PA483 OS/2 Kernel Programming] - Contains an example OS/2 16 bit MASM assembly program. - From PC Magazine - 1987.
* Charles Petzold: [https://books.google.co.uk/books?id=x1yigTsvZxsC&pg=PA483 OS/2 Kernel Programming] - Contains an example OS/2 16 bit MASM assembly program. - From PC Magazine - 1987.
* Roger Orr: [http://www.howzatt.demon.co.uk/articles/07apr90.html Hints for writing simple programs for both OS/2 and DOS]


[[Category:Tools]] [[Category:DOS Tools]] [[Category:MS Windows Tools]] [[Category:Assembly]]
[[Category:Tools]] [[Category:DOS Tools]] [[Category:MS Windows Tools]] [[Category:Assembly]]

Revision as of 05:00, 2 May 2015

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.

IBM Macro Assembler/2

IBM version of the Microsoft Macro Assembler specifically modified to support OS/2 as well as DOS, pre-dates and differs slightly from the Microsoft version 5.1 that was the first OS/2 capable MASM from Microsoft

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/2 v1 introduced in 1987
  • 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