         TITLE 'GRAPHIC SPECIFY ATTENTION ROUTINE'                      00050002
*********************************************************************** 00100002
*                                                                       00150002
* MODULE NAME:           IGC0007C (OS/VS2)                              00200002
*                                                                       00250002
* DESCRIPTIVE NAME:      GRAPHIC SPECIFY ATTENTION ROUTINE              00300002
*                                                                       00350002
* COPYRIGHT:             NONE                                           00400002
*                                                                       00450002
* STATUS:                RELEASE 2.0                                    00500002
* FUNCTION:              THIS MODULE PERFORMS:                          00550002
*                                                                       00600002
*FUNCTION:MAKE USER ATTENTION ROUTINE AVAILABLE FOR USE BY SYSTEM.      00650002
*        1.ENSURE A GACB NOT SPARED MORE THAN ONCE.                     00700002
*        2.CREATE AN IRB AND IQE FOR USER ROUTINE.                      00750002
*        2A. LOADS IGG019OK, ATTENTION INQUIRY MODULE                   00800002
*        3.CREATE A ROUTINE ENTRY BLOCK(REB) FOR EACH GACB SPARED.      00850002
*        4.PLACE REB INTO LIST OF REBS ACCORDING TO USER ASSIGNED       00900002
*        PRIORITY.                                                      00950002
*        5.UPDATE TASK ENTRY BLOCK'S(TE) REB CHAIN.                     01000002
*FILL IN FROM SPECS******CONTINUED*NEXT*PAGE*************************** 01050002
         EJECT                                                          01100002
*ENTRY:VIA SVC 73 FROM P/P                                              01150002
*INPUT:GR#1 POINTS TO PARAMETER LIST                                    01200002
*OUTPUT:1.IRB                                                           01250002
*       2.IQE                                                           01300002
*       3.REB                                                           01350002
*       4.UNIQUE RETURN CODES                                           01400002
*EXTERNAL ROUTINES:N/A                                                  01450002
*EXIT:VIA SVC 73                                                        01500002
*TABLES/WORK AREAS:N/A                                                  01550002
*ATTRIBUTES:1.RE-ENTRANT                                                01600002
*           2.SUPERVISOR STATE                                          01650002
*           3.PRIVILEDGED                                               01700002
*           4.OPERATES ENABLED AND DISABLED                             01750002
*NOTES:N/A                                                              01800002
* CHANGE ACTIVITY:       MODULE HAS BEEN RESTRUCTURED TO CONSOLIDATE    01850002
*                                                                       01900002
*                        FIXES DROPPED LIST:                            01950002
*                                                                       02000002
*********************************************************************** 02050002
*                                                                       02100002
IGC0007C CSECT                                                          02150002
* 019800,022000-022200,022800,026400-026600,053800-054000        S21016 02200002
* 056400                                                      LB  AOS/1 02250002
*C023000                                                         Y01021 02300002
*A096600-09690,A097100,A077100-077200,A179600,D095000        LG @ZM2357 02310000
*D058500,A097200,A165500,A160600,A166100,A161500             LG @ZM2357 02320000
         EJECT                                                          02350002
*                                                                       02400002
*                                  STANDARD SYSTEM REGISTERS ---        02450002
*                                                                       02500002
         SPACE 3                                                        02550002
PAREG0   EQU   0                       PARAM REG 0                      02600002
PAREG1   EQU   1                       PARAM REG 1                      02650002
RBASE    EQU   2                       BASE REGISTER                    02700002
LENREG   EQU   3                       LOOP COUNT REG                   02750002
GACBR    EQU   4                       GACB ADR REG                     02800002
PARMR    EQU   5                       PARM LIST ADR REG                02850002
RLISTC   EQU   6                       CURRENT LIST PTR                 02900002
RUCB     EQU   7                       UCB ADR PTR                      02950002
RTE      EQU   8                       TE ADR PTR                       03000002
R9       EQU   9                       WORK REG                         03050002
R10      EQU   10                      WORK REG                         03100002
R11      EQU   11                      WORK REG                         03150002
R12      EQU   12                      WORK REG                         03200002
R13      EQU   13                                                       03250002
R14      EQU   14                                                       03300002
RCODE    EQU   15                      RETURN CODE REGISTER             03350002
         EJECT                                                          03400002
*          CONSTANTS USED IN THIS MODULE                              * 03450002
*                                                                     * 03500002
MULTI    EQU   X'20'                   INDICATE MULTIPLE DEVICES ON REB 03550002
DEBETNT  EQU   16                      OFFSET TO DEB # OF EXTENTS       03600002
LENGTH   EQU   2                       DISP.TO LENGTH OF LIST PARAM     03650002
NEXT     EQU   4                       CONSTANT INCREMENT               03700002
ONE      EQU   1                       CONSTANT                         03750002
EXIT     EQU   3                       EXIT SVC NO.                     03800002
NOADR    EQU   X'0C'                    NO GACB ADR RET. CODE           03850002
NOTGRPHC EQU   X'04'                   DCB NOT GRAPHIC RET CODE  S21016 03900002
UODCB    EQU   X'10'                   DCB NOT OPEN RET CODE     S21016 03950002
OFLGS    EQU   48                      OFLGS FIELD OF DCB               04000002
OPEN     EQU   X'10'                   OPEN BIT                         04050002
DSORG    EQU   27                      DCB  DSORG DISP-                 04100002
GRAPHIC  EQU   X'80'                   GRAPHIC DSORG BIT                04150002
DEB      EQU   44                      DISP.TO DEB ADR                  04200002
UCB      EQU   32                      DISP.TO UCB ADR                  04250002
UTEADR   EQU   28                      USER TE ADR                      04300002
STEADR   EQU   32                      GRAPHIC INITIATOR TE ADR         04350002
TERTN    EQU   4                       ADDR OF 1ST ROUTINE ENTRY BLOCK  04400002
TETCB    EQU   8                       TCB PTR                          04450002
TEFLGS   EQU   20                      TE FLAGS                         04500002
TEGASIRB EQU   24                      GAS IRB PTR                      04550002
TEGIR    EQU   28                      GRAPHIC INTERFACE RTN EP PTR     04600002
TE       EQU   X'80'                   TE FLAG                          04650002
RENO     EQU   X'40'                   INDICATES RTNB POINTS TO A TE    04700002
RTNF     EQU   0                       LINK FIELD LOWER PRIORITY        04750002
RTNB     EQU   4                       LINK FIELD HIGHER PRIORITY       04800002
RTNUCB   EQU   8                       UCB PTR                          04850002
RTNGACB  EQU   12                      GACB PTR                         04900002
RTNIRB   EQU   16                      IRB ADR                          04950002
RTNFLGS  EQU   20                      FLAGS                            05000002
PRTY     EQU   22                      PRIORITY                         05050002
RTNTCB   EQU   32                      OFFSET FOR REB TCB ADR           05100002
RTNQ2    EQU   28                      QUEUE LIST                       05150002
PGACB    EQU   X'08'                   PREVIOUSLY SPARED                05200002
IQE      EQU   100                                                      05250002
RSVD     EQU   40                                                       05300002
ATTN     EQU   48                  IGG019OK-ADR DISPLACEMENT IN GACB    05350002
NXTAVL   EQU   96                      IRB NEXT AVL FLD                 05400002
IRBIQE   EQU   8                       IRB ADR                          05450002
IQETCB   EQU   12                      TCB PTR                          05500002
OFF      EQU   X'FF'-RENO              RESET MASK FOR REB TE FLAG       05550002
ZEROO    EQU   0                       ZERO                             05600002
CVTPTR   EQU   16                      PTR TO CVT                       05650002
CURTCB   EQU   4                       OFFSET OF CURRENT TCB VIA CVT    05700002
MVTERR   EQU   X'14'                                                    05750002
JSTCB    EQU   124                                                      05800002
XDUMY    EQU   X'00'                    IMMED. OPERAND        LB  AOS/1 05900002
         EJECT                                                          05950002
         BALR  RBASE,0                 SET UP BASE REGISTER             06000002
         USING *,RBASE                 DEFINE BASE REGISTER             06050002
         B     *+24                                                     06100002
MODID    DC    C'IGC0007C.VS2R2.74337'          MODULE EYECATCHER ID    06150000
         LA    R10,ZEROO               ZERO MULTI DEVICE REG            06200002
         LR    PARMR,PAREG1            SAVE PARAM LIST ADR              06250002
         LA    RLISTC,NEXT(0,PARMR)    LOAD PTR TO CURRENT ENTRY        06300002
         SR    LENREG,LENREG           CLEAR REGISTER                   06350002
         LH    LENREG,LENGTH(PAREG1)   LOAD LENGTH OF PARAM LIST        06400002
         LA    R12,ONE                 LOAD CONSTANT                    06450002
         SR    LENREG,R12              DETERMINE NO. OF GACB ADRS.      06500002
         LTR   LENREG,LENREG           ARE THERE ANY GACB ADRS.         06550002
         BC    3,SP01                  BRANCH IF YES                    06600002
         LA    RCODE,NOADR             LOAD RETURN CODE                 06650002
         B     XCTLMSG                 GO INVOKE MSG RTN         S21016 06700002
*                                                                       06750002
SP01     L     GACBR,0(0,RLISTC)       LOAD GACB ADR                    06800002
         LTR   GACBR,GACBR             GACB ADR=0                       06850002
         BC    8,SPLOOP                BRANCH IF YES                    06900002
         L     RUCB,NEXT(0,GACBR)      LOAD DCB  ADR                    06950002
         LTR   RUCB,RUCB               DCB ADR=0                        07000002
         BC    8,SPLOOP                BRANCH IF YES                    07050002
         TM    OFLGS(RUCB),OPEN        IS DCB OPENED                    07100002
         BC    1,SP02                  BRANCH IF YES                    07150002
SP03     LA    RCODE,UODCB             INDICATE INVALID DCB             07200002
         B     XCTLMSG                 GO INVOKE MSG RTN         S21016 07250002
*                                                                       07300002
SP02     TM    DSORG(RUCB),GRAPHIC     IS IT A GRAPHIC DCB              07350002
         BC    1,SP02A                 BRANCH AROUND PD ROUTINES        07400002
         LA    RCODE,NOTGRPHC          LOAD RET CODE             S21016 07450002
         B     XCTLMSG                 GO INVOKE MSG RTN         S21016 07500002
         EJECT                                                          07550002
SP02A    EQU   *                                                 S21016 07600002
         LA    RUCB,ZEROO(RUCB)        CLEAR HI-BYTE DCB ADDR LB Y01021 07650002
         DEBCHK (RUCB),TYPE=VERIFY,AM=GAM   VALIDATE DEB      LB Y01021 07700002
         LTR   RCODE,RCODE           CK RET CODE             LG @ZM2357 07710000
         BNZ   SP03                                          LG @ZM2357 07720000
         LR    RUCB,PAREG1             DEB ADDRESS            LB Y01021 07750002
         CLI   DEBETNT(RUCB),ONE       IS THIS A MULTI-DEVICE DEB       07800002
         BC    8,SP14                  BRANCH IF NO                     07850002
         LA    R10,UCB(0,RUCB)         LOAD PTR TO FIRST UCB ADR PTR    07900002
         SR    R13,R13                 CLEAR REG                        07950002
         IC    R13,DEBETNT(RUCB)       INSERT # OF EXTENTS              08000002
SP14     L     RUCB,UCB(0,RUCB)        LOAD UCB ADR                     08050002
         LA    RUCB,ZEROO(0,RUCB)      CLEAR HI ORDER BYTE              08100002
         L     RTE,UTEADR(0,RUCB)      LOAD USER TE ADR                 08150002
         LTR   RTE,RTE                 TEST IF TE ADR EXIST             08200002
         BC    8,SPLOOP                BRANCH IF NO                     08250002
         TM    TEFLGS(RTE),TE          IS THIS A TASK ENTRY BLOCK       08300002
         BC    14,SPLOOP               BRANCH IF NO                     08350002
         L     R9,RSVD(GACBR)          LOAD GACB REB FIELD              08400002
         LTR   R9,R9                   TEST IF REB ADR EXITS            08450002
         BC    8,SP23                  BRANCH IF NO                     08500002
         LA    RCODE,PGACB             INDICATE PREVIOUSLY SPARED       08550002
         B     XCTLMSG                 GO INVOKE MSG RTN         S21016 08600002
*                                                                       08650002
*                   PICK UP CURRENT TCB ADDRESS                         08700002
*                                                                       08750002
SP23     L     R14,CVTPTR              LOAD ADR OF CVT                  08800002
         L     R14,ZEROO(R14)          LOAD PTR TO TCB DOUBLE WORD      08850002
         L     R14,CURTCB(R14)         LOAD CURRENT TCB ADDRESS         08900002
         LA    R14,ZEROO(R14)          CLEAR HI-ORDER BYTE              08950002
         L     R9,TETCB(RTE)           LOAD TE TCB ADR                  09000002
         LA    R9,ZEROO(R9)             CLEAR HI-ORDER BYTE             09050002
         CR    R14,R9                  CURRENT TCB EQU TETCB (MVT?)     09100002
         BNE   SPMVT                   BRANCH IF NO                     09150002
         EJECT                                                          09200002
*                                                                       09250002
SP05     L     PAREG0,TEGIR(0,RTE)     LOAD INTERFACE ROUTINE ADR       09300002
         CIRB  EP=(0),SVAREA=YES,WKAREA=4                               09350002
         LR    R12,PAREG1              SAVE IRB ADR                     09400002
         LOAD  EP=IGG019OK         LOAD ATTNINQ CONTROL SECTION         09450002
         LR    R9,PAREG0             SAVE ADDRESS IGG0190K   LG @ZM2357 09500000
         L     PAREG0,REQUEST          BYTE REQUEST TO PARAM REG        09550002
         GETMAIN R,LV=(0)                                               09600002
         XC    0(40,PAREG1),0(PAREG1)  CLEAR CORE                       09650002
         USING TCB,R14               R14 HAS TCB ADDR        LG @ZM2357 09660000
         MODESET  EXTKEY=TCB,WORKREG=11  SET KEY TO USER     LG @ZM2357 09670000
         LR    PAREG0,R9             RESTORE PAREG0          LG @ZM2357 09680000
         ST    PAREG0,ATTN(GACBR)    STR ADDR IN GACB+48     LG @ZM2357 09690000
         ST    PAREG1,RSVD(GACBR)      STORE REB ADR IN GACB            09700002
         MODESET  EXTKEY=SUPR                                LG @ZM2357 09710000
         DROP  R14                                           LG @ZM2357 09720000
         ST    GACBR,RTNGACB(PAREG1)   GACB ADR TO REB                  09750002
         LTR   R10,R10                 REG=0                            09800002
         BC    8,SP15                  BRANCH IF YES                    09850002
         ST    R10,RTNUCB(PAREG1)      STORE PTR TO LIST OF UCB PTRS    09900002
         OI    RTNFLGS(PAREG1),MULTI   INDICATE UCB ADR IS A PTR AND    09950002
*                                      NOT A UCB ADR                    10000002
         STC   R13,RTNFLGS+1(PAREG1)   STORE # OF EXTENTS IN REB        10050002
         B     SP16                    BRANCH                           10100002
SP15     ST    RUCB,RTNUCB(PAREG1)     STORE UCB ADR IN REB             10150002
SP16     ST    R12,RTNIRB(PAREG1)      IRB ADR TO REB                   10200002
         ST    R14,RTNTCB(PAREG1)      STORE CURRENT TCB ADR IN REB     10250002
         L     R9,ZERO                 LOAD ZERO                        10300002
         IC    R9,0(PARMR)             INSERT PRIORITY                  10350002
         STH   R9,PRTY(PAREG1)         PRIORITY TO REB                  10400002
         XC    NXTAVL(32,R12),NXTAVL(R12)   ZERO CORE                   10450002
         LA    R9,IQE(0,R12)           LOAD IQE ADR                     10500002
         ST    R9,NXTAVL(R12)          STORE IN IRB NEXT AVL FLO        10550002
         ST    R12,IRBIQE(R9)          IRB ADR TO IQE                   10600002
         ST    R14,IQETCB(R9)          STORE CURRENT TCB ADR IN IQE     10650002
         L     R9,TERTN(0,RTE)         LOAD REB PTR (FIRST)             10700002
         LTR   R9,R9                   ANY REBS                         10750002
         BC    7,SP08                  BRANCH IF YES                    10800002
         CLI   ENABL1,XDUMY             FORCE PAGE-IN         LB  AOS/1 10850002
         EJECT                                                          10900002
*        SSM   ZERO                    DISABLE ALL INTERRUPTS           10950002
         ST    RTE,RTNB(PAREG1)        TE ADR TO RTNB FLD               11000002
         OI    RTNFLGS(PAREG1),RENO    INDICATE PTR TO A TE             11050002
         ST    PAREG1,TERTN(RTE)       REB ADR TO TE                    11100002
*        SSM   SYSMSK                  ENABLE                           11150002
ENABL1   EQU   *                        END OF DISABLED CODE  LB  AOS/1 11200002
SPLOOP   LA    RLISTC,NEXT(0,RLISTC)   INCREMENT CURRENT LIST PTR       11250002
         LA    R10,ZEROO               ZERO MULTI DEVICE REG            11300002
         BCT   LENREG,SP01             BRANCH IF MORE GACBS TO SERVICE  11350002
         L     RCODE,ZERO              LOAD RETURN CODE                 11400002
         SVC   EXIT                    RETURN TO USER                   11450002
SP08     CLC   PRTY(2,R9),PRTY(PAREG1) NEW PRIORITY HIGHEST             11500002
         BC    2,SP09                  BRANCH IF NO                     11550002
         BC    8,SP11                  BRANCH IF PRIORITYS EQUAL        11600002
         CLI   ENABL2,XDUMY             FORCE PAGE-IN         LB  AOS/1 11650002
*        SSM   ZERO                    DISABLE ALL INTERRUPTS           11700002
SP13     MVC   RTNF(4,PAREG1),TERTN(RTE) MOVE LOWER PRTY REG ADR TO     11750002
*                                        RTNF FLD OF HIGHEST PRTY REB   11800002
         MVC   RTNB(4,PAREG1),RTNB(R9) MOVE LOWER PRTY REB RTNB FLD     11850002
*                                      TO HIGHER PTRY REB RTNB FLD      11900002
         OI    RTNFLGS(PAREG1),RENO    INDICATE HIGHER PRTY REB RTNB    11950002
*                                      FLD POINTS TO A TE               12000002
         ST    PAREG1,RTNB(R9)         PLACE HIGHER PRTY REB ADR INTO   12050002
*                                      RTNB FLD OF LOWER PRTY REB       12100002
         NI    RTNFLGS(R9),OFF         TURN OFF TE FLAG IN LOWER        12150002
*                                      PRTY REB                         12200002
         ST    PAREG1,TERTN(RTE)       NEW HI PRTY REB ADR TO TE REB FD 12250002
*        SSM   SYSMSK                  ENABLE                           12300002
ENABL2   EQU   *                        END OF DISABLED CODE  LB  AOS/1 12350002
         B     SPLOOP                  BRANCH                           12400002
SP09     CLC   RTNF(4,R9),ZERO         IS THERE A LOWER PRTY REB        12450002
         BC    7,SP10                  BRANCH IF YES                    12500002
         CLI   ENABL3,XDUMY             FORCE PAGE-IN         LB  AOS/1 12550002
*        SSM   ZERO                    DISABLE ALL INTERRUPTS           12600002
         ST    PAREG1,RTNF(R9)         REB ADR TO LOWER PRTY REB PTR IN 12650002
*                                      RTNF FLD OF HIGER PRTY REB       12700002
         ST    R9,RTNB(PAREG1)         SET LOWER PRTY REB RTNB FLD TO   12750002
*                                      POINT TO HIGHER PRTY REB         12800002
*        SSM   SYSMSK                  ENABLE                           12850002
ENABL3   EQU   *                        END OF DISABLED CODE  LB  AOS/1 12900002
         B     SPLOOP                  BRANCH                           12950002
         EJECT                                                          13000002
SP10     L     R9,RTNF(0,R9)           LOAD ADR OF NEXT LOWER PRTY REB  13050002
         CLC   PRTY(2,R9),PRTY(PAREG1) PRESENT REB PRTY HIGHER THAN     13100002
*                                      NEW REB PRTY                     13150002
         BC    2,SP09                  BRANCH IF YES                    13200002
         BC    8,SP11                  BRANCH IF PRTYS EQUAL            13250002
         B     SP12                    BRANCH                           13300002
SP11     TM    RTNFLGS(R9),MULTI       PRESENT REB CONTAIN UCB ADR      13350002
         BC    1,SP17                  BRANCH IF NO                     13400002
         TM    RTNFLGS(PAREG1),MULTI   NEW REB CONTAIN UCB ADR          13450002
         BC    1,SP18                  BRANCH IF NO                     13500002
         B     SP19                    BRANCH                           13550002
SP17     TM    RTNFLGS(PAREG1),MULTI   NEW REB CONTAIN UCB ADR          13600002
         BC    1,SP19                  BRANCH IF NO                     13650002
         B     SP21                    BRANCH                           13700002
SP19     CLC   RTNUCB+1(3,R9),RTNUCB+1(PAREG1)   UCB ADRS EQUAL         13750002
         BC    7,SP09                  BRANCH IF NO                     13800002
         B     SP12                    BRANCH                           13850002
SP18     SR    R13,R13                 CLEAR REG                        13900002
         IC    R13,RTNFLGS+1(PAREG1)   IN SERT  # OF EXTENTS            13950002
         L     R10,RTNUCB(PAREG1)      LOAD PTR TO UCB ADRS             14000002
SP20     CLC   RTNUCB+1(3,R9),ONE(R10)  UCB ADRS COMPARE                14050002
         BC    8,SP12                   BRANCH IF YES                   14100002
         LA    R10,NEXT(0,R10)         LOAD PTR TO NEXT UCB ADR         14150002
         BCT   R13,SP20                BRANCH IF MORE TO CHECK          14200002
         B     SP09                     BRANCH                          14250002
SP21     L     R10,RTNUCB(0,R9)         LOAD PTR TO UCB PTRS            14300002
         SR    R13,R13                  CLEAR REG                       14350002
         IC    R13,RTNFLGS+1(R9)        INSERT # OF EXTENTS             14400002
SP22     CLC   RTNUCB+1(3,PAREG1),ONE(R10) UCB ADRS COMPARE             14450002
         BC    8,SP12                  BRANCH IF YES                    14500002
         LA    R10,NEXT(0,R10)         LOAD PTR TO NEXT UCB ADR         14550002
         BCT   R13,SP22                BRANCH IF MORE                   14600002
         B     SP09                    BRANCH                           14650002
SP12     EQU   *                                              LB  AOS/1 14700002
         CLI   ENABL4,XDUMY             FORCE PAGE-IN         LB  AOS/1 14750002
*        SSM   ZERO                     DISABLE INTERRUPTS              14800002
         TM    RTNFLGS(R9),RENO        PRESENT POINT TO A TE            14850002
         BC    1,SP13                  BRANCH IS YES                    14900002
         L     R11,RTNB(0,R9)          LOAD PREVIOUS REB ADR            14950002
         MVC   RTNF(4,PAREG1),RTNF(R11) MOVE PREVIOUS REB RTNF FLD TO   15000002
*                                       NEW PREVIOUS REB RTNF FLD TO    15050002
         ST    PAREG1,RTNF(R11)        SET PREVIOUS REB RTNF FLD TO     15100002
*                                      ADR OF NEW REB                   15150002
         MVC   RTNB(4,PAREG1),RTNB(R9) SET NEW REB RTNB EQUAL PRESENT   15200002
*                                      REB RTNB FLD                     15250002
         ST    PAREG1,RTNB(R9)         SET PRESENT REB RTND FLD EQUAL   15300002
*                                      NEW REB ADR                      15350002
*        SSM   SYSMSK                  ENABLE                           15400002
ENABL4   EQU   *                        END OF DISABLED CODE  LB  AOS/1 15450002
         B     SPLOOP                  BRANCH                           15500002
         EJECT                                                          15550002
*                                                                       15600002
*                   BEGIN OPTION 4 CHECK FOR VIOLATIONS                 15650002
*                                                                       15700002
SPMVT    LR    R12,R14                 LOAD ADDRESS OF CURRENT TCB      15750002
         L     PAREG1,JSTCB(R12)       LOAD JOBSTEP TCB ADR             15800002
         LA    PAREG1,ZEROO(PAREG1)    CLEAR HI-ORDER BYTE              15850002
         CR    R12,PAREG1              CURRENT TCB = JOBSTEP TCB        15900002
         BNE   SPMVT01                 BRANCH IF NO                     15950002
SPMVT00  LA    RCODE,MVTERR            LOAD RETURN CODE - VIOLATES MVT  16000002
         B     XCTLMSG                 GO INVOKE MSG RTN         S21016 16050002
         USING TCB,R12                                       LG @ZM2357 16060000
*                                                                       16100002
SPMVT01  L     R11,TCBOTC        LOAD TCB'S ORIGINATING TCB  LG @ZM2357 16150000
SPMVT02  LA    R11,ZEROO(R11)          CLEAR HI-ORDER BYTE              16200002
         LTR   R11,R11                 CHECK FOR ZERO         LB  AOS/1 16250002
         DROP  R12                                           LG @ZM2357 16260000
         BZ    SPMVT00                 ERROR IF TCBOTC=0      LB  AOS/1 16300002
         CR    R9,R11                  DOES TCBOTC = TETCB              16350002
         BE    SP05                                                     16400002
         CR    R11,PAREG1              TCBOTC = JOBSTEP TCB             16450002
         BE    SPMVT00                 BRANCH IF YES                    16500002
         USING TCB,R11                                       LG @ZM2357 16510000
         L     R11,TCBOTC                                    LG @ZM2357 16550000
         B     SPMVT02                                                  16600002
         DROP  R11                                           LG @ZM2357 16610000
         EJECT                                                          16650002
XCTLMSG  EQU   *                       SET UP TO XCTL TO MSG RTN S21016 16700002
         LR    R7,RCODE                PASS RETURN CODE          S21016 16750002
         L     R9,CVTPTR               CVT ADDRESS               S21016 16800002
         L     R9,D0(R9)               ADDR TCB WORDS            S21016 16850002
         L     R9,D4(R9)               CURRENT TCB ADDR          S21016 16900002
         L     R9,D0(R9)               CURRENT RB ADDR           S21016 16950002
         LA    RCODE,D96(R9)           ADDR SUPVSR PARM LIST     S21016 17000002
         LA    R9,D104(R9)             ADDR FOR EP NAME          S21016 17050002
         ST    R9,D0(RCODE)            WORD1=ADDR EP NAME        S21016 17100002
         SR    R9,R9                                             S21016 17150002
         ST    R9,D4(RCODE)            WORD2=0 (DCB ADDR)        S21016 17200002
         MVC   D8(D8,RCODE),EPMSGRTN   NAME OF MSG RTN           S21016 17250002
         XCTL  MF=(E,(1)),SF=(E,(15))  TRANSFER CONTROL          S21016 17300002
EPMSGRTN DC    CL8'IGC0107C'           NAME FOR MSG MODULE       S21016 17350002
R7       EQU   7                                                 S21016 17400002
D0       EQU   0                                                 S21016 17450002
D4       EQU   4                                                 S21016 17500002
D8       EQU   8                                                 S21016 17550002
D96      EQU   96                                                S21016 17600002
D104     EQU   104                                               S21016 17650002
         DS    0F                                                       17700002
ZERO     DC    1F'0'                                                    17750002
REQUEST  DC    X'E9'                    SP 233 FOR REB        LB  A0S/1 17800002
         DC    AL3(40)                 BYTE REQUEST FOR REB             17850002
SYSMSK   DC    2XL1'FF'                                                 17900002
         CNOP  0,8                                                      17950002
         IKJTCB                                              LG @ZM2357 17960000
         END                                                            18000002
