ASMB,R,Q NAM DVSTS,2,10 09580-16442 REV.2013 800128 * *--------------------------------------------------------------- * * SOURCE 09580-18442 * * * HP 92425B TEST SYSTEM SOFTWARE IS THE PROPRIETARY * MATERIAL OF THE HEWLETT-PACKARD COMPANY. USE AND * DISCLOSURE THEREOF ARE RESTRICTED BY WRITTEN AGREEMENT. * * *--------------------------------------------------------------- * * THIS PROGRAM IS TO BE SCHEDULED BY DVR37. * THE STATUS IS STORED, AND THEN DVINT IS SCHEDULED TO * SET THE TRAP. * A BASIC PROGRAM MAY RETRIEVE THE STATUS BY USING SUBROUTINE * &STGET, 09580-18443. * * *** WARNING - SPECIAL "ISN" SUPPLIED FOR "TIM". *** * * *--------------------------------------------------------------- * * CONFIGURATION TABLE ENTRY EXAMPLE * * R 67,1,64 * * * U1 UNIT 1 (ONLY 1 UNIT EVER!!!!) * * * 0 LU0 STATUS STORAGE * 0 LU1 STATUS STORAGE * 0 LU2 STATUS STORAGE * " " " " * " " " " * * " " " " * 0 LU63 STATUS STORAGE * *--------------------------------------------------------------- * * LOAD AND USE THIS PROGRAM AS PER "DVINT". INCLUDE THE BASIC * CALL "STGET" IN THE TRAP HANDLING ROUTINE. * *--------------------------------------------------------------- * * TO LOAD: * * :RU,LOADR,,%DVSTS,LIST LU,BGNCPE,SS * *--------------------------------------------------------------- ENT DVSTS,ISN EXT EQLU,EXEC,LU2ST,TIM,RMPAR,REIO SPC 1 A EQU 0 B EQU 1 SKP * GET LU# OF INTERRUPTING DEVICE. DVSTS NOP * * CALL RMPAR TO SCHEDULING PARAMETERS FROM DVR37. * JSB RMPAR CALL RMPAR TO GET EQT AND DEF *+2 SUBCHANNEL IF SCHEDULED DEF STAT FROM DVR37 * CLA PRESET LU VALUE TO ZERO. STA LU * * * CONVERT EQT AND SUBCHANNEL TO AN LU * CLB CLEAR A REG FOR A DIVIDE LDA 1650B GET FIRST WORD ADDRESS OF EQT TABLE CMA,INA NEGATE ADDRESS ADA EQT GET DIFFERENCE IN ADDRESSES DIV =D15 DIVIDE BY EQT SIZE INA ADD ONE TO EQT NUMBER STA ENS STORE IN EQT LDA SUBCH GET SUBCHANNEL AND ALF,ALF POSITON IT TO COMPARE WITH ALF,RAR EQT AND SUBCHANNEL WORD IN DRT. ADA ENS ADD IN EQT BITS STA ENS SAVE FOR COMPARISON SZA,RSS IF BOTH EQT AND SUBCHANNEL = 0, JMP TEST THEN NOT SCHEDULED BY DVR37 * * GET LU FROM DEVICE REFERENCE TABLE (DRT) * LDA 1653B GET THE DRT TABLE LENGTH CMA,INA NEGATE STA LUMAX AND SAVE IT LDA 1652B GET FIRST WORD ADDRESS OF DRT STA DRT STORE ADDRESS OF DRT CLB,INB B REGISTER HAS CURRENT LU IN IT * LOOP LDA DRT,I GET THE NEXT DRT ENTRY AND =B174077 MASK FOR EQT AND SUBCHANNEL CPA ENS EQT AND SUBCHANNEL MATCH? JMP GOTIT YES, GO SAVE LU! ISZ DRT NO, INCREMENT LU POINTER INB INCREMENT LU COUNTER ISZ LUMAX INCREMENT LOOP COUNTER JMP LOOP LOOP AGAIN JMP TEST NO MATCH, ILLEGAL EQT AND SUBCHANNEL SPC 1 GOTIT STB LU FOUND LU, STORE IT TEST LDA LU TEST IF ANY LU FOUND SZA,RSS IF LU IS 0 JMP ERXIT THEN OUTPUT ERROR MESSAGE, THEN EXIT. * * GET STATION NUMBER * JSB LU2ST GET STATION NUMBER FROM LU DEF *+2 DEF LU LDB .1 STB STN PRESET STATION NUMBER SZA,RSS FOUND ONE? JMP ERXIT NO, EXIT STA STN YES, SAVE STATION * * READ STATUS TABLE. * JSB TIM DEF *+7 DEF IDTN DEVICE TYPE NUMBER FOR STATUS NUMBER. DEF .1 ALWAYS UNIT 1. DEF .1 INDICATE THAT THIS IS A READ. DEF LU1 POINT TO START OF BUFFER. DEF TBMAX LENGTH OF BUFFER. DEF IERR * LDA IERR SZA CHECK FOR ERROR AND EXIT IF ERROR. JMP ERXIT * LDA TABLE PUT STATUS INTO TABLE. ADA LU LDB STAT STB 0,I * JSB TIM STORE STATUS TABLE WITH NEW ENTRY. DEF *+7 DEF IDTN DEF .1 DEF .2 INDICATE THAT THIS IS A WRITE. DEF LU1 DEF TBMAX DEF IERR * LDA IERR SZA CHECK FOR ERROR AND EXIT IF ERROR. JMP ERXIT * JSB EXEC SCHEDULE DVINT IN QUEUE AND NO WAIT. DEF *+6 DEF .23 DEF IDVNT DEF STAT PASS THE THREE PARAMETERS FROM DVR37 DEF SUBCH AS THE SCHEDULING PARAMETERS FOR DVINT. DEF EQT JMP EXIT * * ERROR EXIT * ERXIT JSB REIO DEF *+5 DEF .2 DEF STN DEF ERMES DEF ERMLN * * NORMAL EXIT * EXIT JSB EXEC CALL SYSTEM TO TERMINATE DEF *+2 DEF .6 * * * SPECIAL "ISN" FOR TIM * *** CAUTION *** * ISN NOP LDA STN LDB ISN,I JMP B,I * * CONSTANTS AND VARIABLES * LU NOP LUMAX NOP MAXIMUM NUMBER OF LU'S DRT NOP ADRESS OF THE DRT TABLE * STAT NOP STATUS WRD FROM RMPAR - SUBCH NOP SUBCHANNEL FROM RMPAR \ THESE MUST BE EQT NOP EQT NUMBER FROM RMPAR / IN ORDER SPARE BSS 2 NOT USED. FROM RMPAR - * STN BSS 1 ENS BSS 1 IERR BSS 1 * .1 DEC 1 .2 DEC 2 .6 DEC 6 .23 DEC 23 * IDVNT ASC 3,DVINT ERMLN DEC 6 ERMES ASC 6,DVSTS ERROR IDTN DEC 67 DEVICE TYPE FOR STATUS TABLE. * TABLE DEF * LU1 BSS 64 FIRST WORD OF STATUS TABLE BUFFER TBMAX DEC 64 LENGTH OF STATUS TABLE BUFFER. END DVSTS END$