Un ensamblador de alto nivel en informática es un ensamblador para lenguaje ensamblador que incorpora características que se encuentran en un lenguaje de programación de alto nivel .
El primer ensamblador de alto nivel fue probablemente el lenguaje orientado a problemas de sistemas ejecutivos (ESPOL) de Burroughs, de alrededor de 1960, que proporcionaba una sintaxis similar a ALGOL en torno a instrucciones de máquina explícitamente especificadas de Burroughs B5000 . [ disputado – discutir ] A este le siguió el PL360 de Niklaus Wirth en 1968; este replicaba las funciones de Burroughs, con las que estaba familiarizado, en un IBM System/360 . Los ensambladores de alto nivel más recientes son Turbo Assembler (TASM) de Borland , Netwide Assembler (NASM), Macro Assembler (MASM) de Microsoft , High Level Assembler (HLASM) de IBM para sistemas z/Architecture , Linoleum de Alessandro Ghignola, X# utilizado en Cosmos y Ziron. [ cita requerida ]
Los ensambladores de alto nivel suelen proporcionar instrucciones que se ensamblan directamente uno a uno en código de máquina de bajo nivel como en cualquier ensamblador, además de instrucciones de control como IF, WHILE, REPEAT...UNTIL y FOR, macros y otras mejoras. Esto permite el uso de abstracciones de instrucciones de control de alto nivel donde la velocidad máxima o el espacio mínimo no sean esenciales; las instrucciones de bajo nivel que se ensamblan directamente en código de máquina se pueden utilizar para producir el código más rápido o más corto. El resultado final es un código fuente ensamblador que es mucho más legible que el código ensamblador estándar, al tiempo que conserva la eficiencia inherente al uso del lenguaje ensamblador.
Los ensambladores de alto nivel generalmente proporcionan facilidades para ocultar información y la capacidad de llamar a funciones y procedimientos utilizando una sintaxis similar a la de alto nivel (es decir, el ensamblador produce automáticamente código para insertar parámetros en la pila de llamadas en lugar de que el programador tenga que escribir manualmente el código para hacerlo).
Los ensambladores de alto nivel también proporcionan abstracciones de datos que normalmente se encuentran en lenguajes de alto nivel. Algunos ejemplos incluyen: estructuras de datos , uniones , clases y conjuntos . Algunos ensambladores de alto nivel (por ejemplo, TASM y High Level Assembly (HLA)) admiten programación orientada a objetos .
Referencias
- Salomon, David (febrero de 1993) [1992]. Escrito en la Universidad Estatal de California, Northridge, California, EE. UU. Chivers, Ian D. (ed.). Ensambladores y cargadores (PDF) . Serie Ellis Horwood en Computadoras y sus aplicaciones (1.ª ed.). Chicester, West Sussex, Reino Unido: Ellis Horwood Limited / Simon & Schuster International Group . ISBN 0-13-052564-2. Archivado (PDF) del original el 23 de marzo de 2020. Consultado el 1 de octubre de 2008 .[1][2] (xiv+294+4 páginas) (NB. Presenta definiciones y ejemplos de ensambladores de alto nivel más antiguos).
- El arte del lenguaje ensamblador , Randall Hyde [3]
- HAL70 , Hamish Dewar [4] Un lenguaje ensamblador de alto nivel para minicomputadoras de la serie 70 de Interdata.
- Sitio Webster con información y enlaces sobre HLA y ensamblador