; **************************************************************************** ; ; PDP-11 FORTRAN-77 V4.1 STANDARD OTS ODL FILE FOR RSX-11M/M-PLUS ; ; **************************************************************************** ; VERSION: 7 ;+ ; THIS FILE IS USED TO BUILD AN OVERLAID FORTRAN OTS THAT USES ; FCS-11 FOR I/O SUPPORT ; ; THIS FILE IS USED ON RSX-11M/M-PLUS ; ; THIS FILE BUILDS A 6000 WORD OVERLAY STRUCTURE USING THE FOLLOWING: ; * NO FCS-11 RESIDENT LIBRARY (SEE STEP 7) ; * LONG ERROR MESSAGE TEXT (SEE STEP 3.1) ; * NO ANSI MAGTAPE SUPPORT ; THIS SIZE DOES NOT INCLUDE THE OTS OR FCS IMPURE STORAGE OR I/O BUFFERS. ; ; THIS FILE USES THE LONG ERROR MESSAGE TEXT MODULE; USING THE NULL TEXT MODULE ; REDUCES THE SIZE BY APPROXIMATELY 1100 WORDS (SEE STEP 3.1). ; ; THIS FILE ASSUMES THAT THE PDP-11 FORTRAN-77 OTS IS CONTAINED IN: ; LB:[1,1]F77OTS.OLB ; ; SAMPLE USE OF THIS FILE IS AS FOLLOWS: ; 1. CREATE THE OVERLAY DESCRIPTION FILE FOR YOUR PROGRAM. ; 2. ADD THE TWO REQUIRED OTS REFERENCES: ; "OTSROT" TO THE ROOT, ; "OTSALL" AS A CO-TREE ; 3. EDIT THIS FILE AS NECESSARY TO REMOVE UNNEEDED OTS MODULES, OR ; TO USE THE FCS-11 RESIDENT LIBRARY. ; 4. REFERENCE THIS FILE IN YOUR ODL AS AN INDIRECT FILE. ; ; EXAMPLE USER ODL FOR A SIMPLE PROGRAM CONTAINING A MAIN PROGRAM ; AND THREE OVERLAYS, PRE, PROC, POST: ; ; .ROOT MAIN-OTSROT-*(A,B,C),OTSALL ; A: .FCTR PRE ; B: .FCTR PROC ; C: .FCTR POST ; @LB:[1,1]FCS11M ; .END ; ; TO CUSTOMIZE THIS STANDARD ODL FILE, DELETE THOSE MODULES THAT ; SUPPORT FUNCTIONS THAT ARE NOT REQUIRED. THIS IS DONE BY ; DELETING LIBRARY EXTRACT REFERENCES TO THE MODULE: ; FOR EXAMPLE: ; TO DELETE SUPPORT FOR THE OPEN STATEMENT, MODULE $OPNSTM IS ; ELIMINATED FROM THE FACTOR OTSOP1: ; OTSOP1: .FCTR LB:[1,1]F4POTS/LB:$OPEN:$OPNSTM ; BECOMES ; OTSOP1: .FCTR LB:[1,1]F4POTS/LB:$OPEN ; ; IF ANY FACTOR IS COMPLETELY ELIMINATED, THEN THE REFERENCING FACTOR ; MUST BE EDITED TO ELIMINATE THE REFERENCE OR UNDEFINED MODULE ; ERRORS WILL BE GENERATED BY THE TASK BUILDER. ; ; ANY MODULE NAME THAT IS NOT LISTED AS AN OPTION MUST BE INCLUDED. ; ; WITHIN THIS ODL FILE, FACTORS MAY BE COMBINED. ; ;- ; ; **************************************************************************** ; STEP 1 OTSROT ; ******************** ; THE FACTOR "OTSROT" ; MUST BE INCLUDED IN THE ROOT SEGMENT OF YOUR PROGRAM ODL ; **************************************************************************** ; OTSROT: .FCTR LB:[1,1]F77OTS/LB:$OTV ; **************************************************************************** ; STEP 2 OTSALL ; ******************** ; THE FACTOR "OTSALL" ; MUST BE INCLUDED AS A CO-TREE IN YOUR PROGRAM ODL ; **************************************************************************** ; .NAME OTS OTSALL: .FCTR OTS-OTSCM0,OTSFRT ; **************************************************************************** ; STEP 3 OTSCOM ; ******************** ; THE FACTOR "OTSCOM" DECLARES MODULES WHICH MUST BE ALWAYS RESIDENT. ; ; **************************************************************************** ; .NAME OTSCOM OTSCM0: .FCTR OTSCOM-OTSCM1-OTSCM2-OTSCM3-*(OTSIO0,OTSMS0,OTSMT0) OTSCM1: .FCTR LB:[1,1]F77OTS/LB:$ERRPT:$ERRLO:$ERRMO:$FPERR:$R50:$FPPUTI OTSCM2: .FCTR LB:[1,1]F77OTS/LB:$NAM:$SAVRG:$CHASN ; **************************************************************************** ; STEP 3.1 SELECT ERROR MESSAGE TEXT ; ************** ; IF THE LONG MESSAGE TEXT IS DESIRED, INCLUDE THE FIRST LINE. ; IF THE NULL MESSAGE TEXT IS DESIRED, INCLUDE THE SECOND LINE. ; ;OTSCM3: .FCTR LB:[1,1]F77OTS/LB:$ERTXT OTSCM3: .FCTR LB:[1,1]F77OTS/LB:$SHORT ; **************************************************************************** ; STEP 4 SELECT I/O STATEMENT SUPPORT ; ************** ; .NAME OTSIO OTSIO0: .FCTR OTSIO-OTSIO1-OTSIO2-OTSIO3-*(OTSOP0,OTSRW0) OTSIO1: .FCTR LB:[1,1]F77OTS/LB:$FCHNL:$INITIO ; **************************************************************************** ; STEP 4-1 SEQUENTIAL I/O STATEMENTS ; ************** ; ; SELECT FROM THE FOLLOWING FACTOR THOSE SEQUENTIAL I/O STATEMENTS ; THAT ARE REQUIRED: ; $ISF - SEQUENTIAL FORMATTED INPUT ; $ISU - SEQUENTIAL UNFORMATTED INPUT ; $ISL - SEQUENTIAL LIST-DIRECTED INPUT ; $OSF - SEQUENTIAL FORMATTED OUTPUT ; $OSU - SEQUENTIAL UNFORMATTED OUTPUT ; $OSL - SEQUENTIAL LIST-DIRECTED OUTPUT ; $ENDF - ENDFILE STATEMENT ; $ENCDEC - ENCODE/DECODE AND INTERNAL FILE STATEMENTS ; OTSIO2: .FCTR LB:[1,1]F77OTS/LB:$ISF:$OSF:$ENDF:$ENCDEC ; **************************************************************************** ; STEP 4-2 DIRECT I/O STATEMENTS ; ************** ; ; SELECT FROM THE FOLLOWING FACTOR THOSE DIRECT I/O STATEMENTS ; THAT ARE REQUIRED: ; $IRF - DIRECT FORMATTED INPUT ; $IRU - DIRECT UNFORMATTED INPUT ; $ORF - DIRECT FORMATTED OUTPUT ; $ORU - DIRECT UNFORMATTED OUTPUT OTSIO3: .FCTR LB:[1,1]F77OTS/LB:$IRU:$ORU ; **************************************************************************** ; STEP 4-3 SELECT FILE OPEN/CLOSE SUPPORT ; ************** ; ; SELECT FILE MAINPULATION SUPPORT: ; $OPNSTM - OPEN STATEMENT ; $CLSSTM - CLOSE STATEMENT ; $ASSIGN - CALL ASSIGN SUBROUTINE ; $CLSCAL - CALL CLOSE SUBROUTINE ; $FDBSET - CALL FDBSET SUBROUTINE ; $DEFF - DEFINEFILE AND FIND STATEMENTS ; ; **************************************************************************** ; .NAME OTSOPN OTSOP0: .FCTR OTSOPN-OTSOP1-*(OTSOP2,OTSOP3) OTSOP1: .FCTR LB:[1,1]F77OTS/LB:$OPEN:$OPNSTM OTSOP2: .FCTR LB:[1,1]F77OTS/LB:$FNBST:$ASSIGN OTSOP3: .FCTR LB:[1,1]F77OTS/LB:$CLOSE:$CLSSTM:$CLSCAL:$DEFF ; **************************************************************************** ; STEP 4-4 SELECT READ/WRITE STATEMENT SUPPORT ; ************** ; ; SELECT ALL MODULES THAT ARE REQUIRED: ; ; SELECT FORMAT CONVERSION ROUTINES: ; $CONVR - D,E,F,G FORMAT CONVERSIONS ; $CONVI - I FORMAT CONVERSION ; $CONVL - L FORMAT CONVERSIONS ; $CONVZ - O,Z FORMAT CONVERSIONS ; ; SELECT FORMAT PROCESSING ROUTINES: ; $FIO - FORMATTED I/O PROCESSING ; $LSTI - LIST-DIRECTED INPUT PROCESSING ; $LSTO - LIST-DIRECTED OUTPUT PROCESSING ; ; SELECT I/O PROCESSING SUPPORT: ; $GETS - SEQUENTIAL INPUT ; $PUTS - SEQUENTIAL OUTPUT ; $GETR - DIRECT INPUT ; $PUTR - DIRECT OUTPUT ; $CKRCN - DIRECT INPUT OR OUTPUT ; ; SELECT OPTIONAL I/O SUPPORT MODULES: ; $IOARY - TRANSMIT ENTIRE ARRAY IN I/O LIST ; $IOVARY - TRANSMIT ENTIRE VIRTUAL ARRAY IN I/O LIST ; $FMTCV - RUN-TIME FORMAT CONVERSIONS ; $REWIND - REWIND STATEMENT ; $BACKSP - BACKSPACE STATEMENT ; ; **************************************************************************** ; .NAME OTSRW .PSECT $$FIOC,GBL,RO,I,CON .PSECT $$FIOD,GBL,RO,D,CON OTSRW0: .FCTR OTSRW-LB:[1,1]F77OTS/LB:$IOARY:$IOELEM:$IOVARY-OTSRW1 OTSRW1: .FCTR OTSCNV-OTSGP-*(OTSFIO,OTSMIO) OTSFIO: .FCTR LB:[1,1]F77OTS/LB:$FIO-$$FIOC-$$FIOD OTSMIO: .FCTR LB:[1,1]F77OTS/LB:$FMTCV:$FCSRMS:$REWIND:$BACKSP OTSCNV: .FCTR LB:[1,1]F77OTS/LB:$CONVR:$CONVI:$CONVL:$CONVZ OTSGP: .FCTR LB:[1,1]F77OTS/LB:$GETS:$PUTS:$GETR:$PUTR:$CKRCN ; **************************************************************************** ; STEP 5 SELECT MATH LIBRARY AND COMPILED-CODE SUPPORT ROUTINES ; ************** ; ; SELECT THOSE FUNCTIONS WHICH ARE REQUIRED. ; NOTE THAT THE FUNCTIONS IN SEGMENT OTSMTH ARE CALLED FROM ; MANY OF THE OTHER FUNCTIONS IN THE OTHER SEGMENTS ; ; MATH FUNCTIONS MARKED: (INLINE) ARE NORMALLY PERFORMED ; INLINE AND NO EXTERNAL REFERENCE IS REQUIRED. ; ; SOME MATH FUNCTIONS CONTAIN BOTH THE SINGLE AND DOUBLE ; PRECISION VERSIONS IN A SINGLE MODULE (EG. $EXP). ; THESE ARE LISTED UNDER THE SINGLE PRECISION FUNCTIONS. ; ; ************** ; CHARACTER COMPILED CODE SUPPORT ROUTINES: ; $CHCMP - CHARACTER COMPARISON ; $LGE - LEXICAL GREATER THAN OR EQUAL TO (INLINE) ; $LGT - LEXICAL GREATER THAN (INLINE) ; $LLE - LEXICAL LESS THAN OR EQUAL TO (INLINE) ; $LLT - LEXICAL LESS THAN (INLINE) ; ; ************** ; INTEGER*2 FUNCTIONS: ; $IABS - INTEGER*2 ABSOLUTE VALUE (INLINE) ; $ICHAR - CONVERT A SINGLE CHARACTER INTO AN INTEGER (INLINE) ; $INDEX - FIND THE OFFSET INTO A STRING OF A SUBSTRING ; $LEN - LENGTH OF A CHARACTER ELEMENT (INLINE) ; $IFIX - REAL/DOUBLE TO INTEGER*2 CONVERSION (INLINE) ; $MAX0 - INTEGER*2 MAX OF INTEGER*2 (INLINE) ; $MIN0 - INTEGER*2 MIN OF INTEGER*2 (INLINE) ; $NINT - NEAREST INTEGER OF REAL/DOUBLE ; $MOD - INTEGER*2 MOD (INLINE) ; $ISIGN - INTEGER*2 SIGN TRANSFER ; $IDIM - INTEGER*2 DIM ; $IAND - INTEGER*2 AND (INLINE) ; $IOR - INTEGER*2 OR (INLINE) ; $IEOR - INTEGER*2 EXCLUSIVE OR (INLINE) ; $INOT - INTEGER*2 NOT (INLINE) ; $ISHFT - INTEGER*2 SHIFT ; $PWII - INTEGER*2 EXPONENTIATION ; ; ************** ; INTEGER*4 FUNCTIONS: ; $JABS - INTEGER*4 ABSOLUTE VALUE (INLINE) ; $I4FIX - REAL/DOUBLE TO INTEGER*4 CONVERSION (INLINE) ; $JMIX - REAL/INTEGER*4 MAX/MIN OF INTEGER*4 ; $RJMIX - INTEGER*4 MAX/MIN OF REAL (INLINE) ; $JMOD - INTEGER*4 MOD ; $JSIGN - INTEGER*4 SIGN TRANSFER ; $JDIM - INTEGER*4 DIM ; $JAND - INTEGER*4 AND (INLINE) ; $JOR - INTEGER*4 OR (INLINE) ; $JEOR - INTEGER*4 EXCLUSIVE OR (INLINE) ; $JNOT - INTEGER*4 NOT (INLINE) ; $JSHFT - INTEGER*4 SHIFT ; $MLJ - INTEGER*4 MULTIPLICATION ; $DVJ - INTEGER*4 DIVISION ; $PWJJ - INTEGER*4 EXPONENTIATION ; ; ************** ; REAL*4 FUNCTIONS: ; $ABS - REAL ABSOLUTE VALUE (INLINE) ; $EXP - REAL/DOUBLE EXPONENTIAL ; $ALOG - REAL NATURAL/COMMON LOGARITHM ; $SIN - REAL SINE/COSINE ; $SQRT - REAL/DOUBLE SQUARE ROOT ; $TAN - REAL TANGENT ; $ACOS - REAL ARC COSINE ; $ASIN - REAL ARC SINE ; $ATAN - REAL ARC TANGENT ; $COSH - REAL HYPERBOLIC COSINE ; $SINH - REAL HYPERBOLIC SINE ; $TANH - REAL HYPERBOLIC TANGENT ; $AMIX0 - REAL MAX/MIN OF INTEGER*2 (INLINE) ; $AMIX1 - REAL/INTEGER*2 MAX/MIN OF REAL (INLINE) ; $ANINT - REAL/DOUBLE NEAREST INTEGER OF REAL/DOUBLE ; $AINT - REAL TO REAL TRUNCATION ; $AMOD - REAL MOD ; $DIM - REAL DIM ; $SNGL - DOUBLE TO REAL CONVERSION (INLINE) ; $SIGN - REAL SIGN TRANSFER ; $FLOAT - INTEGER*2 TO REAL CONVERSION (INLINE) ; $FLOTJ - INTEGER TO REAL/DOUBLE CONVERSION (INLINE) ; $PWRI - REAL/DOUBLE ** INTEGER ; $PWRR - REAL ** REAL ; ; ************** ; REAL*8 FUNCTIONS: ; $DABS - DOUBLE ABSOLUTE VALUE (INLINE) ; $DLOG - DOUBLE NATURAL/COMMON LOGARITHM ; $DSIN - DOUBLE SINE/COSINE ; $DTAN - DOUBLE TANGENT ; $DACOS - DOUBLE ARC COSINE ; $DASIN - DOUBLE ARC SINE ; $DATAN - DOUBLE ARC TANGENT ; $DCOSH - DOUBLE HYPERBOLIC COSINE ; $DSINH - DOUBLE HYPERBOLIC SINE ; $DTANH - DOUBLE HYPERBOLIC TANGENT ; $DMIX1 - DOUBLE MAX/MIN OF DOUBLE (INLINE) ; $DINT - DOUBLE TO DOUBLE TRUNCATION ; $DMOD - DOUBLE MOD ; $DDIM - DOUBLE DIM ; $DBLE - REAL TO DOUBLE CONVERSION (INLINE) ; $DSIGN - DOUBLE SIGN TRANSFER ; $DPROD - DOUBLE PRODUCT OF 2 REALS ; $PWDD - REAL/DOUBLE ** REAL/DOUBLE ; ; ************** ; COMPLEX FUNCTIONS: ; $CABS - COMPLEX ABSOLUTE VALUE ; $CEXP - COMPLEX EXPONENTIAL ; $CLOG - COMPLEX LOGARITHM ; $CSIN - COMPLEX SINE/COSINE ; $CSQRT - COMPLEX SQUARE ROOT ; $REAL - COMPLEX TO REAL CONVERSION (INLINE) ; $AIMAG - COMPLEX IMAGINARY TO REAL CONVERSION ; $CMPLX - REAL TO COMPLEX CONVERSION ; $CONJG - COMPLEX CONJUGATE ; $ADC - COMPLEX ADD/SUBTRACT ; $MLC - COMPLEX MULTIPLICATION ; $DVC - COMPLEX DIVISION ; $CMC - COMPLEX COMPARE ; $TSC - COMPLEX TEST FOR ZERO ; $NGC - COMPLEX NEGATE ; $PWCI - COMPLEX ** INTEGER ; $PWCC - COMPLEX ** COMPLEX ; ; **************************************************************************** ; .NAME OTSMTH OTSMT0: .FCTR OTSMTC-*(OTSMA,OTSMB,OTSMC,OTSMD) OTSMTC: .FCTR OTSMTH-LB:[1,1]F77OTS/LB:$EXP:$SQRT:$ALOG:$ATAN:$SIN:$SWPXY ; ******************** ; STEP 5-1 OTSMRI INTEGER*2, REAL*4 AND CHARACTER SUPPORT FUNCTIONS ; ******************** ; .NAME OTSMRI OTSMA: .FCTR OTSMRI-OTSM1A-OTSM1B-OTSM1C-OTSM1D-OTSM1E-OTSM1F OTSM1A: .FCTR LB:[1,1]F77OTS/LB:$ABS:$ACOS:$AINT:$AMOD:$AMIX0:$AMIX1 OTSM1B: .FCTR LB:[1,1]F77OTS/LB:$ASIN:$ANINT:$FLOAT:$FLOTJ:$TAN:$PWRI:$PWRR OTSM1C: .FCTR LB:[1,1]F77OTS/LB:$SINH:$TANH:$COSH:$SIGN:$SNGL:$DIM OTSM1D: .FCTR LB:[1,1]F77OTS/LB:$IABS:$IAND:$IEOR:$IOR:$INOT:$MAX0:$MIN0:$MOD OTSM1E: .FCTR LB:[1,1]F77OTS/LB:$ISHFT:$ISIGN:$IFIX:$NINT:$IDIM:$PWII OTSM1F: .FCTR LB:[1,1]F77OTS/LB:$INDEX:$CHCMP ; ******************** ; STEP 5-2 OTSMDP REAL*8 FUNCTIONS ; ******************** ; .NAME OTSMDP OTSMB: .FCTR OTSMDP-OTSM2A-OTSM2B-OTSM2C OTSM2A: .FCTR LB:[1,1]F77OTS/LB:$DABS:$DACOS:$DASIN:$DATAN:$DSIN:$DMOD:$DMIX1 OTSM2B: .FCTR LB:[1,1]F77OTS/LB:$DDIM:$DSINH:$DCOSH:$DTANH:$DPROD:$DSIGN OTSM2C: .FCTR LB:[1,1]F77OTS/LB:$DINT:$DBLE:$DTAN:$DLOG:$PWDD ; ******************** ; STEP 5-3 OTSMI4 INTEGER*4 FUNCTIONS ; ******************** ; .NAME OTSMI4 OTSMC: .FCTR OTSMI4-OTSM3A-OTSM3B OTSM3A: .FCTR LB:[1,1]F77OTS/LB:$JABS:$JAND:$JEOR:$JOR:$JNOT:$JMIX:$JMOD:$PWJJ OTSM3B: .FCTR LB:[1,1]F77OTS/LB:$JSHFT:$JSIGN:$I4FIX:$JDIM:$RJMIX:$MLJ:$DVJ ; ******************** ; STEP 5-4 OTSMCX COMPLEX FUNCTIONS ; ******************** ; .NAME OTSMCX OTSMD: .FCTR OTSMCX-OTSM4A-OTSM4B-OTSM4C OTSM4A: .FCTR LB:[1,1]F77OTS/LB:$AIMAG:$REAL:$CMPLX:$CONJG:$CABS OTSM4B: .FCTR LB:[1,1]F77OTS/LB:$FCALL:$CSIN:$CSQRT:$CEXP:$CLOG:$PWCJ:$PWCC OTSM4C: .FCTR LB:[1,1]F77OTS/LB:$ADC:$MLC:$DVC:$TSC:$CMC:$NGC ; **************************************************************************** ; STEP 6 SELECT MISCELLANEOUS SUPPORT FUNCTIONS AND SYSTEM SUBROUTINES ; ************** ; ; SELECT EACH SEGMENT AS REQUIRED, ; OTHERWISE DELETE ENTIRE LIBRARY REFERENCE FROM FACTOR ; ; $ARYCK - ARRAY SUBSCRIPT CHECKING (/CK COMPILER SWITCH) ; $MADB1 - ONE-DIMENSION ADJUSTABLE ARRAYS ; $MADB2 - TWO-DIMENSION ADJUSTABLE ARRAYS ; $MADBN - MULTI-DIMENSION ADJUSTABLE ARRAYS ; $STPPAU - STOP/PAUSE STATEMENTS ; $CGO - COMPUTED GOTO STATEMENT ; $AGO - ASSIGNED GOTO STATEMENT ; $EXIT - CALL EXIT SUBROUTINE ; ; **************************************************************************** ; OTSMS0: .FCTR *(OTSMS1,OTSMS2,OTSMS3,OTSMS4,OTSMS5,OTSMS6) ; ******************** ; STEP 6-1 OTSINI OTS INITIALIZATION ROUTINES ; ******************** ; .NAME OTSINI OTSMS1: .FCTR OTSINI-OTSIN1-OTSIN2 OTSIN1: .FCTR LB:[1,1]F77OTS/LB:$OTI:$VINIT:$STPPAU:$EXIT OTSIN2: .FCTR LB:[1,1]F77OTS/LB:$MADB1:$MADB2:$MADBN:$AGO:$CGO:$ARYCK ; ******************** ; STEP 6-2 OTSVRT VIRTUAL ARRAY SUPPORT ; ******************** ; .NAME OTSVRT OTSMS2: .FCTR OTSVRT-LB:[1,1]F77OTS/LB:$VIRT:$MADBV ; ******************** ; STEP 6-3 OTSR50 RADIX-50 CONVERSIONS ; ******************** ; .NAME OTSR50 OTSMS3: .FCTR OTSR50-LB:[1,1]F77OTS/LB:$R50WD:$R50ASC:$IRAD50:$RAD50 ; ******************** ; STEP 6-4 OTSERR ERROR CONTROL SUBROUTINES ; ******************** ; .NAME OTSERR OTSMS4: .FCTR OTSERR-LB:[1,1]F77OTS/LB:$ERRSET:$ERRSNS:$ERRTST:$USEREX ; ******************** ; STEP 6-5 OTSTIM DATE/TIME ROUTINES ; ******************** ; .NAME OTSTIM OTSMS5: .FCTR OTSTIM-LB:[1,1]F77OTS/LB:$DATE:$TIME:$SECNDS:$IDATE ; ******************** ; STEP 6-6 OTSRAN RANDOM NUMBER GENERATOR ; ******************** ; .NAME OTSRAN OTSMS6: .FCTR OTSRAN-LB:[1,1]F77OTS/LB:$RAN:$RANDU:$RANDOM ; **************************************************************************** ; STEP 7 SELECT FCS MODULES ; ************** ; ; IF AN FCS RESIDENT LIBRARY IS IN USE, SELECT THE FIRST FACTOR ; IF AN FCS RESIDENT LIBRARY IN NOT AVAILABLE, SELECT THE SECOND FACTOR ; ; **************************************************************************** ; ;OTSFRT: .FCTR OTSFCS OTSFRT: .FCTR OTSFCS-*(OTSFOP,OTSFSQ,OTSFDA) .NAME OTSFCS OTSFCM: .FCTR LB:[1,1]SYSLIB/LB:SAVR1 OTSFOP: .FCTR OTSFO1,OTSFO2,OTSFO3,OTSFO4 OTSFO1: .FCTR LB:[1,1]SYSLIB/LB:.CSI1:.CSI2 OTSFO2: .FCTR LB:[1,1]SYSLIB/LB:PARSE OTSFO3: .FCTR LB:[1,1]SYSLIB/LB:OPFNB:FINIT OTSFO4: .FCTR LB:[1,1]SYSLIB/LB:CLOSE:DLFNB:$PRINT:GETDID:MRKDL OTSFSQ: .FCTR LB:[1,1]SYSLIB/LB:GETSQ:PUTSQ:PNTMRK OTSFDA: .FCTR LB:[1,1]SYSLIB/LB:GET:PUT:POSREC ; ****************************************************************************