Modos de Direccionamiento
Introducción
Los llamados modos de direccionamiento son las diferentes maneras de especificar en informática un operando dentro de una instrucción en lenguaje ensamblador.
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 y / oconstantes, contenida dentro de una instrucción de la máquina o en otra parte.
Diferentes arquitecturas de computadores varían mucho en cuanto al número de modos de direccionamiento que ofrecen desde el hardware. Eliminar los modos de direccionamiento más complejos podría presentar una serie de beneficios, aunque podría requerir de instrucciones adicionales, e incluso de otro registro. Se hacomprobado que el diseño de CPUs segmentadas es mucho más fácil si los únicos modos de direccionamiento que proporcionan son simples.
En general, los microprocesadores y microcontroladores construyen la dirección de un dato de formas diversas, relacionadas con su arquitectura. En su forma más simple que es la utilizada por los microcontroladores PIC de gama media, la dirección de un dato puede estar enla instrucción o en un registro del dispositivo. Al registro que almacena direcciones de datos se le llama, genéricamente, “registro de direcciones de datos” (RDD).
Tipos de direccionamiento
Directo: Es cuando la dirección del dato se da en la instrucción. El operando de la instrucción es la dirección del dato.
La dirección del dato está incluida en el campo de dirección de la instrucción. Loscinco bits de menos peso del campo de dirección seleccionan una de las posiciones de la memoria de datos. Los biestables RA0 RA1 (biestables 6 y5) del registro FRS indican el banco de memoria en la que se encuentra el dato, en caso de que el PIC tenga más de uno.
Dado que solo son accesibles las 16 posiciones de mayor peso de los bancos (excepto del banco 0), si el biestable 4 del registro FSR escero, se accede al banco 0 (se ignoran RA0 y RA1).
Indirecto: Es cuando la instrucción toma la dirección del dato en RDD. El operando de la instrucción es la dirección del RDD.
La dirección de la memoria de datos a la que se quiere acceder está contenida en un registro. En las instrucciones que utilizan este modo de direccionamiento se utiliza el registro INDF (posición 0 del banco 0)como operando. Este registro no existe físicamente, y en la realidad coincide con el registro FSR que es el que contiene la dirección del dato. De esta forma, en cualquier instrucción en la que se especifica la dirección 00, se accede a la posición de memoria seleccionada mediante el contenido del registro FSR.
Implícito: En este modo de direccionamiento no es necesario poner ninguna direcciónde forma explícita, ya que en el propio código de operación se conoce la dirección del (de los) operando(s) al (a los) que se desea acceder o con el (los) que se quiere operar.
Inmediato: Es cuando el dato se da en la instrucción. El operando de la instrucción es el propio dato.
El dato está situado en el campo de dirección de la instrucción. Durante la ejecución de la instrucción, se carga eldato en el registro de trabajo W (Working Register) para su procesamiento. El dato es una combinación de 8 bits.
En la instrucción está incluido directamente el operando. En este modo el operando es especificado en la instrucción misma. En otras palabras, una instrucción de modo inmediato tiene un campo de operando en vez de un campo de dirección. El campo del operando contiene el operando actualque se debe utilizar en conjunto con la operación especificada en la instrucción. Las instrucciones de modo inmediato son útiles para inicializar los registros en un valor constante.
Cuando el campo de dirección especifica un registro del procesador, la instrucción se dice que está en el modo de registro.
Absoluto: El campo de operando contiene una dirección en memoria, en la que se encuentra...
Regístrate para leer el documento completo.