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