/SUBSC.V04 /8K FORTRAN LIBRARY /COPYRIGHT 1969 /DIGITAL EQUIPMENT CORP., MAYNARD, MASS. / / 8K FORTRAN SUBSCRIPT ROUTINE ENTRY SUBSC DUMMY A SUBSC, BLOCK 2 DCA DIM /STORE DIMENSION INFORMATION DCA TEM2 /ZERO FIRST SUBSCRIPT EQUIVALENT TAD I SUBSC /GET COF OF FIRST ARG DCA A /STORE IN DUMMY INC SUBSC# /POINT TO ADDRESS OF FIRST ARG TAD I SUBSC /GET ADRESS OF FIRST ARG DCA A# /STORE IN DUMMY ADRESS INC SUBSC# /POINT TO SECOND ARG CLA CMA /SUBTRACT ONE TAD I A /FROM FIRST ARG SNA /IS IT ZERO JMP U /IGNORE IF ZERO CALL 1,MPY /NON-ZERO...MULTIPLY ARG DIM /BY DIMENSION INFORMATION SPA /NEGATIVEIF FLOATING POINT CIA /SET POSITIVE DCA TEM2 /STORE PARTIAL INCREMENT U, TAD I SUBSC /GET CDF OF SECOND ARG DCA A /STORE IN DUMMY ISZ SUBSC# /POINT TO ADRESS OF SECOND ARG TAD I SUBSC /GET ADRESS OF SECOND ARG DCA A# /STORE IN DUMMY ADRESS ISZ SUBSC# /POINT TO BASE CDF CLA CMA /SUBTRACT ONE TAD I A /FROM SECOND SUBSCRIPT TAD TEM2 /ADD OTHER PART OF INCREMENT DCA TEM2 /STORE INCREMENT TAD DIM /GET DIMENSION INFORMATION SPA CLA /IF POSITIVE INTEGER TAD TEM2 /FLOATING POINT MULTIPLY BY 3 RAL CLL TAD TEM2 /FORM INCREMENT ISZ SUBSC# /SKIP OVER CDF TAD I SUBSC /ADD BASE ADRESS ISZ SUBSC# /PREPARE TO RETURN RETRN SUBSC /RETURN A, BLOCK 2 /DUMMY LOCATION DIM, 0 /DIMENSION INFORMATION TEM2, 0 /TEMPORARY END