User Tools

Site Tools


cdc:nos2.source:opl.opl871:common:comcmsf

Common COMCMSF

0 Modifications

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.comcmsf +++|          CTEXT  COMCMSF - MERGE SORTED FILES.
00002  M01S00002.comcmsf +++|          SPACE  4
00003  M01S00003.comcmsf +++|          IF     -DEF,QUAL$,1
00004  M01S00004.comcmsf +++|          QUAL   COMCMSF
00005  M01S00005.comcmsf +++|          BASE   D
00006  M01S00006.comcmsf +++|*         COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC.  1996.
00007  M01S00007.comcmsf +++|          SPACE  4,15
00008  M01S00008.comcmsf +++|***       MSF - MERGE SORTED FILES.
00009  M01S00009.comcmsf +++|*         G. S. YODER.    96/04/24.
00010  M01S00010.comcmsf +++|*
00011  M01S00011.comcmsf +++|*         ENTRY  (X0) = LENGTH OF TABLE ENTRY.
00012  M01S00012.comcmsf +++|*                (X1) = NUMBER OF ENTRIES IN FULL BLOCK.
00013  M01S00013.comcmsf +++|*                (X2) = SORT KEY MASK.
00014  M01S00014.comcmsf +++|*                (B4) = WORD OFFSET OF KEY IN TABLE ENTRY.
00015  M01S00015.comcmsf +++|*                (B5) = LENGTH OF KEY IN WORDS.
00016  M01S00016.comcmsf +++|*                (A0) = WORKING BUFFER 1 ADDRESS.
00017  M01S00017.comcmsf +++|*                (A5) = WORKING BUFFER 2 ADDRESS.
00018  M01S00018.comcmsf +++|*                ENTRIES TO SORT ON INPUT FILES 1 AND 2.
00019  M01S00019.comcmsf +++|*
00020  M01S00020.comcmsf +++|*         EXIT   SORTED ENTRIES ON FILE 3.
00021  M01S00021.comcmsf +++|
00022  M01S00022.comcmsf +++|
00023  M01S00023.comcmsf +++| MSF      SUBR               ENTRY/EXIT
00024  M01S00024.comcmsf +++|
00025  M01S00025.comcmsf +++|*         PRESET SORT PARAMETERS.
00026  M01S00026.comcmsf +++|
00027  M01S00027.comcmsf +++|          BX6    X1
00028  M01S00028.comcmsf +++|          BX7    X2
00029  M01S00029.comcmsf +++|          SA6    MSFA        SAVE BLOCK SIZE
00030  M01S00030.comcmsf +++|          SA7    MSFD        SAVE SORT KEY MASK
00031  M01S00031.comcmsf +++|          SX1    B5+
00032  M01S00032.comcmsf +++|          LX1    24
00033  M01S00033.comcmsf +++|          BX0    X0+X1       SET KEY LENGTH AND ENTRY LENGTH
00034  M01S00034.comcmsf +++|          PX0    X0,B4       SET KEY OFFSET
00035  M01S00035.comcmsf +++|
00036  M01S00036.comcmsf +++|*         INITIALIZE NEXT PASS.
00037  M01S00037.comcmsf +++|
00038  M01S00038.comcmsf +++| MSF1     REWIND S1          REWIND INPUT FILE 1
00039  M01S00039.comcmsf +++|          REWIND S2          REWIND INPUT FILE 2
00040  M01S00040.comcmsf +++|          REWIND S3          REWIND OUTPUT FILE 1
00041  M01S00041.comcmsf +++|          REWIND S4          REWIND OUTPUT FILE 2
00042  M01S00042.comcmsf +++|          READ   S1          INITIATE READ
00043  M01S00043.comcmsf +++|          READ   S2          INITIATE READ
00044  M01S00044.comcmsf +++|          WRITE  S3,*        SET WRITE FUNCTION
00045  M01S00045.comcmsf +++|          WRITE  S4,*        SET WRITE FUNCTION
00046  M01S00046.comcmsf +++|          SX6    B0+
00047  M01S00047.comcmsf +++|          SX5    S3          INITIALIZE OUTPUT FILE FET ADDRESS
00048  M01S00048.comcmsf +++|          SA6    MSFC        CLEAR BLOCKS WRITTEN
00049  M01S00049.comcmsf +++|
00050  M01S00050.comcmsf +++|*         INITIALIZE BLOCK MERGE.
00051  M01S00051.comcmsf +++|
00052  M01S00052.comcmsf +++| MSF2     SA1    MSFA
00053  M01S00053.comcmsf +++|          BX6    X1
00054  M01S00054.comcmsf +++|          SA6    MSFB        INITIALIZE BLOCK 1 SIZE
00055  M01S00055.comcmsf +++|          SA6    A6+1        INITIALIZE BLOCK 2 SIZE
00056  M01S00056.comcmsf +++|          READW  S1,A0,X0    READ BLOCK 1 ENTRY
00057  M01S00057.comcmsf +++|          ZR     X1,MSF9     IF NOT EOR
00058  M01S00058.comcmsf +++|          EQ     MSF13       CHECK MERGE COMPLETE
00059  M01S00059.comcmsf +++|
00060  M01S00060.comcmsf +++|*         COMPARE SORT KEYS.
00061  M01S00061.comcmsf +++|
00062  M01S00062.comcmsf +++| MSF3     UX3,B4 X0          SET KEY OFFSET
00063  M01S00063.comcmsf +++|          SA1    A0+B4       READ FIRST WORD OF FIRST ENTRY KEY
00064  M01S00064.comcmsf +++|          SA2    A5+B4       READ FIRST WORD OF SECOND ENTRY KEY
00065  M01S00065.comcmsf +++|          SA4    MSFD        SET SORT KEY MASK
00066  M01S00066.comcmsf +++|          AX3    24          SET KEY LENGTH
00067  M01S00067.comcmsf +++| MSF4     BX1    X4*X1
00068  M01S00068.comcmsf +++|          BX2    X4*X2
00069  M01S00069.comcmsf +++|          BX6    X1-X2
00070  M01S00070.comcmsf +++|          IX7    X2-X1
00071  M01S00071.comcmsf +++|          NG     X6,MSF5     IF KEYS ARE OPPOSITE SIGN
00072  M01S00072.comcmsf +++|          NZ     X6,MSF6     IF KEYS NOT IDENTICAL
00073  M01S00073.comcmsf +++|          SA1    A1+B1
00074  M01S00074.comcmsf +++|          SA2    A2+B1
00075  M01S00075.comcmsf +++|          SX3    X3-1        DECREMENT WORDS TO COMPARE
00076  M01S00076.comcmsf +++|          ZR     X3,MSF7     IF ALL WORDS OF KEY COMPARED
00077  M01S00077.comcmsf +++|          EQ     MSF4        COMPARE NEXT WORD OF KEYS
00078  M01S00078.comcmsf +++|
00079  M01S00079.comcmsf +++| MSF5     NG     X1,MSF8     IF FIRST KEY GREATER
00080  M01S00080.comcmsf +++|          EQ     MSF7        WRITE FIRST ENTRY
00081  M01S00081.comcmsf +++|
00082  M01S00082.comcmsf +++| MSF6     NG     X7,MSF8     IF FIRST KEY GREATER
00083  M01S00083.comcmsf +++|
00084  M01S00084.comcmsf +++|*         WRITE ENTRY 1 AND READ NEXT ENTRY.
00085  M01S00085.comcmsf +++|
00086  M01S00086.comcmsf +++| MSF7     WRITEW X5,A0,X0    WRITE ENTRY
00087  M01S00087.comcmsf +++|          SA1    MSFB
00088  M01S00088.comcmsf +++|          SX6    B1
00089  M01S00089.comcmsf +++|          IX6    X1-X6       COUNT ENTRY
00090  M01S00090.comcmsf +++|          SA6    A1+
00091  M01S00091.comcmsf +++|          ZR     X6,MSF11    IF END OF BLOCK 1
00092  M01S00092.comcmsf +++|          READW  S1,A0,X0    READ ENTRY
00093  M01S00093.comcmsf +++|          ZR     X1,MSF3     IF NOT EOR
00094  M01S00094.comcmsf +++|          EQ     MSF11       COPY BLOCK 2
00095  M01S00095.comcmsf +++|
00096  M01S00096.comcmsf +++|*         WRITE ENTRY 2 AND READ NEXT ENTRY.
00097  M01S00097.comcmsf +++|
00098  M01S00098.comcmsf +++| MSF8     WRITEW X5,A5,X0    WRITE ENTRY
00099  M01S00099.comcmsf +++|          SA1    MSFB+1
00100  M01S00100.comcmsf +++|          SX6    B1
00101  M01S00101.comcmsf +++|          IX6    X1-X6       COUNT ENTRY
00102  M01S00102.comcmsf +++|          SA6    A1+
00103  M01S00103.comcmsf +++|          ZR     X6,MSF10    IF END OF BLOCK 2
00104  M01S00104.comcmsf +++| MSF9     READW  S2,A5,X0    READ ENTRY
00105  M01S00105.comcmsf +++|          ZR     X1,MSF3     IF NOT EOR
00106  M01S00106.comcmsf +++|
00107  M01S00107.comcmsf +++|*         COPY REMAINDER OF BLOCK 1.
00108  M01S00108.comcmsf +++|
00109  M01S00109.comcmsf +++| MSF10    WRITEW X5,A0,X0    WRITE ENTRY
00110  M01S00110.comcmsf +++|          SA1    MSFB
00111  M01S00111.comcmsf +++|          SX6    B1
00112  M01S00112.comcmsf +++|          IX6    X1-X6       COUNT ENTRY
00113  M01S00113.comcmsf +++|          SA6    A1+
00114  M01S00114.comcmsf +++|          ZR     X6,MSF12    IF END OF BLOCK 1
00115  M01S00115.comcmsf +++|          READW  S1,A0,X0    READ ENTRY
00116  M01S00116.comcmsf +++|          ZR     X1,MSF10    IF NOT EOR
00117  M01S00117.comcmsf +++|          EQ     MSF12       RESET OUTPUT FILE
00118  M01S00118.comcmsf +++|
00119  M01S00119.comcmsf +++|*         COPY REMAINDER OF BLOCK 2.
00120  M01S00120.comcmsf +++|
00121  M01S00121.comcmsf +++| MSF11    WRITEW X5,A5,X0    WRITE ENTRY
00122  M01S00122.comcmsf +++|          SA1    MSFB+1
00123  M01S00123.comcmsf +++|          SX6    B1
00124  M01S00124.comcmsf +++|          IX6    X1-X6       COUNT ENTRY
00125  M01S00125.comcmsf +++|          SA6    A1+
00126  M01S00126.comcmsf +++|          ZR     X6,MSF12    IF END OF BLOCK 2
00127  M01S00127.comcmsf +++|          READW  S2,A5,X0    READ ENTRY
00128  M01S00128.comcmsf +++|          ZR     X1,MSF11    IF NOT EOR
00129  M01S00129.comcmsf +++|
00130  M01S00130.comcmsf +++|*         RESET OUTPUT FILE.
00131  M01S00131.comcmsf +++|
00132  M01S00132.comcmsf +++| MSF12    SA1    MSFC
00133  M01S00133.comcmsf +++|          SX7    S3&S4
00134  M01S00134.comcmsf +++|          SX6    B1
00135  M01S00135.comcmsf +++|          BX5    X5-X7       SET NEW OUTPUT FILE
00136  M01S00136.comcmsf +++|          IX6    X1+X6       COUNT BLOCK WRITTEN
00137  M01S00137.comcmsf +++|          SA6    A1
00138  M01S00138.comcmsf +++|          EQ     MSF2        INITIALIZE BLOCK MERGE
00139  M01S00139.comcmsf +++|
00140  M01S00140.comcmsf +++|*         FLUSH OUTPUT FILES AND CHECK MERGE COMPLETE.
00141  M01S00141.comcmsf +++|
00142  M01S00142.comcmsf +++| MSF13    SX7    S3&S4
00143  M01S00143.comcmsf +++|          BX5    X5-X7       RESET LAST FILE WRITTEN
00144  M01S00144.comcmsf +++|          WRITER X5          FLUSH LAST FILE WRITTEN
00145  M01S00145.comcmsf +++|          SA1    MSFC
00146  M01S00146.comcmsf +++|          SX7    1
00147  M01S00147.comcmsf +++|          BX6    X2
00148  M01S00148.comcmsf +++|          IX1    X1-X7
00149  M01S00149.comcmsf +++|          ZR     X1,MSFX     IF ONE BLOCK WRITTEN
00150  M01S00150.comcmsf +++|          SA1    MSFA
00151  M01S00151.comcmsf +++|          LX1    1
00152  M01S00152.comcmsf +++|          BX6    X1
00153  M01S00153.comcmsf +++|          SA6    A1          SET FULL BLOCK SIZE FOR NEXT PASS
00154  M01S00154.comcmsf +++|          SX7    S3&S4
00155  M01S00155.comcmsf +++|          BX5    X5-X7
00156  M01S00156.comcmsf +++|          WRITER X5          FLUSH OTHER OUTPUT FILE
00157  M01S00157.comcmsf +++|
00158  M01S00158.comcmsf +++|*         SWAP INPUT AND OUTPUT FILE NAMES.
00159  M01S00159.comcmsf +++|
00160  M01S00160.comcmsf +++|          RECALL S1
00161  M01S00161.comcmsf +++|          RECALL S2
00162  M01S00162.comcmsf +++|          RECALL S3
00163  M01S00163.comcmsf +++|          RECALL S4
00164  M01S00164.comcmsf +++|          SA1    S1
00165  M01S00165.comcmsf +++|          SA2    S3
00166  M01S00166.comcmsf +++|          BX6    X1
00167  M01S00167.comcmsf +++|          BX7    X2
00168  M01S00168.comcmsf +++|          SA6    A2
00169  M01S00169.comcmsf +++|          SA7    A1
00170  M01S00170.comcmsf +++|          SA1    S2
00171  M01S00171.comcmsf +++|          SA2    S4
00172  M01S00172.comcmsf +++|          BX6    X1
00173  M01S00173.comcmsf +++|          BX7    X2
00174  M01S00174.comcmsf +++|          SA6    A2
00175  M01S00175.comcmsf +++|          SA7    A1
00176  M01S00176.comcmsf +++|          EQ     MSF1        INITIALIZE NEXT PASS
00177  M01S00177.comcmsf +++|
00178  M01S00178.comcmsf +++|
00179  M01S00179.comcmsf +++| MSFA     CON    0           FULL BLOCK ENTRY COUNT
00180  M01S00180.comcmsf +++| MSFB     CON    0           BLOCK 1 ENTRY COUNT
00181  M01S00181.comcmsf +++|          CON    0           BLOCK 2 ENTRY COUNT
00182  M01S00182.comcmsf +++| MSFC     CON    0           RECORDS WRITTEN COUNT
00183  M01S00183.comcmsf +++| MSFD     CON    0           SORT KEY MASK
00184  M01S00184.comcmsf +++| FETS     SPACE  4,10
00185  M01S00185.comcmsf +++|**        FETS.
00186  M01S00186.comcmsf +++|
00187  M01S00187.comcmsf +++|
00188  M01S00188.comcmsf +++| S1       BSS    0           INPUT FILE 1
00189  M01S00189.comcmsf +++| ZZZZZGW  FILEB  MS1B,MSFBL,FET=10
00190  M01S00190.comcmsf +++|
00191  M01S00191.comcmsf +++| S2       BSS    0           INPUT FILE 2
00192  M01S00192.comcmsf +++| ZZZZZGX  FILEB  MS2B,MSFBL,FET=10
00193  M01S00193.comcmsf +++|
00194  M01S00194.comcmsf +++| S3       BSS    0           OUTPUT FILE 1
00195  M01S00195.comcmsf +++| ZZZZZGY  FILEB  MS3B,MSFBL,FET=10
00196  M01S00196.comcmsf +++|
00197  M01S00197.comcmsf +++| S4       BSS    0           OUTPUT FILE 4
00198  M01S00198.comcmsf +++| ZZZZZGZ  FILEB  MS4B,MSFBL,FET=10
00199  M01S00199.comcmsf +++|
00200  M01S00200.comcmsf +++|
00201  M01S00201.comcmsf +++|          BASE   *
00202  M01S00202.comcmsf +++| QUAL$    IF     -DEF,QUAL$
00203  M01S00203.comcmsf +++|          QUAL   *
00204  M01S00204.comcmsf +++| MSF      EQU    /COMCMSF/MSF
00205  M01S00205.comcmsf +++| S1       EQU    /COMCMSF/S1
00206  M01S00206.comcmsf +++| S2       EQU    /COMCMSF/S2
00207  M01S00207.comcmsf +++| S3       EQU    /COMCMSF/S3
00208  M01S00208.comcmsf +++| S4       EQU    /COMCMSF/S4
00209  M01S00209.comcmsf +++| QUAL$    ENDIF
00210  M01S00210.comcmsf +++|          ENDX
cdc/nos2.source/opl.opl871/common/comcmsf.txt ยท Last modified: by 127.0.0.1