Sunteți pe pagina 1din 10

REPBLICA BOLIVARIANA DE VENEZUELA.

LA UNIVERSIDAD DEL ZULIA.


FACULTAD DE INGENIERA
ESCUELA DE INGENIERA ELCTRICA
ASIGNATURA: ELECTRNICA DIGITAL
II

DIRECCIONAMIENTO DE MEMORIA

Elaborado por:
Javier Hernndez C.I. 20.578.572
Felipe Meja C.I. 23.446.766
Jairo Morales C.I. 20.582.526

Maracaibo, 6 de diciembre del 2014

INDICE
1. Lenguaje ensamblador
2. Direccionamiento de memoria
3. Tipos de direccionamiento de memoria
4. Comparacin entre los modos de direccionamiento
5. Ejemplos

1. Lenguaje ensamblador
El lenguaje ensamblador corresponde a un lenguaje de programacin de bajo nivel que se
comunica directamente a los microprocesadores de la computadora implementando una
representacin del lenguaje hombre para luego traducirlo al lenguaje mquina que es
realmente lo que entienden los microprocesadores. Dependiendo del hardware que
impongan los fabricantes el ensamblador tendr una arquitectura especfica de las
instrucciones, registros, espacios de memoria y otras caractersticas del lenguaje. La
caracterstica anterior es lo que diferencia el ensamblador con respectos a los lenguajes de
alto nivel, cuyas estructuras son porttiles se adaptan a cualquier hardware.
Algunas otras caractersticas del lenguaje ensamblador son:

El cdigo escrito en lenguaje ensamblador es difcil de entender ya que su estructura


se acerca ms bien al lenguaje mquina, es decir, lenguaje de bajo nivel.
El lenguaje ensamblador es difcilmente portable, es decir, un cdigo escrito para
un microprocesador, suele necesitar ser modificado, muchas veces en su totalidad
para poder ser usado en otra mquina
Los programas hechos en lenguaje ensamblador, al ser programado directamente
sobre hardware, son generalmente ms rpidos y consumen menos recursos del
sistema
Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas
por
Tambin se puede controlar el tiempo en que tarda una rutina en ejecutarse, e
impedir que se interrumpa durante su ejecucin.

2. Direccionamiento de memoria
El direccionamiento de memoria implica la forma de especificar el conjunto de
combinaciones de instrucciones para construir la direccin de la memoria efectiva. El
conjunto de instrucciones a utilizar depender de los tipos de datos, bien sean generales, de
pila o programas.
Otra definicin tambin sera; Un modo de direccionamiento especifica la forma de calcular
la direccin de memoria efectiva de un operando mediante el uso de la informacin
contenida en registros y / o constantes, contenida dentro de una instruccin de la pc en otra
parte.
Cuando se desea direccionar un dato, el microprocesador tiene un conjunto de reglas que
aplicar, estas definen la combinacin de registro de segmento y desplazamiento. El

microprocesador referencia el tipo de dato o de pila a un segmento que se emplea siempre


con un apuntador de instrucciones para direccionar la siguiente instruccin a ejecutar en un
programa, a este proceso se le conoce como direccionamiento implcito. En la siguiente
tabla se muestran los tipos de datos y de pilas con sus respectivos segmentos implcitos

La instruccin por excelencia para manejar la memoria de datos es la instruccin MOV


DESTINO, FUENTE, se clasifica como sencilla y flexible. En la siguiente figura se
muestra un ejemplo con la instruccin MOV:

El sentido del flujo puede parecer confuso ya que normalmente el flujo siempre se
encuentra de derecha a izquierda, mientras que en este caso es de derecha a izquierda,
situndose a la derecha la fuente y en el otro extremo el destino. En el ejemplo se tiene la
sentencia MOV AX,BX , y esta transfiere el contenido de palabras desde la fuente BX al
registro destino AX.
Otro punto importante de esta instruccin es que siempre copia un dato de la fuente al
destino. Los operados que se pueden utilizar en esta instruccin tanto para la fuente como
para el destino son los registros, memoria, inmediato o entrada/salida.

Se debe de tomar en cuenta las siguientes restricciones al momento de emplea la


instruccin MOV:

Los dos operandos usados deben ser del mismo tamao

No se admiten transferencias entre memoria, de manera que los dos operandos no


pueden ser de memoria en una misma instruccin MOV

No se pueden realizar copias de datos entre registros segmentos en una misma


instruccin.

El registro segmento de cdigo CS no puede ser operando destino de ninguna


instruccin de transferencia de datos. Este registro solamente puede ser cambiado
por las instrucciones especiales para direccionar cdigo

Los datos inmediatos nunca pueden ser operadores destino

Si solamente uno de los operandos tiene tamao definido este ser el que establezca
el tamao del dato que ser copiado

Cuando ninguno de los dos operandos provea informacin sobre el tamao del dato
copiado, ser necesario utilizar prefijos especiales de ensamblador que especifique
el tamao en alguno de los dos operandos. Para transferir bytes se usa byte ptr, para
palabras word ptr, para dobles palabras dword prt. Estas directivas de ensamblador
se utilizan solamente con operandos de memoria.

3. Tipos de direccionamiento de memoria

Direccionamiento por registro

Transfiere un byte o palabra desde el registro fuente o localidad en memoria, hasta el


registro o localidad destino en la memoria ejemplo MOV CX, DX copia el contenido de
tamao de palabra en el registro DX y lo pasa al registro CX

Direccionamiento Inmediato

En la instruccin est incluido directamente el operando. En este modo el operando es


especificado en la instruccin misma. En otras palabras, una instruccin de modo inmediato
tiene un campo de operando en vez de un campo de direccin. El campo del operando
contiene el operando actual que se debe utilizaren conjunto con la operacin especificada
en la instruccin. Las instrucciones de modo inmediato son tiles para inicializar los
registros en un valor constante. Cuando el campo de direccin especifica un registro del
procesador, la instruccin se dice que est en el modo de registro.

Direccionamiento Directo

El campo de operando en la instruccin contiene la direccin en memoria donde se


encuentra el operando. En este modo la direccin efectiva es igual a la parte de direccin de
la instruccin. El operando reside en la memoria y su direccin es dada directamente por el
campo de direccin de la instruccin. En una instruccin de tipo ramificacin el campo de
direccin especifica la direccin de la rama actual .Con este tipo de direccionamiento, la
direccin efectiva es contenida en la misma instruccin, tal como los valores de datos
inmediatos que son contenidos en la instruccin. Un procesador de 16 bits suma la
direccin efectiva al contenido del segmento de datos previamente desplazado en 4bits para
producir la direccin fsica del operando.

Direccionamiento Indirecto Mediante Registros

El campo de operando de la instruccin contiene un identificador de registro en el que se


encuentra la direccin efectiva del operando. En este modo el campo de la direccin de la
instruccin da la direccin en donde la direccin efectiva se almacena en la memoria. El
control localiza la instruccin de la memoria y utiliza su parte de direccin para tener
acceso la memoria de nuevo para leer una direccin efectiva. Unos pocos modos de
direccionamiento requieren que el campo de direccin de la instruccin sea sumado al
control de un registro especificado en el procesador. La direccin efectiva en este modo se
obtiene del siguiente clculo: Dir. Efectiva = Dir. De la parte de la instruccin + Contenido
del registro del procesador

Direccionamiento Indirecto Mediante Registros

El campo de operando de la instruccin contiene un identificador de registro en el que se


encuentra la direccin efectiva del operando. En este modo el campo de la direccin de la
instruccin da la direccin en donde la direccin efectiva se almacena en la memoria. El
control localiza la instruccin de la memoria y utiliza su parte de direccin para accesar la
memoria de nuevo para leer una direccin efectiva. Unos pocos modos de direccionamiento
requieren que el campo de direccin de la instruccin sea sumado al control de un registro
especificado en el procesador. La direccin efectiva en este modo se obtiene del siguiente

clculo: Dir. Efectiva = Dir. De la parte de la instruccin + Contenido del registro del
procesador

Direccionamiento base ms ndice

El direccionamiento base ms ndice es parecido al indirecto, ya que direcciona de forma


indirecta a los datos de la memoria. Este direccionamiento base ms ndice transfiere un
byte o palabra entre un registro y la localidad en la memoria direccionada por un registro
base ms un registro ndice, ms un desplazamiento.
A menudo el registro base contiene la localidad inicial de un arreglo en la memoria,
mientras que el registro ndice contiene la posicin relativa entre el inicio del arreglo y el
dato que se desea transferir, tal cual se muestra en la siguiente figura:

Este tipo permite cdigos reentrantes y acceder de forma fcil y rpida a posiciones
cercanas de memoria. Este modo de direccionamiento es muy usado por los ensambladores
cuando se llaman a las funciones (para acceder a los parmetros almacenados en la pila).

Direccionamiento relativo a registro

Transfiere un byte o una palabra entre un registro y una localidad en la memoria


direccionada por un registro ndice o un registro base, ms un desplazamiento. El proceso
de este direccionamiento comienza por especificar la direccin del elemento a travs del
registro base o ndice, y el desplazamiento da la direccin del inicio del arreglo.

Direccionamiento relativo a base ms ndice

En este caso se transfiere un Byte o palabra entre un registro y una localidad de memoria
direccionada empleando un registro ndice, mas un registro base ms un desplazamiento. El
direccionamiento relativo a base ms ndice

toma el concepto del base ms ndice

aadiendo un desplazamiento, en la actualidad este direccionamiento es el menos empleado


debido a lo complejo que sera emplearse con frecuencia en un programa.

Direccionamiento de ndice escalado

En este modo, la direccin del operando se encuentra en un registro y este es incrementado


despus de acceder al operando, el tamao del mismo
Este mtodo es til para manejar vectores y matrices. Tambin se puede utilizar para
extraer datos de pilas ya que, si el registro sobre el que se aplica este modo es el apuntador
de pila, despus de la operacin el apuntador sealara al siguiente elemento de la pila.

4. Comparacin entre los modos de direccionamiento

Modo
Registro
Inmediato
Directo
Indirecto por
registro
Base ms ndice
Relativo a registro
Relativo a base
ms ndice
Escalado

Ventajas
No accede a memoria
No accede a memoria
Sencillez
Espacio de direcciones grande

Desventajas
Nmero limitado de registros
Operando de magnitud limitada
Espacios de direcciones limitado
Acceso a registro y memoria

Empleado para accesar a


estructuras complejas de datos
Facilita la localizacin de
programas en memoria
til para direccionar un arreglo
bidimensional
Manejo ms flexible de arreglos
con elementos de diversos tamaos

La direccin efectiva del operando debe


calcularse
No se puede saltar a distancias mayores que las
permitidas por la longitud del campo
En extremo complejo para emplearse con
frecuencia en un programa
Exclusivo para los microprocesadores 80386
hasta Pentium 4, factor de escala afecta a la
direccin efectiva

5. Ejemplos

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