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
Publicar un comentario