Lic. Informática
Universidad de Cartago
El lenguaje ensamblador, es un lenguaje de
programación     de   bajo   nivel    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 dada de CPU y constituye la
representación más directa del código máquina
específico para cada arquitectura legible por un
programador.
Esta representación es usualmente 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 a 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.
El     corazón     de    la  computadora       es    el
microprocesador, éste maneja las necesidades
aritméticas, de lógica y de control de la
computadora.
El microprocesador tiene su origen en la década de
los sesenta, cuando se diseño el circuito integrado
(IC por sus siglas en ingles) al combinar varios
componentes electrónicos en un solo componente
sobre un “chip” de silicio. Los fabricantes colocaron
este diminuto chip en un dispositivo parecido a un
ciempiés y lo conectaron a un sistema en
funcionamiento. A principios de los años setenta
Intel introdujo el chip 8008 el cual, instalado en una
computadora terminal, acompaño a la primera
generación de microprocesadores.
El lenguaje ensamblador da a un programador la
capacidad de realizar tareas muy técnicas que serian
difíciles, si no es que imposibles de realizar en un
lenguaje de alto nivel.
El conocimiento del lenguaje ensamblador permite una
comprensión de la arquitectura de la maquina que
ningún lenguaje de alto nivel puede ofrecer. Aunque la
mayoría de los especialistas en Software desarrolla
aplicaciones en lenguajes de alto nivel, que son más
fáciles de escribir y de dar mantenimiento, una practica
común es recodificar en lenguaje ensamblador aquellas
rutinas que han causado cuellos de botella en el
procesamiento.
Muchos ensambladores soportan macros
predefinidos, y otras soportan macros definidos
(y repetidamente redefinibles) por el programador
que implican secuencias de líneas del texto en
las cuales las variables y las constantes están
empotradas. Esta secuencia de líneas de texto
puede incluir opcodes o directivas. Una vez un
macro ha sido definido, su nombre puede ser
usado en lugar de un mnemónico.
Cuando el ensamblador procesa tal sentencia,
reemplaza la sentencia por las líneas del texto
asociadas a ese macro, entonces las procesa
como si hubieran existido en el archivo del código
fuente    original   (incluyendo,   en    algunos
ensambladores, la expansión de cualquier macro
que exista en el texto de reemplazo).
Puesto que las macros pueden tener nombres
"cortos" pero se expanden a varias o de hecho
muchas líneas de código, pueden ser usados
para hacer que los programas en lenguaje
ensamblador parezcan ser mucho más cortos,
requiriendo menos líneas de código fuente, como
sucede con los lenguajes de alto nivel.
Nivel de lenguaje ensamblador

Nivel de lenguaje ensamblador

  • 1.
  • 2.
    El lenguaje ensamblador,es un lenguaje de programación de bajo nivel 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 dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador.
  • 3.
    Esta representación esusualmente 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 a 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.
  • 5.
    El corazón de la computadora es el microprocesador, éste maneja las necesidades aritméticas, de lógica y de control de la computadora. El microprocesador tiene su origen en la década de los sesenta, cuando se diseño el circuito integrado (IC por sus siglas en ingles) al combinar varios componentes electrónicos en un solo componente sobre un “chip” de silicio. Los fabricantes colocaron este diminuto chip en un dispositivo parecido a un ciempiés y lo conectaron a un sistema en funcionamiento. A principios de los años setenta Intel introdujo el chip 8008 el cual, instalado en una computadora terminal, acompaño a la primera generación de microprocesadores.
  • 6.
    El lenguaje ensambladorda a un programador la capacidad de realizar tareas muy técnicas que serian difíciles, si no es que imposibles de realizar en un lenguaje de alto nivel. El conocimiento del lenguaje ensamblador permite una comprensión de la arquitectura de la maquina que ningún lenguaje de alto nivel puede ofrecer. Aunque la mayoría de los especialistas en Software desarrolla aplicaciones en lenguajes de alto nivel, que son más fáciles de escribir y de dar mantenimiento, una practica común es recodificar en lenguaje ensamblador aquellas rutinas que han causado cuellos de botella en el procesamiento.
  • 8.
    Muchos ensambladores soportanmacros predefinidos, y otras soportan macros definidos (y repetidamente redefinibles) por el programador que implican secuencias de líneas del texto en las cuales las variables y las constantes están empotradas. Esta secuencia de líneas de texto puede incluir opcodes o directivas. Una vez un macro ha sido definido, su nombre puede ser usado en lugar de un mnemónico.
  • 9.
    Cuando el ensambladorprocesa tal sentencia, reemplaza la sentencia por las líneas del texto asociadas a ese macro, entonces las procesa como si hubieran existido en el archivo del código fuente original (incluyendo, en algunos ensambladores, la expansión de cualquier macro que exista en el texto de reemplazo). Puesto que las macros pueden tener nombres "cortos" pero se expanden a varias o de hecho muchas líneas de código, pueden ser usados para hacer que los programas en lenguaje ensamblador parezcan ser mucho más cortos, requiriendo menos líneas de código fuente, como sucede con los lenguajes de alto nivel.