Modo de direccionamiento

Supongamos una arquitectura de pila, las operaciones aritméticas no requieren direccionamiento explícito por lo que se ponen como:

Bajo esta consideración, podríamos decir que el modo implícito no es un modo de direccionamiento per se, ya que precisamente se caracteriza por no especificar operando.

Las instrucciones de modo inmediato son útiles para inicializar los registros en un valor constante.

Su valor es fijo, por lo que se suele utilizar en operaciones aritméticas o para definir constantes y variables.

Como ventaja, no se requiere acceso adicional a memoria para obtener el dato, pero el tamaño del operando está limitado por el tamaño del campo de direccionamiento.

Las desventajas principales son que el valor del dato es constante y el rango de valores que se pueden representar está limitado por el tamaño de este operando.

Ejemplo: MOV A,@17H Unos pocos sistemas como el PDP-6 o el PDP-10 tenían la posibilidad de direccionamiento indirecto recursivo.

El campo de operando contiene una dirección en memoria, en la que se encuentra la instrucción.

En este modo, los operandos están en registros que residen dentro de la CPU.

La dirección efectiva en este modo se obtiene del siguiente cálculo: Dir.

Permite la carga de varios programas referenciando cada uno con un registro distinto.

Preindexado: Primero se suman los valores del registro y el campo de dirección.

Consiste, al igual que el indirecto a través de registro, en calcular la dirección efectiva (EA, effective address) como la suma del contenido del registro base y un cierto desplazamiento (offset) que siempre será positivo.

La única diferencia es que permite un incremento o decremento de la dirección final o el registro índice según los siguientes casos: Consiste en cargar en el PC el valor que se especifica, por ejemplo:

Es parecida a la especificada anteriormente la diferencia es que el salto es relativo al PC, pongamos un ejemplo: supongamos que PC vale = 0x0A, si nosotros interpretamos la instrucción jr +03, saltaremos tres posiciones posteriores a PC (también podría ser -03 y serían posiciones anteriores).

El problema viene cuando queremos referenciar un dato al que no podemos acceder de forma relativa (p. ej.

porque los registros base no puedan alcanzar dicha posición aun con el direccionamiento absoluto.

Ejemplo 1: Dentro de una subrutina, un programador estará principalmente interesados en los parámetros y las variables en los atributos del objeto actual.

Direccionamiento paginado