ASMB,Q,C HED FINFO: HP 3000 RFA SUBROUTINE * (C) HEWLETT-PACKARD CO. NAM FINFO,7 91750-1X117 REV.2013 790326 MEF SPC 1 ****************************************************************** * * (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 THE HEWLETT-PACKARD COMPANY. * ****************************************************************** SPC 2 ENT FINFO * EXT D$RQB EXT .ENTR,D$INI,D$RFH,D$STW,D$PRM,D3KMS EXT D$ERR,D$IPM,D$NPM,D$SPM SPC 2 UNL NEXT 5 LINES ARE FOR PRODUCTION ENGINEERING * NAME: FINFO *SOURCE: 91750-18117 * RELOC: 91750-1X117 * PGMR: DMT LST ************************* FINFO ************************* * * * SOURCE: 91750-18117 * * * * BINARY: 91750-1X117 * * * * PROGRAMMER: JIM HARTSELL * * * * DATE: AUGUST 13, 1975 * * * *---------------------------------------------------------* * * * MODIFIED FOR DS/1000 ENHANCEMENTS BY DMT BEGINNING * * MARCH 26, 1979. * * * *********************************************************** SPC 2 B EQU 1 SUP SPC 2 FINFO NOP ENTRY POINT. LDA DPRAM CLEAR OLD PARAM ADDRESSES. STA ENTRY LDB COUNT CLA STA ENTRY,I ISZ ENTRY INB,SZB JMP *-3 LDA FINFO STA ENTRY JMP BEGIN COUNT DEC -20 * PRAMS NOP FILE NUMBER. NOP FILE NAME ARRAY (14 WORDS). NOP FOPTIONS. NOP AOPTIONS. NOP RECORD SIZE. NOP DEVICE TYPE. NOP LOGICAL DEVICE #. NOP HARDWARE ADDRESS. NOP FILE CODE. NOP RECORD POINTER (DBL-WORD). NOP END-OF-FILE (DBL-WORD). NOP FILE LIMITS (DBL-WORD). NOP # RECORDS XF (DBL-WORD). NOP # PHYS I/O XF (DBL-WORD). NOP BLOCK SIZE. NOP EXTENT SIZE. NOP NUMBER OF EXTENTS. NOP USER LABELS. NOP CREATOR ID (4 WORDS). NOP LABEL ADDRESS (DBL-WORD). * ENTRY NOP ENTRY POINT. BEGIN JSB .ENTR GET ADDRESSES OF USER PARAMS. DPRAM DEF PRAMS CLA CLEAR ERROR CODE FOR FCHEK. CLB DST D$ERR * SKP * * BUILD FRONT END OF REQUEST BUFFER. * LDA DPRAM ADDR OF 1ST PARAM TO SEND. JSB D$INI INITIALIZE BUFFER STUFFERS. * JSB D$RFH SET UP FIXED FORMAT. * LDA B15 JSB D$STW FINFO CODE = 15 OCTAL. * * MOVE USER PARAMS TO REQUEST BUFFER. * CCA MOVE FNUM. JSB D$PRM * * SET UP DBL-WORD PARAMETER MASK FOR 20 PARAMS: BIT 3 OF 1ST WORD * REPRESENTS THE FILNUM PARAM; BIT 0 OF 2ND WORD REPRESENTS * LABADDR. IF A BIT IS SET, THAT PARAMETER WAS SPECIFIED IN * THE CALLING SEQUENCE. * LDA DPRAM ADDR OF 1ST PARAM ADDRESS. LDB N4 CHECK 1ST 4 PARAMS FOR MASK(1). JSB BTMSK BUILD MASK WORD 1. JSB D$STW STORE WORD 1 OF MASK IN REQUEST. LDA DPRAM ADA B4 ADDR OF 5TH PARAM ADDRESS. LDB N16 CHECK LAST 16 PARAMS FOR MASK(2). JSB BTMSK BUILD MASK WORD 2. JSB D$STW STORE WORD 2 OF MASK IN REQUEST. * * REQUEST BUFFER READY. SEND TO QUEX'S CLASS, * AND WAIT FOR REPLY. * JSB D3KMS SHIP REQUEST BUFFER TO QUEX. DEF *+2 DEF BIT15 NO ABORT. JMP ABERR ERROR RETURN. * * PASS RETURN PARAMETERS TO THE CALLER IF PARAM SPECIFIED. * STA TEMP SAVE STATUS WORD. * LDB D$RQB IF REPLY PARAM NOT RETURNED, ADB B7 STORE ZERO IN PARAM SLOT. LDA B,I REPLY BYTE COUNT. ADB D44 STB TEMP1 POINTER TO LAST PARAM. INA ARS REPLY WORD COUNT. ADA N44 # PARAMS WORDS TO CLEAR. SSA,RSS JMP RTP ALL PARAMS RETURNED. LOOP CLB STB TEMP1,I LDB TEMP1 ADB N1 STB TEMP1 INA,SZA JMP LOOP * RTP LDA DPRAM INITIALIZE: INA (A) = ADDR OF 1ST RETURN PARAM ADDR. LDB D$RQB ADB D9 (B) = ADDR OF 1ST REPLY VALUE. JSB D$IPM * LDA N14 RETURN FILE NAME (14 WORDS). JSB D$SPM * LDA N7 RETURN FOPTIONS THRU FILECODE. CCB (SINGLE WORD VALUES) JSB D$NPM * LDA N5 RETURN RECPT THRU PHYSCOUNT. LDB N2 (DOUBLE WORD VALUES) JSB D$NPM * LDA N4 RETURN BLKSIZE THRU USERLABELS. CCB (SINGLE WORD VALUES) JSB D$NPM * LDA N4 RETURN CREATORID. JSB D$SPM (4-WORD VALUES) * LDA N2 RETURN LABADDR. JSB D$SPM * LDA TEMP RESTORE STATUS WORD. JMP ENTRY,I RETURN TO USER. (A) = STATUS. * ABERR DST D$ERR STORE CODE FOR FCHEK RETRIEVAL. CLA JMP ENTRY,I RETURN. * * SUBROUTINE TO BUILD PARAMETER BIT MASK. * (A) = ADDR OF 1ST PARAM. * (B) = # PARAMS. * BTMSK NOP STA TEMP SAVE PARAM ADDR. STB TEMP1 SAVE # PARAMS. CLA,RSS RESET BIT MASK WORD. MSK RAL SHIFT ACCUMULATED BITS. LDB TEMP,I SEE IF PARAM GIVEN. SZB IOR B1 YES. SET THE BIT. ISZ TEMP ISZ TEMP1 JMP MSK LOOP FOR N PARAMS. JMP BTMSK,I RETURN. (A) = BIT MASK. SPC 4 * * CONSTANTS AND WORKING STORAGE. * B1 OCT 1 B4 OCT 4 B7 OCT 7 B15 OCT 15 D9 DEC 9 D44 DEC 44 N1 DEC -1 N2 DEC -2 N4 DEC -4 N5 DEC -5 N7 DEC -7 N14 DEC -14 N16 DEC -16 N44 DEC -44 BIT15 OCT 100000 TEMP NOP TEMP1 NOP * END