         TITLE    'HEWLFFNL  FINAL PROCESSOR OF LINKAGE EDITOR'         00010021
*********************************************************************** 00020021
*FUNCTION/OPERATION: THIS MODULE PROVIDES THE FOLLOWING FUNCTIONS-    * 00030021
* 1.IF THE PROGRAM IS IN OVERLAY, THE 'NOTE LIST', A LIST OF DISK TTRS* 00040021
*   ARE WRITTEN AT THE END OF THE DATA SET AND ITS TTR IS PLACED IN   * 00050021
*   THE PDS DIRECTORY. THE TTRS ARE THE DISK ADDRESSES OF EACH SEGMENT* 00060021
* 2.THE PDS DIRECTORY IS COMPLETED-THAT IS THE NAME IS PLACED IN THE  * 00070021
*   DIRECTORY FROM EITHER THE NAME CARD, THE DEB, OR 'TEMPNAME' IS    * 00080021
*   USED. THE MEMBER IS THEN STOWED--EITHER WITH REPLACE OR ADD AS    * 00090021
*   SPECIFIED BY THE NAME CARD OR IN THE DEB.                         * 00100021
* 3.IF THERE ALIAS NAMES TO BE STOWED, THIS IS ACCOMPLISHED NEXT      * 00110021
* 4.IF THE MODULE HAS BEEN DOWNGRADED--THAT IS GONE FROM REENTRANT TO * 00120021
*   REUSABLE OR FROM REUSABLE TO NOT REUSABLE OR FROM EXECUTABLE TO   * 00130021
*   NOT EXECUTABLE, OR TO NOT REFRESHABLE, THIS IS PRINTED.             00140021
* 5.IF ANY IEWXXXS CODE HAD BEEN PRINTED, A DIRECTORY CORRESPONDING TO* 00150021
*   THE CODE WILL BE PRINTED TO EXPLAIN IT.                           * 00160021
*   IF MAP OR XREF WAS SPECIFIED AND THERE ARE ESDS, THE MAP/XREF     * 00170021
*   PROCESSOR IS CALLED TO PRODUCE THE PROPER OUTPUT                  * 00180021
* 7.IF THE END OF INPUT WAS NOT ON, PROCESSING  WOULD BE RETURNED FOR * 00190021
*   ANOTHER RUN THROUGH THE EDITOR.  IF IT IS END OF INPUT, CONTROL   * 00200021
*   WILL BE RETURNED TO THE CALLER AFTER ALL FILES ARE CLOSED.        * 00210021
* 8.THIS ROUTINE ALSO CONTAINS THE SYCHRONOUS ERROR EXIT. WHEN ENTERED* 00220021
*   VIA IOCS, THE FILE NAME IS PRINTED, ALL FILES CLOSED AND RETURN IS* 00230021
*   GIVEN TO THE CALLER  A CONCODE IS PASSED IN REGISTER 15           * 00240021
*                                                                     * 00250021
*                                                                     * 00260021
*                                                                     * 00270021
*ENTRY POINTS:                                                        * 00280021
*                                                                     * 00290021
*    HEWLFFNL--ENTERED FOR NORMAL PROCESSING                          * 00300021
*                                              L   15,=V(HEWLFFNL)    * 00310021
*                                               BCR  15,15            * 00320021
*                                                                     * 00330021
*    HEWLCFAB--ENTERED FOR TERMINATING PROCESSING                     * 00340021
*                                               L    15,=V(HEWLCFAB)  * 00350021
*                                               BCR  15,15            * 00360021
*                                                                     * 00370021
*    HEWLFSNX--ENTERED FOR SYNCHRONOUS FILE ERROR EXIT                * 00380021
*                                               L    15,=V(HEWLCSNX)  * 00390021
*                                               BCR  15,15            * 00400021
*                                                                     * 00410021
*                                                                     * 00420021
*INPUT:  PDS DIRECTORY IN THE ALL PURPOSE TABLE (SEE HEWLKAPT)        * 00430021
*        TTR NOTE LIST IN THE ALL PURPOSE TABLE (SEE HEWLKAPT)        * 00440021
*        DEB -STANDARD FORMAT OF OUTPUT FILE USED TO STOW             * 00450021
*        INDICATORS IN THE ALL PURPOSE TABLE                          * 00460021
*        ALIAS TABLE--EACH ENTRY IS TEN BYTES IN LENGTH               * 00470021
*                     FIRST EIGHT BYTES IS ALIAS NAME                 * 00480021
*                     LAST TWO BYTES ARE AN ID OF THE HALF ESD TABLE  * 00490021
*                                                                     * 00500021
*                                                                     * 00510021
*OUTPUT: DISK USED FOR STOW OF DIRECTORY AND WRITING THE NOTE LIST    * 00520021
*        (SEE PDS DIRECTORY IN ALL PURPOSE TABLE)                     * 00530021
*        PRINTED OUT PUT TO INDICATE MEMBER STOWED                    * 00540021
*                                                                     * 00550021
*                                                                     * 00560021
*                                                                     * 00570021
*EXTERNAL ROUTINES: N/A                                               * 00580021
*                                                                     * 00590021
*                                                                     * 00600021
*                                                                     * 00610021
*EXITS-NORMAL: AT END OF INPUT, ALL FILES ARE CLOSED, REGISTERS ARE   * 00620021
*              RESTORE, CONCODE PLACED IN REGISTER 15 AND A BRANCH    * 00630021
*              BACK ON REGISTER 14                                    * 00640021
*              AT NAME CARD BUT NOT END OF INPUT RETURN IS GIVEN TO   * 00650021
*              LINKEDIT INIILIZER FOR MORE INPUT                      * 00660021
*                                                                     * 00670021
*EXITS-ERROR:  WHEN EITHER SYCHRONEOUS ERROR EXIT OR TERMINATION ENTRY* 00680021
*              (FNALAB), RETURN TO CALLER WITH CONCODE OF 16 IN REG 15* 00690021
*              OTHER RETURNS, NOT NORMAL CAN HAVE REGULAR CONCODES OF * 00700021
*               12,8, OR 4 IN REGISTER 15.                            * 00710021
*                                                                     * 00720021
*TABLES/WORK AREAS: PDS DIRECTORY USED TO STOW - FORMAT IN ALL PURPOSE* 00730021
*                      TABLE                                          * 00740021
*                   TTR NOTE LIST- 4 BYTES PER ENTRY EACH CONTAINING A* 00750021
*                      TTR CORRESPONDING TO THE START OF A SEGMENT    * 00760021
*                                                                     * 00770021
*                                                                     * 00780021
*                                                                     * 00790021
*ATTRIBUTES: REUSABLE                                                 * 00800021
*                                                                     * 00810021
*                                                                     * 00820021
*NOTES:  THE MODULE CAN BE USED IN LEVEL E AND F  LINKAGE EDITOR      * 00830021
*        HOWEVER, DESIGN OF MODULE WAS USING LEVEL E ALL PURPOSE      * 00840021
*        TABLE. WHEN USING FOR LEVEL F OFFSETS SHOULD BE CHECKED      * 00850021
*                                                                     * 00860021
*********************************************************************** 00870021
HEWLFFNL CSECT                                                          00880021
**********************************************************************  00890021
*014630-014660,031150,031220-031280                              S01904 00900021
*020220-80,031284-356,049020-92,067420-80,068420-40,070620-40,   Y01048 00902000
*072120                                                          Y01048 00904000
*A064200                                                         A51444 00906000
*A063000                                                         A49330 00908000
*A023200,A040200,A042500,A072200                                 A52450 00908400
*A032004-032020,C032100,A032120,A034820-034840,C034900,A034920  OY00359 00908801
*A072280-072292                                                 OY00359 00909201
*A030920,A031353,A037320                                         YM5552 00909601
*I023220,C028200,C028500,C028800,C029000                OX04280,OY03413 00909702
*C033200,D033500-034000,C034200,D060700-061100          OX04280,OY03413 00909802
*I065900,I014000,C033900                                OX04280,OY03413 00909902
*I019100,I048600                                                XA05438 00926603
* SEE FIX FOR XA05438                                           YA04536 00936603
* A026400,A039200,A056500                                       ZA01401 00938602
* A019160,A019180,A048640-048684                                OZ01416 00940637
* SEE FIX FOR OY09128,OX08754                                   OZ01416 00942637
**********************************************************************  00943303
         EXTRN HEWLFBTP                                                 00960021
         ENTRY HEWLCFNI                                                 00970021
         ENTRY HEWLCSNX                                                 00980021
         ENTRY HEWLCEOI                                                 00990021
         ENTRY HEWLCFAB                                                 01000021
         EXTRN HEWLCSDB                                                 01010021
         EXTRN HEWLCMDB                                                 01020021
         EXTRN HEWLCUDB                                                 01030021
         EXTRN HEWLCPDB                                                 01040021
         EXTRN HEWLTMDB                                                 01050021
         EXTRN HEWLFLDB                                                 01060021
         EXTRN ENQNAME                                                  01070021
         EXTRN MINOR                                                    01080021
         EXTRN JFCBADDR                ADDRESS OF SYSLMOD JFCB          01090021
* REGISTER ASSIGNMENTS IN FINAL PROCESSOR                               01100021
REG0     EQU   0                                                        01110021
R0       EQU   0                                                        01120021
R1       EQU   1                                                        01130021
REG1     EQU   1                                                        01140021
TTRREG   EQU   1                                                        01150021
REG2     EQU   2      REGISTER 2                                        01160021
APT      EQU   2         ALL PURPOSE TABLE                              01170021
PDSDIREG EQU   2         ADDRESS OF PDS DIRECTORY                       01180021
DCBREG   EQU   3         DCB ADDRESS REGISTER                           01190021
SYSLIN   EQU   3         REGISTER 3                                     01200021
SYSLMOD  EQU   4         REGISTER 4                                     01210021
DEBNPRES EQU   4         OFFSET IN DEB TO SEE IF NAME PRESENT           01220021
NREG     EQU   4                                                        01230021
TEMP1    EQU   5                                                        01240021
WRTADR   EQU   5                                                        01250021
SYSUT1   EQU   5         REGISTER 5                                     01260021
SYSPRINT EQU   6         REGISTER 6                                     01270021
WRTBYTES EQU   6                                                        01280021
TEMP2    EQU   6                                                        01290021
MSGADD   EQU   6             ADDR OF MESSAGE                            01300021
MSGLNG   EQU   7             LENGTH OF MESSAGE                          01310021
TEMP4    EQU   7                                                        01320021
DEBREG   EQU   7                                                        01330021
SYSLIB   EQU   7                                                        01340021
RET1     EQU   8                                                        01350021
RETADD   EQU   8             RETURN ADDRESS                             01360021
TOTLNG   EQU   9             TOTAL MESAGE LENGTH                        01370021
REG9     EQU   9                                                        01380021
PRTREG   EQU   10                                                       01390021
TEMP3    EQU   11                                                       01400021
DEBXRG   EQU   6                       BPAM EXTEN PTR   OX04280,OY03413 01402002
BASE     EQU   12        BASE REGISTER                                  01410021
SAVEREG  EQU   13                                                       01420021
PASSREG  EQU   14                                                       01430021
RETRN2   EQU   14                                                       01440021
ERCODE   EQU   15                                                       01450021
GOTOR    EQU   15       GO TO REGISTER                                  01460021
SSIPRES  EQU   X'10'                   PDSE12, SSI PRESENT       S01904 01463021
PAGEING  EQU   X'20'                   PDSE12, PAGING            S01904 01466021
SCNALOV  EQU   X'4F'     C-BYTE SCATTER-NO ALIAS--SAVE FOR OVERLAY      01470021
BKNALNV  EQU   X'2B'     C-BYTE BLOCK-NO ALIAS--NO OVERLAY              01480021
SCALOV   EQU   X'D4'     C-BYTE FOR SCATTER, ALIAS, REUS OR RENT        01490021
BKALNV   EQU   X'B0'     C-BYTE FOR BLK, ALIAS, REUS, OR RENT           01500021
BKALOV   EQU   X'D0'     C-BYTE FOR OVLY, ALIAS, RENT OR REUS           01510021
OVLYCBT  EQU   X'4B'     C-BYTE FOR OVERLAY BUT NOT ALIAS               01520021
BKNTTR   EQU   X'0B'    C-BYTE BLOCK NO TTR'S IN PDS                    01530021
NONAME   EQU   X'00'                                                    01540021
TNAME    EQU   X'01'                                                    01550021
REPLACE  EQU   X'10'     REPLACE MEMBER                                 01560021
NAMECARD EQU   X'C0'    NAME RECEIVED FROM NAME CARD OR PARM LIST       01570021
ALBPE    EQU   X'0A'     NUMBER OF BYTES PER ENTRY IN ALIAS TABLE       01580021
DEBOFST  EQU   X'2C'     OFFSET IN DCB OF SYSLMOD OF DEB ADDRESS        01590021
DEBNEXT  EQU   X'10'     OFFSET IN DEB OF NUMBER OF EXTENTS             01600021
DEBESCL  EQU   X'1C'     OFFSET IN DEB OF EXTENTS SCALING FACTOR        01610021
DEBSEXT  EQU   X'20'     OFFSET OF START OF EXTENTS IN DEB              01620021
DCBIOBAD EQU   X'1C'     OFFSET IN DCB OF IOB ADDRESS                   01630021
DEBTYSTO EQU   X'08'     OFFSET IN DEB OF STOW TYPE MODIFIER            01640021
MODSTO   EQU   X'80'     STOW--ADD INDICATOR                            01650021
OLDSTO   EQU   X'40'     STOW--REPLACE INDICATOR                        01660021
NEWSTO   EQU   X'C0'     STOW--ADD INDICATOR                            01670021
RETRY    EQU   X'02'     RETRY INDICATOR TO STOW(A) AFTER STOW (R)      01680021
GOODSTOW EQU   X'FF'     MASK FOR TESTING GOOD STOW                     01690021
EXISTS   EQU   X'04'     NAME ALREADY EXIST IN PDS DIRECTORY            01700021
NOTIN    EQU   X'08'     NAME NOT FOUND IN DIRECTORY                    01710021
NOSPACE  EQU   X'0C'     NO SPACE LEFT IN PDS DIRECTORY                 01720021
PERMACC  EQU   X'10'     PERMANENT I/O ERROR WHEN ACCESSING DIRECTORY   01730021
ANSCOV   EQU   X'DB'    MASK TO CLEAR PDS BITS FOR OVLY-SCTR NO TXT     01740021
SYMCDPRS EQU   X'04'    SYM CARDS PRESENT INDICATOR                     01750021
REEN     EQU   X'80'     REENTERANT ATTRIBUTE                           01760021
REUS     EQU   X'40'     REUSABLE ATTRIBUTE                             01770021
REFR     EQU   X'01'         REFRESHABLE BIT                            01780021
OVLY     EQU   X'20'     OVERLAY ATTRIBUTE                              01790021
SCTR     EQU   X'04'     SCATTER ATTRIBUTE                              01800021
RAR      EQU   X'C0'     REENTERANT AND REUSABLE ATTRIBUTE              01810021
XREF     EQU   X'40'     CROSS-REFERENCE TABLE REQUEST BIT              01820021
EOI      EQU   X'20'     END OF INPUT                                   01830021
BOTH     EQU   X'03'                                                    01840021
LR       EQU   X'03'                                                    01850021
SD       EQU   X'00'                                                    01860021
XFOMP    EQU   X'60'    MAP AND XREF INDICATORS                         01870021
DCBCIND2 EQU   X'3D'    OFFSET FOR INDICATORES IN SYSLMOD DCB           01880021
DCBRELAD EQU   X'00'                                                    01890021
OPENFLAG EQU   X'30'     POSITION OF OPEN FLAGS IN DCB                  01900021
OPENBIT  EQU   X'10'     BIT INDICATE OPEN DCB                          01910021
DCBOFLGS EQU   X'30'                   DCB OFFSET               XA05438 01912003
DCBOFLWR EQU   X'80'                   WRITE BIT MASK           XA05438 01914003
TRBALLT  EQU   X'02'     DCB TRACK BAL LENGTH                   OZ01416 01916037
DCBTRBAL EQU   X'12'     DCB TRACK BALANCE                      OZ01416 01918037
ALIASIND EQU   X'80'                                                    01920021
MAXLINEC EQU   55                                                       01930021
RESTORE  EQU   X'8B'                   IMMEDIATE SKIP TO CHANNEL 1      01940021
TNL2     EQU   X'F4'     OFFSET FOR TEXT NOTE LIST 2                    01950021
OFF      EQU   X'00'    CLEAR INDICATORS                                01960021
BMDONE   EQU   X'08'       IND THAT BIT MAP HAS BEEN PROCESSED          01970021
BMOFF    EQU   X'F7'       MASK TO TURN OFF BIT MAP DONE IND            01980021
CNT1     EQU   X'12'    BYTE COUNT IN HALF-MESSAGE 1                    01990021
CNT2     EQU   X'14'    BYTE COUNT IN HALF-MESSAGE 2                    02000021
CNT3     EQU   X'1E'    BYTE COUNT IN HALF-MESSAGE 3                    02010021
CNT4     EQU   X'15'    BYTE COUNT IN HALF-MESSAGE 4                    02020021
CNT5     EQU   X'11'    BYTE COUNT IN HALF-MESSAGE 5             Y01048 02022000
LMSK     EQU   9        LENGTH OF MASK                           Y01048 02024000
LEDT     EQU   10       LENGTH OF EDIT                           Y01048 02026000
DEDT     EQU   22       DISP INTO MESG START EDIT                Y01048 02028000
DCBDDNAM EQU   X'28'    OFFSET IN DCB OF DDNAME                         02030021
DISPSV1  EQU   X'24'          DISPOSITION AND SEVERITY OF MESG 29       02040021
ERMSG1   EQU   29             MESSAGE NUMBER 29                         02050021
DISPSV2  EQU   X'24'          DISPOSITION AND SEVERITY OF MESSAGE 40    02060021
ERMSG2   EQU   40             MSG NUMBER 40                             02070021
DISPSV3  EQU   X'24'          DISPOSITION AND SEVERITY FOR 39           02080021
ERMSG3   EQU   39             MSG NUMBER 39                             02090021
DISPSV4  EQU   X'21'               DISPOSITION AND SEVERITY FOR 42      02100021
ERMSG4   EQU   42                  MESG NUMBER 42                       02110021
DISPSV5  EQU   X'22'                                                    02120021
ERMSG5   EQU   41                                                       02130021
DISPSV6  EQU   X'22'                                                    02140021
ERMSG6   EQU   50                                                       02150021
DISPSV7  EQU   X'23'                    DISPOSITION AND SEVERITY        02160021
ERMSG7   EQU   54                       ERROR MESSAGE NUMBER            02170021
NOSTRGE  EQU   X'18'                   NOT ENOUGH CORE FOR STOW  S21016 02172000
ERMSG71  EQU   X'2447'                 ERROR MSG. FOR STOW COMP. S21016 02174000
*                                      CODE OF X'18' (NO CORE)   S21016 02176000
SETSSI   EQU   X'10'          INDICATION THAT SSI RECEIVED              02180021
FSSI     EQU   X'08'          INDICATOR SSI DONE                        02190021
OSSI     EQU   X'F7'       CLEAR SSI DONE INDICATION                    02200021
SETAPF   EQU   X'80'                   APF DONE INDICATOR        YM2054 02202000
APFOFF   EQU   X'7F'                   CLEAR APF DONE INDICATOR  YM2054 02204000
EPEZ     EQU   X'20'          ENTRY POINT EQ ZERO                       02210021
SUTTR    EQU   X'100'             TR FOR REPOSITIONING SYSUT1           02220021
BTMPF    EQU   X'10F'    OFFSET FOR FINAL PROC ERROR MSGS OF SVER 4     02230021
FNM3940  EQU   X'C0'     BITS FOR MSGS 40 AND 39                        02240021
P2M1     EQU   X'01'          SECOND PASS MSG 1                         02250021
P2M2     EQU   X'02'          SECOND PASS MSG 2                         02260021
P2M1CD   EQU   X'201'         CODE FOR ERDIAG  MSG 1                    02270021
P2M2CD   EQU   X'202'         CODE FOR ERDIAG  MSG 2                    02280021
ATCK     EQU   X'C2'                    MASK FOR SAVED ATTRIBUTES       02290021
BLANK    EQU   C' '          BLANK FOR PRINT                            02300021
EXEC     EQU   X'02'         EXECUTABLE BIT                             02310021
TERM     EQU   X'02'                   TERM SWITCH IN NEWSW             02320021
ERMSG73  EQU   X'0149'                 ERROR MESSAGE 731         A52450 02322000
ERMSG58  EQU   X'013A'                 ERR MSG 58       OX04280,OY03413 02324002
R14      EQU   14                      GEN REG 14       OX04280,OY03413 02326002
R15      EQU   15                      GEN REG 15       OX04280,OY03413 02328002
         USING *+2,BASE                                                 02330021
         BALR  BASE,0                                                   02340021
         USING APTDSECT,APT   ESTABLISH ADDRESSIBILITY FOR APT          02350021
         BC    15,MODID+6              BRANCH AROUND MODULE IDENT       02360021
MODID    DC    C'19MFNL'                                                02370021
         NI    FNLIND,OFF    CLEAR INTERNAL INDICATORS                  02380021
         NI    APFIND,OFF              CLEAR APF INDICATORS      YM2054 02382000
         TM    BITMAP+7,P2M1       IS SECOND PASS MESSAGE 1 ON          02390021
         BC    8,FNL1A             NO-BY PASS                           02400021
         LA    REG0,P2M1CD(REG0)   PUT IN ERROR CODE                    02410021
         L     GOTOR,ERDIG         LOAD ADDRESS OF ERDIG                02420021
         BALR  RETRN2,GOTOR        GOTO ERROR LOG                       02430021
FNL1A    TM    BITMAP+7,P2M2       IS SECOND PASS MSG 2 BIT ON          02440021
         BC    8,FNL2A             NO- BY PASS                          02450021
         LA    REG0,P2M2CD(REG0)   PUT IN ERROR CODE                    02460021
         L     GOTOR,ERDIG         LOAD ADDRESS OF ERDIG                02470021
         BALR  RETRN2,GOTOR        GO TO LOG                            02480021
FNL2A    SR    TEMP1,TEMP1             CLEAR REG                        02490021
         ST    TEMP1,PDSE2         CLEAR TTRC                           02500021
         CH    TEMP1,ENCDC         IS ESD EMPTY                         02510021
         BC    8,FNL101A     YES--GO SEE IF ANY SYMS PRESENT            02520021
         CH    TEMP1,ENTOC         IS THERE ANY TEXT                    02530021
         BC    8,FNL102      NO--GO TO CLEAR IND FOR OVLY-SCTR          02540021
         TM    PDSE7,OVLY          IS THE LOAD MODULE IN OVERLAY        02550021
         BC    1,FNL100            YES-GO TO WRITE NOTE LIST            02560021
         TM    PDSE7,SCTR          IS LOAD MODULE IN SCATTER            02570021
         BC    1,FNL200            YES-GO TO PLACE IN PROPER 'C' BYTE   02580021
         OI    PDSE3,BKNALNV       BLOCK-NO-ALIAS-NO OVERLAY C BYTE     02590021
         BC    15,FNL300           GO TO GET NAME FOR MEMBER            02600021
FNL200   OI    PDSE3,SCNALOV       MODULE IN DCTR SET C BYTE X'4F'      02610021
         BC    15,FNL300           GO TO GET NAME FOR MEMBER            02620021
FNL101A  TM    PDSE8,SYMCDPRS      ARE SYM CARD PRESENT                 02630021
         BZ    FNLCN2B             DON'T STOW                   ZA01401 02640002
FNL102   OI    PDSE3,BKNTTR        NO TTR'S-STOW BECAUSE SOME OUTPUT    02650021
         NI    PDSE7,ANSCOV        CLEAR OVERLAY-SCATTER IS ON          02660021
         BC    15,FNL300     GO TO GET NAME FOR MEMBER                  02670021
FNL100   OI    PDSE3,OVLYCBT       MODULE IN OVERLAY                    02680021
         L     PRTREG,TTRLIST      GET ADR-4 OF NOTE LIST               02690021
         LA    PRTREG,4(PRTREG)    UP BY 4 TO GET RIGHT ADRESS          02700021
         LH    REG9,CSNO           PUT IN NUMBER OF TTRS                02710021
         SLL   REG9,2                   MULTIPLY BY FOUR                02720021
         L     DCBREG,DCBADRS2    LOAD ADR OF SYSLMOD                   02730021
         BAL   RET1,FNLP02A        GO TO WRITE                          02740021
         NOTE  (DCBREG)                                                 02750021
         IC    TTRREG,CSNO+1       INSERT NUMBER OF ENTRIES IN TTR LIST 02760021
         ST    TTRREG,PDSE5        STORE TTR INTO PDS ENTRY 5           02770021
FNL300   L     TEMP3,ADJFCB            LOAD JFCBADDR INTO REG           02780021
         NI    0(TEMP3),X'00'          INIT JFCBADDR HI-ORD BYTE        02790021
         L     DCBREG,DCBADRS2         LOAD ADDRESS OF SYSLMOD          02800021
         L     DEBREG,DEBOFST(DCBREG)  GET DEB ADDRESS                  02810021
         SR    TEMP1,TEMP1              CLEAR           OX04280,OY03413 02820002
         SR    TEMP2,TEMP2              CLEAR                           02822002
         IC    TEMP1,DEBNEXT(DEBREG)    LOAD NUMBER OF EXTENTS          02824002
         IC    TEMP2,DEBESCL(DEBREG)    LOAD SCALING FACTOR             02826002
         SLL   TEMP1,0(TEMP2)           MULTIPLY                        02828002
         LA    DEBXRG,DEBSEXT(TEMP1,DEBREG)  DEBREG NOW CONTAINS ADR    02828402
         TM    APT3,NAMECARD           IS MEM NAME ON NAME CARD         02830021
         BNZ   FNL294                  YES--BRANCH                      02840021
         CLI   DEBNPRES(DEBREG),NONAME MEM NAME IN DEB  OX04280,OY03413 02850002
         BNE   FNL404                  YES--BRANCH                      02860021
         B     FNL101                  NO--GO TO USE TEMPNAME           02870021
FNL294   CLI   DEBNPRES(DEBREG),NONAME MEM NAME IN DEB  OX04280,OY03413 02880002
         BE    FNLMVC                  NO--BRANCH                       02890021
         CLC   0(8,DEBXRG),PDSE1       ARE NAMES SAME?  OX04280,OY03413 02900002
         BE    FNLMVC                  YES--BRANCH                      02910021
         OI    0(TEMP3),X'40'          PDS&DEB MEMNAMES CONFLICT        02920021
FNLMVC   MVC  MESG1+5(8),PDSE1     ---SET UP PRT IMAGE 1                02930021
         MVC  MESG2+5(8),PDSE1     ---SET UP PRT IMAGE 2                02940021
         MVC  MESG3+5(8),PDSE1     ---SET UP PRT IMAGE 3                02950021
         MVC  MESG4+5(8),PDSE1     ---SET UP PRT IMAGE 4                02960021
FNL301   TM    FNLIND,FSSI         HAS SSI BEEN MOVED FOR THIS STOW     02970021
         BC    1,FNL301B           YES--BYPASS                          02980021
         TM    APT2,SETSSI         NO-ARE THERE ANY SSI INDICATORS      02990021
         BC    8,FNL301B           NO--BYPASS                           03000021
         SR    REG1,REG1      CLEAR REG 1                               03010021
         IC    REG1,PDSE3          INSERT 'C' BYTE                      03020021
         LA    REG1,2(0,REG1)          ADD 2 (TWO ADDITIONAL HALF WDS)  03030021
         STC   REG1,PDSE3          UPDATE C  BYTE                       03040021
         LA    REG1,4(0,REG1)     INCREMENT BY 4-MORE FOR PDS NAME      03050021
         LH    NREG,PSDIND             LOAD IN C-BYTE MASK              03060021
         NR    REG1,NREG     CLEAR BYTE COUNT IN C-BYTE                 03070021
         SLL   REG1,1              DOUBLE                               03080021
         AR    REG1,REG2           ADD BEGINNING OF PDS DIRECTORY       03090021
         AH    REG1,EIGHT          BUMP TO START OF PDS ENTRY    YM5552 03092001
         MVC   0(4,REG1),SSI       MOVE 4 BYTES OF SSI                  03100021
         OI    FNLIND,FSSI         SET SSI PROCESSED                    03110021
         OI    PDSE12,SSIPRES          TURN ON PDS BIT           S01904 03115021
FNL301B  OI    PDSE8,EPEZ          SET EDITOR ASGN EP=0 (BIT=1)         03120021
         TM    APT4,PAGEE              PAGING IN EFFECT          S01904 03122021
         BZ    FNL301BB                NO                        S01904 03124021
         OI    PDSE12,PAGEING          YES, TURN ON PDS BIT      S01904 03126021
FNL301BB EQU   *                                                 S01904 03128021
         TM    APFIND,SETAPF           IS APF ALREADY DONE?      YM2054 03128100
         BO    FNL301BD                IF SO, BYPASS             YM2054 03128200
         OI    APFIND,SETAPF           IF NOT, SET THE INDICATOR YM2054 03128300
         SR    REG1,REG1           CLEAR REG1                    Y01048 03128400
         IC    REG1,PDSE3          INSERT 'C' BYTE               Y01048 03128800
         LA    REG1,1(REG1)        ADD 1 HALFWD FOR AUTH CODE    Y01048 03129200
         STC   REG1,PDSE3          UPDATE 'C' BYTE               Y01048 03129600
         LA    REG1,5(REG1)        INCREMENT FOR PDS NAME + 1    Y01048 03129700
         LH    NREG,PSDIND         LOAD IN C-BYTE MASK           Y01048 03129800
         NR    REG1,NREG           CLEAR BYTE CT IN C BYTE       Y01048 03129900
         SLL   REG1,1              DOUBLE                        Y01048 03133200
         TM    APT2,SETSSI         IS SSI PRESENT                Y01048 03133600
         BO    FNL301BC            YES, REG1 IS OK               Y01048 03134000
         TM    PDSE3,ALIASIND      IS ALIAS SPECIFIED            Y01048 03134400
         BO    FNL301BC            YES, REG1 IS OK               Y01048 03134800
         BCTR  REG1,0              NO, DECREMENT REG1 BY 1       Y01048 03134900
FNL301BC EQU   *                   PROCESS APF INFO              Y01048 03135000
         AR    REG1,REG2           ADD TO PDS DIRECTORY START    Y01048 03135200
         AH    REG1,EIGHT          BUMP TO START OF PDS ENTRY    YM5552 03135301
         MVC   0(LAPF,REG1),PDSAPF MOVE APF INFO TO PDS          Y01048 03135600
FNL301BD EQU   *                       BYPASS APF PROCESSING     YM2054 03136000
         NC    PDSE11(3),PDSE11    IS ASGN EP EQU ZERO                  03136700
         BC    8,FNL301A               YES--GO TO STOW                  03140021
         NI    PDSE8,X'DF'         NO SET BIT OFF (=0)                  03150021
FNL301A  LA    SAVEREG,SPACES      LOAD REGISTER SAVE AREA              03160021
         L     DCBREG,DCBADRS2     LOAD ADDRESS OF SYSLMOD              03170021
         TM    APT3,REPLACE        IS MODULE TO BE REPLACED             03180021
         BC    1,FNL500            YES--GO TO STOW(R)                   03190021
         MVC   TTRCSAVE(4),PDSE2   SAVE THE TTRC FIELD FOR SECOND STOW  03200021
FNLSTA   EQU   *                                                OY00359 03200401
         AH    PDSDIREG,EIGHT      BUMP PAST STARTAPT STRING    OY00359 03202001
         STOW  (DCBREG),(PDSDIREG),A STOW WITH ADD              OY00359 03210001
         SH    PDSDIREG,EIGHT          POINT TO START OF APT    OY00359 03212001
FNL700   STC   ERCODE,STOWBYTE     STORE AWAY STOW RETURN CODE          03220021
         TM    PDSE3,ALIASIND      WAS ALIAS SPECIFIED                  03230021
         BC    1,FNL906                                                 03240021
         TM    STOWBYTE,GOODSTOW   WAS THERE ANY INDICATION OF ERROR    03250021
         BC    4,FNL600            BRANCH IF SOME ERROR FOUND           03260021
         TM    APT3,REPLACE        WAS REPLACE SPECIFIED                03270021
         BC    1,FNL800            YES--GO TO PRINT MESSAGE             03280021
         L     PRTREG,PRTWD1       LOAD PRINT REGISTER WITH PRINT WORD  03290021
         LA    RET1,FNL900    GO TO ALIAS CHECK AFTER PRINT             03300021
         BC    15,FNLPRTMG                                              03310021
FNL404   LR    REG9,DEBXRG             POINT TO NAME    OX04280,OY03413 03320002
         L     R15,ADRVLDCK            ADR VLD CHK RTN  OX04280,OY03413 03330002
         BALR  R14,R15                 GO VALIDATE NAME OX04280,OY03413 03332002
         LTR   REG9,REG9               TEST VALID NAME  OX04280,OY03413 03334002
         BZ    FNL404A                 BRANCH IF SO     OX04280,OY03413 03336002
         LA    RETRN2,FNL101           SET RTRN ON ERR  OX04280,OY03413 03338002
         L     GOTOR,ERDIG             PT TO ERR RTN    OX04280,OY03413 03338402
         LA    REG0,ERMSG58            SET ERR PARM     OX04280,OY03413 03338802
         BR    GOTOR                   EXIT TO ERR LOG  OX04280,OY03413 03339202
FNL404A  EQU   *                                        OX04280,OY03413 03339602
         MVC   PDSE1(8),0(DEBXRG)      PUT NAME IN PDS  OX04280,OY03413 03390002
         TM    DEBTYSTO(DEBREG),OLDSTO TEST IF MOD DISP OX04280,OY03413 03410002
         BZ    FNLMVC                  BRANCH IF MOD    OX04280,OY03413 03412002
         OI    APT3,REPLACE        INDICATE REPLACE                     03422002
         B     FNLMVC                  GO PROCESS MBR   OX04280,OY03413 03424002
* THIS MOVES TEMPNAME TO PDS DIRECTORY                                  03430021
FNL101B  MVC   PDSE2(4),TTRCSAVE   RESTORE THE TTRC FIELD FROM 1ST STOW 03440021
FNL101   MVC   PDSE1(8),TEMPNAME   MOVE TEMPNAME TO PDS DIRECTORY       03450021
         OI    FNLIND,TNAME             INDICATE TEMPNAME BEING USED    03460021
         BC    15,FNLMVC                GO TO SET UP MESSAGES           03470021
* STOW WITH REPLACE                                                     03480021
FNL500   EQU   *                                                OY00359 03482001
         AH    PDSDIREG,EIGHT         BUMP PAST STARTAPT STRING OY00359 03484001
         STOW  (DCBREG),(PDSDIREG),R    STOW WITH REPLACE       OY00359 03490001
         SH    PDSDIREG,EIGHT          POINT TO START OF APT    OY00359 03492001
         BC    15,FNL700                CHECK STOW                      03500021
* STOW ERROR--PRINT MESSAGE FOR TYPE ERROR                              03510021
FNL600   CLI   STOWBYTE,NOSPACE         WAS ERROR NO SPACE IN DIRECTORY 03520021
         BC    8,FNL601                 YES--GO PRT ERROR               03530021
         CLI   STOWBYTE,PERMACC         WAS ERROR PERMANENT DISK ERROR  03540021
         BC    8,FNL602                 YES--GO PRT ERROR               03550021
         CLI   STOWBYTE,NOTIN           WAS ERROR NAME NOT IN DIRECTORY 03560021
         BC    8,FNL603                 YES--GO FOR PRT AND RETRY       03570021
         CLI   STOWBYTE,NOSTRGE        WAS ERR. NOT ENOUGH CORE? S21016 03573000
         BE    FNL606                  YES, GO TO PRINT MSG.     S21016 03576000
         LA    RETRN2,FNL906B     LOAD RETURN ADR TO CHECK MORE ALIASES 03580021
         TM    PDSE3,ALIASIND      WERE ALIASES BEING PROCESSED         03590021
         BC    1,FNL604           YES--GO TO ERROR PRINT                03600021
         TM    FNLIND,TNAME             HAS TEMPNAME BEEN USED          03610021
         BC    1,FNL605                 YES--GO TO PRINT MESSAGE        03620021
         LA    RETRN2,FNL101B      RETRY STOW-RESTORE TTRC FIELD -      03630021
         LH    REG0,ERCODE4        PUT ERROR CODE IN REG0               03640021
         BC    15,FNL6011          GO TO LOG                            03650021
FNL601   LH    REG0,ERCODE2            PUT IN ERR CODE NO SPACE LEFT    03660021
         OI    FNLIND,FNM3940     INDICATE TYPE 4 SEVERITY              03670021
         TM    PDSE3,ALIASIND      WAS ALIAS SPECIFIED                  03680021
         BC    8,FNL6011                                                03690021
         NI    FNLIND,X'3F'       CLEAR IND FOR TYPE 4 SEVERITY         03700021
         LH    REG0,ERCODE5        ALIAS-NO SPACE LEFT                  03710021
         LA    RETRN2,FNLCN     CONTINUE BUT NO MORE STOW OF ALIAS      03720003
FNL6011  LR    TTRREG,APT          PUT ADDRESS OF SYMBOL IN REG 1       03730021
         AH    TTRREG,EIGHT        BUMP TO START OF PDS ENTRY    YM5552 03732001
         L     GOTOR,ERDIG         LOAD ERROR DIAGNOSTIC ADDRESS        03740021
         BCR   15,GOTOR       GO TO ERROR DIAGNOSTIC                    03750021
FNL602   LH    REG0,ERCODE3            PERMANENT DISK ERROR             03760021
         OI    FNLIND,FNM3940     INDICATE TYPE 4 SEVERITY              03770021
         TM    PDSE3,ALIASIND      WAS ALIAS SPECIFIED                  03780021
         BC    8,FNL6011                                                03790021
         NI    FNLIND,X'3F'       CLEAR IND FOR TYPE 4 SEVERITY         03800021
         LH    REG0,ERCODE6        ALIAS-PERMANENT DISK ERROR           03810021
         LA    RETRN2,FNLCN       CONTINUE BUT NO MORE STOW OF ALIAL    03820021
         BC    15,FNL6011                                               03830021
* NAME ADDED BY STOW--DID NOT EXIST                                     03840021
FNL603   L     PRTREG,PRTWD3       LOAD MESSAGE CNTL WD                 03850021
         LA    RET1,FNL900   LOAD ADDRESS OF ALIAS SCAN                 03860021
         TM    PDSE3,ALIASIND      WAS ALIAS SPECIFIED                  03870021
         BC    8,FNLPRTMG                                               03880021
         LA    RET1,FNL906B                                             03890021
         BC    15,FNLPRTMG         GO TO PRINT MESSAGE                  03900021
FNL605   BAL   RETRN2,NOSTOW           GO TO RESET SYSLMOD PTR          03910021
         LA    RETRN2,FNLCN2B      TEMPNAME FAILED, NO STOW     ZA01401 03920002
         NI    FNLIND,X'00'        CLEAR INDICATOR                      03930021
FNL604   LH    REG0,ERCODE7     LOAD ERROR CODE IN REGISTER 0           03940021
         BC    15,FNL6011          GO TO PRT MESSAGE                    03950021
FNL606   LH    REG0,ERCODE71           PUT IN ERROR CODE FOR     S21016 03952000
*                                      NOT ENOUGH CORE FOR STOW  S21016 03954000
         OI    FNLIND,FNM3940          INDICATE SEVERITY 4 ERROR S21016 03956000
         B     FNL6011                 GO TO LOG AND TERMINATE   S21016 03958000
FNL800   L     PRTREG,PRTWD2  LOAD CNTL WD FOR REPLACE MESSAGE          03960021
         LA    RET1,FNL900    PUT RETURN AT ALIAS CHECK                 03970021
         BC    15,FNLPRTMG    GO TO PRINT                               03980021
* THIS ROUTINE CHECKS AND STOWS ALIASES                                 03990021
FNL900   LH    TEMP1,ENASC         LOAD CURR NUMBER OF ALIAS ENTS       04000021
         LTR   TEMP1,TEMP1         CHECK TO SEE IF ANY PRESENT          04010021
         BC    8,FNLCN             NONE--GO TO CONTINUE                 04020021
         MVC   MEMBER(8),PDSE1         SAVE MEMBER NAME          A52450 04022000
         OI    PDSE3,X'80'                                              04030021
         MVC   IOCT(3),PDSE11      STORE MAIN ENTRY POINT               04040021
         MVC   IOCT+3(2),PDSE16    SAVE MAIN MEMBER ID                  04050021
         NI    FNLIND,OSSI   CLEAR SSI PROCESSED IND                    04080021
         NI    APFIND,APFOFF           CLEAR APF DONE INDICATOR  YM2054 04082000
         NI    PDSE3,X'00'         CLEAR C BYTE                         04090021
         TM    PDSE7,SCTR          IS MODULE SCATTER                    04100021
         BC    1,FNL900B           YES--GO TO INSERT C BYTE             04110021
         MVC   PDSE13(3),PDSE11    SAVE MAIN MEMBER EP                  04120021
         MVC   PDSE14+1(8),PDSE1   SAVE MAIN MEMBER NAME                04130021
         TM    PDSE7,OVLY          IS MODULE OVERLAY                    04140021
         BC    1,FNL900C           YES--GO TO INSERT C BYTE             04150021
         OI    PDSE3,BKALNV        SET C BYTE EQU X'31'                 04160021
         BC    15,FNL900A          GO TO MOVE NAME,EP                   04170021
FNL900B  OI    PDSE3,SCALOV        SET C BYTE EQU TO X'34'              04180021
         MVC   PDSE17(3),PDSE11    MOVE EP TO ALAIS AREA                04190021
         MVC   PDSE18(8),PDSE1     MOVE MAIN NAME TO ALAIS AREA         04200021
         BC    15,FNL900A          GO TO MOVE NAME,EP                   04210021
FNL900C  OI    PDSE3,BKALOV        SET C BYTE EQU X'51'                 04220021
*    SCAN FOR ALIAS NAME IN ALIAS TABLE                                 04230021
FNL900A  L     TEMP2,ALAS          GET ALIAS TABLE ADDRESS              04240021
FNL902A  MVC   PDSE1(8),0(TEMP2)   MOVE MEMBER TO PDSE1                 04250021
         CLC   MEMBER(8),PDSE1         ALIAS AND MEMBER SAME     A52450 04252000
         BNE   CONTINUE                NO                        A52450 04254000
         LA    R0,ERMSG73              ERROR MSG 731             A52450 04256000
         L     GOTOR,ERDIG             ADDR OF LOG               A52450 04258000
         ST    PASSREG,SAVE14          SAVE REG 14               A52450 04258400
         BALR  PASSREG,GOTOR           GO TO PRINT ERROR MSG     A52450 04258800
         L     PASSREG,SAVE14          RESTORE REG 14            A52450 04259200
         B     FNL906B                 CHECK FOR MORE ALIASES    A52450 04259600
CONTINUE EQU   *                                                 A52450 04259700
         SR    TEMP3,TEMP3                                              04260021
         LH    TEMP3,8(TEMP2)      GET ID POINTER                       04270021
         LTR   TEMP3,TEMP3    ID EQU ZERO                               04280021
         BC    8,FNL904       YES--GO TO PUT EP FROM MEMBER SAVED       04290021
         L     TEMP4,HESD          GET HALF ESD ADDRESS                 04300021
         SLL   TEMP3,3           MULTIPLY BY 8 THE ID                   04310021
         AR    TEMP4,TEMP3       ADD OFFSET TO START ADDRESS            04320021
         TM    PDSE7,SCTR          IS IT IN SCATTER                     04330021
         BC    8,FNL907                NO--BYPASS MOVE OF ID            04340021
         MVC   PDSE16(2),6(TEMP4)  PUT ID IN SCATTER AREA               04350021
FNL907   MVC   PDSE11(3),1(TEMP4)  YES MOVE ADDRESS FOR EP              04360021
         BC    15,FNL301           GO TO STOW ALIAS                     04370021
* NOT SD OR LR -- MUST PUT EP OF MEMBER NAME                            04380021
FNL904   MVC   PDSE11(3),IOCT      RE-USE SAVE MAIN EP                  04390021
         TM    PDSE7,SCTR          WAS SCATTER SPECIFIED                04400021
         BC    8,FNL301           NO--GO TO STOW ALIAS MEMBER           04410021
         MVC   PDSE16(2),IOCT+3    RE-USE SAVED ID                      04420021
         BC    15,FNL301           GO STOW ALAIS                        04430021
*  THIS  IS RETURN FROM  STOW OF ALIAS                                  04440021
FNL906   CLI   STOWBYTE,NOTIN  WAS NAME NOT IN DIRECTORY                04450021
         BC    8,FNL906A       YES--STOW ADDED IT-OK                    04460021
         TM    STOWBYTE,GOODSTOW  WAS STOW OK                           04470021
         BC    4,FNL600           NO--SOME ERROR--GO CHECK TYPE         04480021
FNL906A  MVC   MESG4+5(8),PDSE1    MOVE ALIAS NAME TO PRINT MESSAGE     04490021
         L     PRTREG,PRTWD4       LOAD CNTL WORD                       04500021
         BAL   RET1,FNLPRTMG       RETURN TO CHECK MORE ALIASES AFTER   04510021
FNL906B  LA    TEMP2,10(TEMP2)     INCREMENT COUNT                      04520021
         BCT   TEMP1,FNL902A       RETURN TO PROCESS NEXT ENTRY         04530021
         BC    15,FNLCN            GO TO CONTINUE                       04540021
* STOW FINISHED--CONTINUE                                               04550021
* ROUTINE TO PRINT MESSAGES                                             04560021
FNLPRTMG LR    REG9,PRTREG        LOAD REG 9                            04570021
         SRL   REG9,24       SHIFT OUT ADDRESS                          04580021
         SLL   REG9,1        DOUBLE FOR BYTE COUNT                      04590021
FNLPRTAT L     GOTOR,PRNTAD            ADDRESS OF PRINT ROUTINE         04600021
         LH    REG1,LINECNT        LOAD LINE COUNT                      04610021
         BCT   REG1,FNLP02B  REDUCE COUNT BY ONE                        04620021
         L     DCBREG,HEWLCWBB+20      ADDRESS OF PRINT BUFFER          04630021
         MVI   0(DCBREG),RESTORE       RESTORE PAGE                     04640021
         BALR  RETRN2,GOTOR            TO PRINT ROUTINE                 04650021
         LA    REG1,MAXLINEC           INITIALIZE LINECNT TO MAX        04660021
FNLP02B  STH   REG1,LINECNT        STORE BACK LINE COUNT                04670021
         L     DCBREG,HEWLCWBB+20  ADDRESS OF PRINT BUFFER              04680021
         BCTR  REG9,0                  DECREMENT COUNT BY 1             04690021
         EX    REG9,MOVE               MOVE MESSAGE TO PRINT BUFFER     04700021
         BALR  RETRN2,GOTOR                                             04710021
         BCR   15,RET1                                                  04720021
MOVE     MVC   0(1,DCBREG),0(PRTREG)   EXECUTED MOVE                    04730021
FNLP02A  LA    SAVEREG,SPACES     LOAD REG WITH SAVE AREA               04740021
         WRITE  PRTDECB,SF,(DCBREG),(PRTREG),(REG9)                     04750021
         CHECK  PRTDECB                                                 04760021
         BCR   15,RET1        RETURN                                    04770021
NOSTOW   EQU   *                                                        04780021
* * * THIS ROUTINE RESETS SYSLMOD POINTER IF NO STOW DONE               04790021
         STM   RETRN2,REG1,SAVE4       SAVE REGS 14 - 1                 04800021
         L     DCBREG,DCBADRS2         LOAD ADDR OF SYSLMOD             04810021
         L     R0,DCBRELAD(DCBREG)     PICK UP TTR FOR SYSLMOD          04820021
         IC    R0,=X'00'               ZERO OUT LAST BYTE OF TTR        04830021
         ST    R0,LASTTR               STORE TTR FOR POINT              04840021
         LA    R0,LASTTR               PICK UP ADDR OF TTR              04850021
         POINT (DCBREG),(R0)           PNT SYSLMOD TO CORRECT TTR       04860021
         OI    DCBOFLGS(DCBREG),DCBOFLWR FORCE WRITE BIT ON     XA05438 04862003
         XC    DCBTRBAL(TRBALLT,DCBREG),DCBTRBAL(DCBREG)        OZ01416 04864037
*              THIS ZEROS TRACK BALANCE.                        OZ01416 04866037
         LM    RETRN2,REG1,SAVE4       RESTORE REGS 14 - 1              04870021
         BR    RETRN2                  RETURN                           04880021
*****THIS ROUTINE WILL PRINT OUT THE CHANGED ATTRIBUTES IF ANY          04890021
FNLCN    STM   MSGADD,RETADD,SPACES+8                                   04900021
         SR    PRTREG,PRTREG       USE AS TEMP WORK REG          Y01048 04902003
         IC    PRTREG,PDSAPFAC     GET AUTH CODE                 Y01048 04904000
         CVD   PRTREG,APFWORK      CONVERT TO PACKED FORMAT      Y01048 04906000
         MVC   MESG5A(LMSK),MASK   MOVE MASK TO OUTPUT THEN EDIT Y01048 04908000
         ED    MESG5+DEDT(LEDT),APFWORK+3                        Y01048 04908400
         L     PRTREG,PRTWD5       POINT TO MESSAGE              Y01048 04908800
         BAL   RET1,FNLPRTMG       GO PRINT MESSAGE              Y01048 04909200
         LA    RETADD,ENDMSG                                            04910021
         TM    PDSE7,EXEC    IS MODULE EXECUTABLE                       04920021
         BC    1,TSTRENT     YES                                        04930021
*  GENERATE NOT EXECUTABLE MESSAGE                                      04940021
         LA    MSGADD,NEXEC                                             04950021
         LA    MSGLNG,16     LENGTH                                     04960021
         BC    15,STRTMSG    GENERATE HEADER MEESAGE                    04970021
SETMSG   TM    PRTSW,X'01'   WAS HEADER MESSAGE GENERATESD              04980021
         BC    1,MSG1        YES                                        04990021
*   GENERATE HEADER MESSAGE  YES                                        05000021
STRTMSG  OI    PRTSW,X'01'                                              05010021
         L     PRTREG,HESD                                              05020021
         MVC   0(25,PRTREG),MODATTR    MOVE HEADR TO OUTPUT AREA        05030021
         LA    PRTREG,24(PRTREG)                                        05040021
         LA    TOTLNG,25                                                05050021
         BC    15,MSG2                                                  05060021
MSG1     OI    PRTSW,X'03'        AND SWITCH ON                         05070021
MSG2     MVC   1(17,PRTREG),0(MSGADD)                                   05080021
         AR    TOTLNG,MSGLNG ADD MESSAGE LENGTH TOTOTAL                 05090021
         AR    PRTREG,MSGLNG                                            05100021
         BCR   15,RETADD     TEST NEXT OPTION                           05110021
TSTRENT  TM    SAVATS,REEN   TEST FOR REENTERABLE OPTION                05120021
         BC    8,TSTREUS     NO REENTERABLE OPTION SPECIFIED            05130021
         LA    RETADD,TSTREUS                                           05140021
         TM    PDSE7,REEN    WAS REENTERABLE TURNED ON IN DIRECTORY     05150021
         BC    1,RENT1       REENTERABLE                                05160021
*   NOT REENTERABLE MESSAGE                                             05170021
         LA    MSGADD,NRENT                                             05180021
         LA    MSGLNG,17                                                05190021
         BC    15,SETMSG     MOVE MESSAGE FOR OUTPUT                    05200021
RENT1    LA    MSGADD,NRENT+4                                           05210021
         LA    MSGLNG,13                                                05220021
         BC    15,SETMSG                                                05230021
*   REUSABLE TEST                                                       05240021
TSTREUS  TM    SAVATS,REUS   WAS REUSABLE OPTION SPECIFIED              05250021
         BC    8,TSTREFR     NO                                         05260021
         LA    RETADD,TSTREFR                                           05270021
         TM    PDSE7,REUS    WAS MODULE MARKED REUSABLE                 05280021
         BC    1,REUS1       YES                                        05290021
*  MARK NOT REUSABLE                                                    05300021
         LA    MSGADD,NREUS                                             05310021
         LA    MSGLNG,14                                                05320021
         BC    15,SETMSG                                                05330021
*        REUSALBE MESSAGE                                               05340021
REUS1    LA    MSGADD,NREUS+4                                           05350021
         LA    MSGLNG,10                                                05360021
         BC    15,SETMSG                                                05370021
TSTREFR  TM    SAVATS+1,REFR WAS REFRESHABLE MESSAGE SPECIFIED          05380021
         BC    8,ENDMSG      NO                                         05390021
         LA    RETADD,ENDMSG                                            05400021
         TM    PDSE8,REFR    IS MODULE REFRESHABLE                      05410021
         BC    1,REFR1       YES                                        05420021
         LA    MSGADD,NREFR  NOT REFRESHABLE MESSAGE                    05430021
         LA    MSGLNG,17                                                05440021
         BC    15,SETMSG                                                05450021
REFR1    LA    MSGADD,NREFR+4                                           05460021
         LA    MSGLNG,13                                                05470021
         BC    15,SETMSG                                                05480021
*        END OF MESSAGE                                                 05490021
ENDMSG   TM    PRTSW,X'01'                                              05500021
         BC    8,FNLCN2                                                 05510021
         MVI   0(PRTREG),C'.'          PLACE PERIOD AT END OF MESSAGE   05520021
         TM    PRTSW,X'02'             TEST FOR AND NEEDED.             05530021
         BC    8,NOAND                 NO                               05540021
         LA    RETADD,4(PRTREG)                                         05550021
         SR    PRTREG,MSGLNG                                            05560021
         MVC   5(17,PRTREG),0(MSGADD)                                   05570021
         MVC   2(3,PRTREG),NAND                                         05580021
         MVI   0(RETADD),C'.'                                           05590021
         LA    TOTLNG,4(TOTLNG)                                         05600021
NOAND    L     PRTREG,HESD                                              05610021
FNLA05B  BAL   RET1,FNLPRTAT           GO TO PRINT                      05620021
         NI    PRTSW,X'00'         CLEAR PRINT SWITCH                   05630021
FNLCN2   LM    MSGADD,RETADD,SPACES+8                                   05640021
FNLCN2B  LA    SAVEREG,REGSA      PUT IN ADR. OF REG SAVE AREA  ZA01401 05650002
         L     DCBREG,DCBADRS2     LOAD ADDRESS OF SYSLMOD              05660021
         TM    DCBCIND2(DCBREG),X'80'     HAS STOW BEEN ISSUED          05670021
         BC    8,FNLCN3                NO--GO TO BIT MAP PROCESSOR      05680021
         TM    APT0,XREF               IS XREF SPECIFIED                05690021
         BC    8,FNLCN3                NO--GO TO BIT MAP PROCESSOR      05700021
         TM    NEWSW,X'20'             YES--ARE RLD'S IN CORE           05710021
         BC    8,FNLCN3                YES--XREF ALREADY DONE           05720021
         L     TEMP3,ADJFCB            LOAD JFCBADDR INTO REG           05730021
         TM    0(TEMP3),X'40'          PDS&DEB MEMNAMES CONFLCT?        05740021
         BZ    FNLCN2A                 NO--BRANCH                       05750021
         OI    0(TEMP3),X'80'          INDICATE SYSLMOD OPEN J          05760021
* WILL BE REQUIRED IN HEWLFMAP BECAUSE RLD'S FOR XREF ARE ON            05770021
* SYSLMOD (NOT IN CORE) AND MEMBER NAME IN PDS DIRECTORY                05780021
* CONFLICTS WITH MEMBER NAME IN DEB.                                    05790021
FNLCN2A  L     GOTOR,LCMAPADR          LOAD ADDR OF XREF/MAP SUB        05800021
         BALR  RETRN2,GOTOR       GO TO HEWLCMAP                        05810021
FNLCN3   L     GOTOR,BTMPDIAG          ADDRESS OF BIT MAP PROCESSOR     05820021
         OI    APTSWS,BMDONE           INDICATE BIT MAP DONE            05830021
         BALR  RETRN2,GOTOR                                             05840021
HEWLCEOI TM    APT3,EOI            IS END OF INPUT INDICATED            05850021
         BC    1,FNL150                                                 05860021
         LA    R0,FNTTR           LOAD ADR OF TTR                       05870021
         L     R1,DCBADRS3        LOAD ADR OF SYSUT1 IN REG 1           05880021
         TM    OPENFLAG(R1),OPENBIT    IS SYSUT1 OPEN                   05890021
         BC    8,NOPOINT               NO--DON'T REPOSITION SYSUT1      05900021
         POINT (1),(0)   REPOSITION SYSUT1 TO REUSE SPACE               05910021
NOPOINT  NI    APTSWS,BMOFF            CLEAR BIT MAP DONE IND           05920021
         L     15,INT14AD                                               05930021
         BCR   15,15                                                    05940021
FNL150   LA    15,HEWLCFAB                                              05950021
         BCR   15,15                                                    05960021
         DROP  12                                                       05970021
         USING HEWLCFAB,12                                              05980021
HEWLCFAB LR    BASE,GOTOR                                               05990021
         LA    SAVEREG,REGSA       LOAD REGISTER SAVE AREA ADR          06000021
         TM    APTSWS,BMDONE       IS THE BIT MAP DONE IND ON           06010021
         BC    1,FNALAB1                                                06020021
         TM    NEWSW,X'08'             IS ABORT NO PRINT SW ON          06030021
         BC    1,FNALAB3               YES--DON'T PRINT ANYTHING        06040021
         L     GOTOR,BTMPDIAG    LOSD ADR OF BIT MAP PROCESSOR          06050021
         BALR  RETRN2,GOTOR                                             06060021
FNALAB1  NI    APTSWS,BMOFF        CLEAR BIT MAP DONE IND               06120021
         OI    HEWLCWBB+24,X'02'   SET FLUSH BIT                        06130021
         L     15,PRNTAD                                                06140021
         BALR  14,15                                                    06150021
FNALAB3  L     REG0,FFCADR             ADDRESS OF HIGHEST CORE GOTTEN   06160021
         L     REG1,HEWLCRBB+4         ADDRESS OF SYSLIB BUFFER         06170021
         C     REG1,HEWLCRBB+8         COMPARE TO OTHER SYSLIB BUFFER   06180021
         BC    4,FNALAB2               TAKE THE LOWER ADDRESS           06190021
         L     REG1,HEWLCRBB+8                                          06200021
FNALAB2  SR    REG0,REG1               NUMBER OF BYTES TO FREE          06210021
         FREEMAIN  R,LV=(0),A=(1)                                       06220021
         LA    SAVEREG,REGSA                                            06230021
         L     SYSLMOD,DCBADRS2                                         06240021
         OI    DCBCIND2(SYSLMOD),MODSTO INDICATE                        06250021
         LA    1,DCBADRS1         LOAD ADDR. OF DCB ADDRESSES           06260021
         TM    NEWSW,TERM         IN TSO MODE?                          06270021
         BZ    TSO1               NO - BRANCH                           06280021
         LA    1,DCBADRS0         CLOSE TERM DATA SET                   06290021
TSO1     CLOSE MF=(E,(1))                                               06300021
         TM    APTSW2,SHRSYSMD         TEST IF SYSLMOD RESERVED  A49330 06302000
         BNO   OTHRDEQ                 BRANCH IF NOT             A49330 06302400
         DEQ   (ENQNAME,MINOR,44,SYSTEMS) DEQ RESERVED SYSLMOD   A49330 06302800
         B     SKIPDEQ2                PROCEED                   A49330 06302900
OTHRDEQ  EQU   *                       RESERVE DEQ BYPASS        A49330 06306700
         TM    APTSW2,ENQBIT           DISP=OLD ON SYSLMOD?      A37663 06311000
         BO    SKIPDEQ2                YES - DON'T DEQUEUE       A37663 06314800
         DEQ   (ENQNAME,MINOR,44,SYSTEM)                                06318600
SKIPDEQ2 EQU   *                                                 A37663 06322400
         SR    GOTOR,GOTOR              CLEAR                           06326200
         IC    GOTOR,HISEV+1       PUT IN SEVERITY                      06330021
         SLL   GOTOR,2                  MULTIPLY BY FOUR                06340021
         LM    SAVEREG,RETRN2,SYSRTN                                    06350021
         LM    REG0,BASE,20(SAVEREG)  RESTORE REGISTERS                 06360021
         BCR   15,14                                                    06370021
         DROP  BASE                                                     06380021
         USING HEWLCFNI,BASE                                            06390021
HEWLCFNI LR    BASE,GOTOR         SET UP ADDRESSABILITY                 06400021
         L     BASE,FNLFAB        SET UP ADDRESSABILITY                 06410021
         USING HEWLCFAB,BASE                                            06420021
         L     GOTOR,BTMPDIAG          GET ADDR OF DIAGNOSE RTN  A51444 06422000
         BALR  RETRN2,GOTOR            GO TO PRINT MESSAGES      A51444 06424000
         B     FNALAB1                                                  06430021
         DROP  12                                                       06440021
         USING HEWLCSNX,BASE                                            06450021
HEWLCSNX LR    BASE,GOTOR               SET UP ADDRESSABILITY           06460021
         L     SYSLMOD,DCBADRS2   GET ADR OF SYSLMOD                    06470021
         TM    OPENFLAG(SYSLMOD),OPENBIT IS OPEN BIT ON                 06480021
         BC    8,EXCLOSE          NO--GO RIGHT TO CLOSE FILE IN ERROR   06490021
         OI    DCBCIND2(SYSLMOD),MODSTO  INDICATE STOW DONE             06500021
EXCLOSE  L     GOTOR,FNLFAB                                             06510021
         BR    GOTOR                   GO TO CHECK BIT MAP AND FREE     06520021
STOWBYTE DC    X'00'                                                    06530021
FNLIND   DC    X'00'                                                    06540021
APFIND   DC    X'00'                   APF SUPPORT INDICATORS    YM2054 06542000
*        BIT   0             0=APF NOT YET PROCESSED FOR PDS ENTRY      06544000
*                            1=APF CODE ALREADY PLACED IN PDS ENTRY     06546000
*        BITS  1-7           RESERVED                                   06548000
*                                                                YM2054 06548400
         DS    0F                                                       06550021
PSDIND   DC    X'001F'                 MASK FOR C-BYTE                  06560021
INT14AD  DC    V(HEWLENAM)        RETURN ADR TO INITILIZER              06570021
LCMAPADR DC    V(HEWLFMAP)    ADCON FOR MAP AND XREF ROUTINE            06580021
PRNTAD   DC    V(HEWLEPNT)             ADDRESS OF PRINT ROUTINE         06590021
ADRVLDCK DC    V(HEWVLDCK)             ADR VLD CK RTN   OX04280,OY03413 06592002
FNLFAB   DC    A(HEWLCFAB)                                              06600021
         DS    0F                                                       06610021
FNTTR    DC    X'00000100'                                              06620021
MESG1    DC    X'09'                   SINGLE SPACE CC                  06630021
         DC    C'****          NOW ADDED TO DATA'                       06640021
         DC    C' SET'                                                  06650021
MESG2    DC    X'09'                   SINGLE SPACE CC                  06660021
         DC    C'****          NOW REPLACED IN D'                       06670021
         DC    C'ATA SET '                                              06680021
MESG3    DC    X'09'                   SINGLE SPACE CC                  06690021
         DC    C'****          DOES NOT EXIST BU'                       06700021
         DC    C'T HAS BEEN ADDED TO DATA SET'                          06710021
MESG4    DC    X'09'                   SINGLE SPACE CC                  06720021
         DC    C'****          IS AN ALIAS FOR T'                       06730021
         DC    C'HIS MEMBER'                                            06740021
MESG5    DC    X'09'               SINGLE SPACE CC               Y01048 06742000
         DC    C'AUTHORIZATION CODE IS '                         Y01048 06744000
MESG5A   DS    CL9                 ACTUAL CODE GOES HERE         Y01048 06746000
         DC    C'. '               END OF MESSAGE                Y01048 06748000
         DS    0F                                                       06750021
BTMPDIAG DC    A(HEWLFBTP)                                              06760021
PRTWD1   DC    AL1(CNT1)                                                06770021
         DC    AL3(MESG1)          ADDRESS OF  MESSAGE  1               06780021
PRTWD2   DC    AL1(CNT2)                                                06790021
         DC    AL3(MESG2)          ADDRESS OF  MESSAGE  2               06800021
PRTWD3   DC    AL1(CNT3)                                                06810021
         DC    AL3(MESG3)          ADDRESS OF  MESSAGE  3               06820021
PRTWD4   DC    AL1(CNT4)                                                06830021
         DC    AL3(MESG4)          ADDRESS OF MESSAGE  4                06840021
PRTWD5   DC    AL1(CNT5)           LENGTH OF MESSAGE             Y01048 06842000
         DC    AL3(MESG5)          ADDRESS OF MESSAGE            Y01048 06844000
DCBADRS0 DC    A(HEWLTMDB)    ADDRESS OF SYSTEM DCB              S20007 06850021
DCBADRS1 DC    A(HEWLCSDB)    ADDRESS OF SYSLIN                         06860021
DCBADRS2 DC    A(HEWLCMDB)    ADDRESS OF SYSLMOD                        06870021
DCBADRS3 DC    A(HEWLCUDB)    ADDRESS OF SYSUT1                         06880021
DCBADRS4 DC    A(HEWLCPDB)    ADDRESS OF SYSPRINT                       06890021
DCBADRS5 DC    X'80'          END OF LIST FLAG                          06900021
         DC    AL3(HEWLFLDB)  ADDRESS OF SYSLIB                         06910021
ERCODE1  DC    AL1(DISPSV1)       DISPOSITION AND SEVERITY              06920021
         DC    AL1(ERMSG1)    MESG NUMBER                               06930021
ERCODE2  DC    AL1(DISPSV2)                                             06940021
         DC    AL1(ERMSG2)                                              06950021
ERCODE3  DC    AL1(DISPSV3)                                             06960021
         DC    AL1(ERMSG3)                                              06970021
ERCODE4  DC    AL1(DISPSV4)        DISPOSITION AND SEVERITY             06980021
         DC    AL1(ERMSG4)         MESSAGE NUMBER                       06990021
ERCODE5  DC    AL1(DISPSV5)                                             07000021
         DC    AL1(ERMSG5)                                              07010021
ERCODE6  DC    AL1(DISPSV6)                                             07020021
         DC    AL1(ERMSG6)                                              07030021
ERCODE7  DC    AL1(DISPSV7)             DISPOSITION AND SEVERITY        07040021
         DC    AL1(ERMSG7)              ERROR MESSAGE NUMBER            07050021
ERCODE71 DC    AL2(ERMSG71)            DISP.,SEV.&NO. FOR MSG.71 S21016 07055000
TEMPNAME DC    CL8'TEMPNAME'                                            07060021
MASK     DC    X'202020202020202120'   EDIT MASK                 Y01048 07062000
APFWORK  DS    D                   DOUB WORD WORK AREA           Y01048 07064000
TTRCSAVE DC    1F'0'  SAVE AREA FOR THE TTRC FIELD WHEN STOWING         07070021
* WITH ADD(PDSE2,3) RESTORED FOR SECOND ATTEMPT WITH TEMPNAME           07080021
LASTTR   DS    F                       FOR TTR FOR SYSLMOD              07090021
SAVE4    DS    4F                      TO SAVE REGS DURING POINT        07100021
MODATTR  DC    X'09'                   SINGLE SPACE CC                  07110021
         DC    C'**MODULE HAS BEEN MARKED'                              07120021
NEXEC    DC    C' NOT EXECUTABLE,'                                      07130021
NRENT    DC    C' NOT REENTERABLE,'                                     07140021
NREUS    DC    C' NOT REUSABLE,'                                        07150021
NREFR    DC    C' NOT REFRESHABLE,'                                     07160021
NAND     DC    C'AND'                                                   07170021
PRTSW    DC    X'00'                                                    07180021
*        BIT 0-5  SPARE                                                 07190021
*        BIT 6 X'03'  AND KEYWORD NEEDED.                               07200021
*        BIT 7 X'01'  HEADER MESSAGE CONSTRUCTED, OUTPUT NEEDED.        07210021
LAPF     EQU   2                   LENGTH OF APF INFO            Y01048 07212000
ADJFCB   DC    A(JFCBADDR)             ADDRESS OF SYSLMOD JFCB          07220021
         DS    0F                                                A52450 07222000
MEMBER   DC    CL8' '                  MEMBER NAME STOWED        A52450 07224000
SAVE14   DC    F'0'                    REG 14 SAVE AREA          A52450 07226000
EIGHT    DC    H'8'                    CONSTANT 8 TO USE FOR    OY00359 07228001
*                                      BUMPING PAST AND BACK    OY00359 07228401
*                                      TO 'STARTAPT' STRING     OY00359 07228801
*                                      FOR STOW PARM POSITIONINGOY00359 07229201
         HEWAPT                                                         07230021
         END                                                            07240021
