cdc:nos2.source:opl.opl871:deck:sslabel.003
Deck SSLABEL Part 003
1 Modification
Listing Sections
- Deck SSLABEL Start
- Deck SSLABEL Part 1 (Line 2138)
- Deck SSLABEL Part 2 (Line 4385)
- Deck SSLABEL Part 3 (Line 6635)
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