JSB ERMS,I REPORT SYB DEF E040 FAILURE JSB RGRS2 JMP TCPHR SPC 2 USAER NOP JSB RGSVE LDX REGNR LDY USAER JSB ERMS,I REPORT USA DEF E041 FAILURE JSB RGRS2 JMP TCPHR SPC 2 USBER NOP JSB RGSVE LDX REGNR LDY USBER JSB ERMS,I REPORT USB DEF E042 FAILURE JSB RGRS2 JMP TCPHR SPC 2 PAAER NOP JSB RGSVE LDX REGNR LDY PAAER JSB ERMS,I REPORT PAA DEF E043 FAILURE JSB RGRS2 JMP TCPHR CONTINUE SKP PABER NOP JSB RGSVE LDX REGNR LDY PABER JSB ERMS,I REPORT PAB DEF E044 FAILURE JSB RGRS1 JMP TCPHR CONTINUE SPC 2 PBAER NOP JSB RGSVE LDX REGNR LDY PBAER JSB ERMS,I REPORT PBA DEF E045 FAILURE JSB RGRS2 JMP TCPHR CONTINUE SPC 2 PBBER NOP JSB RGSVE LDX REGNR LDY PBBER JSB ERMS,I REPORT PBB DEF E046 FAILURE JSB RGRS2 JMP TCPHR CONTINUE SPC 2 SPC 2 INFER NOP JSB RGSVE LDX REGNR LDY INFER ADY NEG01 JSB ERMS,I REPORT DEF E047 INTERFERENCE ERROR JSB RGRS2 JMP INFER,I HED MAP LOAD - REGISTER COMPLETION TEST * * TST22 * * TEST SS VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO INCREMENT THE A,B AND X REGISTERS DURING THE * EXECUTION OF THE M.E.M. MAP LOADING INSTRUCTIONS. * * TEST SS IS MADE UP OF SIX SUBTESTS, EACH EXECUTING ONE MAP * LOADING INSTRUCTION, AND THEN VERIFYING THE CORRECT VALUE OF * A,B AND X REGISTERS. THE SIX INSTRUCTIONS USED FOR THIS * TEST ARE: * * XMM XMS SYA USA PAA PBA * * IF AN ERROR IS DETECTED DURING THE EXECUTION OF THIS TEST, AN * ERROR MESSAGE WILL BE OUTPUT ON THE CONSOLE, AND THE PROGRAM * WILL HALT THE COMPUTER. AT THIS TIME THE OPERATOR WILL BE * ABLE TO DETERMINE THE CAUSE OF THE ERROR BY CHECKING THE * FOLLOWING REGISTERS: * * T REGISTER = ERROR CODE * * A REGISTER = COUNT AT COMPLETION ** * B REGISTER = COUNT AT COMPLETION * * X REGISTER = COUNT AT COMPLETION * Y REGISTER = ADDRESS OF ERROR * * * NOTE: * IF THE ERROR IS A OR B REGISTER, THE FAILING REGISTER * WILL CONTAIN THE ACTUAL VALUE, AND THE ALTERNATE REGISTER * WILL CONTAIN THE EXPECTED VALUE. IF THE FAILURE PERTAINS * TO THE X REGISTER, THE A REGISTER WILL CONTAIN THE * EXPECTED VALUE SKP TST22 EQU * SPC 1 NOP CLA SET DIFFERENT LDB OCT40 VALUES FOR THE LDX OCT40 A,B AND X REGISTERS XMM EXECUTE THE INSTRUCTION NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 SA1 CPA OCT40 IS A THE CORRECT VALUE? JMP SA2 YES, OVER THE ERROR JSB RGSVE NO, SAVE THE REGISTERS LDB OCT40 PUT EXPECTED VALUE IN B LDY SD1 GET THE FAIL FLAG JSB ERMS,I AND REPORT THAT THE DEF E304 A REGISTER HAS THE WRONG VALUE JSB RGRST RESTORE THE REGISTERS SPC 1 SA2 CPB OC100 NOW IS B THE CORRECT VALUE? JMP SA3 YES, OVER THE ERROR JSB RGSVE SAVE THE REGISTERS LDA OC100 GET THE EXPECTED LDY SD2 AND THE FAIL FLAG, JSB ERMS,I THEN REPORT DEF E305 THE ERROR JSB RGRST RESTORE THE REGISTERS SPC 1 SA3 CXA A_X SZA,RSS IS X = 0? JMP SA4 YES, OVER THE ERROR CLA NO, CLEAR A FOR DISPALY LDY SD3 Y=FAIL FLAG JSB ERMS,I AND REPORT DEF E306 X NOT = TO ZERO SPC 2 SA4 CLA SET UP LDB OCT01 FOR TESTING LDX OC177 REGISTERS XMS AFTER AN XMM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 2 SA5 CPA OC177 IS A CORRECT? JMP SA6 YES, OVER THE ERROR JSB RGSVE NO, SAVE THE REGISTERS LDY SD5 GET THE FAIL FLAG LDB OC177 THE EXPECTED VALUE JSB ERMS,I AND DEF E307 REPORT THE ERROR JSB RGRST NOW RESTORE AND CONTINUE SKP SA6 CPB OC200 IS B CORRECT? JMP SA7 YES, OVER THE ERROR LDA OC200 NO, A=EXPECTED VALUE LDY SD6 Y=FAIL FLAG JSB ERMS,I REPORT B=INCORRECT DEF E310 VALUE SPC 1 SA7 CXA A=X SZA,RSS X=0? JMP SA8 YES, OVER CLA NO. LDY SD7 JSB ERMS,I REPORT DEF E311 SPC 1 SA8 LDA LTSYS NOW EXECUTE SYA SYA CPA LTUSR WAS A INCREMENTED? JMP SA9 YES, OVER THE ERROR LDB LTUSR NO, B=EXPECTED LDY SD8 Y=FAIL FLAG JSB ERMS,I REPORT DEF E312 ERROR LDA LTUSR GET NEXT VALUE SPC 1 SA9 USA EXECUTE USA CPA LTPTA A CORRECTLY INCREMENTED? JMP SA10 YES, OVER THE ERROR LDB LTPTA NO, B=EXPECTED VALUE LDY SD9 Y=FAIL FLAG JSB ERMS,I REPORT DEF E313 FAILURE LDA LTPTA GET NEXT VALUE SPC 1 SA10 PAA CPA LTPTB A= CORRECT VALUE JMP SA11 YES, OVER THE ERROR LDB LTPTB NO, B=EXPECTED VALUE LDY SA10 Y=FAIL FLAG JSB ERMS,I REPORT DEF E314 FAILURE LDA LTPTB GET NEXT VALUE SPC 1 SA11 PBA CPA LTPTC A INCREMENTED CORRECTLY JMP SA12 YES, OVER ERROR LDB LTPTC NO, B=EXPECTED LDY SD11 Y=FAIL FLAG JSB ERMS,I REPORT DEF E315 FAILURE SPC 2 SA12 NOP AND JMP TST22,I EXIT TEST SKP LTPTC DEF LDTBL+128 SD1 DEF SA1 SD2 DEF SA2 SD3 DEF SA3+1 SD5 DEF SA5 SD6 DEF SA6 SD7 DEF SA7+1 SD8 DEF SA8+2 SD9 DEF SA9+1 SD10 DEF SA10+1 SD11 DEF SA11+1 OC200 OCT 201 SPC 1 HED PROTECTED MODE PRESET TEST * * TST10 * * TEST 10 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO SET AND CLEAR STATUS REGISTER BIT 11 (PROTECTED * MODE) AND THE BASE PAGE FENCE. * * TEST 10 STARTS BY INVOKING PROTECTED MODE, CHECKING THE MEM * STATUS REGISTER FOR THE CORRECT STATE OF BIT 11, THEN * PROTECTED MODE IS FORCED OFF PROGRAMMATICALLY, AND THE STATE * OF STATUS REGISTER BIT 11 IS AGAIN TESTED. * * THE MESSAGE "H115 PRESS HALT, PRESET, RUN IN LESS THAN TEN * SECONDS" IS OUTPUT ON THE CONSOLE, PROTECTED MODE IS AGAIN * INVOKED, AND THE PROGRAM STARTS A TEN SECOND TIMER. * * IF THERE IS NO CONSOLE AVAILIABLE, THE PROGRAM WILL INFORM * THE OPERATOR THAT THE PROTECTED MODE PRESET TEST IS NEXT TO BE * EXECUTED BY HALTING WITH 107026 DISPLAYED IN THE MEMORY DATA * REGISTER. THE OPERATOR MUST THEN PRESS RUN TO START THE * TEST. * * THE OPERATOR MUST THEN PRESS HALT, PRESET AND RUN, THEN * THE STATE OF STATUS REGISTER BIT 11 IS TESTED TO VERIFY THAT * PRESET TURNS PROTECTED MODE OFF, AND THE BASE PAGE FENCE IS * TESTED TO INSURE THAT PRESET ALSO ZEROS THE BASE PAGE FENCE * * IF AN ERROR IS DETECTED IN TST10, THE MESSAGE "E114 PM NOT * SET BY STC 05" OR "E116 PM OR MEM FENCE NOT CLEARED BY * PRESET" WILL BE OUTPUT, AND THE PROGRAM HALTS THE COMPUTER. * * IN THE EVENT THE PROTECTED MODE IS UNABLE TO BE TURNED * OFF, IT IS NOT POSSIBLE TO EITHER HALT THE COMPUTER, OR * OUTPUT AN ERROR MESSAGE ON THE CONSOLE, SO THE FOLLOWING * WILL DONE TO INFORM THE OPERATOR THAT THE PROGRAM WAS * UNABLE TO OFF THE PROTECTED MODE, OR PRESET DID NOT * DISABLE PROTECTED MODE: * THE EXTEND REGISTER WILL FLASH ON AND OFF * AT APPROXIMATELY ONE-HALF SECOND INTERVALS. * * AT THIS TIME, THE OPERATOR MUST PRESS HALT AND * CORRECT THE PROBLEM, AS THE EXTEND REGISTER INDICATION * WILL CONTINUE UNTIL HALT IS PRESSED. * * WHEN TEST 10 IS COMPLETE, THE MESSAGE "H117 PRESET * TEST COMPLETE" WILL BE OUTPUT ON THE CONSOLE, AND * CONTROL IS PASSED BACK TO THE EXECUTIVE. SKP TST10 EQU * SPC 1 NOP JSB KFNCE LOAD THE MEM + MPT FENCES JSB JLOAD AND THE MEM MAPS AND THE JSB ZORCH INTERRUPT TRAP CELLS SPC 1 JSB PMON SET PROTECTED MODE RSA GET THE STATUS REGISTER AND PMSTS ISOLATE THE PM BIT (11) SZA = 1? JMP ICNT1 YES, OVER THE ERROR JSB OFFPM NO, OFF PM, INTP AND SYSTEM JSB ERMS,I REPORT NO PM OR NO DEF E114 STATUS REGISTER BIT 11 SPC 1 ICNT1 LDA IIR1. SET UP AN MEM VIOLATION STA M5LNK RETURN ADDRESS LINK STA MEMSC CAUSE AN MPT/MEM FENCE VIOLATION SPC 1 IIRA1 NOP VIOLATION RETURN ADDRESS RSA GET STATUS REGISTER CONTENTS AND PMSTS ISOLATE THE PM BIT (11) SZA = 0? JMP IERR1 NO, GO FLASH THE E-REGISTER JSB TRNOF YES, TURN OFF INTP AND SYSTEM LDB BIT.8 CHECK THE SWITCH REGISTER JSB SWRT,I TO SEE IF JMP IENDX SUPPRESSION DESIRED, EXIT SPC 1 LDA 112B CONSOLE SZA,RSS PRESENT? JSB NOTTY NO, GO DO THE WARNING HALT SPC 1 JSB MSGC,I TELL OPERATOR DEF H115 HLT-PRESET-RUN SPC 1 CCA LOAD THE MEM FENCE LFA WITH ALL ONES JSB PMON PRIVELEGED MODE - ON LDA ITMRC GET TIMING CONSTANT JSB TMRR,I START A 10 SECOND TIMER NOP RSA GET THE STATUS STA ITMP1 SAVE IT AND PMSTS MAKE SURE PM IS OFF SZA OFF??? JMP IERR1 NO, ERROR DETECTED JSB TRNOF YES, OFF THE INTERRUPT SYS NOP SKP LDA ITMP1 GET THE STATUS BACK SZA,RSS DID PRESET CLEAR IT? JMP *+3 YES, OVER THE ERROR JSB ERMS,I NO, REPORT THE DEF E116 ERROR JSB MSGC,I TELL OP TEST IS COMPLETE DEF H117 IENDX NOP JMP TST10,I EXIT SKP IERR1 CME BLINK EXTEND REGISTER ISZ SVPD1 WAIT JMP *-1 LOOP JMP *-3 HANG UP IN THE LOOP SPC 1 ITMRC DEC 10000 IIR1. DEF IIRA1 ITMP1 OCT 0 PMSTS OCT 4000 BIT.8 OCT 10400 SPC 2 E114 ASC 13,E114 PM NOT SET BY STC 05/ H115 ASC 13,H115 PRESS HALT-PRESET-RUN ASC 13, IN LESS THAN 10 SECONDS/ E116 ASC 16,E116 PM OR MEM FENCE NOT CLEARED ASC 6, BY PRESET/ H117 ASC 13,H117 PRESET TEST COMPLETE/ SPC 3 NOTTY NOP ISZ NOTTY BUMP PAST THE ISZ NOTTY MSG AND DEF, AND E326 OCT 107026 HALT CODE 326 JMP NOTTY,I NOW GO DO THE PRESET TEST SPC 2 * MESSAGES E226 ASC 5,E226 XMM/ E227 ASC 5,E227 XMM/ E230 ASC 5,E230 XMS/ E231 ASC 5,E231 XMS/ E232 ASC 5,E232 SYA/ E233 ASC 5,E233 SYA/ E234 ASC 5,E234 USA/ E235 ASC 5,E235 USA/ HED STATUS-FENCE REGISTER * TEST 04 * * TEST 04 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * OF THE MEMORY EXPANSION MODULE STATUS REGISTER AND THE SET OF * INSTRUCTIONS USED IN TEST 04 TO EXERCISE IT. * * THESE INSTRUCTIONS ARE: * * DJP - DISABLE M.E.M. AND JUMP * DJS - DISABLE M.E.M. AND JUMP SUBROUTINE * SJP - ENABLE SYSTEM MAP AND JUMP * SJS - ENABLE SYSTEM MAP AND JUMP SUBROUTINE * UJP - ENABLE USER MAP AND JUMP * UJS - ENABLE USER MAP AND JUMP SUBROUTINE * RSA/B READ STATUS REGISTER INTO A/B REGISTER * LFA/B LOAD FENCE REGISTER FROM A/B REGISTER * SSM - STORE STATUS IN MEMORY * JRS - JUMP AND RESTORE STATUS * * TEST 04 CHECKS THE STATUS REGISTER BITS BY EXECUTING ONE OF * THE ABOVE INSTRUCTIONS, THE INTERRUPT SYSTEM, AND THE PROTECT * FEATURES OF M.E.M. TO ESTABLISH VALIDITY OF THE VARIOUS STATUS * REGISTER BITS. * * THE INITIAL CHECKING IS DONE THRU THE A-REGISTER REFERENCE * (RSA-LFA) INSTRUCTIONS. ONCE IT IS ESTABLISHED THAT THE * A-REGISTER REFERENCE INSTRUCTIONS EXECUTE PROPERLY, THE * B-REGISTER COUNTERPARTS ARE CHECKED. * * AFTER ALL BITS OF THE STATUS REGISTER, AND ALL OF THE ABOVE * INSTRUCTIONS ARE CHECKED, CONTROL IS RETURNED TO THE CONTROL * PROGRAM. * * IF AN ERROR IS DETECTED WHILE TST04 IS BEING EXECUTED, A * MESSAGE WILL BE OUTPUT TO THE CONSOLE, AND THE ERROR ROUTINE * WILL HALT THE COMPUTER. * * TO DETERMINE THE CAUSE OF THE ERROR, THE OPERATOR MUST CHECK * THE FOLLOWING REGISTERS: * * T REGISTER = HALT CODE * A REGISTER = STATUS BIT(S) WHICH FAILED * * B REGISTER = STATUS BIT(S) WHICH FAILED * * X REGISTER = STATUS REGISTER AT FAILURE * Y REGISTER = ADDRESS OF FAILURE * * *NOTE. IN THE CASE OF REGISTER REFERENCE INSTRUCTIONS, THE * REGISTER REFERENCED WILL CONTAIN ACTUAL(BAD) DATA, AND * THE ALTERNATE REGISTER WILL CONTAIN THE EXPECTED(GOOD) * DATA. * SKP ORG 6000B TST04 EQU * SPC 1 NOP JSB ZORCH PUT JSB,I INSTRUCTION IN CELLS JSB LODUP LOAD UP THE MAPS NOP SPC 1 DJP *+3 DISABLE THE MEM AND JUMP *+3 JSB TEER1 GO AND REPORT THE ERROR RSA READ MEM STATUS REGISTER NOP AND EMSK1 MASK OFF DONT CARE BITS SZA,RSS TEST TO SEE IF THE JMP *+3 PROPER STATUS RETURNED. OVER CLB ERROR DETECTED, GET EXPECTED JSB STERA STATUS AND REPORT THE ERROR SPC 1 RSB NOW READ THE STATUS TO B-REG NOP CHANGE TO JMP *-N FOR LOOP/ LDA EMSK1 PUT THE MASK VALUE IN A AND B STRIP OFF THE DONT CARE BITS SZA,RSS TEST FOR PROPER STATUS JMP *+3 CLA ERROR DETECTED, GET THE EXPECTED JSB STERB STATUS AND REPORT THE ERROR SPC 1 DJS *+3 DISABLE AND JSB *+3 RTAD1 JSB TEER2 NO JSB, REPORT NOP SUBROUTINE RETURN ADDRESS RSA READ MEM STATUS REGISTER NOP AND EMSK1 ELIMINATE DONT CARE BITS SZA,RSS TEST TO SEE PROPER STATUS JMP *+3 OK, OVER THE ERROR JSB CLB ERROR IN STATUS RETURNED, JSB STERA REPORT ON CONSOLE SPC 1 RSB READ STATUS TO B REGISTER NOP CHANGE TO JMP *-N FOR LOOP/ LDA EMSK1 PLACE MASK VALUE IN A AND B STRIP OFF DONT CARE BITS SZA,RSS TEST FOR PROPER STATUS RETURN JMP *+3 OK, OVER THE ERROR CLA ERROR DETECTED, PUT THE EXPECTED JSB STERB VALUE IN A AND REPORT. SPC 1 LDA RTAD1+1 CPA RTAD2 COMPARE RETURN ADDRESS JMP *+2 ADDRESS CORRECT, CONTINUE JSB DJSER ADDRESS NOT CORRECT, REPORT NOP CHANGE TO JMP *-N FOR LOOP/ SKP SJP *+7 ENABLE SYSTEM & JUMP DJP *+2 OFF SYSTEM IF NO JUMP JSB TEER3 REPORT SJP DIDNT JUMP SPC 1 SJP *+2 RE-ENABLE AFTER ERROR NOP CHANGE TO JMP *-N FOR LOOP/ RSA READ STATUS REGISTER AND EMSK2 STRIP OFF DON'T CARE BITS CPA STN01 PROPER STATUS? JMP *+7 OVER THE ERROR DJP *+2 DISABLE TO REPORT ERROR LDB STN01 NO, GET THE EXPECTED VALUE JSB STERA REPORT ERROR SJP *+2 SYSTEM BACK ON AFTER ERROR SPC 2 RSB NO READ STATUS TO B-REG NOP CHANGE TO JMP *-N FOR LOOP/ LDA EMSK2 PLACE MASK VALUE IN A AND B STRIP OFF DONT CARE BITS CPA STN01 PROPER STATUS? JMP *+5 YES, OVER THE ERROR DJP *+2 NO, OFF MEM TO REPORT ERROR LDA STN01 GET THE EXPECTED VALUE IN A JSB STERB AND REPORT THE PROBLEM SPC 1 DJP *+3 DISABLE THE MEM AND JUMP *+3 JSB TEER1 REPORT DJP PROBLEM RSA READ STATUS REGISTER IN A AND EMSK2 ELIMINATE DONT CARE BITS SZA,RSS TEST FOR PROPER STATUS JMP *+3 PROPER STATUS RETURNED CLB WRONG STATUS IN BITS 13 & 11, JSB STERA REPORT ON CONSOLE SPC 1 RSB READ STATUS TO B LDA EMSK2 GET MASK VALUE AND AND B STRIP OFF DONT CARE BITS SZA,RSS TEST FOR PROPER STATUS RETURNED JMP *+3 YES, OVER THE ERROR CLA NO, GET EXPECTED VALUE AND JSB STERB REPORT ON THE CONSOLE SPC 1 SJS *+7 ENABLE THE SYSTEM AND JSB RTAD3 DJP *+2 CRASH, NO JSB JSB TEER4 REPORT ON CONSOLE SJP *+2 MEM BACK ON AFTER ERROR SKP NOP RETURN ADDRESS LDA *-1 GET THE CALCULATED RETURN ADDR. CPA RTAD4 AND COMPARE TO RETURN JMP *+6 RETURN ADDRESS OK, OVER THE ERR DJP *+2 RETURN ADDRESS WRONG, REPORT JSB SJSER RETURN ADDRESS WRONG, REPORT SJP *+2 MEM BACK ON AFTER ERROR SPC 1 RSA READ THE STATUS REGISTER AND EMSK2 GET RID OF DONT CARE BITS CPA STN01 BIT 13 ON? JMP *+7 YES, OVER ERROR HANDLING DJP *+2 NO, MEM OFF FOR REPORT LDB STN01 GET WHAT STATUS SHOULD BE JSB STERA REPORT THE ERROR SJP *+2 REENABLE THE ERROR SPC 1 RSB NOW READ STATUS TO B LDA EMSK2 GET MASK VALUE AND AND B STRIP OFF DONT CARE BITS CPA STN01 TEST FOR PROPER STATUS JMP *+7 OK, OVER THE ERROR DJP *+2 ERROR, OFF MEM TO REPORT LDA STN01 GET PROPER STATUS JSB STERB AND REPORT FAILURE SJP *+2 BACK ON AFTER ERROR SPC 1 NOP CHANGE TO JMP *-N FOR LOOP/ UJP *+7 ENABLE USER MAP & JUMP DJP *+2 DISABLE FOR ERROR JSB TEER5 REPORT UJP DIDN'T JUMP UJP *+2 RE-ENABLE AFTER ERROR NOP CHANGE TO JMP *-N FOR LOOP/ RSA READ STATUS REGISTER AND EMSK2 STRIP DONT CARE BITS CPA STN02 GOT PROPER STATUS? JMP *+3 YES, JUMP OVER ERROR LDB STN02 NO, GET EXPECTED STATUS JSB STERA REPORT ERROR SPC 1 RSB READ STATUS REG TO B LDA EMSK2 GET THE MASK VALUE AND B STRIP OFF THE DONT CARE BITS CPA STN02 IS STATUS CORRECT? JMP *+7 YES, OVER THE ERROR DJP *+2 NO, OFF USER TO REPORT LDA STN02 GET THE EXPECTED PATTERN JSB STERB AND REPORT THE ERROR UJP *+2 BACK ON AFTER ERROR SKP SPC 1 NOP CHANGE TO JMP *-N FOR LOOP/ SJP *+5 DJP *+2 WHOOPS, OFF MEM JSB TEER3 SJP DIDNT JUMP NOP CHANGE TO JMP *-N FOR LOOP/ UJS *+7 ENABLE AND JSB RTAD5 DJP *+2 NO JSB, OFF THE SYSTEM JSB TEER6 AND REPORT NO JSB UJP *+2 BACK ON AFTER ERROR NOP JSB RETURN ADDRESS LDA *-1 GET RETURN ADDRESS CPA R.TA5 JMP *+6 YES OVER ERROR HANDLING DJP *+2 OFF FOR ERROR JSB UJSER NO, REPORT ADDRESS ERROR UJP *+2 BACK ON AFTER ERROR SPC 1 NOP RSA READ STATUS REGISTER AND EMSK2 STRIP DONT CARE BITS CPA STN02 IS STATUS CORRECT? JMP *+7 YES CONTINUE DJP *+2 WHOOPS LDB STN02 NO, GET EXPECTED STATUS JSB STERA AND REPORT UJP *+2 BACK ON AFTER ERROR RSB GET STATUS REGISTER IN B NOP CHANGE TO JMP *-N FOR LOOP/ LDA EMSK2 PUT MASK VALUE IN A AND B MASK DONT CARE BITS CPA STN02 TEST FOR PROPER STATUS JMP *+7 STATUS IS OK, OVER ERROR DJP *+2 OFF USER FOR ERROR