IBM Assembly Language Processor

The Assembly Language Processor (ALP) is a macro assembler from IBM that offers a native mode and a MASM 5.1 compatible mode, and indeed intended to replace the Microsoft Assembler product for use on OS/2 systems especially for driver development. ALP was available in versions for OS/2 and AIX, versions with dates later than 1995 also support a subset of the MASM 6.x language.

Features
ALP generates standard OMF files that can be linked to produce DOS or OS/2 executables. Symbolic debugging information is compatible with IBM's source code debuggers.

Version

 * 1.03.273 (May 1995)
 * 4.00.000 (1996) - IBM Developer Connection Vol. 11
 * 4.00.003
 * 4.00.004
 * 4.00.005 (Sep 1997) - IBM Developer's Toolkit for OS/2 Warp Version 4
 * Enhancements:
 * Additional MASM 6.00 constructs supported:
 * EXTERNDEF, UNION, and OPTION directives
 * LENGTHOF, SIZEOF, and OPATTR operators
 * BASIC, C, PASCAL, SYSCALL keywords on the COMM, EXTERN, PUBLIC, and PROC directives
 * EXPORT keyword as an argument to the PROC directive
 * Structure and union types can now be imbedded within other structure and union types
 * Support for true arrays
 * Support for the Pentium Pro instruction set
 * Improved symbolic debugging output
 * Improved online documentation
 * Fixes and compatibility enhancements
 * 4.00.008 (2001)


 * Prerequisites
 * OS/2 Warp
 * Link386 or compatible linker

Product Documentation

 * Assembly Language Processor Reference Guide - May 1995
 * ALP Programming Guide and Reference - Oct 1997
 * Assembly Language Processor (ALP) Assembler Reference

Related Article

 * Gruber; Turner: Developers Enjoy the "ALP"s (Assembly Language Processor)

Links

 * Add-ons
 * ALP_MXG - By default the native mode on ALP is 32 bits only while the otherwise less capable MASM 5.1 emulation mode allows mixed 16/32 bit code. This patch allows you to use mixed 16/32 bit code in native ALP mode.
 * masm2alp - Utility that converts MASM projects to ALP projects.