HLA Standard Library Interface for MASM Users

HLA (High Level Assembler) users have always had the benefit of the HLA Standard library when writing assembly code under Windows and Linux. The HLA Standard Library provides hundreds of procedures, functions, and macros that help simplify the creation of complex assembly language code. In theory, any assembler that supports linking in library code is capable of calling HLA Standard Library routines, but without appropriate header files and example code demonstrating how to do this, calling HLA Standard Library routines from some other assembler hasn't been a trivial process. Until now.

The "HLA4MASM" package contains an include file ("hla.inc") and a special "skeleton" file that MASM32 users can use to create applications that call many of the procedures and functions in the HLA Standard Library. This package also includes a sample test program ("test.asm") that demonstrates at least one call to each of the stdlib functions that this package supports.

Although MASM's syntax doesn't provide as nice an interface to these functions as HLA, the availability of these routines will help make writing MASM code much easier than before. Another nice feature of these routines is that they allow readers of "Windows Programming in Assembly" to more easily convert the HLA examples in WPA to MASM32.

The current implementation of HLA4MASM supports about 75% of the routines in the HLA Standard Library. Currently unsupported are all the library functions that involve object-oriented programming and classes (because MASM doesn't directly support OOP with classes), macros, and the HLA Pattern Matching library routines (which depend strongly on HLA's powerful macro facilities). Nevertheless, there are a very large number of extremely useful functions present that you can call from MASM.

Currently, the documentation is a weak point in this package. There is no "MASM-centric" documentation for each of the library routines (the PDF file accompanying this package describes each of the routines using HLA syntax). Read the existing HLA documentaton (included in this package) to figure out how the functions work, and then look at the sample program ("test.asm") and the header file ("hla.inc") to see the syntax for the given standard library invocation. I'll try to get around to documenting this for MASM users as time allows (I welcome any help on this...)

If you've got any questions, post them to comp.lang.asm.x86, alt.lang.asm, or to www.masmforum.com (HLA sub-forum would be a good place).

Download HLA4MASM Zip File
HLA Stdlib Documentation