*DECK     NMI=ENV 
          IDENT  SIERRA 
*CALL     NMI=VER 
          TITLE  SIERRA - SYSTEM / NAMI "VERSN" ENVIRONMENT 
          COMMENT SIERRA - ENVIRONMENT DETERMINATION
          ENTRY  SIERRA,SENDMSG,CFOWAIT 
          ENTRY  CFOBSET,CFOBCLR
          ENTRY  SETNUN 
          ENTRY  ABTRUN 
          ENTRY  CHEKORG
          SPACE  4,8
          USE    /SIERRAC/
P.CM      BSS    1            CENTRAL MEMORY IN USE 
P.DATE    BSS    1            TODAYS DATE (BMM.DD.YY.)
P.JDATE   BSS    1            TODAYS JULIAN DATE (00000YYDDD) 
P.CLOCK   BSS    1            CURRENT TIME
P.SECS    BSS    1            CPU SECS
P.USER    BSS    1            JOB USER NAME (UUUUUUU000)
P.MID     BSS    1            MACHINE ID (00000000MM) 
          USE 
  
          USE    /MSGCOM/ 
MSGBUFR   BSS    9
          USE 
  
RA        EQU    0
CFOBIT    EQU    14           CFO BIT IN RA+0 
  
MEMREQ    VFD    30/0,30/0
          EJECT 
**        SIERRA
*         GENERAL PURPOSE COMPASS ROUTINES USED TO
*         RETURN DATE, TIME AND CM ENVIRONMENT INFORMATION
*         TO THE USER.
* 
  
SIERRA    EQ     *+1S17       ENTRY/EXIT
          DATE   P.DATE 
          JDATE  P.JDATE
          CLOCK  P.CLOCK
          TIME   P.SECS 
          USERNUM P.USER
          MACHID  P.MID 
          SA1    MEMREQ 
          BX6    X1 
          SA6    P.CM 
          MEMORY CM,P.CM,R
          MX0    54 
          SA1    P.DATE 
          BX3    X0*X1        REPLACE TRAILING . WITH BLANK 
          SX2    1R 
          BX6    X3+X2
          SA6    A1 
          SA4    P.CLOCK
          BX5    X0*X4        DITTO 
          BX7    X5+X2
          SA7    A4 
          EQ     SIERRA 
          SPACE  4,8
**        SENDMSG 
*         SEND A MESSAGE TO THE DAYFILE 
* 
  
SENDMSG   EQ     *+1S17 
          SX7    0
          SA7    MSGBUFR+8
          MESSAGE MSGBUFR,0,R 
          EQ     SENDMSG
          SPACE  4,8
**        ABTRUN
*         ABORT THE NAMI PROGRAM (ABNORMAL TERMINATION) 
* 
  
ABTRUN    EQ     *+1S17       ENTRY - NO EXIT 
          ABORT 
          EQ     ABTRUN 
          SPACE  4,10 
**        CHEKORG 
*         CHECK ORIGIN OF CALLER
* 
 CHEKORG  EQ     *+1S17      ENTRY/EXIT 
          GETSPS             ABORT IF NOT SYOT OR CSOJ IN DEBUG 
          EQ     CHEKORG
          SPACE  4,10 
**        CFOWAIT 
*         WAIT FOR OPERATOR TO ENTER A CFO COMMAND
* 
  
CFOWAIT   EQ     *+1S17       ENTRY/EXIT
  
          SX6    20000
          SA6    CFOLCNT
CFO1      RECALL               WAIT A MOMENT
          SA1    RA+0         WAIT UNTIL CLEARED
          MX0    59 
          LX1    60-CFOBIT
          BX3    -X0*X1 
          ZR     X3,CFOWAIT 
          SA3    CFOLCNT
          SX4    1
          IX6    X3-X4
          SA6    CFOLCNT
          NZ     X6,CFO1
          ZR     X6,CFO1            (REMOVE IF WAIT LIMIT DESIRED)
          RJ     CFOBCLR
          EQ     CFOWAIT
  
  
CFOBSET   EQ     *+1S17       ENTRY/EXIT
          MESSAGE ENTCFO,3,RECALL 
          SA1    RA+0         GET CFO FLAG WORD 
          MX0    59 
          LX1    60-CFOBIT
          BX6    X0*X1
          BX6    -X0+X6 
          LX6    CFOBIT 
          SA6    A1           RESTORE NEW VALUE 
          EQ     CFOBSET
  
ENTCFO    DIS    ,*ENTER CFO COMMAND* 
  
  
CFOBCLR   EQ     *+1S17       ENTRY/EXIT
          SA1    RA+0         GET CFO FLAG WORD 
          MX0    59 
          LX1    60-CFOBIT
          BX6    X0*X1        CLEAR BIT 
          LX6    CFOBIT 
          SA6    A1 
          EQ     CFOBCLR
  
  
CFOLCNT   BSS    1
          SPACE  4,10 
**        SETNUN
*         SET NAMI USER NUMBER
* 
 JOBORG   BSS    1
  
 SETNUN   EQ     *+1S17      ENTRY/EXIT 
          GETJO  JOBORG 
          SA1    JOBORG 
          MX2    54 
          BX1    -X2*X1 
          ZR     X1,SETIT 
          EQ     SETNUN 
  
 SETIT    SETPFP SETNUND     SET UI / UN TO SYSTEMX 
          EQ     SETNUN 
  
  
 SETNUND  VFD    42/0,14/0,4/3
          VFD    42/0,18/0
          VFD    42/0LSYSTEMX,18/377777B
          SPACE  4,8
          END 
