High-level assembler


High-level assembler

High-level assemblers are assembly language translators that incorporate features found in modern high-level programming languages into an assembler.

Some high-level assemblers are Borland's TASM, Microsoft's MASM, IBM's HLASM (for z/Architecture systems), Alessandro Ghignola's Linoleum, Jim Niel's [http://terse.com/ Terse] and Randall 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 as Randall 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.

Look at other dictionaries:

  • IBM High Level Assembler (HLASM) — For a discussion of high level assemblers in general, see High level assembler. Wikipedia by [SERVERlocalurl:NAMESPACE:HLASM|action=edit expanding it] . IntroductionHLASM is IBM s high level assembler product for its z/OS, z/VSE, z/VM and z/TPF… …   Wikipedia

  • High Level Assembly — Infobox Software name = High Level Assembly (HLA) Language developer = Randall Hyde latest release version = 1.102 Beta latest release date = release date|2008|05|02 operating system = Windows, Linux, FreeBSD, Mac OS X genre = Assembler license …   Wikipedia

  • High Level Assembly — Para el concepto general, ver ensamblador de alto nivel. Este artículo es acerca de una implementación específica Para otros usos de este término, véase HLA (desambiguación). El High Level Assembly (HLA) es un lenguaje ensamblador desarrollado… …   Wikipedia Español

  • High Level Shading Language — HLSL (High Level Shading Language) bezeichnet die DirectX Komponente, die die Programmierung von Shader Bausteinen ermöglicht. Inhaltsverzeichnis 1 Shader Sprachen 2 Sprach Elemente 2.1 Globale Shader Parameter …   Deutsch Wikipedia

  • Assembler (Informatik) — Ein Assembler (nach DIN 44300: Assemblierer) ist ein Hilfsprogramm der Programmierung (Programmierwerkzeug), das ein in maschinennaher Assemblersprache geschriebenes Computerprogramm in Maschinensprache (auch Maschinencode oder Nativer Code… …   Deutsch Wikipedia

  • Microsoft Macro Assembler — Developer(s) Microsoft Stable release 10.0.30319.1 / April 12, 2010; 18 months ago (2010 04 12) Operating system Microsoft Windows and MS DOS …   Wikipedia

  • Microsoft Macro Assembler — El Microsoft Macro Assembler (MASM) es un ensamblador para la familia x86 de microprocesadores. Fue producido originalmente por Microsoft para el trabajo de desarrollo en su sistema operativo MS DOS, y fue durante cierto tiempo el ensamblador más …   Wikipedia Español

  • Cross-Assembler — Ein Assembler (nach DIN 44300: Assemblierer) ist ein Hilfsprogramm der Programmierung (Programmierwerkzeug), das ein in einer einfachen, maschinennahen Assemblersprache geschriebenes Programm in Maschinensprache (auch Maschinencode oder Nativer… …   Deutsch Wikipedia

  • Inline assembler — In computer programming, the inline assembler is a feature of some compilers that allows very low level code written in assembly to be embedded in a high level language like C or Ada. This embedding is usually done for one of three reasons:*… …   Wikipedia

  • Turbo Assembler — Infobox Software name = Turbo Assembler developer = Borland latest release version = latest release date = operating system = genre = Assembler license = website = The Turbo Assembler (TASM) mainly PC targeted assembler package was Borland s… …   Wikipedia