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 +++|*
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
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
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
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
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 +++|
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