ASMB,R,L,C
      HED "ISESN" SUB TO SET THE SESSION NAME IN CORE 9-76 (DLB)
*10-14      NAM ISESN,7 PRE-REL 9-13-76 (DLB) 
*     NAM ISESN,7 PRE-REL 10-15-76 (DLB)
*     NAM ISESN,7 09570-16653 REV. A 761013 
*     NAM ISESN,7 09570-16653 REV. A 761110 
      NAM ISESN,7 PRE-REL 780515 (DLB) RTE-IV 
      ENT ISESN 
      EXT .ENTR,$LIBR,$LIBX 
      EXT KYBRD,.XSA,.XLA,.XLB
      EXT TBLH#,TBLE# 
      SPC 1 
* 
*-------------------------------------------------------- 
* 
*     RELOC.       09570-16653
*     SOURCE       09570-18653
* 
*     D. L. BASKINS      13 OCT 76 REV. A 
* 
*-------------------------------------------------------- 
A     EQU 0 
B     EQU 1 
      SPC 1 
*  PURPOSE: 
*   THIS ROUTINE WILL PUT THE PASSED PARAMETERS INTO THE CORE 
*   RESIDENT TABLE. IE 1) SESSION PROGRAM NAME, 2) LOGICAL UNIT 
*   OF SESSION, 3) 5 PARAMETERS TO BE PASSED TO SESSION MONITOR 
*   WHEN SCHEDULED BY PROMPT. 
*  CALLED:
*     CALL ISESN(NAME,LU,IPRAM,IAUTHR,IERR) 
*  WHERE: 
*   NAME  = PROGRAM NAME OF SESSION MONITOR (I.E. "FMG07")
*   LU    = LOGICAL UNIT OF TERMINAL OF SESSION (I.E. 7)
*   IPRAM = FIVE WORD BUFFER OF SCHEDULING PARAMETERS 
*   IAUTHR= AUTHORIZATION CODE (LEAST TWO BITS I.E. 0 TO 3) 
*           WHERE 0 = "BR" AS ONLY COMMAND THAT CAN EFFECT RUNNING
*           PROGRAM, 1 = COMMA COUNT OF 0, 2= COMMA COUNT OF 1 &
*           3 = NO RESTRICTION OF USE OF MTM COMMANDS.
*   IERR  = RETURNED ERROR PARAMETER (ALSO IN A-REG)
*  ERRORS:
*     IERR = -14 >> NO MORE ROOM IN-CORE TABLE FOR PROGRAM NAME 
*     IERR = -20 >> ILLEGAL LOGICAL UNIT FOR SESSION TERMINAL 
*     IERR = 0   >> GOOD EXIT 
      SPC 1 
NAME  NOP           NAME OF SESSION MONITOR 
LU    NOP           LOGICAL UNIT OF SESSION TERMINAL
PARAM NOP           FIVE WORD SCHEDULING BUFFER 
AUTHR NOP           AUTHORIZATION CODE
IERR  NOP           RETURNED ERROR PARAMETER
ISESN NOP           ENTRY POINT 
      JSB .ENTR 
      DEF NAME
      JSB KYBRD     CHECK IF LEGAL TERMINAL LU? 
      DEF *+2 
      DEF LU,I
      SSA           CHECK IF OK?
      JMP ERR20     RETURN ERROR
      CLA 
      STA TEMP1     ZERO TEMP1
      JSB .XLA      GO GET THE ADDRESS
      DEF TBLE#+0   OF THE END OF THE SESSION TABLE 
      SZA,RSS       CHECK IF IN SYSTEM? 
      JMP ERR14     NO, EXIT WITH NO TABLE ENTRY
      STA TBLEA     AND SAVE LOCALLY
      JSB .XLB      GET THE ADDRESS 
      DEF TBLH#+0   OF THE START SESSION TABLE
      SPC 1 
*  NOW FIND A TABLE ENTRY FOR NEW PROGENITOR
      SPC 1 
      JSB $LIBR     NOW TURN OFF INTERRUPTS 
      NOP 
MORE2 ADB O2        BUMP TO THE LOGICAL UNIT WORD 
      JSB .XLA      GET THE LU WORD 
      DEF B,I 
      AND O77       MASK DOWN TO LU 
      SZA,RSS       SAVE ADDRESS OF LAST BLANK ENTRY
      STB TEMP1     ADDRESS 
      CPA LU,I      EQUAL?
      JMP FOUND     YES 
      ADB O6        NO BUMP TO NEXT TABLE ENTRY 
      CPB TBLEA     CHECK IF END? 
      JMP FNDMT     YES, FIND EMPTY ENTRY 
      JMP MORE2     NO, CONTINUE
      SPC 1 
*  NO MATCH, NOW CHECK A BLANK ENTRY
      SPC 1 
FNDMT LDB TEMP1     CHECK ADDRESS OF TEMP1 ENTRY
      LDA DM14      GET ERROR NUMBER FOR NO MORE ENTRYS 
      SZB,RSS       CHECK IF A BLANK ENTRY
      JMP EXIT      NO, RETURN
FOUND ADB OM2       BACK UP B-REG TO START OF ENTRY 
      LDA NAME,I    GET THE NAME CHARS 1 & 2
      JSB .XSA      AND PUT IN CORE TABLE 
      DEF B,I 
      INB           BUMP TO NEXT WORD IN TABLE
      ISZ NAME      AND CHARS 3 & 4 IN PROGRAM NAME 
      LDA NAME,I    GET CHARS 3 & 4 
      JSB .XSA      AND PUT 
      DEF B,I 
      INB 
      STB TEMP3     SAVE ADDRESS OF 3RD WORD OF NAME
      ISZ NAME
      LDA NAME,I    GET 5TH CHAR
      ALF,ALF       POSITION TO LOW PART OF A 
      LDB AUTHR,I   GET AUTHORIZATION CODE
      RBR,RBR       POSITION LEAST TWO BITS TO 14 & 15
      RRL 2         PUT IN A-REG NEXT TO NAME(5)
      LSL 6         MAKE WAY FOR LU BITS
      IOR LU,I      AND MERGE THEM IN 
      JSB .XSA      AND TUCK IN IN-CORE TABLE 
TEMP3 DEF * 
      LDA OM5       SET UP COUNTER TO MOVE IN PARAMETERS
      STA TEMP2     SAVE AS COUNTER 
MORE3 LDA PARAM,I   GET NEXT WORD 
      ISZ PARAM     BUMP TO NEXT PARAMETER
      ISZ TEMP3     BUMP TO NEXT DESTINATION PARAMETER
      JSB .XSA      AND PUT 
      DEF TEMP3,I 
      ISZ TEMP2     BUMP COUNTER
      JMP MORE3     KEEP ON TRUCKING
      CLA           RETURN DONE!!!
EXIT  JSB $LIBX     TURN ON INTERRUPT SYSTEM
      DEF *+1       RETURN ADDRESS
      DEF EREXT 
      SPC 1 
ERR14 LDA DM14
      RSS           AND EXIT
ERR20 LDA DM20      GET ERROR -20 
EREXT STA IERR,I    RETURN
      JMP ISESN,I   ERROR IN A-REG
TEMP1 NOP 
TEMP2 NOP 
TBLEA DEF *         POINTER TO END OF SESSION TABLE 
O2    OCT 2 
O6    OCT 6 
O77   OCT 77
OM2   OCT -2
OM5   OCT -5
DM14  DEC -14 
DM20  DEC -20 
      END 
                                                                                                                                                  