ASMB,R,L HED ST.LU * NAME: ST.LU * SOURCE: 92067-18428 * RELOC: 92067-16425 * PGMR: A.M.G. * * *************************************************************** * * (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 ST.LU,8 92067-16425 REV.1903 781010 ENT ST.LU,G1PCR * EXT N.SEQ,$LIBR,$LIBX,$DVMP,$SPOK EXT $LUAV,.DRCT,EXEC,IS43,CS43,$SPCR * * THE FOLLOWING ROUTINE INITIALIZES THE SPOOL * AVAILABILITY TABLE, $LUAV, AND SETS CS43 # 0 * AS A DONE FLAG. * ST.LU NOP CLA ZAP STA INOGO THE VALIDITY FLAG LDA XEQT GET MY ID ADDRESS ADA D14 INDEX TO TYPE WORD LDA A,I PULL IT IN AND M7 KEEP ONLY TYPE CPA D3 IS THIS PROG BG ? RSS YES ISZ INOGO SET AN ERROR FLAG * JSB .DRCT DEF $LUAV GET ADDRESS OF $LUAV. STA ADDR INA STA PTR2 CLA SET COUNTERS AND POINTERS. STA CNTR2 LDA EQTA GET ADDRESS OF WORD 2 OF 1ST EQT. INA STA PTR1 LDA EQTNO SET COUNTER FOR # OF EQT'S CMA,INA TO SEARCH. STA CNTR1 CLB,INB STB NEQT JSB .DRCT GET DIRECT ADDRESS OF DEF IS43 IS43 ENTRY POINT TO SMD. STA SMDAD JSB $LIBR NOP LOOP1 LDA CNTR2 CPA ADDR,I JMP DONE LDA PTR1,I PICK UP EQT2 - DRIVER CPA SMDAD ENTRY POINT. MATCH IS43? JMP SEEK YES. INCR1 ISZ NEQT KEEP LOOKING AT EQT'S. LDA PTR1 ADA D15 INCREMENT TO NEXT EQT. STA PTR1 ISZ CNTR1 JMP LOOP1 * DONE LDA INOGO GET THE ERROR FLAG XSA $SPOK AND SAVE IN SSGA SZA WERE THERE ANY ERRORS ? JMP OUT YES, DRIVER NOT IN OUR MAP * LDA CNTR2 STA N.SEQ DONE - SAVE # OF SPOOL EQT'S. CMA,INA,SZA DON'T SAVE IF THERE ARE NONE STA ADDR,I CCA SET CS43 TO STA CS43 -1 TO SHOW DONE OUT JSB $LIBX DEF ST.LU * SEEK CCB GET THE APPROPRIATE DRIVER MAP ENTRY ADB NEQT ADB $DVMP LDA B,I PULL IT IN SSA,RSS IS THE SYS DVR MAP BIT SET ? JMP NOWAY NO. LDA M1K1 GET CORRECT VALUE ? STA B,I AND PUT IT AWAY * CCA NOW SEE IF EQT HAS EXTENTS ADA NEQT MPY D15 ADA EQTA ADA D11 INDEX TO 12 WORD OF THE EXTENT LDA A,I PULL IT IN ADA DM18 SSA OK ? NOWAY ISZ INOGO NO ! * LDA DRT FOUND A SPOOL EQT. STA PTR3 MUST SEARCH DRT TO LDA LUMAX FIND THE CORRESPONDING CMA,INA LU #. STA CNTR3 CLB,INB LOOP2 LDA PTR3,I PICK UP DRT ENTRY. AND B77 GET EQT #. CPA NEQT MATCH THIS ONE? JMP ENTER YES. INB NO - KEEP LOOKING. ISZ PTR3 ISZ CNTR3 JMP LOOP2 JMP INCR1 ENTER STB PTR2,I MAKE AN ENTRY IN $LUAV. ISZ PTR2 CLA STA PTR2,I ISZ PTR2 ISZ CNTR2 JMP INCR1 * SMDAD BSS 1 M1K1 OCT 100001 DM18 DEC -18 INOGO NOP B77 OCT 77 D3 DEC 3 D11 DEC 11 D14 DEC 14 D15 DEC 15 M7 OCT 7 NEQT BSS 1 CNTR1 BSS 1 CNTR2 BSS 1 CNTR3 BSS 1 PTR1 BSS 1 PTR2 BSS 1 PTR3 BSS 1 ADDR BSS 1 EQTA EQU 1650B EQTNO EQU 1651B DRT EQU 1652B LUMAX EQU 1653B XEQT EQU 1717B * * * THE FOLLOWING ROUTINE IS USED TO SETUP AND CLEAR * THE $SPCR FLAG. IT IS ASSUMED THAT THE VALUE * TO BE USED IS THE NEGATIVE OF THE LEAST 6 BITS * OF THE PASSED PARAMETER. * G1PCR NOP JSB $LIBR MUST BE PRIV TO POKE NOP DATA INTO THE SYSTEM LDA G1PCR,I GET THE VALUE TO SET LDA A,I AND B77 ISOLATE THE 6 BITS CMA,INA SET NEGATIVE XSA $SPCR SET THE WORD ISZ G1PCR SET THE RETURN ADDRESS JSB $LIBX EXIT ALL DONE DEF G1PCR * * A EQU 0 B EQU 1 * END