Sunteți pe pagina 1din 14

15

REGISTROS AUXILIARES

CS , DS , SS , ES
15 19

DESPLAZAMIENTO

REG. SEGMENTO

0000
0

DIRECCION SEGMENTO

20 BITS

16 BITS

SUMA

19

DIRECCION REAL

D.R.=(REG. SEG.*10) + DEZPLAZAMIENTO

Primera localidad de memoria dentro del segmento

MEMORIA

DIRECCION SEGMENTO DIR. SEG.=(REG. SEG. * 10) Este siempre indica el inicio del segmento.

DATO

DESPLAZAMIENTO DESPLAZ.=VALOR DE 16 BITS Este indica cuantas localidades se tiene que desplazar para llegar al a deseada.

SEGMENTO

DATO

DIRECCION REAL D.R.=(REG. SEG. * 10)+DESPL. Esta indica a que posicin de memoria se tiene que llegar.

Localidad de memoria a encontrar por la Direccin Real dentro del segmento Especificado.

D.R.= Valor 20 bits + Valor de 16 bits

Dir. Seg. = Reg. Seg. * 10 Dir. Seg. Reg. Seg. = 10 D. R. = Dir. Seg. + Desplazamiento D. R. = (Reg. Seg. * 10) + Desplazamiento Ejemplos: Determinar los valores de los parmetros de acurdo a la direccin real

PARAMETROS REQUERIDOS PARA DIRECCIONAR A MEMORIA Registro Otra Segmento opcin de Desplazapor Registro miento omisin Segmento CS SS Ninguno Ninguno IP SP

Tipo de acceso a memoria 1. Direccionar una instruccin 2. Direccionar a la memoria Stack 3. Direccionar un dato a memoria, sin involucrar a BP 4. Direccionar un dato a memoria, involucrando a BP

DS

CS ES SS CS ES DS

Direccin Efectiva

SS

Direccin Efectiva

1. Direccionar una instruccin

Cuando el microprocesador requiere de una instruccin a ejecutar, necesita traerla desde memoria, por lo que se direcciona de la siguiente manera:

2. Direccionar a la memoria stack


D. R. = (SS*10) + SP

D. R. = (CS*10) + IP

Cuando el microprocesador requiere manejar un dato en el stack de memoria, ste requiere direccionarlo de la siguiente manera:

3. Acceso a un dato

Cuando el microprocesador requiere manipular un dato en memoria por medio de una instruccin , se necesita direccionar de acuerdo a las siguientes tres formas:

3.a sin involucrar al registro base BP 3.b involucrando al registro base BP 3.c sin involucrar registros

D. R. = (DS*10) + DIRECCION EFECTIVA

D. R. = (SS*10) + DIRECCION EFECTIVA

D. R. = (DS*10) + VALOR CONSTANTE

DIRECCIN EFECTIVA La direccin efectiva es la manera de representar una direccin de una localidad de memoria en una instruccin y se hace a travs de parntesis cuadrado o corchete. [ parmetro]

Por ejemplo:

MOV [BX] , DX ADD AL , 5[BP][DI] AND [SI] , 56

Esta representacin puede aplicarse para indicar la lectura (read) de una localidad de memoria o la escritura (write) en una localidad de memoria

Una direccin efectiva esta compuesta por tres cantidades, siendo estas: a). Cantidad Base ( BX o BP ) b). Cantidad Indice ( SI o DI ) c). Desplazamiento Fijo ( DECALAGE ) RANGO DESCRIPCION Sin cantidad> cero bits de decalage 01 - FF > ocho bits de decalage 100 FFFF > diecisis bits de decalage Por lo tanto para determinar el valor de una direccin efectiva es: D.E.=Cant. Base + Cant. ndice + decalage Su valor no debe de exceder los 16 bits

Las diferentes formas de manejar una direccin efectiva en las instrucciones del microprocesador, cuando BP no se involucra, son las siguientes: Solo son 5 combinaciones para este caso BX CS SS ES
Decalage de 0,8 16 bits

SI DI BX BX SI DI

De manera automtica el microprocesador toma a DS para el calculo de la direccin segmento

Representacin de dos puntos (:) que separan la obligacin Obligacin con otros registros segmentos

Las diferentes formas de manejar una direccin efectiva en las instrucciones, cuando BP se involucra, son las siguientes: Solo son 3 combinaciones para este caso BP
Decalage de 0,8 16 bits

CS DS ES

BP

SI

BP

DI

De manera automtica el microprocesador toma a SS para el calculo de la direccin segmento

Representacin de dos puntos (:) que separan la obligacin Obligacin con otros registros segmentos

La forma de manejar una direccin efectiva en las instrucciones del 8088, cuando no se involucran registros, es la siguiente: Solo 1 combinacin para este caso De manera automtica el microprocesador toma a DS para el calculo de la direccin segmento

CS SS ES
No lleva Decalage

X XXX

Representacin de dos puntos (:) que separan la obligacin Obligacin con otros registros segmentos
VALOR CONSTANTE XXXX Es una cantidad de 16 bits como mximo, que tiene un rango desde 0001 hasta FFFF. Donde el valor de la direccin efectiva ya est calculado, solo se tiene que involucrar con la direccin segmento.

DIRECCION EFECTIVA BX D E C A L A G E 0 , 8 16 BITS BP SI DI BX SI

DS ES SS CS

D S

BX DI BP BP SI DI

S S

XXXX
D. E.=Cant. Base+Cant. Indice+decalage

Ejemplos :
De acuerdo a los siguientes valores de registros; AX=3890 ; BX=1B82 ; CX=7D ; DX=3C0 ; SP=EA35 ; BP=92E4 ; SI=A1 ; DI=23F5 ; IP=1835 ; CS=3000 ; DS=C000 ; SS=6000 ; ES=B000. y a las direcciones efectivas dadas, determinar las direcciones reales para cada inciso.

a). [BP][SI] b). CS:45[DI] c). A93[BX][DI] d). [8DE7] e). ES: 10[BP] f). 34B[DX][SI] g). [SI] h). SS:[9AD63] i). 2C[BP][DI]

a). D.R.=________ b). D.R.=________ c). D.R.=________ d). D.R.=________ e). D.R.=________ f). D.R.=________ g). D.R.=________ h). D.R.=________ i). D.R.=________

MODOS DE DIRECCIONAMIENTO
1) M. D. DE REGISTRO INDIRECTO [BX] , [BP] , [SI] o [DI] CERO BITS DE DECALAGE 2) M. D. RELATIVO A LA BASE [BX] o [BP] 8 16 BITS DE DECALAGE 3) M. D. INDEXADO DIRECTO [DI] o [SI] 8 16 BITS DE DECALAGE 4) M. D. INDEXADO DE BASE [BX][SI] , [BX][DI] , [BP][SI] [BP][DI] 0 , 8 16 BITS DE DECALAGE 5) M. D. DIRECTO [XXXX] CERO BITS DE DECALAGE

a). De acuerdo a la direccin real 98F6B, determinar la direccin efectiva (D.E.) en un modo de direccionamiento indexado de base. Dir. Seg.= ________ ; Reg. Seg.= _____=____ Desplz.= D.R Dir. Seg. = _________ Indexado de base : _____________________ ____=____ ; ____=____ ; decalage=______

Ejemplos:

D.E.=

____ [

] [

b). D.R.= 643CB. D.E.=?, M.D. Relativo a la Base. Dir. Seg.= ________ ; Reg. Seg.= _____=____ - Desplz.= D.R Dir. Seg. = _________ - Relativo a la base : _____________________ - ____=____ ; ____=____ ; decalage=______ -

D.E.=

____ [

c). D.R. = E9A0. D.E.=? , M.D. de Registro Indirecto, obligado con ES . - Dir. Seg.= ________ ; Reg. Seg.= _____=____ - Desplz.= D.R Dir. Seg. = _________ - Registro Indirecto : _____________________ - ____=____ ; ____=____ ; decalage=______ -

D.E.=

____ [

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