Chingon
Modos de Direccionamiento
El desarrollo de software eficiente para el 8088, y otros miembros de la familia, requiere una completa familiaridad con los modos de direccionamiento aplicados a cada instrucción. Generalmente se utiliza la instrucción MOV (movimiento de dato) para describir los modos de direccionamiento de datos. La instrucción MOV transfiere bytes o palabrasde datos entre los registros o entre la memoria y los registros. En la descripción del programa en modo de direccionamiento a memoria, nosotros usamos las instrucciones CALL (llamar a subrutina) y JUMP (salto) para modificar el flujo del programa. Los modos de direccionamientos de datos son: registros, inmediato, directo, registro indirecto, base mas índice, relativo a registro y relativo abase-mas-índice. Modos de Direccionamiento de Datos Puesto que la instrucción MOV es una instrucción de las mas simple y flexible del 8088, esta provee la base para la explicación de los modos de direccionamiento de datos. La figura 1 ilustra la instrucción MOV y define la dirección del flujo de datos. La fuente esta a la derecha y el destino a la izquierda, próxima al código de operación de MOV. Este esel primer problema , porque nosotros naturalmente asumimos que las cosas se mueven de la izquierda a la derecha, mientras aquí se mueven de derecha a izquierda (Un opcode le dice al microprocesador que operación ejecutar). Una coma siempre separa el destino de la fuente en una instrucción.
MOV Destino , Fuente AX , BX MOV
Figura 1. La instrucción MOV AX,BX mostrando como la fuente se copia aldestino
En la figura 1 la instrucción MOV AX,BX transfiere el contenido de la palabra en el registro fuente (BX) al registro destino (AX). La fuente nunca cambia , pero el destino usualmente cambia. La figura 2 muestra todas las variaciones de los modos de direccionamiento usando la instrucción MOV. Los modos de direccionamiento del 8088 son los siguientes : 1. Direccionamiento a Registro: - Se usapara transferir un byte o una palabra desde un registro fuente o desde una localidad de memoria, hacia un registro destino o localidad de memoria. (Ejemplo: la instrucción MOV CX,DX copia el contenido del tamaño de la palabra del registro DX en el registro CX.
U.A.B.C.
Pag. 35
Sistemas Computarizados
2. Direccionamiento Inmediato: - Transfiere inmediatamente un dato del tamaño de una palabrao un byte a un registro destino o localidad de memoria (Ejemplo la instrucción MOV AL,22H copia la palabra de tamaño en bytes 22H en el registro AL.) 3. Direccionamiento Directo : - Mueve un byte o palabra entre una localidad de memoria y un registro (Ejemplo: la instrucción MOV CX,LIST copia el contenido de la palabra de la localidad de memoria LIST en el registro CX). 4. Direccionamiento deRegistro Indirecto- Se usa para transferir un byte o palabra entre un registro y una localidad de memoria direccionada por el registro base o el registro índice. Los registro bases e índices son : BP, BX, DI, y SI (Ejemplo: la instrucción MOV AX,[BX] copia el dato de 16 bits (palabra) contenido en la localidad de memoria direccionada por el registro BX al registro AX). 5. DireccionamientoBase-mas-Indice - Transfiere un byte o palabra entre un registro y la localidad de memoria direccionada por un registro base (BP o BX) mas un registro índice (DI o SI) (Ejemplo: la instrucción MOV AX,[BX + SI] copia el contenido de 16-bits de la dirección apuntada por la suma de los registros BX y SI al registro AX). 6. Direccionamiento Relativo a Registro - Mueve un byte o palabra entre un registro y lalocalidad de memoria direccionada por un registro índice o base mas un desplazamiento. (Ejemplo: la instrucción MOV AX,[BX+4] o MOV AX,ARRAY[BX]. La primera instrucción copia una palabra desde una dirección en el segmento de datos, formado por BX mas 4 en el registro AX . La segunda instrucción transfiere el contenido de la localidad de memoria direccionada por ARRAY mas el contenido de BX en el...
Regístrate para leer el documento completo.