*COMDECK MODE4ISP 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     M O D E   4   I N P U T   S T A T E   A S S E M B L I E S       * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          NLS 
          NAM    ISPMD4 
          SPC    3
*         NLS 
*CALL MUXMACROS 
          LST 
          SPC    3
*CALL STPMACROS 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     M O D E   4   I N P U T   S T A T E   C O N S T A N T S         * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         MODE 4 WORKCODES SENT TO OPS LEVEL TIP                      * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    2
          EQU    VWE1(A0WK1) -         READ E1 RECEIVED 
          EQU    VWE2(A0WK2) -         READ E2 RECEIVED 
          EQU    VWE3(A0WK3) -         READ E3 RECEIVED 
          EQU    VWSLC(A0WK4)          SLIPPED CARD DETECTED
          EQU    VWBUFT(A0WK5)         BUFFER THRESHOLD DETECTED
          EQU    VWACK(A0WK6)          ACKNOWLEDGE RECEIVED 
          EQU    VWREJ(A0WK7)          REJECT RECEIVED
          EQU    VWERR(A0WK8)          ERROR RECEIVED 
          EQU    VWASC(A0WK9)          ASCII RESPONSE RECEIVED
          EQU    VWBCD(A0WK10)         BCD RESPONSE RECEIVED
          EQU    VWSOFT(A0WK11)        SOFT ERROR DETECTED
          EQU    VWPART(A0WK14)        PARTIAL INPUT FOR OPS LEVEL TIP
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         MODE 4 CHARACTER EQUATES                                    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    2
          EQU    VCSYNC($16) -         SYNCHRONOUS IDLE 
          EQU    VCSOH($01)  -         START OF HEADER
          EQU    VCETX($03)  -         END OF TEXT
* 
          EQU    VCREAD($13) -         READ MTI 
          EQU    VCREJ($18)  -         REJECT MTI 
          EQU    VCACK($06)  -         ACKNOWLEDGE MTI
          EQU    VCERR($15)  -         ERROR MTI
* 
          EQU    VCE1($42)   -         E1 TERMINATOR
          EQU    VCE2($20)   -         E2 TERMINATOR
          EQU    VCE3($21)   -         E3 TERMINATOR
          EQU    VCE4($22)   -         START INDEX
* 
          EQU    VCEOR($57)  -         END OF RECORD
          EQU    VCEOI($56)  -         END OF INFORMATION 
* 
          EQU    VCAESC($1B) -         ASCII ESCAPE 
          EQU    VCANL($0A)  -         ASCII NEW LINE 
          EQU    VCAAA($41)  -         ASCII / EXTERNAL BCD -A- 
* 
          EQU    VCBESC($3E) -         EXTERNAL BCD ESCAPE
* 
          EQU    VCDESC($7F) -         DISPLAY CODE ESCAPE (INVALID)
          EQU    VCDZERO($00)          DISPLAY CODE ZERO FILL 
          EQU    VCDBLANK($2D)         DISPLAY CODE BLANK 
          EQU    VCDCOLON($00)         DISPLAY CODE COLON 
          EQU    VCDSLASH($28)         DISPLAY CODE -/- 
          EQU    VCDASK($27) -         DISPLAY CODE -*- 
          EQU    VCDEE($05)  -         DISPLAY CODE -E- 
          EQU    VCDOO($0F)  -         DISPLAY CODE -O- 
          EQU    VCDRR($12)  -         DISPLAY CODE -R- 
          EQU    VCDII($09)  -         DISPLAY CODE -I- 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         MODE 4 MUXLCB WORD EQUATES                                  * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    2
          EQU    NCUOPS($7)  -         MODE 4 USER OPTION FLAG WORD 
          EQU    NCFLGS($8)  -         MODE 4 SPECIFIC FLAG WORD
          EQU    NCCC1($4)   -         COUNTER 1
          EQU    NCCC2($A)   -         COUNTER 2
          EQU    NCCC3($F)   -         COUNTER 3
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*        MODE 4 MUXLCB FLAG AND MASK EQUATES                          * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    2
          EQU    VFAUTO(NCUOP1)        AUTO-REC, STATUS REQ, CONF REQ 
* 
          EQU    VFINTER(NCUOP2)       INTERACTIVE DEVICE 
          EQU    VFTRANS(NCUOP3)       TRANSPARENT INTERACTIVE DEVICE 
          EQU    VFASCII(NCUOP4)       TRANSPARENT ASCII
          EQU    VFNONFA(NCUOP5)       NOT IN FULL ASCII MODE 
          EQU    VFELEB(NCUOP6)        END OF LINE = END OF BLOCK CHAR
* 
          EQU    VFEOI(NCUOP7)         EXPECTING JOB CARD, EOI LAST FND 
* 
          EQU    VFBCOLON(8) -         COLON LAST CHARACTER SEEN
          EQU    VFMCOLON($100)        TEST MASK FOR COLON FLAG 
* 
          EQU    VFBEORI(9)  -         VALID EOR / EOI CARD SEEN
          EQU    VFMEORI($200)         TEST MASK FOR VALID EOR/EOI FLAG 
* 
          EQU    VFMODDC($001)         TEST MASK FOR ODD CC1
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         MODE 4 MUXLCB COUNTERS EQUATES                              * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    2
          EQU    CICL(1)     -         INTERACTIVE COLUMN COUNT 
          EQU    CBBK(1)     -         BATCH BLANK COUNT
          EQU    CBCL(2)     -         BATCH COLUMN COUNT 
          EQU    CC1(1)      -         COUNTER 1
          EQU    CC2(2)      -         COUNTER 2
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         MODE 4 BUFFER EQUATES                                       * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    2
          EQU    VBWD3($3)   -         WORD 3 OF BUFFER (RELATIVE TO 0) 
* 
          EQU    VBFCD($C)   -         FCD OF NEW DATA BUFFER 
          EQU    VBLVFCD($C) -         FCD OF EOR LEVEL NUMBER BUFFER 
* 
          EQU    VBFEOI($10) -         END OF INFORMATION FLAG
          EQU    VBFEOR($8)  -         END OF RECORD FLAG 
          EQU    VBFXPT($4)  -         TRANSPARENT DATA FLAG
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         MODE 4 MISCELLANEOUS EQUATES                                * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    2
          EQU    VTINPUT(15) -         INPUT TIMER AFTER SOH (HALF SEC) 
          EQU    VMASK($7F)  -         MASK FOR TRANSLATE INSTRUCTION 
          EQU    VMCSZ(80)   -         NUMBER OF COLUMNS IN A CARD
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*   M O D E   4   I N P U T   S T A T E   P O I N T E R   T A B L E   * 
*                                                                     * 
*   STATE TYPES - CO - COMMON                                         * 
*                 AR - AUTO-REC, STATUS REQUEST, CONFIGURATION REQUEST* 
*                 IA - INTERACTIVE NON-TRANSPARENT                    * 
*                 XA - TRANSPARENT INTERACTIVE ASCII                  * 
*                 XB - TRANSPARENT INTERACTIVE BCD                    * 
*                 XX - TRANSPARENT INTERACTIVE                        * 
*                 BT - BATCH                                          * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          STATPN MD4ISP           DEFINE STATE PROGRAM TABLE NAME 
* 
*                                 TYPE  FUNCTION IS TO PROCESS -
*                                 ----  ------------------------
* 
          STATPT MD4ISP,VSPERR     CO   PARITY ERROR
          STATPT MD4ISP,VSDCD      CO   DCD DROPPED 
          STATPT MD4ISP,VSBOVR     CO   BUFFER OVERFLOW 
          STATPT MD4ISP,VSBUFT     CO   BUFFER THRESHOLD
          STATPT MD4ISP,VSSYNC     CO   SECOND SYNC 
          STATPT MD4ISP,VSSOH      CO   START OF HEADER 
          STATPT MD4ISP,VSCADDR    CO   CLUSTER ADDRESS 
          STATPT MD4ISP,VSTADDR    CO   TERMINAL ADDRESS
          STATPT MD4ISP,VSMTI      CO   MESSAGE TYPE INDICATOR
          STATPT MD4ISP,VSAUTO     AR   NORMAL RESPONSE 
          STATPT MD4ISP,VSIDAT     IA   NORMAL DATA 
          STATPT MD4ISP,VSICC      IA   CONTROL CODE
          STATPT MD4ISP,VSXIAD     XA   NORMAL DATA 
          STATPT MD4ISP,VSXIBD     XB   NORMAL DATA 
          STATPT MD4ISP,VSXICC     XX   CONTROL CODE
          STATPT MD4ISP,VSBFCH     BT   FIRST COLUMN OF CARD
          STATPT MD4ISP,VSBCC      BT   CONTROL CODE IN FIRST COLUMN
          STATPT MD4ISP,VSBDAT     BT   NON BLANK DATA
          STATPT MD4ISP,VSBLK      BT   BLANK DATA STRING 
          STATPT MD4ISP,VSDCC      BT   CONTROL CODE IN DATA
          STATPT MD4ISP,VSEOC      BT   VALID END OF CARD 
          STATPT MD4ISP,VSCKASK    BT   -*- OF POSSIBLE /*EOR OR /*EOI
          STATPT MD4ISP,VSCKEE     BT   -E- OF POSSIBLE /*EOR OR /*EOI
          STATPT MD4ISP,VSCKOO     BT   -O- OF POSSIBLE /*EOR OR /*EOI
          STATPT MD4ISP,VSCKRI     BT   -R- OR -I- POSS /*EOR OR /*EOI
          STATPT MD4ISP,VSEOR      BT   VALID EOR CARD
          STATPT MD4ISP,VSEOI      BT   VALID EOI CARD
          STATPT MD4ISP,VSLV1      BT   1ST LEVEL NUMBER OF EOR CARD
          STATPT MD4ISP,VSLV2      BT   2ND LEVEL NUMBER OF EOR CARD
          STATPT MD4ISP,VSDISC     BT   DISCARDING REST OF EOR/EOI CARD 
          STATPT MD4ISP,VSRICC     BT   CONTROL CODE WHILE DICARDING
          STATPT MD4ISP,VSNETX     CO   ETX IN NORMAL SEQUENCE
          STATPT MD4ISP,VSLPC      CO   LONGITUDINAL PARITY CHECK CHAR
          STATPT MD4ISP,VSAETX     CO   ETX IN ABNORMAL CONDITIONS
          STATPT MD4ISP,VSTRMI     CO   TERMINATION OF INPUT
          STATPT MD4ISP,VSIDLE     CO   WAITING FOR NEXT INPUT COMMAND
          SPC    6
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     M O D E   4   I N P U T   S T A T E   P R O G R A M S           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSPERR 
*         *************                COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO PROCESS PARITY ERROR CONDITION                     * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          STATLS VSAETX,VPERR1         INPUT FINISHED OR ABNORMAL 
          JUMP   0           -         JUMP BACK TO CURRENT STATE 
* 
VPERR1    STATLS VSCADDR,VPERR3        SKIP IF NO CHARACTERS STORED 
          SAVEWC VWSOFT      -         SAVE SOFT ERROR WORKCODE 
          STATLS VSLPC,VPERR2          SKIP IF NOT CHECKING LPC 
          JUMP   VSTRMI,XCUTE          TREAT AS END OF MESSAGE
VPERR2    STATE  VSAETX,EXIT -         WAIT FOR ETX CHARACTER 
* 
VPERR3    STATE  VSSYNC      -         SET STATE TO WAIT FOR SYNC 
          RESYNC EXIT        -         RESYNC THE CLA AND EXIT
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSDCD
*         ************                 COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO PROCESS DCD DROPPED CONDITION                      * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          STATLS VSIDLE,VDCD1          SKIP IF LESS THAN IDLE STATE 
          JUMP   0           -         INPUT COMPLETE, NORMAL CONDITION 
* 
VDCD1     STATLS VSAETX,VDCD2          SKIP IF NOT WAITING ABNORMAL END 
          JUMP   VSTRMI      -         TREAT AS END OF MESSAGE
* 
VDCD2     STATLS VSCADDR,VDCD3         SKIP IF NO CHARACTERS STORED 
          SAVEWC VWSOFT      -         SAVE SOFT ERROR WORKCODE 
          JUMP   VSTRMI,XCUTE          TERMINATE INPUT, SEND WORKLIST 
* 
VDCD3     STATE  VSSYNC      -         SET STATE TO WAIT FOR SYNC 
          RESYNC EXIT        -         RESYNC THE CLA AND EXIT
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSBOVR 
*         *************                COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO PROCESS BUFFER OVERFLOW CONDITION                  * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          TIBWL  MMBUTCH     -         TELL PMWOLP TO RELEASE BUFFERS 
          SAVEWC VWSOFT      -         SAVE SOFT ERROR WORKCODE 
          JUMP   VSAETX      -         WAIT FOR ETX CHARACTER 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSBUFT 
*         *************                COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO PROCESS BUFFER THRESHOLD CONDITION                 * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          TIBWL  MMBUTCH     -         TELL PMWOLP TO RELEASE BUFFERS 
          SAVEWC VWBUFT      -         SAVE BUFFER THRESHOLD WORKCODE 
          JUMP   VSAETX      -         WAIT FOR ETX CHARACTER 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSSYNC 
*         *************                COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO PROCESS THE SECOND SYNC CHARACTER                  * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VSYNC1         SKIP IF NOT SYNC CHARACTER 
          STATE  VSSOH,EXIT  -         SET STATE TO PROCESS SOH 
* 
VSYNC1    RESYNC EXIT        -         RESYNC CLA, WAIT FOR SYNC
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSSOH
*         ************                 COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO PROCESS THE SOH CHARACTER                          * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VSOH1          SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VSOH1     CHARNE VCSOH,VSOH2 -         SKIP IF NOT SOH CHARACTER
          RSTIME VTINPUT     -         RESET INPUT TIMER
          SETPAR 0           -         SET PARITY STRIPPING ON
          RSTRAN 0           -         TURN TRANSLATION OFF 
          STATE  VSCADDR     -         SET STATE PROCESS CLUSTER ADDR 
          INTCRC ODD,CRCEXIT -         INITIALIZE CRC, ADD IN, EXIT 
* 
VSOH2     STATE  VSSYNC      -         NO SYNC OR SOH, WAIT FOR SYNC
          RESYNC EXIT        -         RESYNC CLA, WAIT FOR SYNC
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSCADDR
*         **************               COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO PROCESS THE CLUSTER ADDRESS                        * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          STATE  VSTADDR,CRCSTOREX     SET STATE PROCESS TERMINAL ADDR
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSTADDR
*         **************               COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO PROCESS THE TERMINAL ADDRESS                       * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          STATE VSMTI,CRCSTOREX        SET STATE TO PROCESS MTI 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSMTI
*         ************                 COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO PROCESS THE MESSAGE TYPE INDICATOR                 * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCREAD,VMTI1          SKIP IF NOT READ 
          SKIP   VMTI5       -         GO PROCESS READ RESPONSE 
* 
VMTI1     CHARNE VCREJ,VMTI2 -         SKIP IF NOT REJECT 
          SAVEWC VWREJ       -         SAVE REJECT WORKCODE 
          STATE  VSNETX,CRCSTOREX      SET STATE TO PROCESS ETX 
* 
VMTI2     CHARNE VCACK,VMTI3 -         SKIP IF NOT ACKNOWLEDGE
          SAVEWC VWACK       -         SAVE ACK WORKCODE
          STATE  VSNETX,CRCSTOREX      SET STATE TO PROCESS ETX 
* 
VMTI3     CHARNE VCERR,VMTI4 -         SKIP IF NOT ERROR
          SAVEWC VWERR       -         SAVE ERROR WORKCODE
          STATE  VSNETX,CRCSTOREX      SET STATE TO PROCESS ETX 
* 
VMTI4     SAVEWC VWSOFT      -         INVALID MTI, SOFT ERROR
          STATE  VSAETX,EXIT -         WAIT FOR ETX CHARACTER 
* 
VMTI5     TSTMXF VFAUTO,VMTI6          SKIP IF AUTO-REC FLAG SET
          SKIP   VMTI7       -
VMTI6     SAVEWC VWASC       -         SEND ASCII WORKCODE BY DEFAULT 
          STATE  VSAUTO,CRCEXIT        SET STATE TO PROCESS DATA
* 
VMTI7     ADDC   0           -         RESERVE SPACE FOR DBC
          TSTMXF VFINTER,VMTI8         SKIP IF INTERACTIVE DEVICE 
          RSTBIT NCFLGS,VFBEORI        RESET VALID EOR/EOI CARD SEEN
          RSTBIT NCFLGS,VFBCOLON       RESET COLON LAST CHARACTER 
          CLRWD  NCCC3       -         RESET CARD COUNT 
          STATE  VSBFCH,CRCEXIT        SET STATE TO PROCESS FIRST CHAR
* 
VMTI8     TSTMXF VFTRANS,VMTIA         SKIP IF TRANSPARENT DATA 
          TSTMXF VFNONFA,VMTI9         SKIP IF NOT FULL ASCII 
          ADDC   VCSOH       -         INSERT START OF HEADER 
VMTI9     INTCC  CICL        -         INITIALIZE COLUMN COUNT
          STATE  VSIDAT,CRCEXIT        SET STATE TO PROCESS DATA
* 
VMTIA     TSTMXF VFASCII,VMTIB         SKIP IF ASCII FLAG SET 
          STATE  VSXIBD,CRCEXIT        PROCESS XPT INTERACTIVE BCD DATA 
VMTIB     STATE  VSXIAD,CRCEXIT        PROCESS XPT INTERACTIVE ASC DATA 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSAUTO 
*         *************                A-R, STATUS REQ, CONF REQ STATE* 
*                                                                     * 
*     PURPOSE - TO PROCESS DATA DURING AUTO-RECOGNITION, AND FOR      * 
*               RESPONSES TO STATUS REQUEST AND CONFIGURATION REQUEST * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VAUTO1         SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VAUTO1    CHARNE VCETX,VAUTO2          SKIP IF NOT ETX CHARACTER
          STATE  VSLPC,CRCEXIT         SET STATE TO PROCESS LPC 
* 
VAUTO2    CHARNE VCAESC,VAUTO3         SKIP IF NOT ASCII ESC CHARACTER
          SAVEWC VWASC,CRCSTOREX       CHANGE SAVED WORKCODE TO ASCII 
* 
VAUTO3    CHARNE VCBESC,VAUTO4         SKIP IF NOT BCD ESC CHARACTER
          SAVEWC VWBCD,CRCSTOREX       CHANGE SAVED WORKCODE TO BCD 
* 
VAUTO4    NOPR   CRCSTOREX   -         STORE CHARACTER, ACCUMULATE CRC
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSIDAT 
*         *************                INTERACTIVE STATE              * 
*                                                                     * 
*     PURPOSE - TO PROCESS INTERACTIVE NON-TRANSPARENT DATA           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VIDAT1         SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VIDAT1    XLATE  VMASK,XOR   -         TRANSLATE TO ASCII, ADD IN CRC 
          CHARNE VCAESC,VIDAT2         SKIP IF NOT ESC CHARACTER
          STATE  VSICC,EXIT  -         SET STATE PROCESS CONTROL CODE 
* 
VIDAT2    CHARNE VCANL,VIDAT3          SKIP IF NOT NEW LINE 
          SKIP   VICCA       -         PROCESS NEW LINE CHARACTER 
* 
VIDAT3    DCC    CICL,VIDAT4,STOREXIT  DECR COLUMN COUNT, STORE, EXIT 
* 
VIDAT4    INTCC  CICL,STOREXIT         INIT COLUMN COUNT, STORE, EXIT 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSICC
*         ************                 INTERACTIVE STATE              * 
*                                                                     * 
*     PURPOSE - TO PROCESS INTERACTIVE NON-TRANSPARENT CONTROL CODES  * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VICC1          SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VICC1     CHARNE VCE1,VICC3  -         SKIP IF NOT E1 
          SAVEWC VWE1        -         SAVE E1 WORKCODE 
          TSTMXF VFNONFA,VICC2         SKIP IF NOT FULL ASCII 
          ADDC   VCAESC      -         PUT BACK ESC CHARACTER 
          STORE  0           -         STORE E1 CHARACTER 
VICC2     STORCR NCCC1,VBWD3 -         STORE COLUMN COUNT 
          STATE  VSNETX,CRCEXIT        SET STATE TO PROCESS ETX 
* 
VICC3     CHARNE VCE2,VICC4  -         SKIP IF NOT E2 
          SAVEWC VWE2        -         SAVE E2 WORKCODE 
          STATE  VSNETX,CRCEXIT        SET STATE TO PROCESS ETX 
* 
VICC4     CHARNE VCE3,VICC5  -         SKIP IF NOT E3 
          SAVEWC VWE3        -         SAVE E3 WORKCODE 
          STATE  VSNETX,CRCEXIT        SET STATE TO PROCESS ETX 
* 
VICC5     CHARNE VCE4,VICC6  -         SKIP IF NOT E4 
          STATE  VSIDAT,CRCEXIT        RESUME NORMAL PROCESSING 
* 
VICC6     CHARNE VCAAA,VICC7 -         SKIP IF NOT END OF LINE (-A-)
          SKIP   VICC9       -         GO PROCESS END OF LINE 
VICC7     STATE  VSIDAT      -         SET NORMAL PROCESSING STATE
          ADDC   VCAESC      -         PUT BACK ESC CHARACTER 
          DCC    CICL,VICC8,CRCSTOREX  DECR COLUMN COUNT, STORE, CRC
VICC8     INTCC  CICL,CRCSTOREX        INIT COLUMN COUNT, STORE, CRC
* 
VICC9     NOPR   CRCNT       -         ACCUMLATE CRC
VICCA     TSTMXF VFNONFA,VICCB         SKIP IF NOT FULL ASCII 
          ADDC   VCANL       -         ADD ASCII NEW LINE CHARACTER 
VICCB     TSTMXF VFELEB,VICCC          SKIP IF END OF LINE = END OF BLK 
          TIBSWC VWPART,NBC  -         SET LCD, WORKCODE PARTIAL DATA 
          BLDWL  ,,,V4TIP1   -         BUILD WORKLIST TO OPS TIP
          GETBUF VBFCD       -         ALLOCATE A NEW BUFFER
          ADDC   0           -         RESERVE SPACE FOR DBC
* 
VICCC     INTCC  CICL        -         INITIALIZE COLUMN COUNT
          STATE  VSIDAT,EXIT -         RESUME NORMAL PROCESSING 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSXIAD 
*         *************                XPT INTERACTIVE ASCII STATE    * 
*                                                                     * 
*     PURPOSE - TO PROCESS TRANSPARENT INTERACTIVE ASCII DATA         * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VXIAD1         SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VXIAD1    CHARNE VCAESC,VXIAD2         SKIP IF NOT ESC CHARACTER
          STATE  VSXICC,CRCEXIT        SET STATE PROCESS CONTROL CODE 
* 
VXIAD2    SETFLG VBFXPT,FRST -         SET XPT DATA SEEN FLAG 
          NOPR   CRCSTOREX   -         STORE CHAR, ACCUMULATE CRC 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSXIBD 
*         *************                XPT INTERACTIVE BCD STATE      * 
*                                                                     * 
*     PURPOSE - TO PROCESS TRANSPARENT INTERACTIVE BCD DATA           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VXIBD1         SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VXIBD1    CHARNE VCBESC,VXIBD2         SKIP IF NOT ESC CHARACTER
          STATE  VSXICC,CRCEXIT        SET STATE PROCESS CONTROL CODE 
* 
VXIBD2    SETFLG VBFXPT,FRST -         SET XPT DATA SEEN FLAG 
          NOPR   CRCSTOREX   -         STORE CHAR, ACCUMULATE CRC 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSXICC 
*         *************                XPT INTERACTIVE STATE          * 
*                                                                     * 
*     PURPOSE - TO PROCESS TRANSPARENT INTERACTIVE CONTROL CODES      * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VXICC1         SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VXICC1    CHARNE VCE1,VXICC2 -         SKIP IF NOT E1 
          SAVEWC VWE1        -         SAVE E1 WORK CODE
          STATE  VSNETX,CRCEXIT        SET STATE TO PROCESS ETX 
* 
VXICC2    CHARNE VCE2,VXICC3 -         SKIP IF NOT E2 
          SAVEWC VWE2        -         SAVE E2 WORKCODE 
          STATE  VSNETX,CRCEXIT        SET STATE TO PROCESS ETX 
* 
VXICC3    CHARNE VCE3,VXICC4 -         SKIP IF NOT E3 
          SAVEWC VWE3        -         SAVE E3 WORKCODE 
          STATE  VSNETX,CRCEXIT        SET STATE TO PROCESS ETX 
* 
VXICC4    TSTMXF VFASCII,VXICC5        SKIP IF ASCII FLAG SET 
          ADDC   VCBESC      -         PUT BACK ESC CHARACTER 
          STATE  VSXIBD,CRCSTOREX      RESUME NORMAL PROCESSING 
* 
VXICC5    ADDC   VCAESC      -         PUT BACK ESC CHARACTER 
          STATE  VSXIAD,CRCSTOREX      RESUME NORMAL PROCESSING 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSBFCH 
*         *************                BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS THE FIRST CHARACTER OF A CARD              * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VBFCH1         SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VBFCH1    SETCC  CBBK,0      -         RESET BLANK COUNT
          SETCC  CBCL,VMCSZ  -         INITIALIZE COLUMN COUNT
          XLATE  VMASK,XOR   -         TRANSLATE TO DISPLAY CODE, CRC 
          CHARNE VCDESC,VBFCH2         SKIP IF NOT ESC CHARACTER
          STATE  VSBCC,EXIT  -         SET STATE PROCESS CONTROL CODE 
* 
VBFCH2    CHARNE VCDSLASH,VBFCH4       SKIP IF NOT SLASH CHARACTER
          DCC    CBCL,VBFCH3 -         DECR COLUMN COUNT
VBFCH3    STATE  VSCKASK,EXIT          SET STATE TO LOOK FOR ASTERISK 
* 
VBFCH4    STATE  VSBDAT      -         SET STATE TO PROCESS NORMAL DATA 
          SKIP   VBDAT3      -         GO DO IT NOW 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSBCC
*         ************                 BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS CONTROL CODE IN FIRST COLUMN OF CARD       * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VBCC1          SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VBCC1     CHARNE VCE1,VBCC2  -         SKIP IF NOT E1 
          SAVEWC VWE1        -         SAVE E1 WORKCODE 
          STATE  VSNETX,CRCEXIT        SET STATE TO PROCESS ETX 
* 
VBCC2     CHARNE VCE2,VBCC3  -         SKIP IF NOT E2 
          SAVEWC VWE2        -         SAVE E2 WORKCODE 
          STATE  VSNETX,CRCEXIT        SET STATE TO PROCESS ETX 
* 
VBCC3     CHARNE VCE3,VBCC4  -         SKIP IF NOT E3 
          SAVEWC VWE3        -         SAVE E3 WORKCODE 
          STATE  VSNETX,CRCEXIT        SET STATE TO PROCESS ETX 
* 
VBCC4     CHARNE VCEOR,VBCC5 -         SKIP IF NOT EOR
          NOPR   CRCNT       -         ACCUMULATE CRC 
          JUMP   VSEOR,XCUTE -         GO PROCESS EOR 
* 
VBCC5     CHARNE VCEOI,VBCC6 -         SKIP IF NOT EOI
          NOPR   CRCNT       -         ACCUMULATE CRC 
          JUMP   VSEOI,XCUTE -         GO PROCESS EOI 
* 
VBCC6     ADDC   VCDBLANK    -         INSERT BLANK CHARACTER 
          STATE  VSBDAT      -         RESUME NON BLANK PROCESSING
          DCC    CBCL,VBCC7,CRCEXIT    DECR COLUMN COUNT, CRC, EXIT 
* 
VBCC7     NOPR   CRCEXIT     -
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSBDAT 
*         *************                BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS BATCH NON BLANK DATA                       * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VBDAT1         SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VBDAT1    XLATE  VMASK,XOR   -         TRANSLATE TO DISPLAY CODE, CRC 
VBDAT2    CHARNE VCDESC,VBDAT3         SKIP IF NOT ESC CHARACTER
          STATE  VSDCC,EXIT  -         SET STATE PROCESS CONTROL CODE 
* 
VBDAT3    CHARNE VCDBLANK,VBDAT4       SKIP IF NOT BLANK CHARACTER
          STATE  VSBLK       -         GO PROCESS BLANK STRING
          SKIP   VBLK2       -
* 
VBDAT4    CHARNE VCDCOLON,VBDAT5       SKIP IF NOT COLON (64 CHAR SET)
          SETBIT NCFLGS,VFBCOLON       SET COLON LAST CHAR FLAG 
          SKIP   VBDAT6      -
VBDAT5    RSTBIT NCFLGS,VFBCOLON       RESET COLON LAST CHAR FLAG 
* 
VBDAT6    DCC    CBCL,VBDAT7,STOREXIT  DECR COLUMN COUNT, STORE, EXIT 
* 
VBDAT7    STORE  0           -         STORE CHARACTER
          SETCC  CC1,10      -         SET REMAINING BYTES IN HOST WORD 
          JUMP   VSEOC,XCUTE -         GO PROCESS END OF CARD 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSBLK
*         ************                 BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS BATCH STRING OF BLANK CHARACTERS           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VBLK1          SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VBLK1     XLATE  VMASK,XOR   -         TRANSLATE TO DISPLAY CODE, CRC 
          CHARNE VCDBLANK,VBLK3        SKIP IF NOT BLANK CHARACTER
VBLK2     ICC    CBBK        -         INCR BLANK COUNT 
          DCC    CBCL,VBLK4,EXIT       DECR COLUMN COUNT , EXIT 
* 
VBLK3     RADDC  VCDBLANK    -         PUT BACK ALL BLANKS
          SETCC  CBBK,0      -         RESET BLANK COUNT
          RSTBIT NCFLGS,VFBCOLON       RESET COLON LAST CHAR FLAG 
          STATE  VSBDAT      -         SET STATE FOR NON BLANK DATA 
          SKIPB  VBDAT2      -         GO DO IT NOW 
* 
* 
VBLK4     CNTNE  CBBK,VMCSZ,VBLK5      SKIP IF NOT BLANK CARD 
          SKIP   VBLK7       -
VBLK5     MODCC  CC1,10      -         SET REMAINING BYTES IN HOST WORD 
          CNTNE  CC1,0,VBLK6 -         SKIP IF COUNT NON-ZERO 
          SETCC  CC1,10      -         NEED FULL WORD TERMINATOR
VBLK6     JUMP   VSEOC,XCUTE -         GO PROCESS END OF CARD 
* 
VBLK7     TSTMXF VFEOI,VBLK8 -         SKIP IF EOI LAST CARD
          ADDC   VCDBLANK    -         ADD FIRST OF TWO BLANKS
          SETCC  CC1,9       -         SET REMAINING BYTES IN HOST WORD 
          JUMP   VSEOC,XCUTE -         GO PROCESS END OF CARD 
* 
VBLK8     STATE  VSBFCH,EXIT -         SET STATE TO PROCESS FIRST CHAR
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSDCC
*         ************                 BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS CONTROL CODE IN BATCH DATA                 * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VDCC1          SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VDCC1     CHARNE VCE1,VDCC2  -         SKIP IF NOT E1 
          SAVEWC VWE1        -         SAVE E1 WORKCODE 
          STATE  VSNETX,CRCEXIT        SET STATE TO PROCESS ETX 
* 
VDCC2     CHARNE VCE2,VDCC3  -         SKIP IF NOT E2 
          SAVEWC VWSLC       -         SAVE SLIPPED CARD WORKCODE 
          STATE  VSNETX,CRCEXIT        SET STATE TO PROCESS ETX 
* 
VDCC3     CHARNE VCE3,VDCC4  -         SKIP IF NOT E3 
          SAVEWC VWSLC       -         SAVE SLIPPED CARD WORKCODE 
          STATE  VSNETX,CRCEXIT        SET STATE TO PROCESS ETX 
* 
VDCC4     ADDC   VCDBLANK    -         ADD BLANK CHARACTER
          RSTBIT NCFLGS,VFBCOLON       RESET COLON LAST CHAR FLAG 
          STATE  VSBDAT      -         SET STATE FOR NORMAL PROCESSING
          DCC    CBCL,VDCC5,CRCEXIT    DECR COLUMN COUNT, CRC, EXIT 
* 
VDCC5     NOPR   CRCNT       -         ACCUMULATE CRC 
          SETCC  CC1,10      -         SET REMAINING BYTES IN HOST WORD 
          JUMP   VSEOC,XCUTE -         GO PROCESS END OF CARD 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSEOC
*         ************                 BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS VALID END OF CARD CONDITION                * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          RSTMXF VFEOI       -         RESET EOI LAST CARD FLAG 
          INCRWD NCCC3       -         INCR NUMBER OF CARDS 
          STORWD NCCC3,VBWD3 -         STORE ACCOUNTING INFORMATION 
* 
          TSTMSK NCFLGS,VFMCOLON,VEOC1  SKIP IF COLON LAST CHARACTER
          SKIP   VEOC2       -
VEOC1     RSTBIT NCFLGS,VFBCOLON       RESET COLON LAST CHAR FLAG 
          ADDC   VCDBLANK    -         INSERT BLANK TO PROTECT COLON
          DCC    CC1,VEOC5   -         DECR REMAINING BYTES 
* 
VEOC2     TSTMSK NCCC1,VFMODDC,VEOC3   SKIP IF ON ODD BYTE BOUNDARY 
          SKIP   VEOC4       -
VEOC3     ADDC   VCDBLANK    -         INSERT BLANK TO FORCE EVEN 
          DCC    CC1,VEOC5   -         DECR REMAINING BYTES 
          SKIP   VEOC6       -
* 
VEOC4     CNTNE  CC1,0,VEOC6 -         SKIP IF NOT ZERO BYTES LEFT
VEOC5     SETCC  CC1,10      -         NEED FULL WORD OF BINARY ZEROES
* 
VEOC6     RADDC  VCDZERO     -         INSERT APPROPRIATE NBR OF ZEROES 
          STATE  VSBFCH,EXIT -         SET STATE TO PROCESS FIRST CHAR
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSCKASK
*         **************               BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS -*- OF POSSIBLE /*EOR OR /*EOI CARD        * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VCKA1          SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VCKA1     XLATE  VMASK,XOR   -         TRANSLATE TO DISPLAY CODE, CRC 
          CHARNE VCDASK,VCKA2          SKIP IF NOT -*- CHARACTER
          STATE  VSCKEE      -         SET STATE TO LOOK FOR -E-
          DCC    CBCL,VCKA2,EXIT       DECR COLUMN COUNT, AND EXIT
* 
VCKA2     ADDC   VCDSLASH    -         PUT BACK SLASH 
VCKA3     STATE  VSBDAT      -         SET STATE FOR NORMAL PROCESSING
          SKIPB  VBDAT2      -         GO PROCESS THIS CHARACTER
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSCKEE 
*         *************                BATCH STATE                    * 
*                                                                     * 
*    PURPOSE - TO PROCESS -E- OF POSSIBLE /*EOR OR /*EOI CARD         * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VCKE1          SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VCKE1     XLATE  VMASK,XOR   -         TRANSLATE TO DISPLAY CODE, CRC 
          CHARNE VCDEE,VCKE2 -         SKIP IF NOT -E-
          STATE  VSCKOO      -         SET STATE TO LOOK FOR -O-
          DCC    CBCL,VCKE2,EXIT       DECR COLUMN COUNT, AND EXIT
* 
VCKE2     ADDC   VCDSLASH    -         PUT BACK SLASH 
          ADDC   VCDASK      -         PUT BACK ASTERISK
          SKIPB  VCKA3       -         GO PROCESS THIS CHARACTER
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSCKOO 
*         *************                BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS -O- OF POSSIBLE /*EOR OR /*EOI CARD        * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VCKO1          SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VCKO1     XLATE  VMASK,XOR   -         TRANSLATE TO DISPLAY CODE, CRC 
          CHARNE VCDOO,VCKO2 -         SKIP IF NOT -O-
          STATE  VSCKRI      -         SET STATE TO LOOK FOR -R- OR -I- 
          DCC    CBCL,VCKO2,EXIT       DECR COLUMN COUNT, AND EXIT
* 
VCKO2     ADDC   VCDSLASH    -         PUT BACK SLASH 
          ADDC   VCDASK      -         PUT BACK ASTERISK
          ADDC   VCDEE       -         PUT BACK -E- 
          SKIPB  VCKA3       -         GO PROCESS THIS CHARACTER
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSCKRI 
*         *************                BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS -R- OR -I- OF POSSIBLE /*EOR OR /*EOI CARD * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VCKR1          SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VCKR1     XLATE  VMASK,XOR   -         TRANSLATE TO DISPLAY CODE, CRC 
          CHARNE VCDRR,VCKR2 -         SKIP IF NOT -R-
          JUMP   VSEOR,XCUTE -         GO PROCESS EOR CARD
* 
VCKR2     CHARNE VCDII,VCKR3 -         SKIP IF NOT -I-
          JUMP   VSEOI,XCUTE -         GO PROCESS EOI CARD
* 
VCKR3     ADDC   VCDSLASH    -         PUT BACK SLASH 
          ADDC   VCDASK      -         PUT BACK ASTERISK
          ADDC   VCDEE       -         PUT BACK -E- 
          ADDC   VCDOO       -         PUT BACK -O- 
          SKIPB  VCKA3       -         GO PROCESS THIS CHARACTER
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSEOR
*         ************                 BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS EOR CARD                                   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          DCC    CBCL,VEOR1  -         DECR COLUMN COUNT
* 
VEOR1     TSTMXF VFEOI,VEOR2 -         SKIP IF EOI LAST CARD
          SETBIT NCFLGS,VFBEORI        VALID EOR/EOI SEEN 
          SETFLG VBFEOR,FRST -         SET EOR FLAG IN FIRST BUFFER 
          GETBUF VBLVFCD     -         ALLOCATE A NEW BUFFER
          STATE  VSLV1,EXIT  -         SET STATE PROCESS FIRST LEVEL NO 
* 
VEOR2     STATE  VSDISC,EXIT -         SET STATE DISCARD REST OF CARD 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSEOI
*         ************                 BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS EOI CARD                                   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          DCC    CBCL,VEOI1  -         DECR COLUMN COUNT
* 
VEOI1     TSTMXF VFEOI,VEOI2 -         SKIP IF EOI LAST CARD
          SETBIT NCFLGS,VFBEORI        VALID EOR/EOI SEEN 
          SETMXF VFEOI       -         EOI LAST CARD SEEN 
          SETFLG VBFEOI,FRST -         SET EOI FLAG IN FIRST BUFFER 
* 
VEOI2     STATE  VSDISC,EXIT -         SET STATE DISCARD REST OF CARD 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSLV1
*         ************                 BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS FIRST LEVEL NUMBER OF EOR CARD             * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VLV11          SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VLV11     XLATE  VMASK,XOR   -         TRANSLATE TO DISPLAY CODE, CRC 
          CHARNE VCDESC,VLV12          SKIP IF NOT ESC CHARACTER
          ADDC   VCDBLANK    -         DUMMY FIRST LEVEL NO 
          ADDC   VCDBLANK    -         DUMMY SECOND LEVEL NO
          STATE  VSRICC,EXIT -         SET STATE PROCESS CONTROL CODE 
* 
VLV12     DCC    CBCL,VLV13  -         DECR COLUMN COUNT, STORE CHAR
VLV13     STATE  VSLV2,STOREXIT        SET STATE PROCESS SECOND LVL NO
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSLV2
*         ************                 BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS SECOND LEVEL NUMBER OF EOR CARD            * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VLV21          SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VLV21     XLATE  VMASK,XOR   -         TRANSLATE TO DISPLAY CODE, CRC 
          CHARNE VCDESC,VLV22          SKIP IF NOT ESC CHARACTER
          ADDC   VCDBLANK    -         DUMMY SECOND LEVEL NO
          STATE  VSRICC,EXIT -         SET STATE PROCESS CONTROL CODE 
* 
VLV22     DCC    CBCL,VLV23  -         DECR COLUMN COUNT, STORE CHAR
VLV23     STATE  VSDISC,STOREXIT       SET STATE DISCARD REST OF CARD 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSDISC 
*         *************                BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO DISCARD REMAINDER OF EOR OR EOI CARD               * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VDIS1          SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VDIS1     XLATE  VMASK,XOR   -         TRANSLATE TO DISPLAY CODE, CRC 
          CHARNE VCDESC,VDIS2          SKIP IF NOT ESC CHARACTER
          STATE  VSRICC,EXIT -         SET STATE PROCESS CONTROL CODE 
* 
VDIS2     DCC    CBCL,VDIS3,EXIT       DECR COLUMN COUNT, EXIT IF MORE
VDIS3     TSTMSK NCFLGS,VFMEORI,VDIS4  SKIP IF VALID EOR / EOI CARD 
          STATE  VSBFCH,EXIT -         SET STATE TO PROCESS FIRST CHAR
* 
VDIS4     RSTBIT NCFLGS,VFBEORI        RESET VALID EOR / EOI FLAG 
          INCRWD NCCC3       -         INCR NUMBER OF CARDS 
          STORWD NCCC3,VBWD3 -         STORE ACCOUNTING INFORMATION 
          TIBSWC VWPART,NBC  -         SET LCD, WORKCODE PARTIAL DATA 
          BLDWL  ,,,V4TIP2   -         SEND WORKLIST TO OPS TIP 
          GETBUF VBFCD       -         ALLOCATE A NEW BUFFER
          ADDC   0           -         RESERVE SPACE FOR DBC
          CLRWD  NCCC3       -         RESET CARD COUNT 
          STATE  VSBFCH,EXIT -         SET STATE TO PROCESS FIRST CHAR
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSRICC 
*         *************                BATCH STATE                    * 
*                                                                     * 
*     PURPOSE - TO PROCESS CONTROL CODE WHILE DISCARDING DATA         * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VRIC1          SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VRIC1     CHARNE VCE1,VRIC2  -         SKIP IF NOT E1 
          SAVEWC VWE1        -         SAVE E1 WORKCODE 
          STATE  VSNETX,CRCEXIT        WAIT FOR ETX CHARACTER 
* 
VRIC2     CHARNE VCE2,VRIC3  -         SKIP IF NOT E2 
          SAVEWC VWSLC       -         SAVE SLIPPED CARD WORKCODE 
          STATE  VSNETX,CRCEXIT        WAIT FOR ETX CHARACTER 
* 
VRIC3     CHARNE VCE3,VRIC4  -         SKIP IF NOT E3 
          SAVEWC VWSLC       -         SAVE SLIPPED CARD WORKCODE 
          STATE  VSNETX,CRCEXIT        WAIT FOR ETX CHARACTER 
* 
VRIC4     JUMP   VSDISC      -         CONTINUE DISCARDING CHARACTERS 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSNETX 
*         *************                COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO PROCESS ETX IN NORMAL SEQUENCE                     * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCSYNC,VNETX1         SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT        -         WAIT FOR NON SYNC CHARACTER
* 
VNETX1    CHARNE VCETX,VNETX3          SKIP IF NOT ETX CHARACTER
          TSTMXF VFNONFA,VNETX2        SKIP IF NOT FULL ASCII 
          STATE  VSLPC,CRCSTOREX       SET STATE PROCESS LPC, STORE ETX 
VNETX2    STATE  VSLPC,CRCEXIT         SET STATE TO PROCESS LPC 
* 
VNETX3    SAVEWC VWSOFT      -         SAVE SOFT ERROR WORKCODE 
          STATE  VSTRMI,EXIT -         SET STATE TO TERMINATE INPUT 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSLPC
*         ************                 COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO PROCESS THE LONGITUDINAL PARITY CHECK CHARACTER    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CRCEQ  B7,VLPC1    -         SKIP IF LPC IS CORRECT 
          SAVEWC VWSOFT      -         SOFT ERROR, TERMINATE INPUT
VLPC1     SKIP   VTRMI1      -         TERM. INPUT, SEND SAVED WKCODE 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSAETX 
*         *************                COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO AWAIT ETX IN ABNORMAL CONDITIONS                   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          CHARNE VCETX,VAETX1          SKIP IF NOT ETX CHARACTER
          STATE  VSTRMI,EXIT -         SET STATE TO TERMINATE INPUT 
VAETX1    NOPR   EXIT        -         WAIT FOR ETX CHARACTER 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSTRMI 
*         *************                COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO TERMINATE INPUT, SEND SAVED WORKCODE TO OPS TIP    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
VTRMI1    TRMBUF 0           -         TERMINATE INPUT BUFFER (SET LCD) 
          BLDWL  ,,,V4TIP3   -         BUILD WORKLIST FOR OPS TIP 
          RSTIME 0           -         RESET INPUT TIMER
          JUMP   VSIDLE      -         INPUT COMPLETE, LINE IDLE
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
          STATPR VSIDLE 
*         *************                COMMON STATE                   * 
*                                                                     * 
*     PURPOSE - TO AWAIT NEXT INPUT COMMAND                           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
          RESYNC EXIT        -         RESYNC THE CLA, IGNORE ANY DATA
          SPC    3
          END 
