ASMB,R,L HED "IFMTM" ROUTINE TO FIND IF IN MTM MODE * SOURCE: 92067-18259 * RELOC: 92067-16125 * PGMR: D.L.B. * * *************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. 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 IFMTM,7 92067-16125 REV.1903 780403 ENT IFMTM EXT .ENTR,$OPSY SPC 1 A EQU 0 B EQU 1 XEQT EQU 1717B SPC 1 * CALLED: * JSB IFMTM * DEF *+2 * DEF 0G LOGICAL UNIT OF SESSION TERMINAL * A = -1 IF NO SESSION * A = ASCII OF THE TERMINAL LOGICAL UNIT * E-REG = 1 IF NO SESSION * E-REG = 0 IF SESSION FOUND * ALGORITHM * WHEN LU IS CONVERTED TO ASCII, IT MUST MATCH THE LAST TWO * CHARACTERS OF THE CALLING PROGRAMS NAME AND THE MTM BIT * IN THE IDSEGMENT (WORD 21, BIT 13) MUST BE SET. SPC 1 LU NOP GIVEN 0G IFMTM NOP ENTRY JSB .ENTR DEF LU LDA LU,I GET POSSIBLE SESSION LU CLB CONVERT TO ASCII DIV D10 ALF,ALF IOR B IOR "00" STA LU SAVE FOR LATER LDA $OPSY OP SYSTEM IDENTIFIER ERA,ERA GET MAPPED BIT TO E LDB XEQT GET LAST TWO CHARS OF MY NAME ADB D13 INDEX INTO MY ID SEGMENT SEZ MAPPED SYSTEM? JMP XLOD1 YES DLD B,I NO, GET LAST 2 CHARS CONT1 RRR 8 GET LAST TWO IN B-REG LDA XEQT NOW CHECK IF SESSION BIT IS SET ADA D20 SEZ MAPPED SYSTEM? JMP XLOD2 YES LDA A,I GET WORD 20 FROM ID SEGMENT CONT2 AND SESBT MASK OFF ALL EXCEPT SESSION BIT CPB LU CHECK IF LAST TWO CHARS MATCH CLE,SZA,RSS AND SESSION BIT IS SET CCA,CCE NO, RETURN WITH NO SESSION LDA B YES, RETURN A & B = ASC 0G JMP IFMTM,I DONE SPC 1 XLOD1 XLA B,I GET 2ND WORD OF NAME INB XLB B,I GET 3RD WORD OF NAME JMP CONT1 CONTINUE XLOD2 XLA A,I GET WORD 20 FROM ID SEGMENT JMP CONT2 CONTINUE SPC 1 "00" ASC 1,00 D10 DEC 10 D13 DEC 13 D20 DEC 20 SESBT OCT 20000 END