ASMB,R,L,C NAM HPIBT,6 92071-1X313 REV 2040 800414 * ENT HPIBT,HPIBB,CNFUE * EXT .ZPRV,$LUTA,$LIBR,$LIBX,IXGET,IXPUT * ******************************************************************* * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980. 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. * ******************************************************************* * * HPIB CONFIGURATION TABLE * * * ***PLEASE NOTIFY BASIC/L MANAGER OF ANY CHANGES TO THIS ROUTINE*** * * RELOC: PART OF 92071-12005 AND 92076-12002 * SOURCE: 92071-18313 * PGMR: T.A.L. * A EQU 0 B EQU 1 * HPIBT NOP ZERO HPIB CNFG TABLE & DISABLE ERROR JSB $LIBR HANDLING FOR AN HP-IB DEVICE. NOP JSB IXGET GET DVT TABLE ENTRY ADDRESS DEF *+2 DEF LUTA STA DVTA SAVE IT CLA,INA SET LU=1 STA LU NXTLU JSB CNFUE CHECK LU CONFIGURATION SZA LU CONFIGURED IN HPIB TABLE? JMP ZDVT YES, DISABLE BIT 14 IN DVT20 CONT LDA LU GET LU AGAIN CPA .64 LAST LU IN HPIB TABLE? JMP ZEROT YES, NOW ZERO HPIB CNFG TABLE INA INDEX TO NEXT LU STA LU SAVE IT JMP NXTLU CHECK NEXT LU CONFIGURATION * ZDVT LDA DVTA GET DVT TABLE ENTRY ADDRESS ADA LU ADD LU ADA M1 MINUS 1 STA TBLAD SAVE IT JSB IXGET GET DVT ADDRESS DEF *+2 DEF TBLAD ADA .19 INDEX TO DVT20 STA TBLAD SAVE IT JSB IXGET ZERO DISABLE/ENABLE ERROR HANDLING DEF *+2 DEF TBLAD AND MSK14 BIT (BIT 14) IN DVT20. STA LUFLG SAVE WORD JSB IXPUT RESTORE DVT20 DEF *+3 DEF TBLAD DEF LUFLG JMP CONT CONTINUE * ZEROT CLA ZERO HPIB TABLE LDB HPIBB GET CONFIGURATION TABLE ADDR. ZERO STA B,I ZERO INB CONFIGURATION TABLE CPB HPIBE DONE? RSS YES, RETURN JMP ZERO NO, ZERO REST OF TABLE JSB $LIBX RETURN DEF HPIBT * HPIBB DEF LUFLG LUFLG REP 4 HPIB CONFIGURATION TABLE NOP HPIBE DEF * * * CNFUE NOP A REGISTER CONTAINS LU JSB .ZPRV DEF END AND B77 MASK IT CLB CLEAR TABLE ADDR. OFFSET CNF2 ADA M17 FIND WORD CONTAINING LU (16 LU'S/WORD) SSA WORD FOUND? JMP CNF4 YES, TABLE ADDR. OFFSET IN B. INA NO, ADJUST LU INB ADJUST OFFSET JMP CNF2 TRY AGAIN CNF4 INA COMPUTE NUMBER OF BITS TO ROTATE CMA,INA TO SIGN BIT POSITION. SZA LESS THAN 16? IOR RRL YES, MERGE NUMBER OF BITS TO ROTATE STA CNF6 SAVE RRL N LDA HPIBB GET TABLE STARTING ADDRESS ADB A ADD OFFSET LDA B,I GET WORD CONTAINING LU BIT POSITION CNF6 NOP ROTATE LU POSITION TO SIGN BIT AND BIT15 ZERO BIT 15 RAL RETURN A=0/1, DISABLE/ENABLE END JMP CNFUE,I ERROR HANDLING. DEF CNFUE * LU NOP DVTA NOP TBLAD NOP LUTA DEF $LUTA B77 OCT 77 .19 DEC 19 .64 DEC 64 M1 DEC -1 M17 DEC -17 BIT15 OCT 100000 MSK14 OCT 137777 RRL RRL 16 END