ASMB,R,L,C NAM LU2ST,7 09580-16127 REV.A 770201 * *--------------------------------------------------------------- * * RELOC. 09580-16127 * SOURCE 09580-18127 * * M.KAESSNER REV.A 770201 * * HP 92425A TEST SYSTEM SOFTWARE IS THE PROPRIETARY * MATERIAL OF THE HEWLETT-PACKARD COMPANY. USE AND * DISCLOSURE THEREOF ARE RESTRICTED BY WRITTEN AGREEMENT. * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1977. * ALL RIGHTS RESERVED. NO PART OF THIS PROGRAM * MAY BE PHOTOCOPIED, REPRODUCED OR TRANSLATED * TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR * WRITTEN CONSENT OF THE HEWLETT-PACKARD COMPANY. * *--------------------------------------------------------------- * ENT LU2ST EXT .ENTR,DRTXX SPC 1 A EQU 0 B EQU 1 SKP * THIS ROUTINE IS USED TO RETURN THE STATION NUMBER OF THE LU * THAT IS PASSED IN AS A PARAMETER. THIS IS SOMEWHAT MORE DIFFICULT * THAN SIMPLY INDEXING INTO THE DRTXX TABLE AND RETRIVING THE STATION * BITS. THE REASON FOR THIS IS THAT THE STATION BITS INDICATE ONLY A * RELATIVE OR "FAKE" STATION NUMBER. IF THE REAL STATION NUMBER, THE * LU OF THE STATION'S CRT, WERE STORED IT WOULD REQUIRE UP TO 6 BITS. * SINCE ONLY 7 STATIONS MAXIMUM CAN BE CONNECTED, THIS ONLY REQUIRES * 3 BITS. * * ALGORITHM: * 1. ENTER DRTXX FOR THE LU PASSED IN AND GET DRTXX WORD. * * 2. MASK OFF ALL BUT THE "FAKE" STATION NUMBER (BITS 0-2). * * 3. MERGE THE "FAKE" STATION WITH DEVICE TYPE "1" AND SAVE IN STN. * * 4. SCAN THE DRTXX TABLE FOR THIS WORD. THE POSITION OF THE MATCHING * WORD WITHIN DRTXX IS THE LU OF THE STATION'S CRT, HENCE, THE * STATION NUMBER. * * 5. RETURN SKP LU NOP LU2ST NOP JSB .ENTR DEF LU * * TEST FOR LEGAL LU * LDA LU,I GET PASSED LU SSA IS LU NEG? JMP ERR YES, ERROR SZA,RSS IS LU 0? JMP ERR YES, ERROR LDB DRTXX,I GET TABLE SIZE STB CNT (SAVE FOR LATER) CMB ADA B COMPARE TO TABLE SIZE SSA,RSS BIGGER? JMP ERR YES, ERROR * * GET DRTXX WORD * LDA DRTXX GET TABLE ADDRESS ADA LU,I ADD LU AS OFFSET LDA A,I GET LU'S WORD AND STMSK STRIP ALL BUT STATION BITS ADA TYPE1 ADD TYPE 1 BITS STA STN SAVE FOR LATER * * SCAN DRTXX TO FIND DEVICE TYPE 1 WITH SAME STATION * CLA,INA STA LUN INITIALIZE LU COUNTER LDB DRTXX INB B REGISTER IS ADDRESS POINTER SPC 1 LOOP LDA B,I GET NEXT ENTRY CPA STN EQUAL TO STATION WORD? JMP EXIT YES, EXIT WITH LU LDA LUN NO, CHECK INDEX CPA CNT EQUAL TO END OF TABLE? JMP ERR YES, NO STATION NUMBER INB NO, INCREMENT ADDRESS POINTER ISZ LUN INCREMENT LU COUNT JMP LOOP * * NORMAL EXIT * EXIT LDA LUN EXIT WITH LUN OF CRT JMP LU2ST,I * * ERROR EXIT * ERR CLA RETURN 0 FOR ERROR JMP LU2ST,I * * CONSTANTS AND VARIBLES * CNT BSS 1 LUN BSS 1 STN BSS 1 STMSK OCT 7 TYPE1 OCT 210 END END$