- High-level assembler
High-level assemblers are
assembly language translators that incorporate features found in modernhigh-level programming language s into an assembler.Some high-level assemblers are
Borland 's TASM,Microsoft 's MASM,IBM 'sHLASM (forz/Architecture systems), Alessandro Ghignola's Linoleum, Jim Niel's [http://terse.com/ Terse] andRandall Hyde 's HLA.High-level assemblers typically provide all the usual low-level machine instructions, plus statements like IF, WHILE, REPEAT...UNTIL, and FOR, in their base language. This allows assembly programmers to use high-level control statement abstractions wherever maximal speed or minimal space is not absolutely required and drop down to low-level machine code when fast or short code is desirable. The end result is assembly
source code that is far more readable than standard assembly code while preserving the efficiency inherent with using assembly language.High-level assemblers generally provide information hiding facilities (though their capabilities vary by assembler) and the ability to call functions and procedures using a high-level-like syntax (i.e., the assembler automatically emits code to push parameters on the stack rather than the programmer having to manually write the code to do this).
In addition to high level control structures, high-level assemblers also provide data abstractions normally found in high level languages. Examples include structures, unions, classes, and sets. Some high level assemblers (e.g., TASM and HLA) even support
object-oriented programming .David Salomon 's book "Assemblers and Loaders" presents definitions and examples of older high-level assemblers. Those willing to program in a high-level assembly language on the x86 PC should examine HLA and MASM32 (See webster.cs.ucr.edu below) as well asRandall Hyde 's "The Art of Assembly Language".External links
* [http://webster.cs.ucr.edu Information on HLA and assembler]
* [http://www.nostarch.com Publisher of "The Art of Assembly Language"]
* [http://www.terse.com Terse: Algebraic Assembly Language for x86]
Wikimedia Foundation. 2010.