Common COMCGMS

3 Modifications

Source

Seq #  *Modification Id* Act 
----------------------------+
Line S00001 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00001  M02S00001.cgms2   ---|          CTEXT  COMCGMS - GENERALIZED MATRIX SORT.
00002  M01S00001.cgms2   +++|          CTEXT  COMCGMS - GENERAL MULTIPLE WORD TABLE SORT.
00003  M01S00002.comcgms +++|          SPACE  4,10
00004  M01S00003.comcgms +++| QUAL$    IF     -DEF,QUAL$
00005  M01S00004.comcgms +++|          QUAL   COMCGMS
00006  M01S00005.comcgms +++| QUAL$    ENDIF
00007  M01S00006.comcgms +++|          BASE   D
00008  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00009  M01S00007.comcgms +++| GMS      SPACE  4,10
Line S00008 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00010  M02S00008.cgms2   ---|***       GMS - GENERALIZED MATRIX SORT.
00011  M01S00002.cgms2   +++|***       GMS - GENERAL MULTIPLE WORD TABLE SORT.
00012  M01S00009.comcgms +++|*         T. J. HOFFMANN.    78/02/01.
00013  M01S00010.comcgms +++|*         UNIVERSITY OF MINNESOTA.
Line S00011 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00014  M02S00011.cgms2   ---| GMS      SPACE  4,30
Line S00012 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00015  M02S00012.cgms2   ---|***       GMS - GENERALIZED MATRIX SORT.
00016  M01S00003.cgms2   +++| GMS      SPACE  4,40
00017  M01S00004.cgms2   +++|***       GMS - GENERAL MULTIPLE WORD TABLE SORT.
00018  M01S00013.comcgms +++|*
Line S00014 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00019  M02S00014.cgms2   ---|*         GMS USES A SHELL-METZNER SORT ALGORITHM TO SORT A MULTI-
Line S00015 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00020  M02S00015.cgms2   ---|*         DIMENSIONAL MATRIX OR SINGLE-DIMENSIONAL VECTOR.  PROVISION
Line S00016 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00021  M02S00016.cgms2   ---|*         IS MADE FOR SORTING ON ANY COLUMN IN EITHER ASCENDING OR
Line S00017 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00022  M02S00017.cgms2   ---|*         DESCENDING ORDER WITH SIGNED OR UNSIGNED 60-BIT INTEGERS.
Line S00018 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00023  M02S00018.cgms2   ---|*         A MASKED SEARCH IS PROVIDED AS AN ASSEMBLY-TIME OPTION WHICH
Line S00019 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00024  M02S00019.cgms2   ---|*         ALLOWS SEARCHES ON PARTIAL WORDS.  THE SHELL-METZNER
Line S00020 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00025  M02S00020.cgms2   ---|*         ALGORITHM IS DESCRIBED IN -
00026  M01S00005.cgms2   +++|*         *GMS* USES A SHELL-METZNER SORT ALGORITHM TO SORT CONSTANT
00027  M01S00006.cgms2   +++|*         LENGTH TABLE ENTRIES.  THE ENTRIES CAN BE SORTED IN ASCENDING
00028  M01S00007.cgms2   +++|*         OR DESCENDING ORDER USING SIGNED (INTEGER) OR UNSIGNED
00029  M01S00008.cgms2   +++|*         (CHARACTER) ARITHMETIC.
00030  M01S00009.cgms2   +++|*
00031  M01S00010.cgms2   +++|*         BY DEFAULT, THE SORT KEY IS ASSUMED TO OCCUPY ONE 60 BIT
00032  M01S00011.cgms2   +++|*         WORD.  IF *GMS$* IS DEFINED, (X0) SPECIFIES A MASK DEFINING
00033  M01S00012.cgms2   +++|*         THE KEY FIELD.  THE MASK MUST BE LEFT JUSTIFIED FOR A SIGNED
00034  M01S00013.cgms2   +++|*         INTEGER SORT TO WORK PROPERLY.  IF *MWK$* IS DEFINED, (X1)
00035  M01S00014.cgms2   +++|*         SPECIFIES THE NUMBER OF CONSECUTIVE WORDS COMPRISING OR
00036  M01S00015.cgms2   +++|*         CONTAINING SEGMENTS OF THE KEY.  IF *GMS$* AND *MWK$* ARE
00037  M01S00016.cgms2   +++|*         BOTH DEFINED, THE KEY SEGMENTS IN SUCCEEDING WORDS ARE
00038  M01S00017.cgms2   +++|*         EFFECTIVELY TREATED AS SECONDARY KEYS IN DECREASING ORDER OF
00039  M01S00018.cgms2   +++|*         SIGNIFICANCE.
00040  M01S00019.cgms2   +++|*
00041  M01S00020.cgms2   +++|*         THE SHELL-METZNER ALGORITHM IS DESCRIBED IN -
00042  M01S00021.comcgms +++|*                CREATIVE COMPUTING, NOV-DEC 1976, PP. 76-80.
00043  M01S00022.comcgms +++|*
Line S00023 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00044  M02S00023.cgms2   ---|*         ENTRY  (B2) = 0 IF CHARACTER SORT (UNSIGNED 60-BIT INTEGERS).
Line S00024 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00045  M02S00024.cgms2   ---|*                     = 1 IF NUMERIC SORT (SIGNED 60-BIT INTEGERS).
00046  M01S00021.cgms2   +++|*         ENTRY  (B2) = 0 IF CHARACTER SORT (UNSIGNED INTEGERS).
00047  M01S00022.cgms2   +++|*                     = 1 IF NUMERIC SORT (SIGNED INTEGERS).
00048  M01S00025.comcgms +++|*                (B3) = 0 IF ASCENDING SORT.
00049  M01S00026.comcgms +++|*                     = 1 IF DESCENDING SORT.
Line S00027 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00050  M02S00027.cgms2   ---|*                (B4) = COLUMN NUMBER TO SORT ON (1 = FIRST).
Line S00028 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00051  M02S00028.cgms2   ---|*                (B5) = LENGTH OF EACH COLUMN (1 = VECTOR SORT).
Line S00029 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00052  M02S00029.cgms2   ---|*                (B6) = LENGTH OF MATRIX OR VECTOR (NUMBER OF ROWS).
Line S00030 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00053  M02S00030.cgms2   ---|*                (B7) = ADDRESS OF MATRIX OR VECTOR.
00054  M01S00023.cgms2   +++|*                (B4) = FIRST WORD OF SORT KEY IN TABLE ENTRY (FIRST
00055  M01S00024.cgms2   +++|*                       WORD OF ENTRY = 1).
00056  M01S00025.cgms2   +++|*                (B5) = LENGTH OF TABLE ENTRY.
00057  M01S00026.cgms2   +++|*                (B6) = NUMBER OF ENTRIES IN TABLE.
00058  M01S00027.cgms2   +++|*                (B7) = ADDRESS OF TABLE.
00059  M01S00031.comcgms +++|*                IF THE SYMBOL *GMS$* IS DEFINED -
00060  M01S00032.comcgms +++|*                (X0) = MASK.
00061  M01S00033.comcgms +++|*                IF THE SYMBOL *MWK$* IS DEFINED -
Line S00034 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00062  M02S00034.cgms2   ---|*                (X1) = NUMBER OF WORDS TO FROM EACH KEY TO COMPARE.
00063  M01S00028.cgms2   +++|*                (X1) = NUMBER OF KEY WORDS TO COMPARE.
00064  M01S00035.comcgms +++|*
Line S00036 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00065  M02S00036.cgms2   ---|*         EXIT   MATRIX SORTED BY COLUMN (B4).
00066  M01S00029.cgms2   +++|*         EXIT   TABLE ENTRIES SORTED.
00067  M01S00037.comcgms +++|*
00068  M01S00038.comcgms +++|*         USES   X - 1, 2, 3, 4, 6, 7.
00069  M01S00039.comcgms +++|*                A - 0, 1, 2, 3, 4, 6, 7.
00070  M01S00040.comcgms +++|*                B - 2, 3, 4, 5, 6, 7.
00071  M01S00041.comcgms +++|
00072  M01S00042.comcgms +++|
00073  M01S00043.comcgms +++| GMS      SUBR               ENTRY/EXIT
00074  M01S00044.comcgms +++|
00075  M01S00045.comcgms +++| MWK$     IF     DEF,MWK$
00076  M01S00046.comcgms +++|          SX6    X1+         SAVE NUMBER OF WORDS IN EACH KEY
00077  M01S00047.comcgms +++|          SA6    GMSE
00078  M01S00048.comcgms +++| MWK$     ENDIF
00079  M01S00049.comcgms +++|
00080  M01S00050.comcgms +++|          SX3    GMSB
00081  M01S00051.comcgms +++|          ZR     B2,GMS1     IF CHARACTER SORT
00082  M01S00052.comcgms +++|          SX3    X3+2        SET NUMERIC SORT
00083  M01S00053.comcgms +++| GMS1     SA3    X3+B3
00084  M01S00054.comcgms +++|          SA1    GMSC+B3     SORT ORDER TEST INSTRUCTION
00085  M01S00055.comcgms +++|          BX6    X3
00086  M01S00056.comcgms +++|          SA2    B4-B1       (A2) = OFFSET
00087  M01S00057.comcgms +++|          SA6    GMSA
00088  M01S00058.comcgms +++|          SX2    B6          (X2) = LENGTH
00089  M01S00059.comcgms +++|          SB4    B4-B1
00090  M01S00060.comcgms +++|          BX6    X1
Line S00061 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00091  M02S00061.cgms2   ---|          SA3    B5          (A3) = NUMBER OF ROWS
00092  M01S00030.cgms2   +++|          SA3    B5          (A3) = ENTRY LENGTH
00093  M01S00062.comcgms +++|          SB7    B7-B5
Line S00063 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00094  M02S00063.cgms2   ---|          SA0    B6          (A0) = LENGTH OF MATRIX (OR VECTOR)
00095  M01S00031.cgms2   +++|          SA0    B6          (A0) = NUMBER OF ENTRIES
00096  M01S00064.comcgms +++|          SB7    B7+B4       ADD OFFSET
00097  M01S00065.comcgms +++|          SA1    GMSD
00098  M01S00066.comcgms +++|          SA6    A6+B1
Line S00067 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00099  M02S00067.cgms2   ---|          NE     B5,B1,GMS2  IF MATRIX SORT
Line S00068 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00100  M02S00068.cgms2   ---|          SA1    A1+B1       SET VECTOR SORT
00101  M01S00032.cgms2   +++|          NE     B5,B1,GMS2  IF MULTIPLE WORD ENTRIES
00102  M01S00033.cgms2   +++|          SA1    A1+B1       SET SINGLE WORD ENTRIES
00103  M01S00069.comcgms +++| GMS2     BX6    X1
00104  M01S00070.comcgms +++|          SA6    A6+B1
00105  M01S00071.comcgms +++|          RJ     *+1         VOID STACK
00106  M01S00072.comcgms +++|          BSS    1
00107  M01S00073.comcgms +++|
00108  M01S00074.comcgms +++|*         BEGIN SORT.
00109  M01S00075.comcgms +++|
00110  M01S00076.comcgms +++| GMS3     AX2    1           M = M DIV 2
00111  M01S00077.comcgms +++|          SX1    A0          N
00112  M01S00078.comcgms +++|          ZR     X2,GMSX     IF SORT COMPLETED
00113  M01S00079.comcgms +++|          SB2    B1          J = 1
00114  M01S00080.comcgms +++|          IX3    X1-X2       K = N - M
00115  M01S00081.comcgms +++|          SB6    X2          M
00116  M01S00082.comcgms +++|          SB5    X3          K
00117  M01S00083.comcgms +++| GMS4     SB3    B2+         I = J
00118  M01S00084.comcgms +++| GMS5     SX1    B3
00119  M01S00085.comcgms +++|          SB4    B3+B6       L = I + M
00120  M01S00086.comcgms +++|          SX3    A3
00121  M01S00087.comcgms +++|          IX1    X1*X3
00122  M01S00088.comcgms +++|          SX4    B4
00123  M01S00089.comcgms +++|          SA1    B7+X1       D(I)
00124  M01S00090.comcgms +++|          IX6    X4*X3
00125  M01S00091.comcgms +++|
00126  M01S00092.comcgms +++| MWK$     IF     DEF,MWK$
00127  M01S00093.comcgms +++|          SA4    GMSE        GET NUMBER OF WORDS TO COMPARE
00128  M01S00094.comcgms +++|          BX3    X4
00129  M01S00095.comcgms +++| MWK$     ENDIF
00130  M01S00096.comcgms +++|
00131  M01S00097.comcgms +++|          SA4    B7+X6
00132  M01S00098.comcgms +++|
00133  M01S00099.comcgms +++| MWK$     IF     DEF,MWK$
00134  M01S00100.comcgms +++|          SX7    A1          SAVE STARTING ADDRESSES OF EACH ENTRY
00135  M01S00101.comcgms +++|          LX7    18
00136  M01S00102.comcgms +++|          SX6    A4
00137  M01S00103.comcgms +++|          BX7    X7+X6
00138  M01S00104.comcgms +++| GMS6     SX3    X3-1        DECREMENT NUMBER OF WORDS LEFT TO COMPARE
00139  M01S00105.comcgms +++| MWK$     ENDIF
00140  M01S00106.comcgms +++|
00141  M01S00107.comcgms +++| GMS$     IF     DEF,GMS$
00142  M01S00108.comcgms +++|          BX1    X0*X1       APPLY MASK
00143  M01S00109.comcgms +++|          BX4    X0*X4       APPLY MASK
00144  M01S00110.comcgms +++| GMS$     ENDIF
00145  M01S00111.comcgms +++|
Line S00112 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00146  M02S00112.cgms2   ---|          BX6    X1-X4       COMPARE
00147  M01S00034.cgms2   +++|          BX6    X1-X4       COMPARE KEYS
00148  M01S00113.comcgms +++|
00149  M01S00114.comcgms +++| MWK$     IF     DEF,MWK$
Line S00115 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00150  M02S00115.cgms2   ---|          NZ     X6,GMS7     IF ENTRIES NOT EXACTLY THE SAME
Line S00116 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00151  M02S00116.cgms2   ---|          ZR     X3,GMS7     IF ALL WORDS COMPARED
00152  M01S00035.cgms2   +++|          NZ     X6,GMS7     IF NO MATCH
00153  M01S00036.cgms2   +++|          NG     X6,GMS7     IF NO MATCH
00154  M01S00037.cgms2   +++|          ZR     X3,GMS11    IF ALL WORDS COMPARED
00155  M01S00117.comcgms +++|          SA1    A1+B1
00156  M01S00118.comcgms +++|          SA4    A4+B1
Line S00119 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00157  M02S00119.cgms2   ---|          EQ     GMS6        COMPARE NEXT WORD OF EACH ENTRY
00158  M01S00038.cgms2   +++|          EQ     GMS6        COMPARE NEXT WORD OF KEYS
00159  M01S00039.cgms2   +++| MWK$     ENDIF
00160  M01S00120.comcgms +++|
Line S00121 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00161  M02S00121.cgms2   ---| MWK$     ENDIF
00162  M01S00040.cgms2   +++| GMS7     SX3    B2+
00163  M01S00041.cgms2   +++|          PL     X6,GMS8     IF SIGN BITS ARE THE SAME
00164  M01S00122.comcgms +++|
Line S00123 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00165  M02S00123.cgms2   ---| GMS7     SX3    B2
Line S00124 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00166  M02S00124.cgms2   ---|          PL     X6,GMS8     IF SIGN BITS ARE THE SAME
00167  M01S00125.comcgms +++| GMSA     BSS    1
00168  M01S00126.comcgms +++|
00169  M01S00127.comcgms +++|*         NG     X4,GMS11    (CHARACTER SORT, ASCENDING ORDER)
Line S00128 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00170  M02S00128.cgms2   ---|*         EQ     GMS7        EXCHANGE ELEMENTS
00171  M01S00042.cgms2   +++|*         EQ     GMS9        EXCHANGE ENTRIES
00172  M01S00129.comcgms +++|
00173  M01S00130.comcgms +++|*         NG     X1,GMS11    (CHARACTER SORT, DESCENDING ORDER)
Line S00131 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00174  M02S00131.cgms2   ---|*         EQ     GMS7        EXCHANGE ELEMENTS
00175  M01S00043.cgms2   +++|*         EQ     GMS9        EXCHANGE ENTRIES
00176  M01S00132.comcgms +++|
00177  M01S00133.comcgms +++|*         NG     X1,GMS11    (NUMERIC SORT, ASCENDING ORDER)
Line S00134 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00178  M02S00134.cgms2   ---|*         EQ     GMS7        EXCHANGE ELEMENTS
00179  M01S00044.cgms2   +++|*         EQ     GMS9        EXCHANGE ENTRIES
00180  M01S00135.comcgms +++|
00181  M01S00136.comcgms +++|*         NG     X4,GMS11    (NUMERIC SORT, DESCENDING ORDER)
Line S00137 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00182  M02S00137.cgms2   ---|*         EQ     GMS7        EXCHANGE ELEMENTS
00183  M01S00045.cgms2   +++|*         EQ     GMS9        EXCHANGE ENTRIES
00184  M01S00138.comcgms +++|
Line S00139 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms1
Seq #  *Modification Id* Act 
----------------------------+
00185  M02S00139.cgms1   ---| GMS8     NO
00186  M01S00001.cgms1   +++| GMS8     BSS    1
00187  M01S00140.comcgms +++|          ERRNZ  GMSA-GMS8+1 CODE ASSUMES LOCATIONS CONTIGUOUS
00188  M01S00141.comcgms +++|
Line S00142 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00189  M02S00142.cgms2   ---|*         IX6    X1-X4       (ASCENDING SORT)
00190  M01S00046.cgms2   +++|*         IX6    X4-X1       (ASCENDING SORT)
00191  M01S00143.comcgms +++|*         NO
Line S00144 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00192  M02S00144.cgms2   ---|*         NG     X6,GMS11    IF D(I) .LT. D(L) THEN NO EXCHANGE
00193  M01S00047.cgms2   +++|*         PL     X6,GMS11    IF D(I) .LE. D(L), NO EXCHANGE
00194  M01S00145.comcgms +++|
00195  M01S00146.comcgms +++|*         IX6    X1-X4       (DESCENDING SORT)
00196  M01S00147.comcgms +++|*         NO
Line S00148 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00197  M02S00148.cgms2   ---|*         PL     X6,GMS11    IF D(I) .GT. D(L) THEN NO EXCHANGE
00198  M01S00048.cgms2   +++|*         PL     X6,GMS11    IF D(I) .GE. D(L), NO EXCHANGE
00199  M01S00149.comcgms +++|
Line S00150 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00200  M02S00150.cgms2   ---|*         EXCHANGE ELEMENTS.
00201  M01S00049.cgms2   +++|*         INITIALIZE ENTRY EXCHANGE.
00202  M01S00151.comcgms +++|
Line S00152 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms1
Seq #  *Modification Id* Act 
----------------------------+
00203  M02S00152.cgms1   ---| GMS9     NO
00204  M01S00002.cgms1   +++| GMS9     BSS    1
00205  M01S00153.comcgms +++|          ERRNZ  GMS9-GMS8-1 CODE ASSUMES LOCATIONS CONTIGUOUS
00206  M01S00154.comcgms +++|
Line S00155 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00207  M02S00155.cgms2   ---|*         SX1    B3          (MATRIX SORT)
00208  M01S00050.cgms2   +++|*         SX1    B3          (MULTIPLE WORD ENTRIES)
00209  M01S00156.comcgms +++|*         LX3    18
00210  M01S00157.comcgms +++|*         BX3    X3+X1       SAVE B2 AND B3
00211  M01S00158.comcgms +++|*         SB2    A2
00212  M01S00159.comcgms +++|
Line S00160 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00213  M02S00160.cgms2   ---|*         EQ     GMS10       (VECTOR SORT)
00214  M01S00051.cgms2   +++|*         EQ     GMS12       (SINGLE WORD ENTRIES)
00215  M01S00161.comcgms +++|*         SB0    B0+
00216  M01S00162.comcgms +++|
Line S00163 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00217  M02S00163.cgms2   ---|*         EXCHANGE MATRIX ELEMENTS.
Line S00164 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00218  M02S00164.cgms2   ---|
00219  M01S00052.cgms2   +++|*         EXCHANGE MULTIPLE WORD ENTRIES.
00220  M01S00165.comcgms +++|
00221  M01S00166.comcgms +++| MWK$     IF     DEF,MWK$
00222  M01S00167.comcgms +++|          SA4    X7          RESTORE ADDRESSES
00223  M01S00168.comcgms +++|          LX7    -18
Line S00169 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00224  M02S00169.cgms2   ---|          SA1    X7
00225  M01S00053.cgms2   +++|          SA1    X7+
00226  M01S00170.comcgms +++| MWK$     ENDIF
00227  M01S00171.comcgms +++|
00228  M01S00172.comcgms +++|          SA1    A1-B2
00229  M01S00173.comcgms +++|          SA4    A4-B2
00230  M01S00174.comcgms +++|          SB2    B0
Line S00175 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00231  M02S00175.cgms2   ---|          SB3    A3          NUMBER OF COLUMNS TO EXCHANGE
00232  M01S00054.cgms2   +++|          SB3    A3          ENTRY LENGTH
00233  M01S00176.comcgms +++| GMS10    BX7    X1          BEGIN EXCHANGE
00234  M01S00177.comcgms +++|          LX6    X4
00235  M01S00178.comcgms +++|          SA1    A1+B1
00236  M01S00179.comcgms +++|          SA4    A4+B1
00237  M01S00180.comcgms +++|          SA6    A1-B1
00238  M01S00181.comcgms +++|          SB2    B2+1
00239  M01S00182.comcgms +++|          SA7    A4-B1
00240  M01S00183.comcgms +++|          LT     B2,B3,GMS10 IF ALL WORDS NOT EXCHANGED YET
00241  M01S00184.comcgms +++|
00242  M01S00185.comcgms +++|*         EXCHANGE COMPLETE.
00243  M01S00186.comcgms +++|
00244  M01S00187.comcgms +++|          SB3    X3          RESTORE B3 AND B2
00245  M01S00188.comcgms +++|          AX3    18
00246  M01S00189.comcgms +++|          SB3    B3-B6       I = I - M
00247  M01S00190.comcgms +++|          SB2    X3
00248  M01S00191.comcgms +++|          GE     B3,B1,GMS5  IF I .GE. 1
00249  M01S00192.comcgms +++| GMS11    SB2    B2+1        J = J + 1
00250  M01S00193.comcgms +++|          GT     B2,B5,GMS3  IF J .GT. K
00251  M01S00194.comcgms +++|          EQ     GMS4        CHECK NEXT PAIR OF KEYS
00252  M01S00195.comcgms +++|
Line S00196 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00253  M02S00196.cgms2   ---|*         EXCHANGE VECTOR ELEMENTS.
00254  M01S00055.cgms2   +++|*         EXCHANGE SINGLE WORD ENTRIES.
00255  M01S00197.comcgms +++|
00256  M01S00198.comcgms +++| GMS12    SA1    A1+         RELOAD X1/X4
00257  M01S00199.comcgms +++|          SB3    B3-B6       I = I - M
00258  M01S00200.comcgms +++|          SA4    A4
00259  M01S00201.comcgms +++|          BX6    X1
00260  M01S00202.comcgms +++|          LX7    X4
00261  M01S00203.comcgms +++|          SA6    A4
00262  M01S00204.comcgms +++|          SA7    A1
00263  M01S00205.comcgms +++|          GE     B3,B1,GMS5  IF I .GE. 1
00264  M01S00206.comcgms +++|          EQ     GMS11       ADVANCE POINTERS AND CONTINUE
00265  M01S00207.comcgms +++|
00266  M01S00056.cgms2   +++|*         DATA FOR INSTRUCTION MODIFICATION.
00267  M01S00208.comcgms +++|
00268  M01S00209.comcgms +++| GMSB     BSS    0           PROCESS DIFFERENT SIGN BITS
Line S00210 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00269  M02S00210.cgms2   ---|          LOC    GMSA
00270  M01S00211.comcgms +++|
00271  M01S00057.cgms2   +++|          LOC    GMSA        (GMS7)
00272  M01S00058.cgms2   +++|
00273  M01S00212.comcgms +++| +        NG     X4,GMS11    IF CORRECT ORDER
Line S00213 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00274  M02S00213.cgms2   ---|          EQ     GMS9        ELSE EXCHANGE ELEMENTS
00275  M01S00059.cgms2   +++|          EQ     GMS9        EXCHANGE ENTRIES
00276  M01S00214.comcgms +++|
Line S00215 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00277  M02S00215.cgms2   ---|          LOC    GMSA
00278  M01S00060.cgms2   +++|          LOC    GMSA        (GMS7)
00279  M01S00216.comcgms +++|
00280  M01S00217.comcgms +++| +        NG     X1,GMS11    IF CORRECT ORDER
Line S00218 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00281  M02S00218.cgms2   ---|          EQ     GMS9        ELSE EXCHANGE ELEMENTS
00282  M01S00061.cgms2   +++|          EQ     GMS9        EXCHANGE ENTRIES
00283  M01S00219.comcgms +++|
Line S00220 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00284  M02S00220.cgms2   ---|          LOC    GMSA
00285  M01S00062.cgms2   +++|          LOC    GMSA        (GMS7)
00286  M01S00221.comcgms +++|
00287  M01S00222.comcgms +++| +        NG     X1,GMS11    IF CORRECT ORDER
Line S00223 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00288  M02S00223.cgms2   ---|          EQ     GMS9        ELSE EXCHANGE ELEMENTS
00289  M01S00063.cgms2   +++|          EQ     GMS9        EXCHANGE ENTRIES
00290  M01S00224.comcgms +++|
Line S00225 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00291  M02S00225.cgms2   ---|          LOC    GMSA
00292  M01S00064.cgms2   +++|          LOC    GMSA        (GMS7)
00293  M01S00226.comcgms +++|
00294  M01S00227.comcgms +++| +        NG     X4,GMS11    IF CORRECT ORDER
Line S00228 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00295  M02S00228.cgms2   ---|          EQ     GMS9        ELSE EXCHANGE ELEMENTS
00296  M01S00065.cgms2   +++|          EQ     GMS9        EXCHANGE ENTRIES
00297  M01S00229.comcgms +++|
00298  M01S00230.comcgms +++|          LOC    *O
00299  M01S00066.cgms2   +++|
00300  M01S00231.comcgms +++| GMSC     BSS    0           PROCESS IDENTICAL SIGN BITS
Line S00232 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00301  M02S00232.cgms2   ---|          LOC    GMSA+1
00302  M01S00067.cgms2   +++|
00303  M01S00068.cgms2   +++|          LOC    GMSA+1      (GMS8)
00304  M01S00069.cgms2   +++|
00305  M01S00070.cgms2   +++| +        IX6    X4-X1
00306  M01S00071.cgms2   +++|          NO
00307  M01S00072.cgms2   +++|          PL     X6,GMS11    IF D(I) .LE. D(L)
00308  M01S00073.cgms2   +++|
00309  M01S00074.cgms2   +++|          LOC    GMSA+1      (GMS8)
00310  M01S00075.cgms2   +++|
00311  M01S00233.comcgms +++| +        IX6    X1-X4
00312  M01S00234.comcgms +++|          NO
Line S00235 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00313  M02S00235.cgms2   ---|          NG     X6,GMS11    IF D(I) .LT. D(L)
00314  M01S00076.cgms2   +++|          PL     X6,GMS11    IF D(I) .GE. D(L)
00315  M01S00236.comcgms +++|
Line S00237 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00316  M02S00237.cgms2   ---|          LOC    GMSA+1
00317  M01S00077.cgms2   +++|          LOC    *O
00318  M01S00238.comcgms +++|
Line S00239 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00319  M02S00239.cgms2   ---| +        IX6    X1-X4
Line S00240 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00320  M02S00240.cgms2   ---|          NO
Line S00241 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00321  M02S00241.cgms2   ---|          PL     X6,GMS11    IF D(I) .GT. D(L)
00322  M01S00078.cgms2   +++| GMSD     BSS    0           PROCESS EXCHANGE
00323  M01S00242.comcgms +++|
Line S00243 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00324  M02S00243.cgms2   ---|          LOC    *O
Line S00244 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00325  M02S00244.cgms2   ---| GMSD     BSS    0           PROCESS EXCHANGE
Line S00245 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00326  M02S00245.cgms2   ---|          LOC    GMSA+2      GMS7
00327  M01S00079.cgms2   +++|          LOC    GMSA+2      (GMS9)
00328  M01S00246.comcgms +++|
Line S00247 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00329  M02S00247.cgms2   ---| +        SX1    B3          EXCHANGE MATRIX ELEMENTS
00330  M01S00080.cgms2   +++| +        SX1    B3          EXCHANGE ENTRIES
00331  M01S00248.comcgms +++|          LX3    18
00332  M01S00249.comcgms +++|          BX3    X3+X1       SAVE B2 AND B3
00333  M01S00250.comcgms +++|          SB2    A2
00334  M01S00251.comcgms +++|
Line S00252 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00335  M02S00252.cgms2   ---|          LOC    GMSA+2
00336  M01S00081.cgms2   +++|          LOC    GMSA+2      (GMS9)
00337  M01S00253.comcgms +++|
Line S00254 Modification History
M01 (Added by) comcgms
M02 (Updated by) cgms2
Seq #  *Modification Id* Act 
----------------------------+
00338  M02S00254.cgms2   ---| +        EQ     GMS12       EXCHANGE VECTOR ELEMENTS
00339  M01S00082.cgms2   +++| +        EQ     GMS12       EXCHANGE ENTRIES
00340  M01S00255.comcgms +++| -        SB0    B0+
00341  M01S00256.comcgms +++|
00342  M01S00257.comcgms +++|          LOC    *O
00343  M01S00258.comcgms +++|
00344  M01S00259.comcgms +++| MWK$     IF     DEF,MWK$
00345  M01S00260.comcgms +++| GMSE     CON    0           NUMBER OF WORDS TO COMPARE
00346  M01S00261.comcgms +++| MWK$     ENDIF
00347  M01S00262.comcgms +++|          SPACE  4,10
00348  M01S00263.comcgms +++|          BASE   *
00349  M01S00264.comcgms +++| QUAL$    IF     -DEF,QUAL$
00350  M01S00265.comcgms +++|          QUAL   *
00351  M01S00266.comcgms +++| GMS      EQU    /COMCGMS/GMS
00352  M01S00267.comcgms +++| QUAL$    ENDIF
00353  M01S00268.comcgms +++| GMS      ENDX