| Documentation |
Description |
HTML Link |
PDF Link |
| Download HLA |
This link takes you to the page where you can download HLA and supporting code. |
|
| HLA STDLIB v3 |
This link takes you to the page where you can learn about the brand-new HLA Standard Library (v3.x) |
|
| HLA Language Reference Manual |
This is the HLA "Bible" explaining the language and syntax of HLA v1.x |
HLA Reference Manual (HTML) |
n/a
|
| HLA Standard Library Manual |
This document describes each of the routines found in the HLA Standard Library |
HLA Standard Library Reference (HTML) |
n/a
|
| RadASM/HLA User's Guide |
A Guide to the version of HLA created specially for HLA (RadASM is an Integrated Development Environment for HLA). |
RadASM/HLA User's Guide (HTML) |
RadASM/HLA User's Guide (PDF) |
| HLA "Quick Reference" |
A short guide to HLA for those who already know some assembly language programming. |
HLA Quick Reference (HTML) |
HLA Quick Reference (PDF) |
| HLA Installation Instructions |
A guide that describes how to manually install the HLA system under Windows. |
Installation Instructions (HTML) |
n/a
|
| HLA Sample Programs |
Want to take a look at some HLA sample code before downloading the whole package? Try this link! |
View HLA Sample Programs |
| HLA FAQ |
Read the answers to some HLA Frequently Asked Questions |
The HLA FAQ and "executive summary" |
| HLA White Papers |
Read some technical papers about HLA and related subjects |
| Introduction to HLA |
A paper that describes HLA's purpose and features. A great overview of why the language was created. |
Introduction to HLA: "What is HLA All About, Anyway?" |
| Writing DLLs with HLA |
A technical paper describing how to write dynamic link libraries with HLA (and how to call DLL routines). |
Writing DLLs with HLA (HTML) |
Writing DLLs with HLA (PDF) |
| Compiling HLA |
HLA is an open-source, public domain, system. This documentation describes the tools you'll need in order to make modifications to the HLA compiler. |
Compiling the HLA Source Code |
| Iczelion Tutorials |
The Iczelion Tutorials are a world-famouse set of Win32 programming tutorials. Originally written for MASM, these tutorials have been converted to HLA and are available at the following links. |
Iczelion Tutorials Translated to HLA |
| Using Structures in Assembly Language |
Structures (records) are an absolutely crucial data type if you want to write programs for operating systems like Windows and Linux. This article explains how HLA support structures and records. |
Structures (HTML) |
Structures (PDF) |
| Teaching Assembly Language Using HLA. |
HLA was created to help make teaching assembly language easy (for both instructors and students). This paper describes the features of HLA that make it suitable for teaching assembly language programming. |
Teaching Assembly Language Using HLA |
| The Art of Assembly Language |
The Art of Assembly Language (AoA) is the premier book on x86 assembly language featuring the HLA language. It is available in published as well as electronic form. |
Published Edition:
http://www.nostarch.com
Windows Edition (electronic)
Linux Edition (electronic)
|
| HLA v2.0 Progress |
For early adopters! Check out how HLA v2.0 is shaping up! |
HLA v2.0 Home Page |
| Creating Your Own Languages Using HLA |
HLA provides the ability to create "Domain Specific Embedded Languages." The following papers describe how to create your own languages using HLA |
| Lexical Analysis Within HLA |
A discussion of how to process textual data appearing in an HLA source file so you can embed your own language directly in an HLA source file. |
N/A |
Lexical Analysis in HLA (PDF) |
| Creating a new WHILE Statement. |
This paper describes how to create a variant of the WHILE loop, with special properties, using HLA's "context-free macro" facilities. |
Creating a new WHILE statement (HTML) |
Creating a new WHILE statement (PDF) |
| Creating a new IF Statement |
This paper describes how to create a variant of the IF statement, with special properties, using HLA's "context-free macro" facilities. |
Creating a new IF statement (HTML) |
Creating a new IF statement (PDF) |
| Advanced HLA Programming |
Not for the weak of heart! These papers describe some advanced HLA programming techniques. |
| Win32 Programming in HLA |
This link takes you to Randy Hyde's new e-text "Windows Programming in Assembly Language" as well as other Win32-related programming subjects. |
Information about Win32 Programming in HLA |
| Taking Control Over Code Emission |
HLA has taken some criticism over the years that it adds significant overhead to your assembly code. While it is true that HLA has lots of code available (e.g., the HLA Standard Library) that makes assembly programming easy, perhaps at the expense of effiency, HLA does allow you to write pure assembly code and you can exercise complete control over the code that HLA emits. This paper describes how to write small programs (e.g., a small version of the Hello World program) and take complete control over the code that HLA generates from your source files. |
Taking Control (HTML) |
Taking Control (PDF) |
| Calling HLA code from non-HLA programs with exception handling |
As "The Art of Assembly Language" warns you, whenever you call HLA code from some other language you must not use HLA's exception handling facilities, or call other code that uses exceptions (like HLA Standard Library routines) unless you know what you're doing and you've set up the exception handling system properly. This paper explains how to properly set up the HLA exception handling system so you can use RAISE, TRY..ENDTRY, and HLA Standard Library calls in assembly code you call from other languages. |
Calling HLA code (HTML) |
Calling HLA code (PDF) |
| Other Tools for HLA |
Third Party Support for HLA |
| RadASM |
RadASM is a powerful integrated development environment (IDE) for HLA. The following link takes you to the RadASM home page. |
RadASM Home Page |
| OllyDbg |
OllyDbg is a machine-level debugger that is compatible with HLA. The link to the right takes you to the OllyDbg home page. |
OllyDbg Home Page |
| Newsgroups, Forums, Mailing Lists, and other HLA Support |
The following information and links provide the names of newsgroups and web sites where you can learn more about HLA. |
| comp.lang.asm.x86 |
An internet newsgroup dedicated to x86 assembly language development. This newsgroup is moderated and has a very high "signal to noise" ratio. |
Use your newsreader or http://groups.google.com |
| alt.lang.asm |
An unmoderated and "freewheeling" newsgroup. Lots of noise, but good tidbits now and then. |
Use your newsreader or http://groups.google.com |
| HLA/AoA Mailing List |
A Yahoo Group/Mailing list dedicated specifically to HLA programming. |
http://groups.yahoo.com/group/
aoaprogramming |
| Win32ASM Community Bulletin Board |
A web-based forum dedicated to Win32 assembly language programming. Includes an HLA-specific subforum. |
http://board.win32asmcommunity.net |
| MASM32 Support Board |
Another web-based forum dedicated to Win32 assembly language programming. Also includes an HLA-specific subforum. |
http://www.masmforum.com |
| HLA Programs by Sevag Krikorian |
A web page with several examples of HLA programs and other links |
http://www.geocities.com/kahlinor/HLA.html |