* SORT OUTER BLOCK                                      HEADER  C:SORT  0001.000
*                                                                       0002.000
*                  SORT OUTER BLOCK                                     0003.000
*                                                                       0004.000
         M.PGM     C:SORT,MPX-32,3.6.1,00                               0005.000
         DEF       C:SORT                                               0006.000
         EXT       C:SRTINT                                             0007.000
         EXT       C:SRT                                                0008.000
         EXT       C:MRGINT                                             0009.000
         EXT       C:MERGER                                             0010.000
         EXT       C:LASPAS                                             0011.000
SMCOMMON COMMON    SMCOM(2)                                             0012.000
         ORG       SMCOM                                                0013.000
SMFLAG   RES       1W              'SORT' FLAG                          0014.000
SEGSORT  RES       1W              SEGMENTATION NOTIFICATION FLAG       0015.000
         REL                                                            0016.000
SRTCOM   COMMON    SRTC(50)                                             0017.000
         ORG       SRTC                                                 0018.000
TRVCTR   REZ       34W                                                  0019.000
SCB      REZ       1W                                                   0020.000
XLV159   REZ       1W                                                   0021.000
         REL                                                            0022.000
* SEQUENCES THE 5 PHASES - INITIALIZE SORT,SORT                         0023.000
* INITIALIZE MERGE,MERGE, AND LASTPASS.                                 0024.000
* EFFECTS THE TRANSITION FROM ONE PHASE TO NEXT                         0025.000
* PERFORMS OVERLAY OPERATIONS                                           0026.000
         M.REQS                                                         0027.000
SCBPAR   EQU       0               SCB PARAMETER DISPLACEMENT           0028.000
SCBSTS   EQU       8               STATUS                               0029.000
*                                                                       0030.000
C:SORT   EQU       $                                                    0031.000
         TRR       R0,R1                                                0032.000
         ADI       R0,1W           SKIP PAST FIT PARAMETER              0033.000
         STW       R0,XLV159                                            0034.000
         ZMW       SMFLAG          SET SORT/MERGE FLAG TO 'SORT'        0035.000
         LW        R2,SCBPAR,X1                                         0036.000
         STW       R2,SCB                                               0037.000
* SET UP AN ADDRESS FOR TRVCTR                                          0038.000
         LEA       R3,TRVCTR                                            0039.000
* CALL SORT INITIALIZATION ROUTINE                                      0040.000
         BL        C:SRTINT                                             0041.000
* IF ERROR THEN GO TO XIT;                                              0042.000
         LW        R2,SCB                                               0043.000
         LW        R0,SCBSTS*4,X2                                       0044.000
         LI        R4,X'FFFE'                                           0045.000
         ANR       R0,R4                                                0046.000
         BNZ       XIT                                                  0047.000
* CALL SORT ROUTINE                                                     0048.000
         LW        R2,SCB                                               0049.000
         LEA       R3,TRVCTR                                            0050.000
         BL        C:SRT                                                0051.000
* IF ERROR THEN GO TO XIT;                                              0052.000
         LW        R2,SCB                                               0053.000
         LW        R0,SCBSTS*4,X2                                       0054.000
         LI        R4,X'FFFE'                                           0055.000
         ANR       R0,R4                                                0056.000
         BNZ       XIT                                                  0057.000
* CALL MERGE INITIALIZATION ROUTINE                                     0058.000
         LW        R2,SCB                                               0059.000
         LEA       R3,TRVCTR                                            0060.000
         BL        C:MRGINT                                             0061.000
* IF ERROR THEN GO TO XIT;                                              0062.000
         LW        R2,SCB                                               0063.000
         LW        R0,SCBSTS*4,X2                                       0064.000
         LI        R4,X'FFFE'                                           0065.000
         ANR       R0,R4                                                0066.000
         BNZ       XIT                                                  0067.000
* CALL MERGE ROUTINE                                                    0068.000
         LW        R2,SCB                                               0069.000
         LEA       R3,TRVCTR                                            0070.000
         BL        C:MERGER                                             0071.000
* IF ERROR THEN GO TO XIT;                                              0072.000
         LW        R2,SCB                                               0073.000
         LW        R0,SCBSTS*4,X2                                       0074.000
         LI        R4,X'FFFE'                                           0075.000
         ANR       R0,R4                                                0076.000
         BNZ       XIT                                                  0077.000
* CALL LASTPASS ROUTINE                                                 0078.000
         LW        R2,SCB                                               0079.000
         LEA       R3,TRVCTR                                            0080.000
         BL        C:LASPAS                                             0081.000
XIT      EQU       $                                                    0082.000
         LW        R2,SCB                                               0083.000
         LW        R0,XLV159                                            0084.000
         TRSW      R0                                                   0085.000
         END                                                            0086.000
