ASMB,R,L,C HED COMPILER LIBRARY UTILITY ROUTINE ADS.C NAM ADS.C,7 92060-16102 770809 REV. 1901 $CLIB * * NAME: ADS.C * SOURCE: 92060-18071 * PGMR: G.A.A. - EARL STUTES * *************************************************************** * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1977. ALL RIGHTS * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- * * REPRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH- * * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * *************************************************************** SPC 2 EXT P.PAS ENT C.LNK ADDRESS OF FCB LINK WORD ENT C.FID ADDRESS OF FCB ID WORD ENT C.FLU ADDRESS OF FCB LU WORD ENT C.STR ADDRESS OF BASE TRACK WORD ENT C.SSC ADDRESS OF BASE SECTOR WORD ENT C.RSC ADDRESS OF CURRENT RELATIVE SECTOR ENT C.EXT ADDRESS OF CURRENT EXTENT ENT C.S/T ADDRESS OF NUMBER OF SECTORS/TRACK WORD ENT C.#SC ADDRESS OF FILE SIZE WORD ENT C.WRD ADDRESS OF WORD POSITION WORD ENT C.BFF ADDRESS OF DATA BUFFER ENT C.FAD ADDRESS OF DIRECTORY ADDRESS WORDS ENT C.HTR ADDRESS OF HEAD TRACK OF FILE ENT C.HLU ADDRESS OF HEAD LU OF FILE ENT C.SLU ADDRESS OF SECONDARY LOGICAL UNIT ENT C.RC# ADDRESS OF CURRENT RECORD # ENT C.?? ADDRESS OF PROMPT CHARACTERS ENT C.GRW ADDRESS OF REWIND GUARANTEE ROUTINE ENT C.INS ADDRESS OF INCLUDE ROUTINE ENT C.PR1 DEFS TO PARAMETERS INDIRECTS REMOVED ENT C.PR2 ENT C.PR3 ENT C.PR4 ENT C.PR5 ENT C.PR6 ENT C.PR7 ENT C.FCB FCB ADDRESS ENT C.NAM THE NAMR BUFFER POINTER ENT C.TYP TYPE AS PER "NAMR",=0 NULL,=1 LU,=3 FILE ENT C.SC SECURITY CODE ENT C.CR CARTRIDGE REFERENCE NUMBER ENT C.FTY FILE TYPE ENT C.FSZ FILE SIZE ENT C.NA2,C.NA3,C.NA9,C.NA0 * ABOVE ARE THE REST OF THE NAMR POINTERS ENT C.CNT * ENT ADS.C THIS ROUTINE ENTRY POINT ENT LINC. ENTRY POINT FOR LINK SETUP ONLY ENT INDC. INDIRECT CLEANER * * THIS ROUTINE SET UP THE ABOVE VALUES FOR USE BY * OTHER ROUTINES IN THE COMPILER LIBRARY * * CALLING SEQUENCE * * ENT NOP ENTRY POINT OF SUBROUTINE * JSB ADS.C * DEC -N -# OF PRAMS (0-7) * - RETURN - REGS AS AT CALL * * WHERE ENT WAS CALLED BY * * JSB ENT * DEF FCB * DEF P1 * . * . * . * DEF PN (MAX OF 7 MIN OF ZERO) * * ON RETURN ENT WILL POINT TO THE ADDRESS FOLLOWING THE * DEF PN SKP ADS.C NOP LETS GET TO IT STA ASAVE SAVE REGS STB BSAVE LDB ADS.C GET THE ADDRESS ADB N2 OF THE ENT STB AD JSB IND GET THE FIRST DEF * CPB C.LNK IF ALREADY SET UP JMP EXIT1 JUST EXIT * LDA B JSB LINKS SET UP THE LINKS * CLB,CCE SET TO GET REST BY VALUE ERB CLEAR E SET SIGN ON B JSB P.PAS GET THE REST DEC -2 C.GRW NOP INSURE REWINDABILITY ADDRESS C.INS NOP INCLUDE ROUTINE ADDRESS * EXIT1 LDA PAD SET THE ADDRESS OF THE PRAMS STA PA FOR LOOP LDA ADS.C,I GET THE PRAMETER COUNT ISZ ADS.C STEP TO THE RETURN ADDRESS SZA,RSS IF NO PRAMS JMP EXIT GO EXIT * IOR N8 LIMIT IS 7 MV JSB IND GET THE NEXT DEF STB PA,I SET IT IN THE LIST ISZ PA STEP THE PADRESS INA,SZA DONE? JMP MV NO * EXIT LDA ASAVE RESTORE LDB BSAVE THE REGISTERS JMP ADS.C,I AND RETURN * IND NOP INDIRECT ROUTINE LDB AD,I GET THE DEF ISZ AD,I STEP THE USER RETURN ADDRESS JSB INDC. GET THE POINTED TO DEF * JMP IND,I AND RETURN * INDC. BSS 1 CLEAR OFF THE INDIRECTS INDLP LDB B,I RBL,CLE,SLB,ERB JMP INDLP JMP INDC.,I * THIS PROCEDURE SETS UP THE POINTERS TO AN FCB * GIVEN THE ADDRESS OF THE FCB IN THE A REGISTER * * CALLING SEQUENCE * LDA .FCB LOAD THE FCB POINTER IN A * JSB LINKS * * ON RETURN A IS SET TO THE ADDRESS OF THE LAST * POINTER STORED + 1 * LINKS BSS 1 LINC. EQU LINKS CLB,CLE JSB P.PAS GET THE FIRST 18 WORDS DEC -28 C.LNK NOP C.FCB EQU C.LNK C.FID NOP C.FLU NOP C.STR NOP C.SSC NOP C.S/T NOP C.#SC NOP C.FAD NOP C.FA2 NOP C.HTR NOP C.HLU NOP C.?? NOP C.SLU NOP C.RC# NOP C.WRD NOP C.RSC NOP C.EXT NOP C.NAM NOP C.NA2 NOP C.NA3 NOP C.TYP NOP C.SC NOP C.CR NOP C.FTY NOP C.FSZ NOP C.NA9 NOP C.NA0 NOP C.BFF NOP LDB C.BFF JSB INDC. STB C.BFF JMP LINKS,I * ASAVE BSS 1 BSAVE NOP N2 DEC -2 N8 DEC -8 MASK PAD DEF *+1 C.PR1 NOP C.PR2 NOP C.PR3 NOP C.PR4 NOP C.PR5 NOP C.PR6 NOP C.PR7 NOP PA NOP AD EQU C.PR7 A EQU 0 B EQU 1 SPC 3 * FOLLOWING ARE THE ENTRY POINTS FOR THOSE ROUTINES THAT ARE * NOT IMPLEMENTED OR NOT USED BY A PARTICULAR FCB ENT C.DUM ENT INSC. ENT CNTC. C.DUM BSS 1 INSC. EQU C.DUM CNTC. EQU C.DUM ISZ C.DUM JMP C.DUM,I C.CNT DEF C.DUM END