¿Por qué la dirección de la interrupción 8085 está separada por 8 ubicaciones y no en continuación?

0

Si es para la Rutina de servicio de interrupción (ISR) en la que el microprocesador empuja el contenido del programa Counter (PC) para apilar y luego carga la dirección Vector en la PC y comienza a ejecutar el ISR almacenado en esta dirección del vector, ¿qué sucede si el ISR necesita? Más ubicaciones de direcciones. ¿Sobrescribirá la dirección vectorial de la siguiente interrupción? De hecho, para la cadena RST 4, TRAP (RST 4.5), RST 5, RST 5.5, RST6, RST 6.5, RST 7, RST 7.5, solo hay 4 ubicaciones para ISR.

    
pregunta Sourabh Tapas

1 respuesta

2

Hace que esta pieza de circuitos de traducción de direcciones sea más fácil de implementar si las direcciones vectorizadas son una potencia de dos. Eso fue muy importante en este diseño hambriento de puertas de 1974-impar.

Los 8 bytes son lo suficientemente largos para una instrucción JumP de 3 bytes para un ISR, un RET / RETI para ReSTarts no utilizados o una breve rutina del controlador. Y es lo suficientemente corto como para que solo se comprometan 64 bytes de la valiosa memoria del programa si está utilizando todos los reinicios o ejecutando programas como lo hace un sistema operativo, donde no puede arriesgarse a no tener un controlador para cada RST. Eso es todo lo dicho desde la perspectiva de 1974 de su diseño.

Esto se adoptó en la Z80, que era un superconjunto de la arquitectura y el conjunto de instrucciones de 8080. El ZX Spectrum usó el Z80 y su lista de ROM muestra cómo varias de las rutinas de servicio RST de 8 bytes contenían parte o la totalidad de una rutina, no solo los JP.

    
respondido por el TonyM

Lea otras preguntas en las etiquetas