SPL,L,M,O,T,C 
       NAME MAPST(8) "REV G 770325" 
!      MAP OPTION ROUTINE SEMANTICS.
! 
!      LISTO IS THE LIST OPTIONS FLAG , CODED AS FOLLLOWS:
!      BIT 0 (1)   GLOBALS
!          1 (2)   MODULES
!          2 (4)   FILES
!          3(10)   HEADING HAS BEEN PRINTED.
!          4(20)   LINKS
! 
       LET OFFS BE CONSTANT(100404K)   !"OFF" 
       LET FILS BE CONSTANT(100234K)   !"FILES" 
       LET GLBS BE CONSTANT(100240K)   !"GLOBALS" 
       LET MODS BE CONSTANT(100224K)   !"MODULES" 
       LET LINKS BE CONSTANT(100100K)  !"LINKS" 
       LET ON BE CONSTANT(100220K)     !"ON"
       LET ALL BE CONSTANT(100410K)    !"ALL" 
       LET LSTLU,ERR,ASTAK,LISTO BE INTEGER,EXTERNAL
       LET EXEC BE SUBROUTINE,EXTERNAL
       LET STAK,SVLU BE PSEUDO,EXTERNAL 
       LET MSG1 BE INTEGER(31)         ! TITLE
       LET MSG2 BE INTEGER(19)         !   MESSAGE
       LET MSG3 BE INTEGER(35)         !     BUFFERS
       LET DATE BE INTEGER (5)
       INITIALIZE MSG1 TO\
       "  FILE  PROGRAM GLOBAL  FIRST   LAST      BASE PAGE    REF.BY " 
       INITIALIZE MSG2 TO\
       "  NAME  MODULE  VARS.   ADDRS.  ADDRS." 
       INITIALIZE MSG3 TO "  ",34("--") 
       INITIALIZE DATE TO " SXL REV G"
S:     SUBROUTINE  !POP TWO VALUES FROM ASTAK 
       SV_STAK(ASTAK) 
       T_STAK(ASTAK)?(0)
       RETURN 
       END         !RETURN F-RETURN STATUS IN (E) REG.
! 
MAPST: SUBROUTINE GLOBAL
       LISTO_LISTO AND 10K             !CLEAR MAP OPTIONS FLAG
MP1:   CALL S?[GOTO QUIT]    !GET NEXT TWO ITEMS FROM ASTAK 
       IF SV=ON THEN GOTO QUIT
       IF T=FILS THEN LISTO_LISTO OR 4 !"FILES" 
       IF T=MODS THEN LISTO_LISTO OR 2 !"MODULES" 
       IF T=GLBS THEN LISTO_LISTO OR 1 !"GLOBALS" 
       IF T=LINKS THEN LISTO_LISTO OR 20K 
       IF T= OFFS THEN LISTO_LISTO AND 10K
       IF T = ALL THEN LISTO_LISTO OR 27K 
       GOTO MP1                        !LOOP ON GETTING OPTIONS.
! 
QUIT:  IF T THEN LSTLU_SVLU(T)
       IF LISTO AND 27K THEN[\
       IFNOT(LISTO AND 10K)THEN\       PRINT HEADER 
       [CALL EXEC(3,LSTLU+1100K,-1); CALL EXEC(2,LSTLU,DATE,5);\
         CALL EXEC(2,LSTLU,MSG1,31);\ 
       CALL EXEC(2,LSTLU,MSG2,19);\ 
       CALL EXEC(2,LSTLU,MSG3,35);\ 
        LISTO_LISTO OR 10K]]
       RETURN 
       END
       END
END$
                                                                                                                                                                                                                                  