CTI   NOP 
      LDA SAP       LOAD PTR TO INSTR LOC'S 
      STA SAPS      SAVE
CTI1  LDA SAPS,I    LOAD INSTR PTR
      LDB CTI,I     LOAD 1ST INSTR
      STB A,I       STORE INLINE
      ISZ CTI       BUMP PTRS 
      LDA SAPS
      INA 
      STA SAPS      SAVE
      CPA EAP       TEST FOR LAST LOC 
      JMP CTI,I     YES, EXIT 
      JMP CTI1      NO, CONTINUE
SAPS  OCT 0 
SAP   DEF *+1 
      DEF ILI0
      DEF ILI1
      DEF ILI2
      DEF ILI3
      DEF ILI4
      DEF ILI5
      DEF ILI6
      DEF ILI7
      DEF ILI10 
      DEF ILI11 
      DEF ILI12 
      DEF ILI13 
EAP   DEF * 
      SKP 
XINT  NOP 
      STA ASV       SAVE A
      LDA OPTP1     INITIALIZE PTR
      STA TPSV                    TO TST CASES
      CLA           CLEAR 
      STA YFLG            Y FLAG
      LDA BEXP
      STA YEXP
      LDY YEXP      LOAD Y
      NOP           DANGER  DO NOT REMOVE 
      LDA ASV       RESTORE A 
      JMP XINT,I    EXIT
      SPC 2 
YINT  NOP 
      STA ASV       SAVE A
      LDA OPTP1     INITIALIZE PTR
      STA TPSV                    TO TST CASES
      CCA           SET 
      STA YFLG          Y FLAG
      LDA BEXP
      STA XEXP
      LDX XEXP      LOAD X
      NOP           DANGER  DO NOT REMOVE 
      LDA ASV       RESTORE A 
      JMP YINT,I    EXIT
      HED EXECUTIVE CONTROL 
      ORG 2000B 
ZSTEX CLC INTP,C    TURN I/O SYSTEM OFF 
      JSB MSGC,I    DO CRLF 
      DEF ZRTLF 
      LDA HDMP      GET INTRODUCTORY MESSAGE
      STA *+2 
      JSB MSGC,I    OUT PUT IT
      NOP 
      CLA           CLEAR PASS
      STA ZEOLC       COUNT 
      LDB ZSW9      CHECK FOR USER SELECTION REQ
      JSB SWRT,I
      JMP ZUSR      IT'S USERS CHOICE 
ZNUSR LDA STDA      GET STANDARD TEST RUN 
      LDB STDB      * 
      JMP ZEXC
* 
ZUSR  LDA ZSINA     RETRIEVE PREVIOUS RUN 
      LDB ZSINB 
      HLT 75B       WAIT FOR USER INPUT 
      NOP 
      NOP 
      NOP 
ZEXC  STA ZUINA     SAVE
      STB ZUINB       USER
      STA ZSINA         INPUT 
      STB ZSINB           PROGRAM 
      LDB ZSW9      CHECK IF SW9 IS DOWN
      JSB SWRT,I
      JMP ZUSR      NO GO AND WAIT
      CCA           SET TEST NUMBER 
      STA TSTN      =-1 
      CLA 
      STA ZTSTA     CLEAR TEST RUN FLAG 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
      SKP 
ZEXCL LDA ZUINA     RESTORE A REG.
      LDB ZUINB     RESTORE B REG.
      ERA,RAL       ROTATE
      ERB             FIRST 
      ERA               TEST BIT
      STA ZUINA     SAVE POSITIONS
      STB ZUINB 
      ISZ TSTN      MOVE TEST UP ONE
      NOP 
ZXCL1 LDA TSTN
      ADA TSTP      GET IT'S
      LDA A,I         ADDRESS 
      CPA Z.M1      IS IT END OF LIST 
      JMP ZEOL      YES 
      LDB ZUINB 
      SSB,RSS       SHOULD IT BE RUN? 
      JMP ZEXCL     NO
      STA ZTSTA     YES - SAVE TEST ADDRESS 
      JSB ZITCH     INITIALIZE TRAP CELL HALTS
      JSB ZTSTA,I   GO DO TEST
ZEXRT LDA TSTN      DISPLAY TEST NUMBER IF HALTED 
      LDB ZSW15     CHECK FOR HALT AT END OF TEST 
      JSB SWRT,I
      HLT 76B       YES WAIT FOR OPERATOR 
      LDB ZSW9      CHECK FOR ABORT 
      JSB SWRT,I
      JMP ZUSR      YES 
      LDB ZSW13     CHECK FOR LOOP ON ROUTINE 
      JSB SWRT,I
      JMP ZXCL1     YES - LOOP
      JMP ZEXCL     CONTINUE
* 
ZEOL  LDA ZTSTA     CHECK IF ANY TESTS WERE RUN 
      SZA,RSS       ? 
      JMP ZNUSR     NO  SO PICK UP STANDARD RUN 
      LDA ZEOLC     UP DATE PASS COUNT
      INA 
      STA ZEOLC 
      CCE 
      LDB ZPSCA     GET PASS COUNT
      ADB Z.2         ADDRESS 
      JSB O2AS,I    CONVERT IT
      JSB MSGC,I    CALL PRINT ROUTINE
ZPSCA DEF ZPSC
      LDB ZSW12     CHECK FOR LOOP ON DIAG. 
      JSB SWRT,I
      JMP *+3       YES 
      LDA ZEOLC 
      HLT 77B       NO WAIT AND DISPLAY PASS COUNT
      LDA ZSINA     RESTORE ORIGINAL
      LDB ZSINB       PROGRAM 
      JMP ZEXC      DO IT ALL AGAIN 
* 
      SKP 
*         MESSAGE OUTPUT WITH OUT HALT
* 
ZMSGC NOP           ENTRY 
      JSB ZMSG      OUTPUT MESSAGE
      OCT 2000      SWITCH 10 CHECK 
      JMP ZMSGC,I   RETURN TO CALLER
* 
*         MESSAGE OUTPUT WITH HALT
* 
ZMSGH NOP           ENTRY 
      JSB ZMSG      OUTPUT MESSAGE
      OCT 2000      SWITCH 10 CHECK 
      LDA ZHLT      GET HALT CODE 
      STA *+2       PUT IT IN PLACE 
      LDA ZSAVA     RESTORE A REGISTER
      NOP           HALT FOR DISPLAY
      JMP ZMSGH,I   RETURN TO CALLER
* 
*         ERROR MESSAGE WITH HALT 
* 
ZERMS NOP           ENTRY 
      JSB ZMSG      OUTPUT MESSAGE
      OCT 4000      SWITCH 11 CHECK 
      CLA 
      LDB ZSW14     CHECK SWR BIT 14 TO SUPPRESS
      JSB SWRT,I    HALT
      STA *+3       PUT  HALT IN PLACE
      LDA ZSAVA     RESTORE A & B 
      LDB ZSAVB 
ZHLT  NOP           WAIT FOR OPERATOR 
      JMP ZERMS,I   RETURN TO CALLER
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
      SKP 
*         OUTPUT MESSAGE
* 
ZMSG  NOP 
      STA ZSAVA     SAVE A AND B REGISTERS
      STB ZSAVB 
      LDB ZMSG,I    GET SWITCH REGISTER BIT 
      LDA ZMSG
      ADA Z.M2      DECREMENT RETURN ADDRESS
      STA ZMSG
      JSB SWRT,I    CHECK TO SUPPRESS MESSAGE 
      JMP ZMSG0     YES 
      LDA ZMSG,I    CHECK IF ERROR
      LDA A,I 
      LDA A,I       IF SO 
      ALF,ALF 
      AND Z.177 
      CPA ZA.E
      JSB ZCFTN     CHECK TO OUTPUT TEST NUMBER 
      LDA ZMSG,I    NO RETRIEVE FORMAT
      LDB A,I         ADDRESS 
      CLA,CLE 
      JSB FMTR,I
ZMSG0 LDA ZMSG,I    CONVERT HALT CODE 
      LDB A,I         FROM ASCII STRING 
      CCA,CCE 
      JSB AS2N,I
      STA ZN2AO     SAVE RESULT 
      AND Z.300     DECODE
      LDB ZH2         HALT CODE 
      CPA Z.100 
      LDB ZH6 
      CPA Z.200 
      LDB ZH3 
      CPA Z.300 
      LDB ZH7 
      LDA ZN2AO     GET HALT NUMBER 
      AND Z.77
      IOR B 
      STA ZHLT      SAVE IT 
      ISZ ZMSG,I    ADJUST RETURN POINTERS
      ISZ ZMSG
      ISZ ZMSG
      ISZ ZMSG
      LDA ZSAVA     RESTORE A AND B REGISTERS 
      LDB ZSAVB 
      JMP ZMSG,I
* 
* 
* 
* 
* 
* 
      SKP 
ZCFTN NOP 
      LDA TSTN      GET TEST NUMBER 
      CPA ZCFTT     IS IT THE SAME ONE? 
      JMP ZCFTN,I   YES SKIP OUTPUT 
      STA ZCFTT     NO - THEN UPDATE IT 
      JSB ZN2AO     CONVERT IT
      STA ZTSTN     PUT IT IN STRING
      CLA           DO A CRLF 
      JSB SLOP,I
      CLA,CLE       INDICATE START OF FORMAT
      LDB ZTSTF 
      JSB FMTR,I
      JMP ZCFTN,I   RETURN
* 
* 
* 
* 
ZSAVA NOP 
ZSAVB NOP 
ZEOLC NOP 
ZTSTA NOP 
ZSINA NOP 
ZSINB NOP 
ZUINA NOP 
ZUINB NOP 
ZBTMP NOP 
Z.2   OCT 2 
Z.7   OCT 7 
Z.10  OCT 10
Z.60  OCT 60
Z.77  OCT 77
Z.177 OCT 177 
Z.M1  DEC -1
Z.M2  DEC -2
ZD100 DEC -100
ZIOM  OCT 177700
ZSW15 OCT 100000
ZSW14 OCT 40000 
ZSW13 OCT 20000 
ZSW12 OCT 10000 
ZS812 OCT 010400
ZSW9  OCT 1000
Z.100 OCT 100 
Z.200 OCT 200 
Z.300 OCT 300 
ZH2   OCT 102000
ZH6   OCT 106000
ZH3   OCT 103000
ZH7   OCT 107000
ZCFTT DEC -1
ZTSTF DEF *+1 
      ASC 3,TEST
ZTSTN ASC 2,XX//
ZRTLF ASC 1,//
ZPSC  ASC 6,PASS XXXXXX/
ZA.E  OCT 105 
      HED GENERAL ROUTINES
* 
* 
ZN2AO NOP 
      STA ZIOAD     SAVE NUMBER 
      AND Z.7       CONVERT FIRST 
      IOR Z.60        NUMBER
      STA B         SAVE IT 
      LDA ZIOAD     GET 
      RAR,RAR         SECOND
      RAR               NUMBER
      AND Z.7       CONVERT 
      IOR Z.60        IT
      ALF,ALF       MOVE TO UPPER HALF
      IOR B         ADD LOWER 
      JMP ZN2AO,I   AND RETURN
* 
* 
* 
*         SWITCH REGISTER CHECK 
* 
ZSWRT NOP 
      STA ZN2AO     SAVE A REGISTER 
      LIA SW        GET SWITCH REG. 
      AND B         MASK OUT BIT
      SZA,RSS       IS IT UP? 
      ISZ ZSWRT     NO
      LDA ZN2AO     RESTORE A REGISTER
      LIB SW        LET B = SWITCH REGISTER 
      JMP ZSWRT,I   RETURN TO CALLER
* 
* 
* 
*         INITIALIZE TRAP CELL HALTS
* 
ZITCH NOP 
      LDA ZTSH      GET STARTING TRAP CELL HALT 
      LDB Z.2       GET FIRST TRAP CELL LOCATION
ZTSHL STA B,I       PUT IT IN PLACE 
      CPB Z.77      AM I FINISHED 
      JMP ZITCH,I   YES 
      INB             NEXT ADDRESS
      JMP ZTSHL 
* 
ZTSH  OCT 106077
* 
* 
* 
      SKP 
*         PUT JSB INSTRUCTION IN TRAP CELL
* 
ZTCJI NOP 
      LDB ZJSBI     GET INSTRUCTION 
      STB ZIOSC,I   PUT IT IN TRAP CELL 
      LDA ZTCJI,I   GET LOCATION
      STA 3B        SAVE IT FOR JSB INSTRUCTION 
      ISZ ZTCJI     ADJUST RETURN 
      JMP ZTCJI,I   RETURN TO CALLER
* 
ZJSBI JSB 3B,I      JSB INSTRUCTION 
* 
* 
*         INITIALIZE SELECT CODE I/O INSTRUCTIONS 
* 
ZISC  NOP 
      STA ZIOSC     SAVE SELECT CODE
      STB ZIOAD     SAVE TABLE ADDRESS
ZIOL  LDB ZIOAD,I   GET ADDRESS OF LOCATION 
      CPB Z.M1      IS IT THE TERMINATOR
      JMP ZISC,I    YES RETURN TO CALLER
      LDA B,I       NO - GET CONTENTS 
      AND ZIOM      MASK OFF OLD SELECT CODE
      IOR ZIOSC     ADD IN NEW SELECT CODE
      STA B,I       RESTORE  IT 
      ISZ ZIOAD     MOVE TO NEXT ADDRESS
      JMP ZIOL      DO IT 
* 
ZIOSC NOP 
ZIOAD NOP 
* 
* 
* 
* 
ZCEND EQU * 
      HED EIG DIAGNOSTIC - SUBROUTINES
      ORG ZCEND 
ISTS  NOP 
      CLA           INITIALIZE
      STA BPFLG                BYPASS FLAG
      STA MFLG                 MEMORY CHECK FLAG
      STA ERFLG                ERROR FLAG 
ILI0  NOP           INSTR LOADS ERROR CODE
      STA ECSV
      LDA ST1       SET UP
      STA STS              TEST/SUBTEST NO
      CLB           B= 0'S
      STB BEXP
ILI1  NOP           INSTR CALLS EXECUTION ROUTINE 
      CCB           B= 1'S
      STB BEXP
ILI2  NOP           INSTR CALLS EXECUTION ROUTINE 
ILI3  NOP           INSTR LOADS ERROR CODE
      STA ECSV
      LDA ST2       SET UP
      STA STS              TEST/SUBTEST NO
      CLB           B= 0'S
      STB BEXP
ILI4  NOP           INSTR CALLS EXECUTION ROUTINE 
      CCB           B= 1'S
      STB BEXP
ILI5  NOP           INSTR CALLS EXECUTION ROUTINE 
ILI6  NOP           INSTR LOADS ERROR CODE
      STA ECSV
      LDA ST3       SET UP
      STA STS              TEST/SUBTEST NO
      CLA           A= 0'S
      STA AEXP
ILI7  NOP           INSTR CALLS EXECUTION ROUTINE 
      CCA           A= 1'S
      STA AEXP
ILI10 NOP           INSTR CALLS EXECUTION ROUTINE 
ILI11 NOP           INSTR LOADS ERROR CODE
      STA ECSV
      LDA ST4       SET UP
      STA STS              TEST/SUBTEST NO
      CLA           A= 0'S
      STA AEXP
ILI12 NOP           INSTR CALLS EXECUTION ROUTINE 
      CCA           A= 1'S
      STA AEXP
ILI13 NOP           INSTR CALLS EXECUTION ROUTINE 
      JMP ISTS,I
      HED EIG (INDEX) DIAGNOSTIC - TEST 0 
TST00 EQU * 
      NOP 
      JSB CTI 
      LDA EC11      LOAD ERROR CODE 
IG1   JSB EXE11     EXECUTION ROUTINE 
      JSB EXE11     EXECUTION ROUTINE 
      LDA EC12      LOAD ERROR CODE 
      JSB EXE12     EXECUTION ROUTINE 
      JSB EXE12     EXECUTION ROUTINE 
      LDA EC13      LOAD ERROR CODE 
      JSB EXE13     EXECUTION ROUTINE 
      JSB EXE13     EXECUTION ROUTINE 
      LDA EC14      LOAD ERROR CODE 
      JSB EXE14     EXECUTION ROUTINE 
      JSB EXE14     EXECUTION ROUTINE 
      JSB ISTS      EXECUTE INITIALIZED SUBROUTINE
      JMP TST00,I   EXIT
      SKP 
EXE11 NOP 
      CCA           INITIALIZE
      STA BPFLG                BYPASS FLAG
      JSB XINT      INITIALIZE PTRS/FLGS
EX11  LDA TPSV,I    LOAD 1ST TST CASE 
      STA AEXP      SAVE
      STA XEXP
      LDB BEXP      LOAD B
      CAX            X _ A
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX11      LOOP
      JMP EXE11,I   EXIT
      SPC 2 
EXE12 NOP 
      JSB YINT      INITIALIZE PTRS/FLGS
EX12  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      STA YEXP
      LDB BEXP      LOAD B
      CAY            Y _ A
      STY YACT       M _ Y
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX12      LOOP
      JMP EXE12,I   EXIT
      SKP 
EXE13 NOP 
      JSB XINT      INITIALIZE PTRS/FLGS
EX13  LDB TPSV,I    LOAD TST CASE 
      STB BEXP      SAVE
      STB XEXP
      LDA AEXP      LOAD A
      CBX            X _ B
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX13      LOOP
      JMP EXE13,I   EXIT
      SPC 2 
EXE14 NOP 
      JSB YINT      INITIALIZE PTRS/FLGS
EX14  LDB TPSV,I    LOAD TST CASE 
      STB BEXP      SAVE
      STB YEXP
      LDA AEXP      LOAD A
      CBY            Y _ B
      STY YACT       M _ Y
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX14      LOOP
      JMP EXE14,I   EXIT
      HED EIG (INDEX) DIAGNOSTIC - TEST 1 
TST01 EQU * 
      NOP 
      JSB CTI 
      LDA EC21      LOAD ERROR CODE 
IG2   JSB EXE21     EXECUTION ROUTINE 
      JSB EXE21     EXECUTION ROUTINE 
      LDA EC22      LOAD ERROR CODE 
      JSB EXE22     EXECUTION ROUTINE 
      JSB EXE22     EXECUTION ROUTINE 
      LDA EC23      LOAD ERROR CODE 
      JSB EXE23     EXECUTION ROUTINE 
      JSB EXE23     EXECUTION ROUTINE 
      LDA EC24      LOAD ERROR CODE 
      JSB EXE24     EXECUTION ROUTINE 
      JSB EXE24     EXECUTION ROUTINE 
      JSB ISTS      EXECUTE INITIALIZED SUBROUTINE
      JMP TST01,I   EXIT
      SKP 
EXE21 NOP 
      CCA           INITIALIZE
      STA BPFLG                BYPASS FLAG
      JSB XINT      INITIALIZE PTRS/FLGS
EX21  LDA TPSV,I    LOAD TST CASE 
      STA AEXP
      STA XEXP      SAVE
      LDB BEXP      LOAD B
      CLA 
      LDX XEXP       X _ M
      CXA            A _ X
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX21      LOOP
      JMP EXE21,I   EXIT
      SPC 2 
EXE22 NOP 
      JSB YINT      INITIALIZE PTRS/FLGS
EX22  LDA TPSV,I    LOAD TST CASE 
      STA AEXP
      STA YEXP      SAVE
      LDB BEXP      LOAD B
      CLA 
      LDY YEXP       Y _ M
      CYA            A _ Y
      STY YACT       M _ Y
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX22      LOOP
      JMP EXE22,I   EXIT
      SKP 
EXE23 NOP 
      JSB XINT      INITIALIZE PTRS/FLGS
EX23  LDB TPSV,I
      STB BEXP      SAVE
      STB XEXP
      LDA AEXP      LOAD A
      CLB 
      LDX XEXP       X _ M
      CXB            B _ X
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX23      LOOP
      JMP EXE23,I   EXIT
      SPC 2 
EXE24 NOP 
      JSB YINT
EX24  LDB TPSV,I
      STB BEXP      SAVE
      STB YEXP
      LDA AEXP      LOAD A
      CLB 
      LDY YEXP       Y _ M
      CYB            B _ Y
      STY YACT       M _ Y
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX24      LOOP
      JMP EXE24,I   EXIT
      HED EIG (INDEX) DIAGNOSTIC - TEST 2 
TST02 EQU * 
      NOP 
      JSB CTI 
      LDA EC31      LOAD ERROR CODE 
IG3   JSB EXE31     EXECUTION ROUTINE 
      JSB EXE31     EXECUTION ROUTINE 
      LDA EC32      LOAD ERROR CODE 
      JSB EXE32     EXECUTION ROUTINE 
      JSB EXE32     EXECUTION ROUTINE 
      LDA EC33      LOAD ERROR CODE 
      JSB EXE33     EXECUTION ROUTINE 
      JSB EXE33     EXECUTION ROUTINE 
      LDA EC34      LOAD ERROR CODE 
      JSB EXE34     EXECUTION ROUTINE 
      JSB EXE34     EXECUTION ROUTINE 
      JSB ISTS      EXECUTE INITIALIZED SUBROUTINE
      JMP TST02,I   EXIT
      SKP 
EXE31 NOP 
      JSB XINT      INITIALIZE PTRS/FLGS
EX31  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      CMA 
      STA XEXP
      LDB BEXP      LOAD B
      LDX AEXP       X _ M
      XAX            A _ X  X _ A 
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX31      LOOP
      JMP EXE31,I   EXIT
      SPC 2 
EXE32 NOP 
      JSB YINT      INITIALIZE PTRS/FLGS
EX32  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      CMA 
      STA YEXP
      LDB BEXP      LOAD B
      LDY AEXP       Y _ M
      XAY            A _ Y  Y _ A 
      STY YACT       M _ Y
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX32      LOOP
      JMP EXE32,I   EXIT
      SKP 
EXE33 NOP 
      JSB XINT      INITIALIZE PTRS/FLGS
EX33  LDB TPSV,I    LOAD TST CASE 
      STB BEXP      SAVE
      CMB 
      STB XEXP
      LDA AEXP      LOAD A
      LDX BEXP       X _ M
      XBX            B _ X  X _ B 
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX33      LOOP
      JMP EXE33,I   EXIT
      SPC 2 
EXE34 NOP 
      JSB YINT      INITIALIZE PTRS/FLGS
EX34  LDB TPSV,I    LOAD TST CASE 
      STB BEXP      SAVE
      CMB 
      STB YEXP
      LDA AEXP      LOAD A
      LDY BEXP       Y _ M
      XBY            B _ Y  Y _ B 
      STY YACT       M _ Y
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX34      LOOP
      JMP EXE34,I   EXIT
      HED EIG (INDEX) DIAGNOSTIC - TEST 3 
TST03 EQU * 
      NOP 
      JSB CTI 
      LDA EC41      LOAD ERROR CODE 
IG4   JSB EXE41     EXECUTION ROUTINE 
      JSB EXE41     EXECUTION ROUTINE 
      LDA EC42      LOAD ERROR CODE 
      JSB EXE42     EXECUTION ROUTINE 
      JSB EXE42     EXECUTION ROUTINE 
      LDA EC43      LOAD ERROR CODE 
      JSB EXE43     EXECUTION ROUTINE 
      JSB EXE43     EXECUTION ROUTINE 
      LDA EC44      LOAD ERROR CODE 
      JSB EXE44     EXECUTION ROUTINE 
      JSB EXE44     EXECUTION ROUTINE 
      JSB ISTS      EXECUTE INITIALIZED SUBROUTINE
      JMP TST03,I   EXIT
      SKP 
EXE41 NOP 
      JSB XINT      INITIALIZE PTRS/FLGS
EX41  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      INA 
      STA XEXP
      CLA 
      STA ECSV1     SAVE ERROR CODE 
      LDB BEXP      LOAD B
      LDA AEXP      RELOAD A
      LDX AEXP       X _ M
      ISX            X _ X+1
      JSB SKP1      CHECK SKP CONDITION 
      JSB SKP11     CHECK SKP CONDITION 
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB RSEI      REPORT SKP ERROR IF PRESENT 
      JSB RCK01     CHECK RESULTS 
      JMP EX41      LOOP
      JMP EXE41,I   EXIT
      SPC 2 
EXE42 NOP 
      JSB YINT      INITIALIZE PTRS/FLGS
EX42  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      INA 
      STA YEXP
      LDA B2
      STA ECSV1     SAVE ERROR CODE 
      LDB BEXP      LOAD B
      LDA AEXP      RELOAD A
      LDY AEXP       Y _ M
      ISY            Y _ Y+1
      JSB SKP2      CHECK SKP CONDITION 
      JSB SKP21     CHECK SKP CONDITION 
      STY YACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB RSEI      REPORT SKP ERROR IF PRESENT 
      JSB RCK01     CHECK RESULTS 
      JMP EX42      LOOP
      JMP EXE42,I   EXIT
      SKP 
EXE43 NOP 
      JSB XINT      INITIALIZE PTRS/FLGS
EX43  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      ADA DM1 
      STA XEXP
      LDA B4
      STA ECSV1     SAVE ERROR CODE 
      LDB BEXP      LOAD B
      LDA AEXP      RELOAD A
      LDX AEXP       X _ M
      DSX            X _ X-1
      JSB SKP1      CHECK SKP CONDITION 
      JSB SKP11     CHECK SKP CONDITION 
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB RSEI      REPORT ERROR IF PRESENT 
      JSB RCK01     CHECK RESULTS 
      JMP EX43      LOOP
      JMP EXE43,I   EXIT
      SPC 2 
EXE44 NOP 
      JSB YINT      INITIALIZE PTRS/FLGS
EX44  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      ADA DM1 
      STA YEXP
      LDA B6
      STA ECSV1     SAVE ERROR CODE 
      LDB BEXP      LOAD B
      LDA AEXP      RELOAD A
      LDY AEXP       Y _ M
      DSY            Y _ Y-1
      JSB SKP2      CHECK SKP CONDITION 
      JSB SKP21     CHECK SKP CONDITION 
      STY YACT       M _ Y
      NOP           DANGER  DO NOT REMOVE 
      JSB RSEI      REPORT ERROR IF PRESENT 
      JSB RCK01     CHECK RESULTS 
      JMP EX44      LOOP
      JMP EXE44,I   EXIT
      HED EIG (INDEX) DIAGNOSTIC - TEST 4 
TST04 EQU * 
      NOP 
      JSB CTI 
      LDA EC51      LOAD ERROR CODE 
IG5   JSB EXE51     EXECUTION ROUTINE 
      JSB EXE51     EXECUTION ROUTINE 
      LDA EC52      LOAD ERROR CODE 
      JSB EXE52     EXECUTION ROUTINE 
      JSB EXE52     EXECUTION ROUTINE 
      LDA EC53      LOAD ERROR CODE 
      JSB EXE53     EXECUTION ROUTINE 
      JSB EXE53     EXECUTION ROUTINE 
      LDA EC54      LOAD ERROR CODE 
      JSB EXE54     EXECUTION ROUTINE 
      JSB EXE54     EXECUTION ROUTINE 
      JSB ISTS      EXECUTE INITIALIZED SUBROUTINE
      JMP TST04,I   EXIT
      SKP 
EXE51 NOP 
      JSB XINT      INITIALIZE PTRS/FLGS
EX51  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      CLE           CLEAR E 
      CLO                  O
      ADA OP1 
      STA XEXP
      JSB EOSV
      LDB BEXP      LOAD B
      LDA AEXP      RELOAD A
      LDX AEXP       X _ M
      ADX OP1        X _ X + M
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB EOCK      CHECK E/O RESULTS 
      JSB RCK01     CHECK RESULTS 
      JMP EX51      LOOP
      JMP EXE51,I   EXIT
      SPC 2 
EXE52 NOP 
      JSB YINT      INITIALIZE PTRS/FLGS
EX52  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      CLE           CLEAR E 
      CLO                   O 
      ADA OP1 
      STA YEXP
      JSB EOSV
      LDB BEXP      LOAD B
      LDA AEXP      RELOAD A
      LDY AEXP       Y _ M
      ADY OP1        Y _ Y + M
      STY YACT       M _ Y
      NOP           DANGER  DO NOT REMOVE 
      JSB EOCK      CHECK E/O RESULTS 
      JSB RCK01     CHECK RESULTS 
      JMP EX52      LOOP
      JMP EXE52,I   EXIT
      SKP 
                                                                                        