ASMB,R,L,C,Q HED LUTRU-FETCH "TRUE" SYSTEM LU * NAME: LUTRU * SOURCE: 92067-18308 * RELOC: PART OF 92067-16268 * PGMR: G.L.M. * * *************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT* * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * *************************************************************** * NAM LUTRU,6 92067-1X308 REV.2013 790223 EXT $LUSW,.ENTP,.ZPRV * ENT LUTRU * * PURPOSE: TO TRANSLATE A SESSION OR BATCH LU INTO A TRUE * SYSTEM LOGICAL UNIT. * * CALLING SEQUENCE: CALL LUTRU(LUTST,ISYS,ISCB) OR I=LUTRU(LUTST) * ---- * * WHERE: LUTST= THE LOGICAL UNIT TO BE TESTED * ISYS = LOCATION FOR RETURN OF RESULT * ISCB = IF SUPPLIED, TEST SPECIFIED LOGICAL * UNIT AGAINST THIS SESSION CONTROL BLOCK. * * RETURNS: ISYS AND/OR (A)=TRUE SYSTEM LU * OR =-1 IF LUTST NOT DEFINED FOR * THIS SESSION. * * (B)=0 * SKP * ILOG NOP ISYS NOP ISCB NOP * LUTRU NOP JSB .ZPRV DEF LIBX JSB .ENTP DEF ILOG FETCH PARMS * * CHECK FOR LU SWITCH REQUIRMENT * -BATCH FLAG=BIT 15 ID WORD 21 * -SESSION WORD=ID WORD 33 * LDA ILOG,I FETCH LOGICAL LU ADA N1 ADJUST FOR TABLE DATA STRUCTURE (LU-1) AND B377 ISOLATE LU STA TEMP1 SAVE FOR CAPCK CPA B377 IF TEST LU IS ZERO JMP NOPE THEN NO FUTHER CHECKS REQUIRED * * CLA PRESET (A) IN CASE SCB ADDR NOT PROVIDED LDB ISCB,I FETCH POSSIBLE OVERRIDE SCB SZB IF DEFINED JMP SPCL USE IT * LDB XSUSP FETCH POINTER INTO ID SEG ADB .12 ADVANCE TO BATCH FLAG XLA B,I FETCH IT ADB .12 ADVANCE TO SESSION WORD XLB B,I FETCH IT * SZB IF SESSION WORD =0 SSB OR IS < 0 THEN JMP NSESS PROG IS NOT IN SESSION * * THE PROGRAM IS A SESSION PROGRAM. * MUST MAP TABLE PTN IN AT THIS POINT * -THE REQUESTED LOGICAL UNIT MUST BE DEFINED FOR * THIS SESSION'S USE (MUST BE IN IT'S SST) OR ISYS IS SET =-1 * *SPCL JSB MPTAB GO MAP IN TABLE PTN( IF DEFINED). RETURNS LOGICAL * ADDR IN (B). SPCL XLA B,I FETCH LENGTH OF SWITCH TABLE JSB SWTCK GO SEE IF THIS LU IS SWITCHED CCA P+1 LU NOT DEFINED FOR SESSION USE JMP NOPE2 P+2 SWITCH FOUND, (A) =SYSTEM LU * * * THE PROGRAM IS NOT IN SESSION * CHECK FOR BATCH SWITCH REQUIRMENT * -(A)=ID WORD 21 (BATCH FLAG = BIT 15) * NSESS SSA,RSS IS THIS A BATCH REQUEST? JMP NOPE NOPE-- USE PASSED LU * XLA $LUSW FETCH LENGTH OF BST CMA,INA SET IT NEGATIVE LDB D$LUT FETCH ADDR OF BST JSB SWTCK GO SEE IF LU SWITCHED NOPE LDA ILOG,I P+1 NO SWITCH,USE SUPPLIED LU NOPE2 STA ISYS,I P+2 SWITCH FOUND [IN (A) ] CLB RESET OPTIONAL STB ISYS PARM STB ISCB LIBX JMP LUTRU,I EXIT DEF LUTRU SKP ** * * SWTCK (SWITCH TABLE CHECK) * * SCAN THE SPECIFIED TABLE (LOW BYTE OF SESSION OR BATCH SWITCH TABLE) * FOR A MATCH, WITH THE VALUE IN TEMP1. * * CALLING SEQUENCE:LDA -LENGTH * LDB ADDRESS OF TABLE(POINTS AT LENGTH) *