8085 Modos de direccionamiento e interrupciones

Ahora analicemos los modos de direccionamiento en el microprocesador 8085.

Modos de direccionamiento en 8085

Estas son las instrucciones que se utilizan para transferir los datos de un registro a otro registro, de la memoria al registro y del registro a la memoria sin ninguna alteración en el contenido. Los modos de direccionamiento en 8085 se clasifican en 5 grupos:

Modo de direccionamiento inmediato

En este modo, los datos de 8/16 bits se especifican en la propia instrucción como uno de sus operandos. For example: MVI K, 20F: significa que 20F se copia en el registro K.

Registrar modo de direccionamiento

En este modo, los datos se copian de un registro a otro. For example: MOV K, B: significa que los datos del registro B se copian al registro K.

Modo de direccionamiento directo

En este modo, los datos se copian directamente desde la dirección dada al registro. For example: LDB 5000K: significa que los datos de la dirección 5000K se copian en el registro B.

Modo de direccionamiento indirecto

En este modo, los datos se transfieren de un registro a otro utilizando la dirección indicada por el registro. For example: MOV K, B: significa que los datos se transfieren desde la dirección de memoria señalada por el registro al registro K.

Modo de direccionamiento implícito

Este modo no requiere ningún operando; los datos son especificados por el mismo código de operación.For example: CMP.

Interrupciones en 8085

Las interrupciones son las señales generadas por los dispositivos externos para solicitar al microprocesador que realice una tarea. Hay 5 señales de interrupción, es decir, TRAP, RST 7.5, RST 6.5, RST 5.5 e INTR.

Las interrupciones se clasifican en los siguientes grupos según su parámetro:

  • Vector interrupt - En este tipo de interrupción, el procesador conoce la dirección de interrupción. For example: RST7.5, RST6.5, RST5.5, TRAMPA.

  • Non-Vector interrupt - En este tipo de interrupción, el procesador no conoce la dirección de interrupción, por lo que la dirección de interrupción debe ser enviada externamente por el dispositivo para realizar interrupciones. For example: INTR.

  • Maskable interrupt - En este tipo de interrupción, podemos deshabilitar la interrupción escribiendo algunas instrucciones en el programa. For example: RST7.5, RST6.5, RST5.5.

  • Non-Maskable interrupt - En este tipo de interrupción, no podemos deshabilitar la interrupción escribiendo algunas instrucciones en el programa. For example: TRAMPA.

  • Software interrupt- En este tipo de interrupción, el programador tiene que agregar las instrucciones al programa para ejecutar la interrupción. Hay 8 interrupciones de software en 8085, es decir, RST0, RST1, RST2, RST3, RST4, RST5, RST6 y RST7.

  • Hardware interrupt - Hay 5 pines de interrupción en 8085 que se utilizan como interrupciones de hardware, es decir, TRAP, RST7.5, RST6.5, RST5.5, INTA.

Note- NTA no es una interrupción, es utilizado por el microprocesador para enviar acuse de recibo. TRAP tiene la prioridad más alta, luego RST7.5 y así sucesivamente.

Rutina de servicio de interrupción (ISR)

Un pequeño programa o una rutina que cuando se ejecuta, da servicio a la fuente de interrupción correspondiente, se llama ISR.

TRAMPA

Es una interrupción no enmascarable, que tiene la prioridad más alta entre todas las interrupciones. De forma predeterminada, está habilitado hasta que se reconoce. En caso de falla, se ejecuta como ISR y envía los datos a la memoria de respaldo. Esta interrupción transfiere el control a la ubicación 0024H.

RST7.5

Es una interrupción enmascarable, que tiene la segunda prioridad más alta entre todas las interrupciones. Cuando se ejecuta esta interrupción, el procesador guarda el contenido del registro de la PC en la pila y se bifurca a la dirección 003CH.

RST 6.5

Es una interrupción enmascarable, que tiene la tercera prioridad más alta entre todas las interrupciones. Cuando se ejecuta esta interrupción, el procesador guarda el contenido del registro de la PC en la pila y se bifurca a la dirección 0034H.

RST 5.5

Es una interrupción enmascarable. Cuando se ejecuta esta interrupción, el procesador guarda el contenido del registro de la PC en la pila y se bifurca a la dirección 002CH.

INTR

Es una interrupción enmascarable, que tiene la prioridad más baja entre todas las interrupciones. Puede desactivarse reiniciando el microprocesador.

Cuando INTR signal goes high, pueden ocurrir los siguientes eventos:

  • El microprocesador comprueba el estado de la señal INTR durante la ejecución de cada instrucción.

  • Cuando la señal INTR es alta, el microprocesador completa su instrucción actual y envía una señal de reconocimiento de interrupción baja activa.

  • Cuando se reciben instrucciones, el microprocesador guarda la dirección de la siguiente instrucción en la pila y ejecuta la instrucción recibida.