Tratamiento de los errores con ayuda de los módulos de organización
Interrupciones durante la ejecución de los módulos de organización para el tratamiento
de errores
Después de que el programa del sistema haya llamado al módulo de organización
correspondiente, se elabora el programa de usuario allí contenido.
Si mientras se está ejecutando dicho módulo de organización, se presenta algún otro error, el
programa se interrumpe de la misma forma que en el caso del tratamiento cíclico y se llama al
módulo de organización correspondiente.
Los módulos de organización se tratan por el mismo orden en el que han sido llamados. El
número de módulos de organización que puede ser llamado anidándose a otros depende de los
factores siguientes:
a)
Tipo de error aparecido:
Cuando los módulos de organización llamados no pertenecen al mismo nivel de tratamien-
to de programa.
(Para determinar la asignación de los 06s de errores a los niveles de tratamiento de
programa, ver el capítulo siguiente).
En caso del tratamiento del OB 27 (nivel de tratamiento de programa BCF), se puede
anidar un OB 32 (nivel de tratamiento de programa LZF), pero en ningún caso un OB 29
o un
O6
30 (igualmente BCF).
Cuando se produce una doble llamada a un mismo nivel de tratamiento de programa, el
autómata pasa directamente a STOP.
b)
Número de niveles de tratamiento de programa activos en ese momento.
Para cada nivel de tratamiento activado, el programa de sistema ocupa un espacio
determinado de la memoria del autómata para la generación del USTACK. Si esta zona
de memoria no es suficiente, se producirá un desbordamiento de la pila de interrupciones
(USTACK).
En caso de desbordamiento de la pila de interrupciones (USTACK), el autámata pasa
directamente a estado de STOP.
Cuando se produce un desbordamiento de la pila de módulos (BSTACK), el autómata
pasa directamente a STOP.
c)
Número de módulos llamados en ese momento:
Cuando se produce un desbordamiento de la pila de módulos (BSTACK) el autómata
pasa directamente a STOP.