Lenguaje ensamblador
Keywords: Lenguaje ensamblador, Arquitectura de computadoras, Binario, Bit, Decimal, Ensamblador, Hexadecimal, Hola mundo, Inglés
El lenguaje ensamblador o código simbólico (en inglés Assembly language) es una notación del lenguaje de máquina que es legible por personas y es específica de cada arquitectura de computadoras. El lenguaje de máquina, un simple patrón de bits, es hecho legible reemplazando valores crudos por símbolos denominados mnemónicos. Se inventó para facilitar la tarea de los primeros programadores que hasta ese momento tenían que escribir directamente en código binario.
Mientras que una computadora reconoce la instrucción de máquina IA-32
10110000 01100001
para los programadores de microprocesadores x86 es mucho más fácil reconocer dicha instrucción empleando lenguaje ensamblador:
mov al, 0x61
(que significa mover el valor hexadecimal 61 (97 decimal) al registro 'al'.)
Cada instrucción de la máquina se transforma en una única instrucción en código simbólico.
Pero además, para mejorar la legibilidad del programa, el código simbólico introduce instrucciones adicionales, que no corresponden a ninguna instrucción de la máquina y que proporcionan información. Se llaman "seudoinstrucciones".
El código simbólico puede parecer de difícil acceso, pero es más fácil de recordar e interpretar que el binario o el hexadecimal.
Los lenguajes simbólicos no resuelven definitivamente el problema de cómo programar un ordenador de la manera más sencilla posible. Para utilizarlos, hay que conocer a fondo el microprocesador, los registros de trabajo de que dispone, la estructura de la memoria, y muchas cosas más.
Además, el lenguaje ensamblador está demasiado ligado al microprocesador para que sea posible escribir programas independientes de la máquina en que van a ejecutarse.
Este código simbólico no puede ser ejecutado directamente por un ordenador, por lo que es preciso traducirlo previamente. Pero la traducción es un proceso mecánico y repetitivo, que se presta a su realización por un programa de ordenador.
Los programas que traducen código simbólico al lenguaje de máquina se llaman ensambladores ("assembler", en inglés), porque son capaces de ensamblar el programa traducido a partir de varias piezas, procedimientos o subrutinas.
Ejemplos de lenguaje ensamblador
El siguiente es un ejemplo del programa clásico Hola mundo escrito para la arquitectura de procesador x86.
.model small
.stack
.data
Cadena1 DB 'Hola Mundo.$'
.code
programa:
mov ax, @data
mov ds, ax
mov dx, offset Cadena1
mov ah, 9
int 21h
end programa
