         SYSTEM   SIG7FDP
         SYSTEM   BPM
         PAGE
         TITLE    'PHASE 6.3'
         REF      PDBZ,PDBCC,TMDATE,M:LO,PH63E
         REF      PH63D0,PH63D1,PH63D2,PH63D3
         REF      PH63E0,PH63E1,PH63E2,PH63E3
         REF      RDMDF,RDMDF4,RDMDF5,RDMDF6,RDMDF7,RDMDFS,RDMDFM
         REF      RDXRF,RDXRF4,RDXRF5,RDXRF6,RDXRF7,RDXRFS,RDXRFM
         REF      WRMDFS,WRMDFM,WRXRFS,WRXRFM
         REF      WSLOC
         DEF      COB63,COB63D,COB63D1,COB63D2,COB63D3
         DEF      COB63X,COB63X1,COB63X2,COB63X3
         DEF      COB63DB                                               COBOL63
COB63DB  EQU      %                                                     COBOL63
BLANK    TEXT     '    '            BLANK
HEADR    TEXTC    '        COBOL DATA DIVISION MAP LISTING           ',;
                  '                                              PAGE'
XHEAD    TEXT     '        COBOL CROSS-REFERENCE LISTING             ',;
                  '                                            '
DHEAD    TEXT     ' LINE-NO     DATA-NAME                      REL-LO',;
                  'C  SIZE   RECORD-NAME             BASE-NAME'
WBASE    TEXT     'WORKING-STORAGE'
CBASE    TEXT     'COMMON-STORAGE '
RBASE    TEXT     'FD - FILESD - FILE'
CGENB    TEXT     'COMPILER-GENERATED'
EREXTX   TEXT     '********'
         TEXT     'EXTERNAL'
REGM0    GEN,8,24 93,BA(HEADR)+1
REGM1    GEN,8,24 32,BA(STLIST+1)
REGM2    GEN,8,24 21,BA(STLIST+1)
REGM3    GEN,8,24 22,BA(STLIST+8)                                       COBOL63
REGM4    GEN,8,24  104,BA(STLIST)
REGM5    GEN,8,24 3,BA(STLIST)+1
REGM6    GEN,8,24 93,BA(STLIST)
REGM7    GEN,8,24 31,BA(STLIST+3)+1
REGM8    GEN,8,24 0,BA(STLIST+15)
REGM9    GEN,8,24 0,BA(STLIST+21)
REGM10   GEN,8,24 30,BA(STLIST+3)+2
REGM11   GEN,8,24 8,BA(STLIST)+1
REGM12   GEN,8,24 30,BA(ERORN)
REGM13   GEN,8,24 8,BA(STLIST+8)
REGM14   GEN,8,24 4,BA(STLIST+8)
NTFLG    DATA     0
CURNN    DATA     0
OVFLF    DATA      0
BPOINT   DATA     BA(WBASE),BA(CBASE)
SPOINT   DATA     BA(RBASE),BA(RBASE+2)+1
         DATA     BA(EREXTX),BA(EREXTX+2)
STLIST   RES      26
TEMP1    RES      1
TEMP2    RES      1
ERORN    GEN,32   0
MDFB     RES      7
THREE    GEN,32   X'00030000'       3 IN HALF WORD
NAMTBA   GEN,32   0                 BA OF NAME TABLE
NAMTBS   GEN,32   0                 SAVE NAMTBA
TEMPGI   GEN,32   0                 BYTE DISP FOR REL-LOC
NPONTR   GEN,32   0                 CHECK FOR PREVIOUS LINE
SORTNU   GEN,32   0                 NUMBER OF CLUSTER SORTINO
CVRTBL   GEN,32   8000000           CONVERSION TABLE
         GEN,32   4000000
         GEN,32   2000000
         GEN,32   1000000
         GEN,32   800000
         GEN,32   400000
         GEN,32   200000
         GEN,32   100000
         GEN,32   80000
         GEN,32   40000
         GEN,32   20000
         GEN,32   10000
         GEN,32   8000
         GEN,32   4000
         GEN,32   2000
         GEN,32   1000
         GEN,32   800
         GEN,32   400
         GEN,32   200
         GEN,32   100
         GEN,32   80
         GEN,32   40
         GEN,32   20
         GEN,32   10
         GEN,32   8
         GEN,32   4
         GEN,32   2
         GEN,32   1
         GEN,32   0
         GEN,32   0
         GEN,32   0
         GEN,32   0
BYTECN   GEN,8,8,8,8 33,45,57,69
         GEN,8,8,8,8 81,93,0,0
PLIST    GEN,8,24 X'11',M:LO        PRINT LIST
         GEN,32   X'30000010'
         GEN,32   STLIST
         GEN,32   104
         PAGE                                                           COBOL63
KEYBUF   RES,1    32                DEBUG SYMBOL TABLE KEY BUFFER       COBOL63
DBGBUF   RES      0                 DEBUG SYMBOL TABLE RECORD           COBOL63
LINE:NO  RES,2    1                 LINE NUMBER                         COBOL63
SUB:LINE RES,2    1                 SUB LINE NUMBER                     COBOL63
         RES,1    1                 UNUSED BYTE                         COBOL63
DISPL    RES,1    3                 DISPLACEMENT                        COBOL63
SIZ      RES,1    2                 SIZE                                COBOL63
FACTR:1  RES,2    1                 FACTOR FOR SUBSCRIPT #1             COBOL63
FACTR:2  RES,2    1                 FACTOR FOR SUBSCRIPT #2             COBOL63
FACTR:3  RES,2    1                 FACTOR FOR SUBSCRIPT #3             COBOL63
TYPE     RES,1    1                 DATA TYPE                           COBOL63
SUBCNT   RES,1    1                 NUMBER OF SUBSCRIPTS                COBOL63
         RES,2    1                 UNUSED HALFWORD                     COBOL63
RECORD   RES,1    32                RECORD NAME                         COBOL63
BASE     RES,1    32                BASE NAME                           COBOL63
*                                                                       COBOL63
         BOUND    4                                                     COBOL63
KEYKEY   RES      1                                                     COBOL63
NTBUF    RES      9                                                     COBOL63
READ:NT  GEN,8,24 X'10',M:SI                                            COBOL63
         DATA     X'EC000000'                                           COBOL63
         DATA     NT:ERR,NT:ERR                                         COBOL63
         DATA     NTBUF                                                 COBOL63
         DATA     KEYKEY                                                COBOL63
         DATA     0                                                     COBOL63
WRIT:NT  GEN,8,24 X'11',M:SI                                            COBOL63
         DATA     X'FC000020'                                           COBOL63
         DATA     NT:ERR,NT:ERR                                         COBOL63
BUF      DATA     0                                                     COBOL63
         DATA     31                                                    COBOL63
         DATA     KEYKEY                                                COBOL63
BTD      DATA     0                                                     COBOL63
NT:ERR   M:XXX                      ABORT                               COBOL63
         REF      M:SI                                                  COBOL63
OPN:SI   GEN,8,24 X'14',M:SI          OPEN M:SI
         DATA     X'C7480001'                                           COBOL63
         DATA     ID:ERR,ID:ERR                                         COBOL63
         DATA     2,2,8,2,3         KEYED,DIRECT,OUTIN,SAVE,KEYM=3      COBOL63
         DATA     X'01000101'
SI:ID    TEXTC    '::A'                                                 COBOL63
SI:ACN   DATA     X'02000002',0,0   ACN FILLED IN BEFORE OPEN           COBOL63
         DATA     X'07010001',0     RESET SN                            COBOL63
         REF      M:EO,ON:LINE
MWRBR    BAL,11   WRMDFM
         BAL,11   WRXRFM
MDFORD   BAL,11   RDMDF4            BRANCH TABLE - RDMDF
         BAL,11   RDMDF5
         BAL,11   RDMDF6
         BAL,11   RDMDF7
XRFORD   BAL,11   RDXRF4            BRANCH TABLE - READ XRF
         BAL,11   RDXRF5
         BAL,11   RDXRF6
         BAL,11   RDXRF7
COB63    LI,2     6
         AND,2    PDBCC
         BNEZ     COB631
         LI,2     X'2000'                                               COBOL63
         AND,2    PDBCC                                                 COBOL63
         BEZ      DBG:STRT                                              COBOL63
COB63%1  RES      0                                                     COBOL63
         LW,5     REGM0
         LI,4     BA(XHEAD)
         MBS,4    0                 CHANGE HEADER
COB631   LI,5     BA(HEADR+18)
         LI,4     18
         STB,4    5
         LI,4     BA(TMDATE+1)      MOVE TMDATE
         MBS,4    0
         M:DEVICE M:LO,(HEADER,2,HEADR)
         M:DEVICE M:LO,(COUNT,105)
         M:DEVICE M:LO,(PAGE)
         BAL,9    STBLNK
         CAL1,1   PLIST                                                 COBOL63
DBG:STRT RES      0                                                     COBOL63
         LH,3     M:SI                                                  COBOL63
         CI,3     X'20'             SEE IF DCB IS CLOSED                COBOL63
         BAZ      %+2               YES                                 COBOL63
         M:CLOSE  M:SI,(REL)                                            COBOL63
         LI,3     0
         LI,6     M:EO+22
         LI,5     2
DBG:S0   RES      0
         LW,4     0,6
         CB,5     4
         BE       DBG:S1
         AND,4    =X'FF'
         AI,4     1
         AW,6     4
         B        DBG:S0
DBG:S1   RES      0
         STW,4    SI:ACN,3
         AI,6     1
         LW,4     0,6
         AI,3     1
         CI,3     3
         BL       DBG:S1
         B        NTOPN             DO OPEN                             COBOL63
ID:ERR   MTW,1    SI:ID             CHG FILE NAME                       COBOL63
NTOPN    RES      0                                                     COBOL63
         CAL1,1   OPN:SI
         MTW,0    ON:LINE
         BEZ      %+2
         M:OPEN   M:EO,(SAVE),(BUF,DBGBUF),(KEYM,31),(RECL,84),;        COBOL63
                  (OUT),(KEYED),(DIRECT),(ABN,SMXER),(ERR,SMXER)        COBOL63
GTNAM    BAL,11   RDXRF             READ XRF - NAME
         CI,2     0
         BL       GTNAM3            END OF NT BUILD
         LI,3     3                 SET BYTE DISPLACEMENT               COBOL63
         STS,2    BTD                FOR WRITE                          COBOL63
         AI,2     1
         LB,3     0,2
         BNEZ     GTNAM3            NOT A NAME CLUSTER
         AI,2     1
         SLS,2    -1
         LH,3     0,2               REF NUMBER
         AND,3    =X'FFFF'          STRIP XTENDED SIGN                  COBOL63
         MTB,3    3                 SET KEY LENGTH TO 3                 COBOL63
         STW,3    KEYKEY                                                COBOL63
         AI,2     1                 WORD ADDR OF STRING                 COBOL63
         SLS,2    -1                                                    COBOL63
         STW,2    BUF                FOR WRITE                          COBOL63
         CAL1,1   WRIT:NT           WRITE NAME TABLE                    COBOL63
         B        GTNAM
GTNAM3   STW,2    NTFLG
         MTW,-1   NTFLG             RESET TO FIRST BYTE ADDR
         M:CLOSE  M:SI,(SAVE)       CLOSE AFTER WRITE                   COBOL63
         M:OPEN   M:SI,(KEYED),(DIRECT),(INOUT),(KEYM,3)                COBOL63
         B        PH63D0
*
* DATA DIVISION MAP PROCESSING
*
COB63D   LI,2     BA(MDFB)
         BAL,11   RDMDF             READ MDF
         CI,2     0
         BL       MDF01             END OF MDF
         LI,3     28                                                    COBOL63
         STB,3    STLIST
         BAL,11   XDNAM             MOVE NAME IN MDFS
         LW,3     REGM3
         MBS,2    2                 MOVE B-E IN MDFS
         LI,4     BA(STLIST)
         BAL,11   WRMDFS
         BAL,9    STBLNK
         B        COB63D
MDF01    RES      0                                                     COBOL63
         LW,1     =X'160000'            INITIALIZE SORT
         BAL,9    ISORT
         B        PH63D1
COB63D1  LW,1     TEMPGI
         LI,3     0
MDF02    BAL,11   RDMDFS            READ MDFS
         CI,2     0
         BGE      MDF03             NOT END
         LW,2     SORTNU
         BEZ      PH63D2
         LI,8     36
         BAL,10   SORTNG            GO TO SORT
         LI,3     0
         BAL,10   SRTED
         B        PH63D2
MDF03    RES      0                                                     COBOL63
         LI,8     54                                                    COBOL63
         BAL,10   MVSTC             MOVE CLUSTER
         BDR,1    MDF02
         LI,8     36
         BAL,10   SORTNG            FULL CORE SORT
         LI,3     0
         BAL,10   SRTED
         B        COB63D1
COB63D2  LW,1     NAMTBS            READ MDFS FOR MERGING
         STW,1    NAMTBA
         LI,1     4
         STW,1    SORTNU
         LI,3     0
MDF04    EXU      MDFORD,3
         LW,7     NAMTBA
         STB,3    0,7               SAVE FILE NUMBER
         AI,7     1
         STW,7    *PDBZ,3           SAVE CLUSTER ADDR
         CI,2     0
         BCR,1    MDF05
         CI,3     0
         BCR,3    PH63D3
         LI,6     30                    LAST  CLUSTER FLAG > CLUSTER SIZE
         STB,6    0,7
         LI,6     55                    DUMMY CLSTR SZ
         AWM,6    NAMTBA
         B        MDF06
MDF05    RES      0
         LI,6     54
         BAL,10   MVMTC
MDF06    AI,3     1
         BDR,1    MDF04
         LI,8     36
MDF07    BAL,10   SORTNG            SORT FOUR CLUSTERS
         LW,4     *PDBZ
         LB,6     0,4
         CI,6     30
         BNE      MDF08
         LI,4     -1
         BAL,11   WRMDFM
         B        COB63D2           NEXT FILE
MDF08    BAL,11   WRMDFM
         LW,1     *PDBZ
         AI,1     -1
         LB,3     0,1
         EXU      MDFORD,3
         CI,2     0
         BL       PH63D3            END OF MERGE
         LB,6     0,2
         CI,6     X'02'
         BCS,3    %+2
         LI,6     30                    LAST CLUSTER
         LW,7     *PDBZ
         STB,6    0,2
         LI,6     54
         STB,6    7
         LW,6     2
         MBS,6    0                    TO SORT AREA
         B        MDF07
COB63D3  LW,2     OVFLF
         BEZ      MDF09             NO NT OVERFLOW
         BAL,9    STBLNK
MDF09    RES      0                                                     COBOL63
         LI,5     6                                                     COBOL63
         AND,5    PDBCC                                                 COBOL63
         BEZ      MDF11                                                 COBOL63
         LI,4     BA(DHEAD)         DMAP HEADER
         LW,5     REGM6               TO STLIST                         COBOL63
         MBS,4    0
         CAL1,1   PLIST             PRINT HEADER
         BAL,9    STBLNK
         LI,4     18
         LI,5     BA(XHEAD+18)
         STB,4    5
         LI,4     BA(HEADR+18)
         MBS,4    0
         LW,5     REGM0
         LI,4     BA(DHEAD)+1
         MBS,4    0                 CHANGE PAGE HEADER
MDF11    BAL,11   RDMDFM
         CI,2     0
         BL       PH63E0            END OF MDFM
         LB,3     0,2
         CI,3     2
         BE       PH63E0            END OF DMAP
         MTW,0    ON:LINE           TEST OPTION                         COBOL63
         BEZ      MDF110            NO. CONTINUE MAP                    COBOL63
         LW,5     MV:KY:LN          YES.                                COBOL63
         LW,4     2                                                     COBOL63
         MBS,4    1                 MOVE KEY, LINE #                    COBOL63
         MTB,3    5                                                     COBOL63
         AI,5     1                                                     COBOL63
         MBS,4    4                 MOVE DISPLACEMENT                   COBOL63
         OR,5     =X'0A000000'                                          COBOL63
         MBS,4    6                 MOVE SIZE, DATA TYPE, AND           COBOL63
*                                        SUBSCRIPT FACTORS              COBOL63
         LW,1     BLNKFIL                                               COBOL63
         MBS,0    BA(BLANK)                                             COBOL63
MDF110   RES      0                                                     COBOL63
         AI,2     1
         LW,3     REGM7
         MBS,2    0                 MOVE NAME IN STLIST
         SLS,2    -1                POINT TO HA OF B
         BAL,10   LINENO            LINE NUMBER TO STLIST
         LW,6     2
         SLS,6    1
         LB,3     1,6               F OF MDF
         LW,7     L(X'03000011')
         MBS,6    5
         LI,5     0
         SLD,4    -2
         STW,5    TEMPGI            BYTE DISP
         CI,3     3
         BL       MDF16
         BE       MDF22+1           REPORT
         LI,6     5
         LI,1     48
MDF12    LI,5     0                 MOVE D(IN EBCDIC) TO STLIST
         SLD,4    -4
         SCS,5    4
         CI,5     9
         BG       MDF13
         OR,5     L(X'F0')          EDITING
         B        MDF14
MDF13    AI,5     -9
         OR,5     L(X'C0')
MDF14    STB,5    STLIST,1
         AI,1     -1
         BDR,6    MDF12
         AI,1     7
         LW,5     TEMPGI            BYTE OFFSET
         BEZ      MDF21
         LI,4     0
         SLD,4    2
         AI,4     X'F0'
         STB,4    STLIST,1
MDF21    AI,2     5
         LH,4     0,2
         AND,4    L(X'FFFF')                                            COBOL63
         CVS,4    CVRTBL
         SLS,5    -4                REMOVE SIGN                         COBOL63
         LW,4     5                                                     COBOL63
         AI,1     6                                                     COBOL63
MDF20    LI,5     0
         SLD,4    -4
         SCS,5    4
         OR,5     L(X'F0')
         STB,5    STLIST,1          SIZE FIELD
         AI,1     -1
         CI,4     0
         BNE      MDF20
         AI,2     -1
         CI,3     8
         BLE      MDF18
         CI,3     11
         BG       MDF17             COMPILER-GEN
         LW,4     BPOINT-9,3
         LI,5     15
         STB,5    REGM9
         LW,5     REGM9
         MBS,4    0
         AI,4     -15                                                   COBOL63
         LW,5     MV:BASE                                               COBOL63
         MBS,4    0                 MOVE BASE-NAME TO DEBUG RECD        COBOL63
         LH,3     0,2               H OF MDF
         BEZ      MDF22
         LI,5     0                 RECORD NAME FLAG                    COBOL63
         BAL,9    TRNAM
         STB,5    REGM8
         LW,5     REGM8
         MBS,4    0                 RECORD NAME
MDF22    RES      0
         LI,5     6                                                     COBOL63
         AND,5    PDBCC                                                 COBOL63
         BEZ      %+2                                                   COBOL63
         CAL1,1   PLIST                                                 COBOL63
         MTW,0    ON:LINE
         BEZ      SMX01
         LI,5     1                                                     COBOL63
         LI,3     X'40'                                                 COBOL63
SMX00    RES      0                                                     COBOL63
         AI,5     1                 SET  KEY                            COBOL63
         MTB,0    KEYBUF,5                                              COBOL63
         BNEZ     %+2                                                   COBOL63
         STB,3    KEYBUF,5                                              COBOL63
         CI,5     31                                                    COBOL63
         BGE      SET:SIZE                                              COBOL63
         CB,3     KEYBUF,5          SIZE PLUS ONE BLANK                 COBOL63
         BNE      SMX00                                                 COBOL63
SET:SIZE EQU      %                                                     COBOL63
         STB,3    KEYBUF,5          SET LAST ONE TO BLANK               COBOL63
         STB,5    KEYBUF            SET KEYSIZE                         COBOL63
SMXRTRY  RES      0
         M:WRITE  M:EO,(KEY,KEYBUF),(NEWKEY),(ABN,SMXER),(ERR,SMXER)    COBOL63
         MTW,-1   DBGCT             DECREMENT COUNT                     COBOL63
         BGZ      SMX01             CONTINUE                            COBOL63
         M:CLOSE  M:EO,(SAVE)                                           COBOL63
         M:OPEN   M:EO,(SAVE),(BUF,DBGBUF),(KEYM,31),(RECL,84),;        COBOL63
                  (INOUT),(KEYED),(DIRECT)                              COBOL63
         LI,9     500               RESET COUNT                         COBOL63
         STW,9    DBGCT                                                 COBOL63
         B        SMX01
SMXER    RES      0
         LI,3     X'16'
         CB,3     10
         BNE      ABORT
         MTB,1    KEYBUF,5          UPDATE TO NEXT KEY                  COBOL63
         B        SMXRTRY
ABORT    RES      0
         LI,4     BA(OFLOMSG)                                           COBOL63
         LW,5     OFLOMV                                                COBOL63
         MBS,4    0                                                     COBOL63
         CAL1,1   PLIST                                                 COBOL63
         M:XXX                                                          COBOL63
SMX01    RES      0
         BAL,9    STBLNK
         B        MDF11
MDF16    LW,4     SPOINT-1,3        FILE-NAME
         LI,5     9
MDF15    STB,5    REGM9
         LW,5     REGM9
         MBS,4    0
         LB,12    REGM9                                                 COBOL63
         LW,5     MV:BASE                                               COBOL63
         STB,12   5                                                     COBOL63
         LCW,12   12                                                    COBOL63
         AW,4     12                                                    COBOL63
         MBS,4    0                                                     COBOL63
         B        MDF22
MDF17    LI,4     BA(CGENB)         COMPILER-GENERATED
         LI,5     18
         B        MDF15
MDF18    LH,3     0,2               H OF MDF
         BEZ      MDF19
         LI,5     0                                                     COBOL63
         BAL,9    TRNAM
         STB,5    REGM8
         LW,5     REGM8
         MBS,4    0
MDF19    AI,2     -3
         LH,4     -1,2
         BEZ      MDF17             TALLY
         LH,3     0,2               G OF MDF
         LI,5     1                                                     COBOL63
         BAL,9    TRNAM
         STB,5    REGM9                                                 COBOL63
         LW,5     REGM9                                                 COBOL63
         MBS,4    0                                                     COBOL63
         B        MDF22                                                 COBOL63
*
* CROSS REFERENCE LIST PROCESSING
*
COB63X   RES      0
         LI,2     6
         AND,2    PDBCC
         BEZ      XRF01             DMAP NOT REQUESTED
         LW,5     REGM0
         LI,4     BA(XHEAD)
         MBS,4    0                 CHANGE HEADER
         M:DEVICE M:LO,(HEADER,2,HEADR)
         M:DEVICE M:LO,(COUNT,105)
         M:DEVICE M:LO,(PAGE)
         BAL,9    STBLNK
         CAL1,1   PLIST
         B        XRF00
XRF01    LW,2     OVFLF
         BEZ      XRF00
         CAL1,1   PLIST
XRF00    LW,2     NTFLG
         B        %+2
XRF02    BAL,11   RDXRF             READ XRF
         CI,2     0
         BL       XRF06
         BAL,9    STBLNK
         AI,2     1
         LB,3     0,2               CONTROL BYTE
         CI,3     5
         BE       XRF05             SUBROUTINE NAME-05
         CI,3     1
         BL       XRF02             NAME CLUSTER
         BG       XRF03
         LI,4     0                 DEF CLUSTER
         STW,4    STLIST+9
         LW,5     REGM14
         B        XRF03+1
XRF03    LW,5     REGM13
         STB,3    STLIST+10
         LW,4     2
         MBS,4    3                 F G H AND I OF XRF
         AI,2     1
         BAL,11   XDNAM
XRF04    LI,4     21                A
         STB,4    STLIST
         LI,4     BA(STLIST)
         BAL,11   WRXRFS            WRITE XRFS
         B        XRF02
XRF05    AI,3     -1                SUBROUTINE NAME-05
         AI,2     11
         LB,6     0,2
         LI,5     BA(STLIST)+1
         STB,6    5
         LW,4     2
         MBS,4    1                 SUBROUTINE NAME TO E
         STB,3    STLIST+10         B
         LW,3     REGM13
         MBS,2    -8                F G H AND I OF XRF
         B        XRF04
XRF06    LW,1     L(X'000C0000')                                        COBOL63
         BAL,9    ISORT             INITIALIZE SORTING
         LI,2     0
         STW,2    SORTNU            RESET SORTNU
         B        PH63E1
COB63X1  LW,1     TEMPGI
         LI,3     0
XRF07    BAL,11   RDXRFS            READ XRFS
         CI,2     0
         BGE      XRF08             NOT END
         LW,2     SORTNU
         BEZ      PH63E2
         LI,8     41
         BAL,10   SORTNG            GO TO SORT
         LI,3     1
         BAL,10   SRTED
         B        PH63E2
XRF08    LI,8     41
         BAL,10   MVSTC             MOVE CLUSTER
         BDR,1    XRF07
         LI,8     41
         BAL,10   SORTNG            FULL CORE SORT
         LI,3     1
         BAL,10   SRTED
         B        COB63X1
COB63X2  LW,1     NAMTBS            READ XRFS FOR MERGING
         STW,1    NAMTBA
         LI,1     4
         STW,1    SORTNU
         LI,3     0
XRF09    EXU      XRFORD,3
         LW,7     NAMTBA
         STB,3    0,7               SAVE FILE NUMBER
         AI,7     1
         STW,7    *PDBZ,3           SAVE CLUSTER ADDR
         CI,2     0
         BCR,1    XRF10
         CI,3     0
         BCR,3    PH63E3
         LI,6     22
         STB,6    0,7               LAST CLUSTER FLAG
         LI,6     42
         AWM,6    NAMTBA
         B        XRF11
XRF10    LI,6     41
         BAL,10   MVMTC
XRF11    AI,3     1
         BDR,1    XRF09
         LI,8     41
XRF12    BAL,10   SORTNG            SORT FOUR CLUSTERS
         LW,4     *PDBZ
         LB,6     0,4
         CI,6     22
         BNE      XRF13
         LI,4     -1
         BAL,11   WRXRFM
         B        COB63X2           NEXT FILE
XRF13    BAL,11   WRXRFM
         LW,1     *PDBZ
         AI,1     -1
         LB,3     0,1
         EXU      XRFORD,3
         CI,2     0
         BL       PH63E3
         LB,6     0,2
         CI,6     X'02'
         BCS,3    %+2
         LI,6     22                LAST CLUSTER
         LW,7     *PDBZ
         STB,6    0,2
         LI,6     41
         STB,6    7
         LW,6     2
         MBS,6    0
         B        XRF12
COB63X3  BAL,9    STBLNK
         BAL,11   RDXRFM
         CI,2     0
         BL       PH63E             END OF PHASE
         LB,3     0,2
         CI,3     2                 END OF LIST
         BE       XRF21
         LB,8     10,2
         CI,8     2
         BCS,2    XRF20
         CI,8     1
         BCS,3    XRF17
XRF14    LW,4     NPONTR
         BNEZ     %+4
         LW,4     BLANK
         CW,4     STLIST            CHECK LEFT OVER
         BE       XRF15
         CAL1,1   PLIST             PRINT PREVIOUS LINE
         LI,4     0
         STW,4    NPONTR
         BAL,9    STBLNK
XRF15    LW,3     REGM10
         MBS,2    1                 MOVE NAME IN STLIST
         AI,2     2
         SLS,2    -1
         LH,4     0,2               F OF XRF
         BLZ      XRF16
         BAL,10   LINENO+1
         B        XDEFP
XRF16    LW,5     8
         LW,4     SPOINT-1,5
         LW,5     REGM11
         MBS,4    0
XDEFP    LI,3     0
         STW,3    NPONTR
         CI,8     1
         BE       COB63X3+1
         AI,2     2
         B        XRF18
XRF17    AI,2     36                POINT TO H
         SLS,2    -1
         LW,3     NPONTR
XRF18    AI,3     1
         LB,1     BYTECN,3
         LH,4     0,2
         CVS,4    CVRTBL
         BAL,10   LINER             REF NO IN STLIST
         CI,3     5
         BL       XRF19
         LI,4     0                 RESET COUNT
         STW,4    NPONTR
         CAL1,1   PLIST             PRINT ONE LINE FORMED
         BAL,9    STBLNK
         B        COB63X3+1
XRF19    MTW,1    NPONTR            NOT FINISHED ONE LINE
         B        COB63X3+1
XRF20    LW,5     REGM12            ERROR CASE
         LW,4     2
         CBS,4    1
         BE       XRF17
         LW,5     REGM12
         LW,4     2
         MBS,4    1
         B        XRF14
XRF21    LW,3     NPONTR            END OF LIST
         BNEZ     %+4
         LW,4     BLANK
         CW,4     STLIST            CHECK LEFT OVER
         BE       PH63E
         CAL1,1   PLIST
         B        PH63E
*
* COMMON ROUTINES FOR DMAP AND XREF
*
STBLNK   LW,1     REGM4             BLANK FILL STLIST
         MBS,0    BA(BLANK)
         B        *9
STNUMR   LI,7     5                 NUMBER EDITING
         LI,4     0
         SLD,4    4
         OR,4     L(X'F0')
         STB,4    STLIST,1
         AI,1     1
         BDR,7    STNUMR+1
         B        *9
XDNAM    SLS,2    -1                MOVE NAME IN CLUSTER
         LH,3     0,2
         AND,3    =X'FFFF'                                              COBOL63
         MTB,3    3                                                     COBOL63
         STW,3    KEYKEY                                                COBOL63
         CAL1,1   READ:NT                                               COBOL63
         LI,4     BA(NTBUF)                                             COBOL63
         LB,6     0,4
         LI,5     BA(STLIST)+1
         STB,6    5
         MBS,4    1                 NAME TO CLUSTER
XDNAM0   SLS,2    1                 TO BYTE ADDR
         B        *11
ISORT    LW,5     PDBZ+5            INITILIZING SORT
         SW,5     PDBZ
         DH,5     1
         STW,5    TEMPGI
         AW,5     PDBZ
         SLS,5    2
         STW,5    NAMTBA
         STW,5    NAMTBS
         B        *9
SORTNG   LW,1     SORTNU            SORTING
         SLS,1    -1
         CI,1     0
         BE       *10
         LW,2     SORTNU
         SW,2     1
         LI,3     0
SORTNG1  LW,5     3
         LW,4     1
         AW,4     5
         LW,7     *PDBZ,4           COMPARE CLUSTERS
         STB,8    7
         LW,6     *PDBZ,5
         CBS,6    0
         BCS,2    SORTNG3
SORTNG2  AI,3     1
         CW,3     2
         BCS,1    SORTNG1
         B        SORTNG+1
SORTNG3  LW,6     *PDBZ,5           EXCHANGE INDEX
         XW,6     *PDBZ,4
         XW,6     *PDBZ,5
         SW,5     1
         BCS,1    SORTNG2
         B        SORTNG1+1
SRTED    LI,1     0                 OUTPUT SORTED CLUSTER
         LW,2     SORTNU
         STW,1    SORTNU
         LW,4     *PDBZ,1
         EXU      MWRBR,3              TO FILE
         AI,1     1
         BDR,2    %-3
         LI,4     -1
         EXU      MWRBR,3           LAST CLUSTER
         LW,4     NAMTBS
         STW,4    NAMTBA
         B        *10
MVSTC    LW,7     NAMTBA            MOVE CLUSTER TO SORT BUFFER
         STW,7    *PDBZ,3
         MTW,1    SORTNU
         AWM,8    NAMTBA
         STB,8    7
         LW,6     2
         MBS,6    0
         AI,3     1
         B        *10
MVMTC    AWM,6    NAMTBA            MOVE MERGE-CL TO SORT AREA
         MTW,1    NAMTBA
         STB,6    7
         LW,6     2
         MBS,6    0
         B        *10
LINENO   LH,4     0,2               LINE NO
         CVS,4    CVRTBL
         LI,1     1
LINER    SLS,5    8
         BAL,9    STNUMR
         AI,2     1
         LH,4     0,2               COPY LINE NO
         BEZ      *10
         CVS,4    CVRTBL
         SLS,5    8
         LI,6     X'4B'             '.'
         STB,6    STLIST,1
         AI,1     1
         BAL,9    STNUMR
         B        *10
TRNAM    RES      0                                                     COBOL63
         AND,3    =X'FFFF'                                              COBOL63
         MTB,3    3                                                     COBOL63
         STW,3    KEYKEY                                                COBOL63
         CAL1,1   READ:NT                                               COBOL63
         LI,4     BA(NTBUF)                                             COBOL63
         LW,5     MV:B:R,5                                              COBOL63
         LB,12    NTBUF                                                 COBOL63
         AI,12    1                                                     COBOL63
         STB,12   5                                                     COBOL63
         MBS,4    0                                                     COBOL63
         LI,4     BA(NTBUF)+1                                           COBOL63
         LB,5     NTBUF                                                 COBOL63
         CI,5     20                                                    COBOL63
         BLE      *9                                                    COBOL63
         BDR,5    %-2                                                   COBOL63
         B        *9                                                    COBOL63
* NAME INDEX AND TABLE
MV:B:R   DATA     BA(RECORD),BA(BASE)                                   COBOL63
OFLOMSG  TEXT     ' OVER 255 IDENTICAL NAMES--CAN''T DEBUG'             COBOL63
OFLOMV   GEN,8,24 BA(OFLOMSG)-BA(OFLOMV),STLIST                         COBOL63
MV:BASE  GEN,8,24 32,BA(BASE)                                           COBOL63
MV:KY:LN GEN,8,24 35,BA(KEYBUF)+1                                       COBOL63
BLNKFIL  GEN,8,24 64,BA(RECORD)                                         COBOL63
DBGCT    DATA     500               COUNT FOR ON-LINE DEBUG NAMES       COBOL63
*                                                                       COBOL63
         END
