2. Son aquellos procedimientos empleados por el
microprocesador para poder acceder a determinados
operandos, instrucciones, posiciones de memoria, registros
de entrada/salida, etc., por lo tanto, el objeto del
direccionamiento es un valor o dato que se encuentra en un
lugar de la memoria, en algún registro o en la propia
instrucción.
Los diferentes modos de direccionamiento que pueda
emplear un microprocesador le proporcionan un
determinado nivel de potencialidad, permitiéndole manejar
los datos y realizar operaciones con mayor facilidad.
3. Las instrucciones inherentes se utilizan cuando no es
necesario buscar ningún operando en el exterior del
procesador. Las operaciones inherentes, o implícitas,
son siempre instrucciones de 1 byte. Algunos ejemplos
de instrucciones inherentes, o implícitas, son la de
borrar (Poner a cero), incrementar y decrementar los
acumuladores.
4. Cuando se utilizan estas instrucciones, se especifican la
fuente del operando y la operación.
Las instrucciones que utilizan el direccionamiento de
registro son muy eficientes ya que solamente utilizan un
espacio de la memoria de programa de 1 byte. También
se ejecutan rápidamente porque no tienen que buscar
operandos en memoria.
5. Considerar la ejecución de la instrucción ADD C de la Figura. En
este ejemplo, el operando del registro fuente (registro C en este
caso) se suma al operando localizado en el acumulador. Una vez
que se ejecuta la instrucción ADD C, la suma (00001111 en este
ejemplo) se deposita en el acumulador. Como es habitual, la
operación de suma también afecta a los señalizadores del registro de
status.
6. Las instrucciones que utilizan direccionamiento inmediato
tienen los datos inmediatamente a continuación del código de
operación en la memoria del programa. El microprocesador
busca el código de operación (C6H en este ejemplo) en la
memoria de programa.
7. Las operaciones que utilizan direccionamiento directo en la
MPU del Intel 8085 se especifican utilizando formatos de
instrucción de 3 bytes. Este formato está representado en la
figura: El byte 1 contiene el código de operación para la
instrucción de direccionamiento directo. El byte 2 contiene el
byte de orden inferior de la dirección del operando. El byte 3
de la instrucción contiene el byte de orden superior de la
dirección del operando.
8. La instrucción de 3 bytes se muestra en la parte inferior del
diagrama. El código de operación de la instrucción LDA es
3AH. Los 2 siguientes bytes de la memoria de programa son
ensamblados por el microprocesador en una dirección de 16
bits (0200H en este ejemplo). Esta dirección de la memoria de
datos (0200H) es accedida entonces por la MPU y su
contenido (11111111) es cargado entonces en el Acumulador.
9. Las instrucciones de registro indirecto referencian la
memoria utilizando el contenido de un registro par para
señalar la dirección del operando. Un ejemplo de una
operación de registro indirecto se ilustra en la Figura 8.13. La
instrucción ADD M (sumar memoria), suma el contenido del
acumulador con el contenido de la posición de memoria
indicado por la dirección del registro par HL de la MPU.
10. Algunas instrucciones de la MPU 8085 utilizan una
combinación de modos de direccionamiento.
Una instrucción de CALL (LLAMADA) a subrutina, por
ejemplo, combina el direccionamiento directo e indirecto de
registro. El direccionamiento directo en una instrucción CALL
especifica la dirección de la subrutina deseada. El
direccionamiento indirecto de registro es el del puntero de
pila. La instrucción CALL introduce primero el contenido
actual del contador de programa en la posición de memoria
especificada por el puntero de pila. A continuación, el
procesador carga la dirección directa en el contador de
programa. Finalmente, la MPU salta a la subrutina cuya
dirección se encuentra ahora en el contador de programa.