User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:sort

Deck SORT

3 Modifications

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.sort    +++|          IDENT  SORT,FETS,SORT
00002  M01S00002.sort    +++|          ABS
00003  M01S00003.sort    +++|          SST
00004  M01S00004.sort    +++|          ENTRY  SORT
00005  M01S00005.sort    +++|          ENTRY  MFL=
00006  M01S00006.sort    +++|          ENTRY  SSM=
00007  M01S00007.sort    +++|          SYSCOM B1          DEFINE (B1) = 1
00008  M01S00008.sort    +++|*COMMENT  SORT - FILE SORT ROUTINE.
Line S00009 Modification History
M01 (Added by) sort
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00009  M02S00009.281l803 ---|          COMMENT COPYRIGHT CONTROL DATA CORP. 1971.
00010  M01S00001.281l803 +++|          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00011  M01S00010.sort    +++|          TITLE  SORT - FILE SORT ROUTINE
00012  M01S00011.sort    +++|          SPACE  4
00013  M01S00012.sort    +++|***       SORT - FILE SORT ROUTINE
00014  M01S00013.sort    +++|*         W.T. SACKETT       71/03/01.
00015  M01S00014.sort    +++|*
00016  M01S00015.sort    +++|*         SORT READS THE INPUT FILE IN SEGMENTS, SORTS THEM AND MERGES
00017  M01S00016.sort    +++|*         RESULT WITH THE PREVIOUSLY SORTED PORTION OF THE FILE.
00018  M01S00017.sort    +++|*         THE SORT IS BASED ON THE FIRST *NC* (DEFAULT = 5) CHARACTERS
00019  M01S00018.sort    +++|*         OF THE LINE NUMBER FOR EACH LINE. THE LINE NUMBER ENTERED
00020  M01S00019.sort    +++|*         LAST BEING THE CORRECTION LINE, REPLACING ANY LINES HAVING
00021  M01S00020.sort    +++|*         THE SAME LINE NUMBER.  A LINE NUMBER FOLLOWED BY AN EMPTY
00022  M01S00021.sort    +++|*         LINE IS CONSIDERED A LINE DELETE.
00023  M01S00022.sort    +++|*         NOTES  1) LINE NUMBER, ONE BLANK, CARRAIGE RETURN IS ALSO
00024  M01S00023.sort    +++|*         CONSIDERED A LINE DELETE.  2) A LINE NUMBER HAVING MORE THAN
00025  M01S00024.sort    +++|*         *NC* CHARACTERS IS NOT CHECKED FOR LINE DELETE SO TO DELETE
00026  M01S00025.sort    +++|*         SUCH LINES TYPE ONLY *NC* CHARACTERS THEN CARRAIGE RETURN.
00027  M01S00026.sort    +++|*         3) DIRECT ACCESS FILES MAY BE SORTED.
00028  M01S00027.sort    +++|          SPACE  4
Line S00028 Modification History
M01 (Added by) sort
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00029  M02S00028.v23l617 ---|***       CONTROL CARD CALL.
00030  M01S00001.v23l617 +++|***       COMMAND CALL.
00031  M01S00029.sort    +++|*
00032  M01S00030.sort    +++|*         SORT,I.            I = NAME OF INPUT FILE TO BE SORTED.
00033  M01S00031.sort    +++|*
00034  M01S00032.sort    +++|*         OR, SORT,I,NC=N. IN WHICH CASE THE SORT IS DONE ONLY ON
00035  M01S00033.sort    +++|*         THE FIRST N ( .LE. 10 ) CHARACTERS OF THE LINE NUMBER.
00036  M01S00034.sort    +++|*         IF NO NC PARAMETER IS SPECIFIED N IS ASSUMED TO BE 5.
00037  M01S00035.sort    +++|          SPACE  4
00038  M01S00036.sort    +++|***       DAYFILE MESSAGES.
00039  M01S00037.sort    +++|*
00040  M01S00038.sort    +++|*         * NO LINE NUMBER ON SORT FILE.* = SOME LINE ON INPUT FILE
00041  M01S00039.sort    +++|*         IS MISSING A LINE NUMBER. CAN ALSO MEAN A LINE WAS TOO LONG,
00042  M01S00040.sort    +++|*         (160 CHARACTER MAX LINE SIZE).  SORT FILE IS NOT REWRITTEN.
00043  M01S00041.sort    +++|*
Line S00042 Modification History
M01 (Added by) sort
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00044  M02S00042.v23l617 ---|*         * ILLEGAL SORT PARAMETER.* = SORT CONTROL CARD IS INCORRECT.
00045  M01S00002.v23l617 +++|*         * INCORRECT SORT PARAMETER.* = SORT COMMAND IS INCORRECT.
00046  M01S00043.sort    +++|*
00047  M01S00044.sort    +++|*         * EMPTY SORT INPUT FILE.*
00048  M01S00045.sort    +++|*
Line S00046 Modification History
M01 (Added by) sort
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00049  M02S00046.v23l617 ---|*         * ILLEGAL WRITE ON READ ONLY FILE.* (CIO ERROR 03) = DIRECT
00050  M01S00003.v23l617 +++|*         * INCORRECT WRITE ON READ ONLY FILE.* (CIO ERROR 03) = DIRECT
00051  M01S00047.sort    +++|*         ACCESS INPUT FILE WAS NOT ATTACHED IN WRITE MODE.
00052  M01S00001.sort1   +++|*
00053  M01S00002.sort1   +++|*         * RESERVED FILE NAME.* - FILE NAME SPECIFIED ON *SORT*
00054  M01S00003.sort1   +++|*         CONTROL CARD IS RESERVED FOR USE BY THE EDITOR (ZZZZZG0,
00055  M01S00004.sort1   +++|*         ZZZZZG1).
00056  M01S00048.sort    +++|          SPACE  4,10
00057  M01S00049.sort    +++|*CALL     COMCMAC
00058  M01S00050.sort    +++|*CALL     COMCCMD
00059  M01S00051.sort    +++|*CALL     COMSREM
00060  M01S00052.sort    +++|          SPACE  4,10
00061  M01S00053.sort    +++|          ORG    110B
00062  M01S00054.sort    +++| FETS     BSS    0
00063  M01S00055.sort    +++|
00064  M01S00056.sort    +++|
00065  M01S00057.sort    +++|**        ASSEMBLY CONSTANTS.
00066  M01S00058.sort    +++|
00067  M01S00059.sort    +++| DAF      CON    0           FILE TYPE FLAG (0 = DIRECT ACCESS)
00068  M01S00060.sort    +++| ELAD     CON    0           ADDRESS OF PARTIAL LINE
00069  M01S00061.sort    +++| ELCH     CON    0           NUMBER OF WORDS IN PARTIAL LINE
Line S00062 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00070  M02S00062.sort1   ---| LS       CON    -1          LAST LINE NUMBER ON MERGE FILE (SCR1)
00071  M01S00005.sort1   +++| LS       CON    -1          LAST LINE NUMBER ON MERGE FILE (ZZZZZG1)
00072  M01S00063.sort    +++| NC       CON    5           NUMBER OF DIGITS TO SORT ON
Line S00064 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00073  M02S00064.sort1   ---| NMSCR1   VFD    42/0LSCR1,18/15B
Line S00065 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00074  M02S00065.sort1   ---| SCR1L    EQU    2001B       LENGTH OF SCRATCH *CIO* BUFFERS
00075  M01S00006.sort1   +++| NMZZZG1  VFD    42/0LZZZZZG1,18/15B
00076  M01S00007.sort1   +++| BUFL     EQU    2001B       LENGTH OF SCRATCH *CIO* BUFFERS
00077  M01S00066.sort    +++| WL       EQU    VXLL/5+1    WORKING BUFFER LENGTH
00078  M01S00067.sort    +++|          SPACE  4
00079  M01S00068.sort    +++|**        FET DEFINITIONS.
00080  M01S00069.sort    +++|
Line S00070 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00081  M02S00070.sort1   ---| SCR1     RFILEB BUF,SCR1L,(FET=7)
Line S00071 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00082  M02S00071.sort1   ---| SCR      RFILEB BUF+SCR1L,SCR1L,(FET=7)
Line S00072 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00083  M02S00072.sort1   ---| I        RFILEB BUF+SCR1L+SCR1L,1,(FET=7)
00084  M01S00008.sort1   +++| ZZZZZG1  RFILEB G1BUF,BUFL,(FET=7)
00085  M01S00009.sort1   +++| ZZZZZG0  RFILEB G0BUF,BUFL,(FET=7)
00086  M01S00010.sort1   +++| I        RFILEB IBUF,1,(FET=7)
00087  M01S00073.sort    +++| RPB      SPACE  4,10
00088  M01S00074.sort    +++|*         *REPRIEVE* PARAMETER BLOCK.
00089  M01S00075.sort    +++|
00090  M01S00076.sort    +++|
00091  M01S00077.sort    +++| RPB      BSS    0
00092  M01S00078.sort    +++|          VFD    36/0,12/RPBL,12/0
00093  M01S00079.sort    +++|          VFD    30/0,30/PIT
00094  M01S00080.sort    +++|          BSSZ   7
00095  M01S00081.sort    +++|          BSSZ   16          EXCHANGE PACKAGE
00096  M01S00082.sort    +++| RPBL     EQU    *-RPB
00097  M01S00083.sort    +++|          TITLE  MAIN PROGRAM.
00098  M01S00084.sort    +++|          SPACE  4
00099  M01S00085.sort    +++| SORT     SB1    1
00100  M01S00086.sort    +++|          RJ     PRS         PRESET SORT
00101  M01S00087.sort    +++|          EQ     SOR2        READ FILE
00102  M01S00088.sort    +++|
Line S00089 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00103  M02S00089.sort1   ---| SOR1     WRITE  SCR         FLUSH SORTED DATA
00104  M01S00011.sort1   +++| SOR1     WRITE  ZZZZZG0     FLUSH SORTED DATA
00105  M01S00090.sort    +++|          SA3    I+1
00106  M01S00091.sort    +++|          SX6    X3
00107  M01S00092.sort    +++|          SA6    A3+B1       RESET IN AND OUT TO FIRST
00108  M01S00093.sort    +++|          SA6    A6+B1
00109  M01S00094.sort    +++|          SA3    ELCH
00110  M01S00095.sort    +++|          ZR     X3,SOR2     IF NO PARTIAL LINE IN LAST SEGMENT
00111  M01S00096.sort    +++|          SA4    ELAD        MOVE PARTIAL LINE TO START OF INPUT BUFFER
00112  M01S00097.sort    +++|          WRITEW I,X4,X3
00113  M01S00098.sort    +++| SOR2     READEI I,R         NEXT SEGMENT FROM INPUT
Line S00099 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00114  M02S00099.sort1   ---|          RECALL SCR
00115  M01S00012.sort1   +++|          RECALL ZZZZZG0
00116  M01S00100.sort    +++|          SA1    X2
Line S00101 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00117  M02S00101.sort1   ---|          LX1    59-38       CHECK IF NAME IS SCR1
Line S00102 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00118  M02S00102.sort1   ---|          PL     X1,SOR3     IF SCR ALREADY HAS ITS OWN FNT NAME
Line S00103 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00119  M02S00103.sort1   ---|          RENAME SCR,SCR1,R
00120  M01S00013.sort1   +++|          LX1    59-20       CHECK IF NAME IS ZZZZZG1
00121  M01S00014.sort1   +++|          PL     X1,SOR3     IF ZZZZZG0 ALREADY HAS ITS OWN FNT NAME
00122  M01S00015.sort1   +++|          SA4    ZZZZZG0+6
00123  M01S00016.sort1   +++|          RENAME ZZZZZG0,ZZZZZG1
00124  M01S00017.sort1   +++|          RECALL ZZZZZG0
00125  M01S00018.sort1   +++|          BX6    X4          RESTORE RANDOM ADDRESS
00126  M01S00019.sort1   +++|          SA6    A4+
00127  M01S00104.sort    +++| SOR3     RJ     ELK         CHECK END OF BUFFER FOR END OF LINE
00128  M01S00105.sort    +++|          SA1    I+2         READ *IN*
00129  M01S00106.sort    +++|          SA2    A1+B1       READ *OUT*
00130  M01S00107.sort    +++|          BX3    X2-X1
00131  M01S00108.sort    +++|          NZ     X3,SOR4     IF DATA READ
00132  M01S00109.sort    +++|          SA4    GLTA
00133  M01S00110.sort    +++|          ZR     X4,ERR1     IF EMPTY FILE
00134  M01S00111.sort    +++|          EQ     SOR5        CHECK FOR EOI
00135  M01S00112.sort    +++|
00136  M01S00113.sort    +++| SOR4     RJ     GLT         GENERATE LINE NUMBER TABLE
Line S00114 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00137  M02S00114.sort1   ---|          RJ     MER         MERGE SCR1 AND I TO SCR
00138  M01S00020.sort1   +++|          RJ     MER         MERGE ZZZZZG1 AND I TO ZZZZZG0
00139  M01S00115.sort    +++| SOR5     SA1    I
00140  M01S00116.sort    +++|          LX1    59-9
00141  M01S00117.sort    +++|          PL     X1,SOR1     IF NOT *EOI* ON INPUT FILE
Line S00118 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00142  M02S00118.sort1   ---|          WRITER SCR,R
00143  M01S00021.sort1   +++|          WRITER ZZZZZG0,R
00144  M01S00119.sort    +++|          SA1    DAF
00145  M01S00120.sort    +++|          ZR     X1,SOR6     IF INPUT FILE WAS DIRECT ACCESS
00146  M01S00022.sort1   +++|          SA4    X2+6
00147  M01S00121.sort    +++|          RENAME X2,I
00148  M01S00023.sort1   +++|          RECALL X2
00149  M01S00024.sort1   +++|          BX6    X4          RESTORE RANDOM ADDRESS
00150  M01S00025.sort1   +++|          SA6    A4
00151  M01S00122.sort    +++|          EQ     SOR8        END
00152  M01S00123.sort    +++|
Line S00124 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00153  M02S00124.sort1   ---| SOR6     REWIND X2,R        COPY SCR TO INPUT
00154  M01S00026.sort1   +++| SOR6     REWIND X2,R        COPY ZZZZZG0 TO INPUT
00155  M01S00125.sort    +++|          READEI X2
00156  M01S00126.sort    +++|          SA0    PRS         FWA OF WORKING BUFFER
00157  M01S00127.sort    +++|          REWIND I,R
Line S00128 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00158  M02S00128.sort1   ---| SOR7     READW  SCR,PRS,SCR1L-1
00159  M01S00027.sort1   +++| SOR7     READW  ZZZZZG0,PRS,BUFL-1
00160  M01S00129.sort    +++|          SB7    B6-PRS      NUMBER OF WORDS TRANSFERRED
00161  M01S00130.sort    +++|          SX2    I
00162  M01S00131.sort    +++|          BX5    X1
00163  M01S00132.sort    +++|          WRITEW X2,A0,B7
00164  M01S00133.sort    +++|          PL     X5,SOR7     IF COPY NOT COMPLETE
00165  M01S00134.sort    +++|          WRITER X2          EMPTY BUFFER
00166  M01S00135.sort    +++| SOR8     MESSAGE  =0,1      CLEAR *MS1W* MESSAGE
00167  M01S00028.sort1   +++|          RETURN ZZZZZG1
00168  M01S00136.sort    +++|          ENDRUN
00169  M01S00137.sort    +++|
00170  M01S00138.sort    +++| ERR      MESSAGE (=C* NO LINE NUMBER ON SORT FILE.*),,R
00171  M01S00139.sort    +++|          EQ     ERR2        ABORT
00172  M01S00140.sort    +++|
00173  M01S00141.sort    +++| ERR1     MESSAGE (=C* EMPTY SORT INPUT FILE.*),,R
00174  M01S00142.sort    +++| ERR2     REWIND I
00175  M01S00143.sort    +++|          ABORT
00176  M01S00144.sort    +++|          TITLE  SUBROUTINES.
00177  M01S00145.sort    +++| GLT      SPACE  4
00178  M01S00146.sort    +++|**        GLT - GENERATE LINE NUMBER TABLE.
00179  M01S00147.sort    +++|*
00180  M01S00148.sort    +++|*T        1/ ,40/ CONVERTED NUMBER ,18/ BUFFER ADDRESS ,1/D
Figure

01181929D BUFFER ADDRESS CONVERTED NUMBER 305859 CONVERTED NUMBER

00181  M01S00149.sort    +++|*         D = NULL (DELETE) LINE FLAG (SET FOR DELETE)
00182  M01S00150.sort    +++|*
00183  M01S00151.sort    +++|*         MAIN LOOP IS IN STACK ON 6600.
00184  M01S00152.sort    +++|*
00185  M01S00153.sort    +++|*         ENTRY  (X1) = *IN*.
00186  M01S00154.sort    +++|*                (X2) = *OUT*.
00187  M01S00155.sort    +++|*
00188  M01S00156.sort    +++|*         EXIT   (X0) = FWA OF LINE NUMBER TABLE.
00189  M01S00157.sort    +++|*                (GLTA) = 1.
00190  M01S00158.sort    +++|*
00191  M01S00159.sort    +++|*         USES   A - 2, 3, 4, 6, 7.
00192  M01S00160.sort    +++|*                B - ALL.
00193  M01S00161.sort    +++|*                X - ALL.
00194  M01S00162.sort    +++|*
00195  M01S00163.sort    +++|*         CALLS  SST.
00196  M01S00164.sort    +++|
00197  M01S00165.sort    +++|
00198  M01S00166.sort    +++| GLT      SUBR               ENTRY/EXIT
00199  M01S00167.sort    +++|          SX6    B1
00200  M01S00168.sort    +++|          SA6    GLTA        SET DATA READ FLAG
00201  M01S00169.sort    +++|          SB7    X1          SET STARTING ADDRESS OF LINE NUMBERS
00202  M01S00170.sort    +++|          SA2    X2          GET FIRST LINE
00203  M01S00171.sort    +++|          MX5    48
00204  M01S00172.sort    +++|          BX3    X3-X3
00205  M01S00173.sort    +++|          SA4    NC          NUMBER OF DIGITS TO SORT ON
00206  M01S00174.sort    +++|          BX6    X6-X6
00207  M01S00175.sort    +++|          SB4    -1R+        (B4) = -1R+
00208  M01S00176.sort    +++|          SB5    X4+B1
00209  M01S00177.sort    +++|          NX7,B3 X3          INITIALIZE (X7)=0, (B3)=48
00210  M01S00178.sort    +++|          BX1    X2
00211  M01S00179.sort    +++|          SB6    B3-B5       (B6) = 48-*NC*-1
00212  M01S00180.sort    +++|          MX0    54
00213  M01S00181.sort    +++|          SB5    -1R0        (B5) = -1R0
00214  M01S00182.sort    +++|          SA7    B7+         PRESET LINE NUMBER TABLE BUFFER ADDRESS
00215  M01S00183.sort    +++| GLT1     IX6    X6+X3       ACCUMULATE LINE NUMBER
00216  M01S00184.sort    +++|          LX1    6
00217  M01S00185.sort    +++|          BX3    -X0*X1      GET NEXT CHARACTER
00218  M01S00186.sort    +++|          SX7    X3+B4       CHECK IF NOT ALPHANUMERIC
00219  M01S00187.sort    +++|          BX1    X0*X1       CLEAR CHARACTER BEING PROCESSED
00220  M01S00188.sort    +++|          SX3    X3+B5       CHECK IF ALPHABETIC
00221  M01S00189.sort    +++|          LX6    4           NOTE - LINE NUMBER CONVERTED TO HEXADECIMAL
00222  M01S00190.sort    +++|          BX7    -X7+X3
00223  M01S00191.sort    +++|          SB3    B3-B1       COUNT CHARACTER
00224  M01S00192.sort    +++|          PL     X7,GLT1     LOOP IF NUMERIC
00225  M01S00193.sort    +++|          LX6    18-4
00226  M01S00194.sort    +++|          LT     B3,B6,GLT4  IF OVER MAX NUMBER OF DIGITS TO SORT
00227  M01S00195.sort    +++|          ZR     X1,GLT5     IF POSSIBLE NULL LINE
00228  M01S00196.sort    +++| GLT2     SX7    A2          SET BUFFER ADDRESS
00229  M01S00197.sort    +++|          BX6    X6+X7       BUILD  TABLE ENTRY
00230  M01S00198.sort    +++|          LX7    X6,B1
00231  M01S00199.sort    +++|          SA7    A7+B1       STORE LINE NUMBER TABLE ENTRY
00232  M01S00200.sort    +++| GLT3     BX6    -X5*X2
00233  M01S00201.sort    +++|          SA2    A2+B1       READ NEXT WORD
00234  M01S00202.sort    +++|          NZ     X6,GLT3     IF NOT END OF LINE
00235  M01S00203.sort    +++|          BX1    X2
00236  M01S00204.sort    +++|          NX3,B3 X6          RE-INITIALIZE (X3)=0, (B3)=48
00237  M01S00205.sort    +++|          NZ     X2,GLT1     LOOP TO END OF BUFFER
00238  M01S00206.sort    +++|          SX0    B7+B1       SET ADDRESS OF LINE NUMBER TABLE
00239  M01S00207.sort    +++|          SB2    A2
00240  M01S00208.sort    +++|          SA6    A7+B1       SET TERMINATOR
00241  M01S00209.sort    +++|          SX1    A6-B7       SET TABLE LENGTH
00242  M01S00210.sort    +++|          NE     B2,B7,ERR   IF END OF BUFFER NOT REACHED
00243  M01S00211.sort    +++|          RJ     SST=        SORT TABLE
00244  M01S00212.sort    +++|          EQ     GLTX        EXIT
00245  M01S00213.sort    +++|
00246  M01S00214.sort    +++| GLT4     AX6    4           PROCESS ONLY *NC* DIGITS
00247  M01S00215.sort    +++|          SB3    B3+B1
00248  M01S00216.sort    +++|          LT     B3,B6,GLT4  IF STILL NOT LESS THAN *NC* DIGITS
00249  M01S00217.sort    +++|          MX7    42
00250  M01S00218.sort    +++|          BX6    X7*X6       MASK OFF EXCESS DIGITS
00251  M01S00219.sort    +++|          EQ     GLT2        LOOP
00252  M01S00220.sort    +++|
00253  M01S00221.sort    +++| GLT5     SX7    X3+1R0
00254  M01S00222.sort    +++|          SX1    X3+1R0-1R   LAST CHARACTER BLANK CONSIDERED A DELETE
00255  M01S00223.sort    +++|          ZR     X7,GLT6     IF PROBABLE DELETE LINE
00256  M01S00224.sort    +++|          NZ     X1,GLT2     IF NOT DELETE
00257  M01S00225.sort    +++| GLT6     SB2    B3-38
00258  M01S00226.sort    +++|          GE     B2,B1,GLT7  IF LINE NUMBER LESS THAN 9 DIGITS
00259  M01S00227.sort    +++|          SA3    A2+B1
00260  M01S00228.sort    +++|          ZR     X3,GLT7     IF LINE DELETE
00261  M01S00229.sort    +++|          LX3    6
00262  M01S00230.sort    +++|          PL     B2,GLT2     IF 9 DIGITS
00263  M01S00231.sort    +++|          SX7    1R          PROCESS 10 DIGIT LINE NUMBERS
00264  M01S00232.sort    +++|          BX7    X3-X7
00265  M01S00233.sort    +++|          NZ     X7,GLT2     IF NOT DELETE
00266  M01S00234.sort    +++| GLT7     MX1    1           SET DELETE FLAG
00267  M01S00235.sort    +++|          BX6    X6+X1
00268  M01S00236.sort    +++|          EQ     GLT2        LOOP
00269  M01S00237.sort    +++|
00270  M01S00238.sort    +++| GLTA     CON    0           DATA READ FLAG
00271  M01S00239.sort    +++|          EJECT
00272  M01S00240.sort    +++|          SPACE  4
00273  M01S00241.sort    +++|**        MER -  MERGE LAST SORTED SEGMENT WITH NEW INPUT USING DATA
Line S00242 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00274  M02S00242.sort1   ---|*                FROM LINE NUMBER TABLE TO WRITE TO SCR.
00275  M01S00029.sort1   +++|*                FROM LINE NUMBER TABLE TO WRITE TO ZZZZZG0.
00276  M01S00243.sort    +++|*
00277  M01S00244.sort    +++|*         ENTRY  (X0) = FIRST WORD ADDRESS OF LINE NUMBER TABLE.
00278  M01S00245.sort    +++|*                (LS) = -1 ON FIRST ENTRY SO NO MERGE IS DONE AFTER
00279  M01S00246.sort    +++|*                PROCESSING THE FIRST LINE NUMBER TABLE.
00280  M01S00247.sort    +++|*
00281  M01S00248.sort    +++|*         USES   ALL REGISTERS
00282  M01S00249.sort    +++|
00283  M01S00250.sort    +++|
00284  M01S00251.sort    +++| MER      SUBR               ENTRY/EXIT
00285  M01S00252.sort    +++|
00286  M01S00253.sort    +++|*         GET M, LINE NUMBER FROM GLT TABLE FOR FILE TO BE MERGED,
00287  M01S00254.sort    +++|*         AND CHECK FOR ZERO LINE NUMBERS OR LINES WITHOUT NUMBERS.
00288  M01S00255.sort    +++|
00289  M01S00256.sort    +++|          SA5    X0          FIRST ENTRY IN LINE NUMBER TABLE
00290  M01S00257.sort    +++|          MX0    41
00291  M01S00258.sort    +++|          SA1    LS          LAST LINE NUMBER ON FILE PREVIOUSLY SORTED
00292  M01S00259.sort    +++|          BX6    X0*X5
00293  M01S00260.sort    +++|          NZ     X6,MER2     IF NO ZERO LINE NUMBERS
00294  M01S00261.sort    +++|          SA2    A5
00295  M01S00262.sort    +++| MER1     LX2    59-0
00296  M01S00263.sort    +++|          SA3    X2          GET LINE FROM INPUT BUFFER
00297  M01S00264.sort    +++|          AX3    54
00298  M01S00265.sort    +++|          SA2    A2+B1       GET NEXT LINE NUMBER TABLE ENTRY
00299  M01S00266.sort    +++|          SX4    X3-1R0
00300  M01S00267.sort    +++|          NZ     X4,ERR      IF NO LINE NUMBER ON LINE
00301  M01S00268.sort    +++|          BX6    X0*X2
00302  M01S00269.sort    +++|          ZR     X6,MER1     IF LINE NUMBER = 0
00303  M01S00270.sort    +++|          SA5    A2-B1       RESET A5
00304  M01S00271.sort    +++| MER2     LX5    59-0
00305  M01S00272.sort    +++|          SA0    X5          (A0) = BUFFER ADDRESS OF LINE M
00306  M01S00273.sort    +++|          PL     X5,MER3     IF NOT NULL LINE
00307  M01S00274.sort    +++|          SA0    -1          LINE DELETE FLAG
00308  M01S00275.sort    +++|          MX7    1
00309  M01S00276.sort    +++|          BX5    X7-X5       WIPE OUT SIGN EXTENSION
00310  M01S00277.sort    +++| MER3     AX5    18          (X5) = M, LINE NUMBER FOR MERGE FILE
00311  M01S00278.sort    +++|          IX4    X1-X5
Line S00279 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00312  M02S00279.sort1   ---|          NG     X4,MERA     MERGE INPUT FILE SEGMENT ONTO END OF SCR
Line S00280 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00313  M02S00280.sort1   ---|          SA3    NMSCR1
Line S00281 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00314  M02S00281.sort1   ---|          WRITER SCR         EMPTY SCR BUFFER
00315  M01S00030.sort1   +++|          NG     X4,MERA     IF LINE NUMBER > LAST LINE NUMBER
00316  M01S00031.sort1   +++|          SA3    NMZZZG1
00317  M01S00032.sort1   +++|          WRITER ZZZZZG0     EMPTY ZZZZZG0 BUFFER
00318  M01S00282.sort    +++|          REWIND X2,R
00319  M01S00283.sort    +++|          BX6    X3
Line S00284 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00320  M02S00284.sort1   ---|          SA6    X2          SCR FNT NAME SCR1
Line S00285 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00321  M02S00285.sort1   ---|          SA3    SCR1+B1     SET IN=OUT=FIRST FOR SCR1
00322  M01S00033.sort1   +++|          SA6    X2          ZZZZZG0 FNT NAME ZZZZZG1
00323  M01S00034.sort1   +++|          SA3    ZZZZZG1+B1  SET IN=OUT=FIRST FOR ZZZZZG1
00324  M01S00286.sort    +++|          SX6    X3
00325  M01S00287.sort    +++|          SA6    A3+B1
00326  M01S00288.sort    +++|          SA6    A6+B1
Line S00289 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00327  M02S00289.sort1   ---|          READ   A3-B1       READ SCR1
00328  M01S00035.sort1   +++|          READ   A3-B1       READ ZZZZZG1
00329  M01S00290.sort    +++|
Line S00291 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00330  M02S00291.sort1   ---|*         GET LINE NUMBER, S, FROM SCR1 AND WRITE LINE TO WS
00331  M01S00036.sort1   +++|*         GET LINE NUMBER, S, FROM ZZZZZG1 AND WRITE LINE TO WS
00332  M01S00292.sort    +++|
Line S00293 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00333  M02S00293.sort1   ---| MER4     READC  SCR1,WS
Line S00294 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00334  M02S00294.sort1   ---|          NZ     X1,MER12    IF EOR ON SCR1
00335  M01S00037.sort1   +++| MER4     READC  ZZZZZG1,WS
00336  M01S00038.sort1   +++|          NZ     X1,MER12    IF EOR ON ZZZZZG1
00337  M01S00295.sort    +++|          SA2    WS          GET LINE
00338  M01S00296.sort    +++|          MX0    0
00339  M01S00297.sort    +++|          SB3    B0
00340  M01S00298.sort    +++|          SA4    NC
00341  M01S00299.sort    +++|          SB5    -1R+
00342  M01S00300.sort    +++|          MX7    54          LINE NUMBER MASK
00343  M01S00301.sort    +++|          SB6    X4
00344  M01S00302.sort    +++| MER5     LX2    6
00345  M01S00303.sort    +++|          BX3    -X7*X2      NEXT CHARACTER
00346  M01S00304.sort    +++|          SB3    B3+B1       COUNT CHARACTER
00347  M01S00305.sort    +++|          BX0    X0+X1       ACCUMULATE LINE NUMBER
00348  M01S00306.sort    +++|          SX1    X3-1R0
00349  M01S00307.sort    +++|          SX3    X3+B5
00350  M01S00308.sort    +++|          BX3    -X3+X1      CHECK IF NUMERIC
00351  M01S00309.sort    +++|          BX2    X7*X2       CLEAR CHARACTER BEING PROCESSED
00352  M01S00310.sort    +++|          LX0    4           MULTIPLY BY 16( TO PUT IN GLT FORM)
00353  M01S00311.sort    +++|          PL     X3,MER5     GET REST OF LINE NUMBER
00354  M01S00312.sort    +++| MER6     AX0    4           PROCESS ONLY *NC* DIGITS
00355  M01S00313.sort    +++|          SB3    B3-B1
00356  M01S00314.sort    +++|          GT     B3,B6,MER6  IF STILL MORE THAN *NC* CHARACTERS
00357  M01S00315.sort    +++| MER7     IX4    X5-X0       M - S
00358  M01S00316.sort    +++|          NG     X4,MER8     IF M>S
00359  M01S00317.sort    +++|          ZR     X4,MER4     M = S SO READ NEXT S
00360  M01S00318.sort    +++|          SA3    LS          LAST LINE NUMBER ON LAST SORTED SEGMENT
00361  M01S00319.sort    +++|          IX4    X3-X5
00362  M01S00320.sort    +++|          NG     X4,MER11    IF M>LS
Line S00321 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00363  M02S00321.sort1   ---|          WRITEC SCR,WS      TRANSFER LINE S OF SCR1 TO SCR
00364  M01S00039.sort1   +++|          WRITEC ZZZZZG0,WS  TRANSFER LINE S OF ZZZZZG1 TO ZZZZZG0
00365  M01S00322.sort    +++|          EQ     MER4
00366  M01S00323.sort    +++|
00367  M01S00324.sort    +++|*         CHECK LINE NUMBER AND MERGE.
00368  M01S00325.sort    +++|
00369  M01S00326.sort    +++| MER8     SB7    A0          BUFFER ADDRESS FOR MERGE FILE
00370  M01S00327.sort    +++|          BX4    X5
00371  M01S00328.sort    +++|          SA5    A5+B1       GET NEXT M
00372  M01S00329.sort    +++|          LX5    59-0
00373  M01S00330.sort    +++|          ZR     X5,MER10    IF END OF LINE NUMBER TABLE
00374  M01S00331.sort    +++|          SA0    X5          BUFFER ADDRESS
00375  M01S00332.sort    +++|          PL     X5,MER9     IF NO LINE DELETE
00376  M01S00333.sort    +++|          SA0    -B1         LINE DELETE FLAG
00377  M01S00334.sort    +++|          MX7    1           REMOVE SIGN EXTENSION
00378  M01S00335.sort    +++|          BX5    X7-X5
00379  M01S00336.sort    +++| MER9     AX5    18          NEXT M TO X5
00380  M01S00337.sort    +++|          BX2    X5-X4       CHECK IF SAME LINE NUMBERS
00381  M01S00338.sort    +++|          ZR     X2,MER8     IF SAME, DELETE EARLIER LINE
00382  M01S00339.sort    +++|          NG     B7,MER7     IF LINE DELETE REQUIRED
Line S00340 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00383  M02S00340.sort1   ---|          WRITEC SCR,B7      TRANSFER LINE M TO SCR
00384  M01S00040.sort1   +++|          WRITEC ZZZZZG0,B7  TRANSFER LINE M TO ZZZZZG0
00385  M01S00341.sort    +++|          EQ     MER7        CHECK NEXT LINE
00386  M01S00342.sort    +++|
Line S00343 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00387  M02S00343.sort1   ---|*         DUMP REST OF SCR1 TO SCR.
00388  M01S00041.sort1   +++|*         DUMP REST OF ZZZZZG1 TO ZZZZZG0.
00389  M01S00344.sort    +++|
00390  M01S00345.sort    +++| MER10    NG     B7,MER11    IF NULL LINE
Line S00346 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00391  M02S00346.sort1   ---|          WRITEC SCR,B7      WRITE LAST LINE OF LINE NUMBER TABLE
Line S00347 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00392  M02S00347.sort1   ---| MER11    WRITEC SCR,WS      WRITE NEXT LINE FROM SCR1
Line S00348 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00393  M02S00348.sort1   ---|          READC  SCR1,WS
00394  M01S00042.sort1   +++|          WRITEC ZZZZZG0,B7  WRITE LAST LINE OF LINE NUMBER TABLE
00395  M01S00043.sort1   +++| MER11    WRITEC ZZZZZG0,WS  WRITE NEXT LINE FROM ZZZZZG1
00396  M01S00044.sort1   +++|          READC  ZZZZZG1,WS
00397  M01S00349.sort    +++|          ZR     X1,MER11    IF NOT EOR ON SORTED SEGMENT
00398  M01S00350.sort    +++|
Line S00351 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00399  M02S00351.sort1   ---|*         DUMP OF LINE NUMBER TABLE TO SCR.
00400  M01S00045.sort1   +++|*         DUMP OF LINE NUMBER TABLE TO ZZZZZG0.
00401  M01S00352.sort    +++|
00402  M01S00353.sort    +++| MER12    ZR     X5,MER14    IF END OF LINE NUMBER TABLE
00403  M01S00354.sort    +++| MERA     SB7    A0
00404  M01S00355.sort    +++|          BX0    X5          CHECK MERGE
00405  M01S00356.sort    +++|          SA5    A5+B1       NEXT LINE FROM LINE NUMBER TABLE
00406  M01S00357.sort    +++|          LX5    59-0
00407  M01S00358.sort    +++|          SA0    X5          BUFFER ADDRESS
00408  M01S00359.sort    +++|          PL     X5,MER13    IF NO LINE DELETE
00409  M01S00360.sort    +++|          SA0    -B1         LINE DELETE FLAG
00410  M01S00361.sort    +++|          MX7    1           REMOVE SIGN EXTENSION
00411  M01S00362.sort    +++|          BX5    X7-X5
00412  M01S00363.sort    +++| MER13    AX5    18          NEXT M TO X5
00413  M01S00364.sort    +++|          BX3    X5-X0
00414  M01S00365.sort    +++|          ZR     X3,MER12    IF SAME LINE NUMBER
00415  M01S00366.sort    +++|          NG     B7,MER12    IF LINE DELETE
Line S00367 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00416  M02S00367.sort1   ---|          WRITEC SCR,B7      TRANSFER LINE M TO SCR
00417  M01S00046.sort1   +++|          WRITEC ZZZZZG0,B7  TRANSFER LINE M TO ZZZZZG0
00418  M01S00368.sort    +++|          EQ     MER12       DUMP REST OF TABLE
00419  M01S00369.sort    +++|
00420  M01S00370.sort    +++|*         EXIT.
00421  M01S00371.sort    +++|
00422  M01S00372.sort    +++| MER14    BX6    X0
00423  M01S00373.sort    +++|          SA3    LS          LAST LINE NUMBER FROM PREVIOUS SEGMENT
00424  M01S00374.sort    +++|          IX4    X6-X3
00425  M01S00375.sort    +++|          NG     X4,MERX     IF LAST LINE MERGED < LS
00426  M01S00376.sort    +++|          SA6    A3
00427  M01S00377.sort    +++|          EQ     MERX        EXIT
00428  M01S00378.sort    +++|          EJECT
00429  M01S00379.sort    +++|          SPACE  4
00430  M01S00380.sort    +++|**        ELK -  END OF LINE CHECK
00431  M01S00381.sort    +++|*
00432  M01S00382.sort    +++|*         WHEN MERGING THE LAST READ MAY HAVE LEFT A PARTIAL LINE IN
00433  M01S00383.sort    +++|*         THE INPUT BUFFER. ELK SAVES THE PARTIAL LINE IN WE.
00434  M01S00384.sort    +++|*
00435  M01S00385.sort    +++|*         EXIT   (ELCH) = NUMBER OF WORDS IN PARTIAL LINE.
00436  M01S00386.sort    +++|*                (ELAD) = ADDRESS OF BEGINNING OF PARTIAL LINE.
00437  M01S00387.sort    +++|
00438  M01S00388.sort    +++|
00439  M01S00389.sort    +++| ELK2     BX7    X4
00440  M01S00390.sort    +++|          SA7    A4          RESET *IN* IN I
00441  M01S00391.sort    +++|          SX7    A6
00442  M01S00392.sort    +++|          BX6    X5
00443  M01S00393.sort    +++|          SA6    ELCH
00444  M01S00394.sort    +++|
00445  M01S00395.sort    +++|          SA7    ELAD        STORE ADDRESS OF PARTIAL LINE
00446  M01S00396.sort    +++|
00447  M01S00397.sort    +++| ELK      SUBR               ENTRY/EXIT
00448  M01S00398.sort    +++|          SA2    I
00449  M01S00399.sort    +++|          LX2    59-9        CHECK IF LAST READ
00450  M01S00400.sort    +++|          NG     X2,ELKX     IF LAST READ
00451  M01S00401.sort    +++|          SB4    WE+WL
00452  M01S00402.sort    +++|          SA4    A2+2        IN
00453  M01S00403.sort    +++|          MX2    -12
00454  M01S00404.sort    +++|          MX5    0
00455  M01S00405.sort    +++| ELK1     SA3    X4-1        GET LINE FROM BUFFER
00456  M01S00406.sort    +++|          BX6    -X2*X3
00457  M01S00407.sort    +++|          ZR     X6,ELK2     IF END OF LIN FOUND
00458  M01S00408.sort    +++|          BX6    X3
00459  M01S00409.sort    +++|          SA6    B4-B1       STORE FROM BOTTOM UP
00460  M01S00410.sort    +++|          SB4    B4-B1
00461  M01S00411.sort    +++|          SX5    X5+B1       NUMBER OF WORDS TRANSFERRED
00462  M01S00412.sort    +++|          SX6    B4-WE-1
00463  M01S00413.sort    +++|          SX4    X4-1
00464  M01S00414.sort    +++|          PL     X6,ELK1     GET REST OF LINE
00465  M01S00415.sort    +++|          EQ     ERR         IF LINE TOO LONG - ERROR EXIT
00466  M01S00416.sort    +++| PIT      SPACE  4,10
00467  M01S00417.sort    +++|**        PIT    PROCESS TERMINAL INTERRUPTS.
00468  M01S00418.sort    +++|*
00469  M01S00419.sort    +++|*         ENTRY  TERMINAL INTERRUPT SENSED.
00470  M01S00420.sort    +++|*
00471  M01S00421.sort    +++|*         EXIT   TERMINAL INTERRUPT IGNORED.
00472  M01S00422.sort    +++|*
00473  M01S00423.sort    +++|*         MACROS REPRIEVE.
00474  M01S00424.sort    +++|
00475  M01S00425.sort    +++|
00476  M01S00426.sort    +++| PIT      BSS    0
00477  M01S00427.sort    +++|          REPRIEVE  RPB,RESUME,200B  RESUME PROCESSING
00478  M01S00428.sort    +++|          SPACE  4
00479  M01S00429.sort    +++|*         COMMON DECKS.
00480  M01S00430.sort    +++|
00481  M01S00431.sort    +++|
00482  M01S00432.sort    +++|*CALL     COMCSST
00483  M01S00433.sort    +++|*CALL     COMCLFM
00484  M01S00434.sort    +++|*CALL     COMCCIO
00485  M01S00435.sort    +++|*CALL     COMCSYS
00486  M01S00436.sort    +++|*CALL     COMCRDC
00487  M01S00437.sort    +++|*CALL     COMCWTC
00488  M01S00438.sort    +++|*CALL     COMCRDW
00489  M01S00439.sort    +++|*CALL     COMCWTW
00490  M01S00440.sort    +++|          SPACE 4
00491  M01S00441.sort    +++|          USE    BUFFERS
Line S00442 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00492  M02S00442.sort1   ---| WS       EQU    *           WORKING STORAGE FOR SCR TRANSFER TO SCR1
00493  M01S00047.sort1   +++| WS       EQU    *           WORKING STORAGE FOR ZZZZZG0 AND ZZZZZG1
00494  M01S00443.sort    +++| WE       EQU    *+WL        PARTIAL LINE BUFFER
Line S00444 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00495  M02S00444.sort1   ---| BUF      EQU    WE+WL       START OF *CIO* BUFFERS
00496  M01S00048.sort1   +++| G1BUF    EQU    WE+WL       BUFFER FOR ZZZZZG1
00497  M01S00049.sort1   +++| G0BUF    EQU    G1BUF+BUFL  BUFFER FOR ZZZZZG0
00498  M01S00050.sort1   +++| IBUF     EQU    G0BUF+BUFL  BUFFER FOR I
00499  M01S00445.sort    +++| MFL=     EQU    14000B      SORT NOMINAL FL
00500  M01S00446.sort    +++| SSM=     EQU    0           SUPRESS MEMORY CLEAR
00501  M01S00447.sort    +++|          TITLE  PRESET.
00502  M01S00448.sort    +++| PRS      SPACE  4
00503  M01S00449.sort    +++|**        PRESET.
00504  M01S00450.sort    +++|*
00505  M01S00451.sort    +++|*         ENTRY  (A0) = FIELD LENGTH.
00506  M01S00452.sort    +++|*                ARGR = ADDRESS OF INPUT FILE NAME LEFT JUST ZERO FILL
00507  M01S00453.sort    +++|*
00508  M01S00454.sort    +++|*         EXIT   FETS INITIALIZED.
00509  M01S00455.sort    +++|
00510  M01S00456.sort    +++|
00511  M01S00457.sort    +++| PRS      SUBR               ENTRY/EXIT
00512  M01S00458.sort    +++|          REPRIEVE  RPB,SET,200B  SET *REPRIEVE* PROCESSING
00513  M01S00459.sort    +++|          SA0    A0-100B     ADJUST FL TO ALLOW FOR *CLB=* DATA
Line S00460 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00514  M02S00460.sort1   ---| PRS1     SA3    =3LSCR
00515  M01S00051.sort1   +++|          SA1    ARGR        SET SORT FILE NAME
00516  M01S00052.sort1   +++|          MX5    42
00517  M01S00053.sort1   +++|          BX1    X5*X1       MASK OFF FILE NAME
Line S00054 Modification History
M01 (Added by) sort1
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00518  M02S00054.v23l617 ---|          SA3    =7LZZZZZG0
00519  M01S00004.v23l617 +++|          SA3    =7LZZZZZG0
00520  M01S00055.sort1   +++|          BX7    X3-X1
00521  M01S00056.sort1   +++|          ZR     X7,PRS4     IF MATCHES SCRATCH FILE NAME ZZZZZG0
00522  M01S00057.sort1   +++|          SA3    =7LZZZZZG1
00523  M01S00058.sort1   +++|          BX7    X3-X1
00524  M01S00059.sort1   +++|          ZR     X7,PRS4     IF MATCHES SCRATCH FILE NAME ZZZZZG1
00525  M01S00060.sort1   +++| PRS1     SA3    =7LZZZZZG0
00526  M01S00461.sort    +++|          SX5    B1
00527  M01S00462.sort    +++|          BX7    X3+X5
Line S00463 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00528  M02S00463.sort1   ---|          SA7    SCR1        SCR1 ALWAYS HAS FNT NAME OF SCR
00529  M01S00061.sort1   +++|          SA7    ZZZZZG1     ZZZZZG1 ALWAYS HAS FNT NAME OF ZZZZZG0
00530  M01S00464.sort    +++|          SX1    MFL=        ENSURE FIELD LENGTH FOR LOCAL FILE TESTING
00531  M01S00465.sort    +++|          SX4    A0          FIELD LENGTH
00532  M01S00466.sort    +++|          IX6    X4-X1
00533  M01S00467.sort    +++|          PL     X6,PRS2     IF SUFFICIENT MEMORY AVAILABLE
00534  M01S00468.sort    +++|          SX4    X1+
00535  M01S00469.sort    +++|          MEMORY ,,,X1       INSURE SPACE FOR BUFFERS
00536  M01S00470.sort    +++| PRS2     SA3    I+2         IN
00537  M01S00471.sort    +++|          IX7    X4-X3
00538  M01S00472.sort    +++|          AX2    X7,B1       SET LIMIT = REMAINING FIELD LENGTH/2
00539  M01S00473.sort    +++|          IX7    X2+X3
00540  M01S00474.sort    +++|          SA1    ARGR        STORE FILE NAME IN INPUT FET
00541  M01S00475.sort    +++|          BX6    X1+X5
00542  M01S00476.sort    +++|          SA6    I
00543  M01S00477.sort    +++|          SA7    A6+4        INPUT LIMIT
00544  M01S00478.sort    +++|          SA4    ACTR
00545  M01S00479.sort    +++|          SB4    X4
00546  M01S00480.sort    +++|          REWIND A6          REWIND INPUT FILE
00547  M01S00481.sort    +++|          STATUS X2,P        CHECK FILE TYPE
00548  M01S00482.sort    +++|          SA1    I+5
00549  M01S00483.sort    +++|          MX0    -6
00550  M01S00484.sort    +++|          BX7    X7-X7
00551  M01S00485.sort    +++|          AX1    6
00552  M01S00486.sort    +++|          BX2    -X0*X1
00553  M01S00487.sort    +++|          SA7    I+6         CLEAR RANDOM INDEX
00554  M01S00488.sort    +++|          SX6    X2-PMFT
00555  M01S00489.sort    +++|          SA6    DAF         DIRECT ACCESS FILE FLAG
Line S00490 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00556  M02S00490.sort1   ---|          RETURN SCR
00557  M01S00062.sort1   +++|          RETURN ZZZZZG0
00558  M01S00491.sort    +++|          EQ     B4,B1,PRSX  IF ONE PARAMETER
00559  M01S00492.sort    +++|          SA3    ARGR+B1     CHECK NEXT ARGUMENT
00560  M01S00493.sort    +++|          LX3    12
00561  M01S00494.sort    +++|          SA5    A3+B1       GET NUMBER OF DIGITS
00562  M01S00495.sort    +++|          SX2    X3-3R=NC
00563  M01S00496.sort    +++|          NZ     X2,PRS3     IF NOT NUMBER OF DIGITS PARAMETER
00564  M01S00497.sort    +++|          SB7    -1          SET DECIMAL CONVERSION
00565  M01S00498.sort    +++|          RJ     DXB         CONVERT DISPLAY TO BINARY
00566  M01S00499.sort    +++|          NZ     X4,PRS3     IF ERROR ENCOUNTERED
00567  M01S00500.sort    +++|          SA6    NC          NUMBER OF DIGITS TO SORT ON
00568  M01S00501.sort    +++|          ZR     X6,PRS3     IF NC = 0
00569  M01S00502.sort    +++|          SX4    X6-11
00570  M01S00503.sort    +++|          PL     X4,PRS3     IF NC GREATER THAN 10 DIGITS
00571  M01S00504.sort    +++|          EQ     PRSX        RETURN
00572  M01S00505.sort    +++|
Line S00506 Modification History
M01 (Added by) sort
M02 (Updated by) sort1
Seq #  *Modification Id* Act 
----------------------------+
00573  M02S00506.sort1   ---| PRS3     MESSAGE  (=C* ILLEGAL SORT PARAMETER.*)
Line S00063 Modification History
M01 (Added by) sort1
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00574  M02S00063.v23l617 ---| PRS3     MESSAGE  (=C* ILLEGAL SORT PARAMETER.*),,R
00575  M01S00005.v23l617 +++| PRS3     MESSAGE  (=C* INCORRECT SORT PARAMETER.*),,R
00576  M01S00507.sort    +++|          ABORT
00577  M01S00064.sort1   +++|
00578  M01S00065.sort1   +++| PRS4     MESSAGE  (=C* RESERVED FILE NAME.*),,R
00579  M01S00066.sort1   +++|          ABORT
00580  M01S00508.sort    +++|          SPACE  4
00581  M01S00509.sort    +++|*         PRESET COMMON DECKS.
00582  M01S00510.sort    +++|
00583  M01S00511.sort    +++|
00584  M01S00512.sort    +++|*CALL     COMCDXB
00585  M01S00513.sort    +++|          SPACE  4
00586  M01S00514.sort    +++|          END
cdc/nos2.source/opl.opl871/deck/sort.txt ยท Last modified: by 127.0.0.1