*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
