Please enable JavaScript.
Coggle requires JavaScript to display documents.
Tipos de direccionamiento en los CPU actules - Coggle Diagram
Tipos de direccionamiento en los CPU actules
Los modos de direccionamiento asignan memoria RAM en porciones que pueden ser referenciadas individualmente para que la
CPU, pueda determinar qué ubicación de memoria está siendo utilizada por una instrucción de la máquina.
Se les llama tipos de direccionamiento a las distintas formas de combinar los operandos según el acceso que se hace a memoria
Modo indexado de base
Formato: [ BX o BP + SI o DI (opcionales) + constante (opcional) ]
La diferencia es el segmento sobre el que trabajan por defecto:
BX por defecto en el segmento de datos
BP por defecto en el segmento de pila
A partir de BX o BP, se puede tener un desplazamiento variable y uno constante
BX o BP indica una localidad base de la memoria
Ejemplo: MOV AX, [BX]
Absoluto
El campo de operando contiene una dirección en memoria, en la que se encuentra la instrucción. Y no se cancela
Modo indirecto
El operando indica una localidad de memoria, cuya dirección (sólo la parte desplazamiento) está en SI o DI
Es más lento que los anteriores, pues tiene que “calcular” la localidad
Se usan los registros SI, DI como apuntadores
Ejemplos: MOV AL, [SI]
Indirecto recursivo
Tal dirección de memoria indirecta tenía un campo de registro para indexación y posiblemente un otro bit indirecto, de modo que el proceso de direccionamiento indirecto con indexación podría teóricamente repetirse cualquier número de veces hasta que se encontrara una dirección sin un bit indirecto en la cadena
Modo directo
El valor constante se tiene que buscar en memoria, en la localidad especificada
Es más lento que los anteriores, pero es el más rápido para ir a memoria, pues ya “sabe” la localidad, la toma de la instrucción y no la tiene que calcular
Ejemplo: MOV AH, [0000]
Uno de los operandos involucra una localidad específica de memoria
Indirecto mediante registros
El campo de operando de la instrucción contiene un identificador de registro en el que se encuentra la dirección efectiva del operando
El control localiza la instrucción de la memoria y utiliza su parte de dirección para acceder a la memoria de nuevo para leer una dirección efectiva. La dirección efectiva en este modo se obtiene del siguiente cálculo: Dir. efectiva = Dir. de la parte de la instrucción + Contenido del registro del procesador
Modo inmediato
Tiene dos operandos: un registro y una constante que se usa por su valor
El valor constante no se tiene que buscar en memoria, pues ya se obtuvo al hacer el “fetch” de la instrucción
Ejemplo: MOV AH, 9
De desplazamiento
Combina el modo directo e indirecto mediante registros
Modo registro
Es el más rápido, pues minimiza los recursos necesarios (toda la información fluye dentro del EU del CPU)
Ejemplo: MOV AX, BX
Usa solamente registros como operandos
De pila
Este direccionamiento se basa en las estructuras denominadas Pila (tipo LIFO), las cuales están marcados por el fondo de la pila y el puntero de pila (*SP). El puntero de pila apunta a la última posición ocupada. Así, como puntero de direccionamiento usaremos el SP
El desplazamiento más el valor del SP nos dará la dirección del objeto al que queramos hacer referencia. En ocasiones, si no existe C. de desplazamiento solo se trabajará con la cima de la pila
Se utiliza cuando el operando está en memoria y en la cabecera de la pila
Direccionamiento implícito
Particularmente en instrucciones que no accesan memoria, o bien que tienen una forma específica de accesarla
Ejemplos: PUSHF, POPF, NOP
Depende solamente de la instrucción, es decir, la instrucción no lleva parámetros