ASMB,L,C
      NAM SLCIN,19 PRINT SLC INFO 780613 DMT 24999-16214 REV 1902 
      SUP 
A     EQU 0 
B     EQU 1 
      EXT EXEC,CNUMO,CNUMD,$LIBR,$LIBX,$OPSY
      EXT #FWAM,#LU3K,D$EQT,D$XS5 
      SPC 1 
*  **************************************************************** 
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978.  ALL RIGHTS      * 
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,       * 
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * 
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.        * 
*  **************************************************************** 
      SPC 1 
      UNL 
*#      EXT IFBRK 
      LST 
******************************* 
*                             * 
*  PROGRAM NAME: SLCIN        * 
*                             * 
*  SOURCE PART#: 24999-18XXX  * 
*                             * 
*  RELOC. PART#: 24999-16XXX  * 
*                             * 
*  PROGRAMMER  : DT           * 
*                             * 
*  DATE        : JUNE 1977    * 
*                             * 
******************************* 
      SPC 1 
* PRINT LONG TERM STATISTICS AND TRACE TABLES FROM THE SYNCHRONOUS
* LINE CONTROL (SLC) PACKAGE. 
* 
* RUN FROM RTE WITH 
*   RU,SLCIN,<OUTLU>
* WHERE <OUTLU> IS THE LU WHERE THE INFORMATION IS TO BE PRINTED. 
* 
* THE SLC LONG TERM STATISTICS ARE PRINTED FIRST, FOLLOWED BY THE 
* EVENT TRACE TABLE.
* 
*  NOTE: MODIFIED 9-22-77 TO REMOVE CHARACTER TRACE PRINT 
*        MODIFIED 6-13-78 TO REMOVE PRINTING OF UNMAINTAINED STATISTICS 
*            (ERROR-FREE MSGS, NACKS, AND WACK/TTD RECEIVED). 
      SPC 1 
      SKP 
*  PICK UP SCHEDULING PARAMETER 
SLCIN LDA $OPSY     IF OP SYSTEM
      RAR,SLA        IS NOT MAPPED, 
      JMP XLOAD 
      LDA B,I          NO DMS LOAD NEEDED.
      JMP SETLU 
* 
XLOAD XLA B,I 
* 
SETLU SZA,RSS       IF OUTLU=0, 
      CLA,INA        OUTLU:=1.
      STA OUTLU 
* 
      LDA #FWAM     HAS LSTEN 
      SZA            BEEN RUN?
      JMP CHEK2      YES--IS 3000 ENABLED?
* 
      JSB PRINT     PRINT 
      DEF RUNL       ERROR
      DEC 9           MESSAGE.
      JMP FINIS     TERMINATE.
* 
CHEK2 LDA #LU3K     IF 3000 HAS 
      SZA            NOT BEEN 
      JMP LTSTS       ENABLED,
* 
      JSB PRINT        PRINT
      DEF NOTEN         ERROR 
      DEC 10             MESSAGE. 
      JMP FINIS        TERMINATE. 
      SPC 2 
RUNL  ASC 9, RUN LSTEN FIRST! 
NOTEN ASC 10, HP 3000 NOT ENABLED 
      SKP 
* PRINT LONG TERM STATISTICS
* 
LTSTS JSB PRINT     PRINT 
      DEF SHEAD      HEADING. 
      DEC 13
      LDA DN4       SET UP COUNTER
      STA CNT1       FOR 4 LINES. 
      LDA FSTVL     INITIALIZE
      JSB INDR
      STA FSTVL 
      ADA DN1 
      STA VPNT       VALUE POINTER. 
      LDA MSGTB     INITIALIZE
      STA MPNT       MESSAGE POINTER. 
      LDA D14       SET OUTPUT
      STA BUMP       BUMP TO 14.
* 
LOOPA LDA AW3       SET OUTPUT
      STA OPNTR      POINTER. 
      LDA BLANK     CLEAR 
      JSB FILL       BUFFER.
* 
LOOPB ISZ VPNT      BUMP STAT POINTER.
      LDA MPNT,I    GET # OF
      STA CNT2       CHARACTERS.
      ISZ MPNT
      SZA,RSS       SKIP MOVE IF
      JMP LOOPB      NO MESSAGE.
      LDA MPNT      MESSAGE SOURCE ADDR.
      LDB OPNTR     MESSAGE DESTINATION FIELD.
      ADB D3
      MVW CNT2      MOVE MESSAGE. 
      STA MPNT      POINT TO NEXT MESSAGE.
      LDB VPNT,I    CONVERT THE 
      JSB TO10       VALUE. 
      LDA OPNTR     IF PRINTLINE
      CPA AW17       NOT FULL,
      JMP LOOPB       MOVE 2ND MESSAGE. 
* 
      JSB PRINT     PRINT 
      DEF BUFR       MESSAGES.
      DEC 30
      ISZ CNT1      LAST MESSAGE? 
      JMP LOOPA       NO--STAY IN LOOP. 
      SKP 
* DUMP EVENT TRACE TABLE
* 
* CALCULATE START/END OF EVENT/CHARACTER TABLES 
      LDA FSTVL     CALCULATE 
      ADA D11        OFFSET 
      STA @TABL       FOR 
      CMA,INA          TRACE
      ADA @PNTR         TABLES. 
      STA OFSET 
      LDA @D$EQ 
      JSB INDR
      ADA D$EQT 
      ADA OFSET 
      UNL 
*#      STA EOTB2     LAST ADDR IN CHAR TABLE.
      LST 
      LDB D$XS5+1   B:=# WRDS IN CHAR TABLE.
      CMB,INB 
      ADA B         SUBTRACT FROM A.
      STA EOTBL     LAST ADDR IN EVENT/1ST IN CHAR. 
* 
      JSB PRINT     PRINT 
      DEF BLANK      BLANK
D1    DEC 1           LINE. 
      JSB PRINT     PRINT HEADINGS. 
      DEF EHEAD 
      DEC 12
      JSB PRINT 
      DEF EHED2 
      DEC 28
      LDB D4        SET PRINT 
      STB BUMP       BUMP TO 4. 
* 
*      MOVE TRACE TABLES AND POINTERS 
      JSB $LIBR     TURN OFF
      NOP            INTERRUPTS.
      LDA @TABL     SOURCE LOCATION.
      LDB @PNTR     DESTINATION LOCATION. 
      MVW D303      MOVE 303 WORDS. 
      JSB $LIBX     TURN
      DEF *+1        INTERRUPTS 
      DEF *+1         BACK ON.
* 
      LDB PNTRS+2   B:=FIRST ENTRY ADDRESS. 
* 
LOOP  LDA BLANK     CLEAR 
      JSB FILL       PRINTLINE. 
      ADB OFSET     ADD OFFSET FOR LOCAL TABLES.
      STB LINK      STORE LINK ADDRESS. 
      STB ENTRY     SAVE ENTRY ADDRESS. 
      JSB NXTEV     PICK UP WORD 2. 
      LDB AW3       SET UP
      STB OPNTR      OUTPUT POINTER.
      CLB           CLEAR B-REG.
      LSL 8         B:=COMPLETION STATUS. 
      JSB TO8       CONVERT AND STORE.
      LSL 2         B:=REQUEST CODE.
      STB REQCD     STORE.
      CLB 
      LSL 6         B:=FUNCTION CODE. 
      STB FUNCD     STORE.
*      DECODE FUNCTION
      LDA REQCD     LOAD REQUEST CODE.
      CPA D1         IF = 1,
      JMP READ         DECODE FOR READ. 
      CPA D2         IF = 2,
      JMP WRITE        DECODE FOR WRITE.
      CPA D3         IF = 3,
      JMP CNTRL        DECODE FOR CONTROL.
*      BAD FUNCTION 
BAD   LDB REQCD     CONVERT REQUEST 
      JSB TO8        CODE AND 
      LDB REQCD       FUNCTION TO 
      JSB TO8          OCTAL. 
      JMP WRD3      GO GET WORD 3.
* 
READ  LDA FUNCD     ** PROCESS READ FUNCTION ** 
      SZA,RSS       CHECK 
      JMP BAD        FOR
      CPA D7          BAD 
      JMP BAD          FUNCTION.
      ADA DN7 
      SSA,RSS 
      JMP BAD 
      DLD STA05+1   MOVE
      DST BUFR+7     "READ".
      LDA FUNCD 
      ADA @RTBL     GET TABLE ADDRESS.
      LDA A,I 
      LDB A,I       STORE 
      STB CNT1       LENGTH.
      INA           A-REG POINTS TO MESSAGE.
      LDB AW10      B-REG POINTS TO DESTINATION.
      MVW CNT1      MOVE MESSAGE. 
      JMP WRD3      GO GET WORD 3.
* 
WRITE LDA FUNCD     ** PROCESS WRITE FUNCTION **
      SZA,RSS       CHECK 
      JMP BAD        FOR
      CPA D7          BAD 
      JMP BAD          FUNCTION.
      LDB AW8       MOVE
      LDA @WRIT      "WRITE". 
      MVW D3
      LDA FUNCD     DON'T USE 
      AND D7         FUNCTION BITS 9-11.
      ADA @WTBL     GET TABLE ADDRESS.
      LDA A,I 
      LDB A,I       STORE 
      STB CNT1       LENGTH.
      INA           A-REG POINTS TO MESSAGE.
      LDB AW11      B-REG POINTS TO DESTINATION.
      MVW CNT1      MOVE MESSAGE. 
      JMP WRD3      GO GET WORD 3.
* 
CNTRL LDA FUNCD     ** PROCESS CONTROL FUNCTION **
      CPA D5        CHECK FOR 
      JMP BAD         BAD FUNCTION
      AND D7            AND 
      LDB D11            MAP
      CPA FUNCD           40-45 
      LDB D6               TO 
      ADA DN6               5-12. 
      SSA,RSS 
      JMP BAD 
      ADA B 
      ADA @CTBL     GET TABLE ADDRESS.
      LDA A,I 
      LDB A,I       STORE 
      STB CNT1       LENGTH.
      INA           A-REG POINTS TO MESSAGE.
      LDB AW8       B-REG POINTS TO DESTINATION.
      MVW CNT1      MOVE MESSAGE. 
* 
WRD3  JSB NXTEV     PICK UP WORD 3. 
      LDB LINK,I    ALREADY 
      ADB OFSET      UP TO
      CPB ENTRY       NEXT ENTRY? 
      JMP SPCAS         YES--SPECIAL CASE!
* 
LOOP2 CLB 
      LSL 8         B:=EVENT #. 
      STB EVENT     STORE.
      CLB 
      LSL 8         B:=STATE #. 
      STB STATE     STORE.
* 
      LDA EVENT     DECODE EVENT. 
      ADA DN33      CHECK 
      SSA,RSS        FOR
      JMP BADE        BAD 
      LDA EVENT        EVENT. 
      ADA @ETBL     GET TABLE ADDRESS.
      LDA A,I 
      LDB A,I       STORE 
      STB CNT1       LENGTH.
      INA           A-REG POINTS TO MESSAGE.
      LDB AW17      B-REG POINTS TO DESTINATION.
      MVW CNT1      MOVE MESSAGE. 
* 
DESTA LDA STATE     DECODE STATE. 
      ADA DN25      CHECK 
      SSA,RSS        FOR
      JMP BADS        BAD 
      LDA STATE        STATE. 
      ADA @STBL     GET TABLE ADDRESS.
      LDA A,I 
      LDB A,I       STORE 
      STB CNT1       LENGTH.
      INA           A-REG POINTS TO MESSAGE.
      LDB AW26      B-REG POINTS TO DESTINATION.
      MVW CNT1      MOVE MESSAGE. 
* 
PRNT1 JSB PRINT     PRINT EVENT ENTRY.
      DEF BUFR
D33   DEC 33
      UNL 
*#      JSB IFBRK     IF BREAK
*#      DEF *+1        FLAG 
*#      SSA             SET,
*#      JMP CTRAC        GO TO CHARACTER TRACE. 
      LST 
      LDA BLANK 
      JSB FILL      FILL OUTPUT BUFFER WITH BLANKS. 
      JSB NXTEV     GET NEXT WORD.
      LDB LINK,I    PROCESSED 
      ADB OFSET      THE  LAST
      CPB ENTRY       EVENT/STATE WORD? 
      JMP CHK2          YES--CHECK FOR END OF TABLE.
      LDB AW18          NO--
      STB OPNTR         SET OUTPUT POINTER
      JMP LOOP2          AND PRINT THEM.
* 
*      SPECIAL CASE--NO EVENT/STATE WORDS 
SPCAS JSB PRINT     PRINT 
      DEF BUFR       FIRST WORD 
      DEC 15          INFO ONLY.
* 
CHK2  LDB LINK,I
      CPB PNTRS+1   LAST ENTRY? 
      JMP CTRAC       YES!
      JMP LOOP       NO--LOOP AGAIN.
      SPC 3 
* VARIABLES USED IN EVENT TRACE 
* 
EVENT NOP 
STATE NOP 
REQCD NOP 
FUNCD NOP 
      SPC 2 
BADE  LDA AW17      BAD EVENT-- 
      STA OPNTR       CONVERT 
      LDB EVENT        TO 
      JSB TO10          DECIMAL.
      JMP DESTA 
      SPC 2 
BADS  LDA AW26      BAD STATE-- 
      STA OPNTR       CONVERT 
      LDB STATE        TO 
      JSB TO10          DECIMAL.
      JMP PRNT1 
      SKP 
* PRINT CHARACTER TRACE TABLE 
* (CHARACTER TRACE TABLE IS NOT MAINTAINED FOR HSLC)
* 
CTRAC EQU * 
      UNL 
*#      LDA D$XS5     IF NOT
*#      AND D2         MODEM
*#      SZA,RSS         LINK, 
*#      JMP FINIS        ALL DONE.
*#      JSB PRINT     PRINT 
*#      DEF BLANK      BLANK
*#      DEC 1           LINE. 
*#      JSB PRINT     PRINT FIRST 
*#      DEF CHEAD      HEAD.
*#      DEC 14
*#      LDA BLANK 
*#      JSB FILL
*#      LDA @CHD2     SET UP
*#      LDB AW2        2ND HEAD 
*#      MVW D6          BY MOVING 
*#      LDA AW2          OVERLAPING 
*#      LDB AW10          FIELDS. 
*#      MVW D22 
*#      JSB PRINT     PRINT IT. 
*#      DEF BUFR
*#      DEC 31
*#      LDB D5        SET PRINT 
*#      STB BUMP       BUMP TO 5. 
*#      LDB PNTRS     B:=1ST CHAR ADDRESS.
*#      ADB OFSET     ADD OFFSET FOR LOCAL TABLE. 
*#      STB PNTRS 
*#      STB ENTRY     SAVE. 
*#* 
*#LOOP3 LDA BLANK     CLEAR 
*#      JSB FILL       PRINTLINE. 
*#      LDA AW2       SET UP
*#      STA OPNTR      OUTPUT POINTER.
*#      LDB DN4       CONVERT 4 CHARACTERS
*#      STB CNT2       PER LINE.
*#* 
*#LOOP4 LDA ENTRY,I   GET NEXT CHARACTER. 
*#      LDB DN3       SET UP
*#      STB CNT1       BIT COUNTER. 
*#      LDB "1"       B:=ASCII 1. 
*#* 
*#LOOP5 CLE,ELA       ANALYZE 
*#      SEZ            BIT
*#      STB OPNTR,I 
*#      ISZ OPNTR       FIELDS. 
*#      ISZ CNT1      DONE? 
*#      JMP LOOP5 
*#* 
*#      LSR 3         GET 
*#      AND B377       DATA.
*#      LDB A 
*#      JSB TO8       CONVERT TO OCTAL. 
*#* 
*#*      INTERPRET ASCII VALUE OF CHARACTER 
*#      LDB OPNTR     POINT 
*#      ADB DN2        TO 
*#      STB CNT1        BUFFER. 
*#      LDB A         COPY CHARACTER. 
*#      AND B340      IS IT >= SPACE? 
*#      SZA 
*#      JMP CHAR        YES--GO DO U.C. LETTER TEST.
*#      CLE,ELB       POINT INTO
*#      ADB @CCTB      CONTROL CHAR TABLE.
*#      DLD B,I       PICK UP DESCRIPTION.
*#      JMP STORE     STORE IN PRINT BUFFER.
*#* 
*#CHAR  EQU *         ** PROCESS NON-CONTROL CHARS ** 
*#      STA TEMP      SAVE TEST BITS. 
*#      AND B200      IS BIT
*#      SZA            7 SET? 
*#      JMP UPDT        YES--SKIP STORE.
*#      LDA TEMP
*#      XOR B140      IF CHARACTER IS 
*#      SZA,RSS         LOWER CASE, 
*#      JMP UPDT          SKIP STORE. 
*#      LDA B         COPY CHAR TO A-REG
*#      IOR B21K       WITH QUOTE IN RIGHT HALF.
*#      ALF,ALF 
*#      LDB "=""      B:="="".
*#      SWP           SWAP 'EM. 
*#* 
*#STORE DST CNT1,I    STORE CONVERTED CHARACTER.
*#* 
*#UPDT  JSB NXTCH     UPDATE CHAR POINTER.
*#      CPA PNTRS     LAST CHARACTER IN TRACE?
*#      JMP PRNTC       YES--GO PRINT.
*#      ISZ CNT2      DONE WITH THIS LINE?
*#      JMP LOOP4 
*#* 
*#PRNTC JSB PRINT     PRINT LINE OF INFO. 
*#      DEF BUFR
*#      DEC 33
*#* 
*#      LDA ENTRY 
*#      CPA PNTRS     END OF LIST?
*#      RSS 
*#      JMP LOOP3 
      LST 
      SPC 3 
FINIS JSB EXEC      TERMINATE 
      DEF *+2 
      DEF D6
      SPC 6 
* SUBROUTINES 
      SPC 3 
* CONVERT B-REG CONTENTS TO ASCII (OCTAL) 
TO8   NOP 
      STB TEMP      STORE NUMBER. 
      STA AREG      SAVE A-REG. 
      JSB CNUMO     GO CONVERT. 
      DEF *+3 
      DEF TEMP
      DEF OPNTR,I 
      LDA AREG      RESTORE A-REG.
      LDB OPNTR     BUMP
      ADB BUMP       OUTPUT 
      STB OPNTR       POINTER.
      CLB           CLEAR B-REG.
      JMP TO8,I     RETURN. 
      SPC 5 
* CONVERT B-REG CONTENTS TO ASCII (DECIMAL) 
* 
TO10  NOP 
      STB TEMP      STORE NUMBER. 
      STA AREG      SAVE A-REG. 
      JSB CNUMD     GO CONVERT. 
      DEF *+3 
      DEF TEMP
      DEF OPNTR,I 
      LDA AREG      RESTORE A-REG.
      LDB OPNTR     BUMP
      ADB BUMP       OUTPUT 
      STB OPNTR       POINTER.
      CLB           CLEAR B-REG.
      JMP TO10,I    RETURN. 
      SPC 3 
* PRINT A MESSAGE 
* 
MSG   NOP           MESSAGE ADDRESS 
LEN   NOP           LENGTH
* 
PRINT NOP 
      LDA PRINT,I   PICK
      STA MSG        UP 
      ISZ PRINT       PARAMETERS. 
      LDA PRINT,I 
      STA LEN 
      ISZ PRINT 
* 
      JSB EXEC      CALL EXEC FOR WRITE.
      DEF *+5 
      DEF D2
      DEF OUTLU 
      DEF MSG,I 
      DEF LEN 
* 
      JMP PRINT,I   RETURN. 
      SPC 3 
* GET NEXT ENTRY IN EVENT TABLE 
* 
NXTEV NOP 
      LDA ENTRY     GET CURRENT ENTRY ADDRESS.
      INA           ADD ONE.
      CPA EOTBL     IF OUT OF TABLE,
      LDA SOTBL       RESET TO BEGINNING. 
      STA ENTRY     STORE.
      LDA A,I       A:=CONTENTS OF ENTRY. 
      JMP NXTEV,I   RETURN. 
* 
SOTBL DEF TABLE     START OF EVENT TRACE TBL
EOTBL NOP             END OF EVENT TRACE TBL
      SPC 3 
      UNL 
*#* POINT TO NEXT ENTRY IN CHARACTER TABLE
*#* 
*#NXTCH NOP 
*#      LDA ENTRY     GET CURRENT ADDRESS.
*#      INA           ADD ONE.
*#      CPA EOTB2     IF OUT OF TABLE,
*#      LDA SOTB2      RESET TO BEGINNING.
*#      STA ENTRY     STORE.
*#      JMP NXTCH,I   RETURN. 
*#* 
*#SOTB2 EQU EOTBL        START OF CHAR TABLE. 
*#EOTB2 NOP                END OF CHAR TABLE. 
*#      SPC 3 
      LST 
* FILL OUTPUT BUFFER WITH CHAR IN A-REG 
* 
FILL  NOP 
      LDX D33       INITIALIZE COUNTER. 
FLOOP SAX BUFR-1    STORE A-REG.
      DSX           DECREMENT X-REG AND 
      JMP FLOOP       STAY IN LOOP UNTIL 0. 
* 
      JMP FILL,I    RETURN. 
      SPC 3 
* CHASE DOWN INDIRECTS
* 
INDR  NOP 
      RSS 
N     LDA A,I 
      RAL,CLE,SLA,ERA 
      JMP N 
      JMP INDR,I
      SPC 6 
* CONSTANTS AND STORAGE 
      SPC 1 
      UNL 
*#"1"   ASC 1, 1
*#"=""  ASC 1,="
      LST 
@D$EQ DEF D$EQT 
FSTVL DEF D$XS5+2 
BLANK ASC 1,
VPNT  NOP 
MPNT  NOP 
BUMP  NOP 
LINK  NOP 
ENTRY NOP 
CNT1  NOP 
CNT2  NOP 
TEMP  NOP 
      UNL 
*#AW2   DEF BUFR+1
      LST 
AW3   DEF BUFR+2
AW8   DEF BUFR+7
AW10  DEF BUFR+9
AW11  DEF BUFR+10 
AW17  DEF BUFR+16 
AW18  DEF BUFR+17 
AW26  DEF BUFR+25 
OPNTR NOP 
BUFR  ASC 20, 
      ASC 13, 
*      HEADINGS:
SHEAD ASC 13, SLC LONG TERM STATISTICS: 
EHEAD ASC 12, SLC EVENT TRACE TABLE:
EHED2 ASC 25,     STATUS   FUNCTION          EVENT
      ASC 3,STATE 
      UNL 
*#CHEAD ASC 14, SLC CHARACTER TRACE TABLE:
*#CHED2 ASC 6, T L D  DATA
*#* 
*#@CHD2 DEF CHED2 
      LST 
OUTLU NOP           RUN-TIME
      BSS 4          PARAMETERS 
AREG  NOP 
DN33  DEC -33 
DN25  DEC -25 
DN7   DEC -7
DN6   DEC -6
DN4   DEC -4
      UNL 
*#DN3   DEC -3
*#DN2   DEC -2
      LST 
DN1   DEC -1
D2    DEC 2 
D3    DEC 3 
D4    DEC 4 
D5    DEC 5 
D14   DEC 14
      UNL 
*#D22   DEC 22
      LST 
D303  DEC 303 
      UNL 
*#B140  OCT 140 
*#B200  OCT 200 
*#B340  OCT 340 
*#B377  OCT 377 
*#B21K  OCT 21000 
      LST 
      SPC 3 
* LONG TERM STATS HEADINGS
* 
MSGTB DEF *+1       MESSAGE TABLE 
D7    DEC 7 
      ASC 7, READ REQUESTS
      DEC 8 
      ASC 8, WRITE REQUESTS 
D11   DEC 11
      ASC 11, MESSAGES TRANSMITTED
      DEC 0         ERROR-FREE STAT NOT KEPT
D6    DEC 6 
      ASC 6, LINE ERRORS
      DEC 0         NAKS STAT NOT KEPT
      DEC 9 
      ASC 9, BCC/PARITY ERRORS
      DEC 7 
      ASC 7, LONG TIMEOUTS
      DEC 8 
      ASC 8, RESPONSE ERRORS
      DEC 7 
      ASC 7, RESPONSE REJ 
      SPC 3 
* POINTERS INTO TABLES
* 
      UNL 
*#@CCTB DEF CCTB
      LST 
@RTBL DEF RTBL-1
@WRIT DEF STA12+1 
@WTBL DEF WTBL-1
@CTBL DEF CTBL
@ETBL DEF ETBL
@STBL DEF STBL
      SPC 3 
      UNL 
*#* CONTROL CHARACTER TABLE 
*#* 
*#CCTB  ASC 2,
*#      ASC 2,=SOH
*#      ASC 2,=STX
*#      ASC 2,=ETX
*#      ASC 2,=EOT
*#      ASC 2,=ENQ
*#      ASC 2,=ACK
*#      ASC 2,=BEL
*#      ASC 2,=BS 
*#      ASC 2,=HT 
*#      ASC 2,=LF 
*#      ASC 2,=VT 
*#      ASC 2,=FF 
*#      ASC 2,=CR 
*#      ASC 2,=SO 
*#      ASC 2,=SI 
*#      ASC 2,=DLE
*#      ASC 2,=DC1
*#      ASC 2,=DC2
*#      ASC 2,=DC3
*#      ASC 2,=DC4
*#      ASC 2,=NAK
*#      ASC 2,=SYN
*#      ASC 2,=ETB
*#      ASC 2,=CAN
*#      ASC 2,=EM 
*#      ASC 2,=SUB
*#      ASC 2,=ESC
*#      ASC 2,=FS 
*#      ASC 2,=GS 
*#      ASC 2,=RS 
*#      ASC 2,=US 
*#      SPC 3 
      LST 
* LOCAL STORAGE FOR TRACE TABLES AND POINTERS 
* 
@PNTR DEF PNTRS 
@TABL NOP 
OFSET NOP 
PNTRS BSS 3 
TABLE BSS 300 
      SPC 3 
* READ FUNCTION TABLE 
* 
RTBL  DEF RMSG1 
      DEF RMSG2 
      DEF RMSG3 
      DEF RMSG4 
      DEF RMSG5 
      DEF RMSG6 
RMSG1 DEC 4 
      ASC 4, INQUIRY
RMSG2 DEC 4 
      ASC 4, INITIAL
RMSG3 DEC 5 
      ASC 5, CONTINUE 
RMSG4 DEC 4 
      ASC 4, REPEAT 
RMSG5 DEC 6 
      ASC 6, W/REVRS INT
RMSG6 DEC 3 
      ASC 3, DELAY
      SPC 2 
* WRITE FUNCTION TABLE
* 
WTBL  DEF WMSG1 
      DEF WMSG2 
      DEF WMSG3 
      DEF WMSG4 
      DEF WMSG5 
      DEF WMSG6 
WMSG1 DEC 4 
      ASC 4,INQUIRY 
WMSG2 DEC 4 
      ASC 4,CONTINUE
WMSG3 DEC 5 
      ASC 5,CONVERSTNL
WMSG4 DEC 3 
      ASC 3,RESET 
WMSG5 DEC 5 
      ASC 5,DISCONNECT
WMSG6 DEC 3 
      ASC 3,DELAY 
      SPC 2 
* CONTROL FUNCTION TABLE
* 
CTBL  DEF CMSG0 
      DEF CMSG1 
      DEF CMSG2 
      DEF CMSG3 
      DEF CMS40 
      DEF CMS41 
      DEF CMS42 
      DEF CMS43 
      DEF CMS44 
      DEF CMS45 
CMSG0 DEC 3 
      ASC 3,CLEAR 
CMSG1 DEC 5 
      ASC 5,INITIALIZE
CMSG2 DEC 5 
      ASC 5,LINE OPEN 
CMSG3 DEC 5 
      ASC 5,LINE CLOSE
CMS40 DEC 8 
      ASC 8,ESTABLISH LOC ID
CMS41 DEC 8 
      ASC 8,ESTBL REM ID LST
CMS42 DEC 8 
      ASC 8,CHNG ERROR PRAMS
CMS43 DEC 8 
      ASC 8,ZERO COMM STATS 
CMS44 DEC 7 
      ASC 7,SHIFT TO RECEV
CMS45 DEC 8 
      ASC 8,DISABLE NAK SEND
      SPC 2 
* EVENT TABLE 
* 
ETBL  DEF EVT00 
      DEF EVT01 
      DEF EVT02 
      DEF EVT03 
      DEF EVT04 
      DEF EVT05 
      DEF EVT06 
      DEF EVT07 
      DEF EVT08 
      DEF EVT09 
      DEF EVT10 
      DEF EVT11 
      DEF EVT12 
      DEF EVT13 
      DEF EVT14 
      DEF EVT15 
      DEF EVT16 
      DEF EVT17 
      DEF EVT18 
      DEF EVT19 
      DEF EVT20 
      DEF EVT21 
      DEF EVT22 
      DEF EVT23 
      DEF EVT24 
      DEF EVT25 
      DEF EVT26 
      DEF EVT27 
      DEF EVT28 
      DEF EVT29 
      DEF EVT30 
      DEF EVT31 
      DEF EVT32 
EVT00 DEC 7 
      ASC 7,LINE OPEN REQ 
EVT01 DEC 7 
      ASC 7,LINE CLOSE REQ
EVT02 DEC 8 
      ASC 8,READ INQUIRY REQ
EVT03 DEC 8 
      ASC 8,READ INITIAL REQ
EVT04 DEC 8 
      ASC 8,READ CONTINUE RQ
EVT05 DEC 8 
      ASC 8,READ REPEAT REQ 
EVT06 DEC 8 
      ASC 8,READ/REV INT REQ
EVT07 DEC 5 
      ASC 5,DELAY READ
EVT08 DEC 8 
      ASC 8,WRITE INQURY REQ
EVT09 DEC 8 
      ASC 8,WRITE CNTNUE REQ
EVT10 DEC 7 
      ASC 7,WRITE CONV REQ
EVT11 DEC 8 
      ASC 8,WRT RESET(EOT)RQ
EVT12 DEC 8 
      ASC 8,WRITE DISCON REQ
EVT13 DEC 8 
      ASC 8,DELAY WRITE REQ 
EVT14 DEC 7 
      ASC 7,ACK0 RECEIVED 
EVT15 DEC 7 
      ASC 7,ACK1 RECEIVED 
EVT16 DEC 7 
      ASC 7,WACK RECEIVED 
EVT17 DEC 7 
      ASC 7,RVI RECV/SENT 
EVT18 DEC 6 
      ASC 6,ENQ RECEIVED
EVT19 DEC 6 
      ASC 6,NAK RECEIVED
EVT20 DEC 6 
      ASC 6,EOT RECEIVED
EVT21 DEC 8 
      ASC 8,DLE EOT RECEIVED
EVT22 DEC 6 
      ASC 6,TTD RECEIVED
EVT23 DEC 7 
      ASC 7,TEXT RECEIVED 
EVT24 DEC 8 
      ASC 8,BCC PRTY/FMT ERR
EVT25 DEC 6 
      ASC 6,TEXT OVERRUN
EVT26 DEC 8 
      ASC 8,GARBAGE RECEIVED
EVT27 DEC 8 
      ASC 8,BAD ID SEQUENCE 
EVT28 DEC 7 
      ASC 7,SHORT TIMEOUT 
EVT29 DEC 6 
      ASC 6,LONG TIMEOUT
EVT30 DEC 2 
      ASC 2,LOW 
EVT31 DEC 2 
      ASC 2,HIGH
EVT32 DEC 2 
      ASC 2,MID 
      SPC 2 
* STATE TABLE 
* 
STBL  DEF STA00 
      DEF STA01 
      DEF STA02 
      DEF STA03 
      DEF STA04 
      DEF STA05 
      DEF STA06 
      DEF STA07 
      DEF STA08 
      DEF STA09 
      DEF STA10 
      DEF STA11 
      DEF STA12 
      DEF STA13 
      DEF STA14 
      DEF STA15 
      DEF STA16 
      DEF STA17 
      DEF STA18 
      DEF STA19 
      DEF STA20 
      DEF STA21 
      DEF STA22 
      DEF STA23 
      DEF STA24 
STA00 DEC 4 
      ASC 4,UNOPENED
STA01 DEC 4 
      ASC 4,CONTROL 
STA02 DEC 4 
      ASC 4,READ ENQ
STA03 DEC 7 
      ASC 7,READ ENQ ERROR
STA04 DEC 7 
      ASC 7,CHECK READ REQ
STA05 DEC 2 
      ASC 2,READ
STA06 DEC 5 
      ASC 5,READ TEXT 
STA07 DEC 4 
      ASC 4,READ RVI
STA08 DEC 8 
      ASC 8,RESTRICTED READ 
STA09 DEC 5 
      ASC 5,WRITE ENQ 
STA10 DEC 8 
      ASC 8,WRITE ENQ ERROR 
STA11 DEC 8 
      ASC 8,ENQ-ENQ CONTENTN
STA12 DEC 3 
      ASC 3,WRITE 
STA13 DEC 5 
      ASC 5,WRITE TEXT
STA14 DEC 8 
      ASC 8,WRITE RESPNS ENQ
STA15 DEC 7 
      ASC 7,CHECK RESPONSE
STA16 DEC 8 
      ASC 8,BAD ACK RECEIVED
STA17 DEC 6 
      ASC 6,WRITE RETRY 
STA18 DEC 8 
      ASC 8,ENQ RCV IN WRITE
STA19 DEC 8 
      ASC 8,ENQ RCRD IN WRIT
STA20 DEC 8 
      ASC 8,WRITE CONVERSTNL
STA21 DEC 5 
      ASC 5,WRITE EOT 
STA22 DEC 8 
      ASC 8,READ EOT RSPONSE
STA23 EQU WMSG5 
STA24 DEC 5 
      ASC 5,WRITE TTD 
      SPC 1 
      BSS 0         SIZE OF SLCIN.
      SPC 1 
      END SLCIN 
                                                                                                                                                                                  