tabla comparativa de los diferentes modos de direccionamiento

2
Direcciona miento De dato inmediato Directo De registro De registro Indirecto De registro Relativo De base indexado registro Base indexado Indexado Directo DESCRIPCIO N El operando fuente Aparece en la instrucción. La dirección del operando viene incluida en la instrucción , aquí el procesador calcula la dirección real ([DS]+Dir) Indica que el operando a ser usado está contenido en uno de los registros internos de propósito general del CPU. En el caso de los registros AX, BX, CX, o DX pueden ser de 8 a 16 bits. El campo de dirección hace referencia a un registro que contiene la dirección efectiva del operando. Con el modo de direccionamiento de registro índice, la dirección offset de 16 bits está contenida en un registro base o registro índice. Esto es, la dirección reside en el registro BX, BP, SI o DL La instrucción no contiene la dirección del operando -> debe ser calculada. La instrucción contiene un desplazamiento que hay que añadir a la dirección marcada por un puntero para obtener la dirección final del operando>> retraso adicional. El puntero suele estar en un registro. El procesador calcula la dirección efectiva (real o Absoluta sumando a DS o a ES SI o DI respectivamente) más un desplazamiento. Con el direccionamiento base indexado, el direccionamiento se localiza en el segmento seleccionado en un desplazamiento determinado por la suma de dos contenidos del registro base, registro índice y, opcionalmente un desplazamiento. El operando se encuentra en dirección determinada por suma de un registro segmento*16, un registro índice, SI o DI y desplazamiento de 8 ó 16 bit EJEMPLO Es el que mueve un valor constante a un registro interno. Ejemplos: • ADD BX, 2h • SUB CX, 100h • MOV DX, 30h • MOV AL,22h • MOV AX, DATO • ADD AX, [100] MOV AX, BX ; AX BX MOV AL, BL ; AL BL MOV AX, [SI] El valor de 16 bits contenido en el registro SI debe ser el offset usado para calcular la dirección de 20 bits. MENSAJE1 DB 'EL LENGUAJE ENSAMBLADOR ES', '#' MENSAJE2 DB 'RAPIDO Y EFICIENTE´','#' . . LEA BX, MENSAJE1 MOV AL,[BX]+4 MOV SI,2 MOV AX, DATO [SI] LEA BX MY DATA MOV SI, 25 MOV AX MYDATA MOV AX,[DI+DESP] ó MOV AX,desp[DI] ADD [SI+DESP],BX ó ADD desp[SI],BX

Upload: cesar-de-la-cruz

Post on 24-Dec-2015

10 views

Category:

Documents


0 download

DESCRIPTION

ada

TRANSCRIPT

Page 1: Tabla Comparativa de Los Diferentes Modos de Direccionamiento

Direccionamiento

De dato inmediato

Directo De registro De registroIndirecto

De registroRelativo

De base indexado registro Base indexado IndexadoDirecto

DESCRIPCION El operando fuenteAparece en la instrucción.

La dirección del operando viene incluida en lainstrucción , aquí el procesador calcula la direcciónreal ([DS]+Dir)

Indica que el operando a ser usado está contenido en uno de los registros internos de propósito general delCPU. En el caso de los registros AX, BX, CX, o DX pueden ser de 8 a 16 bits.

El campo de dirección hace referencia a un registro que contiene la dirección efectiva del operando.Con el modo de direccionamiento de registro índice, la dirección offset de 16 bits está contenida en un registro base o registro índice. Esto es, la dirección reside en el registro BX, BP, SI o DL

La instrucción no contiene la dirección del operando -> debe ser calculada.

La instrucción contiene un desplazamiento que hay que añadir a la dirección marcada por un puntero para obtener la dirección final del operando>> retraso adicional.

El puntero suele estar en un registro.

El procesador calcula la dirección efectiva (real oAbsoluta sumando a DS o a ES SI o DI respectivamente) más un desplazamiento.

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

El operando se encuentra en una dirección determinada por la suma de un registro de segmento*16, un registro de índice, SI o DI y un desplazamiento de 8 ó 16 bits

EJEMPLO

Es el que mueve un valor constante a un registro interno.Ejemplos:• ADD BX, 2h• SUB CX, 100h• MOV DX, 30h• MOV AL,22h

• MOV AX, DATO • ADD AX, [100]

MOV AX, BX ; AX BXMOV AL, BL ; AL BL

MOV AX, [SI]

El valor de 16 bits contenido en el registro SI debe ser el offset usado para calcular la dirección de 20 bits.

MENSAJE1 DB 'EL LENGUAJE ENSAMBLADOR ES', '#' MENSAJE2 DB 'RAPIDO Y EFICIENTE´','#' . . LEA BX, MENSAJE1 MOV AL,[BX]+4

MOV SI,2MOV AX, DATO [SI] LEA BX MY DATA

MOV SI, 25 MOV AX MYDATA

MOV AX,[DI+DESP] ó MOV AX,desp[DI]ADD [SI+DESP],BX ó ADD desp[SI],BX

VENTAJA

No referencia a memoria.

Sólo requiere una referencia a memoria para obtener eloperando y no necesita ningún cálculo especial

Solo una referencia a memoria sin cálculos previos.

Emplea una referencia menos a memoria que el modo Indirecto.

Flexibilidad Flexibilidad Flexibilidad

Espacio de dirección grande; para N bits >> 2N espacio de direcciónSe puede combinar con los direccionamientos relativos

DSVENTAJAOperandos limitados por la instrucción.

La limitación directa es que proporciona un espaciolimitado de direcciones.

Espacio de direcciones reducido

La ejecución de la instrucción requiere una referencia a memoria para capturar el operando.

complejidad complejidad complejidadReferencia extra a memoria

Page 2: Tabla Comparativa de Los Diferentes Modos de Direccionamiento

http://ldc.usb.ve/~adiserio/ci3815/clases/Laminas_ModosDireccionamiento.pdf

http://html.rincondelvago.com/modos-de-direccionamiento.html

http://www.uaeh.edu.mx/docencia/P_Presentaciones/huejutla/sistemas/teoria_comuni/direccionamiento.pdf

http://www.academia.edu/4623808/Lenguaje_Ensamblador

TABLA COMPARATIVA DE LOS DIFERENTES MODOS DE DIRECCIONAMIENTO