El lenguaje ensamblador, o assembler (en inglés assembly language y
la abreviación asm), es un lenguaje de programación de bajo nivel. Consiste en un conjunto
de mnemónicos que
representan instrucciones básicas para los computadores, microprocesadores, microcontroladores y
otros circuitos integrados programables.
Implementa una representación simbólica de los códigos de máquina binarios y otras
constantes necesarias para programar una arquitectura de procesador y constituye la
representación más directa del código máquina específico para cada arquitectura
legible por un programador. Cada arquitectura de procesador tiene su propio
lenguaje ensamblador que usualmente es definida por el fabricante de hardware,
y está basada en los mnemónicos que simbolizan los pasos de procesamiento
(las instrucciones), los registros del procesador, las posiciones
de memoria y otras características del
lenguaje. Un lenguaje ensamblador es por lo tanto específico de cierta arquitectura de computador física (o
virtual). Esto está en contraste con la mayoría de los lenguajes de
programación de alto nivel, que idealmente son portables.
Un programa utilitario llamado ensamblador es
usado para traducir sentencias del lenguaje ensamblador al código de máquina
del computador objetivo. El ensamblador realiza una traducción más o
menos isomorfa (un mapeo de uno a uno) desde las
sentencias mnemónicas a las instrucciones y datos de máquina. Esto está en
contraste con los lenguajes de alto nivel, en los cuales una sola declaración
generalmente da lugar a muchas instrucciones de máquina.
Muchos sofisticados ensambladores ofrecen
mecanismos adicionales para facilitar el desarrollo del programa, controlar el
proceso de ensamblaje, y la ayuda de depuración. Particularmente, la mayoría de
los ensambladores modernos incluyen una facilidad de macro (descrita más
abajo), y se llaman macro
ensambladores.
Fue usado principalmente en los
inicios del desarrollo de software, cuando aún no se contaba con potentes lenguajes de
alto nivel y los recursos eran limitados. Actualmente se utiliza con frecuencia
en ambientes académicos y de investigación, especialmente cuando se requiere la
manipulación directa de hardware, alto rendimiento, o un uso de recursos controlado y
reducido. También es utilizado en el desarrollo de controladores de dispositivo (en
inglés, device drivers) y
en el desarrollo de sistemas operativos, debido a la necesidad del acceso
directo a las instrucciones de la máquina. Muchos dispositivos programables
(como los microcontroladores) aún cuentan con el ensamblador como la única
manera de ser manipulados.
⇨En informática, un mnemónico o nemónico es una
palabra que sustituye a un código de operación (lenguaje de máquina), con lo cual resulta más fácil la programación, es de aquí
de donde se aplica el concepto de lenguaje ensamblador.
⇨Un microcontrolador es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en
su memoria.
0 comentarios:
Publicar un comentario