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