ASMB,R,L,C HED "LOGOF" PROGRAM LOGOF PROCEDURE 10-76 (DLB) * NAM LOGOF,3,99 09570-16655 REV. A 761013 * NAM LOGOF,2,50 09570-16655 REV. A 761110 NAM LOGOF,1,40 PRE-REL 780515 (DLB) (RTE-IV) 15:40 EXT EXEC,CLAS#,$LIBR,$LIBX EXT IDSGA,GTLU#,.XLA EXT GTSTB,ICLRW A EQU 0 B EQU 1 * SPC 1 *-------------------------------------------------------- * * RELOC. 09570-16655 * SOURCE 09570-18655 * * D. L. BASKINS 13 OCT 76 REV. A * *-------------------------------------------------------- SPC 1 * TEST PROGRAM: *FTN,L * PROGRAM TEST * DIMENSION LOGOF(3) * DATA LOGOF/2HLO,2HGO,2HF / * LU = ITMLU(IBATCH) * WRITE (LU,100) * 100 FORMAT ("THIS PROGRAM IS GOING TO DO A LOGOF") * CALL EXEC (23+100000B,LOGOF) * GO TO 9999 * 9998 STOP 11 * 9999 END * END$ SPC 1 LOGOF NOP ENTRY WITH NO PARAMETERS, NO RETURN JSB EXEC DEF *+3 DEF D22 DEF O2 JSB GTLU# FIND OUT THE LOGICAL UNIT OF TERMINAL STA LU SZA,RSS CHECK IF FOUND? JMP EXIT NO, JUST TERMINATE LDA CLASS GET CLASS NUMBER ADDRESS SZA,RSS CHECK IF ONE? JMP EXIT NO, SKIP RSS NOW MAKE A DIRECT ADDRESS LDA A,I GET NEXT LEVEL RAL,CLE,SLA,ERA JMP *-2 STA CLASS JSB GTSTB GO FIND IF THERE IS A SESSION TABLE DEF *+4 ENTRY? DEF LU DEF PNAME DEF SYSAD ADDRESS OF ENTRY IN SESSION TABLE SSA CHECK IF TERMINAL IS BUSY? JMP EXIT YES, IGNORE REQUEST JSB IDSGA FIND OUT IF PROGENITOR EXISTS DEF *+2 DEF PNAME NAME OF PROGENITOR SZA,RSS JMP EXIT NO, JUST CALL EXEC (6 LDB SYSAD CHECK IF TABLE ENTRY EXISTS CCE,SZB,RSS JMP EXIT NO, SKIP LOGOF JSB $LIBR NOW SET THE DISABLE TERMINAL BIT NOP JSB .XLA DEF B,I RAL,ERA SET BIT 15 JSB .XLA DEF B,I JSB $LIBX DEF *+1 DEF *+1 SPC 1 JSB ICLRW DEF *+7 DEF O0 SEND "LOGOF" TO R$PN$ DEF CLASS DEF LU DEF SYSAD ENTRY INTO THE SESSION TABLE DEF LOGO DEF OM4 FOUR CHARACTERS JSB EXEC SCHEDULE R$PN$ W/O WAIT DEF *+3 DEF D10 DEF R$PN$ SPC 1 EXIT JSB EXEC TERMINATE DEF *+4 DEF O6 & DEF O0 SERIAL RE-USABLE DEF OM1 SPC 1 LU NOP O0 OCT 0 OM1 OCT -1 OM4 OCT -4 O2 OCT 2 O6 DEC 6 D22 DEC 22 D10 DEC 10 R$PN$ ASC 3,R$PN$ LOGO ASC 2,LOGOF CLASS DEF CLAS#+0 SYSAD NOP SYSTEM MAP ADDRESS OF SESSION TABLE ENTRY PNAME BSS 8 ORR END LOGOF