Modos de direccionamiento
Son las diferentes maneras de especificar un operando dentro de una instrucción. Un modo de direccionamiento especifica la forma de calcular la dirección de memoria efectiva de un operando mediante el uso de la información contenida en registros dentro de una instrucción de la máquina.
Direccionamiento implícito
El modo implícito se usa para hacer referencia operadores de dos tipos: Registros: el código de operación se refiere a un registro. Operandos en la pila: cuando la operación este situado en la cima de la pila.
Direccionamiento inmediato
El campo del operando contiene el mismo, sin transformación alguna, la información sobre la que hay que operar. Este modo es útil para inicializar registros o palabras de memoria con un valor constante.
![DireccionamientoInmediato[1].png](https://static.wixstatic.com/media/b9e9b2_9c68755f432a4574b8cd69cdf7065876.png/v1/fill/w_402,h_139,al_c,q_85,enc_auto/b9e9b2_9c68755f432a4574b8cd69cdf7065876.png)
Direccionamiento directo por registros
El operando reside en uno de los registros del procesador que es seleccionado por un campo de registro de k bits en la instrucción.
![DireccionamientoDirecto[1].png](https://static.wixstatic.com/media/b9e9b2_c37bdbd81dda4783a31406ae7cbc0d3b.png/v1/fill/w_449,h_384,al_c,q_85,enc_auto/b9e9b2_c37bdbd81dda4783a31406ae7cbc0d3b.png)
Direccionamiento absoluto
El campo de direccionamiento no necesita transformación alguna para dar la dirección efectiva, es decir la función que transforma el campo de operando es la dirección efectiva es la identidad.
Direccionamiento indirecto
El modo de este direccionamiento puede adquirir diferentes formas según cual se elijan donde se encuentra la dirección del operando.
![DireccionamientoIndirecto[1].png](https://static.wixstatic.com/media/b9e9b2_7af3f42e58f14a7c9fa0b83975cdece1.png/v1/fill/w_449,h_384,al_c,q_85,enc_auto/b9e9b2_7af3f42e58f14a7c9fa0b83975cdece1.png)
Direccionamiento relativo
La dirección de memoria central donde se encuentra el dato, se consigue sumando la dirección contenida en la propia instrucción con una magnitud fija contenida en un registro especial.
Direccionamiento por base y desplazamiento
Este modo de direccionamiento se usa en ordenadores que pueden mantener en memoria varios programas ya que, de esta forma, los diferentes registros base pueden contener las direcciones de comienzo de cada uno de los programas . La dirección que se toma como referencia de la zona de memoria en la que están localizados ,los datos se deposita en un registro denominado registro denominado registro base y el campo de operando indica la diferencia entre el registro base y la dirección del operando Normalmente se toma como referencia (r registro base) la dirección de comienzo de la zona de memoria ocupada por un programa por lo tanto, la dirección efectiva del operando se calculara sumando el contenido del registro base con el campo de operando.
Direccionamiento indexado
Un direccionamiento indexado consiste en un registro de dirección desplazado por el contenido del working register designado. Este desplazamiento es adherido a la dirección del registro para obtener la dirección del operando.
![indexado.JPG](https://static.wixstatic.com/media/b9e9b2_a511b3817ffb4d498f6c3d9ac921dbca.jpg/v1/fill/w_292,h_220,al_c,q_80,enc_auto/b9e9b2_a511b3817ffb4d498f6c3d9ac921dbca.jpg)
Direccionamiento autoincremental
En este método, la dirección del operando se encuentra en un registro y éste es incrementado después de acceder al operando, en el tamaño del mismo Este modo es útil para manejar vectores y matices, también se puede utilizar para extraer datos de pilas (que crezcan hacia direcciones bajas) ya que, si el registro sobre el que se aplica este modo es el apuntador de la pila, después de la operación el apuntador señalara al siguiente elemento de la pila.
![autoinc.JPG](https://static.wixstatic.com/media/b9e9b2_b56133c7131e4d21afdd98190161c17d.jpg/v1/fill/w_470,h_178,al_c,q_80,enc_auto/b9e9b2_b56133c7131e4d21afdd98190161c17d.jpg)
Direccionamiento autodecremental
En este modo para obtener la dirección del operando hay que decrementar un registro en el tamaño del operando; el nuevo contenido del registro después de efectuar esa operación es la dirección del operando
Este método contempla al anterior y se emplea para direccionar elementos de vectores y matices en orden descendente y también para introducir datos en la pilas ya que si se aplica este método sobre el apuntador de la pila, conseguiremos que antes de efectuar el acceso al apuntador señale al siguiente hueco libre de la pila
![autodec.JPG](https://static.wixstatic.com/media/b9e9b2_a63cc25b1485468e94a49353b55a4767.jpg/v1/fill/w_502,h_176,al_c,q_80,enc_auto/b9e9b2_a63cc25b1485468e94a49353b55a4767.jpg)