Sunteți pe pagina 1din 4

Que es un lenguaje ensamblador

Definicion
El lenguaje ensamblador, o assembler (assembly language en ingls), es un lenguaje de programacin de bajo nivel para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. 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 de memoria y otras caractersticas del lenguaje. Un lenguaje ensamblador es por lo tanto especfico de cierta arquitectura de computador fsica (o virtual). Esto est en contraste con la mayora de los lenguajes de programacin de alto nivel, que idealmente son portables. 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 son llamados 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, altos rendimientos, o un uso de recursos controlado y reducido. Muchos dispositivos programables (como los microcontroladores) an cuentan con el ensamblador como la nica manera de ser manipulados.

Conversin de Base (b) a Base (c), ambas distintas de 10

Conversiones de bases
Cmo pasar de una base a otra?
Convertir un nmero N de base (b) a otra base (c), ambas distintas de 10, se puede hacer en los dos pasos siguientes: 1. 2. Convertir el nmero N de base (b) a base 10. Convertir el nmero N de base 10 a base (c).
b 10 8

Ejemplo 1: Usando el mtodo descrito, para convertir el nmero 16,51 a base 2, en primer lugar lo pasaremos a base 10 con el Teorema Fundamental de la Numeracin (TFN):

16,51 = 18 + 68 + 58 + 18 = 8 + 6 + 0,625 + 0,015625 = 14,640625


8 10

-1

-2

10

y, a continuacin, cambiaremos el nmero obtenido, 14,640625 , a base 2. Los clculos de la parte entera son:

y las operaciones de la parte fraccionaria son:

Por tanto, 16,51 = 14,640625 = 1110,101001


8 10 2

Sin embargo, puesto que las bases de los Sistemas Binario y Octal, (2) y (8), ambas son potencias de 2, es decir, 2 = 2 y 8 = 2 , las conversiones de octal a binario y viceversa se pueden realizar de forma directa. Para ello, hay que conocer la correspondencia de dgitos que existe entre ambas bases.
1 3

Figura - Tabla de correspondencias entre los dgitos de los Sistemas Octal y Binario. De la tabla se deduce que, por ejemplo, el nmero 6 equivale al 110 , el nmero 11 equivale al 3 el nmero 54 equivale al 101100 , ya que:
8 2 2 8 8 2

En consecuencia, para convertir el nmero 16,51 a binario, podemos hacer corresponder cada uno de sus dgitos con sus tres equivalentes en binario, de forma que:
8

Los ceros a la izquierda de la parte entera o a la derecha de la parte fraccionaria se desprecian. As pues, obtenemos el resultado que ya sabamos, 16,51 = 1110,101001
8 2

Ejemplo 2: Para convertir al Sistema Hexadecimal (base 16) el nmero 1000000001111,11 , igualmente, se puede usar la tabla de correspondencias entre los dgitos de los Sistemas Hexadecimal y Binario, haciendo corresponder grupos de cuatro bits con los dgitos equivalentes en hexadecimal.
2

Figura - Tabla de correspondencias entre los dgitos de los Sistemas Hexadecimal y Binario. De tal manera que:

Por tanto, 1000000001111,11 = 100F,C


2 16

Si primero passemos el nmero a base 10, haramos: 1000000001111,11 = 2 + 2 + 2 + 2 + 2 + 2 + 2 =


2 12 3 2 1 0 -1 -2

= 4096 + 8 + 4 + 2 + 1 + 0,5 + 0,25 = = 4111,75


10

convirtiendo, despus, el nmero 4111,75 a base 16. As pues, tendramos que realizar las siguientes divisiones para la parte entera:

10

y las siguientes multiplicaciones para la parte fraccionaria:

y como no poda ser de otra forma, 1000000001111,11 = 4111,75 = 100F,C


2 10 16

S-ar putea să vă placă și