*DECK SSSESP
USETEXT TEXTSS
PROC SSSESP (ACTIVE);
# TITLE SSSESP - EXECUTE STATUS PROGRAM. #
BEGIN # SSSESP #
#
** SSSESP - EXECUTE STATUS PROGRAM.
*
* S. H. FISCHER. 81/08/31.
*
* THIS ROUTINE CHECKS EACH *SWLE* FOR FIRED (NEED TO EXECUTE)
* CONDITION, IF ONE HAS FIRED THEN IT IS EXECUTED. ONLY ONE *SWLE*
* WILL BE EXECUTED FOR EACH CALL.
*
* ENTRY NONE.
*
* EXIT ACTIVE = TRUE IF ONE *SWLE* WAS EXECUTED.
*
*
* METHOD FOR EACH *SWLE* COMPARE CURRENT CONTENTS WITH INITIAL
* CONTENTS FOR THE PAIR OF ADDRESSED ASSOCIATED WITH
* EACH ENTRY. IF THEY DIFFER THE ROUTINE ADDRESS
* IN THE ENTRY MUST BE CALLED. UPON RETURN NEW
* VALUES HAVE BEEN INSERTED INTO THE ENTRY BY THE
* CALLED ROUTINE.
*
*
#
#
**** PROC SSSESP XREF LIST.
#
XREF
BEGIN
PROC SSSCRR; # CALL REQUESTED ROUTINE #
END
#
****
#
ITEM ACTIVE B;
ITEM I ;
BASED ARRAY TESTW[00:00] S(1);
ITEM TESTW$WORD U(00,00,60);
ACTIVE = FALSE;
FOR I = 0 STEP 1
UNTIL SWTA - 1
DO
BEGIN
P<TESTW> = SWT$ADDR1[I];
IF TESTW$WORD[0] NQ SWT$INIT1[I]
THEN
BEGIN
ACTIVE = TRUE;
SSSCRR (SWT[I]);
RETURN;
END
IF SWT$ADDR2[I] NQ 0
THEN
BEGIN
P<TESTW> = SWT$ADDR2[I];
IF TESTW$WORD[0] NQ SWT$INIT2[I]
THEN
BEGIN
ACTIVE = TRUE;
SSSCRR (SWT[I]);
RETURN;
END
END
END
END # SSSESP #
TERM