*COMDECK LDRCOM 
*         +++++++++++ 
*         + LDRCOM. + 
*         +++++++++++ 
* 
* 
*              *LDRCOM* IS AN UPDATE-COMMON DECK WHICH CONTAINS 
*         MISCELLANEOUS DEFINITIONS FOR LOADER-RELATED OPTIONS AND
*         ASSEMBLY CONSTANTS. 
  
          BASE   OCTAL
  
*         INSERT MODIFICATIONS TO OPTIONS HERE. 
  
*         VERSION AND PSR LEVEL INDICATORS. 
  
 VER      MICRO  1,,$1.5$              CYBER LOADER VERSION NUMBER
 LEVEL    MICRO  1,3,$871$
          IFC    NE,#"MODLEVEL"#"JDATE"#,1
 LEVEL    MICRO  1,,#"MODLEVEL"#
  
*         DEFAULT USER OPTIONS. 
  
 IP.MAP   CEQU   3           DEFAULT LOAD MAP OPTIONS 
                                     0 = MAP(OFF) 
                                     3 = MAP(PART)  B S 
                                   13B = MAP(ON)    X B S 
                                   17B = MAP(FULL)  X E B S 
 IP.PSET  CEQU   11B         CORE PRESETTING OPTION 
                                    0 - NO PRESETTING 
                                    1 - 00000000000000000000B 
                                    2 - 77777777777777777777B 
                                    3 - 17770000000000000000B 
                                    4 - 37770000000000000000B 
                                    5 - 60000000000000000000B 
                                    6 - 40000000000000000000B + * 
                                    7 - 25252525252525252525B 
                                   10 - 52525252525252525252B 
                                   11 - 60000000000400400000B 
 IP.REW   CEQU   1           LOAD FILE REWIND OPTION
                                   0 - NO REWIND
                                   1 - REWIND 
 IP.LDER  CEQU   1           TYPE OF ERROR PROCESSING 
                                    0 - ABORT ON ALL ERRORS (ERR=ALL) 
                                    1 - ABORT ON FATAL ERRORS(ERR=FATAL)
                                    2 - NO ABORT IF POSSIBLE (ERR=NONE) 
  
*         LOADER ASSEMBLY OPTIONS.
  
 IP.FLMSG CEQU   0           NZ TO GIVE FL MESSAGE WHEN NO MAP
 IP.LDBG  CEQU   0           NZ IF TO ASSEMBLE DEBUG CODE 
 DATA2OUT CEQU   10D         NO. OF WORDS OF BAD LOADER INPUT TO LIST 
 IP.DBUF  CEQU   1001B       SIZE OF FID BUFFER 
 IP.LBUF  CEQU   2001        SIZE OF LOAD INPUT BUFFER
 IP.MBUF  CEQU   1001        SIZE OF MAP BUFFER 
 IP.FLINC CEQU   4000        AMOUNT BY WHICH FL IS INCREASED
 IP.UCBLK CEQU   15000B      BLOCK SIZE FOR *LOADU* 
 IP.TRAP  CEQU   1           NZ IF DEBUG AIDS ARE IN SYSTEM 
 TRAPNAME MICRO  1,,*TRPSETR*      ENTRY POINT FOR DEBUG AIDS ROUTINE 
 DGBNAME  MICRO  1,,*DBUG=*  INTERACTIVE DEBUG ENTRY POINT NAME 
 LS       MICRO  1,,*S$A$V$E*      SAVED LOCAL VARIABLES BLOCK NAME 
 UI       MICRO  1,,*:A*     UNIQUE IDENTIFIER FOR LOCAL SAVE BLOCKS
 SFN      MICRO  1,,*ZZZZZ32*      SPOOLING FILE NAME 
 TABOO    CEQU   10          NUMBER OF WORDS TO BE LEFT UNUSED
                                    BETWEEN END OF MANAGE TABLES AND
                                     END OF LOADABLE AREA 
 IP.LRT   CEQU   0           0 = ISSUE NO PERFORMANCE MESSAGE TO DAYFILE
                             1NNN = DO, W/ NNN IN BITS 26-17 OF MSG CALL
 IP.RDLS  CEQU   177B        MAXIMUM LIST SIZE FOR *READLS* 
  
*         DEFINITION OF COMMUNICATION AREA WORDS. 
  
 RA       EQU    0
 COMARGS  EQU    2           FWA OF EXECUTION PARAMETERS
 COMBOOT  EQU    54          FWA OF 1AJ BOOTSTRAP ROUTINE AREA
 COMREST  EQU    64          WORD CONTAINING INTERNAL RESTART FLAG
 COMNAME  EQU    64          WORD CONTAINING PROGRAM CALL NAME
 COMARGCT EQU    64          WORD CONTAINING EXECUTION PARAM COUNT
 COMCMU   EQU    65B         WORD CONTAINING CMU BIT
 COMLBIT  EQU    65          WORD CONTAINING FILE/LIBRARY BIT 
 COMLDLWA EQU    65          WORD CONTAINING LWA+1 OF LOAD
 COMXJ    EQU    66B         WORD CONTAINING EXCHANGE JUMP FLAG 
 COMRSS   EQU    66B         WORD CONTAINING RSS FLAG 
 COMLDFWA EQU    66          WORD CONTAINING FWA OF LOAD
 COMLDRR  EQU    67B         WORD CONTAINING LDV/LDR COMPLETE BIT 
 COMLDCC  EQU    70          WORD CONTAINING FWA OF CARD IMAGE
 COMLTH   EQU    110         LWA+1 OF COMMUNICATIONS AREA 
  
*         DEFINITION OF THE LOADER REQUESTS.
  
 CLOAD    EQU    0
 CLIBLOAD EQU    1
 CSLOAD   EQU    2
 CCMLOAD  EQU    3
 CECLOAD  EQU    4
 CEXECUTE EQU    5
 CNOGO    EQU    6
 CSATISFY EQU    7
 CLIB     EQU    10 
 CMAP     EQU    11 
 CPRESET  EQU    12 
 CERR     EQU    13 
 CREWIND  EQU    14 
 CUSEP    EQU    15 
 CUSE     EQU    16 
 CSUBST   EQU    17 
 COMIT    EQU    20 
 CENTRY   EQU    21 
 CDMP     EQU    22 
 CFILES   EQU    23 
 CPASSLOC EQU    24 
 CCGENT   EQU    25          *EPT*
 CCGNENT  EQU    26          *NOEPT*
 CSTAT    EQU    27 
 CCOMMON  EQU    32 
 CPD      EQU    33B
 CPS      EQU    34B
 CLAST    EQU    CPS         HIGHEST LEGAL CODE 
  
          BASE   *
          SPACE  4
*         *IFMACS* MACRO - GENERATE *IF* MACROS.
* 
*         WHEN THE *IFMACS* MACRO IS CALLED IT GENERATES THE
*         FOLLOWING MACROS (ACTUALLY OPSYNS):                                  .
* 
*              IFSCOPE       ASSEMBLE IF SCOPE OPERATING SYSTEM 
*              IFNOS         ASSEMBLE IF NOT SCOPE
* 
*         *IFSCOPE* AND *IFNOS* HAVE THE SAME SYNTAX AS *IFCP* AND
*         *IFPP*; SEE THE *COMPASS* REFERENCE MANUAL FOR DETAILS. 
*         SIMILARLY, ONE IS ALWAYS TRUE AND ONE IS ALWAYS FALSE.
*         *IFSCOPE* AND *IFNOS* ARE USED TO CONDITIONALLY ASSEMBLE
*         CODE WHICH IS NOT APPLICABLE TO ALL OF THE TARGET OPERATING 
*         SYSTEMS.
* 
*         THE BASIC LOADER ALSO USES TWO MORE SIMILAR CONDITIONALS
*         *IFCARD* AND *IFUSER* TO DIFFERENTIATE BETWEEN THE CARD-CALL
*         AND USER-CALL LOADERS.
* 
*         *IFMACS* IS CALLED LIKE THIS:                                        .
* 
*              IFMACS        DEFINE ONLY *IFSCOPE* AND *IFNOS*
*              IFMACS CARD   (CARD-CALL LOADER) 
*              IFMACS USER   (USER-CALL LOADER) 
  
  
 IFMACS   MACRO  A
          IFCP   2
 TRUE     MICRO  1,,*IFCP*
          SKIP   1
 TRUE     MICRO  1,,*IFPP*
          IFC    EQ,*SCOPE *"OS.NAME"*,3
 IFSCOPE  OPSYN  "TRUE" 
 IFNOS    OPSYN  SKIP 
          SKIP   2
 IFSCOPE  OPSYN  SKIP 
 IFNOS    OPSYN  "TRUE" 
          IFC    EQ,*A*CARD*,2
 IFCARD   OPSYN  "TRUE" 
 IFUSER   OPSYN  SKIP 
          IFC    EQ,*A*USER*,2
 IFCARD   OPSYN  SKIP 
 IFUSER   OPSYN  "TRUE" 
 IFMACS   ENDM
          SPACE  4,8
*         *IFGLSMAC* MACRO - GENERATE *IF* MACROS.
* 
*         WHEN THE *IFGLSMAC* MACRO IS CALLED IT GENERATES THE
*         FOLLOWING MACROS (ACTUALLY OPSYNS): 
* 
*         IFGLS              ASSEMBLE FOLLOWING CODE IF BUILDING
*                            ON A GLOBAL LIBRARY SET SYSTEM (NOS ONLY)
*         IFNOTGLS           ASSEMBLE FOLLOWING CODE IF BUILDING
*                            ON A NOS SYSTEM PRIOR TO GLS SUPPORT (OR 
*                            IF ON NOS/BE)
* 
* 
*         *IFGLSMAC* IS SIMILAR IN FORM TO *IFMACS* IN THAT 
*         THE UNCONDITIONAL OPSYNS *TRUE* (GENERATED BY THE CALLING 
*         OF *IFMACS*) OR *SKIP* ARE GENERATED AS THE DEFINITIONS 
*         OF THE RESULTING MACROS.  NOTE THAT *IFMACS* MUST 
*         BE CALLED PRIOR TO *IFGLSMAC* IN ORDER THAT THE 
*         DEFINITION OF *TRUE* BE ESTABLISHED.
  
  
 IFGLSMAC MACRO 
          LOCAL  A,B,GLSRLS,LTH 
 IS       IFC    EQ,$SCOPE $"OS.NAME"$
 IFGLS    OPSYN  SKIP 
 IFNOTGLS OPSYN  "TRUE" 
 IS       ELSE
 IN       IF     -MIC,NOSVER
 IFGLS    OPSYN  SKIP 
 IFNOTGLS OPSYN  "TRUE" 
 IN       ELSE
 GLSRLS   SET    2
 A        SET    0
 LTH      MICCNT NOSVER 
 CHARSC1  DUP    LTH
 A        SET    A+1
 NOSNBR   MICRO  A,1,$"NOSVER"$ 
          IFC    GE,$"NOSNBR"$0$,2
          IFC    LE,$"NOSNBR"$9$,1
          STOPDUP 
 CHARSC1  ENDD
 LTH      SET    LTH-A
 B        SET    1
 NOMORE   IFNE   LTH,0
 B        SET    A
 CHARSC2  DUP    LTH+1
 B        SET    B+1
 NOSNBR   MICRO  B,1,$"NOSVER"$ 
          IFC    GE,$"NOSNBR"$0$,2
          IFC    LE,$"NOSNBR"$9$,1
          SKIP   1
          STOPDUP 
 CHARSC2  ENDD
 B        SET    B-A
 NOMORE   ENDIF 
 NOSNBR   MICRO  A,B,$"NOSVER"$ 
          IFGE   "NOSNBR",GLSRLS,3
 IFGLS    OPSYN  "TRUE" 
 IFNOTGLS OPSYN  SKIP 
          SKIP   2
 IFGLS    OPSYN  SKIP 
 IFNOTGLS OPSYN  "TRUE" 
 IN       ENDIF 
 IS       ENDIF 
 IFGLSMAC ENDM
  
  
*         END OF *LDRCOM*.
