IBM High Level Assembler
# IBM High Level Assembler

High Level Assembler or HLASM is IBM's current assembler programming language for its z/OS, z/VSE, z/VM and z/TPF operating systems on z/Architecture mainframe computers. There is also a version that runs on Linux, primarily intended for systems running on a z/Architecture system (this environment is sometimes referred to as Linux on IBM Z).

## Overview

HLASM was released in June 1992 replacing IBM's Assembler H Version 2. Despite the name, HLASM on its own does not have many of the features normally associated with a high-level assembler, but does offer a number of improvements over Assembler H and Assembler(XF), such as labeled and dependent USINGs, more complete cross-reference information, and additional macro language capabilities such as the ability to write user-defined functions. While working at IBM, John Robert Ehrman created and was the lead developer for HLASM and is considered the "father of high level assembler".

## High Level Assembler Toolkit

The High Level Assembler Toolkit is a separately priced accompaniment to the High Level Assembler. The toolkit contains:

* A set of structured programming macros —
   * IF/ELSE/ENDIF
   * DO/ENDDO
   * STRTSRCH/ORELSE/ENDLOOP/ENDSRCH
   * CASENTRY/CASE/ENDCASE
   * SELECT/WHEN/OTHRWISE/ENDSEL.
* A disassembler.
* A "Program Understanding Tool" (re-engineering aid).
* A Source XREF utility (cross-reference facility).
* Interactive Debug Facility.
* Enhanced SuperC (source comparison tool).
