
                                                                20-Nov-1990 18:08:22	VAX FORTRAN V5.4-79                 Page   1
                                                                14-Jul-1988 19:37:17	LIB4:[ADDASYS.SOURCE]ADDA_FILE.FOR;3        

0001    	PROGRAM ADDA_FILE
0002    C
0003    C **************************************************************************
0004    C **  PROGRAM AUTHOR:       WILLIAM BAKER
0005    C 
0006    C **  PROGRAM DESCRIPTION:  FOR FILING OF DATA GATHERED BY ADDA_MAINIO.
0007    C **                        
0008    C
0009    C **  ADDA_FILE.FOR
0010    C     -----------------------
0011    C
0012    C **  DECLARE STRUCTURE FOR THE DATA FILE BEING CREATED.
0013    C
0014    	STRUCTURE /FILE_LIST/
0015    		UNION
0016    			MAP
0017    				INTEGER*2	DATA(120,16)
0018    				INTEGER*4	TIME(120)
0019    			END MAP
0020    		END UNION
0021    	END STRUCTURE
0022    C
0023    C **  CREATE RECORD USING STRUCTURE DECLARED.
0024    C
0025    	RECORD /FILE_LIST/	FILE_BUFFER
0026    C
0027    C **  DECLARE VARIABLES REQUIRED BY PROGRAM LOCALLY
0028    C
0029    	INTEGER*2	AD_CHAN
0030    	INTEGER*4	OPTION, AD_LUN, STATUS, IEFN, CEFN
0031    	CHARACTER*64	ADDA_CONTROL, AD_FILE, AD_CONFIG, AD_IN
0032    C
0033    C **  INCLUDE DECLARATIONS FOR DATABASE.
0034    C
0035    	INCLUDE 'LIB4:[ADDASYS.SOURCE]ADDA_DATA_SHR.INC/LIST'
0036  1 C
0037  1 C **************************************************************************
0038  1 C **  PROGRAM AUTHOR:       WILLIAM BAKER
0039  1 C 
0040  1 C **  PROGRAM DESCRIPTION:  DEFINES AN AREA OF SHARED COMMON FOR USE BY
0041  1 C **                        A/D AND D/A DATA ACQUISITION PROGRAMS.
0042  1 C
0043  1 C **  ADDA_SHR.FOR DICTIONARY
0044  1 C     -----------------------
0045  1 C
0046  1 C **  DEFINE THE STRUCTURE OF THE A/D CHANNEL LIST INFORMATION RECORD.
0047  1 C
0048  1 	STRUCTURE /AD_LIST/
0049  1 		UNION
0050  1 			MAP
0051  1 				INTEGER*4	CHAN_NUM
0052  1 				INTEGER*4	CHAN_GAIN
0053  1 				CHARACTER*72	CHAN_DSCR
0054  1 			END MAP
0055  1 		END UNION
0056  1 	END STRUCTURE
0057  1 C

ADDA_FILE                                                       20-Nov-1990 18:08:22	VAX FORTRAN V5.4-79                 Page   2
                                                                14-Jul-1988 19:37:17	LIB4:[ADDASYS.SOURCE]ADDA_FILE.FOR;3        

0058  1 C **  DEFINE THE STRUCTURE OF THE D/A CHANNEL LIST INFORMATION RECORD.
0059  1 C
0060  1 	STRUCTURE /DA_LIST/
0061  1 		UNION
0062  1 			MAP
0063  1 				INTEGER*4	CHAN_NUM
0064  1 				CHARACTER*72	CHAN_DSCR
0065  1 				INTEGER*4	CHAN_DEVICE
0066  1 				INTEGER*4	CHAN_FROM
0067  1 			END MAP
0068  1 		END UNION
0069  1 	END STRUCTURE
0070  1 C
0071  1 C **  DECLARE THE A/D CHANNEL RECORD ARRAYS.
0072  1 C
0073  1 	RECORD /AD_LIST/ AD_CHNL(2,16)
0074  1 C
0075  1 C **  DECLARE THE D/A CHANNEL RECORD ARRAYS.
0076  1 C
0077  1 	RECORD /DA_LIST/ DA_CHNL(2,2)
0078  1 C
0079  1 C **  DECLARE PARAMETERS FOR EVENT FLAG STATUS.
0080  1 C
0081  1 	PARAMETER SS$_WASCLR = '00000001'X
0082  1 	PARAMETER SS$_WASSET = '00000009'X
0083  1 C
0084  1 C **  DELCARE LOGICALS USED FOR DETERMINING STATUS OF ACTIVITY.
0085  1 C
0086  1 	LOGICAL		START_STOP1, USE_LOGICAL1
0087  1 	LOGICAL		USE_LOGICAL8
0088  1 	LOGICAL		USE_LOGICAL9
0089  1 	LOGICAL		START_STOP2, USE_LOGICAL2, CLK_READY
0090  1 C
0091  1 C **  DECLARE SYSTEM SERVICE INTEGER FUNCTIONS.
0092  1 C
0093  1 	INTEGER*4	SYS$CREMBX, SYS$DELMBX, SYS$DASSGN
0094  1 	INTEGER*4	SYS$WAITFR, SYS$SETIMR, SYS$BINTIM, SYS$DLCEFC
0095  1 	INTEGER*4	SYS$CLREF,  SYS$ASCEFC, SYS$DACEFC, SYS$SETEF
0096  1 C
0097  1 C **  DECLARE ARRAYS WHICH CONTAIN COUNTS OF NUMBER OF CHANNELS IN USE.
0098  1 C
0099  1 	INTEGER*4	AD_NUMBR(2), DA_NUMBR(2)
0100  1 C
0101  1 C **  DECLARE THE CLOCK RATE FOR THIS TEST.
0102  1 C
0103  1 	REAL*4		CLK_RATE
0104  1 C
0105  1 C **  DECLARE THE POINTERS FOR THE ARRAYS ASSOCIATED WITH EACH DEVICE.
0106  1 C
0107  1 	INTEGER*4	PRV_PNTR1, CUR_PNTR1, AD1_PNTR
0108  1 	INTEGER*4	PRV_PNTR2, CUR_PNTR2, AD2_PNTR
0109  1 	INTEGER*4	AD8_PNTR, AD9_PNTR
0110  1 C
0111  1 C **  DECLARE VARIABLE FOR CURRENT TIME ON SYSTEM.
0112  1 C
0113  1 	INTEGER*4	CUR_TIME
0114  1 C

ADDA_FILE                                                       20-Nov-1990 18:08:22	VAX FORTRAN V5.4-79                 Page   3
                                                                14-Jul-1988 19:37:17	LIB4:[ADDASYS.SOURCE]ADDA_FILE.FOR;3        

0115  1 C **  DECLARE VARIABLE FOR PLACEMENT OF NEW OPERATING INSTRUCTIONS CODE.
0116  1 C
0117  1 	INTEGER*4	NEWOPT
0118  1 C
0119  1 C **  STORAGE ARRAYS FOR AXA0 DEVICE.
0120  1 C
0121  1 	INTEGER*2	AD1_DATA1(120,16), AD1_DATA2(120,16)
0122  1 	INTEGER*4	AD1_TIME1(120),    AD1_TIME2(120)
0123  1 C
0124  1 C **  BUFFERS FOR AXA0 I/O
0125  1 C
0126  1 	INTEGER*2	AD1_BUFFER(16), DA1_BUFFER(2)
0127  1 C
0128  1 C **  STORAGE ARRAYS FOR AXB0 DEVICE.
0129  1 C
0130  1 	INTEGER*2	AD2_DATA1(120,16), AD2_DATA2(120,16)
0131  1 	INTEGER*4	AD2_TIME1(120),    AD2_TIME2(120)
0132  1 C
0133  1 C **  BUFFERS FOR AXB0 I/O
0134  1 C
0135  1 	INTEGER*2	AD2_BUFFER(16), DA2_BUFFER(2)
0136  1 C
0137  1 C **  STORAGE ARRAYS FOR POST TEST DATA ANALYSIS OF DATA.
0138  1 C
0139  1 	INTEGER*2	AD8_DATA1(120,16), AD9_DATA1(120,16)
0140  1 	INTEGER*4	AD8_TIME1(120), AD9_TIME1(120)
0141  1 C
0142  1 C***************************************************************************
0143  1 C 
0144  1 C **  DECLARES THE SHARED COMMON.
0145  1 C
0146  1 	COMMON /ADDA_DATA/	AD1_DATA1, AD1_DATA2, AD1_BUFFER, DA1_BUFFER,
0147  1      &				AD1_TIME1, AD1_TIME2,
0148  1      &				AD2_DATA1, AD2_DATA2, AD2_BUFFER, DA2_BUFFER,
0149  1      &				AD2_TIME1, AD2_TIME2
0150  1 C
0151  1 	COMMON /ADDA_STORE/	AD8_DATA1, AD8_TIME1, AD8_PNTR, USE_LOGICAL8,
0152  1      &				AD9_DATA1, AD9_TIME1, AD9_PNTR, USE_LOGICAL9
0153  1 C
0154  1 	COMMON /ADDA_PNTRS/	PRV_PNTR1, CUR_PNTR1, AD1_PNTR,
0155  1      &				PRV_PNTR2, CUR_PNTR2, AD2_PNTR
0156  1 C
0157  1 	COMMON /ADDA_LOGIC/	START_STOP1, USE_LOGICAL1, START_STOP2, 
0158  1      &				USE_LOGICAL2, CLK_READY
0159  1 C
0160  1 	COMMON /ADDA_NMBR/	CLK_RATE, AD_NUMBR, DA_NUMBR, NEWOPT, CUR_TIME,
0161  1      &				AD_CHNL, DA_CHNL
0162  1 C
0163  1 C************************************************
0164  1 C
0165  1 C **  DECLARE FOLLOWING ROUTINES AS EXTERNAL TO NORMAL PROGRAM.
0166  1 C
0167  1 	EXTERNAL	SYS$CREMBX
0168  1 	EXTERNAL	SYS$DELMBX
0169  1 	EXTERNAL	SYS$DASSGN
0170  1 	EXTERNAL	SYS$WAITFR
0171  1 	EXTERNAL	SYS$SETEF

ADDA_FILE                                                       20-Nov-1990 18:08:22	VAX FORTRAN V5.4-79                 Page   4
                                                                14-Jul-1988 19:37:17	LIB4:[ADDASYS.SOURCE]ADDA_FILE.FOR;3        

0172  1 	EXTERNAL	SYS$DACEFC
0173  1 	EXTERNAL	SYS$DLCEFC
0174  1 	EXTERNAL	SYS$ASCEFC
0175  1 	EXTERNAL	SYS$CLREF
0176  1 C
0177    C
0178    C **  GET DEVICE NAME FROM THE COMMAND LINE THAT THE PROGRAM WORKS FOR.
0179    C
0180    	CALL LIB$GET_FOREIGN(AD_IN,'String: ',LEN_AD)
0181    	CALL STR$TRIM(AD_IN, AD_IN(1:LEN_AD), LEN_AD)
0182    C
0183    C **  DECLARE THE EVENT CLUSTER USED FOR CONTROLLING THE DATA FILING.
0184    C
0185    	CEFN = 96
0186    C
0187    C **  SET UP POINTERS TO BE USED BY THIS PROGRAM.
0188    C
0189    	IF (AD_IN(1:LEN_AD) .EQ. 'AXA0' ) THEN
0190    C
0191    C **  EVENT FLAG FOR DEVICE AXA0 DATA FILING.
0192    C
0193    		IEFN  = 110
0194    C
0195    C **  LOGICAL UNIT NUMBER USED BY MAILBOX'S
0196    C
0197    		AD_LUN = 90
0198    C
0199    C **  DEVICE NUMBER USED BY DATABASE.
0200    C
0201    		MYDEV = 1
0202    	ELSE IF (AD_IN(1:LEN_AD) .EQ. 'AXB0' )THEN
0203    C
0204    C **  EVENT FLAG FOR DEVICE AXB0 DATA FILING.
0205    C
0206    		IEFN  = 111
0207    C
0208    C **  LOGICAL UNIT NUMBER USED BY MAILBOX'S
0209    C
0210    		AD_LUN = 91
0211    C
0212    C **  DEVICE NUMBER USED BY DATABASE
0213    C
0214    		MYDEV = 2
0215    	ENDIF
0216    C
0217    C **  ASSOCIATE PROGRAM WITH DESIRE EVENT FLAG CLUSTER.
0218    C
0219    	STATUS = SYS$ASCEFC( %VAL(CEFN), 'ADDA_FINISH', ,)
0220    		IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS))
0221    C
0222    C **  CREATE FILE NAMES TO BE USED BY PROGRAM.
0223    C
0224    	ADDA_CONTROL = AD_IN(1:LEN_AD)//'_FILER'
0225    	AD_FILE	     = AD_IN(1:LEN_AD)//'_DATA'
0226    	AD_CONFIG    = AD_IN(1:LEN_AD)//'_CONFIG'
0227    C
0228    C **  DEFINE LENGTH OF THE ADDA_CONTROL VARIABLE STRING.

ADDA_FILE                                                       20-Nov-1990 18:08:22	VAX FORTRAN V5.4-79                 Page   5
                                                                14-Jul-1988 19:37:17	LIB4:[ADDASYS.SOURCE]ADDA_FILE.FOR;3        

0229    C
0230    	LEN_CTRL = LEN_AD + 6
0231    C
0232    C **  DISPLAY THE FILE NAMES DEFINED.
0233    C
0234    	TYPE *, AD_FILE(1:9)
0235    	TYPE *, AD_CONFIG(1:11)
0236    	TYPE *, ADDA_CONTROL(1:LEN_CTRL)
0237    C
0238    C **  INITIALIZE THE CONTROLLING VARIABLE.  VARIABLE CONTROLS ACTION OF PROGRAM.
0239    C
0240    	IFL = 0
0241    C
0242    C **  CHECK IF CONTROLLING VARIABLE EQUALS END CONDITION.
0243    C
0244    1000	IF (IFL .EQ. 9) GOTO 5000
0245    C
0246    C **  CHECK IF CONTROLLING VARIABLE INTENDS FOR TEST RESTART.
0247    C
0248    	IF (IFL .EQ. 3) THEN
0249    C
0250    C **  SET EVENT FLAG, TELLING TRIGGERING PROGRAM WE READ THE CONTROL SEQUENCE.
0251    C
0252    		STATUS = SYS$SETEF( %VAL(IEFN) )
0253    			IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS))
0254    C
0255    C **  CLOSE THE STORAGE DATA FILE.
0256    C
0257    		CLOSE(10)
0258    C
0259    	ENDIF
0260    C
0261    C **  OPEN A NEW STORAGE DATA FILE FOR THIS TEST.
0262    C
0263    	OPEN( UNIT = 10, FILE=AD_FILE,
0264         &		STATUS = 'NEW', FORM='UNFORMATTED' )
0265    C
0266    C **  OPEN A NEW CONFIGURATION FILE FOR THIS TEST.
0267    C
0268    	OPEN( UNIT = 11, FILE=AD_CONFIG, FORM='FORMATTED',
0269         &		STATUS = 'NEW', CARRIAGECONTROL = 'LIST' )
0270    C
0271    C		WRITE CONFIGURATIONS FOR AXx0: SETTINGS.
0272    C
0273    	CALL WRITE_CONFIG( MYDEV )
0274    C
0275    C **  CLOSE THE CONFIGURATION FILE.
0276    C
0277    	CLOSE(11)
0278    C
0279    C **  CREATE THE MAILBOX TO RECEIVE THE CONTROLLING INFORMATION.
0280    C
0281    	STATUS = SYS$CREMBX( %VAL(1), AD_CHAN, , , , , ADDA_CONTROL(1:LEN_CTRL) )
0282    		IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS))
0283    C
0284    C **  OPEN THE MAILBOX FOR READING OF CONTROL INFORMATION.
0285    C

ADDA_FILE                                                       20-Nov-1990 18:08:22	VAX FORTRAN V5.4-79                 Page   6
                                                                14-Jul-1988 19:37:17	LIB4:[ADDASYS.SOURCE]ADDA_FILE.FOR;3        

0286    	OPEN( UNIT = AD_LUN, FILE=ADDA_CONTROL(1:LEN_CTRL),
0287         &		CARRIAGECONTROL = 'LIST', STATUS = 'NEW' )
0288    C
0289    C **  PLACE PROGRAM IN READ STATE ON THE MAILBOX.
0290    C
0291    2000	READ(AD_LUN,50,END=2000) IPRV, IFL
0292    50	FORMAT(2I2)
0293    C
0294    C **  DISPLAY INFORMATION PASSED TO LOGFILE.
0295    C
0296    	TYPE *, 'READ DATA FROM MAINIO PROGRAM, IPRV = ',IPRV,' IFL = ',IFL
0297    C
0298    C **  IF DEVICE NUMBER PASSED IS GREATER THAN 2 THEN LOOP BACK TO RESTART.
0299    C **  THE DEVICE NUMBER IS ACTUALLY A CONTROLLING VARIABLE THIS TIME.
0300    C
0301    	IF (IFL .GT. 2) GOTO 1000
0302    C
0303    C **  CHECK IF THE DEVICE NUMBER AND THE DEVICE FOR THIS PROGRAM ARE SAME.
0304    C
0305    	IF (MYDEV .NE. IFL) GOTO 3000
0306    C
0307    C **  IF DEVICE NUMBER IS 1 THEN WORK ON AXA0 ARRAYS.
0308    C
0309    	IF (IFL .EQ. 1) THEN
0310    C
0311    C **  CHECK WHICH ARRAY WE ARE GOING TO STORE.
0312    C
0313    		IF (IPRV .EQ. 1) THEN
0314    C
0315    C **  MOVE DATA TO FILER RECORD FOR STORAGE.
0316    C
0317    			DO II = 1,120
0318    				DO KK = 1,16
0319    					FILE_BUFFER.DATA(II,KK) = AD1_DATA1(II,KK)
0320    				ENDDO
0321    				FILE_BUFFER.TIME(II) = AD1_TIME1(II)
0322    			ENDDO
0323    C
0324    C **  CHECK IF OTHER ARRAY IS ONE WE ARE SUPPOSED TO STORE.
0325    C
0326    		ELSE IF (IPRV .EQ. 2) THEN
0327    C
0328    C **  MOVE DATA TO FILER RECORD FOR STORAGE.
0329    C
0330    			DO II = 1,120
0331    				DO KK = 1,16
0332    					FILE_BUFFER.DATA(II,KK) = AD1_DATA2(II,KK)
0333    				ENDDO
0334    				FILE_BUFFER.TIME(II) = AD1_TIME2(II)
0335    			ENDDO
0336    C
0337    		ENDIF
0338    C
0339    C **  CHECK IF THE DEVICE NUMBER IS FOR AXB0 FILING.
0340    C
0341    	ELSE IF (IFL .EQ. 2) THEN
0342    C

ADDA_FILE                                                       20-Nov-1990 18:08:22	VAX FORTRAN V5.4-79                 Page   7
                                                                14-Jul-1988 19:37:17	LIB4:[ADDASYS.SOURCE]ADDA_FILE.FOR;3        

0343    C **  CHECK WHICH ARRARY WE ARE TO STORE.
0344    C
0345    		IF (IPRV .EQ. 1) THEN
0346    C
0347    C **  MOVE DATA INTO RECORD FOR STORAGE.
0348    C
0349    			DO II = 1,120
0350    				DO KK = 1,16
0351    					FILE_BUFFER.DATA(II,KK) = AD2_DATA1(II,KK)
0352    				ENDDO
0353    				FILE_BUFFER.TIME(II) = AD2_TIME1(II)
0354    			ENDDO
0355    C
0356    C **  SEE IF OTHER ARRAY IS ONE WE ARE TO STORE.
0357    C
0358    		ELSE IF (IPRV .EQ. 2) THEN
0359    C
0360    C **  MOVE DATA INTO RECORD FOR STORAGE.
0361    C
0362    			DO II = 1,120
0363    				DO KK = 1,16
0364    					FILE_BUFFER.DATA(II,KK) = AD2_DATA2(II,KK)
0365    				ENDDO
0366    				FILE_BUFFER.TIME(II) = AD2_TIME2(II)
0367    			ENDDO
0368    C
0369    		ENDIF
0370    C
0371    	ENDIF
0372    C
0373    C **  SET THE EVENT FLAG SAYING DATA HAS BEEN MOVED FROM ARRAY AND CONTROLLING
0374    C **  PROGRAM CAN CONTINUE WITH ITS OPERATIONS.
0375    C
0376    	TYPE *, 'SET EVENT FLAG FOR DEVICE:  ',IEFN
0377    C
0378    3000	STATUS = SYS$SETEF( %VAL(IEFN) )
0379    		IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS))
0380    C
0381    C  **  CHECK ONE LAST TIME IF WE SHOULD BE DOING ANYTHING.
0382    C
0383    	IF (MYDEV .NE. IFL) GOTO 2000
0384    C
0385    	TYPE *, 'WRITE DATA TO FILE...'
0386    C
0387    C **  MOVE DATA TO THE FILE.
0388    C
0389    	WRITE(10) FILE_BUFFER
0390    C
0391    C **  CLOSE THE FILE, SO THE AD_COPY ROUTINE CAN GET ACCURATE COPIES OF THE
0392    C **  FILE FOR REAL-TIME ARCHIVAL OF DATA, IN CASE SYSTEM CRASHES.
0393    C
0394    	CLOSE(UNIT=10, STATUS='SAVE')
0395    C
0396    C **  RE-OPEN THE FILE FOR APPENDING NEW DATA NEXT TIME AROUND.
0397    C
0398    	OPEN( UNIT = 10, FILE=AD_FILE, ACCESS='APPEND',
0399         &		STATUS = 'OLD', FORM='UNFORMATTED' )

ADDA_FILE                                                       20-Nov-1990 18:08:22	VAX FORTRAN V5.4-79                 Page   8
                                                                14-Jul-1988 19:37:17	LIB4:[ADDASYS.SOURCE]ADDA_FILE.FOR;3        

0400    C
0401    	TYPE *, 'RETURN TO MAILBOX FOR NEXT DATA SET.'
0402    C
0403    C **  RETURN TO MAILBOX READ.
0404    C
0405    	GOTO 2000
0406    C
0407    C **  SET EVENT FLAG TELLING PROGRAM WE RECEIVED THE CONTROLLING CODE.
0408    C
0409    5000	STATUS = SYS$SETEF( %VAL(IEFN) )
0410    		IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS))
0411    C
0412    C **  CLOSE DATA FILE.
0413    C
0414    	CLOSE(UNIT=10, STATUS='SAVE')
0415    C
0416    C **  CLOSE THE MAILBOX.
0417    C
0418    	CLOSE(UNIT=AD_LUN)
0419    C
0420    C **  DELETE THE MAILBOX.
0421    C
0422    	STATUS = SYS$DELMBX( %VAL(AD_CHAN) )
0423    		IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS))
0424    C
0425    C **  DEASSIGN CHANNELS TO MAILBOX.
0426    C
0427    	STATUS = SYS$DASSGN( %VAL(AD_CHAN) )
0428    		IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS))
0429    C
0430    	TYPE *, 'CLOSE DOWN DATA STORAGE...'
0431    C
0432    C **  END OF PROGRAM.
0433    C
0434    	END

ADDA_FILE                                                       20-Nov-1990 18:08:22	VAX FORTRAN V5.4-79                 Page   9
01                                                              14-Jul-1988 19:37:17	LIB4:[ADDASYS.SOURCE]ADDA_FILE.FOR;3        

PROGRAM SECTIONS

    Name				 Bytes   Attributes

  0 $CODE                                 1352   PIC CON REL LCL   SHR   EXE   RD NOWRT LONG
  1 $PDATA                                 208   PIC CON REL LCL   SHR NOEXE   RD NOWRT LONG
  2 $LOCAL                                5120   PIC CON REL LCL NOSHR NOEXE   RD   WRT LONG
  3 ADDA_DATA                            17352   PIC OVR REL GBL   SHR NOEXE   RD   WRT LONG
  4 ADDA_STORE                            8656   PIC OVR REL GBL   SHR NOEXE   RD   WRT LONG
  5 ADDA_PNTRS                              24   PIC OVR REL GBL   SHR NOEXE   RD   WRT LONG
  6 ADDA_LOGIC                              20   PIC OVR REL GBL   SHR NOEXE   RD   WRT LONG
  7 ADDA_NMBR                             2924   PIC OVR REL GBL   SHR NOEXE   RD   WRT LONG

    Total Space Allocated                35656


ENTRY POINTS

    Address  Type  Name          

  0-00000000       ADDA_FILE     


VARIABLES

    Address  Type  Name              Address  Type  Name              Address  Type  Name              Address  Type  Name          

  5-00000008  I*4  AD1_PNTR        5-00000014  I*4  AD2_PNTR        4-000010E0  I*4  AD8_PNTR        4-000021C8  I*4  AD9_PNTR      
  2-000010E0  CHAR ADDA_CONTROL    2-000011E0  I*2  AD_CHAN         2-00001160  CHAR AD_CONFIG       2-00001120  CHAR AD_FILE       
  2-000011A0  CHAR AD_IN           2-000011E4  I*4  AD_LUN              **      I*4  CEFN            7-00000000  R*4  CLK_RATE      
  6-00000010  L*4  CLK_READY       5-00000004  I*4  CUR_PNTR1       5-00000010  I*4  CUR_PNTR2       7-00000018  I*4  CUR_TIME      
  2-000011E8  I*4  IEFN            2-000011F4  I*4  IFL                 **      I*4  II              2-000011F8  I*4  IPRV          
      **      I*4  KK              2-000011EC  I*4  LEN_AD              **      I*4  LEN_CTRL        2-000011F0  I*4  MYDEV         
  7-00000014  I*4  NEWOPT              **      I*4  OPTION          5-00000000  I*4  PRV_PNTR1       5-0000000C  I*4  PRV_PNTR2     
  6-00000000  L*4  START_STOP1     6-00000008  L*4  START_STOP2         **      I*4  STATUS              **      I*4  SYS$BINTIM    
      **      I*4  SYS$SETIMR      6-00000004  L*4  USE_LOGICAL1    6-0000000C  L*4  USE_LOGICAL2    4-000010E4  L*4  USE_LOGICAL8  
  4-000021CC  L*4  USE_LOGICAL9  


RECORDS

    Address   Name          Structure           Bytes

  2-00000000  FILE_BUFFER   FILE_LIST            4320


ARRAYS

    Address  Type  Name                Bytes  Dimensions

  3-00001E00  I*2  AD1_BUFFER             32  (16)
  3-00000000  I*2  AD1_DATA1            3840  (120, 16)
  3-00000F00  I*2  AD1_DATA2            3840  (120, 16)
  3-00001E24  I*4  AD1_TIME1             480  (120)
  3-00002004  I*4  AD1_TIME2             480  (120)
  3-00003FE4  I*2  AD2_BUFFER             32  (16)
  3-000021E4  I*2  AD2_DATA1            3840  (120, 16)

ADDA_FILE                                                       20-Nov-1990 18:08:22	VAX FORTRAN V5.4-79                 Page  10
01                                                              14-Jul-1988 19:37:17	LIB4:[ADDASYS.SOURCE]ADDA_FILE.FOR;3        

  3-000030E4  I*2  AD2_DATA2            3840  (120, 16)
  3-00004008  I*4  AD2_TIME1             480  (120)
  3-000041E8  I*4  AD2_TIME2             480  (120)
  4-00000000  I*2  AD8_DATA1            3840  (120, 16)
  4-00000F00  I*4  AD8_TIME1             480  (120)
  4-000010E8  I*2  AD9_DATA1            3840  (120, 16)
  4-00001FE8  I*4  AD9_TIME1             480  (120)
  7-00000004  I*4  AD_NUMBR                8  (2)
  3-00001E20  I*2  DA1_BUFFER              4  (2)
  3-00004004  I*2  DA2_BUFFER              4  (2)
  7-0000000C  I*4  DA_NUMBR                8  (2)


RECORD ARRAYS

    Address   Name          Structure           Bytes  Dimensions

  7-0000001C  AD_CHNL       AD_LIST              2560  (2, 16)
  7-00000A1C  DA_CHNL       DA_LIST               336  (2, 2)


LABELS

    Address   Label       Address   Label       Address   Label       Address   Label       Address   Label   

  1-000000B1  50'       0-00000178  1000      0-0000021C  2000      0-00000425  3000      0-000004B4  5000    


FUNCTIONS AND SUBROUTINES REFERENCED

  Type  Name                              Type  Name                              Type  Name                            

        FOR$CLOSE                               FOR$OPEN                                LIB$GET_FOREIGN                 
        LIB$SIGNAL                              STR$TRIM                           I*4  SYS$ASCEFC                      
   I*4  SYS$CREMBX                         I*4  SYS$DASSGN                         I*4  SYS$DELMBX                      
   I*4  SYS$SETEF                               WRITE_CONFIG                    


COMMAND QUALIFIERS

  FOR/LIS/EXTEND ADDA_FILE

  /CHECK=(NOBOUNDS,OVERFLOW,NOUNDERFLOW)
  /DEBUG=(NOSYMBOLS,TRACEBACK)
  /DESIGN=(NOCOMMENTS,NOPLACEHOLDERS)
  /SHOW=(NODICTIONARY,NOINCLUDE,MAP,NOPREPROCESSOR,SINGLE)
  /STANDARD=(NOSEMANTIC,NOSOURCE_FORM,NOSYNTAX)
  /WARNINGS=(NODECLARATIONS,GENERAL,NOULTRIX,NOVAXELN)
  /CONTINUATIONS=19  /NOCROSS_REFERENCE  /NOD_LINES  /EXTEND_SOURCE
  /F77  /NOG_FLOATING  /I4  /NOMACHINE_CODE  /OPTIMIZE  /NOPARALLEL
  /NOANALYSIS_DATA
  /NODIAGNOSTICS
  /LIST=LIB4:[ADDASYS.SOURCE]ADDA_FILE.LIS;22                                                               
  /OBJECT=LIB4:[ADDASYS.SOURCE]ADDA_FILE.OBJ;1                                                                

ADDA_FILE                                                       20-Nov-1990 18:08:22	VAX FORTRAN V5.4-79                 Page  11
01                                                              14-Jul-1988 19:37:17	LIB4:[ADDASYS.SOURCE]ADDA_FILE.FOR;3        

COMPILATION STATISTICS

  Run Time:           6.07 seconds
  Elapsed Time:       7.86 seconds
  Page Faults:        860
  Dynamic Memory:     620 pages
