ASMB,R,L,C HED "ITMLU" ROUTINE TO GET THE TERMINAL LOGICAL UNIT # 6-76 (DLB) *9-28 NAM ITMLU,7 PRE-REL 7-21-76 (DLB) * NAM ITMLU,7 PRE-REL 9-30-76 (DLB) * NAM ITMLU,7 09570-16507 REV. A 761013 * NAM ITMLU,7 09570-16507 REV. B 761129 NAM ITMLU,7 PRE-REL REV D. 780402 (DLB) (RTE-IV) * *-------------------------------------------------------- * * RELOC. 09570-16507 * SOURCE 09570-18507 * * D. BASKINS 13 OCT 76 REV. A * *--------------------------------------------------------- * ENT ITMLU *9-28 BCHF#,LGLU# EXT BCHF#,LGLU# *9-28 EXT EXEC,GTLU# EXT PAU.E,FMT.E,ER0.E,IND.E EXT .XLA,.XLB SPC 1 A EQU 0 B EQU 1 * PURPOSE: * THIS SUBROUTINE IS THE 1ST EXECUTED CODE BY A PROGRAM IN THE * DTS70 SERIES. IT WILL DETERMINE THE TERMINAL LOGICAL UNIT AS * PASSED BY THE ENVIORMNENT. (RTE II/III) * * THE FOLLOWING ALGORITHM IS USED TO FIND THE TERMINAL LU. * * A. GET LU FROM RMPAR(1) PARAMETER. * CHECK IF < 2000B & AND O77 = DVR00 OR DVR05 * B. CALL GTLU# TO GET THE LU FROM SESSION MONITOR? * CHECK IF < 2000B & AND O77 = DVR00 OR DVR05 * C. DEFAULT LU = 1 AS THE LAST RESORT. SPC 1 * CALLED: * * FTN,L * PROGRAM GTPRM * LU = ITMLU(IBATCH) * IF (IBATCH.NE.0) GO TO 200 * WRITE (LU,101) * 101 FORMAT ("RUN PARAMETERS SHOULD BE ASKED FOR FROM OPERATOR") * STOP 2 * 200 WRITE (LU,201) * 201 FORMAT("RUN PARAMETERS CAN BE OPTAINED FROM A CALL EXEC 14") * STOP 1 * END * * NOTES: * CAUTION!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * "LU = ITMLU(IBATCH)" MUST BE THE 1ST EXECUTED CODE * (B-REG IS SET UP BY SYSTEM FOR ITMLU) * THE TERMINAL LU IS ALSO LEFT IN THE ENTRY POINT "LGLU#" * THE 2ND PARAMETER RMPAR PARAMETER IS LEFT IN "BCHF3" SPC 1 *9-28LGLU# NOP FIRST RMPAR PARAMETER *9-28BCHF# NOP SECOND RMPAR PARAMETER SPC 1 ITMK1 OCT 3777 ITMK2 OCT 77 ITMK3 NOP TEMP ITMK4 NOP TEMP ITMK5 OCT 5 ITMK6 OCT 100015 DEC 13+100000B ITMK7 ABS -2 ITMK8 NOP TEMP SPC 1 ITMLU NOP ENTRY FROM SYSTEM ITMK9 JSB .XLA GET 1ST PARAMETER PASSED THRU RMPAR DEF B,I INB JSB .XLB DEF B,I STB BCHF# SET BATCH FLAG 0 OR #0 RSS GO TEST THE PARAMETER NXTRY JSB GTLU# GET FROM SESSION MONITOR STA LGLU# SAVE POTENTION LU AND ITMK1 CHECK IF > 3777B ? CPA LGLU# SAME? SZA,RSS YES, CHECK NOT = 0 JMP NXTR1 FOURCE ILLEGAL LU AND ITMK2 MASK FOR DRIVER CHECK DVR00 OR DVR05 STA ITMK4 JSB EXEC DO STATUS CHECK DEF *+6 *9-30 DEF ITMK6 NO ABORT OF CALL EXEC(13 DEF ITMK4 DEF ITMK9 DEF ITMK8 *9-30DUMMY FILLER DEF ITMK3 JMP NXTR1 ILLEGAL LU > TRY NEXT WAY LDA ITMK8 GET THE S.C. OF DRIVER AND ITMK2 MASK DOWN TO THE SLOT SZA,RSS JMP NXTR1 ZERO!! ,NOT FOUND YET. LDA ITMK9 GET THE DRIVER TYPE CODE ALF,ALF AND ITMK2 CPA ITMK5 LDA ITMK3 GET THE SUBCHANNEL BITS IF DVR05 SZA,RSS CHECK IF INTERACTIVE DEVICE? JMP FOUND YES NXTR1 ISZ ITMK7 DEFAULT?? JMP NXTRY NO, CLA,INA,RSS DEFAULT = 1 FOUND LDA LGLU# STA LGLU# SAVE THE LOG LU STA PAU.E SET THE "STOP & PAUSE ROUTINE LU STA FMT.E SET THE FORMATTER LU STA ER0.E SET THE ERR0 LU STA IND.E FOR ALGOL LDB ITMLU,I GET RETURN ADDRESS ISZ ITMLU BUMP TO P+2 LDA ITMLU,I GET ADDRESS OF 1ST PARAMETER CPB ITMLU CHECK IF PARAMETER PASSED? CLA NO, DUMMY UP PARAMETER ADDRESS STB ITMLU SAVE RETURN ADDRESS LDB BCHF# GET BATCH FLAG (2P) STB A,I AND PASS BACK TO CALLER LDA LGLU# JMP ITMLU,I RETURN A-REG = TO TERMINAL LOGICAL UNIT NUMBER END