DataMuseum.dk

Presents historical artifacts from the history of:

IBM System/3

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about IBM System/3

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦75b9bd1c8⟧ s3xseg

    Length: 23114 (0x5a4a)
    Types: s3xseg
    Names: »S$E032«

Derivation

└─⟦827b5bd03⟧ Bits:30009184 5702-sc1.V16.ccp
    └─⟦f17e99db6⟧ 
        └─⟦this⟧ »S$E032« 

TextSegment

       MACRO                                                            00010000                
       $E032                                                            00020000                
       GBLB  &DPF,&BSCA,&NSWL                                           00030000                
       GBLB  &MIN,&MOD4                                                 00040000                
       LCLC  &#                                                         00050000                
       TEXT                                                             00060000                
&#     SETC  ' '                                                        00070000                
*                                      BEGIN MACRO '$E032' 3/15/73      00080000                
       TITLE 'RESIDENT&#.STARTUP&#.INITIALIZATION&#.ROUTINE'            00090000                
*---------------------------------------------------------------------* 00100000                
*                                                                     * 00110000                
* TITLE -- RESIDENT STARTUP INITIALIZATION ROUTINE                    * 00120000                
*                                                                     * 00130000                
* NAME -- $E032                                                       * 00140000                
*                                                                     * 00150000                
* FUNCTION --                                                         * 00160000                
*                                                                     * 00170000                
*    . TO FINISH THE STARTUP INITIALIZATION OF CCP                    * 00180000                
*    . TO EXIT THE CCP STARTUP PHASE AND ACTIVATE THE EXECUTION PHASE * 00190000                
*                                                                     * 00200000                
* OPERATION --                                                        * 00210000                
*                                                                     * 00220000                
       AIF   (&DPF EQ '0').NDPFP       SKIP IF NO DPF GENERATION        00230000                
*    . COMMUNICATE TO THE NON-RESIDENT CCP STARTUP CODE THE ADDRESS   * 00240000                
*      OF THE RESIDENT CCP HALT INTERCEPT                             * 00250000                
*                                                                     * 00260000                
.NDPFP ANOP                                                             00270000                
       AIF   (&BSCA EQ '0').NPBS1      SKIP IF NON-BSCA GENERATION      00280000                
*    . ALLOCATE AND OPEN THE BSCA DTF'S                               * 00290000                
*                                                                     * 00300000                
*    . SET THE ADDRESS OF THE CCP BSCA INTERRUPT HANDLER INTO THE     * 00310000                
*      RESIDENT DSM BSCA INTERRUPT HANDLER                            * 00320000                
*                                                                     * 00330000                
.NPBS1 ANOP                                                             00340000                
*    . SET THE IAR Q-BYTE VALUES OF THE CCP PROGRAM LEVEL INTO THE    * 00350000                
*      RESIDENT CCP EXECUTION CODE                                    * 00360000                
*                                                                     * 00370000                
*    . MODIFY THE DSM LOW CORE ENTRY POINT ADDRESS OF DUMP, GENERAL   * 00380000                
*      ENTRY, DISK IOS, AND DISK I/O WAIT TO CAUSE ENTRY INTO CCP     * 00390000                
*      WHEN THESE FUNCTIONS ARE INVOKED                               * 00400000                
*                                                                     * 00410000                
*    . SET THE ADDRESS OF THE FLAG BYTE IN DSM (NCMBSV IN SUPCM)      * 00420000                
*      WHICH CONTAINS THE DISK ERP INDICATION FOR TESTING BY THE      * 00430000                
*      CCP DISK IOS AND DISK I/O WAIT INTERCEPT ROUTINES              * 00440000                
*                                                                     * 00450000                
*    . SET UP THE CCP TRANSIENT AREA HANDLERS IOB'S Q-BYTES FOR THE   * 00460000                
*      PACK ON WHICH $CCPFILE IS FOR THIS RUN                         * 00470000                
*                                                                     * 00480000                
       AIF   (&DPF EQ '0').NDPFB       SKIP IF NON-DPF GENERATION       00490000                
*    . RESTORE THE DSM RESIDENT HALT ENTRY POINT ADDRESS FROM THAT    * 00500000                
*      SET DURING CCP STARTUP                                         * 00510000                
*                                                                     * 00520000                
.NDPFB ANOP                                                             00530000                
*    . INITIALIZE THE CCP GENERAL ENTRY INTERCEPT ROUTINE ($CC4IG)    * 00540000                
*      TO CONTAIN THE Q-BYTES OF THE SYSTEM PACK AND THE PROGRAM PACK * 00550000                
*                                                                     * 00560000                
*    . EXIT THROUGH THE COMMAND PROCESSOR TO THE TRANSIENT STARTUP    * 00570000                
*      ROUTINE $CC4SU TO COMPLETE ALL STARTUP FUNCTIONS               * 00580000                
*                                                                     * 00590000                
* ENTRY POINT -- CPINIT (INITAL ENTRY FROM STARTUP)                   * 00600000                
*             -- SU@BCH PLUS TWO BYTES (RE-ENTRY POINT AFTER          * 00610000                
*                NON-RESIDENT STARTUP COMPLETES)                      * 00620000                
*                                                                     * 00630000                
* INPUT -- NONE                                                       * 00640000                
*                                                                     * 00650000                
* OUTPUT --                                                           * 00660000                
*                                                                     * 00670000                
*    . ALL AREAS DISCUSSED UNDER OPERATION ARE SET FOR EXECUTION      * 00680000                
*                                                                     * 00690000                
* EXTERNAL REFERENCES --                                              * 00700000                
*                                                                     * 00710000                
       AIF   (&DPF EQ '0').NPDF3       SKIP IF NON-DPF                  00720000                
*    . ADDRESS OF OTHER LEVEL IAR HOLD AREA IN STARTUP                * 00730000                
*                                                                     * 00740000                
.NPDF3 ANOP                                                             00750000                
       AIF   (&BSCA EQ '0').NPBS3      SKIP IF NO BSCA                  00760000                
*    . ADDRESS OF THE BSCA DTF'S BUILT BY STARTUP                     * 00770000                
*                                                                     * 00780000                
*    . ADDRESS OF THE BSCA INTERRUPT HANDLER IN RESIDENT DSM            00790000                
*                                                                     * 00800000                
.NPBS3 ANOP                                                             00810000                
*    . ADDRESSES OF IAR Q-BYTES IN                                    * 00820000                
*        $CC4DP, $CC4IH,$CC4PI                                        * 00830000                
*                                                                     * 00840000                
*    . ADDRESSES OF RESIDENT DISK I/O AND I/O WAIT INTERCEPT ROUTINES * 00850000                
*                                                                     * 00860000                
*    . ADDRESS   OF GENERAL ENTRY INTERCEPT                           * 00870000                
*                                                                     * 00880000                
*    . ADDRESS OF DUMP INTERCEPT ROUTINE (CPHALT)                     * 00890000                
*                                                                     * 00900000                
*    . SYSTEM COMMUNICATION AREA ((NCSYS@)                            * 00910000                
*                                                                     * 00920000                
*    . CCP COMMAND PROCESSOR                                          * 00930000                
*                                                                     * 00940000                
* EXIT, NORMAL -- TO COMMAND PROCESSOR TRANSIENT $CC4SU               * 00950000                
*                                                                     * 00960000                
* ATTRIBUTES -- RESIDENT, NON-REUSEABLE, OVERLAID BY CCP              * 00970000                
*      TRANSIENTS DURING EXECUTION                                    * 00980000                
*                                                                     * 00990000                
*---------------------------------------------------------------------* 01000000                
       EJECT                                                            01010000                
*********************************************************************** 01020000                
* ENTRY POINT 1 OF BASE MODULE, USE AS SUBROUTINE.                    * 01030000                
* XR1 --> STARTUP SAVE AREA, XR2 --> PGM LVL COMM AREA.               * 01040000                
*********************************************************************** 01050000                
       SPACE                                                            01060000                
       ENTRY CPINIT                    CCP MODULE ENTRY POINT @         01070000                
CPINIT ST    SUEP1X+3,ARR              SAVE RETURN ADDRESS              01080000                
       AIF   (&DPF NE '1').NDPF1       DPF SUPPORTED??                  01090000                
       SPACE 1                                                          01100000                
* STARTUP SAVE AREA DISPLACEMENTS AND BITS REFERENCED                   01110000                
       SPACE 1                                                          01120000                
SITFLG EQU   X'6C'                     MISC. SYSTEM INFO            @01 01130000                
SITPRI EQU   BIT2                      1=CCP TO HAVE CPU PRIORITY IN@01 01140000                
*                                        DPF ENVIRONMENT            @01 01150000                
       SPACE 1                                                      @01 01160000                
SSAMS1 EQU   +X'89'                    STARTUP SWITCHES                 01170000                
SSADPF EQU   BIT0                      1=DPF SYSTEM / 0=NOT DPF         01180000                
SSALVL EQU   BIT1                      1=CCP IN LVL 2 0=CCP IN LVL 1    01190000                
SSAIAR EQU   +X'8C'                    VALUE OF OTHER LEVEL IAR         01200000                
       SPACE 1                                                          01210000                
       ST    SULSS@+3,XR1              STORE ADDR OF STARTUP SAVE AREA  01220000                
       SPACE                                                            01230000                
*---------------------------------------------------------------------* 01240000                
* DPF SYSTEM, STEAL HALT CHECK ENTRY POINT.                           * 01250000                
*---------------------------------------------------------------------* 01260000                
       SPACE                                                            01270000                
       MVC   SUHBR+3(2),NPHBCH(,XR2)   SAVE HALT CHECK ENTRY POINT      01280000                
       MVC   SU@BCH(2),NPHBCH(,XR2)    SAVE HALT CHECK ENTRY POINT      01290000                
       MVC   NPHBCH(2,XR2),SU@HCH      INSERT CCP HALT RESPONSE @       01300000                
       SPACE                                                            01310000                
*---------------------------------------------------------------------* 01320000                
* SAVE REQUIRED INFORMATION IN CASE OF ABORT.                         * 01330000                
*---------------------------------------------------------------------* 01340000                
       SPACE                                                            01350000                
       MVC   SUMS1(1),SSAMS1(,XR1)     SAVE LEVEL SWITCH                01360000                
       MVC   SUIHLD(2),SSAIAR(,XR1)    SAVE OTHER LEVEL IAR CONTENTS    01370000                
.NDPF1 ANOP                                                             01380000                
       AIF   (&BSCA NE '1').NBS1                                        01390000                
       LA    CCBSDF+3,XR2              SET OF FOR STARTUP TO SET @      01400000                
*                                      OF BSCA DTF                      01410000                
.NBS1  ANOP                                                             01420000                
SUEP1X B     ####                      RETURN TO CALLER                 01430000                
       SPACE                                                            01440000                
*---------------------------------------------------------------------* 01450000                
* THE FOLLOWING 2-BYTE SAVED VALUE MUST FOLLOW SUEP1X.                * 01460000                
*---------------------------------------------------------------------* 01470000                
       SPACE                                                            01480000                
SU@BCH DC    AL2(####)                 ADDRESS OF HALT CHECK ROUTINE,   01490000                
*                                      RETURN BEFORE INITIALIZATION     01500000                
*                                      FINISHED OR RETURN IN CASE OF    01510000                
*                                      STARTUP ABORT                    01520000                
       SPACE 2                                                          01530000                
       SPACE 1                                                          01540000                
*------REENTRY POINT FROM STARTUP-------------------------------------* 01550000                
       SPACE 1                                                          01560000                
       AIF   (&MOD4).MD410             MOD 4 - SKIP THIS                01565000                
       AIF   (&BSCA NE '1').NBSC1      BSCA IN SYSTEM??                 01570000                
       SPACE 2                                                          01580000                
*---------------------------------------------------------------------* 01590000                
*      DETERMINE IF BSCA IS ON THE SYSTEM AND PLUG THE INTERRUPT      * 01600000                
*      HANDLER ADDRESS (CCP) INTO THE SUPERVISOR BSCA INTERRUPT       * 01610000                
*      HANDLER FOR THE APPROPRIATE BSCA LINE IN USE                   * 01620000                
*---------------------------------------------------------------------* 01630000                
       SPACE 2                                                          01640000                
#CC@L1 EQU   X'12'                     OFFSET TO LINE ONE CCP @         01650000                
#CC@L2 EQU   X'14'                     OFFSET TO LINE TWO CCP @         01660000                
       SPACE 2                                                          01670000                
       L     NCSYS@,XR1                GET THE @ OF SYS COMM AREA       01680000                
       L     NCADDC(,XR1),XR1          GET THE @ OF THE SECOND SYS COM  01690000                
*                                      AREA                             01700000                
       L     1(,XR1),XR1               GET THE @ OF THE BSCA SUPR       01710000                
*                                      INTERRUPT HANDLER FROM SECOND    01720000                
*                                      COMMUNICATION AREA               01730000                
       SPACE 1                                                          01740000                
       CLI   CCBSDF+2,0                ANY BSCA DTF @ SET BY STARTUP??  01750000                
       JE    CCNOBS                    NO, SKIP IAR @ SETTING           01760000                
       SPACE 1                                                          01770000                
*------THERE IS A BSCA DTF, DETERMINE FOR WHICH LINE(S) AND PLUG THE  * 01780000                
*------BSCA INTERRUPT HANDLER IN THE DSM SUPERVISOR-------------------* 01790000                
.MD410 ANOP                                                             01795000                
       SPACE 1                                                          01800000                
CCBSDF LA    ####,XR2                  GET THE @ OF THE BSCA DTF        01810000                
       ST    CCBKCH+3,XR2              STORE DTF ADR TO BREAK DTF CHAIN 01820000                
       B     NCENTR                    ALLOCATE BI-SYNC                 01830000                
       DC    XL1'8B'                   RIB                              01840000                
       SPACE                                                            01850000                
       B     NCENTR                    OPEN                             01860000                
       DC    XL1'82'                   RIB                              01870000                
       SPACE 1                                                          01880000                
       L     CCBKCH+3,XR2              GET @ OF BSCA DTF                01890000                
CCBS   MVC   LCB$L0(2,XR2),$BDINT(,XR2) FILL IN C/S OF LINE INIT.       01900000                
       AIF   (&MOD4).MD420                                              01905000                
       SPACE 1                                                          01910000                
       TBF   $BDDEV(,XR2),BIT4         WHAT LINE IS THIS                01920000                
       JF    CCBSL2                    OFF IS LINE 1                    01930000                
       SPACE 1                                                          01940000                
       MVC   #CC@L1(2,XR1),@CC4IB      MOVE THE CCP BSCA INT. HANDLER   01950000                
*                                      @ TO DSM BSCA INT HANDLER        01960000                
       J     CCBSNX                    GET NEXT BSCA DTF                01970000                
       SPACE 1                                                          01980000                
       EXTRN $CC4IB                    BSCA INTERRUPT HANDLER OF CCP    01990000                
@CC4IB DC    AL2($CC4IB)               BSCA INTERRUPT HANDLER OF CCP    02000000                
       SPACE 1                                                          02010000                
CCBSL2 MVC   #CC@L2(2,XR1),@CC4IB      MOVE THE CCP BSCA INT. HANDLER   02020000                
*                                      LINE SLOT IN COMMON BSCA INT     02030000                
.MD420 ANOP                                                             02035000                
       SPACE 1                                                          02040000                
*------FIND NEXT (IF ANY) BSCA DTF------------------------------------* 02050000                
       SPACE 1                                                          02060000                
CCBSNX CLI   $BDNXT-1(,XR2),ALLBIT     IS THERE ANOTHER DTF             02070000                
       L     $BDNXT(,XR2),XR2          GET @ IN CASE                    02080000                
       BNE   CCBS                      IS ANOTHER, RECURSE              02090000                
       SPACE 1                                                          02100000                
CCBKCH LA    ####,XR2                  LOAD @ OF 1ST BSCA DTF           02110000                
       MVI   $BDNXT-1(,XR2),X'FF'      BREAK DTF CHAIN                  02120000                
       MVI   $BDNXT(,XR2),X'FF'        BREAK DTF CHAIN                  02130000                
CCNOBS EQU   *                         END OF BSCA CHECKS               02140000                
       SPACE 3                                                          02150000                
*------------END OF T/P OPEN LOGIC------------------------------------* 02160000                
       AIF   (&NSWL).NBSC1             SKIP IF NO SWITCHED LINE SUPPT   02170000                
       SPACE 2                                                          02180000                
*------MOVE DISK ADDRESSES OF DSM CLOSE AND OPEN ROUTINES-------------* 02190000                
*------FOR USE BY BSCA SWITCHED LINE PURGE ROUTINE--------------------* 02200000                
       SPACE 1                                                          02210000                
       EXTRN CMCLOZ                                                     02220000                
       LA    CMCLOZ,XR2                LOAD @ OF WHERE TO STORE C/S     02230000                
       L     NCSYS@,XR1                LOAD @ OF S.C.A.                 02240000                
       L     NCXTAB(,XR1),XR1          LOAD @  OF XSIENT SCHED TABLE    02250000                
       MVC   0(2,XR2),42+&MOD4(,XR1)   MOVE C/S OF $$CLOZ               02260000                
       MVC   8(2,XR2),40+&MOD4(,XR1)   MOVE C/S OF $$OPEN               02270000                
       SPACE 2                                                          02280000                
.NBSC1 ANOP                                                             02290000                
*---------------------------------------------------------------------* 02300000                
*            THIS IS THE CCP INITIAL TEST INITIALIZATION ROUTINE.     * 02310000                
*                                                                     * 02320000                
*            IT'S FUNCTION IS TO MODIFY THOSE PARTS OF THE CCP        * 02330000                
*            MODULES THAT REQUIRE PRE-EXECUTION INITIALIZATION.       * 02340000                
*            SUCH THINGS AS THE Q-BYTE OF STORE THE CCP IAR           * 02350000                
*            INSTRUCTIONS, THE ADDRESS OF LOW CORE ENTRY POINTS       * 02360000                
*            (NCEIOS + NCEIOW) ARE SET INTO THE I/O SCHEDULER, ETC.   * 02370000                
*                                                                     * 02380000                
*---------------------------------------------------------------------* 02390000                
       SPACE 3                                                          02400000                
       SPACE 2                                                          02410000                
*---------------------------------------------------------------------* 02420000                
*            COMPUTE THE PROGRAM LEVEL IAR Q-BYTE                     * 02430000                
*---------------------------------------------------------------------* 02440000                
       SPACE 1                                                          02450000                
       LA    CPINC,XR1                                                  02460000                
       USING CPINC,XR1                                                  02470000                
       AIF   (&DPF NE '1').NDPF2       DPF SYSTEM??                     02480000                
       ST    @IAR1(,XR1),IAR1          STORE THE PROGRAM LEVEL IAR      02490000                
CLC    CLC   @IAR1(2,XR1),@CLC(,XR1)   IS THIS LEVEL ONE                02500000                
       JE    NOMV                                                       02510000                
       MVI   MVIAR(,XR1),IAR2          NO, SET LEVEL TWO IAR VALUE      02520000                
NOMV   EQU   *                                                          02530000                
       MVC   DPIARQ(1),MVIAR(,XR1)     MOVE THE CCP Q-BYTE INTO INST    02540000                
.NDPF2 ANOP                                                             02550000                
       MVC   IHIAR(1),MVIAR(,XR1)      SET THE CCP Q-BYTE               02560000                
       MVC   IHIAR2(1),MVIAR(,XR1)     MOVE THE Q-BYTE                  02570000                
       MVC   IHIAR3(1),MVIAR(,XR1)     MOVE THE Q-BYTE                  02580000                
       AIF   (&MIN).NIHLD                                               02590000                
       MVC   IHLOAD(1),MVIAR(,XR1)     SET CCP Q-BYTE                   02600000                
.NIHLD ANOP                                                             02610000                
       EXTRN HLSTI                     HALT ROUTINE IAR Q-BYTE          02620000                
       MVC   HLSTI(1),MVIAR(,XR1)      MOVE THE Q-BYTE                  02630000                
       SPACE 1                                                          02640000                
       AIF   (&DPF NE '1').NJDPF       .SKIP IF NOT DPF             @01 02650000                
       EJECT                                                            02660000                
*----- COMPUTE THE OTHER LEVEL IAR Q-BYTE AND CORE BOUNDS ----------@01 02670000                
       SPACE 1                                                      @01 02680000                
       L     NCSYS@,XR2                LOAD S.C.A. ADDRESS          @01 02690000                
       MVC   IOTAST+3(2),NCXTAB(,XR2)  MOVE T.A. TABLE @ TO I/O INTC@01P02700000                
       ALC   IOTAST+3(2),CC0001        BUMP @ TO BUSY IND BYTE      @01 02710000                
       MVC   IGDSMT+3(2),IOTAST+3      MOVE T.A. TABLE @ TO I.G.    @01P02720000                
       CLI   MVIAR(,XR1),IAR1          IS CCP IN LEVEL ONE ?        @01 02730000                
       JE    CPINL1                    YES, JUMP                    @01 02740000                
       SPACE 1                                                          02750000                
       MVI   MVIAR(,XR1),IAR1          SET OTHER LEVEL TO IAR 1     @01 02760000                
       MVI   IOTAST+1,X'80'            LEVEL 1 T.A. BUSY FLAG       @01 02770000                
       MVI   IGDSMT+1,X'80'            LEVEL 1 T.A. BUSY FLAG       @01 02780000                
       L     NCPL1(,XR2),XR2           LOAD PLCA ADDRESS            @01 02790000                
       MVC   IHOBEG(2),NPBEG(,XR2)     MOVE OTHER START ADDRESS     @01 02800000                
       J     CPINIH                    JUMP TO SET Q-CODES          @01 02810000                
       SPACE 1                                                          02820000                
CPINL1 MVI   MVIAR(,XR1),IAR2          SET LEVEL 2 Q-CODE           @01 02830000                
       MVI   IOTAST+1,X'40'            LEVEL 2 T.A. BUSY FLAG       @01 02840000                
       MVI   IGDSMT+1,X'40'            LEVEL 2 T.A. BUSY FLAG       @01 02850000                
       L     NCPL2(,XR2),XR2           LOAD @ OF PLCA 2             @01 02860000                
       MVC   IHOBEG(2),NPBEG(,XR2)     MOVE OTHER LEVEL START @     @01 02870000                
       MVC   IHOEND(2),NPBEG+2(,XR2)   MOVE OTHER LEVEL END @       @01 02880000                
       SLC   IHOEND(2),CC0001          SUBTRACT ONE IN CASE 64K     @01 02890000                
       SPACE 1                                                          02900000                
CPINIH MVC   IHLVL1(1),MVIAR(,XR1)     MOVE IAR Q-CODE TO $CC4IH    @01 02910000                
       MVC   IHLVL2(1),MVIAR(,XR1)     MOVE IAR Q-CODE TO $CC4IH    @01 02920000                
       MVC   IHLVL3(1),MVIAR(,XR1)     MOVE IAR Q-CODE TO $CC4IH    @01 02930000                
       MVC   IHLVL4(1),MVIAR(,XR1)     MOVE IAR Q-CODE TO $CC4IH    @01 02940000                
       SPACE 2                                                      @01 02950000                
*------IF CCP PRIORITY IS SPECIFIED, CHANGE NOOPS TO SIO'S ---------@01 02960000                
       SPACE 1                                                      @01 02970000                
       L     SULSS@+3,XR2              LOAD STARTUP SAVE AREA ADDRES@01 02980000                
       TBN   SITFLG(,XR2),SITPRI       SHOULD CCP HAVE PRIORITY ?   @01 02990000                
       JF    STE                       NO, JUMP                     @01 03000000                
       SPACE 1                                                      @01 03010000                
       EXTRN CMENAB                                                     03020000                
       EXTRN CMDISA                                                     03030000                
       SPACE 1                                                          03040000                
       SLC   DPDISA+2(3),DPDISA+2      ZERO NOOP JUMP INST          @01 03050000                
       MVI   DPDISA,X'F3'              MOVE SIO TO NOOP             @01 03060000                
       MVC   DPENAB+2(3),DPDISA+2      MOVE SIO INST                @01 03070000                
       MVI   DPENAB+2,X'06'            SET ENABLE CONTROL CODE      @01 03080000                
       MVC   IGDISA+2(3),DPDISA+2      MOVE SIO INST                @01 03090000                
       MVC   IGENAB+2(3),DPENAB+2      MOVE SIO INST                @01 03100000                
       LA    CMDISA,XR2                LOAD ADDRESS OF CM HOOK          03110000                
       MVC   2(3,XR2),DPDISA+2         MOVE SIO INST                @01 03120000                
       LA    CMENAB,XR2                LOAD ADDRESS OF CM HOOK          03130000                
       MVC   2(3,XR2),DPENAB+2         MOVE SIO INST                @01 03140000                
STE    EQU   *                                                      @01 03150000                
       EJECT                                                            03160000                
.NJDPF ANOP                                                         @01 03170000                
*---------------------------------------------------------------------* 03180000                
*      SET THE LOW CORE ADDRESSES OF DISDSP + DIODWT INTO CC4DP       * 03190000                
*---------------------------------------------------------------------* 03200000                
       SPACE 2                                                          03210000                
@@ENT  EQU   7                         OFFSET TO GENERAL ENTRY @ @      03220000                
@@DSP  EQU   11                        OFFSET TO DIODSP @ @             03230000                
@@DWT  EQU   15                        OFFSET TO DIODWT @ @             03240000                
@@DUMP EQU   19                        OFFSET TO DUMP @ @               03250000                
       SPACE 1                                                          03260000                
       L     @@DSP,XR2                 GET DIODSP @ @                   03270000                
       ST    CC@DSP,XR2                SAVE DIODSP @ @ FOR EOJ          03280000                
       L     0(,XR2),XR2               GET DIODSP @                     03290000                
STC    ST    SSDIOD,XR2                STOW DIODSP EPA                  03300000                
       MVC   @@DSP(2),@CC4IO(,XR1)     SET DISK I/O INTERCEPT @         03310000                
       SPACE 2                                                          03320000                
       L     @@DWT,XR2                 GET DIODWT @ @                   03330000                
       ST    @DWT,XR2                  SAVE DIODWT @ @ FOR EOJ          03340000                
       L     0(,XR2),XR2               GET DIODWT @                     03350000                
STD    ST    @DWT1,XR2                 STORE DIODWT EPA                 03360000                
       ST    @DWT2,XR2                 SET DIODWT ENTRY ADDRESS         03370000                
       MVC   @@DWT(2),@CC4IW(,XR1)     SET DISK WAIT INTERCEPT @        03380000                
       SPACE 2                                                          03390000                
       EJECT                                                            03400000                
*---------------------------------------------------------------------* 03410000                
*      SET INTO THE CCP DISPATCHER DISK I/O AND WAIT ENTRY            * 03420000                
*      POINTS THE ADDRESS OF THE BYTE IN THE DSM SYSTEM COMM.         * 03430000                
*      AREA THAT CONTAINS THE DISK ERP ACTIVE/INACTIVE BIT            * 03440000                
*---------------------------------------------------------------------* 03450000                
       SPACE                                                            03460000                
       SPACE 2                                                          03470000                
       L     NCSYS@,XR2                GET @ OF DSM SYS COMM AREA       03480000                
       LA    NCMBSV(,XR2),XR2          STEP TO ADDR OF FLAG BYTE        03490000                
       SPACE 1                                                          03500000                
       ST    IOGOA+3,XR2               STORE @ OF DISK ERP BYTE IN      03510000                
*                                      INSTRUCTION FOLLOWING THE JUMP   03520000                
       SPACE 1                                                          03530000                
*------------DO THE SAME FOR $CC4IW-----------------------------------* 03540000                
       SPACE 1                                                          03550000                
       ST    IWGOA+3,XR2               STORE @ OF DISK ERP BYTE IN      03560000                
*                                      INTERCEPT ROUTINE                03570000                
       SPACE 1                                                          03580000                
*------END OF SETTING ERP FLAG BYTE @---------------------------------* 03590000                
       SPACE 1                                                          03600000                
       SPACE 2                                                          03610000                
*---------------------------------------------------------------------* 03620000                
*            CHANGE THE LOW CORE DUMP ENTRY ADDRESS TO THE RESIDENT   * 03630000                
*            CCP HALT ROUTINE                                         * 03640000                
*---------------------------------------------------------------------* 03650000                
       SPACE 2                                                          03660000                
       MVC   @DUMPP(2,XR1),@@DUMP                                       03670000                
*                                       ROUTINE BRANCH ADDRESS          03680000                
       MVC   @@DUMP(2),@CPHLT(,XR1)    PUT CCP HALT @ INTO DUMP ENTRY   03690000                
       SPACE                                                            03700000                
*------STEAL THE @ OF GENERAL ENTRY AND REPLUG WITH THE ADDRESS OF----* 03710000                
*------CCP'S GENERAL ENTRY INTERCEPT ROUTINE $CC4IG-------------------* 03720000                
       SPACE 1                                                          03730000                
       L     @@ENT,XR2                 GET OFFSET TO GENERAL ENTRY @    03740000                
       ST    @ENT(,XR1),XR2            STORE INTO MOVE LIST             03750000                
       SPACE                                                            03760000                
*------GET @ OF TRUE GENERAL ENTRY                                      03770000                
       SPACE 1                                                          03780000                
       LA    $CC4IG+1,XR1              SET @ OF CCP NCENTR INTERCEPT    03790000                
       ST    @@ENT,XR1                 SET @ OF CCP $CC4IG INTO LOC 4   03800000                
       SPACE 1                                                          03810000                
       L     @ENT,XR2                  GET @ OF TRUE GENERAL ENTRY @    03820000                
       L     2(,XR1),XR1               GET ADCON FROM $CC4IG OF         03830000                
*                                      WHERE TO STOW REAL GENERAL ENTRY 03840000                
       SPACE 1                                                          03850000                
       MVC   0(2,XR1),0(,XR2)          MOVE THE REAL GENERAL ENTRY @    03860000                
*                                      TO $CC4IG                        03870000                
       SPACE 1                                                          03880000                
       SPACE 2                                                          03890000                
*---------------------------------------------------------------------* 03900000                
*      SET THE Q-BYTES IN THE CCP TRANSIENT AREA IOB'S                * 03910000                
*---------------------------------------------------------------------* 03920000                
       SPACE 1                                                          03930000                
       B     NCENTR                    GET THE @ OF THE PLCA            03940000                
       DC    AL1(0)                    PLCA @ R.I.B.                    03950000                
       SPACE 1                                                          03960000                
       LA    TAIOQB,XR1                SET TO @ OF FIRST T.A. IOB       03970000                
       MVC   0(1,XR1),NPQ(,XR2)        MOVE THE Q-BYTE INTO 1ST TA IOB  03980000                
       SBF   0(,XR1),BIT5+BIT6         MAKE IT A 'READ' Q-BYTE          03990000                
       SBN   0(,XR1),BIT7              MAKE IT A READ Q-BYTE            04000000                
       SPACE 1                                                          04010000                
TANXQB EQU   27                        OFFSET FROM 1ST TO 2ND IOB       04020000                
       SPACE 1                                                          04030000                
*------DO THE SAME FOR THE 2ND IOB'S Q-BYTE                             04040000                
       SPACE 1                                                          04050000                
       MVC   TANXQB(1,XR1),NPQ(,XR2)   MOVE THE Q-BYTE AGAIN            04060000                
       SBF   TANXQB(,XR1),BIT5+BIT6    MAKE IT A READ Q-BYTE            04070000                
       SBN   TANXQB(,XR1),BIT7         MAKE IT A READ Q-BYTE            04080000                
       SPACE 1                                                          04090000                
*------END OF SETTING UP CCP TRANSIENT AREA IOB Q-BYTES---------------* 04100000                
       SPACE 2                                                      @01 04110000                
       AIF   (&DPF NE '1').NDPFI       SKIP IF NON-DPF              @01 04120000                
*----- SET THE PGM PACK Q-BYTE INTO I/O INTERCEPT ROUTINE           @01 04130000                
       SPACE 1                                                      @01 04140000                
       MZZ   IOPGMQ,NPQ(,XR2)          MOVE ZONE PORTION OF Q-BYTE  @01 04150000                
.NDPFI ANOP                                                         @01 04160000                
       SPACE 1                                                          04170000                
*---------------------------------------------------------------------* 04180000                
*      SET THE Q-BYTES OF THE SYSTEM AND PROGRAM PACK INTO THE        * 04190000                
*      GENERAL ENTRY INTERCEPT ROUTINE                                * 04200000                
*---------------------------------------------------------------------* 04210000                
       SPACE 1                                                          04220000                
       MVC   IGNPQ(1),NPQ(,XR2)        MOVE THE PROGRAM PACK Q-BYTE TO  04230000                
*                                      GENERAL ENTRY INTERCEPT          04240000                
       MVC   IGNPLB,NPOLIB(2,XR2)      INSERT PGM PACK DIR C/S      @@@ 04245000                
       L     NCSYS@,XR2                GET @ OF DSM COMM AREA           04250000                
       MVC   IGSYSQ(1),NCSYSQ(,XR2)    MOVE THE SYSTEM PACK Q-BYTE TO   04260000                
*                                      GENERAL ENTRY INTERCEPT          04270000                
       MVC   IGNCLB,NCOLIB(2,XR2)      INSERT SYS PACK DIR C/S      @@@ 04275000                
       AIF   (&DPF NE '1').NDUPS       SKIP IF NON-DPF              @01 04280000                
       SPACE 1                                                      @01 04290000                
*----- SET THE SYS PACK Q-BYTE INTO I/O INTERCEPT ROUTINE           @01 04300000                
       SPACE 1                                                      @01 04310000                
       MZZ   IOSYSQ,NCSYSQ(,XR2)       MOVE ZONE PORTION OF Q-BYTE  @01 04320000                
       L     NCPL1(,XR2),XR2           XR2 ----> PLCA 1.            @10 04322000                
       LA    NPBEG(,XR2),XR2           XR2 ----> NPBEG @ OF PLCA 1  @10 04324000                
       ST    SUPEND,XR2                INIT SUPEND WITH PLCA 1 NPBEG@10 04326000                
.NDUPS ANOP                                                         @01 04330000                
       SPACE 2                                                          04340000                
*------MOVE THE SWAPPED CONSTANTS TO CCP'S LOW CORE RESTORE LIST------* 04350000                
       SPACE 1                                                          04360000                
       EXTRN CC@DWT                    LOW CORE RESOTRE LIST IN $CC4PI  04370000                
       MVC   CC@DWT(8),@DWT            MOVE THE CONSTANTS               04380000                
       AIF   (&DPF).DPF1                                                04390000                
       J     SUEXSU                    EXIT STARTUP INITIALIZATION      04400000                
       AGO   .NXA                                                       04410000                
.DPF1  ANOP                                                             04420000                
       J     SURSPV                    RESTORE HALT CHECK RTN ADDR      04430000                
.NXA   ANOP                                                             04440000                
       SPACE 1                                                          04450000                
*------MOVED CONSTANTS LIST-------------------------------------------* 04460000                
       SPACE 1                                                          04470000                
CPINC  EQU   *                                                          04480000                
@DUMPP DS    AL2                       @ OF DUMP                        04490000                
@ENT   DS    AL2                       @ OF GENERAL ENTRY               04500000                
CC@DSP DS    AL2                       @ OF DISK IOS                    04510000                
@DWT   DS    AL2                       @ OF DISK WAIT                   04520000                
       SPACE 2                                                          04530000                
*------INITIALIZATION CONSTANTS AND WORK AREAS------------------------* 04540000                
       SPACE 2                                                          04550000                
@IAR1  DS    XL2                                                        04560000                
MVIAR  DC    AL1(IAR1)                 INITIALIZED TO LEVEL ONE IAR     04570000                
       AIF   (&DPF NE '1').NCLC        DPF SYSTEM??                     04580000                
@CLC   DC    AL2(CLC)                  @ OF COMPARE INSTRUCTION-DPF SYS 04590000                
.NCLC  ANOP                                                             04600000                
@CPHLT DC    AL2(CPHALT)               ADDRESS OF CCP HALT ROUTINE      04610000                
*                                       CONSTANT                        04620000                
@CC4IO DC    AL2(@CCIO)                @ OF DISK I/O INTERCEPT ADDRESS  04630000                
@CC4IW DC    AL2(@CCIW)                @ OF DISK WAIT INTERCEPT *       04640000                
       AIF   (&DPF NE '1').NDPF3                                        04650000                
       EJECT                                                            04660000                
*********************************************************************** 04670000                
* RESTORE SUPERVISOR HALT CHECK ENTRY POINT.                          * 04680000                
*********************************************************************** 04690000                
       SPACE                                                            04700000                
SURSPV EQU   *                                                          04710000                
       B     NCENTR                    BRANCH TO SUPERVISOR             04720000                
       DC    AL1(0)                    RIB: XR2 --> PGM LVL COMM AREA   04730000                
       SPACE                                                            04740000                
       MVC   NPHBCH(2,XR2),SUHBR+3     RESTORE HALT CHECK ENTRY POINT   04750000                
       SPACE 2                                                          04760000                
*********************************************************************** 04770000                
*    DPF SYSTEM, RESTORE OTHER LEVEL IAR TO "EJ" HALT.                * 04780000                
*********************************************************************** 04790000                
       SPACE                                                            04800000                
SULSS@ LA    ####,XR2                  LOAD ADDR OF STARTUP SAVE AREA   04810000                
       JC    *+3,X'97'                 RESET INDICATOR BITS             04820000                
       TBN   SSAMS1(,XR2),SSADPF       IS THIS A DPF SYSTEM?            04830000                
       JF    SUDBYP                    JUMP IF NO                       04840000                
       SPACE                                                            04850000                
       LA    SSAIAR(,XR2),XR2          STEP TO @ OF OTHER LEVEL IAR     04860000                
       ST    SURIAR+3,XR2              AND STOW THE @                   04870000                
       SPACE 1                                                          04880000                
       MVC   SURIAR+1(1),MVIAR         SET THE OTHER LEVEL IAR Q    @01 04890000                
       SPACE                                                            04900000                
SURIAR L     *-*,*-*                   RESTORE OTHER LEVEL IAR VALUE    04910000                
       SPACE                                                            04920000                
SUDBYP EQU   *                                                          04930000                
.NDPF3 ANOP                                                             04940000                
       SPACE 2                                                          04950000                
*---------------------------------------------------------------------* 04960000                
* ENTER CCP RESIDENT CONTROL CODE AT THE COMMAND PROCESSOR.           * 04970000                
*---------------------------------------------------------------------* 04980000                
       SPACE                                                            04990000                
SUEXSU LA    $CCCOM,XR1                LOAD ADDRESS OF $CCCOM           05000000                
       L     NCSYS@,XR2                GET SYSCOM @                     05010000                
       AIF   (&DPF NE '1').DPF4                                     @11 05015000                
       SPACE 1                                                          05020000                
NPLEVL EQU   X'4B'                                                      05021000                
       L     @PCA(,XR1),XR1            GET PLCA @ IN XR1            @11 05022000                
       TBN   NPLEVL(,XR1),BIT7         AM I IN LEVEL 2?             @11 05023000                
       LA    $CCCOM,XR1                RESTORE XR1                  @11 05024000                
       JF    SULVL1                    NO, MARK CCP ACTIVE IN LVL 1 @11 05025000                
       MVI   SULVL1+1,BIT2             MODIFY MASK TO LEVEL 2.      @11 05026000                
SULVL1 EQU   *                                                      @11 05027000                
.DPF4  ANOP                                                         @11 05028000                
       SPACE 1                                                      @11 05029000                
*------TURN ON THE CCP ACTIVE BITS IN THE DSM SYSTEM COMM AREA--------* 05030000                
       SPACE 1                                                          05040000                
       SBN   NCCONF(,XR2),BIT1         TURN ON CCP RUNNING BITS     @11 05050000                
       SPACE 1                                                          05060000                
       LA    $CPWK,XR2                 LOAD @ CMD PROCESSOR WORK AREA   05070000                
       L     CPEPA,IAR                 GO TO RESIDENT COMMAND PROCESSOR 05080000                
       SPACE                                                            05090000                
CPEPA  DC    AL2($CC4CP)               @ OF RESIDENT COMMAND PROCESSOR  05100000                
       SPACE 2                                                          05110000                
       AIF   (&DPF NE '1').DPF5                                         05120000                
       EJECT                                                            05130000                
*---------------------------------------------------------------------* 05140000                
*      CHECK DSM HALT TO SEE IF CCP STARTUP SHOULD ABORT              * 05150000                
*---------------------------------------------------------------------* 05160000                
       SPACE 1                                                          05170000                
SUHCHK EQU   *                                                          05180000                
       DC    XL2'3000'                 SENSE INSTRUCTION + Q-BYTE       05190000                
       DC    AL2(SUHSNS)               ADDR OF SENSE TO                 05200000                
       SBF   SUHSNS,BIT0+BIT1+BIT2+BIT3 TURN OFF HI BITS                05210000                
       CLI   SUHSNS,2                  IS RESPONSE = 2?                 05220000                
       JE    SUABRT                    JUMP IF YES, ABORT               05230000                
       SPACE                                                            05240000                
       CLI   SUHSNS,3                  IS RESPONSE = 3?                 05250000                
       JNE   SUHBR                     JUMP IF NO, LET DSM DECIDE       05260000                
       SPACE                                                            05270000                
*---------------------------------------------------------------------* 05280000                
* STARTUP ABORT REQUIRED, PREPARE TO BAIL OUT.                        * 05290000                
*---------------------------------------------------------------------* 05300000                
       SPACE                                                            05310000                
SUABRT EQU   *                                                          05320000                
       B     NCENTR                    BRANCH TO SUPERVISOR             05330000                
       DC    AL1(0)                    RIB: XR2 --> PGM LVL COMM AREA   05340000                
       SPACE                                                            05350000                
       MVC   NPHBCH(2,XR2),SUHBR+3     RESTORE HALT CHECK ENTRY POINT   05360000                
       JC    *+3,X'97'                 RESET CONDITION BITS             05370000                
       TBN   SUMS1,SSALVL              IS CCP IN LEVEL 2?               05380000                
       JF    SUAIAR                    JUMP IF NO                       05390000                
       SPACE                                                            05400000                
       MVI   SUAIAR+1,IAR1             RESET TO RESTORE LEVEL 1 IAR     05410000                
       SPACE                                                            05420000                
SUAIAR L     SUIHLD,##+IAR2            RESTORE "EJ" IN OTHER LEVEL      05430000                
SUHBR  B     ####                      BR TO DSM HALT CHECK ROUTINE     05440000                
       SPACE                                                            05450000                
*---------------------------------------------------------------------* 05460000                
* WORK AREA AND CONSTANTS.                                            * 05470000                
*---------------------------------------------------------------------* 05480000                
       SPACE                                                            05490000                
SU@HCH DC    AL2(SUHCHK)               @ OF STARTUP HALT CHECK ROUTINE  05500000                
SUHSNS DC    AL2(####)                 SENSE AREA FOR CONSOLE DIALS     05510000                
SUIHLD DC    AL2(####)                 HOLDER FOR OTHER LVL IAR CONTENT 05520000                
SUMS1  DC    AL1(##)                   STARTUP SAVE AREA MISC SWITCH    05530000                
       SPACE                                                            05540000                
*----- END OF STARTUP HALT CHECK ROUTINE -----------------------------* 05550000                
       SPACE                                                            05560000                
************************************************************************05570000                
.DPF5  ANOP                                                             05580000                
*                                      END MACRO '$E032'                05590000                
       MEND                                                             05600000