Modos de direccionamiento.

    En la entrada de la semana pasada se tocó el tema del lenguaje ensamblador y se mencionó que existen distintos de ensambladores según cada tipo de arquitectura. En la entrada de esta semana se hablará sobre un tema que va muy ligado al ensamblador y son los modos de direccionamientos, cada arquitectura define los modos de direccionamiento que esta puede trabajar, ya que existen muchos más una arquitectura no los utiliza todos. Es decir, vamos a centrarnos en que es un modo de direccionamiento y cuales son algunos de esto y no en cuales usa una arquitectura u otra.




     Para iniciar con este tema, se debe tener una noción de que es un modo de direccionamiento, en el documento “id” del departamento de informática de la universidad de Valladolid encontramos la siguiente definición de este término; “Los modos de direccionamiento de un procesador son las distintas formas de transformación del campo de operando de la instrucción en la dirección del operador”.

     Podemos decir de los modos de direccionamiento son la formar en la que manejamos datos en la memoria. Ya sabiendo esto podemos iniciar con la forma en la que trabaja cada modo, pues todos son utilizados para manejar, acceder y almacenar los datos de maneras distintas.
     En el documento de la universidad autónoma del estado de hidalgo, Abel, P. (1996). Lenguaje Ensamblador y Programación para IBM PC y Compatibles. Prearson Educación. Presenta la definición de algunos modos de direccionamiento:

1.      Direccionamiento directo: La dirección del operando viene incluida en la instrucción, aquí el procesador calcula la dirección real ([DS]+Dir)
Ejemplo:
MOV AX, DATO
ADD AX, [100]

2.      Direccionamiento de registro:
·         Los operandos o datos se encuentran en registros.
·         No se necesita calcular la Dir. Absoluta.
·         Transfiere un byte o palabra desde el registro fuente o localidad en memoria, hasta el registro o localidad destino en la memoria.
·         MOV CX, DX copia el contenido de tamaño de palabra en el registro DX y lo pasa al registro CX.
Ejemplo:
            ADD BX, CX
MOV BX, AX
SUB DX, BX

3.      Direccionamiento indexado:
·         El procesador calcula la dirección efectiva (real o absoluta sumando a DS o a ES SI o DI respectivamente) más un desplazamiento.
·         Similar al direccionamiento relativo a registro base.
·         El operando se encuentra en memoria.
·         Registro índice: se modifica a menudo en la ejecución del programa.
Ejemplo:
            MOV SI,2
MOV AX, DATO [SI]

4.      Direccionamiento indirecto:
·         El operando se encuentra en memoria.
·         La instrucción contiene una dirección que se emplea para leer en memoria una dirección intermedia que será la verdadera dirección del objeto buscado.
Ejemplo:
            MOV BX, OFFSET DATO (LEA BX, DATO)
 MOV AX, [BX]
MOV BX, xxxx
MOV AX, [BX]

     Luego de leer la forma en la que funcionan los distintos tipos de direccionamientos, podemos observar las diferencias entre estos, estas diferencias nos permiten utilizar el modo de direccionamiento que consideremos necesario para la tarea que necesitemos cumplir.


Fuentes:
https://www.uaeh.edu.mx/docencia/P_Presentaciones/huejutla/sistemas/teoria_comuni/direccionamiento.pdf
https://www.infor.uva.es/~bastida/OC/modos.pdf

Comentarios

Entradas populares de este blog

Raspberry Pi

Dispositivos de entrada y salida