Interrupciones, puntero de instrucción y cola de instrucciones en 8086

Suponga que se realiza una solicitud de interrupción externa al 8086. El procesador manejará la interrupción después de completar la instrucción actual que se está ejecutando (si corresponde). Antes de manejar la interrupción, el estado del programa también se guardará (indicador PSW, registros, etc.) al insertar datos en el segmento de la pila.

Ahora, la mayoría de los tutoriales / documentos describen que el puntero de instrucción también se inserta en el segmento de pila, lo cual está bien porque apuntaba al siguiente byte de instrucción en el segmento de código (justo antes de que se realizara la solicitud de interrupción).

Pero, ¿qué pasa con la cola de instrucciones? ¿También se empuja al segmento de pila cuando se maneja una solicitud de interrupción? ¿O es que su contenido se borra a cero? En este caso, ¿no debería disminuirse el puntero de instrucciones para que pueda volver a apuntar a las instrucciones anteriores en el segmento de código (después de haber servido la interrupción)?

Aquí,Después de la solicitud de interrupción en realidad significaDespués de que la solicitud de interrupción haya sido atendida. Lo que muestra este diagrama es que antes de que llegara la solicitud de interrupción, las instrucciones se almacenaban en caché,con IP apuntando a la dirección del siguiente byte de instrucción en el segmento de memoria CS. Para atender la solicitud de interrupción, el contenido de los registros (incl. IP y banderas) se empujan al segmento de la pila. Después de que se atiende la solicitud, los contenidos anteriores se vuelven a cargar:con IP todavía apuntando a la ubicación del séptimo byte (de instrucción), con la cola (caché) vacía. Esta es mi duda.¿Se ha reducido la IP para que vuelva a i1?? En segundo lugar, ¿necesitamos manejar manualmente la IP (como, empujarla a la pila después de la interrupción) o la rutina de servicio de interrupción maneja esto por nosotros? Por favor, cualquier ayuda es apreciada, gracias!

Nota:Cola de instrucciones - La arquitectura 8086 tiene una canalización de instrucciones de captación previa de seis bytes. A medida que la Unidad de ejecución está ejecutando la instrucción actual, la unidad de interfaz de bus lee hasta seis bytes de códigos de operación desde la memoria.

Respuestas a la pregunta(2)

Su respuesta a la pregunta