      CPB A         IS IT THE CH? 
      JMP Z.CLF+1   YES - SKIP TEST 
      LDA Z.STF     SET UP
      AND ZIOM
      IOR B           STF INSTRUCTION 
      STA Z.STF     PUT IT IN PLACE 
      LDA Z.CLF     SET UP
      AND ZIOM
      IOR B         CLF INSTRUCTION 
      STA Z.CLF     PUT IT IN LINE
ZBS41 CLF CH        CLEAR CHANNEL FLAG
Z.STF STF CH        EXECUTE STF CH INSTRUCTION
ZBS42 SFC CH        TEST CHANNEL FLAG 
      JMP ZB41
Z.CLF CLF CH        CLEAR TEST FLAG 
      CPB Z.77      IS TEST FINISHED? 
      JMP ZBIO5     YES 
      INB           NO
      JMP ZB40        DO NEXT CHANNEL 
* 
ZBE11 ASC 14,E011 STF  XX SET CARD FLAG// 
* 
ZB41  STB ZBTMP     SAVE NUMBER 
      LDA B         CONVERT CH FOR MESSAGE
      JSB ZN2AO 
      STA ZBE11+5 
      LDA ZBTMP     RETRIEVE NUMBER 
E011  JSB ERMS,I    E011
      DEF ZBE11 
* 
* 
* 
* 
* 
      SKP 
*         CHECK INTERRUPT & HOLD OFF
* 
ZBIO5 JSB ZTCJI 
      DEF ZBI5
      CLA           SET UP
      STA ZBF5        FLAGS 
      STA ZBI5        FOR TEST
      STA ZBTMP 
ZBS51 STC CH        TURN ON 
ZBS52 STF CH          CARD
      STF INTP      AND INTERRUPTS
      STC 1         * 
      STF 1         * 
      CLC 1         * 
      CLF 1         *  NO INTERRUPT 
      JMP *+1,I     *  SHOULD OCCURR
      DEF *+1       *  HERE 
      JSB *+1,I     * 
      DEF *+1       * 
ZBF5  NOP           * 
      ISZ ZBTMP     INT. SHOULD BE HERE 
      ISZ ZBTMP 
      CLF INTP      TURN I/O SYSTEM OFF 
      LDA ZBI5      DID IT INTERRUPT? 
      SZA 
      JMP *+4 
E014  JSB ERMS,I    E014 NO INT 
      DEF ZBE14 
      JMP ZBIO6     ABORT REST OF SECTION 
      LDA ZBTMP     CHECK FOR CORRECT INTERRUPT 
      CPA Z.2       ? 
      JMP *+3 
E026  JSB ERMS,I    E026 INT EXECUTION ERROR
      DEF ZBE26 
ZBS53 CLF CH        TURN OFF CH FLAG
      JMP ZBIO6     GO TO NEXT SECTION
* 
ZBD5  DEF ZBF5-1
ZBD5A DEF ZBF5+1
* 
ZBE12 ASC 16,E012 INT DURING HOLD OFF INSTR/
ZBE13 ASC 12,E013 SECOND INT OCURRED/ 
ZBE14 ASC 06,E014 NO INT/ 
ZBE15 ASC 12,E015 INT RTN ADDR ERROR/ 
ZBE26 ASC 13,E026 INT EXECUTION ERROR/
* 
* 
* 
* 
      SKP 
ZBI5  NOP 
      CLF INTP      TURN I/O SYSTEM OFF 
      LDA ZBD5      CHECK TO SEE IF ALL 
      CPA ZBF5          INSTRUCTION COMPLETED 
      JMP *+3       YES 
E012  JSB ERMS,I    E012 INT DURING HOLD OFF
      DEF ZBE12 
      LDA ZBD5A     CHECK RETURN ADDRESS
      LDB CPTO      IF 210X 
      SSB           ADD ONE 
      INA 
      CPA ZBI5
      JMP ZBI5A 
E015  JSB ERMS,I    E015 INT RTN ADDR ERROR 
      DEF ZBE15 
      JMP ZBIO6 
ZBI5A JSB ZTCJI     SET SECOND INT TRAP 
      DEF ZBT5
      STF INTP      TURN I/O SYSTEM ON
      JMP ZBI5,I    CONTINUE TEST 
* 
* 
ZBT5  NOP 
      CLF INTP      TURN I/O SYSTEM OFF 
E013  JSB ERMS,I    E013 SECOND INT OCURRED 
      DEF ZBE13 
* 
* 
* 
* 
* 
      SKP 
*         CLC CH AND  CLC 0 
* 
ZBIO6 JSB ZTCJI     SET JSB INSTRUCTION 
      DEF ZBI61 
ZBS61 STC CH        SET CH CONTROL
ZBS62 STF CH        SET CH FLAG 
      STF INTP      TURN ON INTERRUPTS
ZBS63 CLC CH        CLEAR CH CONTROL
      NOP           GIVE IT A CHANCE
      NOP 
      CLF INTP      TURN INTS OFF 
ZB60  JSB ZTCJI     SET JSB INSTRUCTION 
      DEF ZBI62 
ZBS64 CLF CH        CLEAR CH FLAG 
ZBS65 STC CH        SET CH CONTROL
ZBS66 STF CH        SET CH FLAG 
      STF INTP      TURN ON INTS
      CLC INTP      CLEAR I/O SYSTEM
      NOP           GIVE IT A CHANCE
      NOP 
      CLF INTP      TURN OFF INTS 
      JMP ZBIO7 
* 
* 
ZBI61 NOP 
      CLF INTP      TURN OFF INTS 
E016  JSB ERMS,I    E016 CLC CH ERROR 
      DEF ZBE16 
      JMP ZB60
* 
ZBI62 NOP 
      CLF INTP      TURN OFF INTS 
E017  JSB ERMS,I    E017 CLC 0 ERROR
      DEF ZBE17 
      JMP ZBIO7 
* 
ZBE16 ASC 9,E016 CLC CH ERROR/
ZBE17 ASC 9,E017 CLC 0 ERROR/ 
* 
* 
* 
* 
* 
      SKP 
*         EXTERNAL & INTERNAL PRESET TEST 
* 
ZBIO7 LDB ZS812     CHECK TO SUPPRESS 
      JSB SWRT,I    ? 
      JMP H025      YES - SKIP PRESET TEST
H024  JSB MSGC,I    TELL OPERATOR 
      DEF ZBM24     PRESS PRESET
* 
ZBS71 CLF CH        CLEAR CH FLAG 
      STF INTP      TURN ON INTS
      JSB ZTCJI     SET TRAP CELL JSB INSTRUCTION 
      DEF ZBI70 
      HLT 24B       WAIT FOR OPERATOR 
      CLA,INA       SET UP FLAGS FOR TESTS
      SFS INTP      CHECK INTP FLAG 
      CLA           NOT SET SO CLEAR FLAG 
      RAL           MOVE TO NEXT FLAG 
      CLF INTP      TURN OFF ONTPS
ZBS72 SFS CH        CHECK CHANNEL FLAG
      INA           NOT SET SO FLAG IT
      RAL           MOVE TO NEXT FLAG 
      LIB 0         CHECK I/O BUSS
      SZB           SHOULD BE ZERO
      INA           NOT SO FLAG IT
      RAL           MOVE TO NEXT FLAG 
      STF INTP      CHECK CONTROL ON CARD 
      NOP           GIVE IT A CHANCE
      NOP 
      CLF INTP      TURN OFF INTPS
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
      SKP 
ZB70  SLA,RSS       CHECK FOR ERRORS
      JMP *+3 
E022  JSB ERMS,I    E022 DID NOT CLEAR CONTROL
      DEF ZBE22 
      RAR 
      SLA,RSS 
      JMP *+3 
E023  JSB ERMS,I    E023 I/O LINES NOT CLEAR
      DEF ZBE23 
      RAR 
      SLA,RSS 
      JMP *+3 
E020  JSB ERMS,I    E020 FLAG NOT SET 
      DEF ZBE20 
      RAR 
      SLA,RSS 
      JMP *+3 
E021  JSB ERMS,I    E021 DID NOT DIABLE INTS
      DEF ZBE21 
H025  JSB MSGC,I    TELL OPERATOR 
      DEF ZBM25     BASIC I/O IS COMPLETE 
      JMP ZBIO,I    RETURN TO CALLER
* 
ZBI70 NOP           CONTROL FAILED
      CLF INTP      TURN OFF INTPS
      INA 
      JMP ZB70
* 
ZBE20 ASC 17,E020 PRESET(EXT) DID NOT SET FLAG/ 
ZBE21 ASC 19,E021 PRESET(INT) DID NOT DISABLE INTS/ 
ZBE22 ASC 20,E022 PRESET(EXT) DID NOT CLEAR CONTROL/
ZBE23 ASC 21,E023 PRESET(EXT) DID NOT CLEAR I-O LINES/
ZBM24 ASC 17,H024 PRESS PRESET (EXT&INT),RUN/ 
ZBM25 ASC 08,H025 BI-O COMP/
      SKP 
ZBIOD DEF *+1 
      DEF ZBS21 
      DEF ZBS22 
      DEF ZBS23 
      DEF ZBS24 
      DEF ZBS25 
      DEF ZBS26 
      DEF ZBS27 
      DEF ZBS31 
      DEF ZBS32 
      DEF ZBS33 
      DEF ZBS41 
      DEF ZBS42 
      DEF ZBS51 
      DEF ZBS52 
      DEF ZBS53 
      DEF ZBS61 
      DEF ZBS62 
      DEF ZBS63 
      DEF ZBS64 
      DEF ZBS65 
      DEF ZBS66 
      DEF ZBS71 
      DEF ZBS72 
      DEC -1
* 
ZCEND EQU * 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
      HED  BUFFERED ASYNC COMMUNICATION INTERFACE DIAGNOSTIC
* 
* 
* 
* 
      ORG 126B
DSN   OCT 103017    DIAGNOSTIC SERIAL NO. 
      ORG 140B
IOIP  DEF IOID      POINTER TO I-O INSTRUCTIONS 
TSTP  DEF TSTD      POINTER TO TEST DEF TABLE 
HDMP  DEF HDMS      POINTER TO HEADER MESSAGE 
STDA  OCT 007777    STANDARD TESTS
STDB  OCT 000000    STANDARD TESTS
      ORG 150B
IOCLR EQU 0 
SARI  EQU 12B 
NULL  EQU 0 
WRD0  EQU 00000B
WRD1  EQU 10000B
WRD2  EQU 20000B
WRD3  EQU 30000B
WRD4  EQU 40000B
WRD5  EQU 50000B
WRD6  EQU 60000B
SCFE  EQU 1 
CFE   EQU 2 
CEE   EQU 4 
CCE   EQU 10B 
CBE   EQU 20B 
ENCHM EQU 40B 
SCFR  EQU 1 
CFR   EQU 2 
CER   EQU 4 
CCR   EQU 10B 
CBR   EQU 20B 
DIAGC EQU 40B 
PASNS EQU 4 
PAR   EQU 10B 
ECHO  EQU 20B 
STB   EQU 40B 
DMA   EQU 20B 
SCA   EQU 40B 
CD    EQU 100B
CA    EQU 200B
XMIT  EQU 400B
CLPE  EQU 1 
CLBRK EQU 2 
CBEF  EQU 4 
CBF   EQU 10B 
CBH   EQU 20B 
CSPEC EQU 40B 
SPCHD EQU 400B
SCF   EQU 1 
CF    EQU 2 
CE    EQU 4 
CC    EQU 10B 
CB    EQU 20B 
PARR  EQU 40B 
BRK   EQU 100B
BEF   EQU 200B
BFF   EQU 400B
BFHF  EQU 1000B 
TEST  EQU 4000B 
RSPAR EQU 10000B
SPCHR EQU 40000B
DEVI  EQU 40000B
SCM   EQU 40000B
VALDA EQU 40000B
B0    EQU 1 
B1    EQU 2 
B2    EQU 4 
B3    EQU 10B 
B4    EQU 20B 
B5    EQU 40B 
B6    EQU 100B
B7    EQU 200B
SDMAL EQU 2         LOWER SELECT CODE DMA 
SDMAH EQU 6         UPPER SELECT CODE DMA 
IRTN  DEF *-* 
BUFFA BSS 1 
BUFFB BSS 1 
BXMIT DEF XBUF      POINTER TO TRANSMIT BUFFER
BRCV  DEF RBUF      POINTER TO RECIEVE BUFFER 
      SKP 
TRJSB DEF ZTCJI     POINTER 
D1    EQU * 
SW0   OCT 1 
D2    EQU * 
SW1   OCT 2 
.7    OCT 7 
SW2   EQU * 
D4    DEC 4 
MD1   DEC -1
MD8   DEC -8
MD38  DEC -38 
MD9   DEC -9
MD15  DEC -15 
MD16  DEC -16 
MD64  DEC -64 
MD128 DEC -128
BCNTR BSS 1 
MSK3  OCT 3 
      SKP 
GUPLO DEF *-*       RETURN ADDRESS
      CLE,ERB 
      LDA B,I       GET CHARACTER 
      SEZ,RSS 
      ALF,ALF 
      AND LOHWD 
      ELB 
      JMP GUPLO,I   RETURN
      SPC 3 
PUPLO DEF *-*       RETURN ADDRESS
      CLE,ERB 
      AND LOHWD 
      STA PCH 
      LDA B,I 
      SEZ,RSS 
      ALF,ALF 
      AND UPHWD 
      IOR PCH 
      SEZ,RSS 
      ALF,ALF 
      STA B,I 
      ELB 
      JMP PUPLO,I   RETURN
PCH   BSS 1 
UPHWD OCT 177400    MASK FOR UPPER HALF WORD
LOHWD OCT 000377    MASD FOR LOWER HALF WORD
      SKP 
*     SWITCH REGISTER BIT 0 HAS 
*     THE MEANING LOOP ON SUB-TEST AND
*     SWITCH REGISTER BIT 1 MEANS HALT
*     AT THE END OF THE CURRENT SUB-TEST. 
*     THIS HALT IS 102070 (OCTAL).
*     THE SUB-TEST LOOP 
*     WILL CAUSE LOOPING ON A SMALL 
*     PROGRAM SEGMENT.
      SPC 2 
SUBT  DEF *-*       RETURN ADDRESS
      LDA USSC      GET CONFIG INFO 
      SSA,RSS       IS SUB-TEST CAPABILITY
*                   ENABLED?
      JMP SUBC1     CONTINUE - NO 
      LDB SW1       MASK FOR SWITCH 1 
      JSB SWRT,I    CHECK SWITCH 1 - SUB-TEST HALT
      RSS 
      JMP SUBT1     CONINUE 
      LDA TSTN      GET TEST NO.
      LDB SUBT.     GET SUB-TEST NO.
      HLT 70B       HALT
SUBT1 LDB SW0       MASK FOR SWITCH 0 
      JSB SWRT,I    CHECK SWITCH 0 - SUB-TEST LOOP
      JMP SUBT,I    RETURN
SUBC1 ISZ SUBT
      JMP SUBT,I    RETURN
      SPC 1 
SUBTH DEF *-*       RETURN ADDRESS
      JSB SUBT      CHECK SUB-TEST HALT 
      NOP           BYPASS LOOP 
      JSB SUBUP     UPDATE SUB-TEST NO. 
      JMP SUBTH,I   RETURN
      SPC 1 
SUBTT DEF *-*       RETURN ADDRESS
      JSB SUBT      CHECK SUB-TEST HALT,LOOP
      JMP SUBLL     LOOP ON THIS SUB-TEST 
      JSB SUBUP     UPDATE SUB-TEST NO. 
      JMP SUBTT,I   RETURN
      SPC 1 
STSUB DEF *-*       RETURN ADDRESS
      LDA STSUB     SAVE LOOP ADDRESS 
      INA 
      STA SUBLP 
      LDA STSUB,I   GET SUB-TEST NO.
      STA SUBT.     SAVE
      STA SUBLN     SAVE FOR USE WHEN LOOPING 
      ISZ STSUB     UPDATE RETURN 
      JMP STSUB,I   RETURN
      SPC 1 
SHUTA DEF *-*       RETURN ADDRESS
      JSB SUBT      CHECK SUB-TEST HALT, LOOP 
      JMP SUBLL      LOOP 
      JSB SUBUP     UPDATE SUB-TEST NO. 
      LDA SHUTA     GET LOOP ADDRESS
      STA SUBLP     SAVE
      LDA SUBT.     GET SUB-TST NO. 
      STA SUBLN     SAVE FOR FUTURE LOOPING 
      JMP SHUTA,I   RETURN
      SPC 1 
SUBLL LDA SUBLN     GET SUB-TEST NO.
      STA SUBT.     SAVE
      JMP SUBLP,I   GO LOOP 
      SPC 1 
SUBUP DEF *-*       RETURN ADDRESS
      LDA SUBT.     GET SUB-TEST NO.
      INA 
      AND .77        MASK 
      CPA .70        CHECK FOR OCT X70
      JMP SUBT3      CONTINUE 
      ISZ SUBT.      OK UPDATE SUBT.
      JMP SUBUP,I    RETURN 
SUBT3 LDA SUBT.      GET SUB-TEST NO. 
      AND .300       MASK X00 
      ADA .100       UPDATE SUB-TEST NO.
      STA SUBT.      SAVE 
      JMP SUBUP,I    RETURN 
.300  OCT 300 
.70   OCT 70
.77   OCT 77
SUBLP DEF *-*       LOOP ADDRESS
SUBLN BSS 1         LOOP SUB-TEST NO. 
SUBT. BSS 1         SUB-TEST NUMBER 
.100  OCT 100 
      SKP 
ERNO  DEF *-*       RETURN ADDRESS
      LDB ERNO,I    GET BUFFER POINTER
      BLS           CONVERT TO BYTE ADDRESS 
      INB 
      LDA SUBT.     GET SUB-TEEST NO. AND E NO. 
      ALF,ALF 
      RAL,RAL 
      AND LOHWD     MASK
      ADA ASC0      CONVERT TO ASCII NO 
      JSB PUPLO     PLACE IN MESSAGE
      INB 
      LDA SUBT. 
      RAR,RAR 
      RAR 
      AND .7
      ADA ASC0      CONVERT TO ASCII
      JSB PUPLO     PLACE IN MESSAGE
      INB 
      LDA SUBT. 
      AND .7        MASK
      ADA ASC0      CONVERT TO ASCII NO 
      JSB PUPLO     PLACE IN MESSAGE
      ISZ ERNO      UPDATE RETURN 
      JMP ERNO,I    RETURN
ASC0  OCT 60        ASCII ZERO
      SKP 
CMNDD  DEF *-*       RETURN ADDRESS 
      LDA CMNDD,I    GET OPTIONS IN COMMAND 
FNIO1 OTA SARI      GIVE COMMAND
      ISZ CMNDD      UPDATE RETURN ADDRESS
      LDA D4        WAIT 4 MS 
      JSB TMRR,I
      JMP CMNDD,I    RETURN 
      SPC 2 
RSTUS DEF *-*       RETURN ADDRESS
FNIO2 CLC SARI      SELECT STATUS 
STIO1 LIA SARI      READ STATUS 
      JMP RSTUS,I   RETURN
      SPC 2 
RDDTA DEF *-*       RETURN ADDRESS
FNIO6 STC SARI      SET CONTROL = DATA
IOIN6 LIA SARI      INPUT DATA
      JMP RDDTA,I   RETURN
      SPC 2 
MRST  DEF *-*       RETURN ADDRESS
      LDA MRSTC     GET MASTER RESET COMMAND
FNIO0 OTA SARI      GIVE COMMAND
      LDA D2
      JSB TMRR,I    WAIT 2 MS 
      JMP MRST,I    RETURN
MRSTC ABS 100000B+WRD5+CLPE+CLBRK+CBF+CBEF+CBH+CSPEC
      SPC 2 
CLF   DEF *-*       RETURN ADDRESS
CNIO1 CLF SARI      CLEAR INTERFACE FLAG
      JMP CLF,I     RETURN
      SPC 2 
SFS   DEF *-*       RETURN ADDRESS
CNIO2 SFS SARI      SKIP ON FLAG SET
      JMP SFS,I     RETURN - FLAG CLEAR 
      ISZ SFS       UPDATE RETURN ADDRESS 
      JMP SFS,I     RETURN
      SPC 2 
STC   DEF *-*       RETURN ADDRESS
CNIO3 STC SARI      SET INTERFACE CONTROL FF
      JMP STC,I     RETURN
      SPC 2 
CLC   DEF *-*       RETURN ADDRESS
CNIO4 CLC SARI      CLEAR INTERFACE CONTROL FF
      JMP CLC,I     RETURN
      SPC 2 
CLK16 DEF *-*       RETURN ADDRESS
      LDA MD16
      STA CLKNT 
CLKC1 LDA CLKON     RISING EDGE OF 16 X BAUD RATE CLOCK 
CLK01 OTA SARI      OUTPUT
      LDA CLKOF     FALLING EDGE OF 16 X BAUD RATE CLOCK
CLK00 OTA SARI      OUTPUT
      ISZ CLKNT 
      JMP CLKC1 
      JMP CLK16,I   RETURN
      SPC 1 
CLKON ABS WRD2+DIAGC
CLKOF ABS WRD2+NULL 
CLKNT BSS 1 
      SPC 2 
RARI  DEF *-*       RETURN
      LDA BRCV      INITIALIZE BUFFER POINTER 
      STA BUFFA 
      LDA MD128     INITIALIZE COUNTER
      STA BCNTR 
      JSB CMND      SELECT RECEIVE MODE 
      ABS WRD4
RAC01 JSB RDDTA     READ DATA 
      STA BUFFA,I   PLACE IN BUFFER 
      ISZ BUFFA     UPDATE BUFFER POINTER 
      ISZ BCNTR     UPADTE COUNTER
      JMP RAC01     CONTINUE - MORE CHARACTERS
      JMP RARI,I    RETURN
      SPC 2 
XARI  DEF *-*       RETURN ADDRESS
      JSB CMND      SELECT TRANSMIT MODE
      ABS WRD4+XMIT 
      LDA MD128     INITIALIZE COUNTER
      STA XACNT 
      LDB BXMIT     INITIALIZE BUFFER POINTER 
      STB BUFFA 
XAC01 LDA BUFFA,I   GET DATA
      AND LOHWD     MASK
      STA XAPO1     SAVE
      JSB CMND      OUTPUT CHARACTER
XAPO1 BSS 1         CHARACTER 
      ISZ BUFFA     UPDATE BUFFER POINTER 
      ISZ XACNT     UPDATE COUNTER
      JMP XAC01     CONTINUE - MORE CHARACTERS
      JMP XARI,I    RETURN
      SPC 1 
XACNT BSS 1 
      SPC 2 
SDIN  DEF *-*       RETURN ADDRESS
      LDA SDIN,I     GET PARAMETERS 
      STA SDTYP     SAVE
      LDA MD128     INITIALIZE COUNTER
      STA BCNTR 
      LDA BRCV      INITIALIZE BUFFER POINTER 
      STA BUFFA 
SDC03 LDA SDTYP 
      LDB MD9 
      AND MSK3      BITS / CHAR 
      CMA,INA 
      ADB A 
      LDA SDTYP 
      AND SDP       PARITY BIT
      SZA,RSS 
      INB 
      LDA SDTYP 
      AND SDST      NO OF STOP BITS 
      SZA,RSS 
      INB 
      LDA SDTYP     GET TYPE
      AND SDSTX 
      CPA SDST
      INB           SPECIAL FOR 5 BIT 2 STOPS 
      STB SDCNT     SAVE NO BITS / CHAR 
      STB SDDTC 
      CLA 
      STA BUFFA,I   PLACE IN BUFFER 
SDC01 JSB CLK16     SUPPLY CLOCKS TO INTERFACE
      JSB RSTUS     READ STATUS 
      AND SDBA      ISOLATE SIGNAL BA 
      LDB BUFFA,I   GET PARTIAL DATA
      RBR           ADD THIS BIT TO DATA
      SZA 
      INB 
      STB BUFFA,I   PLACE DATA IN BUFFER
      ISZ SDCNT     UPDATE BIT COUNTER
      JMP SDC01 
      LDA SDTYP     GET TYPE
      AND SDSTX 
      CPA SDST
      JMP SDC06     CONTINUE - 5 BIT AND 2 STOPS
SDC05 LDA SDDTC 
      INA 
SDC02 RBL           PREPARE CHARACTER 
      INA,SZA 
      JMP SDC02 
      STB BUFFA,I   PLACE ASSEMBLED CHARACTER IN BUFFER 
      ISZ BUFFA     UPDATE BUFFER POINTER 
      ISZ BCNTR     UPDATE COUNTER
      JMP SDC03     CONTINUE - MORE CHARACTERS
      JSB CLK16     SUPPLY 16 CLOCKS TO INTFC 
      JMP SDIN,I    RETURN
SDC06 LDB MD8 
      STB SDCNT 
SDC04 JSB CMND
      ABS WRD2+DIAGC
      JSB CMND
      ABS WRD2+NULL 
      ISZ SDCNT 
      JMP SDC04 
      JSB RSTUS     GET BA
      AND SDBA
      LDB BUFFA,I 
      RBR 
      SZA 
      INB 
                                                                                                                                    