ASMB,R,L,C,B HED #GET! TABLE SUBROUNTINE 92413-16005 REV. A NAM #GET!,7 92413-16005 REV A 24APR75 ENT #GET! EXT &6940 * * * THIS IS A COMMON ROUNTINE FOR ISA AND RTEB DEVICE SUBS * FOR GETTING PARAMETERS OUT OF &6940, THE TABLE * BUILT FROM THE 6940 TABLE GENERATOR. * * CALLING SEQUENCE * (A)= SOFTWARE CHANNEL NUMBER * * JSB #GET! * LU NOP * TYPE NOP * REL# NOP * ADR NOP * (RETURN) * * (A)= EFFECTIVE CHANNEL * (B)= 0 NORMAL RETURN * (B) = -1 ERROR RETURN * * #GET! NOP LDB TOP GET BASE PAGE LINK SSB,RSS AND CHECK FOR INDIRECT JMP *+4 NO,ITS THE TRUE ADDR ELB,CLE,ERB STRIP INDIRECT BIT LDB 1,I GET ADDR JMP *-4 AND TEST AGAIN STB ADR SAVE IT ADA TOP,I TEST TO SEE SSA,RSS IF CHAN IS SZA,RSS TOO SMALL JMP LOSE GIVE ERROR ISZ ADR BUMP POINTER GET0 LDB ADR,I GET CHAN # SSB END OF TABLE? JMP LOSE YES,RETURN W/ ERROR ADA 1,I ADD NEG CHAR ISZ ADR BUMP CTR SZA,RSS JMP *+3 SSA,RSS THIS UNIT? JMP GET0 NO,CONTINUE CHECKING CMA,INA FIX REL ADA 1,I COUNT INB STB ADR STORE ADDRESS INB INCREMENT IT LDB 1,I GET LU STB #GET!,I AND STORE ISZ #GET! BUMP PTR CLB CLEAR DEVICE TPYE STB #GET!,I AND STORE GET1 ISZ ADR MOVE TO NEXT ISZ ADR DEVICE ENTRY ISZ #GET!,I BUMP DEV TPYE CODE ADB ADR,I ACCUM COUNTS ADA ADR,I SSA THIS DEVICE? JMP GET1 NO,CONTINUE CHECKING ISZ #GET! BUMP POINTIR CMA,INA FIX REL CT ADB 0 (B)=HARDWARE CHAN ADA ADR,I REL CT STA #GET!,I AND STORE ISZ #GET! BUMP GET ISZ ADR GET LDA ADR,I TABLE ADDRESS STA #GET!,I AND STORE SWP CHAN # INTO A CLB (B) FOR NORMAL RETURN GET2 ISZ #GET! BUMP GET JMP #GET!,I AND RETURN * LOSE CCB SET (B) FOR ERROR ISZ #GET! BUMP ISZ #GET! GET ISZ #GET! FOR JMP GET2 RETURN ADR NOP TEMP STORAGE TOP DEF &6940 POINTER TO TABLE END END$