*COMDECK ASYSPTIN 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         ASYNC BLOCK MODE TIP, INPUT STATE PROGRAMS                  * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          NAM    ASYISP 
          NLS 
*CALL STPMACROS 
*CALL MUXMACROS 
          LST 
*CALL ASYINCON
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         ASYNC BLOCK MODE TIP, ASCII INPUT STATE PROGRAM TABLE       * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPN ASPTAI 
          SPC    2
          STATPT ASPTAI,ASPERR         PARITY ERROR OR DATA OVERRUN 
          STATPT ASPTAI,ASDCDR         DCD DROPPED
          STATPT ASPTAI,ASBOFV,ASMXRG  BUFFER COUNT OVERFLOW
          STATPT ASPTAI,ASMXRG         MUX BUFFER REGULATION REACHED
          STATPT  ASPTAI,ASCHTO         FIXED STATE FOR CHARACTER TIMEOUT 
          STATPT ASPTAI,ASFNCD,ASFNXP  DUMMY FOR ALLIGNMENT WITH 2741 
          STATPT ASPTAI,ASFNXP         FIRST NON XPT CHARACTER
          STATPT ASPTAI,ASFXPT         FIRST XPT CHARACTER
          STATPT ASPTAI,ASFRST         CONTINUE FIRST CHARACTER (ALL) 
          STATPT ASPTAI,ASNXPT         TRANSLATE NON XPT INPUT
          STATPT ASPTAI,ASECHO,ASTEXT  CONTINUE NON XPT TEXT
          STATPT ASPTAI,ASTEXT         CONTINUE NON XPT TEXT
          STATPT ASPTAI,ASXPT          RECEIVE XPT TEXT 
          STATPT ASPTAI,ASMXPT         LOOK FOR MULTI MSG XPT TERMINATOR
          STATPT ASPTAI,ASBSLF         LOOK FOR LF AFTER BS (SPEDIT)
          STATPT ASPTAI,ASEOLB         END OF LINE / END OF BLOCK SEEN
          STATPT ASPTAI,ASSWL          SET PARITY, SEND WORKCODE TO OPS 
          STATPT ASPTAI,ASWTCC,ASBRKK  DUMMY FOR ALIGNMENT WITH 2741
          STATPT ASPTAI,ASBRKK         CHECK SECURITY CHAR AFTER BREAK
* 
* 
************************************************************************
*                                                                      *
*         ASYNC BLOCK MODE TIP,  ASCII INPUT STATE PROGRAM TABLE       *
*         (WITH ECHOPLEX HANDLED BY THE SOFTWARE)                      *
*                                                                      *
************************************************************************
* 
* 
          STATPN ASPTEP 
          SPC    2
          STATPT ASPTEP,AEPERR,ASPERR  PARITY ERROR OR DATA OVERRUN 
          STATPT ASPTEP,AEDCDR,ASDCDR  DCD  DROPPED 
          STATPT ASPTEP,AEBOFV,ASMXRG  BUFFER COUNT OVERFLOW
          STATPT ASPTEP,AEMXRG,ASMXRG  MUX BUFFER REGULATION REACHED
          STATPT  ASPTEP,AECHTO,ASCHTO  FIXED STATE FOR CHARACTER TIMEOUT 
          STATPT ASPTEP,AEFNCD,ASFNXP  DUMMY FOR ALLIGNMENT WITH 2741 
          STATPT ASPTEP,AEFNXP,ASFNXP  FIRST NON XPT CHARACTER
          STATPT ASPTEP,AEFXPT,ASFXPT  FIRST XPT CHARACTER
          STATPT ASPTEP,AEFRST,ASFRST  CONTINUE FIRST CHARACTER (ALL) 
          STATPT ASPTEP,AENXPT         FIRST ECHO,THEN XLATE INPUT
          STATPT ASPTEP,AEECHO         ECHOPLEX CHARACTER 
          STATPT ASPTEP,AETEXT,ASTEXT  CONTINUE NON XPT TEXT
          STATPT ASPTEP,AESXPT         FIRST ECHO THEN RECEIVE XPT TEXT 
          STATPT ASPTEP,AEMXPT,ASMXPT  LOOK FOR MULIT MSG XPT TERMINATOR
          STATPT ASPTEP,AEBSLF         LOOK FOR LF AFTER BS (SPEDIT)
          STATPT ASPTEP,AEEOLB,ASEOLB  SET PARITY SEND WORKCODE TO OPS
          STATPT ASPTEP,AESSWL,ASSWL   END OF LINE/END OF BLOCK SEEN
          STATPT ASPTEP,AEWTCC,ASBRKK  DUMMY FOR ALLIGNMENT WITH 2741 
          STATPT ASPTEP,AEBRKK,ASBRKK  CHECK SECURITY CHAR AFTER BREAK
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         ASYNC BLOCK MODE TIP, 2741 INPUT STATE PROGRAM TABLE        * 
*         (STATES MUST BE IN SAME ORDER AS THE ONE FOR ASCII)         * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPN ASPT2I 
          SPC    2
          STATPT ASPT2I,A2PERR,ASPERR  PARITY ERROR OR DATA OVERRUN 
          STATPT ASPT2I,A2DCDR,ASDCDR  DCD DROPPED
          STATPT ASPT2I,A2BOVF,A2MXRG  BUFFER COUNT OVERFLOW
          STATPT ASPT2I,A2MXRG         MUX BUFFER REGULATION REACHED
          STATPT  ASPT2I,A2CHTO,ASCHTO  FIXED STATE FOR CHARACTER TIMEOUT 
          STATPT ASPT2I,A2FNCD         FIRST NON XPT AFTER CONTROL-D
          STATPT ASPT2I,A2FNXP         FIRST NON XPT CHARACTER
          STATPT ASPT2I,A2FXPT,ASFRST  FIRST XPT CHARACTER
          STATPT ASPT2I,A2FRST,ASFRST  CONTINUE FIRST CHARACTER (ALL) 
          STATPT ASPT2I,A2NXPT         TRANSLATE NON XPT INPUT
          STATPT ASPT2I,A2ECHO,ASTEXT  DUMMY FOR ALLIGNMENT (ECHOPLEX)
          STATPT ASPT2I,A2TEXT,ASTEXT  CONTINUE NON XPT TEXT
          STATPT ASPT2I,A2XPT,ASXPT    RECEIVE XPT TEXT 
          STATPT ASPT2I,A2MXPT,ASMXPT  LOOK FOR MULTI MSG XPT TERMINATOR
          STATPT ASPT2I,A2BSLF         LOOK FOR ATTN AFTER BS (SPEDIT)
          STATPT ASPT2I,A2EOLB         END OF LINE / END OF BLOCK SEEN
          STATPT ASPT2I,A2SWL,ASSWL    SET PARITY, SEND WORKCODE TO OPS 
          STATPT ASPT2I,A2WTCC         WAIT FOR CONTROL-C AFTER EOL/EOB 
          STATPT ASPT2I,A2BRKK         RESTORE STATE AFTER BREAK
          STATPT ASPT2I,A2ATTN         CHECK SECURITY CHAR AFTER ATTN 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S P E R R   -   PARITY ERROR OR DTO RECOGNIZED            * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASPERR 
          SPC    2
          CMPCLA $20,ASNFES  -         SKIP IF NOT FRAMING ERROR
          CHARLS $01,ASBRK   -         SKIP IF BREAK KEY RECOGNIZED 
ASNFES    RSTBIT NCUOPS,ABNPERR        MARK PARITY/DTO/FRAMING ERROR
          JUMP   CURRENT     -         JUMP TO CURRENT STATE
ASBRK     TSTMXF AFSECHAR,ASSCH        SKIP IF SECURITY CHAR DEFINED
          STPOUT EXIT        -         STOP OUTPUT ON BREAK 
ASSCH     STATLS ASBRKK,ASCHK          SKIP IF BREAK ALREADY SEEN 
          STPOUT EXIT        -         STOP OUTPUT ON BREAK 
ASCHK     SAVCST             -         SAVE CURRENT STATE IN NCCRCS 
          SETMXF AFBRKSEEN   -         SAVE FLAG IN CASE OF INPUT TERM
          STPOUT 0           -         STOP OUTPUT ON BREAK 
          STATE  ASBRKK,EXIT -         SET STATE TO CHECK NEXT CHAR 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S D C D R   -   DATA CARRIER DETECT SIGNAL DROPPED        * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASDCDR 
          SPC    2
          NOPR   EXIT        -         IGNORE DCD-DROP
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S M X R G   -   MUX BUFFER REGULATION DETECTED (ASCII)    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASMXRG 
          SPC    2
          STATLS ASMXRG+1,ASMX04       SKIP IF ALREADY DETECTED 
ASMX02    STATE  ASMXRG 
          TIBWL  MMBUTCH     -         TELL PMWOLP TO RELEASE BUFFERS 
          TIBSWC A2WREGL     -         PRESET WORKCODE TO REGULATION
          JUMP   ASSWL,RTN   -         SEND REGULATION WL TO OPS LEVEL
ASMX04    NOPR   EXIT        -         IGNORE ADDITION INPUT AFTER REGL 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S F X P T   -   PROCESS FIRST XPT CHARACTER     (ASCII)   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASFXPT 
          SPC    2
          TSTMXF AFFLDPLX,ASFX04       SKIP IF FULL DUPLEX
          JUMP   ASFRST,RTN  -         PROCESS AS ALL OTHER FIRST CHARS 
ASFX02    ADDC   0           -         GET FIRST BUFFER, RESERVE DBC
          SKIP   ASFRXP      -         START XPT INPUT
ASFX04    SKIP   ASFR30                CHECK FOR FLOW CONTROL 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S F N X P   -   PROCESS FIRST NON XPT CHARACTER (ASCII)   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASFNXP 
          SPC    2
          SAVUTC 0                    -         SAVE UNTRANSLATED CHR 
          XLATE  $7F         -         STRIP PARITY AND TRANSLATE 
          RSTBIT NCUOPS,ABNIVT         MARK AS POSSIBLE IVT COMMAND 
*         JUMP   ASFRST,RTN  -         CONTINUE PROCESSING FIRST CHAR 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S F R S T   -   PROCESS FIRST CHARACTER (ALL MODES)       * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASFRST 
          SPC    2
          TSTMXF AFBRKSEEN,ASFR05      SKIP IF TIME TO TEST SECURITY
          SKIP   ASFR07 
ASFR05    SAVCST             -         SAVE CURRENT STATE IN NCCRCS 
          JUMP   ASBRKK      -         GO CHECK SECURITY
* 
* 
*         STRIP LEADING NULS/DELS/LFS IF DROP FLAG OR NON FULL-ASCII
* 
* 
ASFR07    CHARLS ACCNTRL,ASFR16        SKIP IF WE HAVE CONTROL CHAR 
          CHARNE ACDEL,ASFR12          SKIP IF NOT DEL CHARACTER
ASFR10    TSTMSK NCUOPS,AMNONFA+AMDROP,ASFR14 
ASFR12    SKIP   ASFR40      -         DONT DROP THIS CHARACTER 
ASFR14    NOPR   EXIT        -         DROP LEADING NUL/DEL/LF
* 
ASFR16    CHARNE ACNUL,ASFR18 
          SKIP   ASFR10      -         TEST FOR DROP OF LEADING NUL 
ASFR18    CHARNE ACLF,ASFR1A
          SKIP   ASFR10      -         TEST FOR DROP OF LEADING LF
* 
* 
* * * *   STRIP LEADING STX IN NON-XPT/FA MODE AFTER EOL/EOB CHARACTER
* 
* 
ASFR1A    STATLS ASFXPT,ASFR1C         SKIP IF NON TRANSPARENT INPUT
          SKIP   ASFR30      -         XPT, LOOK FOR XON/XOFF 
ASFR1C    CHARNE ACSTX,ASFR20          NOT STX, LOOK FOR PT XOFF
ASFR1E    TSTMSK NCUOPS,AMNONFA,ASFR1G SKIP IF NOT FULL-ASCII (NOT XPT) 
          SKIP   ASFR40      -         FULL-ASCII (OR XPT, DONT DROP) 
ASFR1G    TSTMSK NCUOPS,AMDROP,ASFR1J 
          SKIP   ASFR40      -
ASFR1J    RSTBIT NCUOPS,ABDROP,EXIT    DROP FIRST LEADING STX ONLY
* 
* 
* * * *   TEST PAPERTAPE XOFF AFTER NON-TRANSPARENT END-OF-LINE 
* 
* 
ASFR20    TSTMXF AFPTAPE,ASFR22        TEST FOR PAPERTAPE INPUT MODE
          SKIP   ASFR30      -         NO PAPERTAPE 
ASFR22    CHARNE ACXOFF,ASFR24
          TSTMSK NCUOPS,AMDROP,ASFR26  SKIP IF XOFF AFTER EOL 
ASFR24    SKIP   ASFR30 
ASFR26    RSTBIT NCUOPS,ABDROP         RESET EOL/EOB PRECEEDED
          BLDWL  A2WINACT    -         SEND INPUT-ACTIVE WL TO MUX LVL
          STPOUT             -         STOP ODD-S FROM SENDING OUTPUT 
          TIBSWC A2WEOB      -         SEND EOB SEEN (EQU PT XOFF)
          JUMP   ASSWL,RTN   -         GO SEND WL 
* 
* 
* * * *   TEST FOR OUTPUT REGULATION XON/XOFF (IN ALL MODES)
* 
* 
ASFR30    TSTMXF AFRGLOUT,ASFR32       SKIP IF LOOKING FOR XON/XOFF 
          SKIP   ASFR40 
ASFR32    CHARNE ACXOFF,ASFR33         SKIP IF NOT XOFF 
          SKIP   ASFR35 
ASFR33    CHARNE ACXOFF+$80,ASFR36     IF NOT XOFF WITH PATRITY 
ASFR35    TSTMSK NCUOPS,AMXOFF,ASFR34  SKIP XOFF SEEN 
          BLDWL  A2WXOFF     -         SEND XOFF SEEN WL TO MUX LEVEL 
          STPOUT             -         STOP ODD-S FROM SENDING OUTPUT 
ASFR34    SETBIT NCUOPS,ABXOFF,EXIT 
* 
ASFR36    CHARNE ACXON,ASFR40          SKIP IF NOT XON
          TSTMSK NCUOPS,AMXOFF,ASFR38  SKIP IF XOFF SEEN
          NOPR   EXIT 
ASFR38    BLDWL  A2WXON      -         SEND XON SEEN WL TO MUX LEVEL
          RSTBIT NCUOPS,ABXOFF,EXIT 
* 
* 
* * * *   FIRST CHARACTER NOT REGULATION XON/XOFF AND NOT TO BE STRIPPED
*         GO STORE FIRST CHARACTER, DECLARE INPUT ACTIVE
* 
* 
ASFR40    TSTMXF AFFLDPLX,ASFR41       SKIP IF FULL DUPLEX
          SKIP   ASFR42 
ASFR41    SKIP   ASFX02 
ASFR42    ADDC   0                     GET FIRST BUFF,RESERVE DBC 
          BLDWL  A2WINACT    -         SEND INPUT-ACTIVE WL TO MUX LVL
          STPOUT             -         STOP ODD-S FROM SENDING OUTPUT 
          STATLS ASFXPT,ASFR50
* 
* 
* * * *   START TRANSPARENT MODE INPUT
* 
* 
ASFRXP    INTCC  CCSBLK      -         INITIALIZE SUBBLOCK COUNTER
          SETINP             -         ACTIVATE TRANSPARENT TIMER 
          SETFLG BFXPT,FRST  -         SET TRANSPARENT INPUT FLAG 
          SETBIT NCUOPS,ABNIVT         CANT BE IVT COMMAND
          MVCHLL NCS2CHR,NCSCHR        GET XPT FORWARDING CHAR
          JUMP   ASXPT       -         GO PROCESS TRANSPARENT TEXT
* 
* 
* * * *   START NON TRANSPARENT MODE INPUT
* 
* 
ASFR50    INTCC  CCIVT       -         INITIALIZE IVT BLOCK COUNTER 
          STATE  ASNXPT      -         GO PROCESS NON TRANSPARENT TEXT
          JUMP   AEECHO,RTN  -         CONTINUE NON-XPT TEXT
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A E N X P T - ECHOPLEX NON XPT TEXT (ASCII)                 * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
* 
          STATPR AENXPT 
* 
          TESTEQ TWO,ACXON,ACXOFF,ASNX01
          SKIP   ASNX02                          NOT EQUAL ECHOPLEX CHARACTER 
ASNX01    TSTMSK NCCRCS,AMOCON+AMICON,ASNX03     TEST INP/OUT CONTROL ON
ASNX02    ECHOCH ACNUL                           ECHO CHARACTER 
* 
* 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S N X P T   -   PROCESS NON TRANSPARENT TEXT (ASCII)      * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASNXPT 
          SPC    2
ASNX03    XLATE  $7F         -         STRIP PARITY AND TRANSLATE 
          JUMP   ASTEXT,RTN  -         CONTINUE NON-XPT TEXT
* 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A E E C H O   -   ECHO CHARACTER BACK TO TERMINAL           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 
* 
          STATPR AEECHO 
* 
          RSTUTC 0                    -         RESTORE UNTRANSLATED CHR
          ECHOCH ACNUL       -         ECHOPLEX CHARACTER TO TERMINAL 
          XLATE  $7F                  -         TRANSLATE FIRST CHAR
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S T E X T   -   CONTINUE NON XPT DATA (ASCII AND 2741)    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASTEXT 
          SPC    2
          SPC3EQ             -         TEST FOR BS/EOB/EOL
          SKIP   ASTEBS      -         PROCESS BACKSPACE
          SKIP   ASTEEB      -         PROCESS END OF BLOCK 
          SKIP   ASTEEL      -         PROCESS END OF LINE
          RSTMSK NCUOPS,AMATTN+AMDRCR  RESET 2741 ATTN AND DROP PT CR 
* 
* 
* * * *   NOT A BS, EOB, EOL, MAKE A FAST TEST FOR CONTROL CHARACTER
* 
* 
          CHARLS ACCNTRL,ASTE30        SKIP IF WE HAVE CONTROL CHAR 
          CHARNE ACDEL,ASTE22          SKIP IF WE DONT HAVE DEL 
          SKIP   ASTE50      -         SKIP TO TEST FOR STRIPPING DEL 
ASTE22    DCC    CCIVT,ASTEOV,STOREXIT NO CNTRL, STORE, COUNT BLOCK 
* 
* 
* * * *   CONTROL CHARACTER FOUND, PERFORM SPECIAL PROCESSING FOR LF
* 
* 
ASTE30    CHARNE ACLF,ASTE32
          TSTMXF AFSPEDIT,ASTE31       DONT SEND CR AFTER SPECL EDIT LF 
          TSTMXF AFCURPOS,ASTE36       SKIP IF KEYBOARD MODE AND CURPOS 
          TSTMXF AFPTAPE,ASTE34        SKIP IF PAPERTAPE INPUT MODE 
ASTE31    SKIP   ASTE38 
ASTE32    SKIP   ASTE40      -         NOT A LF, CHECK XON/XOFF 
ASTE34    SETBIT NCUOPS,ABDRCR         DROP CR AFTER PAPERTAPE LF 
          SKIP   ASTE38 
ASTE36    BLDWL  A2WLF       -         SEND LF SEEN WL (TO SEND CR) 
* 
ASTE38    TSTMXF AFEOPACT,ASTE3A       SKIP IF LF IS EOP
          SKIP   ASTE50 
ASTE3A    TSTMXF AFNONFA,ASTEEP        SKIP IF NOT FULL ASCII INPUT 
          STORE              -         STORE LF IN FULL ASCII 
* 
ASTEEP    TIBSWC A2WEOP      -         TERMINATE INPUT ON EOP 
          RSTBIT NCUOPS,ABDROP         KEEP LEADING NUL/DEL/STX NXT BLK 
          STATE  ASFNXP      -         RETURN TO FIRST CHARACTER STATE
          JUMP   ASSWL,RTN   -         GO SEND WL 
ASTE40    TSTMXF AFRGLOUT,ASTE42       SKIP IF OUTPUT REGULATION ON 
          SKIP   ASTE50      -         NO LF AND NO OUTPUT REGULATION 
* 
* 
* * * *   OUTPUT FLOW CONTROL 
* 
* 
ASTE42    CHARNE ACXOFF,ASTE46         SKIP IF NOT XOFF 
          TSTMSK NCUOPS,AMXOFF,ASTE44  SKIP IF ALREADY SEEN XOFF
          BLDWL  A2WXOFF     -         SEND XOFF SEEN WL TO MUX LEVEL 
          STPOUT             -         STOP ODD-S FROM SENDING OUTPUT 
ASTE44    SETBIT NCUOPS,ABXOFF,EXIT 
* 
ASTE46    CHARNE ACXON,ASTE50 -        SKIP IF NOT XON
          TSTMSK NCUOPS,AMXOFF,ASTE48  SKIP IF XOFF SEEN
          SKIP   ASTE50 
ASTE48    BLDWL  A2WXON      -         SEND XON SEEN WL TO MUX LEVEL
          RSTBIT NCUOPS,ABXOFF,EXIT 
* 
* 
* * * *   STRIP CERTAIN CONTROL CHARACTERS IF NOT IN FULL ASCII MODE
* 
* 
ASTE50    TSTMXF AFNONFA,ASTE52        SKIP IF NOT FULL ASCII REQUIRED
          DCC    CCIVT,ASTEOV,STOREXIT FULL ASCII, STORE, COUNT BLOCK 
ASTE52    CHARNE ACDEL,ASTE54 
          NOPR   EXIT        -         STRIP DEL
ASTE54    CHARNE ACNUL,ASTE56 
          NOPR   EXIT        -         STRIP NULL 
ASTE56    CHARNE ACLF,ASTE60
          TSTMXF AFSPEDIT,ASTE60
          NOPR   EXIT        -         STRIP LF (EXCEPT SPECIAL EDIT) 
* 
* 
* * * *   SPECIAL PROCESSING COMPLETE, STORE CHARACTER IN BUFFER, EXIT
* 
* 
ASTE60    DCC    CCIVT,ASTE62,STOREXIT STORE, COUNT, SKIP IF BLK FULL 
ASTE62    SETFLG BFACNT      -         FLAG -COUNT REACHED- TO OPS
          STORE              -         STORE LAST CHARACTER 
          SKIP   ASTEEP      -         BLK FULL, BUILD WLE
* 
ASTEOV    EQU    ASTEOV(ASTE62)        ENTER IF BLOCK FULL
* 
* 
* * * *   PROCESS BACKSPACE CHARACTER 
* 
* 
ASTEBS    TSTMXF AFNONFA,ASTE72        SKIP IF NOT FULL ASCII 
          SKIP   ASTE60      -         STORE BS IN FULL ASCII MODE
ASTE72    CHARNE ACNUL,ASTE74 
          NOPR   EXIT        -         BS NOT SPECIFIED, STRIP NULL 
ASTE74    TSTMXF AFSPEDIT,ASTE78       SKIP IF IN SPECIAL EDIT MODE 
          BLCNE  CCIVT,ASTE76          SKIP IF NOT AT FIRST CHAR
          NOPR   EXIT        -         IGNORE BS PASSED FIRST CHAR
ASTE76    BKSPAC             -         PERFORM BACKSPACING
          ICC    CCIVT,EXIT  -         ADJUST CHARACTER COUNT 
ASTE78    STATE  ASBSLF,STOREXIT       LOOK FOR LF FOLLOWING BS 
* 
* 
* * * *   PROCESS END OF BLOCK
* 
* 
ASTEEB    TSTMXF AFNONFA,ASTE82        SKIP IF NOT FULL ASCII 
          STORE              -         STORE EOB CHARACTER IN FULL ASCII
ASTE82    TIBSWC A2WEOB      -         TERMINATE INPUT ON EOB 
          SKIP   ASTEA0 
* 
* 
* * * *   PROCESS END OF LINE, IGNORE IF PAPERTAPE CR AFTER A LF
* 
* 
ASTEEL    TSTMXF AFNONFA,ASTE92        SKIP IF NOT FULL ASCII 
          STORE              -         STORE EOL CHARACTER IN FULL ASCII
ASTE92    TSTMSK NCUOPS,AMDRCR,ASTE94 
          SKIP   ASTE96 
ASTE94    RSTBIT NCUOPS,ABDRCR         RESET DROP CR BIT
          CHARNE ACCR,ASTE96
          NOPR   EXIT        -         DROP 1ST PAPERTAPE CR AFTER LF 
ASTE96    TIBSWC A2WEOL      -         TERMINATE INPUT ON EOL 
* 
* 
* * * *   COMMON END OF LINE AND END OF BLOCK PROCESSING
* 
* 
ASTEA0    SETBIT NCUOPS,ABDROP         DROP LEADING NUL/DEL/STX NXT BLK 
          JUMP   ASEOLB,RTN  -         EOL / EOB RECOGNIZED 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A E S X P T  -  ECHOPLEX TRANSPARENT TEXT                   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          STATPR AESXPT 
* 
          TESTEQ TWO,ACXON,ACXOFF,AESX01
          SKIP   AESX02                          NOT EQUAL,ECHO CHARACTER 
AESX01    TSTMSK NCCRCS,AMICON+AMOCON,ASXP01     TEST INP/OUT CONTROL ON
AESX02    ECHOCH ACNUL                           ECHO CHARACTER 
* 
* 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S X P T     -   PROCESS TRANSPARENT TEXT                  * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASXPT
          SPC    2
ASXP01    SETBIT NCCAREC,NBCAREC       SET INPUT RECEIVED BIT 
* 
* 
* * * *   TEST FOR CHARACTER DELIMITER
* 
* 
          TSTMXF AFRGLOUT,ASXP1FC      SKIP IF OUTPUT REGULATION ON 
ASXP1NOFC TSTMXF AFXDBCH,ASXP02 
          SKIP   ASXP20 
ASXP1FC   SKIP   ASXP60 
ASXP02    SPCHEQ ASXP50      -         SKIP IF EOX CHARACTER SEEN 
          TSTMSK NCCRCS,AFPAI,ASXP04   SKIP IF PARITY = IGNORE
          SKIP   ASXP20 
ASXP04    SETBIT NCSCHR,NBPCHR         CHECK FOR DELIM W/ PARITY BIT SET
          SPCHEQ ASXP50 
          RSTBIT NCSCHR,NBPCHR         CLEAR PARITY BIT FOR NEXT TIME 
* 
* 
* * * *   NO REGULATION CONTROL FOUND, TEST FOR COUNT DELIMITER 
* 
* 
ASXP20    CNTNE  CCXPT,0,ASXP22        SKIP IF COUNT ACTIVE 
          SKIP   ASXP30 
ASXP22    DCC    CCXPT,ASXP40          SKIP IF COUNTER EXPIRED
* 
* 
* * * *   STORE CHARACTER AND MAINTAIN BLK BLOCK COUNTER
* 
* 
ASXP30    DCC    CCSBLK,ASXP32,STOREXIT COUNT AND STORE CHARACTER 
ASXP32    STORE 
          SETFLG BFANEOX,FRST          NOT END OF TRANSPARENT INPUT 
          TIBSWC A2WEOP      -         TERMINATE INPUT ON EOP 
          STATE  ASFXPT      -         RETURN TO FIRST CHAR STATE 
          JUMP   ASSWL,RTN   -         AFTER SENDING EOP WLE
* 
* 
* * * *   TRANSPARENT TERMINATOR COUNTER EXPIRED
* 
* 
ASXP40    STORE              -         STORE LAST CHARACTER 
          TSTMXF AFMXPT,ASXP42         SKIP IF MULTI MSG XPT MODE ACTIVE
          SKIP   ASXPEX      -         GO SEND EOB WLE TO OPS LEVEL TIP 
ASXP42    SETFLG BFANEOX,FRST          NOT END OF TRANSPARENT INPUT 
          SKIP   ASXPEX      -         GO END THIS BLOCK
* 
* 
* * * *   SPECIAL CHARACTER DELIMITER ACTIVE AND RECOGNIZED 
* 
* 
ASXP50    SETBIT NCUOPS,ABDROP         DROP TRAILING NULLS/DELS 
          TSTMXF AFMXPT,ASXP54         SKIP IF MULTI MSG XPT MODE ACTIVE
ASXPEX    STATE  ASFXPT      -         RETURN TO FIRST CHARACTER STATE
ASXP51    RSTINP             -         STOP CHARACTER TIMER 
ASXP52    TIBSWC A2WEOB      -         TERMINATE INPUT ON EOB 
          INTCC  CCXPT       -         INITIALIZE XPT BLOCK COUNTER 
          JUMP   ASSWL,RTN   -         GO SEND WL 
* 
ASXP54    MVCHRL NCS3CHR,NCSCHR        GET MULTI MSG DELIMITER CHAR 
          RSTBIT NCUOPS,ABDROP         DONT DROP LEADING LFS
          STATE  ASMXPT      -         LOOK FOR MULTI MSG DELIMITER 
          SETFLG BFANEOX,FRST          NOT END OF TRANSPARENT INPUT 
          SKIP   ASXP51      -         AFTER TERMINATING CURRENT INPUT
* 
* 
* * * *   OUTPUT FLOW CONTROL 
* 
* 
ASXP60    CHARNE ACXOFF,ASXP61         SKIP IF NOT XOFF 
          SKIP   ASXP62 
ASXP61    SKIP   ASXP66 
ASXP62    TSTMSK NCUOPS,AMXOFF,ASXP64  SKIP IF ALREADY SEEN XOFF
          BLDWL  A2WXOFF     -         SEND XOFF SEEN WL TO MUX LEVEL 
          STPOUT             -         STOP ODD-S FROM SENDING OUTPUT 
ASXP64    SETBIT NCUOPS,ABXOFF,EXIT 
* 
ASXP66    CHARNE ACXON,ASXP68 -        SKIP IF NOT XON
          TSTMSK NCUOPS,AMXOFF,ASXP70  SKIP IF XOFF SEEN
ASXP68    SKIPB  ASXP1NFC 
ASXP70    BLDWL  A2WXON      -         SEND XON SEEN WL TO MUX LEVEL
          RSTBIT NCUOPS,ABXOFF,EXIT 
          EJT 
  
  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S C H T O  -  CHARACTER TIMEOUT WAS DETECTED AT MUX LEVEL * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
  
          STATPR ASCHTO 
  
          STATLS A2XPT,ASCH02          IS BLOCK IN PROCESS
          TSTMXF AFMXPT,ASCH01         YES, TEST MULTI-MESSAGE
          SKIP   ASXPEX      -         FWD BLOCK, TERMINATE XPT 
ASCH01    SKIP   ASXP54      -         FWD BLOCK, LOOK NEXT FOR MM DEL
ASCH02    NOPR   EXIT        -         IGNORE TIMEOUT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S M X P T   -   LOOK FOR MULTI MSG TRANSPARENT DELIMITER  * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASMXPT 
          SPC    2
          SPCHEQ ASMXP2      -         SKIP IF MULTI MSG DELIMITER
          TSTMSK NCCRCS,AFPAI,ASMXP0   SKIP IF PARITY = IGNORE
          JUMP   ASFXPT      -         NO DELIMITER, PROCESS FIRST CHAR 
ASMXP0    SETBIT NCSCHR,NBPCHR         CHECK FOR DELIM W/ PARITY BIT SET
          SPCHEQ ASMXP2 
          JUMP   ASFXPT      -         NO DELIMITER, PROCESS FIRST CHAR 
          SETBIT NCUOPS,ABDROP         DROP TRAILING NULLS/DELS 
ASMXP2    SKIP   ASXPEX      -         SEND EOB WITHOUT BUFFER
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A E B S L F - ECHOPLEX SPECIAL EDIT BS/LF (ASCII)           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR AEBSLF 
          SPC    2
          TESTEQ TWO,ACXON,ACXOFF,AEBS01  TEST FOR XON OR XOFF
          SKIP   AEBS02      -            NOT EQUAL,SO ECHO CHARACTER 
AEBS01    TSTMSK NCCRCS,AMOCON+AMICON,ASBS01  TEST INP/OUT CONTROL ON 
AEBS02    ECHOCH ACNUL       -                ECHO CHARACTER
           SPC    4 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S B S L F   -   LOOK FOR SPECIAL EDIT BS/LF (ASCII)       * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASBSLF 
          SPC    2
ASBS01    STATE  ASNXPT                 PRESET NEXT STATE (= AENXPT)
          XLATE  $7F         -         STRIP PARITY AND TRANSLATE CHAR
          CHARNE ACLF,ASBS02
ASBSST    STORE              -         STORE LF FOLLOWING BS
          DCC    CCIVT,ASBS04          ACCOUNT FOR BS AND LF
          DCC    CCIVT,ASBS04,EXIT     SKIP IF PHYSICAL BLOCK FULL
ASBS02    JUMP   ASTEXT,RTN  -         PROCESS NON LF AS ALL OTHERS 
ASBS04    SKIP   ASTEEP      -         GO SHIP PHYSICAL BLOCK UPLINE
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S E O L B   -   END OF LINE / END OF BLOCK SEEN (ASCII)   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASEOLB 
          SPC    2
          STATE  A2FNXP      -         PRESET FOR NEXT INPUT
*         JUMP   ASSWL,RTN   -         FALL THROUGH TO NEXT STATE 
          SPC    2
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S S W L     -   SEND (SAVED) WORKCODE TO OPS LEVEL TIP    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASSWL
          SPC    2
          TSTMSK NCFDBA,$FFFF,ASSW02   SKIP IF INPUT BUFFER USED
          SKIP   ASSW06      -         NO BUFFER, DONT SET BUFFER FLAGS 
ASSW02    TSTMSK NCUOPS,AMNIVT,ASSW04 
          SETFLG BFAIVT,FRST -         MARK POSSIBLE IVT COMMAND
ASSW04    TSTMSK NCUOPS,AMNPERR,ASSW06
          SETFLG BFPARITY,FRST         MARK PARITY IN BUFFER
          SETBIT NCUOPS,ABNPERR        SET NO PARITY BIT
ASSW06    BLDWL  ,,EXIT,AISWK -        SEND SAVED WORKCODE TO OPS LEVEL 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S B R K K   -   CHECK FOR SECURITY CHARACTER AFTER BREAK  * 
*                           (ASCII)                                   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR ASBRKK 
          SPC    2
          RSTMXF AFBRKSEEN   -         CLEAR FLAG IN CASE OF INPUT TERM 
          SAVUTC 0           -         SAVE UNTRANSLATED CHARACTER
          XLATE  $7F         -         STRIP PARITY AND TRANSLATE CHAR
          XCHRNE AISN2741,,ASBR02      SKIP IF NOT SECURITY CHARACTER 
          TIBSWC A2WSCHAR    -         TERMINATE INPUT SAVE WORKCODE
          SETBIT NCUOPS,ABDROP         DROP LEADING NUL/DEL/STX NXT BLK 
          JUMP   ASEOLB,RTN  -         TREAT AS END OF BLOCK
* 
ASBR02    RSTUTC 0           -         RESTORE UNTRANSLATED CHARACTER 
          RSTCST 0           -         RESTORE PREVIOUS STATE 
          JUMP   CURRENT     -         CONTINUE OLD STATE WITH CHAR 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A 2 M X R G   -   MUX BUFFER REGULATION DETECTED (2741)     * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR A2MXRG 
          SPC    2
          STATLS A2MXRG+1,A2MX02       SKIP IF ALREADY IN REGULATION
          TIBWL  MMBUTCH     -         HAVE PMWOLP RELEASE BUFFERS NOW
A2MX02    XLATE  $3F         -         STRIP PARITY, TRANSLATE
          CHARNE ACCTRC,A2MX04         SKIP IF NOT CONTROL-C
          STATE  A2MXRG 
          TIBWL  MMBUTCH     -         TELL PMWOLP TO RELEASE BUFFERS 
          TIBSWC A2WREGL     -         PRESET WORKCODE TO REGULATION
          JUMP   ASSWL,RTN   -         SEND REGULATION WL TO OPS LEVEL
A2MX04    STATE  A2MXRG,EXIT -         WAIT FOR CONTROL-C 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A 2 F N X P   -   PROCESS FIRST NON XPT CHARACTER (2741)    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR A2FNXP 
          SPC    2
          SETMSK NCUOPS,AMDRCD+AMNIVT  DROP LEADING CONTROL-D, NO IVT 
          JUMP   A2FNCD 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A 2 F N C D   -   PROCESS CHARACTER AFTER CONTROL-D (2741)  * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR A2FNCD 
          SPC    2
*         JUMP   A2NXPT,RTN  -         FALL THROUGH TO NEXT STATE 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A 2 N X P T   -   PROCESS NON TRANSPARENT TEXT (2741)       * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR A2NXPT 
          SPC    2
* 
* 
* * * *   TEST FOR UPPER / LOWER CASE CHANGES 
* 
* 
          CHARNE C2UPPER,A2NX02 
          SETBIT NCCXLTA,NBUPPER       SELECT UPPER CASE TRANSLATE
          NOPR   EXIT        -         IGNORE UPPER/LOWER CASE SHIFTS 
A2NX02    CHARNE C2LOWER,A2NX10 
          RSTBIT NCCXLTA,NBUPPER       SELECT LOWER CASE TRANSLATE
          NOPR   EXIT        -         IGNORE UPPER/LOWER CASE SHIFTS 
* 
* 
* * * *   SEE IF CONTROL-D MUST BE DROPPED (IF NOT IT IS DATA...) 
* 
* 
A2NX10    TSTMSK NCUOPS,AMDRCD,A2NX12  SKIP IF CONTROL-D MUST BE DROPPED
          SKIP   A2NX20      -         DONT DROP CONTROL D
A2NX12    RSTBIT NCUOPS,ABDRCD
          RSTBIT NCCXLTA,NBUPPER       SELECT LOWER CASE TRANSLATE
          CHARNE C2CTRD,A2NX14         SKIP IF WE DONT HAVE CONTROL-D 
          NOPR   EXIT        -         IGNORE CONTROL-D 
A2NX14    CHARNE C2CTRD+$40,A2NX20     ALLOW FOR %PA=N SETTING
          NOPR   EXIT 
* 
* 
* * * *   LOOK FOR CONTROL-C (ATTENTION KEY), AFTER TRANSLATION TO ASCII
* 
* 
A2NX20    XLATE  $3F         -         STRIP PARITY AND TRANSLATE 
          CHARNE ACCTRC,A2NX2A         SKIP IF NOT CONTROL-C (ATTN) 
          SKIP   A2NX21      -
A2NX2A    SKIP   A2NX30      -
A2NX21    SETMSK NCUOPS,AMATTN+AMDRCD  MARK ATTENTION SEEN, DROP CNTRL-D
          STATLS A2NXPT,A2NX22         SKIP IF FIRST INPUT CHARACTER
          SKIP   A2NX24 
A2NX22    RSTBIT NCUOPS,ABNIVT         FIRST CHAR IS ATTN, POSSIBLE IVT 
          TSTMXF AFSECHAR,A2NX23       SKIP IF SECURITY CHAR DEFINED
          SKIP   A2NX24      -         DONT CHECK NEXT CHARACTER
A2NX23    SAVCST             -         SAVE CURRENT STATE IN NCCRCS 
          STATE  A2ATTN      -         SET STATE TO CHECK NEXT CHAR 
A2NX24    BLDWL  A2WLF,,EXIT -         UNLOCK KEYBOARD WITH CR-SEQUENCE 
* 
* 
* * * *   SPECIAL 2741 PROCESSING COMPLETE, CONTINUE ASCII PROCESSING 
* 
* 
A2NX30    STATLS A2NXPT,A2NX32         SKIP IF FIRST INPUT CHARACTER
          JUMP   A2TEXT,RTN  -         PROCESS NEXT CHARACTER 
A2NX32    JUMP   A2FRST,RTN  -         PROCESS FIRST CHARACTER
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A 2 B S L F   -   LOOK FOR SPECIAL EDIT BS/ATTN (2741)      * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR A2BSLF 
          SPC    2
          STATE  A2NXPT      -         PRESET NEXT STATE
          XLATE  $3F         -         STRIP PARITY AND TRANSLATE CHAR
          CHARNE ACCTRC,A2BS02         SKIP IF NOT ATTENTION KEY
          SETBIT NCUOPS,ABDRCD         DROP NEXT CONTROL-D
          RCHAR  ACLF        -         STORE LF AFTER BS
          SKIP   ASBSST 
A2BS02    JUMP   ASTEXT,RTN  -         PROCESS NON ATTN AS ALL OTHERS 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A 2 E O L B   -   END OF LINE / END OF BLOCK SEEN (2741)    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR A2EOLB 
          SPC    2
          TSTMSK NCUOPS,AMATTN,A2EL02  SKIP IF PRECEEDED BY ATTN KEY
          SKIP   A2WT02      -         WAIT FOR CONTROL-C 
A2EL02    RSTMSK NCUOPS,AMNIVT+AMATTN  MARK AS POSSIBLE IVT CMD 
          SKIP   A2WT02      -         WAIT FOR CONTROL-C 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A 2 W T C C   -   WAIT FOR CONTROL-C AFTER EOL/EOB (2741)   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR A2WTCC 
          SPC    2
          XLATE  $3F         -         STRIP PARITY, TRANSLATE
A2WT02    CHARNE ACCTRC,A2WT04         SKIP IF NOT CONTROL-C
          STATE  A2FNXP      -         PRESET FOR NEXT INPUT
          JUMP   A2SWL,RTN   -         SEND RECEIVED INPUT UPLINE 
A2WT04    STATE  A2WTCC,EXIT -         CONTINUE TO WAIT FOR CONTROL-C 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A 2 B R K K   -   RESTORE CURRENT STATE AFTER BREAK (2741)  * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR A2BRKK 
          SPC    2
          RSTMXF AFBRKSEEN   -         CLEAR FLAG IN CASE OF INPUT TERM 
          RSTCST 0           -         RESTORE PREVIOUS STATE 
          JUMP   CURRENT     -         CONTINUE OLD STATE WITH CHAR 
          SPC    3
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*         A S A T T N   -   CHECK FOR SECURITY CHARACTER AFTER ATTN   * 
*                           AS FIRST CHARACTER (2741)                 * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    1
          STATPR A2ATTN 
          SPC    2
* 
* 
* * * *   TEST FOR UPPER / LOWER CASE CHANGES 
* 
* 
          CHARNE C2UPPER,A2AT02 
          SETBIT NCCXLTA,NBUPPER       SELECT UPPER CASE TRANSLATE
          NOPR   EXIT        -         IGNORE UPPER/LOWER CASE SHIFTS 
A2AT02    CHARNE C2LOWER,A2AT04 
          RSTBIT NCCXLTA,NBUPPER       SELECT LOWER CASE TRANSLATE
          NOPR   EXIT        -         IGNORE UPPER/LOWER CASE SHIFTS 
* 
* 
* * * *   CHECK IF CONTROL-D MUST BE DROPPED
* 
* 
A2AT04    TSTMSK NCUOPS,AMDRCD,A2AT06  SKIP IF DROPPING CONTROL-D 
          SKIP   A2AT10      -         PROCESS THE CHARACTER
A2AT06    RSTBIT NCUOPS,ABDRCD         RESET DROP CONTROL-D 
          RSTBIT NCCXLTA,NBUPPER       SELECT LOWER CASE TRANSLATE
          CHARNE C2CTRD,A2AT08         SKIP IF NOT CONTROL-D
          NOPR   EXIT        -         IGNORE CONTROL-D 
A2AT08    CHARNE C2CTRD+$40,A2AT10     ALLOW FOR %PA=N SETTING
          NOPR   EXIT        -         IGNORE CONTROL-D 
* 
* 
* * * *   TEST FOR SECURITY CHARACTER 
* 
* 
A2AT10    SAVUTC 0           -         SAVE UNTRANSLATED CHARACTER
          XLATE  $3F         -         STRIP PARITY AND TRANSLATE 
          XCHRNE AIS2741,,A2AT12       SKIP IF NOT SECURITY CHARACTER 
          TIBSWC A2WSCHAR    -         TERMINATE INPUT SAVE WORKCODE
          SETBIT NCUOPS,ABDROP         DROP LEADING NUL/DEL/STX NXT BLK 
          JUMP   A2EOLB,RTN  -         TREAT AS END OF BLOCK
* 
A2AT12    RSTUTC 0           -         RESTORE UNTRANSLATED CHARACTER 
          RSTCST 0           -         RESTORE PREVIOUS STATE 
          JUMP   CURRENT     -         CONTINUE OLD STATE WITH CHAR 
          SPC    3
          END 
