User Tools

Site Tools


Action unknown: copypageplugin__copy
cdc:nos2.source:opl.opl871:deck:sslabel.003

Deck SSLABEL Part 003

1 Modification

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
06635  M00S06632.sslabel +++|*               THE SPECIFIED SUBFAMILY. THE AST IS SEARCHED
06636  M00S06633.sslabel +++|*               SEQUENTIALLY FOR AN EMPTY CARTRIDGE. IF NO EMPTY
06637  M00S06634.sslabel +++|*               CARTRIDGES EXIST, THEN * FLAG*  IS SET TO 1.
06638  M00S06635.sslabel +++|#
06639  M00S06636.sslabel +++|
06640  M00S06637.sslabel +++|
06641  M00S06638.sslabel +++|#
06642  M00S06639.sslabel +++|****  PROC SERAST - XREF LIST BEGIN.
06643  M00S06640.sslabel +++|#
06644  M00S06641.sslabel +++|
06645  M00S06642.sslabel +++|      XREF
06646  M00S06643.sslabel +++|        BEGIN
06647  M00S06644.sslabel +++|        PROC CRDAST;                 # READS AVAILABLE STREAM TABLE #
06648  M00S06645.sslabel +++|        PROC LBERR;                  # *SSLABEL* ERROR PROCESSOR #
06649  M00S06646.sslabel +++|        PROC LBRESP;                 # RESPONSE CODE PROCESSOR #
06650  M00S06647.sslabel +++|        END
06651  M00S06648.sslabel +++|
06652  M00S06649.sslabel +++|#
06653  M00S06650.sslabel +++|****  PROC SERAST - XREF LIST END.
06654  M00S06651.sslabel +++|#
06655  M00S06652.sslabel +++|
06656  M00S06653.sslabel +++|      DEF LISTCON #0#;               # DO NOT LIST COMDECKS #
06657  M00S06654.sslabel +++|*CALL COMBFAS
06658  M00S06655.sslabel +++|*CALL COMBCMD
06659  M00S06656.sslabel +++|*CALL COMBMCT
06660  M00S06657.sslabel +++|*CALL COMTLAB
06661  M00S06658.sslabel +++|*CALL COMTLBP
06662  M00S06659.sslabel +++|
06663  M00S06660.sslabel +++|*CALL COMTERR
06664  M00S06661.sslabel +++|
06665  M00S06662.sslabel +++|      ITEM FCTORD     U;             # EMPTY CARTRIDGE FCT ORDINAL #
06666  M00S06663.sslabel +++|      ITEM FLAG       I;             # ERROR FLAG #
06667  M00S06664.sslabel +++|      ITEM GROUP      I;             # SPECIFIED GROUP #
06668  M00S06665.sslabel +++|      ITEM I          I;             # INDUCTION VARIABLE #
06669  M00S06666.sslabel +++|      ITEM START      U;             # BEGINNING OF SEARCH #
06670  M00S06667.sslabel +++|      ITEM TERMX      U;             # END OF SEARCH #
06671  M00S06668.sslabel +++|                                               CONTROL EJECT;
06672  M00S06669.sslabel +++|
06673  M00S06670.sslabel +++|#
06674  M00S06671.sslabel +++|*     READ AST.
06675  M00S06672.sslabel +++|#
06676  M00S06673.sslabel +++|
06677  M00S06674.sslabel +++|      CRDAST(LBARG$FM[0],LBARG$SB[0],LBARG$SMID[0],ASTBADR,0,FLAG);
06678  M00S06675.sslabel +++|      IF FLAG NQ OK
06679  M00S06676.sslabel +++|      THEN
06680  M00S06677.sslabel +++|        BEGIN
06681  M00S06678.sslabel +++|        LBRESP(FLAG,0);
06682  M00S06679.sslabel +++|        RETURN;
06683  M00S06680.sslabel +++|        END
06684  M00S06681.sslabel +++|
06685  M00S06682.sslabel +++|#
06686  M00S06683.sslabel +++|*      SET AST BASED ARRAY POINTER.
06687  M00S06684.sslabel +++|#
06688  M00S06685.sslabel +++|
06689  M00S06686.sslabel +++|      P<AST> = ASTBADR;
06690  M00S06687.sslabel +++|
06691  M00S06688.sslabel +++|#
06692  M00S06689.sslabel +++|*     SEARCH FOR FIRST EMPTY CARTIDGE IN SPECIFIED GROUP.
06693  M00S06690.sslabel +++|#
06694  M00S06691.sslabel +++|
06695  M00S06692.sslabel +++|      FLAG = 1;
06696  M00S06693.sslabel +++|      FCTORD = -1;
06697  M00S06694.sslabel +++|      IF LBARG$GR[0] LS 0
06698  M00S06695.sslabel +++|      THEN                           # GROUP IS NOT SPECIFIED #
06699  M00S06696.sslabel +++|        BEGIN
06700  M00S06697.sslabel +++|      START = 16;
06701  M00S06698.sslabel +++|        TERMX = MAXORD;
06702  M00S06699.sslabel +++|        END
06703  M00S06700.sslabel +++|
06704  M00S06701.sslabel +++|      ELSE
06705  M00S06702.sslabel +++|        BEGIN
06706  M00S06703.sslabel +++|      START = LBARG$GR[0] * 16;
06707  M00S06704.sslabel +++|        TERMX = START + 15;
06708  M00S06705.sslabel +++|        END
06709  M00S06706.sslabel +++|
06710  M00S06707.sslabel +++|      SLOWFOR I = START STEP 1 WHILE (I LQ TERMX) AND (FCTORD EQ -1)
06711  M00S06708.sslabel +++|        DO                           # SEARCH FOR EMPTY CARTRIDGE #
06712  M00S06709.sslabel +++|        BEGIN
06713  M00S06710.sslabel +++|        IF AST$STAT[I] EQ ASTENSTAT"ASS$CART"  ##
06714  M00S06711.sslabel +++|          AND AST$GR[I] NQ 0         ##
06715  M00S06712.sslabel +++|          AND (AST$AULF[I] + AST$AUSF[I] + AST$FLAWS[I] EQ INAVOT)
06716  M00S06713.sslabel +++|          THEN                       # CARTRIDGE IS FOUND #
06717  M00S06714.sslabel +++|          BEGIN
06718  M00S06715.sslabel +++|          FCTORD = I;
06719  M00S06716.sslabel +++|          FLAG = 0;
06720  M00S06717.sslabel +++|          TEST I;
06721  M00S06718.sslabel +++|          END
06722  M00S06719.sslabel +++|
06723  M00S06720.sslabel +++|        END
06724  M00S06721.sslabel +++|
06725  M00S06722.sslabel +++|
06726  M00S06723.sslabel +++|
06727  M00S06724.sslabel +++|
06728  M00S06725.sslabel +++|      RETURN;
06729  M00S06726.sslabel +++|
06730  M00S06727.sslabel +++|      END  # SERAST #
06731  M00S06728.sslabel +++|
06732  M00S06729.sslabel +++|    TERM
06733  M00S06730.sslabel +++|PROC SERASTG(GROUP,GRT,FLAG);
06734  M00S06731.sslabel +++|# TITLE SERASTG - SEARCHES THE AST FOR AN AVAILABLE GROUP ORDINAL.    #
06735  M00S06732.sslabel +++|
06736  M00S06733.sslabel +++|      BEGIN  # SERASTG #
06737  M00S06734.sslabel +++|
06738  M00S06735.sslabel +++|#
06739  M00S06736.sslabel +++|**    SERASTG - SEARCHES THE AST FOR AN AVAILABEL GROUP ORDINAL.
06740  M00S06737.sslabel +++|*
06741  M00S06738.sslabel +++|*     THIS PROC READS THE AST AND FINDS
06742  M00S06739.sslabel +++|*
06743  M00S06740.sslabel +++|*     PROC SERASTG(GROUP,GRT,FLAG)
06744  M00S06741.sslabel +++|*
06745  M00S06742.sslabel +++|*               (GROUP)   = IF NEGATIVE FIND DEFAULT GROUP AND
06746  M00S06743.sslabel +++|*                           ORDINAL, OTHERWISE FIND GROUP ORDINAL
06747  M00S06744.sslabel +++|*                           FOR THE SPECIFIED GROUP.
06748  M00S06745.sslabel +++|*     ENTRY     (LB$BUFP) = FWA OF A BUFFER 1101B WORDS LONG.
06749  M00S06746.sslabel +++|*
06750  M00S06747.sslabel +++|*     EXIT
06751  M00S06748.sslabel +++|*               (FLAG)   = ITEM INDICATING RESULT OF SEARCH.
06752  M00S06749.sslabel +++|*               (GROUP)   = DEFAULT OR SPECIFIED GROUP.
06753  M00S06750.sslabel +++|*               (GRT)     = GROUP ORDINAL IF AVAILABLE.
06754  M00S06751.sslabel +++|*
06755  M00S06752.sslabel +++|*     NOTES     PROC *SERAST* READS THE AVAILABLE STREAM TABLE FOR
06756  M00S06753.sslabel +++|#
06757  M00S06754.sslabel +++|
06758  M00S06755.sslabel +++|      ITEM FCTORD     U;             # EMPTY CARTRIDGE FCT ORDINAL #
06759  M00S06756.sslabel +++|      ITEM FLAG       I;             # ERROR FLAG #
06760  M00S06757.sslabel +++|      ITEM GROUP      I;             # GROUP #
06761  M00S06758.sslabel +++|      ITEM GRT        I;             # GROUP ORDINAL #
06762  M00S06759.sslabel +++|      ITEM I          I;             # INDUCTION VARIABLE #
06763  M00S06760.sslabel +++|      ITEM START      U;             # BEGINNING OF SEARCH #
06764  M00S06761.sslabel +++|      ITEM TERMX      U;             # END OF SEARCH #
06765  M00S06762.sslabel +++|
06766  M00S06763.sslabel +++|#
06767  M00S06764.sslabel +++|****  PROC SERAST - XREF LIST BEGIN.
06768  M00S06765.sslabel +++|#
06769  M00S06766.sslabel +++|
06770  M00S06767.sslabel +++|      XREF
06771  M00S06768.sslabel +++|        BEGIN
06772  M00S06769.sslabel +++|        PROC COPEN;                  # OPEN CATALOGS #
06773  M00S06770.sslabel +++|        PROC CCLOSE;                 # CLOSE SFMCAT #
06774  M00S06771.sslabel +++|        PROC CRDAST;                 # READS AVAILABLE STREAM TABLE #
06775  M00S06772.sslabel +++|        PROC LBERR;                  # *SSLABEL* ERROR PROCESSOR #
06776  M00S06773.sslabel +++|        PROC LBRESP;                 # RESPONSE CODE PROCESSOR #
06777  M00S06774.sslabel +++|        FUNC XCOD;                   # CONVERT TO DISPLAY CODE #
06778  M00S06775.sslabel +++|        PROC LOFPROC;                # LIST OF FILES #
06779  M00S06776.sslabel +++|        END
06780  M00S06777.sslabel +++|
06781  M00S06778.sslabel +++|#
06782  M00S06779.sslabel +++|****  PROC SERAST - XREF LIST END.
06783  M00S06780.sslabel +++|#
06784  M00S06781.sslabel +++|
06785  M00S06782.sslabel +++|      DEF LISTCON #0#;               # DO NOT LIST COMDECKS #
06786  M00S06783.sslabel +++|*CALL COMBFAS
06787  M00S06784.sslabel +++|*CALL COMBCMD
06788  M00S06785.sslabel +++|*CALL COMBCMS
06789  M00S06786.sslabel +++|*CALL COMBMCT
06790  M00S06787.sslabel +++|*CALL COMTLAB
06791  M00S06788.sslabel +++|*CALL COMTLBP
06792  M00S06789.sslabel +++|
06793  M00S06790.sslabel +++|
06794  M00S06791.sslabel +++|*CALL COMTERR
06795  M00S06792.sslabel +++|
06796  M00S06793.sslabel +++|      ARRAY MSFCATNM [0:0] P(1);     # CATALOG NAME #
06797  M00S06794.sslabel +++|        BEGIN
06798  M00S06795.sslabel +++|        ITEM MSFCAT$NM  C(00,00,06);  # FIRST SIX CHARACTERS #
06799  M00S06796.sslabel +++|        ITEM MSFCAT$LST  C(00,36,01);  # LAST CHARACTER #
06800  M00S06797.sslabel +++|        END
06801  M00S06798.sslabel +++|
06802  M00S06799.sslabel +++|                                               CONTROL EJECT;
06803  M00S06800.sslabel +++|
06804  M00S06801.sslabel +++|
06805  M00S06802.sslabel +++|#
06806  M00S06803.sslabel +++|*     OPEN CATALOG.
06807  M00S06804.sslabel +++|#
06808  M00S06805.sslabel +++|
06809  M00S06806.sslabel +++|      MSFCAT$NM[0] = SFMCAT;
06810  M00S06807.sslabel +++|      MSFCAT$LST[0] = XCOD(LBARG$SB[0]);
06811  M00S06808.sslabel +++|      COPEN(LBARG$FM[0],LBARG$SB[0],MSFCATNM[0],"RM",TRUE,FLAG);
06812  M00S06809.sslabel +++|      IF FLAG EQ CMASTAT"NOERR"
06813  M00S06810.sslabel +++|      THEN
06814  M00S06811.sslabel +++|        BEGIN
06815  M00S06812.sslabel +++|        LOFPROC(OCT$LFN[1]);         # ADD LFN TO LIST OF FILES #
06816  M00S06813.sslabel +++|        END
06817  M00S06814.sslabel +++|
06818  M00S06815.sslabel +++|      IF FLAG NQ CMASTAT"NOERR" AND FLAG NQ CMASTAT"FOPEN"
06819  M00S06816.sslabel +++|      THEN                           # ERROR CONDITION OTHER THAN
06820  M00S06817.sslabel +++|                                       CATALOG ALREADY OPEN #
06821  M00S06818.sslabel +++|        BEGIN
06822  M00S06819.sslabel +++|        LBRESP(FLAG,0);
06823  M00S06820.sslabel +++|        RETURN;
06824  M00S06821.sslabel +++|        END
06825  M00S06822.sslabel +++|
06826  M00S06823.sslabel +++|#
06827  M00S06824.sslabel +++|*     READ AST.
06828  M00S06825.sslabel +++|#
06829  M00S06826.sslabel +++|
06830  M00S06827.sslabel +++|      CRDAST(LBARG$FM[0],LBARG$SB[0],LBARG$SMID[0],ASTBADR,0,FLAG);
06831  M00S06828.sslabel +++|      IF FLAG NQ OK
06832  M00S06829.sslabel +++|      THEN
06833  M00S06830.sslabel +++|        BEGIN
06834  M00S06831.sslabel +++|        LBRESP(FLAG,0);
06835  M00S06832.sslabel +++|        RETURN;
06836  M00S06833.sslabel +++|        END
06837  M00S06834.sslabel +++|
06838  M00S06835.sslabel +++|
06839  M00S06836.sslabel +++|#
06840  M00S06837.sslabel +++|*     SET AST BASED ARRAY POINTER.
06841  M00S06838.sslabel +++|#
06842  M00S06839.sslabel +++|
06843  M00S06840.sslabel +++|      P<AST> = ASTBADR;
06844  M00S06841.sslabel +++|      CCLOSE(LBARG$FM[0],LBARG$SB[0],0,FLAG);
06845  M00S06842.sslabel +++|
06846  M00S06843.sslabel +++|#
06847  M00S06844.sslabel +++|*     FIND DEFAULT GROUP IF GROUP IS NEGATIVE, OR GROUP
06848  M00S06845.sslabel +++|*     ORDINAL IF GROUP IS SPECIFIED.
06849  M00S06846.sslabel +++|#
06850  M00S06847.sslabel +++|
06851  M00S06848.sslabel +++|      FLAG = 1;
06852  M00S06849.sslabel +++|      IF GROUP LS 0
06853  M00S06850.sslabel +++|      THEN
06854  M00S06851.sslabel +++|        BEGIN
06855  M00S06852.sslabel +++|      SLOWFOR I = 16 STEP 1  ##
06856  M00S06853.sslabel +++|        WHILE GROUP LS 0  ##
06857  M00S06854.sslabel +++|        AND I LQ (MAXORD + 15)
06858  M00S06855.sslabel +++|        DO                           # FIND DEFAULT GROUP #
06859  M00S06856.sslabel +++|          BEGIN
06860  M00S06857.sslabel +++|          IF (AST$STAT[I] NQ ASTENSTAT"ASS$CART") AND (AST$GR[I] EQ 0)
06861  M00S06858.sslabel +++|            THEN                     # AVAILABLE ENTRY FOUND #
06862  M00S06859.sslabel +++|            BEGIN
06863  M00S06860.sslabel +++|      GROUP = I/16;
06864  M00S06861.sslabel +++|            FLAG = 0;
06865  M00S06862.sslabel +++|            TEST I;
06866  M00S06863.sslabel +++|            END
06867  M00S06864.sslabel +++|
06868  M00S06865.sslabel +++|          END
06869  M00S06866.sslabel +++|
06870  M00S06867.sslabel +++|        IF FLAG NQ 0
06871  M00S06868.sslabel +++|        THEN
06872  M00S06869.sslabel +++|          BEGIN
06873  M00S06870.sslabel +++|          RETURN;
06874  M00S06871.sslabel +++|          END
06875  M00S06872.sslabel +++|
06876  M00S06873.sslabel +++|        END
06877  M00S06874.sslabel +++|
06878  M00S06875.sslabel +++|#
06879  M00S06876.sslabel +++|*     FIND ORDINAL WITHIN GROUP.
06880  M00S06877.sslabel +++|#
06881  M00S06878.sslabel +++|
06882  M00S06879.sslabel +++|      GRT = -1;
06883  M00S06880.sslabel +++|      START = GROUP * 16;
06884  M00S06881.sslabel +++|      TERMX = START + 15;
06885  M00S06882.sslabel +++|      SLOWFOR I = START STEP 1 WHILE I LQ TERMX AND (GRT EQ -1)
06886  M00S06883.sslabel +++|      DO                             # SEARCH GROUP FOR AVAILABLE ORD #
06887  M00S06884.sslabel +++|        BEGIN
06888  M00S06885.sslabel +++|        IF AST$GRT[I] EQ 0 AND AST$STAT[I] NQ ASTENSTAT"ASS$CART"
06889  M00S06886.sslabel +++|        THEN
06890  M00S06887.sslabel +++|          BEGIN
06891  M00S06888.sslabel +++|      GRT = I - (I/16 * 16);
06892  M00S06889.sslabel +++|          FLAG = 0;
06893  M00S06890.sslabel +++|          TEST I;
06894  M00S06891.sslabel +++|          END
06895  M00S06892.sslabel +++|
06896  M00S06893.sslabel +++|        END
06897  M00S06894.sslabel +++|
06898  M00S06895.sslabel +++|
06899  M00S06896.sslabel +++|      RETURN;
06900  M00S06897.sslabel +++|
06901  M00S06898.sslabel +++|      END  # SERAST #
06902  M00S06899.sslabel +++|
06903  M00S06900.sslabel +++|    TERM
06904  M00S06901.sslabel +++|PROC SERCSU((SERTYPE),(SP$Y),(SP$Z),(SP$CODE),(SP$VSN),(SP$FAM),##
06905  M00S06902.sslabel +++|      (SP$SUB),PK$CSU$ENT,SERFLAG);
06906  M00S06903.sslabel +++|# TITLE SERCSU - SEARCHES SMMAP FOR A CUBE OR A CARTRIDGE.           #
06907  M00S06904.sslabel +++|
06908  M00S06905.sslabel +++|      BEGIN  # SERCSU #
06909  M00S06906.sslabel +++|
06910  M00S06907.sslabel +++|#
06911  M00S06908.sslabel +++|**    SERCSU - SEARCHES SMMAP FOR A CUBE OR A CARTRIDGE.
06912  M00S06909.sslabel +++|*
06913  M00S06910.sslabel +++|*     THIS PROC SEARCHES SMMAP FOR A SPECIFIC ENTRY.
06914  M00S06911.sslabel +++|*
06915  M00S06912.sslabel +++|*     PROC SERCSU((SERTYPE),(SP$Y),(SP$Z),(SP$CODE),(SP$VSN),
06916  M00S06913.sslabel +++|*                 (SP$FAM),(SP$SUB),PK$CSU$ENT,SERFLAG)
06917  M00S06914.sslabel +++|*
06918  M00S06915.sslabel +++|*     ENTRY     SERTYPE, A STATUS ITEM SPECIFYING TYPE OF
06919  M00S06916.sslabel +++|*                        SEARCH TO BE CONDUCTED.
06920  M00S06917.sslabel +++|*                        S"LST$UNAS"   SEARCH FOR LAST
06921  M00S06918.sslabel +++|*                                      UNASSIGNED CUBE.
06922  M00S06919.sslabel +++|*                        S"LOC"        SEARCH FOR A SPECIFIC
06923  M00S06920.sslabel +++|*                                      LOCATION (SP$Y,SP$Z).
06924  M00S06921.sslabel +++|*                        S"ASSIGN"     SEARCH FOR A SPECIFIC
06925  M00S06922.sslabel +++|*                                      CARTRIDGE OR ANY CUBE
06926  M00S06923.sslabel +++|*                                      ASSIGNED TO FAMILY OR
06927  M00S06924.sslabel +++|*                                      POOL.
06928  M00S06925.sslabel +++|*                        S"CSN$MATCH"  SEARCH FOR A MATCHING
06929  M00S06926.sslabel +++|*                                      VSN.
06930  M00S06927.sslabel +++|*                        S"CART$POOL"  SEARCH FOR ANY CARTRIDGE
06931  M00S06928.sslabel +++|*                                      ASSIGNED TO A POOL.
06932  M00S06929.sslabel +++|*                        S"ASGN$FAM"   SEARCH FOR ANY ENTRY
06933  M00S06930.sslabel +++|*                                      ASSIGNED TO A GIVEN
06934  M00S06931.sslabel +++|*                                      FAMILY.
06935  M00S06932.sslabel +++|*               SP$Y, AN ITEM CONTAINING THE Y COORDINATE.
06936  M00S06933.sslabel +++|*               SP$Z, AN ITEM CONTAINING THE Z COORDINATE.
06937  M00S06934.sslabel +++|*               SP$CODE, A STATUS ITEM CONTAINING THE TYPE
06938  M00S06935.sslabel +++|*                        OF ASSIGNMENT OF CUBE OR CARTRIDGE.
06939  M00S06936.sslabel +++|*               SP$VSN, AN ITEM CONTAINING THE VSN.
06940  M00S06937.sslabel +++|*               SP$FAM, AN ITEM CONTAINING THE FAMILY.
06941  M00S06938.sslabel +++|*               SP$SUB, AN ITEM CONTAINING THE SUB FAMILY.
06942  M00S06939.sslabel +++|*
06943  M00S06940.sslabel +++|*     EXIT      SEARCH COMPLETE.
06944  M00S06941.sslabel +++|*               PK$CSU$ENT, AN ARRAY CONTAINING THE SMMAP
06945  M00S06942.sslabel +++|*                           ENTRY.
06946  M00S06943.sslabel +++|*               SERFLAG, AN ITEM CONTAINING THE ERROR STATUS.
06947  M00S06944.sslabel +++|*                     0 - ENTRY FOUND.
06948  M00S06945.sslabel +++|*                     1 - ENTRY NOT FOUND.
06949  M00S06946.sslabel +++|*
06950  M00S06947.sslabel +++|*     MESSAGES  SSLABEL ABNORMAL, SERCSU.
06951  M00S06948.sslabel +++|*
06952  M00S06949.sslabel +++|*     NOTES     PROC *SERCSU* SEARCHES THE SMMAP FOR A
06953  M00S06950.sslabel +++|*               SPECIFIC CUBE OR CARTRIDGE DEPENDING ON
06954  M00S06951.sslabel +++|*               *SERTYPE*.  THE ORDINAL OF THE SMMAP ENTRY
06955  M00S06952.sslabel +++|*               IS MAPPED BACK INTO THE Y AND Z COORDINATES
06956  M00S06953.sslabel +++|*               WHICH ARE PUT IN THE THIRD WORD ADDED TO THE
06957  M00S06954.sslabel +++|*               TWO WORD SMMAP ENTRY IN *PK$CSU$ENT*.  IF
06958  M00S06955.sslabel +++|*               THE SPECIFIC ENTRY IS NOT FOUND, AN ERROR
06959  M00S06956.sslabel +++|*               STATUS IS RETURNED BACK TO THE CALLING PROC.
06960  M00S06957.sslabel +++|#
06961  M00S06958.sslabel +++|
06962  M00S06959.sslabel +++|      ITEM SERTYPE    U;             # SMMAP SEARCH TYPE #
06963  M00S06960.sslabel +++|      ITEM SP$Y       I;             # SPECIFIED Y COORDINATE OF
06964  M00S06961.sslabel +++|                                       CUBE/CARTRIDGE #
06965  M00S06962.sslabel +++|      ITEM SP$Z       I;             # SPECIFIED Z COORDINATE OF
06966  M00S06963.sslabel +++|                                       CUBE/CARTRIDGE #
06967  M00S06964.sslabel +++|      ITEM SP$CODE    U;             # CODE FOR CUBE/CARTRIDGE
06968  M00S06965.sslabel +++|                                       ASSIGNMENT #
06969  M00S06966.sslabel +++|      ITEM SP$VSN     C(8);          # SPECIFIED *CSN* #
06970  M00S06967.sslabel +++|      ITEM SP$FAM     C(7);          # SPECIFIED FAMILY TO PROCESS #
06971  M00S06968.sslabel +++|      ITEM SP$SUB     U;             # SPECIFIED SUBFAMILY #
06972  M00S06969.sslabel +++|
06973  M00S06970.sslabel +++|      ARRAY PK$CSU$ENT  [0:0]  P(4);  # *PICK* SMMAP ENTRY #
06974  M00S06971.sslabel +++|        BEGIN
06975  M00S06972.sslabel +++|        ITEM PK$MAPENT  C(00,00,30);  # THREE WORD SMMAP ENTRY #
06976  M00S06973.sslabel +++|        ITEM PK$Y       U(03,00,30);  # Y COORDINATE #
06977  M00S06974.sslabel +++|        ITEM PK$Z       U(03,30,30);  # Z COORDINATE #
06978  M00S06975.sslabel +++|        END
06979  M00S06976.sslabel +++|
06980  M00S06977.sslabel +++|
06981  M00S06978.sslabel +++|      ITEM SERFLAG    I;             # ERROR FLAG #
06982  M00S06979.sslabel +++|
06983  M00S06980.sslabel +++|#
06984  M00S06981.sslabel +++|****  PROC SERCSU - XREF LIST BEGIN.
06985  M00S06982.sslabel +++|#
06986  M00S06983.sslabel +++|
06987  M00S06984.sslabel +++|      XREF
06988  M00S06985.sslabel +++|        BEGIN
06989  M00S06986.sslabel +++|        PROC MESSAGE;                # DISPLAYS MESSAGES #
06990  M00S06987.sslabel +++|        PROC MGETENT;                # GETS SMMAP ENTRY #
06991  M00S06988.sslabel +++|        PROC RESTPFP;                # RESTORE USER-S *PFP* AND ABORT
06992  M00S06989.sslabel +++|                                       OR RETURN #
06993  M00S06990.sslabel +++|        END
06994  M00S06991.sslabel +++|
06995  M00S06992.sslabel +++|#
06996  M00S06993.sslabel +++|****  PROC SERCSU - XREF LIST END.
06997  M00S06994.sslabel +++|#
06998  M00S06995.sslabel +++|
06999  M00S06996.sslabel +++|      DEF PROCNAME #"SERCSU."#;      # PROC NAME #
07000  M00S06997.sslabel +++|
07001  M00S06998.sslabel +++|      DEF LISTCON    #0#;            # DO NOT LIST COMDECKS #
07002  M00S06999.sslabel +++|*CALL COMBFAS
07003  M00S07000.sslabel +++|*CALL COMBCMS
07004  M00S07001.sslabel +++|*CALL COMBMAP
07005  M00S07002.sslabel +++|*CALL COMTLAB
07006  M00S07003.sslabel +++|*CALL COMTLBP
07007  M00S07004.sslabel +++|
07008  M00S07005.sslabel +++|      ITEM FLAG       I;             # ERROR FLAG #
07009  M00S07006.sslabel +++|      ITEM I          I;             # LOOP VARIABLE #
07010  M00S07007.sslabel +++|      ITEM PK$CSU$ADR I;             # ADDRESS OF THE SMMAP ENTRY #
07011  M00S07008.sslabel +++|
07012  M00S07009.sslabel +++|      SWITCH SEARCH : SERCH$TYPE
07013  M00S07010.sslabel +++|           SER$LSTUN: LST$UNAS,      # SEARCH FOR LAST UNASSIGNED CUBE
07014  M00S07011.sslabel +++|                                     #
07015  M00S07012.sslabel +++|             SER$LOC: LOC,           # SEARCH FOR A LOCATION #
07016  M00S07013.sslabel +++|             SER$ASG: ASSIGN,        # SEARCH FOR A SPECIFIC CUBE OR
07017  M00S07014.sslabel +++|                                       CARTRIDGE ASSIGNED TO FAMILY OR
07018  M00S07015.sslabel +++|                                       POOL #
07019  M00S07016.sslabel +++|             SER$VSN: CSN$MATCH,     # SEARCH FOR A VSN #
07020  M00S07017.sslabel +++|           SER$CARPL: CART$POOL,     # SEARCH FOR CARTRIDGE IN POOL #
07021  M00S07018.sslabel +++|           SER$ASNFM: ASGN$FAM;      # SEARCH FOR AN ENTRY ASSIGNED TO
07022  M00S07019.sslabel +++|                                       A GIVEN FAMILY #
07023  M00S07020.sslabel +++|
07024  M00S07021.sslabel +++|                                               CONTROL EJECT;
07025  M00S07022.sslabel +++|
07026  M00S07023.sslabel +++|      SERFLAG = 1;                   # INITIALIZE ERROR FLAG TO AN
07027  M00S07024.sslabel +++|                                       ERROR CONDITION #
07028  M00S07025.sslabel +++|
07029  M00S07026.sslabel +++|#
07030  M00S07027.sslabel +++|*     CHECK *SERTYPE* FOR THE TYPE OF SEARCH TO BE
07031  M00S07028.sslabel +++|*     CONDUCTED AND GO TO THE CORRESPONDING STATUS
07032  M00S07029.sslabel +++|*     SWITCH TO PROCESS IT.
07033  M00S07030.sslabel +++|#
07034  M00S07031.sslabel +++|
07035  M00S07032.sslabel +++|      PK$CSU$ADR = LOC(PK$CSU$ENT[0]);
07036  M00S07033.sslabel +++|      P<SMUMAP> = PK$CSU$ADR;        # SMMAP ENTRY FORMAT #
07037  M00S07034.sslabel +++|      GOTO SEARCH[SERTYPE];
07038  M00S07035.sslabel +++|
07039  M00S07036.sslabel +++|#
07040  M00S07037.sslabel +++|*     SEARCH FOR LAST UNASSIGNED CUBE.
07041  M00S07038.sslabel +++|#
07042  M00S07039.sslabel +++|
07043  M00S07040.sslabel +++|SER$LSTUN:
07044  M00S07041.sslabel +++|      SLOWFOR I = MAXORD STEP -1 UNTIL 1
07045  M00S07042.sslabel +++|      DO
07046  M00S07043.sslabel +++|        BEGIN  # SEARCH SMMAP BACKWARDS #
07047  M00S07044.sslabel +++|        MGETENT(LBARG$SMID[0],I,PK$CSU$ADR,FLAG);
07048  M00S07045.sslabel +++|        IF FLAG NQ CMASTAT"NOERR"
07049  M00S07046.sslabel +++|        THEN                         # ERROR CONDITION #
07050  M00S07047.sslabel +++|          BEGIN
07051  M00S07048.sslabel +++|          GOTO ERROR;                # PROCESS THE ERROR #
07052  M00S07049.sslabel +++|          END
07053  M00S07050.sslabel +++|
07054  M00S07051.sslabel +++|        IF CM$CODE[0] EQ CUBSTAT"UNASGN"
07055  M00S07052.sslabel +++|        THEN                         # ENTRY IS FOUND #
07056  M00S07053.sslabel +++|          BEGIN
07057  M00S07054.sslabel +++|          GOTO SER$END;
07058  M00S07055.sslabel +++|          END
07059  M00S07056.sslabel +++|
07060  M00S07057.sslabel +++|        END  # SEARCH SMMAP BACKWARDS #
07061  M00S07058.sslabel +++|
07062  M00S07059.sslabel +++|      RETURN;                        # ENTRY NOT FOUND #
07063  M00S07060.sslabel +++|
07064  M00S07061.sslabel +++|#
07065  M00S07062.sslabel +++|*     SEARCH FOR A LOCATION IN CSU.
07066  M00S07063.sslabel +++|#
07067  M00S07064.sslabel +++|
07068  M00S07065.sslabel +++|SER$LOC:
07069  M00S07066.sslabel +++|      I = MAXORD - SP$Z - (SP$Y * (MAX$Z + 1));  # CALCULATE ORDINAL #
07070  M00S07067.sslabel +++|      MGETENT(LBARG$SMID[0],I,PK$CSU$ADR,FLAG);
07071  M00S07068.sslabel +++|      IF FLAG NQ CMASTAT"NOERR"
07072  M00S07069.sslabel +++|      THEN                           # ERROR CONDITION #
07073  M00S07070.sslabel +++|        BEGIN
07074  M00S07071.sslabel +++|        GOTO ERROR;                  # PROCESS THE ERROR #
07075  M00S07072.sslabel +++|        END
07076  M00S07073.sslabel +++|
07077  M00S07074.sslabel +++|      PK$Y[0] = SP$Y;
07078  M00S07075.sslabel +++|      PK$Z[0] = SP$Z;
07079  M00S07076.sslabel +++|      SERFLAG = 0;                   # CLEAR ERROR STATUS #
07080  M00S07077.sslabel +++|      RETURN;
07081  M00S07078.sslabel +++|
07082  M00S07079.sslabel +++|#
07083  M00S07080.sslabel +++|*     SEARCH FOR A SPECIFIC CARTRIDGE.
07084  M00S07081.sslabel +++|#
07085  M00S07082.sslabel +++|
07086  M00S07083.sslabel +++|SER$ASG:
07087  M00S07084.sslabel +++|      SLOWFOR I = 1 STEP 1 UNTIL MAXORD
07088  M00S07085.sslabel +++|      DO
07089  M00S07086.sslabel +++|        BEGIN  # SEARCH SMMAP #
07090  M00S07087.sslabel +++|        MGETENT(LBARG$SMID[0],I,PK$CSU$ADR,FLAG);
07091  M00S07088.sslabel +++|        IF FLAG NQ CMASTAT"NOERR"
07092  M00S07089.sslabel +++|        THEN                         # ERROR CONDITION #
07093  M00S07090.sslabel +++|          BEGIN
07094  M00S07091.sslabel +++|          GOTO ERROR;                # PROCESS THE ERROR #
07095  M00S07092.sslabel +++|          END
07096  M00S07093.sslabel +++|
07097  M00S07094.sslabel +++|#
07098  M00S07095.sslabel +++|*     CHECK FAMILY, SUBFAMILY,
07099  M00S07096.sslabel +++|*     ASSIGNMENT, AND VSN.
07100  M00S07097.sslabel +++|#
07101  M00S07098.sslabel +++|
07102  M00S07099.sslabel +++|        IF (CM$FMLYNM[0] EQ SP$FAM)  ##
07103  M00S07100.sslabel +++|          AND (CM$SUB[0] EQ SP$SUB)  ##
07104  M00S07101.sslabel +++|          AND (CM$CODE[0] EQ SP$CODE)  ##
07105  M00S07102.sslabel +++|          AND (CM$CSND[0] EQ SP$VSN)
07106  M00S07103.sslabel +++|        THEN
07107  M00S07104.sslabel +++|          BEGIN
07108  M00S07105.sslabel +++|          GOTO SER$END;              # ENTRY FOUND #
07109  M00S07106.sslabel +++|          END
07110  M00S07107.sslabel +++|
07111  M00S07108.sslabel +++|        END  # SEARCH SMMAP #
07112  M00S07109.sslabel +++|
07113  M00S07110.sslabel +++|      RETURN;                        # ENTRY NOT FOUND #
07114  M00S07111.sslabel +++|
07115  M00S07112.sslabel +++|#
07116  M00S07113.sslabel +++|*     SEARCH FOR A MATCHING VSN.
07117  M00S07114.sslabel +++|#
07118  M00S07115.sslabel +++|
07119  M00S07116.sslabel +++|SER$VSN:
07120  M00S07117.sslabel +++|      SLOWFOR I = 1 STEP 1 UNTIL MAXORD
07121  M00S07118.sslabel +++|      DO
07122  M00S07119.sslabel +++|        BEGIN  # SEARCH SMMAP #
07123  M00S07120.sslabel +++|        MGETENT(LBARG$SMID[0],I,PK$CSU$ADR,FLAG);
07124  M00S07121.sslabel +++|        IF FLAG NQ CMASTAT"NOERR"
07125  M00S07122.sslabel +++|        THEN                         # ABNORMAL ERROR CONDITION #
07126  M00S07123.sslabel +++|          BEGIN
07127  M00S07124.sslabel +++|          GOTO ERROR;                # PROCESS THE ERROR #
07128  M00S07125.sslabel +++|          END
07129  M00S07126.sslabel +++|
07130  M00S07127.sslabel +++|        IF CM$CSND[0] EQ SP$VSN
07131  M00S07128.sslabel +++|        THEN                         # VSN MATCH FOUND #
07132  M00S07129.sslabel +++|          BEGIN
07133  M00S07130.sslabel +++|          GOTO SER$END;
07134  M00S07131.sslabel +++|          END
07135  M00S07132.sslabel +++|
07136  M00S07133.sslabel +++|        END  # SEARCH SMMAP #
07137  M00S07134.sslabel +++|
07138  M00S07135.sslabel +++|      RETURN;                        # ENTRY NOT FOUND #
07139  M00S07136.sslabel +++|
07140  M00S07137.sslabel +++|#
07141  M00S07138.sslabel +++|*     SEARCH FOR A CARTRIDGE IN POOL.
07142  M00S07139.sslabel +++|#
07143  M00S07140.sslabel +++|
07144  M00S07141.sslabel +++|SER$CARPL:
07145  M00S07142.sslabel +++|      SLOWFOR I = 1 STEP 1 UNTIL MAXORD
07146  M00S07143.sslabel +++|      DO
07147  M00S07144.sslabel +++|        BEGIN  # SEARCH SMMAP #
07148  M00S07145.sslabel +++|        MGETENT(LBARG$SMID[0],I,PK$CSU$ADR,FLAG);
07149  M00S07146.sslabel +++|        IF FLAG NQ CMASTAT"NOERR"
07150  M00S07147.sslabel +++|        THEN                         # ERROR CONDITION #
07151  M00S07148.sslabel +++|          BEGIN
07152  M00S07149.sslabel +++|          GOTO ERROR;                # PROCESS THE ERROR #
07153  M00S07150.sslabel +++|          END
07154  M00S07151.sslabel +++|
07155  M00S07152.sslabel +++|        IF CM$CODE[0] EQ CUBSTAT"SCRPOOL"  ##
07156  M00S07153.sslabel +++|          AND CM$CSND[0] NQ " "      ##
07157  M00S07154.sslabel +++|          AND NOT CM$FLAG1[0]
07158  M00S07155.sslabel +++|        THEN                         # POOL CARTRIDGE FOUND #
07159  M00S07156.sslabel +++|          BEGIN
07160  M00S07157.sslabel +++|          GOTO SER$END;
07161  M00S07158.sslabel +++|          END
07162  M00S07159.sslabel +++|
07163  M00S07160.sslabel +++|        END  # SEARCH SMMAP #
07164  M00S07161.sslabel +++|
07165  M00S07162.sslabel +++|      RETURN;                        # ENTRY NOT FOUND #
07166  M00S07163.sslabel +++|
07167  M00S07164.sslabel +++|#
07168  M00S07165.sslabel +++|*     SEARCH FOR AN ENTRY ASSIGNED TO A GIVEN FAMILY.
07169  M00S07166.sslabel +++|#
07170  M00S07167.sslabel +++|
07171  M00S07168.sslabel +++|SER$ASNFM:
07172  M00S07169.sslabel +++|      SLOWFOR I = 1 STEP 1 UNTIL MAXORD
07173  M00S07170.sslabel +++|      DO
07174  M00S07171.sslabel +++|        BEGIN  # SEARCH SMMAP #
07175  M00S07172.sslabel +++|        MGETENT(LBARG$SMID[0],I,PK$CSU$ADR,FLAG);
07176  M00S07173.sslabel +++|        IF FLAG NQ CMASTAT"NOERR"
07177  M00S07174.sslabel +++|        THEN                         # ERROR CONDITION #
07178  M00S07175.sslabel +++|          BEGIN
07179  M00S07176.sslabel +++|          GOTO ERROR;                # PROCESS THE ERROR #
07180  M00S07177.sslabel +++|          END
07181  M00S07178.sslabel +++|
07182  M00S07179.sslabel +++|        IF CM$FMLYNM[0] EQ SP$FAM    ##
07183  M00S07180.sslabel +++|          AND CM$SUB[0] EQ SP$SUB
07184  M00S07181.sslabel +++|        THEN                         # ENTRY FOUND #
07185  M00S07182.sslabel +++|          BEGIN
07186  M00S07183.sslabel +++|          SERFLAG = 0;               # CLEAR ERROR STATUS #
07187  M00S07184.sslabel +++|          RETURN;
07188  M00S07185.sslabel +++|          END
07189  M00S07186.sslabel +++|
07190  M00S07187.sslabel +++|        END  # SEARCH SMMAP #
07191  M00S07188.sslabel +++|
07192  M00S07189.sslabel +++|      RETURN;                        # ENTRY NOT FOUND #
07193  M00S07190.sslabel +++|
07194  M00S07191.sslabel +++|#
07195  M00S07192.sslabel +++|*     SET UP Y AND Z COORDINATES.
07196  M00S07193.sslabel +++|#
07197  M00S07194.sslabel +++|
07198  M00S07195.sslabel +++|SER$END:
07199  M00S07196.sslabel +++|      PK$Y[0] = (MAXORD - I)/(MAX$Z + 1);
07200  M00S07197.sslabel +++|      PK$Z[0] = MAXORD - I - (MAX$Z + 1) * PK$Y[0];
07201  M00S07198.sslabel +++|      SERFLAG = 0;
07202  M00S07199.sslabel +++|      RETURN;
07203  M00S07200.sslabel +++|
07204  M00S07201.sslabel +++|#
07205  M00S07202.sslabel +++|*     PROCESS THE ERROR ENCOUNTERED WHILE
07206  M00S07203.sslabel +++|*     SEARCHING THE SMUMAP.
07207  M00S07204.sslabel +++|#
07208  M00S07205.sslabel +++|
07209  M00S07206.sslabel +++|ERROR:
07210  M00S07207.sslabel +++|      LBMSG$PROC[0] = PROCNAME;
07211  M00S07208.sslabel +++|      MESSAGE(LBMSG[0],SYSUDF1);
07212  M00S07209.sslabel +++|      RESTPFP(PFP$ABORT);            # RESTORE USER-S *PFP* AND ABORT #
07213  M00S07210.sslabel +++|
07214  M00S07211.sslabel +++|      END  # SERCSU #
07215  M00S07212.sslabel +++|
07216  M00S07213.sslabel +++|    TERM
07217  M00S07214.sslabel +++|PROC SETCORD;
07218  M00S07215.sslabel +++|# TITLE SETCORD - SETS Y,Z COORDINATES OF CUBES.                      #
07219  M00S07216.sslabel +++|
07220  M00S07217.sslabel +++|      BEGIN  # SETCORD #
07221  M00S07218.sslabel +++|
07222  M00S07219.sslabel +++|#
07223  M00S07220.sslabel +++|**    SETCORD - SETS Y,Z COORDINATES OF CUBES.
07224  M00S07221.sslabel +++|*
07225  M00S07222.sslabel +++|*     THIS PROC SETS UP THE Y AND Z COORDINATE POSITIONS OF THE
07226  M00S07223.sslabel +++|*     CUBES SPECIFIED, IN A TABLE *YZCOORD*.  IT ALSO RETURNS THE
07227  M00S07224.sslabel +++|*     NUMBER OF CUBES SITUATED WITHIN A SPECFIED AREA IN THE CSU.
07228  M00S07225.sslabel +++|*
07229  M00S07226.sslabel +++|*     PROC SETCORD.
07230  M00S07227.sslabel +++|*
07231  M00S07228.sslabel +++|*     ENTRY       LBARG$YI, AN ITEM CONTAINING FIRST Y COORDINATE
07232  M00S07229.sslabel +++|*                           OR -1.
07233  M00S07230.sslabel +++|*                 LBARG$ZI, AN ITEM CONTAINING FIRST Z COORDINATE
07234  M00S07231.sslabel +++|*                           OR -1.
07235  M00S07232.sslabel +++|*                 LBARG$YF, AN ITEM CONTAINING SECOND Y COORDINATE
07236  M00S07233.sslabel +++|*                           OR -1.
07237  M00S07234.sslabel +++|*                 LBARG$ZF, AN ITEM CONTAINING SECOND Z COORDINATE
07238  M00S07235.sslabel +++|*                           OR -1.
07239  M00S07236.sslabel +++|*
07240  M00S07237.sslabel +++|*     EXIT        YZCOORD, AN ARRAY IN COMMON CONTAINING THE Y, Z
07241  M00S07238.sslabel +++|*                          COORDINATES OF ALL THE CUBES.
07242  M00S07239.sslabel +++|*                 LBARG$N, AN ITEM IN COMMON CONTAINING
07243  M00S07240.sslabel +++|*                          NUMBER OF CUBES.
07244  M00S07241.sslabel +++|*
07245  M00S07242.sslabel +++|*     NOTES       PROC *SETCORD* SETS UP THE Y AND Z COORDINATES OF
07246  M00S07243.sslabel +++|*                 ALL THE CUBES SITUATED IN THE AREA OF THE *SM*
07247  M00S07244.sslabel +++|*                 SPECIFIED BZ *YI*, *YF*, *ZI* AND *ZF*, IN THE
07248  M00S07245.sslabel +++|*                 ARRAY *YZCOORD*. IT ALSO CALCULATES THE NUMBER OF
07249  M00S07246.sslabel +++|*                 CUBES INVOLVED.  IF MORE THAN *MAXNUM CUBE
07250  M00S07247.sslabel +++|*                 LOCATIONS ARE SPECIFIED, AN INFORMATIVE MESSAGE
07251  M00S07248.sslabel +++|*                 IS PLACED IN THE DAYFILE AND THE REPORT FILE
07252  M00S07249.sslabel +++|*                 AND ONLY *MAXNUM* CUBES ARE PROCESSED.
07253  M00S07250.sslabel +++|#
07254  M00S07251.sslabel +++|
07255  M00S07252.sslabel +++|#
07256  M00S07253.sslabel +++|****  PROC SETCORD - XREF LIST BEGIN.
07257  M00S07254.sslabel +++|#
07258  M00S07255.sslabel +++|
07259  M00S07256.sslabel +++|      XREF
07260  M00S07257.sslabel +++|        BEGIN
07261  M00S07258.sslabel +++|        PROC LBERR;                  # *SSLABEL* ERROR PROCESSOR #
07262  M00S07259.sslabel +++|        END
07263  M00S07260.sslabel +++|
07264  M00S07261.sslabel +++|#
07265  M00S07262.sslabel +++|****  PROC SETCORD - XREF LIST END.
07266  M00S07263.sslabel +++|#
07267  M00S07264.sslabel +++|
07268  M00S07265.sslabel +++|      DEF LISTCON #0#;               # DO NOT LIST COMDECKS #
07269  M00S07266.sslabel +++|*CALL COMBFAS
07270  M00S07267.sslabel +++|*CALL COMTERR
07271  M00S07268.sslabel +++|*CALL COMTLAB
07272  M00S07269.sslabel +++|*CALL COMTLBP
07273  M00S07270.sslabel +++|
07274  M00S07271.sslabel +++|      ITEM I          I;             # LOOP VARIABLE #
07275  M00S07272.sslabel +++|      ITEM J          I;             # LOOP VARIABLE #
07276  M00S07273.sslabel +++|      ITEM K          I;             # COUNTER FOR NUMBER OF CUBES #
07277  M00S07274.sslabel +++|
07278  M00S07275.sslabel +++|                                               CONTROL EJECT;
07279  M00S07276.sslabel +++|
07280  M00S07277.sslabel +++|#
07281  M00S07278.sslabel +++|*     CHECK TO SEE IF A COLUMN OF CUBES, A ROW OF CUBES,
07282  M00S07279.sslabel +++|*     A RECTANGLE OF CUBES OR A SINGLE CUBE LOCATION IS
07283  M00S07280.sslabel +++|*     SPECIFIED.
07284  M00S07281.sslabel +++|*     IF *YI* ALONE IS SPECIFIED, SELECT A COLUMN
07285  M00S07282.sslabel +++|*     OF CUBES AT *YI*.
07286  M00S07283.sslabel +++|#
07287  M00S07284.sslabel +++|
07288  M00S07285.sslabel +++|      IF (LBARG$YI[0] NQ -1) AND (LBARG$ZI[0] EQ -1)
07289  M00S07286.sslabel +++|      THEN
07290  M00S07287.sslabel +++|        BEGIN
07291  M00S07288.sslabel +++|        LBARG$YF[0] = LBARG$YI[0];
07292  M00S07289.sslabel +++|        LBARG$ZI[0] = 0;
07293  M00S07290.sslabel +++|        LBARG$ZF[0] = MAX$Z;         # SET LIMIT ON Z COORDINATE #
07294  M00S07291.sslabel +++|        END
07295  M00S07292.sslabel +++|
07296  M00S07293.sslabel +++|#
07297  M00S07294.sslabel +++|*     IF *ZI* ALONE IS SPECIFIED, SELECT A ROW
07298  M00S07295.sslabel +++|*     OF CUBES AT *ZI*.
07299  M00S07296.sslabel +++|#
07300  M00S07297.sslabel +++|
07301  M00S07298.sslabel +++|      IF (LBARG$YI[0] EQ -1) AND (LBARG$ZI[0] NQ -1)
07302  M00S07299.sslabel +++|      THEN
07303  M00S07300.sslabel +++|        BEGIN
07304  M00S07301.sslabel +++|        LBARG$YI[0] = 0;
07305  M00S07302.sslabel +++|        LBARG$YF[0] = MAX$Y;         # SET LIMIT ON Y COORDINATE #
07306  M00S07303.sslabel +++|        LBARG$ZF[0] = LBARG$ZI[0];
07307  M00S07304.sslabel +++|        END
07308  M00S07305.sslabel +++|
07309  M00S07306.sslabel +++|#
07310  M00S07307.sslabel +++|*     IF *YI* AND *ZI* ALONE ARE SPECIFIED, SELECT
07311  M00S07308.sslabel +++|*     THE CUBE AT LOCATION (YI,ZI).
07312  M00S07309.sslabel +++|#
07313  M00S07310.sslabel +++|
07314  M00S07311.sslabel +++|      IF (LBARG$YI[0] NQ -1)         ##
07315  M00S07312.sslabel +++|        AND (LBARG$ZI[0] NQ -1)      ##
07316  M00S07313.sslabel +++|        AND (LBARG$YF[0] EQ -1)
07317  M00S07314.sslabel +++|      THEN
07318  M00S07315.sslabel +++|        BEGIN
07319  M00S07316.sslabel +++|        LBARG$YF[0] = LBARG$YI[0];
07320  M00S07317.sslabel +++|        LBARG$ZF[0] = LBARG$ZI[0];
07321  M00S07318.sslabel +++|        END
07322  M00S07319.sslabel +++|
07323  M00S07320.sslabel +++|#
07324  M00S07321.sslabel +++|*     SET UP THE COORDINATE POSITIONS IN ARRAY *YZCOORD*.
07325  M00S07322.sslabel +++|#
07326  M00S07323.sslabel +++|
07327  M00S07324.sslabel +++|      K = 1;
07328  M00S07325.sslabel +++|      SLOWFOR I = LBARG$YI[0] STEP 1 UNTIL LBARG$YF[0]
07329  M00S07326.sslabel +++|      DO
07330  M00S07327.sslabel +++|        BEGIN
07331  M00S07328.sslabel +++|        SLOWFOR J = LBARG$ZI[0] STEP 1 UNTIL LBARG$ZF[0]
07332  M00S07329.sslabel +++|        DO
07333  M00S07330.sslabel +++|          BEGIN
07334  M00S07331.sslabel +++|
07335  M00S07332.sslabel +++|#
07336  M00S07333.sslabel +++|*     SKIP OVER THE COORDINATE POSITIONS WHERE
07337  M00S07334.sslabel +++|*     NO CUBES EXIST.  NO CUBES AT:
07338  M00S07335.sslabel +++|*     (0,0), ((Y=6),Y=0,21), (0,15), (11,15), (21,15),
Line S07336 Modification History
M01 (Removed by) msea013
Seq #  *Modification Id* Act 
----------------------------+
07339  M01S07336.msea013 ---|*     ((Y,Z), Y= 11,15, Z = 0,1), (0,1), (0,14), (21,0),
07340  M01S07337.msea013 ---|*     (21,14).
Line S00004 Modification History
M01 (Added by) msea013
Seq #  *Modification Id* Act 
----------------------------+
07341  M01S00004.msea013 +++|*     ((Y,Z), Y= 11,15, Z= 0,1).
07342  M00S07338.sslabel +++|#
07343  M00S07339.sslabel +++|
07344  M00S07340.sslabel +++|
07345  M00S07341.sslabel +++|          IF J EQ Z$NO$CUBE
07346  M00S07342.sslabel +++|          THEN                       # NO CUBES AT THIS LOCATION #
07347  M00S07343.sslabel +++|            BEGIN
07348  M00S07344.sslabel +++|            TEST J;
07349  M00S07345.sslabel +++|            END
07350  M00S07346.sslabel +++|
07351  M00S07347.sslabel +++|          IF ((J EQ 0)               ##
07352  M00S07348.sslabel +++|            AND((I EQ 0)             ##
07353  M00S07349.sslabel +++|            OR (I EQ 11)             ##
07354  M00S07350.sslabel +++|            OR (I EQ 12)             ##
07355  M00S07351.sslabel +++|            OR (I EQ 13)             ##
07356  M00S07352.sslabel +++|            OR (I EQ 14)             ##
Line S07353 Modification History
M01 (Removed by) msea013
Seq #  *Modification Id* Act 
----------------------------+
07357  M01S07353.msea013 ---|            OR (I EQ 15)             ##
07358  M01S07354.msea013 ---|            OR (I EQ 21)))           ##
Line S00005 Modification History
M01 (Added by) msea013
Seq #  *Modification Id* Act 
----------------------------+
07359  M01S00005.msea013 +++|            OR (I EQ 15)))           ##
07360  M00S07355.sslabel +++|            OR ((J EQ 1)             ##
Line S07356 Modification History
M01 (Removed by) msea013
Seq #  *Modification Id* Act 
----------------------------+
07361  M01S07356.msea013 ---|            AND ((I EQ 0)            ##
07362  M01S07357.msea013 ---|            OR (I EQ 11)             ##
Line S00006 Modification History
M01 (Added by) msea013
Seq #  *Modification Id* Act 
----------------------------+
07363  M01S00006.msea013 +++|            AND ((I EQ 11)           ##
07364  M00S07358.sslabel +++|            OR (I EQ 12)             ##
07365  M00S07359.sslabel +++|            OR (I EQ 13)             ##
07366  M00S07360.sslabel +++|            OR (I EQ 14)             ##
07367  M00S07361.sslabel +++|            OR (I EQ 15)))           ##
07368  M00S07362.sslabel +++|            OR ((J EQ 15)            ##
07369  M00S07363.sslabel +++|            AND ((I EQ 0)            ##
07370  M00S07364.sslabel +++|            OR (I EQ 11)             ##
07371  M00S07365.sslabel +++|            OR (I EQ 21)))           ##
Line S07366 Modification History
M01 (Removed by) msea013
Seq #  *Modification Id* Act 
----------------------------+
07372  M01S07366.msea013 ---|            OR ((J EQ 14)            ##
07373  M01S07367.msea013 ---|            AND ((I EQ 0)            ##
07374  M01S07368.msea013 ---|            OR (I EQ 21)))           ##
07375  M00S07369.sslabel +++|          THEN                       # IGNORE NON-EXISTANT CUBES #
07376  M00S07370.sslabel +++|            BEGIN
07377  M00S07371.sslabel +++|            TEST J;
07378  M00S07372.sslabel +++|            END
07379  M00S07373.sslabel +++|
07380  M00S07374.sslabel +++|
07381  M00S07375.sslabel +++|#
07382  M00S07376.sslabel +++|*     CHECK IF MORE THAN *MAXNUM* CUBE LOCATIONS
07383  M00S07377.sslabel +++|*     ARE SPECIFIED.
07384  M00S07378.sslabel +++|#
07385  M00S07379.sslabel +++|
07386  M00S07380.sslabel +++|          IF K GR MAXNUM
07387  M00S07381.sslabel +++|          THEN
07388  M00S07382.sslabel +++|            BEGIN
07389  M00S07383.sslabel +++|            ERRCODE = S"NUM$CUBE";
07390  M00S07384.sslabel +++|            LBERR(ERRCODE);
07391  M00S07385.sslabel +++|            LBARG$N[0] = K - 1;
07392  M00S07386.sslabel +++|            RETURN;
07393  M00S07387.sslabel +++|            END
07394  M00S07388.sslabel +++|
07395  M00S07389.sslabel +++|          Y$COORD[K] = I;            # SET UP Y AND Z COORDINATES #
07396  M00S07390.sslabel +++|          Z$COORD[K] = J;
07397  M00S07391.sslabel +++|          K = K + 1;
07398  M00S07392.sslabel +++|          END
07399  M00S07393.sslabel +++|
07400  M00S07394.sslabel +++|        END
07401  M00S07395.sslabel +++|
07402  M00S07396.sslabel +++|      LBARG$N[0] = K - 1;            # SET NUMBER OF CUBES #
07403  M00S07397.sslabel +++|      RETURN;
07404  M00S07398.sslabel +++|
07405  M00S07399.sslabel +++|      END  # SETCORD #
07406  M00S07400.sslabel +++|
07407  M00S07401.sslabel +++|    TERM
cdc/nos2.source/opl.opl871/deck/sslabel.003.txt ยท Last modified: by 127.0.0.1