FOMNTT TITLE ' FOMNTT -- TAPE MOUNT TIX00010000 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** ME RECORD WRITE TO DBG.SPARC.TMOUNT FILE.' 00020000 *TITLEFOMNTT -- TAPE MOUNT TIME RECORD, WRITE TO DBG.SPARC.TMOUNT FILE 00030001 *A AUTHOR/DESIGNER FRANCIS COLLINS 00040000 *A LANGUAGE S/370 ASSEMBLER F 00050000 *A SYSTEM IBM (SEE CRAY) 00060000 *A WRITTEN 8-10-75 00070000 * REVISED 2--3-76 FAC. REMOVE DEBUG STM, 00080000 * INITIALIZE SAVE AREA TO ZEROS, 00090000 * CHANGE MACRF TO WC. (PAT BURGESS). 00100000 * REVISED 4-15-77 FAC. CHANGE ENQUE TO RESERVE. 00110000 * CHANGE DEQUE CORRESPONDINGLY. 00120000 * REVISED 7-18-79 FAC. RESERVE BEFORE OPEN, DEQUE AFTER CLOSE. 00130000 * REVISED 2-25-82 HHL. CONVERTED FOACCT FOR THIS PROGRAM. 00140000 * REVISED 12-07-82 RSK. IF 'SPARCMNT' DD MISSING, RETURN. 00150000 * REVISED 12-16-83 RSK. CHANGE RESERVE TO GLOBAL ENQUE. 00160000 * REVISED 7-24-85 RSK. 'CAPPED' FOR EXTENDED ADDRESSING. 00170000 * CHANGES MARKED BY 'EXT'. 00180001 *A 00190000 *A 00200000 *A CALL FOMNTT (TIMREC) 00210000 *A INPUT TIMREC = TAPE MOUNT TIME RECORD TO BE WRITTEN. R8 00220000 *A 00230000 *A 00240000 *A DESCRIPTION OF TAPE MOUNT TIME FILE: 00250000 *A DDNAME = SPARCMNT 00260000 *A DSNAME = DBG.SPARC.TMOUNT 00270000 *A DSORG = PS (PHYSICAL SEQUENTIAL) 00280000 *A RECFM = F (FIXED) 00290000 *A LRECL = 80 BYTES 00300000 *A 00310000 *A DESCRIPTION OF RECORD--SEE ? ? ? ? ? 00320000 *A 00330000 *A THIS PROGRAM PERFORMS THE FOLLOWING OPERATIONS: 00340000 *A 00350000 *A 1. RESERVE THE NAMES 'SPARMNT' AND 'DBG.SPARCMNT' 00360000 *A THIS SHOULD OBTAIN EXCLUSIVE CONTROL OF THE FILE. 00370000 *A RESERVE GAINS CONTROL OF THE NAMES ONLY. CONTROL OF THE 00380000 *A FILE DEPENDS ON THE COOPERATION OF ALL USERS AND AGREE- 00390000 *A MENT ON THE NAMES TO BE ASSOCIATED WITH THE FILE. 00400000 *A 00410000 *A 2. READ THE JOB FILE CONTROL BLOCK. MODIFY THE JFCB TO 00420000 *A CHANGE THE DISPOSITION FROM SHR TO MOD, SO THAT THE 00430000 *A NEW RECORD WILL BE ADDED AT THE END OF THE FILE. 00440000 *A 00450000 *A 3. OPEN THE FILE, WRITE THE RECORD, AND CLOSE THE FILE. 00460000 *A BASIC SEQUENTIAL ASSESS METHOD (BSAM). 00470000 *A STATUS AUTOMATICALLY REVERTS TO SHR. 00480000 *A 00490000 *A 4. DEQUE ON THE NAMES IN (1). 00500000 * 00510000 EJECT 00520000 FOMNTT CSECT 00530000 R1 EQU 1 ADDRESS OF PARAMETER LIST. 00540000 R2 EQU 2 ADDRESS OF TIMREC--RECORD TO BE WRITTEN. 00550000 R3 EQU 3 00560001 R4 EQU 4 00570001 R5 EQU 5 LENGTH OF DD-ENTRY IN TASK INPUT/OUTPUT TABLE. 00580000 R6 EQU 6 ADDRESS OF DD-ENTRY IN TAST INPUT/OUTPUT TABLE. 00590000 R7 EQU 7 ADDRESS OF ADDRESS OF UNIT CONTROL BLOCK. 00600000 R8 EQU 8 ADDRESS OF QNAME PARAMETER FOR ENQUE AND DEQUE. 00610000 R9 EQU 9 ADDRESS OF RNAME PARAMETER FOR ENQUE AND DEQUE. 00620000 R10 EQU 10 ADDRESS OF JOB FILE CONTROL BLOCK AREA. 00630000 R11 EQU 11 ADDRESS OF DATA CONTROL BLOCK. 00640000 R12 EQU 12 BASE REGISTER = ADDRESS OF FOMNTT. 00650000 R13 EQU 13 00660000 R14 EQU 14 00670000 R15 EQU 15 00680000 B0T14 EQU B'10110111' USED TO TURN OFF BITS 1 AND 4. 00690000 B1T0 EQU B'10000000' USED TO TURN ON BIT 0. 00700000 B1T4 EQU B'00001000' USED TO TURN ON BIT 4. 00710000 * 00720000 USING *,R15 00730000 B START 00740000 DC X'06',C'FOMNTT ' 00750000 START STM R14,R12,12(R13) 00760000 ST R13,SAVE+4 00770000 LA R12,SAVE 00780000 ST R12,8(,R13) 00790000 LR R13,R12 00800000 SPACE 00810000 LR R12,R15 BASE REGISTER. 00820000 LA R11,DCB DCB ADDRESS. 00830000 LA R10,JFCBAREA JFCB ADDRESS. 00840000 LA R9,RNAME 'SPARCMNT' 00850000 LA R8,QNAME 'DBG.SPARCMNT' 00860000 SPACE 00870000 DROP R15 00880000 USING FOMNTT,R12 00890000 USING JFCB,R10 00900000 **************** ADDRESSING MODE SWITCH ****************** EXT 00910001 FOMNTT AMODE ANY EXT 00920001 FOMNTT RMODE 24 EXT 00930001 LA R4,FONEXT EXT 00940001 LA R5,RETURNIT EXT 00950001 BSM R5,R4 EXT 00960001 RETADD DC F'0' EXT 00970001 FONEXT DS 0H EXT 00980001 ST R5,RETADD EXT 00990001 SPACE 01000000 L R2,0(,R1) ADDRESS OF RECORD TO BE WRITTEN. 01010000 LA R2,0(,R2) CLEAR FIRST BYTE OF REGISTER. 01020000 SPACE 01030000 EJECT 01040000 RDJFCB ((R11),OUTPUT) SEE IF DD STMT 'SPARCMNT' IS PRESENT 01050000 LTR R15,R15 DD MISSING? 01060000 BNZ GOBACK IF SO, GET OUT! 01070000 SPACE 01080000 ENQ ((R8),(R9),E,12,SYSTEMS) 01090000 OPEN ((R11),EXTEND) 01100000 WRITE DECB,SF,(R11),(R2) 01110000 SPACE 01120000 LA R1,DECB 01130000 CHECK (1) 01140000 CLOSE ((R11)) 01150000 SPACE 01160000 DEQ ((R8),(R9),12,SYSTEMS) 01170000 SPACE 01180000 GOBACK EQU * 01190000 **************** ADDRESSING RETURN ****************** EXT 01200000 L R5,RETADD EXT 01210000 BSM 0,R5 EXT 01220000 RETURNIT DS 0H EXT 01230000 L R13,SAVE+4 01240000 LM R14,R12,12(R13) 01250000 SR R15,R15 01260000 BR R14 01270000 EJECT 01280000 DS 0F 01290000 JFCBPNTR DC X'87',AL3(JFCBAREA) 01300000 JFCBAREA DC 176X'0' 01310000 SPACE 01320000 DDNAME DC CL8'SPARCMNT' 01330000 QNAME DC CL8'SPARCMNT' ????????????????? 01340000 RNAME DC CL12'DBG.SPARCMNT' ????????????????? 01350000 TIOTAD DC F'0' 01360000 SPACE 01370000 SAVE DC 18F'0' 01380000 PRINT NOGEN 01390000 DCB DCB DDNAME=SPARCMNT, -01400000 DSORG=PS, -01410000 EXLST=JFCBPNTR, -01420000 MACRF=(WC) BSAM. 01430000 SPACE 01440000 JFCB DSECT 01450000 ORG JFCB+52 01460000 JFCBTSDM DS BL1 01470000 ORG JFCB+87 01480000 JFCBIND2 DS BL1 01490000 SPACE 01500000 END 01510000