Está en la página 1de 4

Lenguaje Maquina

El lenguaje de mquina o cdigo mquina es el sistema de cdigos


directamente interpretable por un circuito microprogramable, como
el microprocesador de una computadora o el microcontrolador de unautmata.
Este lenguaje est compuesto por un conjunto de instrucciones que determinan
acciones a ser tomadas por la mquina. Un programa consiste en una cadena de
estas instrucciones ms un conjunto de datos sobre el cual se trabaja. Estas
instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios
de flujo causados por el propio programa o eventos externos. El lenguaje de
mquina es especfico de la arquitectura de la mquina, aunque el conjunto de
instrucciones disponibles pueda ser similar entre arquitecturas distintas.
Los circuitos microprogramables son sistemas digitales, lo que significa que
trabajan con dos nicos niveles de tensin. Dichos niveles, por abstraccin, se
simbolizan con los nmeros 0 y 1, por eso el lenguaje de mquina slo utiliza
dichos signos. Esto permite el empleo de las teoras del lgebra booleana y
del sistema binario en el diseo de este tipo de circuitos y en su programacin.
Claude Elwood Shannon, en su libro Analysis of Relay and Switching Circuits, y
con sus experiencias en redes de conmutacin, sent las bases para la aplicacin
del lgebra de Boole a las redes de conmutacin. Una red de conmutacin es un
circuito de interruptores elctricos que al cumplir ciertas combinaciones booleanas
con las variables de entrada, define el estado de la salida. Este concepto es el
ncleo de laspuertas lgicas, las cuales son, por su parte, los ladrillos con que se
construyen sistemas lgicos cada vez ms complejos. Shannon utilizaba
el rel como dispositivo fsico de conmutacin en sus redes, dado que el rel, a
igual que una lmpara elctrica, posee dos estados: activado (encendido) o
desactivado (apagado).

El desarrollo tecnolgico ha permitido evolucionar desde las redes de rels


electromagnticos a circuitos con tubos de vaco, luego a redestransistorizadas,
hasta llegar a los modernos circuitos integrados, en cuya cspide se encuentran
los circuitos microprogramados.Lenguaje

Ensamblador

El lenguaje ensamblador, o assembler (assembly language en ingls), es


un lenguaje de programacinde bajo nivel para
los computadores, microprocesadores, microcontroladores y otros circuitos
integradosprogramables. Implementa una representacin simblica de los cdigos
de mquina binarios y otras constantes necesarias para programar
una arquitectura dada de CPU y constituye la representacin ms directa
del cdigo mquina especfico para cada arquitectura legible por un programador.
Esta representacin es usualmente definida por el fabricante de hardware, y est
basada en los mnemnicos que simbolizan los pasos de procesamiento
(las instrucciones), los registros del procesador, las posiciones dememoria y otras
caractersticas del lenguaje. Un lenguaje ensamblador es por lo tanto especfico
de ciertaarquitectura de computador fsica (o virtual). Esto est en contraste con la
mayora de los lenguajes de programacin de alto nivel, que idealmente
son porttiles.
Un programa utilitario llamado ensamblador es usado para traducir sentencias del
lenguaje ensamblador al cdigo de mquina del computador objetivo. El
ensamblador realiza una traduccin ms o menos isomorfa (un mapeo de uno a
uno) desde las sentencias mnemnicas a las instrucciones y datos de mquina.
Esto est en contraste con los lenguajes de alto nivel, en los cuales una sola
declaracin generalmente da lugar a muchas instrucciones de mquina.
Muchos sofisticados ensambladores ofrecen mecanismos adicionales para facilitar
el desarrollo del programa, controlar el proceso de ensamblaje, y la ayuda
de depuracin. Particularmente, la mayora de los ensambladores modernos
incluyen una facilidad de macro (descrita ms abajo), y se llaman macro
ensambladores.
Fue usado principalmente en los inicios del desarrollo de software, cuando an no
se contaba con potentes lenguajes de alto nivel y los recursos eran limitados.
Actualmente se utiliza con frecuencia en ambientes acadmicos y de
investigacin, especialmente cuando se requiere la manipulacin directa
de hardware, alto rendimiento, o un uso de recursos controlado y reducido.

Tambin es utilizado en el desarrollo de controladores de dispositivo (en


ingls, device drivers) y en el desarrollo de sistemas operativos, debido a la
necesidad del acceso directo a las instrucciones de la mquina. Muchos
dispositivos programables (como los microcontroladores) an cuentan con el
ensamblador como la nica manera de ser manipulados.

Lenguaje de Alto Nivel


Un lenguaje de programacin de alto nivel se caracteriza por expresar
el algoritmo de una manera adecuada a la capacidad cognitiva humana, en lugar
de la capacidad ejecutora de las mquinas.
En los primeros lenguajes, la limitacin era que se orientaban a un rea especfica
y sus instrucciones requeran de una sintaxis predefinida. Se clasifican como
lenguajes procedimentales o lenguajes de bajo nivel. Otra limitacin de estos es
que se requiere de ciertos conocimientos de programacin para realizar las
secuencias de instrucciones lgicas. Los lenguajes de alto nivel se crearon para
que el usuario comn pudiese solucionar un problema de procesamiento de datos
de una manera ms fcil y rpida.
Por esta razn, a finales de los aos 1950 surgi un nuevo tipo de lenguajes de
programacin que evitaba estos inconvenientes, a costa de ceder un poco en las
ventajas. Estos lenguajes se llaman de tercera generacin o de nivel alto, en
contraposicin a los de bajo nivel o de nivel prximo a la mquina.

También podría gustarte