ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Introduccion Al Lenguaje Ensamblador


Enviado por   •  25 de Septiembre de 2012  •  1.617 Palabras (7 Páginas)  •  572 Visitas

Página 1 de 7

INTRODUCCION AL LENGUAJE ENSAMBLADOR

El disponer de herramientas y conocimientos para combinar sabiamente los lenguajes de alto nivel en diversas configuraciones hardware le convierten en el maestro de la maquina. La orden y control intimo de los periféricos, gestión de memoria, velocidad, eficiencia de código, seguridad de código, seguridad de datos, y más esperan al programador de lenguaje ensamblador. El dominio de la programación en el lenguaje ensamblador requiere experiencia y atención al detalle.

Un programa en lenguaje ensamblador producirá el código ejecutable de forma más rápida ya que circunvala el paso de interpretar el lenguaje y el paso de compilar el lenguaje. Esta ventaja de velocidad, sin embargo, tiene un precio.

Los programadores en lenguaje ensamblador deben de prestar gran atención a las detalles. La mayoría de los grandes programas no se escriben en lenguaje ensamblador.

Hablar del lenguaje de la maquina requiere comprender muchos conceptos extraños para los programadores de lenguajes de alto nivel. El programador de lenguaje ensamblador debe de considerar la segmentación de memoria.

VENTAJAS IMPORTANTES: VELOCIDAD Y CONTROL

Una de las dos ventajas más importantes del lenguaje ensamblador es la enardecida velocidad a la que ejecuta el código.

Los intérpretes de lenguajes, como os usados para BASIC y APL, examinan el código fuente y lo traducen línea a línea al código maquina, llamando a muchas subrutinas permanentes. Estas subrutinas han sido ya escritas y están predefinidas para el microprocesador.

Los compiladores de lenguajes, como los utilizados para pascal, PL/I y FORTRAN leen el código fuente y lo convierten en una secuencia de códigos de operación que el microprocesador ejecutara directamente.

Habitualmente, requiere una considerable cantidad de código, incluso para los programas mas pequeños. Un programa BASIC compilado puede ocupar 33kb de memoria de la maquina y del disco para imprimir unos pocos caracteres en un monitor.

La segunda ventaja importante de los programas en lenguaje ensamblador. Sin lenguaje ensamblador el usuario está limitado a lo que ofrecen los programas enlatados.

En la mayoría de los casos esto puede ser realizado solo a nivel de lenguaje ensamblador. Ese lenguaje permite a los ingenieros de software hacer interfaces con el sistema operativos y les da control directo de las operaciones de entrada y salida a monitores, impresoras y a los importantes dispositivos de memoria de disco duro/flotante.

MODO DE DIRECCIONAMIENTO

Hay 8 modos importantes de direccionamiento:

1.- Direccionamiento Inmediato

2.- Direccionamiento de Registros

3.- Direccionamiento Directo

4.- Direccionamiento Indirecto de Registros

5.- Direccionamiento Basado

6.- Direccionamiento Indexado Directo

7.- Direccionamiento Indexado Base, con o sin desplazamiento

8.- Extensiones del 80386

Direccionamiento Inmediato:

El microprocesador decodifica el modo de direccionamiento que esta siendo referenciado por la sintaxis de la operación.

Direccionamiento de Registros:

Con el direccionamiento de registros el valor del operando fuente ya ha sido almacenado en uno de los registros de memoria interna. Puede ser un valor de 8 bits, de 16 bits, ó en el caso de 80386 un valor de 32 bits.

Este direccionamiento instruye al microprocesador para que tome el contenido de los 16 bits del operando fuente y lo desplace al registro DS de 16 bits.

Direccionamiento Directo:

Con el direccionamiento directo, el desplazamiento del segmento del operando está contenido en la instrucción como una cantidad de 16 bits. Este desplazamiento se suma al contenido desplazado del registro del segmento de datos (DS) y se devuelve a la de 20 bits, o dirección física real.

Direccionamiento Indirecto de Registros:

Con el direccionamiento indirecto de registros, en lugar de referenciar por un rotulo la dirección del operando fuente, el valor del operando es señalado por una dirección de desplazamiento almacenado en uno de los registros siguientes: SI (Índice Fuente), DI (Índice Destino), BX (Registro Base) o, bajo algunas circunstancias, el BP (Puntero Base).

El microprocesador reconoce el direccionamiento indirecto de registros por la sintaxis de la instrucción.

Direccionamiento Basado:

La dirección efectiva de un operando al utilizar direccionamiento relativo de base se obtiene de la suma del desplazamiento y contenido de un registro base (el BP y o el BX), relativo al segmento seleccionado.

El registro base apunta a la base de la estructura, y un campo particular se selecciona por el desplazamiento.

Direccionamiento Indexado Directo:

En el direccionamiento indexado directo, la dirección de desplazamiento del operando se calcula sumando el desplazamiento a un registro índice (SI ó DI) en el segmento seleccionado. Se utiliza para acceder a los elementos de un array estático.

Direccionamiento Base Indexado:

Con el direccionamiento base indexado, el operando se localiza en el segmento seleccionado de un desplazamiento determinado por la suma de los contenidos del registro base, registro índice y, opcionalmente, un desplazamiento.

Se utiliza con más frecuencia para acceder a los elementos de un array dinámico.

Extensiones del 80386:

Los modos de direccionamiento de

...

Descargar como (para miembros actualizados)  txt (10.7 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com