Está en la página 1de 1

tienen una relacin de uno a varios con el lenguaje ensamblador y el lenguaje mquina.

Una sola instruccin en C++ se expande en varias instrucciones en lenguaje ensamblador o lenguaje mquina.

Qu son los ensambladores y los enlazadores?

Un ensamblador es un programa utilitario que convierte el cdigo fuente de los programas escritos en
lenguajes ensamblador a lenguaje mquina.

Un enlazador es un programa utilitario que combina los archivos individuales creados por un ensamblador, en
un solo programa ejecutable.

Hay una herramienta relacionada, llamada depurador, la cual le permite avanzar paso
a paso a travs de un programa mientras se ejecuta, para poder examinar los registros y la memoria.

Cmo se relaciona el lenguaje ensamblador con el lenguaje mquina?

El lenguaje mquina es un lenguaje numrico que un procesador de computadora (la CPU) entiende de manera
especfica. Los procesadores compatibles con IA-32 entienden un lenguaje mquina comn.

El lenguaje ensamblador consiste en instrucciones escritas con nemnicos cortos, tales como ADD, MOV,
SUB y CALL. El lenguaje ensamblador tiene una relacin de uno a uno con el lenguaje mquina: cada una de
las instrucciones en lenguaje ensamblador corresponden a una sola instruccin en lenguaje mquina.

Programas embebido:. stos son programas cortos que se almacenan en una pequea cantidad de memoria, en
dispositivos de un solo propsito tales como los telfonos, los sistemas del combustible y la ignicin del
automvil, los sistemas de control de aire acondicionado, los sistemas de seguridad, los instrumentos para la
adquisicin de datos, las tarjetas de video, las tarjetas de sonido, los discos duros, los mdems y las impresoras.
El lenguaje ensamblador es ideal para escribir programas embebidos, debido a que utilizan muy poca memoria.

Caracteristicas del lenguaje ensamblador:


Las aplicaciones en tiempo real, tales como las simulaciones y el monitoreo de hardware, requieren precisin
en la sincronizacin y en las respuestas.

Las consolas de videojuegos requieren que su software est altamente optimizado para que su tamao de
cdigo sea pequeo y se ejecute con la mayor rapidez posible. Los programadores de videojuegos son
expertos en la escritura de cdigo que aproveche al mximo las caractersticas de hardware del sistema
destino. Utilizan el lenguaje ensamblador como su herramienta preferida, ya que les permite un acceso
directo al hardware de la computadora, y el cdigo puede optimizarse en forma manual para obtener la
mxima velocidad.

Los controladores de dispositivos


Son programas que traducen los comandos generales del sistema operativo en referencias
especficas a los detalles relacionados con el hardware. Por ejemplo, los fabricantes de impresoras
crean un controlador de dispositivo de MS-Windows distinto para cada modelo que venden. Lo mismo se
aplica para los sistemas operativos Mac OS, Linux y otros.

Hay reglas en el lenguaje ensamblador? La mayora de las reglas en el lenguaje ensamblador se


basan en las limitaciones fsicas del procesador de destino y su lenguaje mquina. Por ejemplo, la CPU
requiere que los dos operandos de una instruccin sean del mismo tamao. El lenguaje ensamblador tiene
menos reglas que C++ o Java, ya que estos dos lenguajes de alto nivel utilizan reglas de sintaxis para reducir
los errores de lgica involuntarios, a expensas del acceso a los datos de bajo nivel. Los programadores
de lenguaje ensamblador pueden evadir con facilidad las restricciones caractersticas de los lenguajes de
alto nivel. Por ejemplo, Java no permite el acceso a direcciones de memoria especfi cas. Para evadir esta
restriccin podemos hacer una llamada a una subrutina en C que utilice clases de la JNI (Interfaz nativa de
Java), pero puede ser complicado mantener el programa resultante. Por otro lado, el lenguaje ensamblador
puede acceder a cualquier direccin de memoria. El precio por dicha libertad es alto: los programadores de
lenguaje ensamblador invierten mucho tiempo en el proceso de la depuracin!