*EXTERNAL SORT MAIN MODULE                              HEADER  FUPSRT  0001.000
         M.PGM     FUPSRT,MPX-32,3.6.1,00                               0002.000
         SPACE                                                          0003.000
*                                                                       0004.000
************************************************************************0005.000
*                                                                      *0006.000
*                    PROPRIETARY INFORMATION                           *0007.000
*                    -----------------------                           *0008.000
*   THE INFORMATION CONTAINED HEREIN IS PROPRIETARY TO ENCORE          *0009.000
*   COMPUTER CORPORATION AND/OR ITS VENDORS, AND ITS USE, DISCLOSURE,  *0010.000
*   OR DUPLICATION IS SUBJECT TO THE RESTRICTIONS STATED IN THE        *0011.000
*   STANDARD ENCORE COMPUTER CORPORATION LICENSE TERMS AND CONDITIONS  *0012.000
*   OR THE APPROPRIATE THIRD-PARTY SUBLICENSE AGREEMENT.               *0013.000
*                                                                      *0014.000
*                       RESTRICTED RIGHTS                              *0015.000
*                       -----------------                              *0016.000
*   USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT       *0017.000
*   TO RESTRICTIONS AS SET FOURTH IN SUBDIVISION (c) (1) (ii) OF       *0018.000
*   THE RIGHTS IN TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT       *0019.000
*   252.227.7013                                                       *0020.000
************************************************************************0021.000
* (C) COPYRIGHT 1989 ENCORE COMPUTER CORPORATION                       *0022.000
*     ALL RIGHTS RESERVED                                              *0023.000
************************************************************************0024.000
*-                                                                      0025.000
*+                                                                      0026.000
*        FUNCTIONAL DESCRIPTION                                         0027.000
         LIST      NOMAC                                                0028.000
         M.EQUS                                                         0029.000
         M.FCB.                                                         0030.000
         SPACE                                                          0031.000
         DEF       FUPSRT          SORT ROUTINE ENTRY POINT             0032.000
         DEF       DD8             DATANAME DESCRIPTOR (FILE NAME)      0033.000
         DEF       DD9             DATANAME DESCRIPTOR (DIRECTORY NAME) 0034.000
         DEF       DD10            DATANAME DESCRIPTOR (VOLUME NAME)    0035.000
         DEF       SKL             SORT KEY LIST                        0036.000
         DEF       SKLE            SORT KEY LENGTH                      0037.000
         DEF       FIT0            LOGICAL FILE CODE (FILE INFO TABLE 0)0038.000
         SPACE                                                          0039.000
         EXT       C:CLSQ                                               0040.000
         EXT       C:GO                                                 0041.000
         EXT       C:GOI                                                0042.000
         EXT       C:INIT                                               0043.000
         EXT       C:MVA                                                0044.000
         EXT       C:OPSQ                                               0045.000
         EXT       C:RDSQ                                               0046.000
         EXT       C:RETN                                               0047.000
         EXT       C:RLSE                                               0048.000
         EXT       C:SCSU                                               0049.000
         EXT       C:SORT                                               0050.000
         EXT       C:SOX                                                0051.000
         EXT       C:SREF                                               0052.000
         EXT       C:SRTX                                               0053.000
         EXT       C:WRSQ                                               0054.000
         SPACE                                                          0055.000
         EXT       STACKPTR        STACK POINTER SAVE VARIABLE (1W)     0056.000
         SPACE                                                          0057.000
         SPACE                                                          0058.000
S        EQU       $                                                    0059.000
         SPACE                                                          0060.000
*                                                                       0061.000
*                                                                       0062.000
*                                                                       0063.000
         SPACE                                                          0064.000
         ORG       X'E58'                                               0065.000
         SPACE                                                          0066.000
*                                                                       0067.000
*        DATA-NAME DESCRIPTORS (DD'S)                                   0068.000
*                                                                       0069.000
         SPACE                                                          0070.000
*        PROTOTYPE  (RECORD)                                            0071.000
DD2      DATAH     X'0'            ATTRIBUTES  (ALPHANUMERIC)  (5-26)   0072.000
         DATAH     X'80'           LENGTH ( IN BYTES ) -- OF DATA RECORD0073.000
         DATAW     A(S+X'600')     ADDRESS OF DATA RECORD               0074.000
         SPACE                                                          0075.000
*        FIL-NAME                                                       0076.000
DD3      DATAH     X'0'            ATTRIBUTES  (ALPHANUMERIC)           0077.000
         DATAH     X'10'           LENGTH                               0078.000
         DATAW     A(S+X'600')     ADDRESS OF DATA ITEM                 0079.000
         SPACE                                                          0080.000
*        DIR-NAME                                                       0081.000
DD4      DATAH     X'0'            ATTRIBUTES  (ALPHANUMERIC)           0082.000
         DATAH     X'10'           LENGTH                               0083.000
         DATAW     A(S+X'610')     ADDRESS OF DATA ITEM                 0084.000
         SPACE                                                          0085.000
*        VOL-NAME                                                       0086.000
DD5      DATAH     X'0'            ATTRIBUTES  (ALPHANUMERIC)           0087.000
         DATAH     X'10'           LENGTH                               0088.000
         DATAW     A(S+X'620')     ADDRESS OF DATA ITEM                 0089.000
         SPACE     3                                                    0090.000
*                                                                       0091.000
*        SORT-REC  (RECORD)                                             0092.000
DD7      DATAH     X'0'            ATTRIBUTES  (ALPHANUMERIC)  (5-26)   0093.000
         DATAH     X'80'           LENGTH ( IN BYTES ) -- OF DATA RECORD0094.000
         DATAW     A(S+X'C84')     ADDRESS OF DATA RECORD               0095.000
         SPACE                                                          0096.000
*        S-FIL-NAME                                                     0097.000
DD8      DATAH     X'0'            ATTRIBUTES  (ALPHANUMERIC)           0098.000
         DATAH     X'10'           LENGTH                               0099.000
         DATAW     A(S+X'C84')     ADDRESS OF DATA ITEM                 0100.000
         SPACE                                                          0101.000
*        S-DIR-NAME                                                     0102.000
DD9      DATAH     X'0'            ATTRIBUTES  (ALPHANUMERIC)           0103.000
         DATAH     X'10'           LENGTH                               0104.000
         DATAW     A(S+X'C94')     ADDRESS OF DATA ITEM                 0105.000
         SPACE                                                          0106.000
*        S-VOL-NAME                                                     0107.000
DD10     DATAH     X'0'            ATTRIBUTES  (ALPHANUMERIC)           0108.000
         DATAH     X'10'           LENGTH                               0109.000
         DATAW     A(S+X'CA4')     ADDRESS OF DATA ITEM                 0110.000
         SPACE     3                                                    0111.000
*                                                                       0112.000
*        "OTHER" DATA-NAME DESCRIPTORS (DD'S)                           0113.000
*                                                                       0114.000
         SPACE                                                          0115.000
DD11     DATAH     X'8100'         ATTRIBUTES  (NUMERIC, BINARY)        0116.000
         DATAH     X'9'            LENGTH                               0117.000
         DATAW     A(S+X'D08')     ADDRESS OF DATA ITEM                 0118.000
         SPACE                                                          0119.000
DD12     DATAH     X'8000'         ATTRIBUTES  (NUMERIC, DISPLAY)       0120.000
         DATAH     X'6'            LENGTH ( IN BYTES )                  0121.000
         DATAW     A(S+X'D0C')     ADDRESS                              0122.000
         SPACE                                                          0123.000
DD13     DATAH     X'8000'         ATTRIBUTES  (NUMERIC, DISPLAY)       0124.000
         DATAH     X'5'            LENGTH                               0125.000
         DATAW     A(S+X'D12')     ADDRESS                              0126.000
         SPACE                                                          0127.000
DD14     DATAH     X'8000'         ATTRIBUTES  (NUMERIC, DISPLAY)       0128.000
         DATAH     X'8'            LENGTH                               0129.000
         DATAW     A(S+X'D17')     ADDRESS                              0130.000
         SPACE                                                          0131.000
DD15     DATAH     X'8000'         ATTRIBUTES  (NUMERIC, DISPLAY)       0132.000
         DATAH     X'1'            LENGTH                               0133.000
         DATAW     A(S+X'D1F')     ADDRESS                              0134.000
         SPACE                                                          0135.000
DD16     DATAH     X'0'            ATTRIBUTES  (ALPHANUMERIC)           0136.000
         DATAH     X'56'           LENGTH ( IN BYTES )                  0137.000
         DATAW     A(S+X'D20')     ADDRESS                              0138.000
         SPACE                                                          0139.000
DD17     DATAH     X'0'            ATTRIBUTES  (ALPHANUMERIC)           0140.000
         DATAH     X'6'            LENGTH                               0141.000
         DATAW     A(S+X'D20')     ADDRESS                              0142.000
         SPACE                                                          0143.000
DD18     DATAH     X'0'            ATTRIBUTES  (ALPHANUMERIC)           0144.000
         DATAH     X'1E'           LENGTH                               0145.000
         DATAW     A(S+X'D27')     ADDRESS                              0146.000
         SPACE                                                          0147.000
DD19     DATAH     X'F000'         ATTRIBUTES  (NUMERIC, SIGNED,DISPLAY)0148.000
         DATAH     X'4'            LENGTH                               0149.000
         DATAW     A(S+X'D46')     ADDRESS                              0150.000
         SPACE                                                          0151.000
DD20     DATAH     X'F000'         ATTRIBUTES  (NUMERIC, SIGNED,DISPLAY)0152.000
         DATAH     X'4'            LENGTH                               0153.000
         DATAW     A(S+X'D4C')     ADDRESS                              0154.000
         SPACE                                                          0155.000
DD21     DATAH     X'F000'         ATTRIBUTES  (NUMERIC, SIGNED,DISPLAY)0156.000
         DATAH     X'4'            LENGTH                               0157.000
         DATAW     A(S+X'D52')     ADDRESS                              0158.000
         SPACE                                                          0159.000
DD22     DATAH     X'0'            ATTRIBUTES  (NUMERIC, DISPLAY)       0160.000
         DATAH     X'100'          LENGTH                               0161.000
         DATAW     A(S+X'D58')     ADDRESS                              0162.000
         SPACE     3                                                    0163.000
*                                                                       0164.000
*        FILE INFORMATION TABLE (FIT)                                   0165.000
*                                                                       0166.000
         SPACE                                                          0167.000
*        FD  IN-OUT-FILE                                                0168.000
         SPACE                                                          0169.000
         DATAW     0               PREFIX WORD 8                        0170.000
         DATAW     0               PREFIX WORD 7                        0171.000
         DATAW     0               PREFIX WORD 6                        0172.000
         DATAW     0               PREFIX WORD 5                        0173.000
         DATAW     0               PREFIX WORD 4                        0174.000
         DATAW     0               PREFIX WORD 3                        0175.000
         DATAW     0               PREFIX WORD 2                        0176.000
         DATAW     0               PREFIX WORD 1                        0177.000
         SPACE                                                          0178.000
*        SYSTEM'S FILE CONTROL BLOCK (8 WORD FCB)                       0179.000
         SPACE                                                          0180.000
FIT0     DATAW     G'WRI'          FCB (FIT) WORD 0  --  LFC            0181.000
         DATAW     0               FCB (FIT) WORD 1                     0182.000
         DATAW     0               FCB (FIT) WORD 2                     0183.000
         DATAW     0               FCB (FIT) WORD 3                     0184.000
         DATAW     0               FCB (FIT) WORD 4                     0185.000
         DATAW     0               FCB (FIT) WORD 5                     0186.000
         DATAW     0               FCB (FIT) WORD 6                     0187.000
         DATAW     0               FCB (FIT) WORD 7                     0188.000
         SPACE                                                          0189.000
*        REMAINDER OF FIT                                               0190.000
         SPACE                                                          0191.000
         DATAW     0               FIT WORD 8                           0192.000
         DATAW     A(S+X'600')     FIT WORD 9  --  DATA RECORD ADDRESS  0193.000
         DATAW     X'300'          FIT WORD 10 --  BLOCK SIZE (BYTES)   0194.000
         DATAW     A(S+X'0')       FIT WORD 11 --  PRIMARY BUFFER ADDR. 0195.000
         DATAW     A(S+X'300')     FIT WORD 12 --  ALTERNATE BUFFER ADDR0196.000
         DATAW     0               FIT WORD 13                          0197.000
         DATAW     0               FIT WORD 14                          0198.000
         DATAW     0               FIT WORD 15                          0199.000
         DATAW     0               FIT WORD 16                          0200.000
         DATAW     0               FIT WORD 17                          0201.000
         DATAW     0               FIT WORD 18                          0202.000
         DATAW     0               FIT WORD 19                          0203.000
         DATAW     0               FIT WORD 20                          0204.000
         DATAW     0               FIT WORD 21                          0205.000
         DATAW     0               FIT WORD 22                          0206.000
         DATAH     X'80'           FIT WORD 23L - RECORD SIZE           0207.000
         DATAH     X'80'           FIT WORD 23R - MAXIMUM RECORD SIZE   0208.000
         DATAW     0               FIT WORD 24                          0209.000
         DATAW     0               FIT WORD 25                          0210.000
         DATAW     0               FIT WORD 26                          0211.000
         DATAW     0               FIT WORD 27                          0212.000
         DATAW     0               FIT WORD 28                          0213.000
         DATAW     0               FIT WORD 29                          0214.000
         DATAW     0               FIT WORD 30                          0215.000
         DATAW     0               FIT WORD 31                          0216.000
         DATAW     0               FIT WORD 32                          0217.000
         DATAW     0               FIT WORD 33                          0218.000
         DATAW     0               FIT WORD 34                          0219.000
         DATAW     0               FIT WORD 35                          0220.000
*                                                                       0221.000
*        FILE INFORMATION TABLE (FIT)                                   0222.000
*                                                                       0223.000
         SPACE                                                          0224.000
*        SD  SORT-FILE                                                  0225.000
         SPACE                                                          0226.000
         DATAW     0               PREFIX WORD 8                        0227.000
         DATAW     0               PREFIX WORD 7                        0228.000
         DATAW     0               PREFIX WORD 6                        0229.000
         DATAW     0               PREFIX WORD 5                        0230.000
         DATAW     0               PREFIX WORD 4                        0231.000
         DATAW     0               PREFIX WORD 3                        0232.000
         DATAW     0               PREFIX WORD 2                        0233.000
         DATAW     0               PREFIX WORD 1                        0234.000
         SPACE                                                          0235.000
*        SYSTEM'S FILE CONTROL BLOCK (8 WORD FCB)                       0236.000
         SPACE                                                          0237.000
*                                                                       0238.000
* NOTE:  ALTHOUGH SPACE IS ALLOCATED IN THIS FIT FOR THE SORT FILE FCB  0239.000
*        THE ACTUAL FCB IS SET UP BY THE RUN-TIME AT LOC: FE4 - 1000    0240.000
*                                                                       0241.000
         SPACE                                                          0242.000
FIT2     DATAW     G'TMP'          FCB (FIT) WORD 0  --  LFC            0243.000
         DATAW     0               FCB (FIT) WORD 1                     0244.000
         DATAW     0               FCB (FIT) WORD 2                     0245.000
         DATAW     0               FCB (FIT) WORD 3                     0246.000
         DATAW     0               FCB (FIT) WORD 4                     0247.000
         DATAW     0               FCB (FIT) WORD 5                     0248.000
         DATAW     0               FCB (FIT) WORD 6                     0249.000
         DATAW     0               FCB (FIT) WORD 7                     0250.000
         SPACE                                                          0251.000
*        REMAINDER OF FIT                                               0252.000
         SPACE                                                          0253.000
         DATAW     0               FIT WORD 8                           0254.000
         DATAW     A(S+X'C84')     FIT WORD 9  --  DATA RECORD ADDRESS  0255.000
         DATAW     X'80'           FIT WORD 10 --  BLOCK SIZE (BYTES)   0256.000
         DATAW     A(S+X'684')     FIT WORD 11 --  PRIMARY BUFFER ADDR. 0257.000
         DATAW     A(S+X'984')     FIT WORD 12 --  ALTERNATE BUFFER ADDR0258.000
         DATAW     0               FIT WORD 13                          0259.000
         DATAW     0               FIT WORD 14                          0260.000
         DATAW     0               FIT WORD 15                          0261.000
         DATAW     0               FIT WORD 16                          0262.000
         DATAW     0               FIT WORD 17                          0263.000
         DATAW     0               FIT WORD 18                          0264.000
         DATAW     0               FIT WORD 19                          0265.000
         DATAW     0               FIT WORD 20                          0266.000
         DATAW     0               FIT WORD 21                          0267.000
         DATAW     0               FIT WORD 22                          0268.000
         DATAH     X'80'           FIT WORD 23L - RECORD SIZE           0269.000
         DATAH     X'80'           FIT WORD 23R - MAXIMUM RECORD SIZE   0270.000
         DATAW     0               FIT WORD 24                          0271.000
         DATAW     0               FIT WORD 25                          0272.000
         DATAW     0               FIT WORD 26                          0273.000
         DATAW     0               FIT WORD 27                          0274.000
         DATAW     0               FIT WORD 28                          0275.000
         DATAW     0               FIT WORD 29                          0276.000
         DATAW     0               FIT WORD 30                          0277.000
         DATAW     0               FIT WORD 31                          0278.000
         DATAW     0               FIT WORD 32                          0279.000
         DATAW     0               FIT WORD 33                          0280.000
         DATAW     0               FIT WORD 34                          0281.000
         DATAW     0               FIT WORD 35                          0282.000
*                                                                       0283.000
*        FIT WORDS 36 - 50  PROBABLY INITIALIZED AT RUN-TIME OR NOT     0284.000
*                           USED AT ALL                                 0285.000
         DATAW     X'1'            FIT WORD 36                          0286.000
         DATAW     A(S+X'1060')    FIT WORD 37                          0287.000
         DATAW     0               FIT WORD 38                          0288.000
         DATAW     X'1'            FIT WORD 39                          0289.000
         DATAW     A(S+X'106C')    FIT WORD 40                          0290.000
         DATAW     X'20000000'     FIT WORD 41                          0291.000
         DATAW     X'1'            FIT WORD 42                          0292.000
         DATAW     A(S+X'1078')    FIT WORD 43                          0293.000
         DATAW     X'30000000'     FIT WORD 44                          0294.000
         DATAW     X'1'            FIT WORD 45                          0295.000
         DATAW     A(S+X'1084')    FIT WORD 46                          0296.000
         DATAW     X'27000000'     FIT WORD 47                          0297.000
         DATAW     X'1'            FIT WORD 48                          0298.000
         DATAW     A(S+X'1090')    FIT WORD 49                          0299.000
         DATAW     X'FF000000'     FIT WORD 50                          0300.000
         SPACE     3                                                    0301.000
*                                                                       0302.000
*        LOC. FE4 - 4FE4  ( "INTERNAL STORAGE" )                        0303.000
*                                                                       0304.000
*        LOC. 4FE8 - 50E0  ( ??? )                                      0305.000
*                                                                       0306.000
         SPACE                                                          0307.000
         ORG       X'5194'                                              0308.000
         SPACE                                                          0309.000
*                                                                       0310.000
*        SORT CONTROL BLOCK  (SCB)                                      0311.000
*                                                                       0312.000
         SPACE                                                          0313.000
SCB      DATAW     0               SCB WORD 0                           0314.000
         DATAW     0               SCB WORD 1                           0315.000
         DATAW     0               SCB WORD 2                           0316.000
         DATAW     0               SCB WORD 3                           0317.000
         DATAW     0               SCB WORD 4                           0318.000
         DATAW     0               SCB WORD 5                           0319.000
         DATAW     0               SCB WORD 6                           0320.000
         DATAW     0               SCB WORD 7                           0321.000
         DATAW     0               SCB WORD 8                           0322.000
         DATAW     0               SCB WORD 9                           0323.000
         DATAW     A(S+X'1094')    SCB WORD 10                          0324.000
         DATAW     A(S+X'5094')    SCB WORD 11                          0325.000
         DATAW     0               SCB WORD 12                          0326.000
         DATAW     0               SCB WORD 13                          0327.000
         DATAW     0               SCB WORD 14                          0328.000
         DATAW     0               SCB WORD 15                          0329.000
         DATAW     0               SCB WORD 16                          0330.000
         DATAW     0               SCB WORD 17                          0331.000
         DATAW     0               SCB WORD 18                          0332.000
         DATAW     0               SCB WORD 19                          0333.000
         DATAW     0               SCB WORD 20                          0334.000
         DATAW     0               SCB WORD 21                          0335.000
         DATAW     0               SCB WORD 22                          0336.000
         DATAW     A(S+X'5094')    SCB WORD 23                          0337.000
         SPACE                                                          0338.000
         DATAW     0                                                    0339.000
         DATAW     0                                                    0340.000
         SPACE                                                          0341.000
*                                                                       0342.000
*        SORT KEY LIST                                                  0343.000
*                                                                       0344.000
         SPACE                                                          0345.000
SKL      DATAW     X'3'            NUMBER OF KEYS                       0346.000
         SPACE                                                          0347.000
*        KEY #1                                                         0348.000
         SPACE                                                          0349.000
         DATAH     0               ATTRIBUTES  (ASCENDING, ALPHANUM.)   0350.000
         DATAH     X'10'           LENGTH  (BYTES)                      0351.000
         DATAW     A(S+X'CA4')     ADDRESS                              0352.000
         SPACE                                                          0353.000
*        KEY #2                                                         0354.000
         SPACE                                                          0355.000
         DATAH     0               ATTRIBUTES  (ASCENDING, ALPHANUM.)   0356.000
         DATAH     X'10'           LENGTH  (BYTES)                      0357.000
         DATAW     A(S+X'C94')     ADDRESS                              0358.000
         SPACE                                                          0359.000
*        KEY #3                                                         0360.000
         SPACE                                                          0361.000
         DATAH     0               ATTRIBUTES  (ASCENDING, ALPHANUM.)   0362.000
         DATAH     X'10'           LENGTH  (BYTES)                      0363.000
         DATAW     A(S+X'C84')     ADDRESS                              0364.000
         SPACE                                                          0365.000
         ORG       X'5234'                                              0366.000
         SPACE                                                          0367.000
*                                                                       0368.000
*        JUMP EXIT TABLE (JET) FOR LINKAGE                              0369.000
*                                                                       0370.000
         SPACE                                                          0371.000
PN2      DATAW     0                                                    0372.000
         DATAW     0                                                    0373.000
         SPACE     2                                                    0374.000
         DATAW     0                                                    0375.000
         DATAW     0                                                    0376.000
         DATAW     X'FFFE'                                              0377.000
         SPACE     5                                                    0378.000
FUPSRT   EQU       $                                                    0379.000
         SPACE                                                          0380.000
         PUSHS                     SAVE REGS & STACK POINTER            0381.000
         SPACE                                                          0382.000
         BL        C:INIT          INITIALIZATION ROUTINE               0383.000
         SPACE                                                          0384.000
         DATAW     0               RTSEGLOC                             0385.000
         DATAW     0               NMROOTSG                             0386.000
         SPACE                                                          0387.000
PN0      BL        C:GO            UNCONDITIONAL BRANCH  VIA  *,$+1W    0388.000
         SPACE                                                          0389.000
         DATAW     L0              (**0)     BRANCH ADDRESS             0390.000
         SPACE                                                          0391.000
*                                                                       0392.000
*        START OF "SORT" INPUT PROCEDURE CALLING SEQUENCE               0393.000
*                                                                       0394.000
         SPACE                                                          0395.000
PN1      BL        C:GOI           UNCONDITIONAL BRANCH BASED ON JET    0396.000
         SPACE                                                          0397.000
         DATAW     PN2             JUMP EXIT TABLE (JET) ADDRESS        0398.000
         SPACE                                                          0399.000
         BL        C:OPSQ          SEQUENTIAL I/O OPEN                  0400.000
         SPACE                                                          0401.000
         DATAW     X'80'           OPEN ATTRIBUTES                      0402.000
         DATAW     FIT0            ADDRESS OF FILE INFORMATION TABLE    0403.000
         SPACE     2                                                    0404.000
**1                                READ & "RELEASE" LOOP                0405.000
L1       BL        C:RDSQ          SEQUENTIAL I/O READ                  0406.000
         SPACE                                                          0407.000
         DATAW     X'1'            ATTRIBUTES                           0408.000
         DATAW     FIT0            ADDRESS OF FIT                       0409.000
         SPACE                                                          0410.000
         BL        C:GO            UNCONDITIONAL BRANCH VIA  *,$+1W     0411.000
         SPACE                                                          0412.000
         DATAW     L2              (**2)     BRANCH ADDRESS             0413.000
         SPACE                                                          0414.000
         BL        C:MVA           ALPHANUMERIC MOVE                    0415.000
         SPACE                                                          0416.000
         DATAW     DD2             SOURCE DATANAME DESCRIPTOR (DD)      0417.000
         DATAW     DD7             DESTINATION DATANAME DESCRIPTOR (DD) 0418.000
         SPACE                                                          0419.000
         BL        C:RLSE          RELEASE RECORD                       0420.000
         SPACE                                                          0421.000
         DATAW     FIT2            FILE INFORMATION TABLE ADDRESS       0422.000
         DATAW     SCB             SORT CONTROL BLOCK ADDRESS           0423.000
         DATAW     PN2             JET RETURN ENTRY                     0424.000
         DATAW     0               SIT0 - SEGMENT INTERFACE TABLE       0425.000
         DATAW     0               SIT1 - (NONE, SINCE SAME SEGMENT)    0426.000
         SPACE                                                          0427.000
         BL        C:SRTX          RETURN TO CALLING POINT IN C:SORT    0428.000
         SPACE                     WHEN END-OF-FILE                     0429.000
         DATAW     SCB             SORT CONTROL BLOCK ADDRESS           0430.000
         SPACE                                                          0431.000
         BL        C:GO            UNCONDITIONAL BRANCH - READ UNTIL EOF0432.000
         SPACE                                                          0433.000
         DATAW     L1              (**1)     BRANCH ADDRESS             0434.000
         SPACE     2                                                    0435.000
**2                                                                     0436.000
L2       BL        C:CLSQ          SEQUENTIAL I/O CLOSE                 0437.000
         SPACE                                                          0438.000
         DATAW     0               CLOSE ATTRIBUTES                     0439.000
         DATAW     FIT0            ADDRESS OF FILE INFORMATION TABLE    0440.000
         SPACE                                                          0441.000
         BL        C:SREF          SET SORT "END-OF-FILE"               0442.000
         SPACE                                                          0443.000
         DATAW     SCB             ADDRESS OF SORT CONTROL BLOCK        0444.000
         DATAW     PN2             ADDRESS OF JET                       0445.000
         SPACE                                                          0446.000
         BL        C:SRTX          RETURN INTO SORT                     0447.000
         SPACE                                                          0448.000
         DATAW     SCB             ADDRESS OF SORT CONTROL BLOCK        0449.000
         SPACE                                                          0450.000
*                                                                       0451.000
*        END OF "SORT" INPUT PROCEDURE CALLING SEQUENCE                 0452.000
*                                                                       0453.000
         SPACE                                                          0454.000
*                                                                       0455.000
*        START OF "SORT" OUTPUT PROCEDURE CALLING SEQUENCE              0456.000
*                                                                       0457.000
         SPACE                                                          0458.000
PN3      BL        C:GOI           UNCONDITIONAL BRANCH BASED ON JET    0459.000
         SPACE                                                          0460.000
         DATAW     PN2             JET ADDRESS                          0461.000
         SPACE                                                          0462.000
         BL        C:OPSQ          SEQUENTIAL I/O OPEN                  0463.000
         SPACE                                                          0464.000
         DATAW     X'40'           OPEN ATTRIBUTES                      0465.000
         DATAW     FIT0            ADDRESS OF FILE INFORMATION TABLE    0466.000
         SPACE                                                          0467.000
**3                                "RETURN" & WRITE LOOP                0468.000
L3       BL        C:SOX           SETS UP RETURN                       0469.000
         SPACE                                                          0470.000
         DATAW     SCB             ADDRESS OF SORT CONTROL BLOCK        0471.000
         DATAW     PN2             ADDRESS OF JET                       0472.000
         SPACE                                                          0473.000
         BL        C:RETN          RETURN SORTED RECORD                 0474.000
         SPACE                                                          0475.000
         DATAW     X'1'            RETURN ATTRIBUTES                    0476.000
         DATAW     FIT2            ADDRESS OF FIT                       0477.000
         DATAW     SCB             ADDRESS OF SORT CONTROL BLOCK        0478.000
         SPACE                                                          0479.000
         BL        C:GO            UNCONDITIONAL BRANCH - WHEN DONE     0480.000
         SPACE                                                          0481.000
         DATAW     L4              (**4)     BRANCH ADDRESS             0482.000
         SPACE                                                          0483.000
         BL        C:MVA           ALPHANUMERIC MOVE                    0484.000
         SPACE                                                          0485.000
         DATAW     DD7             SOURCE DATANAME DESCRIPTOR           0486.000
         DATAW     DD2             DESTINATION DATANAME DESCRIPTOR      0487.000
         SPACE                                                          0488.000
         BL        C:WRSQ          SEQUENTIAL I/O WRITE                 0489.000
         SPACE                                                          0490.000
         DATAW     0               WRITE ATTRIBUTES                     0491.000
         DATAW     FIT0            ADDRESS OF FILE INFORMATION TABLE    0492.000
         DATAW     0               DD ADDRESS                           0493.000
         DATAW     0               DD ADDRESS                           0494.000
         SPACE                                                          0495.000
         BL        C:GO            UNCONDITIONAL BRANCH                 0496.000
         SPACE                                                          0497.000
         DATAW     L3              (**3)     BRANCH ADDRESS             0498.000
         SPACE                                                          0499.000
**4                                                                     0500.000
L4       BL        C:CLSQ          SEQUENTIAL I/O CLOSE                 0501.000
         SPACE                                                          0502.000
         DATAW     0               CLOSE ATTRIBUTES                     0503.000
         DATAW     FIT0            ADDRESS OF FILE INFORMATION TABLE    0504.000
         SPACE                                                          0505.000
         BL        C:SREF          SET SORT END-OF-FILE                 0506.000
         SPACE                                                          0507.000
         DATAW     SCB             ADDRESS OF SORT CONTROL BLOCK        0508.000
         DATAW     PN2             ADDRESS OF JET                       0509.000
         SPACE                                                          0510.000
         BL        C:SRTX          RETURN INTO SORT                     0511.000
         SPACE                                                          0512.000
         DATAW     SCB             ADDRESS OF SORT CONTROL BLOCK        0513.000
         SPACE                                                          0514.000
*                                                                       0515.000
*        END OF "SORT" OUTPUT PROCEDURE CALLING SEQUENCE                0516.000
*                                                                       0517.000
         SPACE                                                          0518.000
**0                                                                     0519.000
L0       BL        C:SCSU          SET UP SORT CONTROL BLOCK            0520.000
         SPACE                                                          0521.000
         DATAW     SCB             ADDRESS OF SORT CONTROL BLOCK        0522.000
         DATAW     FIT2            FIT OF SORT FILE                     0523.000
         DATAW     X'FFFF'         SIT0 - INPUT PROCEDURE               0524.000
         DATAW     PN1             SIT1 - INPUT PROCEDURE               0525.000
         DATAW     X'FFFF'         SIT0 - OUTPUT PROCEDURE              0526.000
         DATAW     PN3             SIT1 - OUTPUT PROCEDURE              0527.000
SKLE     DATAW     X'30'           SORT KEY LENGTH                      0528.000
         DATAW     SKL             ADDRESS OF SORT COMPOSITE KEY LIST   0529.000
         DATAW     0               COLLATING SEQUENCE TABLE (DEFAULT)   0530.000
         DATAW     0               ZERO IF SORT ONLY                    0531.000
         SPACE                                                          0532.000
         BL        C:SORT          SEQUENCES THE 5 PHASES               0533.000
         SPACE                                                          0534.000
         DATAW     SCB             ADDRESS OF SORT CONTROL BLOCK        0535.000
         SPACE     5                                                    0536.000
         NOP                       JUST IN CASE CONTROL COMES HERE      0537.000
         NOP                                                            0538.000
         POPS                      RESTORE STACK POINTER & REGS         0539.000
         TRSW      R0              RETURN                               0540.000
         SPACE                                                          0541.000
FMS.END  EQU       $                                                    0542.000
END      END                                                            0543.000
