Ensamblador de alto nivel
# Ensamblador de alto nivel

    Este artículo es acerca del concepto general. Para una implementación particular, ver High Level Assembly.

Los ensambladores de alto nivel, en inglés High Level Assembler (HLA), son traductores de lenguaje ensamblador que incorporan, en un ensamblador, características encontradas en los modernos lenguajes de programación de alto nivel.

Algunos ensambladores de alto nivel son el TASM de Borland, MASM de Microsoft, y el HLA de Randall Hyde.

Los ensambladores de alto nivel típicamente proporcionan todas las instrucciones de máquina de bajo nivel de los ensambladores normales, más sentencias como IF, WHILE, REPEAT..UNTIL, y FOR, en su lenguaje básico. Esto permite, a los programadores de lenguaje ensamblador, usar abstracciones de sentencias de control de alto nivel dondequiera que una máxima velocidad o mínimo espacio no sea absolutamente requerido, y descender a código de máquina de bajo nivel cuando sea deseable código rápido y/o corto. El resultado final es código fuente de lenguaje ensamblador que es mucho más legible que el código estándar mientras que preserva la eficacia inherente al usar lenguaje ensamblador.

Los ensambladores de alto nivel generalmente proporcionan facilidades de ocultamiento de información (aunque sus capacidades varían de un ensamblador a otro), y la capacidad de llamar a funciones y procedimientos usando una sintaxis similar a la de los lenguajes de alto nivel, es decir, el ensamblador emite automáticamente el código para insertar (push) parámetros en la pila en lugar que el programador tenga que escribir el código manualmente para hacer esto).

Además de las estructuras de control del alto nivel, los ensambladores de alto nivel también proporcionan abstracciones de datos normalmente encontradas en lenguajes de alto nivel. Ejemplos incluyen las estructuras, las uniones, las clases, y conjuntos. Algunos ensambladores del alto nivel como, TASM y HLA, incluso soportan la programación orientada a objetos.

El libro Assemblers and Loaders de David Salomon, presenta definiciones y ejemplos de viejos ensambladores de alto nivel. Quienes deseen programar en lenguaje ensamblador de alto nivel en los PC x86, deben examinar los assemblers HLA y el MASM32 (véase webster.cs.ucr.edu más abajo), así como el "The Art of Assembly Languaje" de Randall Hyde.

