Documente Academic
Documente Profesional
Documente Cultură
REGISTROS AUXILIARES
CS , DS , SS , ES
15 19
DESPLAZAMIENTO
REG. SEGMENTO
0000
0
DIRECCION SEGMENTO
20 BITS
16 BITS
SUMA
19
DIRECCION REAL
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.
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
Cuando el microprocesador requiere de una instruccin a ejecutar, necesita traerla desde memoria, por lo que se direcciona de la siguiente manera:
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
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:
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
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
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.
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.=
____ [