Parte 3: Interrupciones - AMSTRAD CPC 6128 Manual Del Usario

Ocultar thumbs Ver también para CPC 6128:
Tabla de contenido

Publicidad

Parte 3: Interrupciones

El CPC6128 utiliza ampliamente las interrupciones del Z80 para proporcionar un sistema
operativo que incluye varias características multitarea, de las que son ejemplo las estructuras
AFTER y EVERY descritas en otro lugar de este manual. El orden de prioridad de los
temporizadores es el siguiente:
• Break ([ESC][ESC]) (detención del programa)
• Temporizador 3
• Temporizador 2 (y las tres colas de sonido)
• Temporizador 1
• Temporizador 0
Las interrupciones sólo se deben programar después de considerar las consecuencias de los
posibles estados intermedios de las variables en el momento de la interrupción. La subrutina de
interrupción debe evitar interacciones indeseadas con el estado de las variables del programa
principal.
Las colas de sonidos tienen interrupciones independientes, de igual nivel de prioridad. Una vez
iniciada una interrupción de sonido, ya no puede ser interrumpida por otra de sonido. Este
mecanismo permite que las rutinas de interrupción de sonido puedan compartir variables sin
estar sujetas a los riesgos mencionados.
Cuando se habilita una interrupción de cola de sonido (con ON SQ GOSUB), la interrupción se
realiza inmediatamente si la cola de sonido del canal correspondiente no está llena; si lo está, la
interrupción se producirá cuando termine el sonido actual y quede espacio libre en la cola. La
acción de la interrupción inhibe el suceso, de modo que la subrutina debe ser rehabilitada si se la
va a utilizar más tarde.
Las acciones de enviar un sonido y de examinar el estado de la cola inhiben también la
interrupción de sonido.
Manual de Amstrad CPC 6128 (revisión 2008) - Página 267

Publicidad

Tabla de contenido
loading

Tabla de contenido