PTGC1 AND LOHWD     MASK BYTE 
      STA B,I       PLACE DATA IN BUFFER
      INB           UPDATE BUFFER POINTER 
      LDA PTGTY     GET DATA
      SZA,RSS 
      RSS 
      SSA 
      RSS 
      INA 
      STA PTGTY     SAVE NEXT DATA
      ISZ PTNCT     UPDATE COUNTER
      JMP PTGC1     CONTINUE
      ISZ PTGNR     UPDATE RETURN ADDRESS 
      JMP PTGNR,I   RETURN
      SPC 2 
PTGTY BSS 1         DATA
PTNCT BSS 1 
      SKP 
CSTUS NOP           RETURN ADDRESS
      JSB RSTUS     GET INTERFACE STATUS
CSC01 STA STAT      SAVE ACTUAL STATUS
      LDA CSTUS,I   GET EXPECTED STATUS 
      ISZ CSTUS     UPDATE RETURN 
      CPA STAT      CHECK STATUS
      JMP CSXIT     CONTINUE
      STA EXSTS     SAVE EXPECTED STATUS
      LDA CSTUS,I   GET ERROR MESSAGE 
      STA CSFRM     SAVE
      JSB MOVE
      DEF EMS3
CSFRM DEF *-* 
      LDA EXSTS     GET EXPECTED STATUS 
      CLE 
      LDB EMCS2 
      JSB O2AS,I
      LDA STAT      GET ACTUAL STATUS 
      CLE 
      LDB EMCS1 
      JSB O2AS,I
      JSB ERNO      GET SUB-TEST NO.
      DEF EMCS
      LDA STAT      GET ACTUAL STATUS 
      LDB EXSTS     GET EXPECTED STATUS 
      JSB ERMS,I    OUTPUT ERROR
      DEF EMCS
CSXIT ISZ CSTUS 
      JMP CSTUS,I    RETURN 
      SPC 2 
EMCS  ASC 8,EXXX STATUS IS
EMS1  ASC 6,XXXXXX  EXP 
EMS2  ASC 4,YYYYYY (
EMS3  ASC 11, 
EMCS1 DEF EMS1
EMCS2 DEF EMS2
STAT  BSS 1         ACTUAL STATUS 
EXSTS BSS 1 
      SPC 2 
MSTUS NOP           RETURN ADDRESS
      JSB RSTUS     READ STATUS 
      AND MSTUS,I   MASK THE STATUS 
      ISZ MSTUS     UPDATE RETURN ADDRESS 
      LDB MSTUS     GET RETURN ADDRESS
      STB CSTUS     SAVE
      JMP CSC01     CONTINUE
      SPC 2 
MOVE  NOP           RETURN ADDRESS
      LDB MOVE,I    GET TO
      ISZ MOVE
      LDA .M11
      STA MVCNT 
      LDA MOVE,I     GET FROM 
      STA MVFRM 
MVC01 LDA MVFRM,I    GET DATA 
      STA B,I        PUT DATA 
      INB 
      ISZ MVFRM 
      ISZ MVCNT 
      JMP MVC01 
      ISZ MOVE
      JMP MOVE,I    RETURN
      SPC 2 
MVCNT BSS 1 
.M11  DEC -11 
MVFRM DEF *-* 
      SPC 2 
ESTUS NOP           RETURN ADDRESS
      JSB RSTUS     READ STATUS 
      AND MSKXS     MASK
      LDB ESTUS     GET RETURN ADDRESS
      STB CSTUS     SAVE
      JMP CSC01     CONTINUE
      SPC 2 
MSKXS ABS CC+CF+SCF+CB+CE+DEVI+DEVI 
      SKP 
CDATA NOP           RETURN ADDRESS
      JSB RDDTA     GET DATA FROM INTERFACE 
CDAC1 STA DATA      SAVE ACTUAL DATA
      LDA CDATA,I   GET EXPECTED DATA 
      ISZ CDATA     UPDATE RETURN 
      CPA DATA      CHECK DATA
      JMP CDXIT     CONTINUE
      STA EXDAT     SAVE EXPECTED DATA
      LDA CDATA,I   GET MESSAGE POINTER 
      STA CDFRM 
      JSB MOVE
      DEF EMD3
CDFRM DEF *-* 
      LDA EXDAT     GET EXPECTED DATA 
      CLE 
      LDB EMCD2 
      JSB O2AS,I    CONVERT TO ASCII
      LDA DATA      GET ACTUAL DATA 
      CLE 
      LDB EMCD1 
      JSB O2AS,I    CONVERT TO ASCII
      JSB ERNO      PLACE E NO. 
      DEF EMCD
      LDA DATA      GET ACTUAL DATA 
      LDB EXDAT     GET EXPECTED DATA 
      JSB ERMS,I    REPORT ERROR
      DEF EMCD
      JSB ALLER     CHECK - ALL ERRORS DESIRED
CDXIT ISZ CDATA     UPDATE RETURN 
      JMP CDATA,I   RETURN
      SPC 2 
EMCD  ASC 7,EXXX DATA IS
EMD1  ASC 6,XXXXXX  EXP 
EMD2  ASC 4,YYYYYY (
EMD3  ASC 11, 
EMD4  ASC 4,   STOP,
EMD5  ASC 6,     PARITY,
EMD6  ASC 9,   BITS PER CHAR)/
EMCD1 DEF EMD1
EMCD2 DEF EMD2
DATA  EQU STAT      ACTUAL DATA 
EXDAT EQU EXSTS     EXPECTED DATA 
      SPC 2 
MDATA NOP           RETURN ADDRESS
      JSB RDDTA     READ DATA 
      AND MDATA,I   MASK THE DATA 
      ISZ MDATA     UPDATE RETURN ADDRESS 
      LDB MDATA     GET RETURN ADDRESS
      STB CDATA     SAVE
      JMP CDAC1     CONTINUE
      SPC 2 
CBURT NOP           RETURN ADDRESS
      LDA CBURT,I   GET WORD 3 COMMAND
      STA CBWD3     SAVE
      ISZ CBURT     UPDATE RETURN ADDRESS 
      LDA CBURT,I   GET ERROR MSG POINTER 
      STA CBMSG     SAVE
      ISZ CBURT     UPDATE RETURN ADDRESS 
      LDA MD16      INITIALIZE COUNTER
      STA BCNTR 
      LDA BXMIT     GET BUFFER POINTER
      STA BUFFA     SAVE
      LDA BRCV      GET BUFFER POINTER
      STA BUFFB     SAVE
      CLA           INITIALIZE ERROR FLAG 
      STA NOERS 
CBUC2 LDB BUFFA,I   GET EXPECTED DATA 
      LDA BUFFB,I   GET ACTUAL DATA 
      CPA B         CHECK DATA
      JMP CBUC1     CONTINUE
      STB EXDAT     SAVE EXPECTED DATA
      STA DATA      SAVE ACTUAL DATA
      JSB MOVE      MOVE MSG
      DEF EMD3
CBMSG DEF *-*       MSG POINTER 
      JSB ERNO      GENERATE ENNN 
      DEF EMCD      POINTER TO MSG
      LDA CBWD3     GET WORD 3 COMMAND
      AND MSK3      ISOLATE BITS / CHAR 
      ADA ASCI5     CONVERT TO ASCII
      STA EMD6      PLACE IN MSG
      LDA CBWD3     GET WORD 3 COMMAND
      AND .B5       ISOLATE STOP
      LDB ASCI1     1 STOP BIT
      SZA 
      LDB ASCI2     2 STOP BITS 
      STB EMD4      PLACE IN MSG
      LDA CBWD3     GET WORD 3 COMMAND
      RAR,RAR       POSITION
      AND MSK3      ISOLATE PARITY TYPE 
      SZA,RSS       WAS PARITY USED 
      JMP CBNOP     CONTINUE - NO PARITY USED 
      SLA,RSS       EVEN OR ODD?
      JMP CBODD     CONTINUE - ODD PARITY USED
      LDA CBM1E     EVEN PARITY USED
      LDB CBM2E     GET ASCII "EVN" 
      JMP CBEC1     CONTINUE
CBODD LDA CBM1O     GET ASCII "ODD" 
      LDB CBM2O 
      JMP CBEC1     CONTINUE
CBNOP LDA CBM1N     GET ASCII "NO"
      LDB CBM2N 
CBEC1 STA EMD5      PLACE IN MSG
      STB EMD5+1
      LDA EXDAT     GET EXPECTED DATA 
      CLE 
      LDB EMCD2     GET POINTER 
      JSB O2AS,I    CONVERT TO ASCII
      LDA DATA      GET ACTUAL DATA 
      CLE 
      LDB EMCD1     GET POINTER 
      JSB O2AS,I    CONVERT TO ASCII
      LDA DATA      GET ACTUAL DATA 
      LDB EXDAT     GET EXPECTED DATA 
      JSB ERMS,I    REPORT ERROR
      DEF EMCD      POINTER TO MSG
      JSB ALLER     CHECK - ALL ERRORS DESIRED
      LDB SW14      MASK FOR SW 14
SWJSB JSB SWRT,I    CHECK SW REG
      JMP CBEC2     CONTINUE
      LDA SUBT.     GET SUB-TEST NO (ENNN)
      AND .77 
      IOR CBHTI     GENERATE HALT INSTRUCTION 
      STA CBHLT     PLACE HALT INSTRUCTION IN PROGRAM 
      LDB 112B      IS THERE A TELEPRINTER? 
      LDA CBWD3     GET WORD 3 COMMAND FOR DISPLAY
      SZB,RSS 
CBHLT NOP           NOP REPLACED WITH HALT 1030XX 
CBEC2 ISZ NOERS     CHECK - ALL ERRORS DESIRED
      RSS 
      JMP CBURT,I   NO - RETURN 
CBUC1 ISZ BUFFA     UPDATE BUFFER POINTER 
      ISZ BUFFB     UPDATE BUFFER POINTER 
      ISZ BCNTR     UPDATE COUNTER
      JMP CBUC2     CONTINUE
      ISZ CBURT     UPDATE RETURN ADDRESS 
      JMP CBURT,I   RETURN
      SPC 1 
CBHTI OCT 103000    HALT INSTRUCTION
SW14  OCT 40000     MASK FOR SE REG BIT 14
CBM1N ASC 1, N
CBM2N ASC 1,O 
CBM1O ASC 1, O
CBM2O ASC 1,DD
CBM1E ASC 1, E
CBM2E ASC 1,VN
ASCI5 ASC 1, 5
ASCI1 ASC 1, 1
ASCI2 ASC 1, 2
CBWD3 BSS 1         WORD 3 COMMAND
.B5   ABS B5
      SPC 1 
ALLER NOP           RETURN ADDRESS
      LDB SW2       MASK FOR SWITCH 2 
      JSB SWRT,I    CHECK SWITCH REGISTER 
      CLA,RSS       CLEAR ERROR FLAG
      CCA           SET ERROR FLAG
      STA NOERS     SAVE FLAG 
      JMP ALLER,I   RETURN
      SPC 1 
NOERS BSS 1         ERROR FLAG
      SKP 
TST01 EQU * 
MRTST NOP           RETURN ADDRESS
      JSB STSUB     SAVE SUB-TEST NO. 
      OCT 30        SUB-TEST NO.
      JSB CLF       CLEAR INTERFACE FLAG
      CLC IOCLR     I/O MASTER RESET
      JSB SFS       CHECK INTERFACE FLAG FF 
      RSS 
      JMP MRC01     CONTINUE
      JSB EPREP     PREPARE ERROR MSG 
      DEF EMNFG     AND REPORT ERROR
      DEF EMFNS 
      DEF EM030 
MRC01 JSB SHUTA     UPDATE SUB-TEST NO. 
      JSB CLF       CLEAR INTERFACE FLAG
      JSB STC       SET INTERFACE CONTROL FF
      JSB TRJSB,I   FILL INTERRUPT TRAP CELL
      DEF MRIR1     WHERE TO GO IF INTERRUPT
      STF INTP      ENABLE INTERRUPT SYSTEM 
      CLC IOCLR     I/O MASTER RESET
      NOP           ALLOW TIME FOR INTERRUPT
      NOP           INTERRUPT SHOULD NOT OCCUR
      CLF INTP      TURN OFF THE INTERRUPT SYSTEM 
      JMP MRC02     CONTINUE
MRIR1 NOP           RETURN ADDRESS
      CLF INTP      TURN OFF INTERRUPT SYSTEM 
      JSB ERMS,I    REPORT ERROR
      DEF EM031     POINTER TO MESSAGE
MRC02 JSB SHUTA     UPDATE SUB-TEST NO. 
      JSB CLF       CLEAR INTERFACE FLAG FF 
      JSB STC       SET CONTROL FF
      JSB MRST      GIVE INTERFACE A MASTER RESET COMMAND 
      JSB SFS       CHECK INTERFACE FLAG FF 
      RSS 
      JMP MRC03     CONTINUE
      JSB EPREP     PREPARE ERROR MSG 
      DEF EMNFG     AND REPORT ERROR
      DEF EMFNS 
      DEF EM032     POINTER TO MESSAGE
MRC03 JSB SUBTH     CHECK SUB-TEST HALT 
      JSB CLF       CLEAR INTERFACE FLAG FF 
      JSB STC       SET INTERFACE CONTROL FF
      JSB TRJSB,I   FILL INTERRUPT TRAP CELL
      DEF MRIR2     WHERE TO GO IF INTERRUPT
      STF INTP      TURN ON INTERRUPT SYSTEM
      NOP           ALLOW TIME FOR AN INTERRUPT TO TAKE 
      NOP           PLACE 
      JSB SUBTH     UPDATE SUB-TEST NO. 
      JSB TRJSB,I   FILL INTERRUPT TRAP CELL
      DEF MRIR3     WHERE TO GO IF INTERRUPTED
      JSB MRST      GIVE INTERFACE A MASTER RESET COMMAND 
      NOP           GIVE THE INTERFACE TIME TO INTERRUPT
      NOP           THERE SHOULD BE NO INTERRUPT
      CLF INTP      TURN OFF THE INTERRUPT SYSTEM 
MRC04 JSB SUBTT     UPDATE SUB-TEST NO. 
      JMP MRTST,I   RETURN
      SPC 2 
MRIR2 NOP           RETURN ADDRESS
      CLF INTP      TURN OFF THE INTERRUPT SYSTEM 
      JSB EPREP     PREPARE ERROR MSG 
      DEF EMFSE 
      DEF EMFST 
      DEF EM033     POINTER TO MESSAGE
      JMP MRC04     CONTINUE
MRIR3 NOP           RETURN ADDRESS
      CLF INTP      TURN INTERRUPT SYSTEM OFF 
      JSB ERMS,I    REPORT ERROR
      DEF EM034 
      JMP MRC04     CONTINUE
      SPC 2 
      SKP 
IOID  EQU * 
      DEF FNIO0 
      DEF FNIO1 
      DEF CNIO1 
      DEF CNIO2 
      DEF CNIO3 
      DEF OTIO1 
      DEF FNIO2 
      DEF FNIO5 
      DEF STIO1 
      DEF FNIO6 
      DEF IOIN6 
      DEF CW1 
      DEF CLK00 
      DEF CLK01 
      DEC -1
BRT1A DEF BRT01 
BRT2A DEF BRT02 
BRT3A DEF BRT03 
BRT4A DEF BRT04 
OVTPE DEF OVPET,I   POINTER TO RETURN 
PEWW4 ABS WRD4
      SPC 3 
      ORG ZCEND 
TSTD  EQU * 
      DEF TST00 
      DEF TST01 
      DEF TST02 
      DEF TST03 
      DEF TST04 
      DEF TST05 
      DEF TST06 
      DEF TST07 
      DEF TST10 
      DEF TST11 
      DEC -1
      SKP 
TST02 EQU * 
MSTST NOP           RETURN ADDRESS
      JSB STSUB     SAVE SUB-TEST NO
      OCT 35
      JSB MRST      MASTER RESET
      JSB MSS1      TEST SBA,SBB
      ABS WRD4+SCA
      ABS SCF+CF    EXPECTED STATUS 
      DEF EM035 
      JSB SHUTA     UPDATE SUB-TEST NO. 
      JSB MSS1      TEST CD, CC, CE 
      ABS WRD4+CA 
      ABS CC+CE 
      DEF EM036 
      JSB SHUTA     UPDATE SUB-TEST NO. 
      JSB MSS1      TEST CA, CB, CF 
      ABS WRD4+CD 
      ABS CB
      DEF EM037 
      JSB SHUTA     UPDATE SUB-TEST NO. 
      JSB CMNDD     INITIALIZE INTERFACE
      ABS WRD4+CD+CA
      JSB RSTUS     READ STATUS (CLC CH)
      AND MSTT1     MASK
      CPA MSTT2     CHECK STATUS
      JMP MSC01     CONTINUE
      JSB ERMS,I    REPORT ERROR
      DEF EM040 
MSC01 JSB SUBTH     UPDATE SUB-TEST NO. 
      JSB RDDTA     READ DATA - SET CONTROL FF
      AND MSTT1     MASK
      CPA MSTT2     CHECK NOT EQUAL 
      RSS           STATUS
      JMP MSC02     CONTINUE
      JSB ERMS,I    REPORT ERROR
      DEF EM041 
MSC02 JSB SHUTA     UPDATE SUB-TEST NO. 
      JSB CMNDD 
      ABS WRD4+CD+CA+SCA
      JSB MRST      MASTER RESET
      JSB ESTUS 
      ABS NULL
      DEF EM042 
      JSB SUBTT 
      JMP MSTST,I   RETURN
      SPC 2 
MSTT1 ABS CC+CE+CB+CF+SCF 
MSTT2 ABS CC+CB+CE
      SPC 2 
MSS1  NOP           RETURN ADDRESS
      LDA MSS1,I    GET PARAMETERS
      STA MSP1
      ISZ MSS1
      LDA MSS1,I
      STA MSP2
      ISZ MSS1
      LDA MSS1,I
      STA MSP3
      STA MSP4
      ISZ MSS1      UPDATE RETURN ADDRESS 
      JSB CMNDD     OUTPUT COMMAND
MSP1  BSS 1         WORD 4 COMMAND
      JSB ESTUS     CHECK STATUS
MSP2  BSS 1         EXPECTED STATUS 
MSP3  DEF *-*       ERROR MESSAGE 
      JSB CMNDD     OUTPUT COMMAND
      ABS WRD4+NULL 
      JSB ESTUS     CHECK STATUS
      ABS NULL      EXPECTED STATUS 
MSP4  DEF *-*       ERROR MESSAGE 
      JMP MSS1,I    RETURN
      SKP 
EM030 ASC 3,CLC 0/
EM031 ASC 16,E031 CONTROL NOT RESET BY CLC 0/ 
EM032 ASC 2,MR/ 
EM033 ASC 10,STATUS RESET FAILED/ 
EM034 ASC 13,E034 CONTROL NOT RESET BY
      ASC 2, MR/
EM035 ASC 11,SBA-SCA, SBB-SCF, CF)/ 
EM036 ASC 6,CA, CC, CE)/
EM037 ASC 4,CD, CB)/
EM040 ASC 11,E040 STATUS NOT RECVD
      ASC 7,AFTER CLC SC/ 
EM041 ASC 9,E041 STATUS RECVD 
      ASC 7,AFTER STC SC/ 
EM042 ASC 2,MR)/
EM043 ASC 6,EN SBB-SCF)/
EM044 ASC 4,EN CF)/ 
EM045 ASC 4,EN CE)/ 
EM046 ASC 4,EN CC)/ 
EM047 ASC 4,EN CB)/ 
EM050 ASC 7,REF SBB-SCF)/ 
EM051 ASC 4,REF CF)/
EM052 ASC 4,REF CE)/
EM053 ASC 4,REF CC)/
EM054 ASC 4,REF CB)/
EM055 ASC 4,EN MR)/ 
EM056 ASC 4,REF MR)/
EM057 ASC 3,LOCK/ 
EM060 ASC 4,DEVINT/ 
EM100 ASC 9,E100 BA = 0 (MR)/ 
EM101 ASC 8,XMIT CHAR CTR )/
EM102 ASC 12,E102 BA = 1 (NO START)/
EM103 ASC 8,UART XMIT 
      OCT 6412
      ASC 2,
EM105 ASC 8,UART RCVE 
      OCT 6412
      ASC 2,
EM106 ASC 6,E106 PARITY/
EM107 ASC 6,BREAK FLAG)/
EM110 ASC 3,BREAK/
EM111 ASC 7,BREAK RESET)/ 
EM112 ASC 3,ECHO)/
EM115 ASC 5,OVER-RUN)/
EM116 ASC 4,OVPEFLG/
EM117 ASC 8,OVPEFLG RESET)/ 
EM120 ASC 11,E120 NO PARITY ERROR ( 
PEMS2 ASC 4,XXXXXX)/
EM121 ASC 12,E121 OVPEFLG NOT RESET/
EM122 ASC 8,BFFLG (DCPC=1)/ 
EM123 ASC 6,DEVINT, SRQ/
EM124 ASC 10,AFTER CLF CH (SRQ)/
EM125 ASC 14,E125 SRQ SET WHILE LOCK = 1/ 
HM126 ASC 20,H126 DCPC DATA TRANSFER OMITTED-NO DCPC/ 
EM127 ASC 8,DCPC TRANSMIT)/ 
EM130 ASC 6,DCPC TEST)/ 
EM131 ASC 7,DCPC RECEIVE)/
EM132 ASC 8,E132 DCPC ABEND/
HDMS  ASC 11,ASYNC COMM INTFC DIAG/ 
      SKP 
TST03 EQU * 
RMTST NOP           RETURN ADDRESS
      JSB STSUB     SAVE SUB-TEST NO
      OCT 43
      JSB MRST      MASTER RESET INTERFACE
      JSB CMNDD     INITIALIZE INTERFACE
      ABS WRD4+CD+CA+SCA
      LDA MD5       COUNT 
      STA RMCNT 
      LDA RMCM1     INITIAL COMMAND 
      STA RMP02     SAVE
      LDA AEM43     GET ERROR POINTER 
      STA RMEPT 
RMC01 LDA RMEPT,I   GET POINTER TO ERROR MSG
      STA RMP03     SAVE
      STA RMP04 
      JSB CMND      GIVE COMMAND
RMP02 BSS 1         COMMAND (ENABLE)
      JSB ESTUS     CHECK STATUS
      ABS DEVI+DEVI+CC+CB+CE+CF+SCF 
RMP03 DEF *-*       POINTER TO ERROR MSG
      JSB CMND      GIVE COMMAND (RESET ENABLE) 
      ABS WRD1+NULL 
      JSB ESTUS     CHECK STATUS
      ABS CC+CB+CE+CF+SCF 
RMP04 DEF *-*       POINTER TO ERROR MSG
      ISZ RMCNT     UPDATE COUNT
      RSS 
      JMP RMC02     CONTINUE
      ISZ RMEPT 
      LDA RMP02     GET LAST COMMAND
      SLA 
      AND MSK37     MASK
      IOR WRDD1 
      STA RMP02     SAVE NEW COMMAND
      JSB SUBUP     UPDATE SUB-TEST NO
      JMP RMC01     CONTINUE
      SPC 2 
RMC02 JSB SHUTA 
      JSB MRST      MASTER RESET
      JSB RMS01     TEST REFERENCE COMMAND
      ABS WRD1+SCFE 
      ABS WRD2+SCFR 
      DEF EM050 
      JSB SHUTA 
      JSB RMS01     TEST REFERENCE COMMAND
      ABS WRD1+CFE
      ABS WRD2+CFR
      DEF EM051 
      JSB SHUTA     UPDATE SUB-TEST NO
      JSB RMS01     TEST REFERENCE COMMAND
      ABS WRD1+CEE
      ABS WRD2+CER
      DEF EM052 
      JSB SHUTA     UPDATE SUB-TEST NO
      JSB RMS01     TEST REFERENCE COMMAND
      ABS WRD1+CCE
      ABS WRD2+CCR
      DEF EM053 
      JSB SHUTA     UPDATE SUB-TEST NO
      JSB RMS01     TEST REFERENCE COMMAND
      ABS WRD1+CBE
      ABS WRD2+CBR
      DEF EM054 
      JSB SHUTA     UPDATE SUB-TEST NO
      JSB CMND      ENABLE TO ONES
      ABS WRD1+CCE+CBE+CFE+SCFE+CEE 
      JSB MRST      MASTER RESET
      JSB CMNDD     CREATE CONDITIONS THAT
      ABS WRD4+CA+CD+SCA
      JSB CMND      WOULD OTHERWISE PRODUCE AN INTERRUPT
      ABS WRD2+NULL 
      JSB ESTUS     CHECK STATUS
      ABS CC+CF+SCF+CB+CE 
      DEF EM055 
      JSB SHUTA     UPDATE SUB-TEST NO
      JSB CMND      SET REF TO ONES 
      ABS WRD2+CCR+CER+CFR+SCFR+CBR 
      JSB MRST      MASTER RESET
      JSB CMND      ENABLE
      ABS WRD1+CCE+CEE+CFE+SCFE+CBE 
      JSB CMNDD 
      ABS WRD4
      JSB ESTUS     CHECK STATUS
      ABS NULL
      DEF EM056 
      JSB SHUTA     UPDATE SUB-TEST NO
      JSB MRST      MASTER RESET
      JSB CLF       CLEAR FLAG FF 
      JSB CMND      GENERATE DEVICE INTERRUPT 
      ABS WRD1+CCE+CEE+CBE
      JSB CMND
      ABS WRD2+CCR+CER+CBR
      JSB SFS 
      JMP RMC03     CONTINUE
      JSB EPREP     PREPARE ERROR MSG 
      DEF EMFSE     AND REPORT ERROR
      DEF EMFST 
      DEF EM057 
RMC03 JSB SUBUP     UPDATE SUB-TEST NO
      JSB STC        SET CONTROL AND CLEAR LOCK 
      JSB SFS 
      RSS 
      JMP RMC04     CONTINUE
      JSB EPREP     PREPARE ERROR MSG 
      DEF EMNFG     AND REPORT ERROR
      DEF EMFNS 
      DEF EM060 
RMC04 JMP RMTST,I   RETURN
      SPC 2 
RMS01 NOP           RETURN ADDRESS
      LDA RMS01,I   GET ARM COMMAND 
      STA RMP05     SAVE
      ISZ RMS01 
      LDA RMS01,I   GET REFERENCE COMMAND 
      STA RMP06     SAVE
      ISZ RMS01 
      LDA RMS01,I   GET ERROR POINTER 
      STA RMP07     SAVE
      STA RMP08 
      STA RMP09 
      STA RMP10 
      ISZ RMS01     UPDATE RETURN ADDRESS 
      JSB CMND      OUTPUT ARM COMMAND
RMP05 BSS 1 
      JSB CMNDD     OUTPUT CONTROL COMMAND
      ABS WRD4+NULL 
      JSB CMND      OUTPUT REFERENCE COMMAND
RMP06 BSS 1 
      JSB ESTUS     CHECK STATUS
      ABS DEVI+DEVI 
RMP07 DEF *-*       ERROR POINTER 
      JSB CMNDD     OUTPUT CONTROL COMMAND
      ABS WRD4+CD+CA+SCA
      JSB ESTUS     CHECK STATUS
      ABS CC+CB+CE+CF+SCF 
RMP08 DEF *-*       ERROR POINTER 
      JSB CMND      OUTPUT REFERENCE COMMAND
      ABS WRD2+NULL 
      JSB ESTUS     CHECK STATUS
      ABS DEVI+DEVI+CC+CE+CF+SCF+CB 
RMP09 DEF *-*       ERROR POINTER 
      JSB CMNDD     OUTPUT CONTROL COMMAND
      ABS WRD4+NULL 
      JSB ESTUS     CHECK STATUS
      ABS NULL
RMP10 DEF *-*       ERROR POINTERS
      JMP RMS01,I   RETURN
          SPC 1 
MD5   DEC -5
RMCM1 ABS WRD1+SCFE 
WRDD1 ABS WRD1
RMEPT DEF *-*       POINTER TO ERROR MSG
RMCNT BSS 1         COUNTER 
AEM43 DEF RMETB 
RMETB DEF EM043 
      DEF EM044 
      DEF EM045 
      DEF EM046 
      DEF EM047 
      SKP 
TST04 EQU * 
FLTST NOP           RETURN ADDRESS
      JSB STSUB     SAVE SUB-TEST NO. 
      OCT 61
      JSB MRST      MASTER RESET
      JSB CLF       CLEAR FLAG FF 
      JSB STC       RESET LOCK
      JSB CMND      SELECT TRANSMIT MODE
      ABS WRD4+XMIT 
      JSB CMND      OUTPUT ONE CHARACTER
      ABS WRD0+NULL 
      JSB MSTUS     CHECK STATUS
      ABS BEF+BFF 
      ABS BFF 
      DEF EM061 
      JSB SUBUP     UPDATE SUB-TEST NO
      JSB SFS       CHECK FLAG FF 
      RSS 
      JMP FLC01     CONTINUE
      JSB EPREP     PREPARE ERROR MSG 
      DEF EMNFG     AND REPORT ERROR
      DEF EMFNS 
      DEF EM062 
FLC01 JSB SUBUP     UPDATE SUB-TEST NO
      JSB CMND      CLEAR BFFLG 
      ABS WRD5+CBF
      JSB MSTUS     CHECK BFFLG=0 
      ABS BFF+BEF 
      ABS 0 
      DEF EM063 
      JSB SHUTA     UPDATE SUB-TEST NO
      JSB MRST      MASTER RESET
      JSB CMND      SELECT TRANSMIT 
      ABS WRD4+XMIT 
      JSB CMND      OUTPUT A CHARACTER
      ABS WRD0+NULL 
      JSB CMND      CLEAR BUFFER FULL FLAG
      ABS WRD5+CBF
      JSB CLF       CLEAR FLAG FF 
      JSB STC       RESET LOCK FF 
      JSB CMND
      ABS WRD4+XMIT+17B 
      LDA D2        WAIT 2 MS 
      JSB TMRR,I
      JSB MSTUS     CHECK BEFLG 
      ABS BFF+BEF 
      ABS BEF 
      DEF EM064 
      JSB SUBUP     UPDATE SUB-TEST NO
      JSB SFS       CHECK FLAG FF 
      RSS 
      JMP FLC02     CONTINUE
      JSB EPREP     PREPARE ERROR MSG 
      DEF EMNFG     AND REPORT ERROR
      DEF EMFNS 
      DEF EM065 
FLC02 JSB SUBUP     UPDATE SUB-TEST NO
      JSB MRST      MASTER RESET
      JSB CMND      RESER BEFLG 
      ABS WRD5+CBEF 
      JSB MSTUS     CHECK BEFLG=0 
      ABS BEF+BFF 
      ABS 0 
      DEF EM066 
      JSB SHUTA     UPDATE SUB-TEST NO
      JSB CMND      SELECT TRANSMIT 
      ABS WRD4+XMIT 
      JSB CMND      OUTPUT A CHARACTER
      ABS WRD0+NULL 
      JSB MRST      MASTER RESET
      JSB CSTUS     CHECK CHAR CTR = 0
      ABS 0 
      DEF EM067 
      JSB SUBTT     UPDATE SUB-TEST NO
      JMP FLTST,I   RETURN
      SPC 2 
EM061 ASC 4,BFFLG)/ 
EM062 ASC 3,BFFLG/
EM063 ASC 3,CBF)/ 
EM064 ASC 4,BEFLG)/ 
EM065 ASC 3,BEFLG/
EM066 ASC 3,CBEF)/
EM067 ASC 8,CHAR CTR - MR)/ 
      SKP 1 
TST05 EQU * 
UTTST NOP           RETURN ADDRESS
      JSB STSUB     SAVE SUB-TEST NO
      OCT 100 
      JSB MRST      MASTER RESET
      JSB CMNDD     ENABLE BA 
      ABS WRD4+CA 
      JSB RSTUS     READ STATUS 
      AND UTMBA     MASK FOR BA 
      SZA           CHECK 
                                                                                            