*COMDECK BSCMLI 
          NAM    BSCMLI 
          NLS 
*CALL MUXMACROS 
*CALL REL6CONST 
          LST 
          EJT 
          EXT    EB9DC
          EXT    EB6DC
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     BSC TIP MAIN LEVEL INPUT TEXTPROCESSING DEFINITIONS             * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
* 
* * * CONTROL CODE
* 
          EQU    S1STX($02)   STX 
          EQU    S1DLE($10)   DLE 
          EQU    S1IUS($1F)   IUS 
          EQU    S1IGS($1D)   IGS 
          EQU    S1BYP($24)   BYP 
          EQU    S1ETB($26)   ETB 
          EQU    S1ETX($03)   ETX 
          EQU    S1CNTL($40) *    MAXIMUM CONTROL CHARACTER 
          SPC    2
* 
* * * NUMBERS 
* 
          EQU    S1ZERO($00)  0 
          EQU    S1ONE($01)   1 
          EQU    S1TWO($02)   2 
          EQU    S1FIVE($05)  5 
          EQU    S1TEN($0A)   10
          EQU    S179($4F)    79
          EQU    S180($50)   80 
          EQU    S181($51)   81 
          SPC    2
* 
* * * CHARACTERS
* 
          EQU    S1E($C5)     E 
          EQU    S1I($C9)     I 
          EQU    S1O($D6)     O 
          EQU    S1R($D9)     R 
          EQU    S1T($E3)     T 
          EQU    S1COLON($7A) COLON 
          EQU    S1SLASH($61) / 
          EQU    S1STAR($5C)  * 
          EQU    S1BLANK($40) BLANK 
          EQU    S1N0($F0)    EBCDIC - 0
          EQU    S1NOVER($F8) EBCDIC CHAR ONE OVER 7
          EQU    S1EOR($3F)   EBCDIC 7/8/9 PUNCH
          EQU    S1ETWO($F2)  2 
          EQU    S1ESIX($F6)  6 
          EQU    S1ENIN($F9)  9 
          SPC    2
* 
* * * MUX LCB FLAGS 
* 
          EQU    S9JOBON(NCUOP1)   JOB CARD SEEN
          EQU    S9TR(NCUOP2) *    DATA TRANSPARENCY
          EQU    S9P26(NCUOP3)     026 CODE SET 
          EQU    S9DC64(NCUOP4)    DISPLAY CODE 64 USED IN THE SYSTEM 
          EQU    S9DLE(NCUOP5)     DLE SEEN - TERMINAL TRANSPARENCY 
          EQU    S9EOR(NCUOP6)     LAST CARD IS EOR 
*         TERMINAL TRANSPARENT MODE FLAGS 
          EQU    S9EOIDL(NCUOP7)   DLE ON /*EOI CARD
          EQU    S9EOITT(NCUOP8)   1ST CHAR AFTER /*EOI CARD
          SPC    2
* 
* * * BUFFER FLAGS
* 
          EQU    S9FEOD($001) *    END OF DATA
          EQU    S9FEOI($010)     END OF INFORMATION
          EQU    S9FEOR($008)     END OF RECORD 
          EQU    S9FTR($004) *    TRANSPARENT DATA
          SPC    2
* 
* * * COUNTERS
* 
          EQU    S9BLANK(1)   *    BLANK COUNT
          EQU    S9COLCNT(2)  *    COLUMN COUNT 
          EQU    S7BLANK(4)   *    BLANK COUNT POSITION IN TPCB 
          EQU    S7COLCNT(10) *    COLUMN COUNT POSITION IN TPCB
          SPC    2
* 
* * * FILE REGISTERS
* 
          EQU    S9CURC(0)   *    CURRENT CHARACTER 
          EQU    S9COLON($03) *    POSITION OF THE LAST COLON 
          EQU    S9CARD($04)  *    NUMBER OF CARDS PROCESSED
          EQU    S9NUL1($05)  *    REGISTER THAT IS CLEAR 
          EQU    S9NUL2($06)  *    WORKING REGISTER 
          EQU    S9NUL3($07)  *    WORKING REGISTER 
          EQU    S9NUL4($08)  *    WORKING REGISTER 
          EQU    S9RADDC($09) *    CONSTANT 80 FOR RADDC CHECK
          EQU    S9BUFC($0E) *      BUFFER OVERFLOW COUNTER = 0 
          SPC    2
* 
* * * SPECIAL CHARACTERS
* 
          EQU    S1MK6($3F)   MASK FOR COMPRESSED BLANK COUNT AFTER IGS 
          EQU    S1MK7($1F)   MASK FOR COMPRESSED BLANK COUNT AFTER BYS 
          EQU    S1FCD($C)   FCD
* 
* * * TRANSLATION TABLES
* 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*        BSC MAIN LEVEL INPUT TEXTPROCESSING BATCH JOB STATE TABLE    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3IST     MAC    NM           *    MACRO TO CREATE BSC ML BATCH 
*                             *    INPUT TEXTPROCESSING STATE TABLE 
          EQU    S3I"NM"(*-S3ISPT)
          ADC    S3"NM" 
          EMC 
* 
* 
* 
          ENT    S3ISPT 
          EQU    S3ISPT(*)
          S3IST  000          *    END OF SOURCE
          ADC    S3000        *    UNUSED STATE 
          S3IST  100          *    INITIALIZATION FOR BATCH JOB 
          S3IST  120          *    INITIAL PROCESS FOR A BATCH CARD 
          S3IST  130         *    PROCESS 1ST CHAR BEYOND COL 80
          S3IST  135         *    PROCESS CHAR AFTER DLE AT END OF CARD 
          S3IST  140          *    PREPROCESS CONTROL CHARACTERS
          S3IST  160          *    COLUMN 1 PROCESS 
          S3IST  180          *    NON-TRANSPARENT CARD 
          S3IST  240          *    PROCESS 026/029 CHANGE 
          S3IST  260          *    PROCESS CHAR AFTER IGS 
          S3IST  270          *    PROCESS CHAR AFTER BYP 
          S3IST  280          *    DLE SEEN ON DLE MODE NON-TRANSPARENT 
          S3IST  300          *    TRANSPARENT MODE PREPROCESS
          S3IST  320          *    DATA AND TERMINAL TRANSPARENT MODE 
          S3IST  340          *    DLE SEEN ON TRANSPARENT MODE 
          S3IST  360          *    DATA TRANSPARENT,NOT TERM XPARENT
          S3IST  400          *    PROCESS END OF CARD
          S3IST  430         *    LOOK FOR ETB AND ETX FOLLOWING IUS
          S3IST  440          *    PROCESS CHARACTER AFTER /
          S3IST  450          *    PROCESS CHARACTER AFTER /* 
          S3IST  460          *    PROCESS CHARACTER AFTER /*E
          S3IST  470          *    PROCESS CHARACTER AFTER /*EO 
          S3IST  500          *    DISCARD CHARACTERS AT THE END OF JOB 
          S3IST  520          *    DISCARD CHARACTERS ON A DUMMY CARD 
          S3IST  540          *    PROCESS LEVEL NUMBER 1 ON EOR CARD 
          S3IST  560          *    PROCESS LEVEL NUMBER 2 ON EOR CARD 
          S3IST  580          *    CHAR AFTER LEVEL NUMBERS ON EOR CARD 
          S3IST  600          *    IGS SEEN ON S3I580 
          S3IST  620          *    BYP SEEN ON S3I580 
          S3IST  660          *    POSSIBLE 026/029 CODE CHANGE ON EOR
          S3IST  680          *    PROCESS POSSIBLE TR CHANGE ON EOR
          S3IST  850          *    PROCESS ACCOUNTING DATA AT END OF SOURCE 
          S3IST  900          *    PROCESS END OF DATA
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I000                                                * 
*                                                                     * 
*     PURPOSE - END OF SOURCE OF A BATCH JOB                          * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3000     TPEXIT
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I100                                                * 
*                                                                     * 
*     PURPOSE - INITIALIZATION FOR A BATCH JOB                        * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3100     ALNBUF S1FCD        *    GET A NEW BUFFER 
          ADDC   S1ZERO      *    ADD DUMMY FOR CHAR ALIGNMENT
          SETRAN              *    SET TRANSLATION FLAG 
          TSTMXF S9JOBON,S3102     SKIP IF JOB CARD SEEN
          RSTMXF S9TR         *    CLEAR TR FLAG
          TSTMXF S9P26,S3104  *    SKIP IF 026
          STRNTB EB9DC        *    SET 029 TRANSLATION TABLE
          JUMP   S3I120 
S3102     TSTMXF S9TR,S3106   *    SKIP IF TR FLAG
          JUMP   S3I120 
S3104     STRNTB EB6DC        *    SET 026 TRANSLATION TABLE
          JUMP   S3I120 
S3106     RSTRAN              *    TURN OFF TRANSLATION 
          SETFLG S9FTR,CURN   *    MARK TR FLAG ON BUFFER 
          JUMP   S3I120 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I120                                                * 
*                                                                     * 
*     PURPOSE - INITIAL PROCESS FOR A BATCH CARD                      * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3120     RSTMXF S9DLE        *    CLEAR DLE FLAG 
          TPMOVE S9NUL1,S9COLON    CLEAR COLON POSITION COUNT 
          TPSTR  S9NUL1,S7BLANK    CLEAR BLANK COUNT
          TPST   S9NUL1,S7COLCNT   CLEAR COLUMN COUNT 
          TPSTL  S9NUL1,S9BUFC     CLEAR BUFFER COUNT 
          TSTMXF S9EOITT,S3122    SKIP IF CARD FOLLOWS /*EOI IN TERMINAL
*                                  TRANSPARENT MODE 
          JUMP   S3I140 
S3122     RSTMXF S9EOITT     *    CLEAR FLAG
          SETMXF S9DLE       *    SET TERMINAL TRANSPARENT MODE FLAG
          TSTMXF S9EOIDL,S3124    SKIP IF 1ST CHAR FOLLOWS DLE
          JUMP   S3I160 
S3124     RSTMXF S9EOIDL     *    CLEAR FLAG
          JUMP   S3I280 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I130                                                * 
*                                                                     * 
*     PURPOSE - PROCESS 1ST CHARACTER BEYOND COLUMN 80 FOR A BATCH    * 
*               CARD IN TERMINAL TRANSPARENT MODE - 3780 PERMITS 480  * 
*               CHARACTER (6-CARD) BLOCK                              * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3130     TPMOVE S9NUL1,S9COLON   CLEAR COUNT 
          TPSTR  S9NUL1,S7BLANK   SAME
          TPST   S9NUL1,S7COLCNT  SAME
          CHARNE S1DLE,S3131 *    SKIP IF NOT DLE 
          STATE  S3I135,EXIT
S3131     TSTMXF S9TR,S3132  *    SKIP IF TR MODE 
          JUMP   S3I160      *    NOT DATA TRANSPARENT MODE 
S3132     JUMP   S3I300      *    DATA TRANSPARENT MODE 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I135                                                * 
*                                                                     * 
*     PURPOSE - PROCESS CHARACTER AFTER DLE AT END OF BATCH CARD      * 
*               (COLUMN 80+) IN TERMINAL TRANSPARENT MODE             * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3135     CHARNE S1IUS,S3136 *    SKIP IF NOT IUS 
          STATE  S3I120,EXIT *    PROCESS NEXT CARD 
S3136     CHARNE S1ETB,S3137 *    SKIP IF NOT ETB 
          JUMP   S3I850 
S3137     CHARNE S1ETX,S3138 *    SKIP IF NOT ETX 
          JUMP   S3I850 
S3138     JUMP   S3I280 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I140                                                * 
*                                                                     * 
*     PURPOSE - PREPROCESS CONTROL CHARACTERS AT BEGINNING OF         * 
*               A BATCH CARD                                          * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3140     CHARNE S1DLE,S3144  *    SKIP IF NOT DLE
          TSTMXF S9DLE,S3144 *    SKIP IF DLE ALREADY SEEN
          SETMXF S9DLE,EXIT   *    SET DLE SEEN FLAG
S3144     TSTMXF S9TR,S3145   *    SKIP IF TR MODE
          STATE  S3I160       *    NORMAL BATCH NON-TRANSPARENT PROCESS 
          SKIP   S3146        *    TEST CURR CHAR 
S3145     STATE  S3I300       *    TRANSPARENT PROCESS
S3146     CHARNE S1STX,S3148  *    SKIP IF NOT STX
          NOPR   EXIT 
S3148     RTRN                *    SKIP TO NON / TRANSPARENT PROCESS
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I160                                                * 
*                                                                     * 
*     PURPOSE - PROCESS COLUMN 1 ON A NON-TRANSPARENT BATCH CARD      * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3160     CHARNE S1SLASH,S3162     SKIP IF NOT SLASH
          TPMARK LEVEL1       *    MARK AT LEVEL 1
          STATE  S3I440,EXIT  *    LOOK FOR POSSIBLE /*EOX
S3162     CHARNE S1EOR,S3163 *    SKIP IF NOT EOR 
          TSTMXF S9JOBON,S3165     SKIP IF JOB CARD SEEN
          TSTMXF S9DLE,S3164 *     SKIP IF TERM TRANS 
          STATE  S3I520,EXIT
S3163     SKIP   S3166
S3164     ICC    S9COLCNT    * INCREMENT COLUMN COUNT 
          STATE  S3I520,EXIT
S3165     ICC    S9COLCNT    *    INCREMENT COLUMN COUNT
          STATE  S3I540,EXIT
S3166     JUMP   S3I180 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I180                                                * 
*                                                                     * 
*     PURPOSE - NORMAL PROCESS NON-TRANSPARENT CARD AFTER COLUMN 2    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3180     ICC    S9COLCNT    *    INCREMENT COLUMN COUNT
          TSTMXF S9JOBON,S3181    SKIP IF NOT JOB CARD
          CNTNE  S9COLCNT,S179,S3181  SKIP IF NOT COLUMN 79 
          CHARNE S1ETWO,S3181     SKIP IF NOT 2, AS IN 26/29
          RADDC  S1BLANK     *    EXPAND ACCUMULATED BLANKS 
          TPSTR  S9NUL1,S7BLANK   CLEAR CONSECUTIVE BLANK COUNT 
          STATE  S3I240,STOREXIT
S3181     CHARNE S1COLON,S3182    SKIP IF NOT COLON 
          TPLD   S7COLCNT,S9COLON SAVE COLUMN COUNT OF COLON
S3182     TSTMXF S9DLE,S3184 *    SKIP IF TERMINAL TRANSPARENT MODE 
          SKIP   S3190
S3184     CHARNE S1DLE,S3186 *    SKIP IF NOT DLE 
          DCC    S9COLCNT,S3185   DECREMENT COLUMN COUNT
S3185     STATE  S3I280,EXIT
S3186     CHARNE S1BLANK,S3187    SKIP IF NOT BLANK 
          ICC    S9BLANK     *    INCREMENT CONSECUTIVE BLANK COUNT 
          SKIP   S3188
S3187     RADDC  S1BLANK     *    EXPAND ACCUMULATED BLANKS 
          TPSTR  S9NUL1,S7BLANK   CLEAR CONSECUTIVE BLANK COUNT 
          STORE              *    STORE CHARACTER 
S3188     CNTNE  S9COLCNT,S180,S3189  SKIP IF NOT COLUMN 80 
          JUMP   S3I400 
S3189     NOPR   EXIT 
* 
*         NOT TERMINAL TRANSPARENT MODE 
* 
S3190     CHARNE S1BLANK,S3191    SKIP IF NOT BLANK 
          ICC    S9BLANK,EXIT     INCREMENT CONSECUTIVE BLANK COUNT 
S3191     DCC    S9COLCNT,S3192   DECREMENT COLUMN COUNT
S3192     CHARNE S1IUS,S3194 *    SKIP IF NOT IUS 
          JUMP   S3I400 
S3194     CHARNE S1ETB,S3195 *    SKIP IF NOT ETB 
          JUMP   S3I400 
S3195     CHARNE S1ETX,S3196 *    SKIP IF NOT ETX 
          JUMP   S3I400 
S3196     CHARNE S1IGS,S3197 *    SKIP IF NOT IGS (3780 BLANK COMPRESSN)
          STATE  S3I260,EXIT
S3197     CHARNE S1BYP,S3198 *    SKIP IF NOT BYP (2780 BLANK COMPRESSN)
          STATE  S3I270,EXIT
S3198     ICC    S9COLCNT    *    INCREMENT COLUMN COUNT
S3198A    TPLDR  S7BLANK,S9NUL2     LOAD NUL2 TO TEST 
          TPCMPR S9NUL2,S9RADDC     HOW MANY BLANKS TO EXPAND 
          SKIP   S3198B      *      LESS THAN 80
          SKIP   S3198B      *      EXACTLY 80
          TPSUBR S9RADDC,S9NUL2     HOW MUCH GREATER THAN 80
          TPSTR  S9RADDC,S7BLANK    PREPARE TO
          RADDC  S1BLANK     *      EXPAND 80 BLANKS
          TPSTR  S9NUL2,S7BLANK     STORE REMAINING BLANK COUNT 
          SKIPB  S3198A      *      TEST AGAIN
S3198B    RADDC  S1BLANK     *      EXPAND ACCUMULATED BLANKS 
          TPSTR  S9NUL1,S7BLANK   CLEAR CONSECUTIVE BLANK COUNT 
          NOPR   STOREXIT 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I240                                                * 
*                                                                     * 
*     PURPOSE - PROCESS 026/029 CHANGE ON A JOB CARD                  * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3240     CHARNE S1ESIX,S3242 *    SKIP IF NOT 6
          STRNTB EB6DC        *    SET 026 TRANSLATION TABLE
          JUMP   S3I180 
S3242     CHARNE S1ENIN,S3244 *    SKIP IF NOT 9
          STRNTB EB9DC        *    SET 029 TRANSLATION TABLE
S3244     JUMP   S3I180 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I260                                                * 
*                                                                     * 
*     PURPOSE - PROCESS COMPRESSED BLANKS AFTER IGS                   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3260     TPLDR  S7BLANK,S9NUL2    LOAD BLANK COUNT TO REGISTER 
          TPLD   S7COLCNT,S9NUL3   LOAD COLUMN COUNT TO REGISTER
          CHRCC  S9BLANK,S1MK6     MASK THE COMPRESSED BLANK COUNT
          TPLDR  S7BLANK,S9NUL4    MOVE IT TO REGISTER TOO
          TPADDR S9NUL4,S9NUL2     ADD TO BLANK COUNT 
          TPADDR S9NUL4,S9NUL3     ADD TO COLUMN COUNT
* 
* * *     THE NUMBER OF COMPRESSED BLANKS IS ADDED TO THE 
* * *     BLANK AND COLUMN COUNTS 
* 
          TPSTR  S9NUL2,S7BLANK    MOVE BLANK COUNT FROM REGISTER 
          TPST   S9NUL3,S7COLCNT   MOVE COLUMN COUNT FROM REGISTER
          STATE  S3I180,EXIT
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I270                                                * 
*                                                                     * 
*                                                                     * 
*     PURPOSE - PROCESS COMPRESSED BLANK COUNT AFTER BYP              * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3270     TPLDR  S7BLANK,S9NUL2    LOAD BLANK COUNT TO REGISTER 
          TPLD   S7COLCNT,S9NUL3   LOAD COLUMN COUNT TO REGISTER
          CHRCC  S9BLANK,S1MK7     MASK THE COMPRESSED BLANK COUNT
          TPLDR  S7BLANK,S9NUL4    MOVE IT TO REGISTER
          TPADDR S9NUL4,S9NUL2     ADD TO BLANK COUNT 
          TPADDR S9NUL4,S9NUL3     ADD TO COLUMN COUNT
          TPSTR  S9NUL2,S7BLANK    MOVE BLANK COUNT BACK
          TPST   S9NUL3,S7COLCNT   MOVE COLUMN COUNT BACK 
          STATE  S3I180,EXIT
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I280                                                * 
*                                                                     * 
*     PURPOSE - DLE SEEN IN TERMINAL TRANSPARENT MODE                 * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3280     ICC    S9COLCNT    *    INCREMENT COLUMN COUNT
          RADDC  S1BLANK      *    EXPAND BLANK COUNT 
          TPSTR  S9NUL1,S7BLANK    CLEAR BLANK COUNT
          STORE 
          CNTNE  S9COLCNT,S180,S3282  SKIP IF NOT COLUMN 80 
          JUMP   S3I400 
S3282     STATE  S3I180,EXIT
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I300                                                * 
*                                                                     * 
*     PURPOSE - PREPROCESS TRANSPARENT MODE                           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3300     TSTMXF S9DLE,S3302  SKIP IF DLE MODE
          SETCC  S9BLANK,S181     INITIALIZE BLANK PADDING COUNT
          JUMP   S3I360       *    TRANSPARENT DATA NOT IN XPARENT MODE 
S3302     JUMP   S3I320       *    TRANSPARENT DATA IN TRANSPARENT MODE 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I320                                                * 
*                                                                     * 
*     PURPOSE - DATA AND TERMINAL TRANSPARENT MODE                    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3320     CHARNE S1DLE,S3322  *    SKIP IF NOT DLE
          STATE  S3I340,EXIT  *    PROCESS SPECIAL CHARACTER AFTER DLE
S3322     NOPR   STOREXIT 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I340                                                * 
*                                                                     * 
*     PURPOSE - PROCESS CHARACTER AFTER DLE - TERMINAL AND DATA       * 
*               TRANSPARENT MODES                                     * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3340     CHARNE S1IUS,S3344 *    SKIP IF NOT IUS 
          TPINCR S9CARD,S1ONE *    INCREMENT CARD COUNT 
          RSTMXF S9EOR       *     THIS CARD IS NOT EOR 
          STATE  S3I430,EXIT
S3344     CHARNE S1ETB,S3346  *    SKIP IF NOT ETB
          TPINCR S9CARD,S1ONE *    INCREMENT CARD COUNT 
          RSTMXF S9EOR       *     THIS CARD IS NOT EOR 
          JUMP   S3I850       *    END OF SOURCE PROCESS
S3346     CHARNE S1ETX,S3348  *    SKIP IF NOT ETX
          TPINCR S9CARD,S1ONE     INCREMENT CARD COUNT
          RSTMXF S9EOR       *     THIS CARD IS NOT EOR 
          JUMP   S3I850       *    SET TO END OF SOURCE STATE 
S3348     STATE  S3I320,STOREXIT   BACK TO TRANSPARENT PROCESS
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I360                                                * 
*                                                                     * 
*     PURPOSE - DATA TRANSPARENCY AND NOT TERMINAL TRANSPARENCY       * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3360     DCC    S9BLANK,S3361    DECREMENT BLANK PADDING COUNT 
S3361     CHARNE S1IUS,S3366 *    SKIP IF NOT IUS 
          RADDC  S1BLANK     *    EXPAND TO 80 COLUMNS
          TPINCR S9CARD,S1ONE *    INCREMENT CARD COUNT 
          RSTMXF S9EOR       *     THIS CARD IS NOT EOR 
          STATE  S3I430,EXIT
S3366     CHARNE S1ETB,S3368  *    SKIP IF NOT ETB
          SKIP   S3369
S3368     CHARNE S1ETX,S3370 *    SKIP IF NOT ETX 
S3369     CNTNE  S9BLANK,S180,S3371  NO XPARENT CARDS READ (END CASE) 
          JUMP   S3I850      *    GO PROCESS END OF BLOCK 
S3370     NOPR   STOREXIT 
S3371     RADDC  S1BLANK     *    EXPAND TO 80 COLUMNS
          TPINCR S9CARD,S1ONE     INCREMENT CARD COUNT
          RSTMXF S9EOR       *    THIS CARD IS NOT EOR
          JUMP   S3I850      *    END OF SOURCE PROCESS 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I400                                                * 
*                                                                     * 
*     PURPOSE - PROCESS END OF CARD, NOT TRANSPARENT DATA MODE        * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3400     TPLD   S7COLCNT,S9NUL2   MOVE COLUMN COUNT DOWN TO REGISTER 
          TPLDR  S7BLANK,S9NUL3    MOVE BLANK  COUNT DOWN TO REGISTER 
          TPSUBR S9NUL3,S9NUL2     GET THE POSITION OF LAST NONBLANK
          TPST   S9NUL2,S7COLCNT   MOVE BACK TO COLUMN COUNT
          TPINCR S9CARD,S1ONE *    INCREMENT CARD COUNT 
          RSTMXF S9EOR       *    THIS CARD IS NOT EOR
          CNTNE  S9COLCNT,S1ZERO,S3401  SKIP IF NOT BLANK CARD
          SKIP   S3402       *    BLANK CARDS SKIP TO S3402 
S3401     SKIP   S3405       *    NONBLANK CARDS SKIP TO S3405
S3401A    CHARNE S1IUS,S3404 *    REAL BLANK CARDS END IN IUS 
*                            *    UREAL CARDS ARE DROPPED 
          SKIP   S3410       *    TREAT AS BLANK CARD IN DECK 
S3402     TPCMPR S9NUL3,S9NUL2    TEST UNREAL CARD AT ETB/ETX 
          NOPR               *    NEGATIVE BLANK COUNT CANT HAPPEN
          SKIPB  S3401A      *    IF ITS UNREAL TREAT AS BETWEEN JOBS 
S3403     TSTMXF S9JOBON,S3406    SKIP IF BLANK CARD IN A JOB 
S3404     SKIP   S3420       *    BLANK CARD BETWEEN JOBS 
S3405     SETMXF S9JOBON     *    JOB CARD
          TSTMXF S9DC64,S3407 *   SKIP IF DISPLAY CODE 64 IN THE NPU
S3406     SKIP   S3410
S3407     TPCMPR S9COLON,S9NUL2    CHECK IF THE LAST NON-BLANK IS COLON 
          SKIP   S3410        *    NO 
          SKIP   S3408        *    YES
          SKIP   S3410        *    NO 
S3408     ICC    S9COLCNT     *    INCREMENT COLUMN COUNT 
          ADDC   B9BLANK      *    ADD ONE MORE BLANK 
S3410     TSTMXF S9DLE,S3411 *    SKIP IF TERMINAL TRANSPARENT MODE 
          SKIP   S3412
S3411     TPLDR  S7BLANK,S9NUL2     LOAD NUL2 TO TEST 
          TPCMPR S9NUL2,S9RADDC     HOW MANY BLANKS TO EXPAND 
          SKIP   S3411A      *      LESS THAN 80
          SKIP   S3411A      *      EXACTLY 80
          TPSUBR S9RADDC,S9NUL2     HOW MUCH GREATER THAN 80
          TPSTR  S9RADDC,S7BLANK    PREPARE TO
          RADDC  S1BLANK     *      EXPAND 80 BLANKS
          TPSTR  S9NUL2,S7BLANK     STORE REMAINING BLANK COUNT 
          SKIPB  S3411       *      TEST AGAIN
S3411A    RADDC  S1BLANK     *      EXPAND ACCUMULATED BLANKS 
          SETCC  S9BLANK,S1TEN    SET TO ADD 10 BINARY ZEROS
          SKIP   S3419
* 
* * *     PAD TO EVEN AND MOD 10 BOUNDARY FOR CYBER 
* 
S3412     MODCC  S9COLCNT,S1TEN   GET MOD 10 ON COLUMN COUNT
          TPLD   S7COLCNT,S9NUL2   SAVE COLUMN COUNT
          MODCC  S9COLCNT,S1TWO    GET MOD  2 ON COLUMN COUNT 
          CNTNE  S9COLCNT,S1ONE,S3414 
          ADDC   B9BLANK      *    STORE A BLANK TO REACH EVEN BOUN 
          TPINCR S9NUL2,S1ONE *    INCREMENT COLUMN COUNT 
S3414     SETCC  S9COLCNT,S1TEN    SET 10 IN REGISTER 
          TPLD   S7COLCNT,S9NUL3   MOVE 10 TO REGISTER
          TPCMPR S9NUL2,S9NUL3     CHECK IF MOD 10 BOUNDARY 
          SKIP   S3416        *    NO 
          SKIP   S3418        *    YES
S3416     TPSUBR S9NUL2,S9NUL3     NO 
S3418     TPSTR  S9NUL3,S7BLANK    PUT NUMBER OF B1NARY ZEROS IN CNT 1
S3419     RSTRAN             *    CLEAR TRANSLATION FLAG
          RADDC  S1ZERO       *    PAD BINARY ZEROS TO REACH MOD 10 BOUN
          SETRAN             *    SET TRANSLATION FLAG
S3420     TSTMXF S9DLE,S3422 *    SKIP IF TERMINAL TRANSPARENT MODE 
          CHARNE S1IUS,S3421 *    SKIP IF NOT IUS 
          STATE  S3I430,EXIT
S3421     JUMP   S3I850      *    ETB OR ETX
* 
*         1ST CHARACTER OF NEXT 3780 TERMINAL TRANSPARENT CARD
* 
S3422     STATE  S3I130,EXIT
          SPC    2
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I430                                                * 
*                                                                     * 
*     PURPOSE - LOOK FOR ETB AND ETX FOLLOWING IUS                    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3430     CHARNE S1ETB,S3432 *    SKIP IF NOT ETB 
          JUMP   S3I850      *    PROCESS ACCT DATA AT END OF SOURCE
S3432     CHARNE S1ETX,S3435 *    SKIP IF NOT ETX 
          JUMP   S3I850 
S3435     JUMP   S3I120      *    PROCESS AS NEXT CARD
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I440                                                * 
*                                                                     * 
*     PURPOSE - PROCESS CHARACTER AFTER /                             * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3440     CHARNE S1STAR,S3445 *    SKIP IF NOT *
          STATE  S3I450,EXIT  *    KEEP LOOKING FOR /*EOX 
S3445     TPBKUP LEVEL1,SRC,DST    BACK UP
          JUMP   S3I180       *    PROCESS AS NORMAL CARD 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I450                                                * 
*                                                                     * 
*     PURPOSE - PROCESS CHARACTER AFTER /*                            * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3450     CHARNE S1E,S3455    *    SKIP IF NOT E
          STATE  S3I460,EXIT  *    KEEP LOOKING FOR /*EOX 
S3455     TPBKUP LEVEL1,SRC,DST    BACK UP
          JUMP   S3I180       *    PROCESS AS NORMAL CARD 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I460                                                * 
*                                                                     * 
*     PURPOSE - PROCESS CHARACTER AFTER /*E                           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3460     CHARNE S1O,S3465    *    SKIP IF NOT O
          STATE  S3I470,EXIT  *    KEEP LOOKING FOR /*EOX 
S3465     TPBKUP LEVEL1,SRC,DST    BACK UP
          JUMP   S3I180       *    PROCESS AS NORMAL CARD 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I470                                                * 
*                                                                     * 
*     PURPOSE - PROCESS CHARACTER AFTER /*EO                          * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3470     CHARNE S1R,S3474    *    SKIP IF NOT R
          SETCC  S9COLCNT,S1FIVE  UPDATE COLUMN COUNT 
          TSTMXF S9JOBON,S3472     SKIP IF JOB CARD SEEN
          STATE  S3I520,EXIT  *    DISCARD EOR BEFORE JOB CARD
S3472     STATE  S3I540,EXIT *    PROCESS LEVEL NUMBERS ON EOR CARD 
S3474     CHARNE S1I,S3476    *    SKIP IF NOT I
          SETCC  S9COLCNT,S1FIVE  UPDATE COLUMN COUNT 
          TSTMXF S9JOBON,S3478     SKIP IF JOB CARD SEEN
          STATE  S3I520,EXIT  *    DISCARD EOI BEFORE JOB CARD
S3476     TPBKUP LEVEL1,SRC,DST    BACK UP
          JUMP   S3I180       *    PROCESS AS NORMAL CARD 
S3478     RSTMXF S9JOBON      *    CLOSE THIS JOB DECK
          RSTRAN              *    CLEAR TRANSLATION FLAG 
          TPINCR S9CARD,S1ONE *    INCREMENT CARD COUNT 
          TPSTRC S9CARD       *    STORE ACCOUTING DATA 
          SETFLG S9FEOD+S9FEOI,CURN SET EOD AND EOI FLAG
          STATE  S3I500,EXIT  *    FINISH THE EOI CARD
* 
* 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I500                                                * 
*                                                                     * 
*     PURPOSE - DISCARD CHARACTERS AT THE END OF A JOB                * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3500     CHARNE S1IUS,S3502  *    SKIP IF NOT IUS
          RSTMXF S9EOIDL     *    CLEAR FLAG
          SETRAN              *    SET TRANSLATION FLAG 
          SKIP   S3503       *    GO DECIDE TYPE OF EXIT
S3502     CHARNE S1ETB,S3504  *    SKIP IF NOT ETB
          JUMP   S3I900 
S3503     TPSUBR S9NUL1,S9NUL1    SET FILE REG TO 0 
          TPCMPR S9CARD,S9NUL1    HAVE WE STORED A CARD YET 
          TPSUBR S9CARD,S9CARD    NO  - CLEAR OUT BAD ACCT AND
          STATE  S3I120,EXIT *    NO  - INITIALIZE FOR NEXT CARD
          TPSUBR S9CARD,S9CARD    YES - CLEAR ACCT COUNT
          STATE  S3I100,EXIT *    AND INIT FOR NEXT JOB DECK
S3504     CHARNE S1ETX,S3506  *    SKIP IF NOT ETX
          JUMP   S3I900 
S3506     TSTMXF S9DLE,S3507 *    SKIP IF TERMINAL TRANSPARENT MODE 
          NOPR   EXIT 
S3507     ICC    S9COLCNT    *    INCREMENT COLUMN COUNT
          CHARNE S1DLE,S3509 *    SKIP IF NOT DLE 
          TSTMXF S9EOIDL,S3509    SKIP IF CHAR FOLLOWING DLE
          SETMXF S9EOIDL     *    SET FLAG, DLE ON /*EOI CARD 
          DCC    S9COLCNT,S3508   DECREMENT COLUMN COUNT
S3508     NOPR   EXIT 
S3509     CNTNE  S9COLCNT,S181,S3510  SKIP IF NOT NEXT CARD 
          SETMXF S9EOITT     *    SET FLAG, 1ST CHAR AFTER /*EOI CARD 
          SKIP   S3511       *    GO DECIDE TYPE OF EXIT
S3510     RSTMXF S9EOIDL     *    CLEAR FLAG
          NOPR   EXIT 
S3511     TPSUBR S9NUL1,S9NUL1    SET FILE REG TO 0 
          TPCMPR S9CARD,S9NUL1    HAVE WE STORED A CARD YET 
          TPSUBR S9CARD,S9CARD    NO  - CLEAR OUT BAD ACCT AND
          JUMP   S3I120      *    NO  - INITIALIZE FOR NEXT CARD
          TPSUBR S9CARD,S9CARD    YES - CLEAR ACCT COUNT
          JUMP   S3I100      *    AND INIT FOR NEXT JOB DECK
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I520                                                * 
*                                                                     * 
*     PURPOSE - DISCARD CHARACTERS ON A DUMMY CARD                    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3520     CHARNE S1IUS,S3522  *    SKIP IF NOT IUS
          RSTMXF S9EOIDL     *    CLEAR FLAG
          STATE  S3I120,EXIT  *    INITIALIZE FOR NEXT CARD 
S3522     JUMP   S3I500 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I540                                                * 
*                                                                     * 
*     PURPOSE - PROCESS LEVEL NUMBER 1 AFTER EOR                      * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3540     TSTMXF S9EOR,S3541  *    SKIP IF LAST CARD IS EOR 
          ALNBUF S1FCD        *    GET A BUFFER FOR LEVEL NUMBERS 
          ADDC   S1ZERO      *     DUMMY FOR CHAR ALIGNMENT 
S3541     SETFLG S9FEOR+S9FEOD,CURN MARK EOR ON BUFFER
          CHARLS S1N0,S3542   *    SKIP IF ILLEGAL NUMBER - TOO LOW 
          CHARLS S1NOVER,S3544     SKIP IF LEGAL NUMBER 
S3542     CHARNE S1BLANK,S3546     SKIP IF NOT BLANK - ILLEGAL NUMBER 
S3544     ICC    S9COLCNT     *    INCREMENT COLUMN COUNT 
          STATE  S3I560,STOREXIT   PROCESS SECOND LEVEL NUMBER
S3546     ADDC   B9BLANK      *    STORE BLANK
          ADDC   B9BLANK      *    STORE BLANK
          JUMP   S3I580       *    PROCESS THE REST OF THE CARD 
* 
* * *     LEGAL NUMBERS - 0 THROUGH 7 OR BLANK
* 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I560                                                * 
*                                                                     * 
*     PURPOSE - PROCESS LEVEL NUMBER 2 FOR EOR CARD                   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3560     CHARLS S1N0,S3562   *    SKIP IF ILLEGAL NUMBER 
          CHARLS S1NOVER,S3564     SKIP IF LEGAL NUMBER - 0 THRU 9
S3562     ADDC   B9BLANK      *    GIVE A BLANK 
          JUMP   S3I580       *    PROCESS THE REST OF THE EOR CARD 
S3564     ICC    S9COLCNT     *    INCREMENT COLUMN COUNT 
          STATE  S3I580,STOREXIT   PROCESS THE REST OF THE EOR CARD 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I580                                                * 
*                                                                     * 
*     PURPOSE - PROCESS CHARACTERS AFTER LEVEL NUMBERS ON EOR CARD    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3580     CHARNE S1IUS,S3587 *    SKIP IF NOT IUS 
          SKIP   S3588
S3587     SKIP   S3589
S3588     TPINCR S9CARD,S1ONE *    INCREMENT CARD COUNT 
          SETMXF S9EOR        *    SET EOR FLAG 
          RSTRAN              *    TURN OFF TRANSLATION FLAG
          TPSTRC S9CARD       *    STORE ACCT DATA
          TPSUBR S9CARD,S9CARD     CLEAR CARD COUNT 
          ALNBUF S1FCD        *    GET A NEW BUFFER 
          ADDC   S1ZERO      *     DUMMY FOR CHAR ALIGMNENT 
          TSTMXF S9TR,S3588C *    SKIP IF DATA TRANSPARENT MODE 
          SETRAN             *    TURN ON TRANSLATION FLAG
S3588A    TSTMXF S9DLE,S3588B     SKIP IF TERMINAL TRANSPARENT MODE 
          STATE  S3I120,EXIT *    PROCESS NEXT CARD 
S3588B    STATE  S3I130,EXIT
S3588C    SETFLG S9FTR,CURN  *    SET BUFFER TRANSPARENT DATA FLAG
          SKIPB  S3588A 
S3589     CHARNE S1ETB,S3590  *    SKIP IF NOT ETB
          TPINCR S9CARD,S1ONE *    INCREMENT CARD COUNT 
          JUMP   S3I850       *    PROCESS ACCT DATA AT END OF SOURCE 
S3590     CHARNE S1ETX,S3592  *    SKIP IF NOT ETX
          TPINCR S9CARD,S1ONE *    INCREMENT CARD COUNT 
          SETMXF S9EOR       *    SET EOR FLAG
          JUMP   S3I850       *    PROCESS ACCT DATA AT END OF SOURCE 
S3592     CHARNE S1DLE,S3594  *    SKIP IF NOT DLE
          TSTMXF S9DLE,S3593  *    SKIP IF DLE MODE 
          ICC    S9COLCNT,EXIT     INCREMENT COLUMN COUNT 
* 
* * *     DLE SEEN IN DLE MODE
* 
S3593     NOPR   EXIT 
* 
S3594     ICC    S9COLCNT     *    INCREMENT COLUMN COUNT 
* 
* * *     LOOK FOR TR OR 026/029 CHANGE ON COLUMN 79/80 
* 
          CNTNE  S9COLCNT,S179,S3598    SKIP IF NOT COLUMN 79 
          CHARNE S1ETWO,S3596 *    SKIP IF NOT 2
          STATE  S3I660,EXIT  *    LOOK FOR POSSIBLE 026/029
S3596     CHARNE S1T,S3598    *    SKIP IF NOT T
          STATE  S3I680,EXIT  *    LOOK FOR POSSIBLE TR 
S3598     TSTMXF S9DLE,S3599 *    SKIP IF TERMINAL TRANSPARENT MODE 
          SKIP   S3599B 
S3599     CNTNE  S9COLCNT,S180,S3599A  SKIP IF NOT COLUMN 80
          SKIPB  S3588       *    TREAT LIKE NON-TRANSPARENT MODE IUS 
S3599A    NOPR   EXIT 
S3599B    CHARNE S1IGS,S3599D     SKIP IF NOT IGS 
          DCC    S9COLCNT,S3599C  DECREMENT COLUMN COUNT
S3599C    STATE  S3I600,EXIT
S3599D    CHARNE S1BYP,S3599F     SKIP IF NOT BYP 
          DCC    S9COLCNT,S3599E  DECREMENT COLUMN COUNT
S3599E    STATE  S3I620,EXIT
S3599F    NOPR   EXIT 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I600                                                * 
*                                                                     * 
*     PURPOSE - IGS SEEN ON S3I580                                    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3600     CHRCC  S9BLANK,S1MK6     MASK TO GET COMPRESSED BLANK COUNT 
          TPLDR  S7BLANK,S9NUL2    MOVE TO REGISTER 
          TPLD   S7COLCNT,S9NUL3   MOVE COLUMN COUNT TO REGISTER
          TPADDR S9NUL2,S9NUL3     ADD
          TPST   S9NUL3,S7COLCNT   MOVE RESULT BACK TO COLUMN COUNT 
          STATE  S3I580,EXIT  *    BACK TO EOR PROCESS
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I620                                                * 
*                                                                     * 
*     PURPOSE - BYP SEEN ON S3I580                                    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3620     CHRCC  S9BLANK,S1MK7     MASK TO GET COMPRESSED BLANK COUNT 
          TPLDR  S7BLANK,S9NUL2    MOVE TO REGISTER 
          TPLD   S7COLCNT,S9NUL3   MOVE COLUMN COUNT TO REGISTER
          TPADDR S9NUL2,S9NUL3     ADD
          TPST   S9NUL3,S7COLCNT   MOVE RESULT BACK TO COLUMN COUNT 
          STATE  S3I580,EXIT  *    BACK TO EOR PROCESS
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I660                                                * 
*                                                                     * 
*     PURPOSE - PROCESS POSSIBLE 026/029 CODE CHANGE ON EOR CARD      * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3660     CHARNE S1ESIX,S3662 *    SKIP IF NOT 6
          STRNTB EB6DC        *    SET 026 TRANSLATION TABLE
          JUMP   S3I580 
S3662     CHARNE S1ENIN,S3664 *    SKIP IF NOT 9
          STRNTB EB9DC        *    SET 029 TRANSLATION TABLE
S3664     JUMP   S3I580       *    EOR PROCESS
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I680                                                * 
*                                                                     * 
*     PURPOSE - PROCESS POSSIBLE TR CHANGE ON EOR CARD                * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3680     CHARNE S1R,S3682    *    SKIP IF NOT R
          SETMXF S9TR         *    SET TR FLAG
S3682     JUMP   S3I580 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I850                                                * 
*                                                                     * 
*     PURPOSE - PROCESS ACCOUNTING DATA BEFORE END OF SOURCE          * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3850     RSTRAN             *    TURN OFF TRANSLATION FLAG 
          CHARNE S1ETX,S3852 *    SKIP IF NOT ETX 
          TSTMXF S9JOBON,S3853    SKIP IF NOT BETWEEN JOBS
          SETFLG S9FEOD,CURN *    SET END OF DATA FLAG
          JUMP   S3I900      *    PROCESS END OF SOURCE 
S3852     SKIP   S3856       *    CONTINUE PROCESSING 
S3853     RSTMXF S9JOBON     *    WAIT FOR NEXT JOB 
          TSTMXF S9EOR,S3854 *    SKIP IF EOR WAS LAST CARD 
          TPSTRC S9CARD      *     STORE ACCOUNTING DATA
          SKIP   S3855       *
S3854     ALNBUF S1FCD       *    ALLOCATE NEW BUFFER FOR EOI 
          ADDC   S1ZERO      *    DUMMY FOR CHAR ALIGNMENT
          ADDC   S1ZERO      *     STORE DUMMY ACCOUNTING DATA
S3855     SETFLG S9FEOD+S9FEOI,CURN SET EOD AND EOI FLAGS 
          JUMP   S3I900      *    PROCESS END OF SOURCE 
S3856     TPSTRC S9CARD      *    STORE ACCOUNTING DATA 
          SETFLG S9FEOD,CURN *    SEND END OF DATA FLAG 
          JUMP   S3I900      *    PROCESS END OF SOURCE 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3I900                                                * 
*                                                                     * 
*     PURPOSE - PROCESS END OF INPUT DATA                             * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3900     TIBSWC 0,0,0        *    TERMINATE TRANSMISSION BLOCK 
          TPEXIT              *    EXIT TEXTPROCESSING
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*        BSC MAIN LEVEL INPUT TEXTPROCESSING INTERACTIVE STATE TABLE  * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3CST     MAC    NM           *    MACRO TO CREATE BSC ML INTERACTIVE 
*                             *    INPUT TEXTPROCESSING STATE TABLE 
          EQU    S3D"NM"(*-S3CSPT)
          ADC    S3C"NM"
          EMC 
* 
* 
* 
          ENT    S3CSPT 
          EQU    S3CSPT(*)
          S3CST  000          *    END OF SOURCE
          ADC    S3C000       *    UNUSED STATE 
          S3CST  100          *    INITIALIZATION FOR INTERACTIVE JOB 
          S3CST  200          *    INITIALIZATION FOR INTERACTIVE CARD
          S3CST  300          *    PROCESS CONTROL CHAR FOR A CARD
          S3CST  400          *    LOOK FOR / ON COLUMN 1 
          S3CST  450          *    LOOK FOR * ON COLUMN 2 
          S3CST  500          *    NORMAL PROCESS OF AN INTERACTIVE ARD 
          S3CST  650         *    PROCESS BEYOND COL 80, TERM TRANS MODE
          S3CST  680         *    CHECK IF ETB OR ETX FOLLOWS IUS 
          S3CST  700          *    IGS SEEN ON NORMAL PROCESS 
          S3CST  750          *    BYP SEEN ON NORMAL PROCESS 
          S3CST  800          *    DLE SEEN ON DLE MODE 
          S3CST  900          *    PROCESS END OF INPUT DATA
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3D000                                                * 
*                                                                     * 
*     PURPOSE - END OF SOURCE OF AN INTERACTIVE JOB                   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3C000    TPEXIT              *    EXIT TEXTPROCESSING
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3D100                                                * 
*                                                                     * 
*     PURPOSE - INITIAL PROCESS FOR INTERACTIVE STREAM                * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3C100    SETRAN             *    TURN ON TRANSLATION FLAG
          JUMP   S3D200 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3D200                                                * 
*                                                                     * 
*     PURPOSE - INITIALIATION FOR AN INTERACTIVE CARD                 * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3C200    RSTMXF S9DLE        *    CLEAR DLE FLAG 
          TPSTR  S9NUL1,S7BLANK    CLEAR BLANK COUNT
          ALNBUF S1FCD        *    GET A NEW BUFFER 
          ADDC   S1ZERO      *     DUMMY FOR CHAR ALIGNMENT 
          JUMP   S3D300 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3D300                                                * 
*                                                                     * 
*     PURPOSE - PROCESS AN INTERACTIVE CARD                           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3C300    CHARNE S1DLE,S3C320 *    SKIP IF NOT DLE
          TPST   S9NUL1,S7COLCNT  CLEAR COLUMN COUNT
          SETMXF S9DLE,EXIT   *    MARK DLE FLAG
S3C320    CHARNE S1STX,S3C340 *    SKIP IF NOT STX
          NOPR   EXIT 
S3C340    JUMP   S3D400 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3D400                                                * 
*                                                                     * 
*     PURPOSE -  LOOK FOR / CHARACTER ON COLUMN 1                     * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3C400    CHARNE S1SLASH,S3C420    SKIP IF NOT /
          ICC    S9COLCNT    *    INCREMENT COLUMN COUNT
          STATE  S3D450,EXIT  *    LOOK FOR * ON COLUMN 2 
S3C420    JUMP   S3D500 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3D450                                                * 
*                                                                     * 
*     PURPOSE - LOOK FOR * ON COLUMN 2                                * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3C450    CHARNE S1STAR,S3C470     SKIP IF NOT *
          ICC    S9COLCNT    *    INCREMENT COLUMN COUNT
          STATE  S3D500,EXIT
S3C470    JUMP   S3D500 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3D500                                                * 
*                                                                     * 
*     PURPOSE - NORMAL PROCESS OF AN INTERACTIVE CARD                 * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3C500    TSTMXF S9DLE,S3C502     SKIP IF TERMINAL TRANSPARENT MODE 
          SKIP   S3C510 
S3C502    CHARNE S1DLE,S3C504     SKIP IF NOT DLE 
          STATE  S3D800,EXIT
S3C504    ICC    S9COLCNT    *    INCREMENT COLUMN COUNT
          CNTNE  S9COLCNT,S180,S3C506  SKIP IF NOT COLUMN 80
          ADDC   B8BLANK     *    MAKE UP FOR /* AT START OF CARD 
          ADDC   B8BLANK     *     WITH 2 BLANKS
          STATE  S3D650,STOREXIT
S3C506    NOPR   STOREXIT 
S3C510    CHARNE S1IGS,S3C540     SKIP IF NOT IGS 
          STATE  S3D700,EXIT
S3C540    CHARNE S1BYP,S3C560 *    SKIP IF NOT BYP
          STATE  S3D750,EXIT
S3C560    CHARNE S1IUS,S3C580 *    SKIP IF NOT IUS
          SETFLG S9FEOD,CURN  *    SET END OF CARD FLAG ON BUFFER 
          STATE  S3D680,EXIT
S3C580    CHARNE S1ETB,S3C600 *    SKIP IF NOT ETB
          SETFLG S9FEOD,CURN  *    SET END OF CARD FLAG ON BUFFER 
          JUMP   S3D900 
S3C600    CHARNE S1ETX,S3C620 *    SKIP IF NOT ETX
          SETFLG S9FEOD,CURN  *    SET END OF CARD FLAG ON BUFFER 
          JUMP   S3D900 
S3C620    CHARNE S1BLANK,S3C630   SKIP IF NOT BLANK 
          ICC    S9BLANK,EXIT *    INCREMENT BLANK COUNT
S3C630    RADDC  S1BLANK     *    EXPAND ACCUMULATED BLANKS 
          TPSTR  S9NUL1,S7BLANK   CLEAR BLANK COUNT 
          NOPR   STOREXIT 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3D650                                                * 
*                                                                     * 
*     PURPOSE - PROCESS BEYOND COLUMN 80 IN TRANSPARENT TERMINAL MODE * 
*               INPUT MAY BE PART OF 480 CHARACTER (3780) BLOCK       * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3C650    CHARNE S1DLE,S3C655     SKIP IF NOT DLE 
          STATE  S3D800,EXIT *    IUS, ETB OR ETX FOLLOWS 
* 
*         FIRST CHARACTER OF NEXT CARD
* 
S3C655    SETFLG S9FEOD,CURN *    END OF COMMAND
          ALNBUF S1FCD       *    GET A NEW BUFFER
          ADDC   S1ZERO      *    DUMMY FOR CHARACTER ALIGNMENT 
          TPST   S9NUL1,S7COLCNT  CLEAR COLUMN COUNT
          JUMP   S3D400      *    PROCESS CHARACTER 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3D680                                                * 
*                                                                     * 
*     PURPOSE - LOOK FOR ETB OR ETX FOLLOWING IUS                     * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3C680    CHARNE S1ETB,S3C685     SKIP IF NOT ETB 
          JUMP   S3D900      *    END OF DATA 
S3C685    CHARNE S1ETX,S3C686     SKIP IF NOT ETX 
          JUMP   S3D900      *    END OF DATA 
S3C686    JUMP   S3D200      *    PROCESS AS NEXT CARD
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3D700                                                * 
*                                                                     * 
*     PURPOSE - IGS SEEN ON S3C500                                    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3C700    TPLDR  S7BLANK,S9NUL3    MOVE BLANK COUNT TO REGISTER 
          CHRCC  S9BLANK,S1MK6     MASK AND GET THE COMPRESSED BLANK CNT
          TPLDR  S7BLANK,S9NUL2    MOVE TO REGISTER 
          TPADDR S9NUL2,S9NUL3     ADD
          TPSTR  S9NUL3,S7BLANK    MOVE BACK TO BLANK COUNT 
          STATE  S3D500,EXIT
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3D750                                                * 
*                                                                     * 
*     PURPOSE - BYP SEEN ON S3C500                                    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3C750    TPLDR  S7BLANK,S9NUL3    MOVE BLANK COUNT TO REGISTER 
          CHRCC  S9BLANK,S1MK7     MASK AND GET COMPRESSED BLANK COUNT
          TPLDR  S7BLANK,S9NUL2    MOVE TO REGISTER TOO 
          TPADDR S9NUL2,S9NUL3     ADD
          TPSTR  S9NUL3,S7BLANK    MOVE BACK TO BLANK COUNT 
          STATE  S3D500,EXIT
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3D800                                                * 
*                                                                     * 
*     PURPOSE - DLE SEEN ON DLE MODE                                  * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3C800    CHARNE S1IUS,S3C820 *    SKIP IF NOT IUS
          SETFLG S9FEOD,CURN  *    END OF COMMAND 
          STATE  S3D200,EXIT  *    BACK TO PRODESS NEXT CARD
S3C820    CHARNE S1ETB,S3C840 *    SKIP IF NOT ETB
          SETFLG S9FEOD,CURN  *    END OF COMMAND 
          JUMP   S3D900 
S3C840    CHARNE S1ETX,S3C860 *    SKIP IF NOT ETX
          SETFLG S9FEOD,CURN  *    END OF COMMAND 
          JUMP   S3D900 
S3C860    ICC    S9COLCNT    *    INCREMENT COLUMN COUNT
          CNTNE  S9COLCNT,S180,S3C870  SKIP IF NOT COLUMN 80
          STATE  S3D650,STOREXIT
S3C870    STATE  S3D500,STOREXIT
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     NAME    - S3D900                                                * 
*                                                                     * 
*     PURPOSE - PROCESS END OF INPUT DATA                             * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
S3C900    TIBSWC 0,0,0        *    TERMINATE TRANSMISSION BLOCK 
          TPEXIT              *    EXIT TEXTPROCESSING
          END 
