EXE53 NOP 
      JSB XINT      INITIALIZE PTRS/FLGS
EX53  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      CLE           CLEAR E 
      CLO                  O
      ADA OP2 
      STA XEXP
      JSB EOSV
      LDB BEXP      LOAD B
      LDA AEXP      RELOAD A
      LDX AEXP       X _ M
      ADX OP2        X _ X + M
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB EOCK      CHECK E/O RESULTS 
      JSB RCK01     CHECK RESULTS 
      JMP EX53      LOOP
      JMP EXE53,I   EXIT
      SPC 2 
EXE54 NOP 
      JSB YINT      INITIALIZE PTRS/FLGS
EX54  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      CLE           CLEAR E 
      CLO                   O 
      ADA OP2 
      STA YEXP
      JSB EOSV
      LDB BEXP      LOAD B
      LDA AEXP      RELOAD A
      LDY AEXP       Y _ M
      ADY OP2        Y _ Y + M
      STY YACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB EOCK      CHECK E/O RESULTS 
      JSB RCK01     CHECK RESULTS 
      JMP EX54      LOOP
      JMP EXE54,I   EXIT
      HED EIG (INDEX) DIAGNOSTIC - TEST 5 
TST05 EQU * 
      NOP 
      JSB CTI 
      LDA EC61      LOAD ERROR CODE 
IG6   JSB EXE61     EXECUTION ROUTINE 
      JSB EXE61     EXECUTION ROUTINE 
      LDA EC62      LOAD ERROR CODE 
      JSB EXE62     EXECUTION ROUTINE 
      JSB EXE62     EXECUTION ROUTINE 
      LDA EC63      LOAD ERROR CODE 
      JSB EXE63     EXECUTION ROUTINE 
      JSB EXE63     EXECUTION ROUTINE 
      LDA EC64      LOAD ERROR CODE 
      JSB EXE64     EXECUTION ROUTINE 
      JSB EXE64     EXECUTION ROUTINE 
      JSB ISTS      EXECUTE INITIALIZED SUBROUTINE
      JMP TST05,I   EXIT
      SKP 
EXE61 NOP 
      JSB XINT      INITIALIZE PTRS/FLGS
      CCA           INITIALIZE
      STA CTSV                 COUNTER
EX61  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      LDB BEXP      LOAD B
      LDA CTSV
      INA 
      STA CTSV
      STA XEXP
      LDX CTSV       X _ M
      LAX OPT1       A _ M(X) 
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX61      LOOP
      JMP EXE61,I   EXIT
      SPC 2 
EXE62 NOP 
      JSB YINT      INITIALIZE PTRS/FLGS
      CCA           INITIALIZE
      STA CTSV                 COUNTER
EX62  LDA TPSV,I    LOAD TST CASE 
      STA AEXP
      LDB BEXP      LOAD B
      LDA CTSV
      INA 
      STA CTSV
      STA YEXP
      LDY CTSV       Y _ M
      LAY OPT1       A _ M(Y) 
      STY YACT       M _ Y
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX62      LOOP
      JMP EXE62,I   EXIT
      SKP 
EXE63 NOP 
      JSB XINT      INITIALIZE PTRS/FLGS
      CCB           INITIALIZE
      STB CTSV                 COUNTER
EX63  LDB TPSV,I    LOAD TST CASE 
      STB BEXP      SAVE
      LDA AEXP      LOAD A
      LDB CTSV
      INB 
      STB CTSV
      STB XEXP
      LDX CTSV       X _ M
      LBX OPT1       B _ M(X) 
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX63      LOOP
      JMP EXE63,I   EXIT
      SPC 2 
EXE64 NOP 
      JSB YINT      INTIIALIZE PTRS/FLGS
      CCB           INITIALIZE
      STB CTSV                 COUNTER
EX64  LDB TPSV,I    LOAD TST CASE 
      STB BEXP      SAVE
      LDA AEXP      LOAD A
      LDB CTSV
      INB 
      STB CTSV
      STB YEXP
      LDY CTSV       Y _ M
      LBY OPT1       B _ M(Y) 
      STY YACT       M _ Y
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK01     CHECK RESULTS 
      JMP EX64      LOOP
      JMP EXE64,I   EXIT
      HED EIG (INDEX) DIAGNOSTIC - TEST 6 
TST06 EQU * 
      NOP 
      JSB CTI 
      LDA EC71      LOAD ERROR CODE 
IG7   JSB EXE71     EXECUTION ROUTINE 
      JSB EXE71     EXECUTION ROUTINE 
      LDA EC72      LOAD ERROR CODE 
      JSB EXE72     EXECUTION ROUTINE 
      JSB EXE72     EXECUTION ROUTINE 
      LDA EC73      LOAD ERROR CODE 
      JSB EXE73     EXECUTION ROUTINE 
      JSB EXE73     EXECUTION ROUTINE 
      LDA EC74      LOAD ERROR CODE 
      JSB EXE74     EXECUTION ROUTINE 
      JSB EXE74     EXECUTION ROUTINE 
      JSB ISTS      EXECUTE INITIALIZED SUBROUTINE
      JMP TST06,I   EXIT
      SKP 
EXE71 NOP 
      CCA           INITIALIZE
      STA MFLG                 MEMORY CHECK FLAG
      JSB XINT      INITIALIZE PTRS/FLGS
      CCA           INITIALIZE
      STA CTSV                 COUNTER
      LDA OPTS1 
      STA BUFS
EX71  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      STA MEXP
      LDB BEXP      LOAD B
      LDA CTSV
      INA 
      STA CTSV
      STA XEXP
      CLA           CLEAR 
      STA BUFS,I          BUFFER
      LDA AEXP      RELOAD B
      LDX CTSV       X _ M
      SAX OPTS       M(X) _ A 
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      STB BSV 
      LDB BUFS,I
      STB MACT
      LDB BSV 
      ISZ BUFS      MOVE PTR TO NXT BUFFER LOC
      JSB RCK01     CHECK RESULTS 
      JMP EX71      LOOP
      JMP EXE71,I   EXIT
      SPC 2 
EXE72 NOP 
      JSB YINT      INITIALIZE PTRS/FLGS
      CCA           INITIALIZE
      STA CTSV                 COUNTER
      LDA OPTS1 
      STA BUFS
EX72  LDA TPSV,I    LOAD TST CASE 
      STA AEXP      SAVE
      STA MEXP
      LDB BEXP      LOAD B
      LDA CTSV
      INA 
      STA CTSV
      STA YEXP
      CLA           CLEAR 
      STA BUFS,I          BUFFER
      LDA AEXP      RELOAD
      LDY CTSV       Y _ M
      SAY OPTS       M(Y) _ A 
      STY YACT       M _ Y
      NOP           DANGER  DO NOT REMOVE 
      STB BSV 
      LDB BUFS,I
      STB MACT
      LDB BSV 
      ISZ BUFS
      JSB RCK01     CHECK RESULTS 
      JMP EX72      LOOP
      JMP EXE72,I   MOVE PTR TO NXT BUFFER LOC
      SKP 
EXE73 NOP 
      JSB XINT      INITIALIZE PTRS/FLGS
      CCB           INITIALIZE
      STB CTSV                 COUNTER
      LDB OPTS1 
      STB BUFS
EX73  LDB TPSV,I    LOAD TST CASE 
      STB BEXP      SAVE
      STB MEXP
      LDA AEXP      LOAD A
      LDB CTSV
      INB 
      STB CTSV
      STB XEXP
      CLB           CLEAR 
      STB BUFS,I          BUFFER
      LDB BEXP      RELOAD
      LDX CTSV       X _ M
      SBX OPTS       M(X) _ B 
      STX XACT       M _ X
      NOP           DANGER  DO NOT REMOVE 
      STA ASV 
      LDA BUFS,I
      STA MACT
      LDA ASV 
      ISZ BUFS      MOVE PTR TO NXT BUFFER LOC
      JSB RCK01     CHECK RESULTS 
      JMP EX73      LOOP
      JMP EXE73,I   EXIT
      SPC 2 
EXE74 NOP 
      JSB YINT      INITIALIZE PTRS/FLGS
      CCB           INITIALIZE
      STB CTSV                 COUNTER
      LDB OPTS1 
      STB BUFS
EX74  LDB TPSV,I    LOAD TST CASE 
      STB BEXP      SAVE
      STB MEXP
      LDA AEXP      LOAD A
      LDB CTSV
      INB 
      STB CTSV
      STB YEXP
      CLB           CLEAR 
      STB BUFS,I          BUFFER
      LDB BEXP      RELOAD
      LDY CTSV       Y _ M
      SBY OPTS       M(Y) _ B 
      STY YACT       M _ Y
      NOP           DANGER  DO NOT REMOVE 
      STA ASV 
      LDA BUFS,I
      STA MACT
      LDA ASV 
      ISZ BUFS
      JSB RCK01     CHECK RESULTS 
      JMP EX74      LOOP
      JMP EXE74,I   MOVE PTR TO NXT BUFFER LOC
      HED EIG (INDEX) DIAGNOSTIC - TEST 7 
      ORG 4000B 
TST07 EQU * 
      NOP 
      LDA JDP1      SET UP
      STA YEXP             Y EXP
MLOC  JLY LOC1      EXECUTE JLY 
      NOP           DANGER  DO NOT REMOVE 
      LDA ST1       SET UP
      IOR TSTN             TEST/SUBTEST NO
E041  JSB ERMS,I    REPORT ERROR - NO JMP 
      DEF MS041 
      JMP JLYI      GO TO NEXT TEST 
LOC1  STY YACT      SAVE Y
      NOP           DANGER  DO NOT REMOVE 
      LDA YEXP
      CPA YACT      TEST Y RESULTS
      JMP JLYI      OK
      LDA ST1       SET UP
      IOR TSTN             TEST/SUBTEST NO
E042  JSB ERMS,I    REPORT ERROR - Y INCORRECT
      DEF MS042 
      SPC 2 
JLYI  LDA JDP2      SET UP
      STA YEXP             Y EXP
MLOC1 JLY LOCI,I    EXECUTE JLY I 
      NOP           DANGER  DO NOT REMOVE 
      LDA ST2       SET UP
      IOR TSTN             TEST/SUBTEST NO
E043  JSB ERMS,I    REPORT ERROR - NO JMP I 
      DEF MS043 
      JMP JPYT      GO TO NEXT TEST 
LOC2  STY YACT      SAVE Y
      NOP           DANGER  DO NOT REMOVE 
      LDA YEXP
      CPA YACT      TEST Y RESULTS
      JMP JPYT      OK
      LDA ST2       SET UP
      IOR TSTN             TEST/SUBTEST NO
E044  JSB ERMS,I    REPORT ERROR - Y INCORRECT
      DEF MS044 
      SPC 2 
JPYT  LDA RTNP      SET UP
      STA YEXP             Y EXP
      LDY RTNP       Y _ M
      JPY 0         EXECUTE JPY 
      NOP           DANGER  DO NOT REMOVE 
      LDA ST3       SET UP
      IOR TSTN             TEST/SUBTEST NO
E045  JSB ERMS,I    REPORT ERROR - NO JMP 
      DEF MS045 
      JMP TSTE      GO TO END 
RTN   STY YACT      SAVE Y
      NOP           DANGER  DO NOT REMOVE 
      LDA YEXP
      CPA YACT      TEST Y RESULTS
      JMP TSTE      OK
      LDA ST3       SET UP
      IOR TSTN             TEST/SUBTEST NO
E046  JSB ERMS,I    REPORT ERROR - Y INCORRECT
      DEF MS046 
TSTE  JMP TST07,I   EXIT
RTNP  DEF RTN 
JDP1  DEF MLOC+2
JDP2  DEF MLOC1+2 
LOCI  DEF LOCI1,I 
LOCI1 DEF LOC2
DISP1 OCT 0 
MS041 ASC 15,E041 JLY INSTR FAILED TO JMP/
MS042 ASC 19,E042 JLY INSTR JMP'D BUT Y INCORRECT/
MS043 ASC 16,E043 JLY INSTR FAILED TO JMP,I/
MS044 ASC 23,D044 JLY INSTR JMP'D INDIRECT BUT Y INCORRECT/ 
MS045 ASC 15,E045 JPY INSTR FAILED TO JMP/
MS046 ASC 19,E046 JPY INSTR JMP'D BUT Y INCORRECT/
      HED EIG (INDEX) DIAGNOSTIC - TEST 8 
TST10 EQU * 
      NOP 
      LDA OP1       LOAD OPERAND
      STA XEXP      SAVE A
      STA AEXP
      LDX A         LOAD X
      STX XACT      SAVE X
      NOP           DANGER  DO NOT REMOVE 
      STA AACT
      LDA XEXP      RELOAD A
      CPA XACT      TEST X RESULT 
      RSS           OK
      JSB E034      REPORT ERROR
      SPC 2 
      LDB OP2       LOAD OPERAND
      STB XEXP      SAVE B
      STB BEXP
      LDX B         LOAD X
      STX XACT      SAVE X
      NOP           DANGER  DO NOT REMOVE 
      STB BACT
      LDB OP2       RELOAD B
      CPB XACT      TEST X RESULT 
      RSS           OK
      JSB E035      REPORT ERROR
      SPC 2 
      LDA OP1       LOAD A
      CLB           LOAD B
      STB AEXP      SAVE
      STB XEXP
      LDX AEXP      LOAD X
      STX A         SAVE IN A 
      STX XACT
      NOP           DANGER  DO NOT REMOVE 
      STA AACT      SAVE A
      CPA AEXP      TEST A RESULT 
      RSS           OK
      JSB E036      REPORT ERROR
      SPC 2 
      LDB OP2       LOAD B
      CCA           LOAD A
      STA BEXP      SAVE
      STA XEXP
      LDX BEXP      LOAD X
      STX B         SAVE X IN B 
      STX XACT
      NOP           DANGER  DO NOT REMOVE 
      STB BACT      SAVE B
      CPB BEXP      TEST B RESULT 
      JMP TST10,I   EXIT
      LDA ST4       SET UP
      IOR TSTN             TEST/SUBTEST NO
E037  JSB ERMS,I    REPORT ERROR
      DEF MS037 
      JMP TST10,I   EXIT
E034  NOP 
      LDA ST1       SET UP
      IOR TSTN             TEST/SUBTEST NO
      JSB ERMS,I    REPORT ERROR
      DEF MS034 
      JMP E034,I    EXIT
E035  NOP 
      LDA ST2       SET UP
      IOR TSTN             TEST/SUBTEST NO
      JSB ERMS,I    REPORT ERROR
      DEF MS035 
      JMP E035,I    EXIT
E036  NOP 
      LDA ST3       SET UP
      IOR TSTN             TEST/SUBTEST NO
      JSB ERMS,I    REPORT ERROR
      DEF MS036 
      JMP E036,I    EXIT
MS034 ASC 09,E034 LDX A FAILED/ 
MS035 ASC 09,E035 LDX B FAILED/ 
MS036 ASC 09,E036 STX A FAILED/ 
MS037 ASC 09,E037 STX B FAILED/ 
      HED EIG (INDEX) DIAGNOSTIC - TEST 9 
TST11 EQU * 
      NOP 
      CLA 
      STA BPFLG     CLEAR 
      STA ERFLG 
      STA MFLG            FLAGS 
      LDA EC61      INITIALIZE
      STA ECSV                ERROR CODE
      LDA LAXM      SET UP
      STA MS040+3          MESSAGE
      LDA ST1       SET UP
      STA STS              TEST/SUBTEST NO
      CCB           SET UP
      STB BEXP             B
      STB YEXP               Y
      LDA OPT1+7
      STA AEXP                 A
      LDA B7
      STA XEXP                   X
      CLA           LOAD A
      STA YFLG
      LDY YEXP
      LDX XEXP       M _ M
      LAX OPTP1,I    A _ M(X),I 
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK02     CHECK RESULTS 
      SPC 2 
      LDA EC62      INITIALIZE
      STA ECSV                 ERROR CODE 
      LDA LAYM      SET UP
      STA MS040+3          MESSAGE
      LDA ST2       SET UP
      STA STS              TEST/SUBTEST NO
      LDB OP1       SET UP
      STB BEXP             B
      STB XEXP               X
      LDA OPT1+10 
      STA AEXP                 A
      LDA D10 
      STA YEXP                   Y
      STA YFLG
      CLA           LOAD A
      LDY YEXP      Y _ M 
      LDX XEXP       X _ M
      LAY OPP1,I     A _ M(Y),I 
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK02     CHECK RESULTS 
      SPC 2 
      LDA EC101     INITIALIZE
      STA ECSV                 ERROR CODE 
      LDA LDXM      SET UP
      STA MS040+3          MESSAGE
      LDA ST3       SET UP
      STA STS              TEST/SUBTEST NO
      CLB           SET UP
      STB BEXP             B
      STB YEXP               Y
      CLA 
      STA YFLG
      CCA 
      STA AEXP                 A
      LDA OPP2,I
      STA XEXP                   X
      CCA           LOAD A
      LDY YEXP       Y _ M
      LDX OPP2,I     X _ M(I) 
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK03     CHECK RESULTS 
      SPC 2 
      LDA EC102     INITIALIZE
      STA ECSV                 ERROR CODE 
      LDA ST4       SET UP
      STA STS              TEST/SUBTEST NO
      LDB OP2       SET UP
      STB BEXP             B
      STB YEXP               Y
      STB XACT
      LDA OPTP1,I 
      STA AEXP                  A 
      STA XEXP                 X
      LDA OPTP1      A _ M
      LDY YEXP       Y _ M
      LDX A,I        X _ A(I) 
      NOP           DANGER  DO NOT REMOVE 
      JSB RCK03     CHECK RESULTS 
      JMP TST11,I   EXIT
      HED EIG (INDEX) DIAGNOSTIC - TEST 10
TST12 EQU * 
      NOP 
      JSB MPCK      CHECK FOR MEMORY PROTECT PRESENT
      JMP TST12,I   EXIT
      LDA FN1       SET UP
      OTA MP               FENCE
      LDA JMP1      SET UP
      STA MP               RETURN POINT 
      LDA LAXM      SET UP
      STA MS050+3          ERROR
      STA MS051+3                MESSAGES 
      CLA 
      STA NEL             MEMORY
      LDA INT1
      STA INTS
      LDA ST1       SET UP
      STA STS              TEST/SUBTEST NO
      LDA CT        INITIALIZE
      STA LOCS                 COUNTER
      LDA SAYP
      STA RTNS      SAVE RTN POINT
      STF INTP      TURN ON INTS
      STC MP        TURN ON MP
      LDA OP1       LOAD A
      LDX DISP1     LOAD X
INT1  SAX NEL       CAUSE M.P. INT
      NOP           DANGER  DO NOT REMOVE 
      CLF INTP      FORCE INT 
      ISZ LOCS      INCREMENT COUNT 
      JMP *-2       LOOP
      OCT 106010    M.P. NOT INSTALLED / CLF 0 ERROR
      JMP TST12,I   EXIT
      SPC 2 
SAYT  LDA FN1       SET UP
      OTA MP               FENCE
      LDA JMP1      SET UP
      STA MP               RETURN POINT 
      LDA LAYM      SET UP
      STA MS050+3          ERROR
      STA MS051+3                MESSAGES 
      CLA           CLEAR 
      STA NEL             MEMORY
      LDA INT2      SET UP
      STA INTS             INT CHECK
      LDA ST2       SET UP
      STA STS              TEST/SUBTEST NO
      LDA CT        INITIALIZE
      STA LOCS                 COUNTER
      LDA STXP
      STA RTNS      SAVE RTN POINT
      STF INTP      TURN ON INTS
      STC MP        TURN ON MP
      LDA OP1       LOAD A
      LDY DISP1     LOAD Y
INT2  SAY NEL       CAUSE M.P. INT
      NOP           DANGER  DO NOT REMOVE 
      CLF INTP      FORCE INT 
      ISZ LOCS      INCREMENT COUNT 
      JMP *-2       LOOP
      OCT 106010    M.P. NOT INSTALLED / CLF 0 ERROR
      JMP TST12,I   EXIT
      SPC 2 
STXT  LDA FN1       SET UP
      OTA MP               FENCE
      LDA JMP1      SET UP
      STA MP               RETURN POINT 
      LDA STXM      SET UP
      STA MS050+3          ERROR
      STA MS051+3                MESSAGES 
      CLA           CLEAR 
      STA NEL             MEMORY
      LDA INT3      SET UP
      STA INTS             INT CHECK
      LDA ST3       SET UP
      STA STS              TEST/SUBTEST NO
      LDA CT        INITIALIZE
      STA LOCS                 COUNTER
      LDA STYP
      STA RTNS      SAVE RTN POINT
      STF INTP      TURN ON INTS
      STC MP        TURN ON MP
      LDX OP1       LOAD X
INT3  STX NEL       CAUSE M.P. INT
      NOP           DANGER  DO NOT REMOVE 
      CLF INTP      FORCE INT 
      ISZ LOCS      INCREMENT COUNT 
      JMP *-2       LOOP
      OCT 106010    M.P. NOT INSTALLED / CLF 0 ERROR
      JMP TST12,I   EXIT
      SPC 2 
STYT  LDA FN1       SET UP
      OTA MP               FENCE
      LDA JMP1      SET UP
      STA MP               RETURN POINT 
      LDA STYM      SET UP
      STA MS050+3          ERROR
      STA MS051+3                MESSAGE
      CLA           SET UP
      STA NEL              MEMORY 
      LDA INT4      SET UP
      STA INTS             INT CHECK
      LDA ST4       SET UP
      STA STS              TEST/SUBTEST NO
      LDA CT        INITIALIZE
      STA LOCS                 COUNTER
      LDA TEXT
      STA RTNS      SAVE RETURN 
      STF INTP      TURN ON INTS
      STC MP        TURN ON MP
      LDY OP1       LOAD Y
INT4  STY NEL       CAUSE M.P. INT
      NOP           DANGER  DO NOT REMOVE 
      CLF INTP      FORCE INT 
      ISZ LOCS      INCREMENT COUNT 
      JMP *-2       LOOP
      OCT 106010    M.P. NOT INSTALLED / CLF 0 ERROR
LSTST JMP TST12,I   EXIT
      SPC 2 
JP1R  CLF INTP      TURN OFF INTS 
      LDA TSTN      SET UP
      IOR STS              TEST/SUBTEST NO
      LIB MP        GET VIOLATION ADDR
      SSB,RSS 
      JMP *+3 
      OCT 106005
      JMP *-1 
      LIA MP        RELOAD VIOLATION REGISTER 
      LDA A,I       GET INSTR AT LOC
      CPA INTS      TEST FOR CORRECT INSTR
      JMP CN1       YES 
      LDA TSTN      LOAD TEST NO
      IOR STS       OR IN SUBTEST NO
E050  JSB ERMS,I    REPORT ERROR
      DEF MS050 
      JMP RTNS,I    GO TO NEXT TEST 
CN1   LDA NEL       IS MEMORY 
      SZA,RSS                 CHANGED 
      JMP RTNS,I    NO
      LDA TSTN      LOAD TEST NO
      IOR STS       OR IN SUBTEST NO
E051  JSB ERMS,I    REPORT ERROR
      DEF MS051 
      JMP RTNS,I    GO TO NEXT TEST 
NEL   OCT 77
FN1   DEF TEXT
RTNS  OCT 0 
INTS  OCT 0 
STXM  ASC 01,TY 
STYM  ASC 01,TX 
SAYP  DEF SAYT
STXP  DEF STXT
STYP  DEF STYT
TEXT  DEF LSTST 
MS050 ASC 18,E050 SAX INSTR DID NOT CAUSE MP INT/ 
MS051 ASC 20,E051 SAX INSTR CAUSED MP INT BUT MEMORY
      OCT 6412
      ASC 09,WAS NOT PROTECTED/ 
      SPC 2 
MPCK  NOP 
      LDA CPTO      LOAD OPTION WORD
      AND MPBT
      SZA,RSS       TEST FOR MP PRESENT 
      JMP MP1       NO
      ISZ MPCK      YES MOVE RTN POINT
      JMP MPCK,I    EXIT
MP1   JSB MSGC,I    REPORT MP NOT PRESENT 
      DEF MS047 
      JMP MPCK,I
MS047 ASC 20,H047 MEMORY PROTECT OPTION NOT PRESENT/
      HED EIG (INDEX) DIAGNOSTIC - TEST 11
TST13 EQU * 
      NOP 
      JSB MPCK      CHECK FOR MEMORY PROTECT PRESENT
      JMP TST13,I   EXIT
      LDA FN2       SET UP
      OTA MP               FENCE
      LDA CT        INITIALIZE
      STA LOCS                 COUNTER
      LDA JMP2      SET UP
      STA MP               RETURN 
      STF INTP      TURN ON INTS
      STC MP        TURN ON M.P.
INT5  JLY MPV1      EXECUTE JLY 
      NOP           DANGER  DO NOT REMOVE 
      CLF INTP      FORCE INT 
      ISZ LOCS      INCREMENT COUNT 
      JMP *-2       LOOP
      OCT 106010    M.P. NOT INSTALLED / CLF 0 ERROR
      JMP TST13,I   EXIT
MPV1  CLF INTP      FORCE M.P. INT
      JMP *-1       HANG
      SPC 2 
JPYT1 LDA FN2       SET UP
      OTA MP               FENCE
      LDA CT        INITIALIZE
      STA LOCS                 COUNTER
      LDA JMP3      SET UP
      STA MP               RETURN 
      STF INTP      TURN ON INTS
      STC MP        TURN ON M.P.
      LDY OPT1
INT6  JPY MPV2      EXECUTE JPY 
      NOP           DANGER  DO NOT REMOVE 
      CLF INTP      FORCE INT 
      ISZ LOCS      INCREMENT COUNT 
      JMP *-2       LOOP
      OCT 106010    M.P. NOT INSTALLED / CLF 0 ERROR
      JMP TST13,I   EXIT
MPV2  CLF INTP      FORCE M.P. INT
      JMP *-1       HANG
      SPC 2 
JP2R  CLF INTP      TURN OFF INTS 
      LDA TSTN      SET UP
      IOR ST1       OR IN SUBTEST NO
      LIB MP        GET VIOLATION ADDR
      SSB,RSS 
      JMP *+3 
      OCT 106005
      JMP *-1 
      LIA MP        RELOAD VIOLATION REGISTER 
      LDA A,I       GET CONTENTS
      CPA INT5      CORRECT CONTENTS
      JMP JPYT1     GO TO NEXT TEST 
      LDA ST1       SET UP
      IOR TSTN             TEST/SUBTEST NO
E054  JSB ERMS,I    REPORT ERROR
      DEF MS054 
      JMP JPYT1     GO TO NEXT TEST 
      SPC 2 
JP3R  CLF INTP      TURN OFF INTS 
      LDA TSTN      SET UP
      IOR ST2       OR IN SUBTEST NO
      LIB MP        GET VIOLATION ADDR
      SSB,RSS 
      JMP *+3 
      OCT 106005
      JMP *-1 
      LIA MP        RELOAD VIOLATION REGISTER 
      LDA A,I       GET CONTENTS
      CPA INT6      CONTENTS CORRECT
LSTTE JMP TST13,I   EXIT
      LDA ST2       SET UP
      IOR TSTN             TEST/SUBTEST NO
E056  JSB ERMS,I    REPORT ERROR
      DEF MS056 
      JMP LSTTE 
FN2   DEF LSTTE 
MS054 ASC 19,E054 JLY INSTR FAILED TO CAUSE MP INT
      ASC 01,/
MS056 ASC 19,E056 JPY INSTR FAILED TO CAUSE MP INT
      ASC 01,/
      SKP 
      LDA ECPT      ROUTINE 
      STA ECPTS             TO
ELP   LDA ECPTS                CHECK
      STA ECSV                       ALL
      JSB RPER1     CODED 
      ISZ ECPTS           ERROR 
      LDA ECPTS                 MESSAGES
      CPA ECLE
      HLT 66B 
      JMP ELP 
ECPT  DEF EC11
ECPTS OCT 0 
ECLE  DEF EC74+1
FWAA  EQU * 
      END 
                                                                                                                                                                                        