         TITLE ' IGC1206F - LOCAL TEST CONTROL '                        00800000
IGC1206F CSECT                                                          01600000
*********************************************************************** 01610000
*               IGC1206F - LOCAL TEST CONTROL                         * 01620000
*********************************************************************** 01630000
*                                                                     * 01640000
* STATUS:                                                             * 01650000
*    CHANGE LEVEL 000           NOVEMBER 11, 1971                     * 01660000
*                                                                     * 01670000
* FUNCTION:                                                           * 01680000
*    THIS MODULE SETS UP THE CHANNEL PROGRAM FOR LOCAL 3270 ON-LINE   * 01690000
*    TEST AND SELECTS THE APPROPRIATE SECOND SVC 66 (ACCORDING TO     * 01700000
*    THE VALUE OF XX) AND XCTL'S TO IT.                               * 01710000
*                                                                     * 01720000
* ENTRY:                                                              * 01730000
*         TO THE FIRST EXECUTABLE INSTRUCTION VIA XCTL FROM           * 01740000
*         IGC0006F.                                                   * 01750000
*                                                                     * 01760000
* INPUT:                                                              * 01770000
*    REGISTER 1 - ADDRESS OF THE IOB.                                 * 01780000
*    IOBERINF - ADDRESS OF THE START OF THE RFT IN THE USER'S         * 01790000
*    BUFFER.                                                          * 01800000
*                                                                     * 01810000
* OUTPUT:                                                             * 01820000
*                                                                     * 01830000
*    REGISTER 4 - BINARY XX VALUE                                     * 01840000
*    IOBERINF+4 (1 BYTE) - BINARY XX VALUE                            * 01850000
*    IOBERINF+5 (1 BYTE) - BINARY YY VALUE                            * 01860000
*    IOBWORK+2 (1 BYTE) - BINARY YY VALUE (COUNTER)                   * 01870000
*    IOBCPA (8 BYTES) - ERASE/WRITE CCW WITH ADDRESS OF NEXT BYTE     * 01880000
*    IN USER'S BUFFER PAST THE RFT. THE FLAGS AND COUNT ARE ZERO.     * 01890000
*    IOBSTART - ADDRESS OF IOBCPA                                     * 01900000
*                                                                     * 01910000
* EXTERNAL REFERENCES:                                                * 01920000
*         XCTL (TO NEXT ON-LINE TEST SVC 66 LOAD)                     * 01930000
*                                                                     * 01940000
* EXITS, NORMAL:                                                      * 01950000
*         XCTL TO IGC0E06F (FOR TESTS 23 AND 24)                      * 01960000
*         XCTL TO IGC0F06F (FOR TESTS 26 AND 27)                      * 01970000
*         XCTL TO IGC1306F (FOR TEST 28)                              * 01980000
*         XCTL TO IGC1406F (FOR TEST 25)                              * 01990000
*                                                                     * 02000000
* EXITS, ERROR:                                                       * 02010000
*         NONE                                                        * 02020000
*                                                                     * 02030000
* TABLES/WORK AREAS:                                                  * 02040000
*         NONE                                                        * 02050000
*                                                                     * 02060000
* ATTRIBUTES:                                                         * 02070000
*    TRANSIENT, RE-ENTRANT.                                           * 02080000
*                                                                     * 02090000
* CHARACTER CODE DEPENDENCY:                                          * 02100000
*    NONE                                                             * 02110000
*                                                                     * 02120000
*********************************************************************** 02130000
       EJECT                                                            02140000
*/*IGC1206F: CHART*/                                                    02400000
*/* E IGC1206F*/                                                        03200000
*/* P CONVERT XX AND YY VALUES TO BINARY AND STORE IN IOB*/             04000000
*/* P GET ADDRESS OF DATA AND SET UP ERASE/WRITE CCW*/                  04800000
*/* P PUT CCW ADDRESS IN IOBSTART*/                                     05600000
*/* P GET ID OF NEXT MODULE*/                                           06400000
*/* R XCTL TO NEXT LOAD*/                                               07200000
*/*IGC1206F: END*/                                                      08000000
       EJECT                                                            08400000
         SPACE 2                                                        08800000
*        ESTABLISH ADDRESSABILITY                                       09600000
         SPACE                                                          10400000
         BALR  BASEREG,0           SET UP BASE REG                      11200000
         USING *,BASEREG                                                12000000
         USING IECTIOB,IOBREG                                           12800000
         USING RFTMSG,RFTREG                                            13600000
         B     GETRFT              BRANCH AROUND ID USED TO             14400000
         DC    C'IGC1206F'         FIND MODULE IN DUMP                  15200000
         SPACE 2                                                        16000000
*        CONVERT XX AND YY VALUES TO BINARY AND STORE IN                16800000
*        APPROPRIATE FIELDS OF IOB                                      17600000
         SPACE                                                          18400000
GETRFT   L     RFTREG,IOBERINF     GET RFT ADDR                         19200000
         PACK  IOBERINF(8),TESTNUMB CONVERT TEST NUMBER (XX)            20000000
         CVB   BINXXREG,IOBERINF   TO BINARY                            20800000
         PACK  IOBERINF(8),PASSCNT CONVERT NUMBER OF TESTS              21600000
         CVB   WORKREG1,IOBERINF   (YY) TO BINARY                       22400000
         ST    RFTREG,IOBERINF     PUT RFT ADDR BACK                    23200000
         STC   BINXXREG,IOBERINF+4 PUT BINARY XX AND YY VALUES          24000000
         STC   WORKREG1,IOBERINF+5 IN IOBERINF                          24800000
         STC   WORKREG1,IOBWORK+2  PUT YY VALUE IN COUNTER              25600000
*                                  USED BY IGG019PI                     26400000
         SPACE 2                                                        27200000
*        GET ADDRESS OF DATA AND SET UP ERASE/WRITE CCW                 28000000
         SPACE                                                          28800000
         LA    DATADDR,DATA(RFTREG)                                     29600000
         ST    DATADDR,IOBCPA      PUT DATA ADDR IN CCW                 30400000
         MVI   IOBCPA,EWCMD        PUT ERASE/WRITE CMD IN CCW           31200000
*                                  IN CCW                               32000000
         XC    IOBCPA+4(4),IOBCPA+4 ZERO OUT FLAGS AND COUNT            32800000
*                                  IN CCW                               33600000
         SPACE 2                                                        34400000
*        PUT CCW ADDRESS IN IOBSTART                                    35200000
         SPACE                                                          36000000
         LA    WORKREG1,IOBCPA     GET ADDR OF CHAN PGM AREA            36800000
         ST    WORKREG1,IOBSTART   STORE IN IOBSTART                    37600000
         SPACE 2                                                        38400000
*        GET ID OF NEXT MODULE AND XCTL TO IT                           39200000
         SPACE                                                          40000000
         CLI   IOBERINF+4,TWENTY8  IS IT TEST # 28 ?                    40800000
         BE    USE1306F            YES, SET UP FOR IGC1306F             41600000
         CLI   IOBERINF+4,TWENTY5  IS IT TEST # 25 ?                    42400000
         BE    USE1406F            YES, SET UP FOR IGC1406F             43200000
         BL    USE0E06F            TESTS 23&24, SET UP FOR              44000000
*                                  IGC0E06F                             44800000
         MVI   IOBERCCW+3,C'0'     TESTS 26 & 27, SET UP TO LOAD        45600000
         MVI   IOBERCCW+4,C'F'     IGC0F06F                             46400000
         B     LOADIT              GO XCTL                              47200000
USE0E06F EQU   *                                                        48000000
         MVI   IOBERCCW+3,C'0'     TESTS 23 & 24, SET UP TO LOAD        48800000
         MVI   IOBERCCW+4,C'E'     IGC0E06F                             49600000
         B     LOADIT              IGC0E06F                             50400000
USE1306F EQU   *                                                        51200000
         MVI   IOBERCCW+4,C'3'     TEST 28, SET UP TO LOAD              52000000
         B     LOADIT              IGC1306F                             52800000
USE1406F EQU   *                                                        53600000
         MVI   IOBERCCW+4,C'4'     TEST 25, LOAD IGC1406F               54400000
LOADIT   EQU   *                                                        55200000
         LA    WORKREG1,IOBERCCW   GET ADDR OF LOAD NAME                56000000
         XCTL  EPLOC=(3)                                                56800000
         SPACE 2                                                        57600000
*        REGISTER EQUATES                                               58400000
         SPACE                                                          59200000
IOBREG   EQU   1                   ADDR OF IOB                          60000000
RFTREG   EQU   2                   ADDR OF RFT MSG                      60800000
WORKREG1 EQU   3                   WORK REG                             61600000
BINXXREG EQU   4                   BINARY VALUE OF XX                   62400000
DATADDR  EQU   5                                                        63200000
BASEREG  EQU   12                  BASEREG                              64000000
         SPACE 2                                                        64800000
*        MISCELLANEOUS EQUATES                                          65600000
         SPACE                                                          66400000
DATA     EQU   10                  DISP OF DATA PAST START OF           67200000
*                                  RFT IN USER'S BUFFER                 68000000
EWCMD    EQU   X'05'               ERASE/WRITE COMMAND                  70400000
TWENTY8  EQU   X'1C'               TEST # 28                            73600000
TWENTY5  EQU   X'19'               TEST # 25                            74400000
         SPACE 2                                                        75200000
*        STORAGE                                                        76000000
         SPACE                                                          76800000
ID0E     DC    C'IGC0E06F'         ID FOR TESTS 23 & 24                 77600000
ID0F     DC    C'IGC0F06F'         ID FOR TESTS 26 & 27                 78400000
ID13     DC    C'IGC1306F'         ID FOR TEST 28                       79200000
ID14     DC    C'IGC1406F'         ID FOR TEST 25                       80000000
         SPACE 2                                                        80800000
*        DSECTS                                                         81600000
RFTMSG   DSECT                                                          82400000
         DS    0F                                                       83200000
SOHPERC  DS    CL2                                                      84000000
TESTNUMB DS    CL2                                                      84800000
PASSCNT  DS    CL2                                                      85600000
ADBYTCNT DS    CL1                                                      86400000
CUUADDR  DS    CL3                                                      87200000
         SPACE 2                                                        88000000
         IECTIOBX                                                       88800000
         END                                                            89600000
