interrupciones pendientes en 8085

0

Me he confundido un poco con la definición de la interrupción pendiente. Es decir, cuando este bit se establecerá en 1 y se leerá utilizando la instrucción RIM.

Mi confusión es que:

Cuando ocurre una interrupción (digamos RST 7.5): 1. Saltamos a la dirección vectorial para RST 7.5. 2. Las interrupciones ahora están deshabilitadas. 3. Ahora, mientras se realiza esta rutina, digamos que RST 5.5 / 6.5 se mantiene alto:

  1. ¿Esto establecería el bit pendiente respectivo en 1? Para esto, ¿se debería mantener el pasador alto hasta que se ejecute la rutina de servicio y regresemos al programa principal?

    O

  2. ¿Esto establecería el bit pendiente y luego el usuario puede decidir qué hacer?

Segundo escenario: Supongamos que se produce una interrupción RST 6.5. 1. Saltamos a ISR para RST 6.5. 2. Las interrupciones están deshabilitadas.

Escenario 1:     RST 7.5 se produce. ¿Saltaría el procesador a la rutina de servicio a mitad de camino de la ejecución de RST 6.5 o continuaría su ejecución ya que las interrupciones están deshabilitadas, pero hacer el registro para el almacén 1 de RST 7.5 y luego RST 7.5 se clasificaría como una interrupción pendiente? a 1 para instrucción RIM). Del mismo modo, si RST 5.5 sube, ¿sería una interrupción pendiente?

Escenario 2: En el ISR para RST 6.5, uso la instrucción EI explícitamente para permitir interrupciones, ahora si ocurre RST 7.5, ¿se derivaría a la ubicación del servicio? y RST 5.5 se contaría como una interrupción pendiente?

Estos escenarios anteriores me han confundido enormemente y los libros los han expresado de manera muy ambigua y cualquier ayuda sería excelente.

Gracias

    
pregunta Ramit Sawhney

0 respuestas

Lea otras preguntas en las etiquetas