En informática, un ensamblador de alto nivel es un ensamblador para lenguaje ensamblador que incorpora características propias de un lenguaje de programación de alto nivel .
El primer ensamblador de alto nivel fue probablemente el Executive Systems Problem Oriented Language (ESPOL) de Burroughs, alrededor de 1960, que proporcionaba una sintaxis similar a ALGOL para las instrucciones de máquina Burroughs B5000 especificadas explícitamente . A este le siguió el PL360 de Niklaus Wirth en 1968; este replicaba las funcionalidades de Burroughs, con las que estaba familiarizado, en un IBM System/360 . Entre los ensambladores de alto nivel más recientes se encuentran el Turbo Assembler (TASM) de Borland , el Netwide Assembler (NASM), el Macro Assembler (MASM) de Microsoft , el High Level Assembler (HLASM) de IBM para sistemas z/Architecture , Linoleum de Alessandro Ghignola, y X# utilizado en Cosmos y Ziron.
Los ensambladores de alto nivel suelen proporcionar instrucciones que se ensamblan directamente en código 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 cuando la máxima velocidad o el mínimo espacio no son esenciales; las instrucciones de bajo nivel que se ensamblan directamente en código máquina se pueden usar para producir el código más rápido o más corto. El resultado final es un código fuente en ensamblador mucho más legible que el código ensamblador estándar, a la vez que se conserva la eficiencia inherente al uso del lenguaje ensamblador.
Los ensambladores de alto nivel generalmente proporcionan mecanismos 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 son: estructuras de datos , uniones , clases y conjuntos . Algunos ensambladores de alto nivel (por ejemplo, TASM y High Level Assembly (HLA)) admiten la programación orientada a objetos .
Véase también
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.). Chichester, West Sussex, Reino Unido: Ellis Horwood Limited / Simon & Schuster International Group . ISBN 0-13-052564-2. Archivado (PDF) del original el 23-03-2020 . Recuperado el 01-10-2008 .(xiv+294+4 páginas) (Nota: Presenta definiciones y ejemplos de ensambladores de alto nivel más antiguos).
- Randall Hyde (2010). El arte del lenguaje ensamblador (2.ª ed.). ISBN 978-1-5932-7207-4.
Enlaces externos
- HAL70 , Hamish DewarUn lenguaje ensamblador de alto nivel para los miniordenadores Interdata serie 70.
- Sitio web de Webster con información y enlaces sobre HLA y ensamblador.
- Ensambladores
- esbozos de informática