* ERR1 NOP STB TEMP4 SAVE B LDB TEMP2 GET FAILING ADDRESS IN B JSB ERROR CALL ERROR ROUTINE LDB TEMP4 RESTORE B JMP ERR1,I HED TST12-LONELY BIT * * 1. WRITES 4K MODULE WITHIN MEMORY UNDER TEST TO BACKGROUND * PATTERN. * 2. WRITES LOCATION 0 OF 4K MODULE TO TEST PATTERN. THIS MAKES * IT THE TEST LOCATION. * 3. READS THE 4K MODULE TO VERIFY DATA. * 4. BUMP TEST LOCATION. GO BACK TO 3. UNTIL TEST LOCATION * EQUALS THE LAST LOCATION IN THE 4K MODULE. * 5. IF WITHIN THE TEST AREA,REPEAT ENTIRE SEQUENCE ON NEXT 4K. * TST12 EQU * LBIT NOP LDB B10K START WITH L127 STB MODUL MODULE 1 JSB PCKMD,I ANY 4K MODULES WITHIN TEST AREA? JMP LBIT,I NO.DONE L126 LDA BACKP WRITE MEMORY TO JSB PWMEM,I BACKGROUND PATTERN LDB MODUL START WITH TEST ADB M1 TEST LOCATION STB TEMP2 = MODUL-1 ADB B10K STOP AT STB TEMP3 MODUL + 7777 L124 CLO SET WRITING FLAG JSB CKBTS USER SELECTION OR NEW LIMITS? NOP RESERVED LDA BACKP WRITE CURRENT TEST STA TEMP2,I BACK TO BACKGROUND ISZ TEMP2 BUMP TEST LOCATION POINTER LDA TESTP WRITE TEST PATTERN STA TEMP2,I AT CURRENT TEST LOCATION LDB MODUL START AT BEGINNIG OF MODULE L123 CPB TEMP2 AT A TEST LOCATION? JMP L121 YES LDA BACKP NO.EXPECT BACKGROUND L125 CPA B,I VERIFY DATA JMP *+2 OK JSB ERROR ERROR CPB TEMP3 DONE CURRENT 4K? JMP L122 YES ADB .1 NO.BUMP POINTER JMP L123 CONTINUE L121 STO SET READING FLAG LDA TESTP EXPECT TEST JMP L125 PATTERN L122 CPB TEMP2 TEST LOC.=LAST LOC. IN 4K MOD.? JMP *+2 YES JMP L124 NO.GO BUMP TEST LOC. & CONTINUE JSB PCHEK,I DO ANOTHER PATTERN? JMP L126 YES CPB .32K NO.JUST FINISH MODULE 7? JMP LBIT,I YES INB NO.POINT TO NEXT JMP L127 4K MODULE & CONTINUE HED TST13-EXTENDED INSTRUCTION GROUP * USES MVW(MOVE WORDS) AND CMW(COMPARE WORDS) INSTRUCTIONS TO * WRITE/READ MEMORY TO THE CHECKERBOARD PATTERN IN TST03. * TST13 EQU * EIG NOP L132 LDA LOWER SAVE LDB UPPER TEST STA TEMP2 LIMITS STB TEMP3 LDA B1000 PUT IN LDB B1377 NEW LIMITS STA LOWER FOR TST03 STB UPPER LDA L037 SET TST03 STA TEMP5 TO JUST CLB DO PATTERNS STB L037 OF 125252 LDA PATT4 AND 52525 LDB PATT5 STA BACKP STB TESTP JSB TST03 LDA TEMP5 RESTORE STA L037 TST03 CCA RESTORE STA BACKP PATTERNS CLB STB TESTP LDB TEMP2 RESTORE LDA TEMP3 TEST STB LOWER LIMITS STA UPPER L131 STB TEMP4 SAVE POINTER TO START OF BLOCK ADB B377 START + END OF BLOCK CMB,INB MAKE IT NEGATIVE ADB UPPER END OF BLOCK SSB OVER UPPER LIMIT? JMP L133 YES.DON'T DO IT.GO SEE IF DONE LDA B1000 MOVE DATA BUFFER LDB TEMP4 IN LOCATIONS 1000-1377 MVW B400 TO CURRENT TEST BLOCK LDA B1000 COMPARE DATA IN LDB TEMP4 TEST BLOCK TO DATA CMW B400 IN DATA BUFFER JMP L130 OK STA B ERROR.B=ARRAY 1 ADDRESS ADB M1000 FORM FAILING ADB TEMP4 ADDRESS IN B LDA A,I GET GOOD DATA IN A JSB ERROR GO REPORT ERROR L130 LDB TEMP4 GET CURRENT START OF TEST BLOCK ADB B400 NO.POINT TO JMP L131 NEXT TEST BLOCK L133 LDA PATT4 SWITCH LDB PATT5 PATTERNS STA PATT5 FOR STB PATT4 CHECKERBOARD CPA PATT6 DONE BOTH? JMP L132 NO.DO COMPLEMENT PATTERNS JMP EIG,I YES.DONE HED TST14-MEMORY PROTECT * WRITES/READS ALL MEMORY UNDER TEST ABOVE AND BELOW THE FENCE. * TST14 EQU * MEMPR NOP LDA FWORD IS MEMORY SLA PROTECT PRESENT? JMP L142 YES H62 HLT 62B NO.HALT TO INFORM USER JMP MEMPR,I SKIP TEST L142 LDB LOWER START AT LOWER LIMIT TEST AREA L143 STB TEMP2 SAVE IT INB SET FENCE AT ONE OTB MP ABOVE CURRENT ADDRESS L141 CLF INT INSURE INTERRUPT SYS. OFF LDA BACKP GET BACKGROUND LDB TEMP2 START AT CURRENT ADDRESS CPB UPPER END OF TEST AREA? JMP MEMPR,I YES.STOP STA B,I NO.WRITE BACKGROUND INB WRITE TEST LDA TESTP PATTERN AT STA B,I FENCE ADDRESS SOS TOGGLE JMP *+3 O-REG CLO FOR RSS USER STO CLC INT CLEAR I/O INTERRUPTS STF INT TURN ON INTERRUPT SYSTEM STC MP TURN ON MEMORY PROTECT CPA B,I VERIFY TEST PATTERN RSS OK L146 JMP ERR3 VIOLATE MP IF ERROR LDA BACKP VERIFY ADB M1 BACKGROUND CPA B,I PATTERN RSS OK L147 JMP ERR3 VIOLATE MP IF ERROR L144 STA B,I VIOLATE MP JMP BADMP NO INTERRUPT.GO TRY TO HALT L140 LDA SAVAD INTERRUPT IN CPA PL144 RIGHT PLACE? JMP L145 YES CPA PL146 NO.WAS THERE AN ERROR? JMP ERR3 YES CPA PL147 JMP ERR3 YES JMP BADMP NO.SOMETHING IS WRONG L145 JSB PCHEK,I DO ANOTHER PATTERN? JMP L141 YES LDB TEMP2 NO.BUMP INB CURRENT JMP L143 ADDRESS * PROCESSES DATA ERRORS WITH MEMORY PROTECT ON ERR3 JSB ERROR GO REPORT ERROR JMP L145 GO SEE IF DONE HED TST15-INTERVENTION REFRESH * * 1. WRITES MEMORY UNDER TEST TO A PATTERN OF ALL ONES. * 2. HALTS TO ALLOW MEMORY TO REFRESH ITSELF. OPERATOR PRESSES * RUN. * 3. VERIFIES THE DATA WRITTEN IN MEMORY UNDER TEST. * 4. READS ALL OFF MEMORY,DISREGARDING DATA,TO LOOK FOR PARITY * ERRORS. * 5. REPEATS ENTIRE SEQUENCE WITH ADDITIONAL PATTERNS OF * 000001 AND 177776. * TST15 EQU * IREF NOP LDB MASK2 SUPPRESS JSB SWRCK OPERATOR INTERVENTION? JMP IREF,I YES.SKIP TEST CCA DO JSB PWMEM,I 177777 H60A HLT 60B HALT FOR REFRESH JSB PRMEM,I GO READ DATA CLA,INA DO JSB PWMEM,I 000001 H60B HLT 60B HALT FOR REFRESH JSB PRMEM,I GO READ DATA CMA DO JSB PWMEM,I 177776 H60C HLT 60B HALT FOR REFRESH JSB PRMEM,I GO READ DATA JMP IREF,I HED TST16-DYNAMIC MAPPING SYSTEM * * RUNS CURRENT GROUP OF TESTS ON MEMORY ABOVE BASE MEMORY. * ASSUMES OPERATIONAL DMS HARDWARE & FACTORY INSTALLATION OF * MEMORY * TST16 EQU * DMS NOP LDA LOWER SAVE LDB UPPER CURRENT STA SAVE6 TEST STB SAVE7 LIMITS LDB .32K SET ENDING STB SAVE4 ADDRESS FOR TESTS LDA MSIZE SET AND B76K STARTING ALF PAGE RAL,RAL NUMBER INA OF ONE ABOVE L1601 STA SAVE3 BASE MEMORY CMA,INA SUBTRACT STARTING ADA .M24 PAGE # AND SWAP LDB MAXPG FROM ADB A MAXPG SSB POSITIVE RESULT? JMP L165 NO.IN LAST BLOCK L1604 LDA B10 SWAP IN LDB SAVE3 BLOCK OF LDX SWAP MEMORY XMS CLA ZERO THE LFA BASE PAGE FENCE SJP *+2 ENABLE SYSTEM MAP LDA TESTS GET TESTS WORD FROM CONTROL XOR BIT14 GET RID OF TST16 SZA,RSS ANY OTHER TESTS? LDA B777 NO.USE DEFAULT SET STA SAVE5 SAVE IT LDA B20K SET LDB SAVE4 TEST STA LOWER LIMITS STB UPPER =SWAP CLB START WITH STB SAVE8 TST00 L166 LDA SAVE5 GET TESTS WORD LDB SAVE8 & TEST # L167 SLA DO TEST? JMP L168 YES INB NO.BUMP TEST # RAR ROTATE TESTS JMP L167 CONTINUE L168 RAR ROTATE CURRENT TEST STA SAVE5 SAVE NEW TESTS STB SAVE8 SAVE TEST # ADB .M16 DONE WITH SSB,RSS TESTS? JMP L169 YES.DONE CURRENT SWAP LDA PTEST GO ADA SAVE8 DO LDA A,I TEST JSB A,I SECTION ISZ SAVE8 BUMP TEST # JSB CKBTS USER SELECTION OR NEW LIMITS? JMP L166 NO.GO DO NEXT TEST L169 LDA SAVE3 BUMP STARTING ADA SWAP PAGE # JMP L1601 GO DO ANOTHER BLOCK L165 ADB SWAP ADD SWAP TO -SUM SSB POSITIVE RESULT? JMP L1600 NO.DONE INB MULTIPLY BLF,BLF # OF PAGES RBL,RBL IN LAST BLOCK ADB M1 BY 2000(OCTAL) & ADB B20K SUBTRACT ONE & STB SAVE4 ADD 20000 FOR NEW LAST WORD JMP L1604 GO DO LAST BLOCK L1600 LDA SAVE6 RESTORE LDB SAVE7 TEST STA LOWER LIMITS STB UPPER DJP DMS,I DISABLE MAPS & RETURN HED MODULE 0 CHECK * PERFORMS THE FOLLOWING TESTS ON ADDRESSES 6 THRU 3777 IN * 400(OCTAL) WORD BLOCKS: * * ONES AND ZEROS/MARCHING ONES AND ZEROS * ADDRESS PARITY * ADDRESS * CHECKERBOARD * * THIS SAME CODE IS MOVED TO LOCATIONS 131-677 AND USED TO * CHECK LOCATIONS 4000-7777. * ORG 4131B MD0CK CLE LDA START START MOVES AT ADDRESS IN START STA SADR SAVE IT FOR ROUTINES LDA START IN LOW SZA BLOCK? CLA,RSS NO CCA SET FLAG FOR THE STA LOWFG LOW 400 BLOCK LDA I4000 STOP 1ST TESTS ADA START AT LOCATION STA EQTST X3777 LDA I10K SET ADA START MODULE 0 LDB PEQTS CHECK TO ADB START START AT STA B,I X4000 LDA I4000 AND STOP ADA START AT X7777 LDB PSADR ADB START STA B,I LP204 LDA I1000 USE LOCATIONS ADA START X1000-X1377 FOR STA IBUFF THE MOVE BUFFER LDB IBUFF DESTINATION STARTING ADDRESS LDA I400 WDCNT STA WDCNT =400 OCTAL LDA SADR START SOURCE ADDRESS JSB IMOVE MOVE TO BUFFER IN 1000-1400 JSB MODCK NOW CHECK AREA MOVED LDA I400 NOW MOVE STA WDCNT OBJECT LDA IBUFF CODE BACK LDB SADR INTO CHECKED JSB IMOVE AREA LDA SADR BUMP TEST ADA I400 AREA 400 CPA EQTST DONE? JMP IL206 YES STA SADR NO.USE NEW SOURCE ADDRESS JMP LP204 DO NEXT BLOCK IL206 LDA PINIT TRANSFER CONTROL ADA START TO MODULE 0 CHECK JMP A,I LOW IN 131-777 SKP * * TESTS CURRENT BLOCK OF MEMORY UNDER TEST AS DEFINED BY * VALUE IN SADR. * MODCK NOP LDA SADR FORM ENDING ADA I377 ADDRESS STA EADR OF TEST LDA LOWFG TESTING LDB SADR IN THE SZA LOW BLOCK? LDB IB6 YES.LOWER LIMIT=6 STB SADR NO.USE EXISTING SADR * MARCHING ONES AND ZEROS CLA TEST PATTERN STA ITPAT OF ZEROS CCA BACKGROUND STA IBPAT PATTERN OF ONES LP206 JSB IBLOC WRITE TEST BLOCK TO DATA IN A LDB SADR START AT 1ST ADDRESS IN BLOCK LP205 STO SET READING FLAG CPA B,I BACKGROUND STILL THERE? RSS YES JSB IEROR NO.FATAL MODULE 0 ERROR CLO SET WRITING FLAG LDA ITPAT GET TEST PATTERN STA B,I WRITE IT CPA B,I READ & COMPARE IT RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE? JMP IL200 YES INB NO.BUMP POINTER LDA IBPAT GO BACK TO BACKGROUND JMP LP205 CONTINUE IL200 STO SET READING FLAG CPA B,I TEST PATTERN STILL THERE? RSS YES JSB IEROR NO.FATAL MODULE 0 ERROR CLO SET WRITING FLAG LDA IBPAT NOW USE BACKGROUND PATTERN STA B,I WRITE IT CPA B,I READ & COMPARE IT RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB SADR DONE? JMP IL201 YES.GO CHECK FOR OTHER PATTERNS ADB IM1 DECREMENT POINTER LDA ITPAT GO BACK TO TEST PATTERN JMP IL200 CONTINUE IL201 JSB CHKPT DO ANOTHER PATTERN? JMP LP206 YES SKP * ADDRESS PARITY TESTS * LP208 CLO SET WRITING FLAG LP209 LDB SADR START AT 1ST BLOCK ADDRESS LP213 LDA I.M16 SET STA ITEMP COUNTER=-16DECIMAL STB A ADDRESS IN A CLE CLEAR BIT FLAG LP207 RAR,SLA ADDRESS BIT SET? CME YES.TOGGLE BIT FLAG ISZ ITEMP NO.DONE? JMP LP207 NO SEZ EVEN # OF BITS? JMP IL205 NO.ODD # LDA IBPAT YES.USE BACKGROUND PATTERN IL207 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE? JMP IL209 YES INB NO.BUMP POINTER JMP LP213 CONTINUE IL205 LDA ITPAT USE TEST JMP IL207 PATTERN IL209 SOC JUST FINISHED WRITING? JMP IL208 NO.GO CHECK FOR MORE PATTERNS STO YES.GO BACK AND JMP LP209 READ THIS TIME IL208 JSB CHKPT DO ANOTHER PATTERN? JMP LP208 YES SKP * ADDRESS TESTS * LP212 CLO SET WRITING FLAG LP211 LDB SADR START AT 1ST ADDRESS IN BLOCK LP210 LDA ITPAT USE ADDRESS OR SZA COMPLEMENT ADDRESS? JMP IL211 COMPLEMENT ADDRESS LDA B USE ADDRESS JMP IL210 IL211 LDA B GET ADDRESS CMA COMPLEMENT IT IL210 SOS WRITING? STA B,I YES CPA B,I NO.READ & COMPARE DATA RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE? JMP IL212 YES INB BUMP POINTER JMP LP210 CONTINUE IL212 SOC JUST FINISH WRITING? JMP IL213 NO.GO SEE IF DONE STO YES.GO BACK JMP LP211 AND READ THIS TIME IL213 LDA ITPAT DO BOTH ADDRESS AND INA,SZA,RSS COMPLEMENT ADDRESS TESTS? JMP IL214 YES CCA NO.SET ITPAT STA ITPAT TO USE COMPLEMENT ADDRESS JMP LP212 GO BACK & DO COMPLEMENT ADDRESS IL214 STA ITPAT RESTORE TEST PATTERN TO ZEROS SKP * CHECKERBOARD TESTS * LDA PITBL POINT TO STA PTBL1 PATTERN TABLE LDA PTBL1,I GET PATTERN ENTRY STA IPATT PUT IT IN PATTERN VALUE LP215 CLO SET WRITING FLAG LP214 LDB SADR START AT 1ST ADDRESS IN BLOCK LP219 STB A GET ADDRESS IN A AND IPATT ARE EITHER OF SZA,RSS THE PATTERN BITS SET? JMP IL215 NO CPA IPATT YES.ARE BOTH BITS SET? JMP IL215 YES LDA ITPAT NO.USE TEST PATTERN JMP IL216 IL215 LDA IBPAT USE BACKGROUND PATTERN IL216 SOS WRITING? STA B,I YES CPA B,I NO.READ & COMPARE IT RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE? JMP IL217 YES INB NO.BUMP POINTER JMP LP219 CONTINUE IL217 SOC JUST FINISH WRITING? JMP IL218 NO.GO SEE IF DONE STO YES.GO BACK JMP LP214 AND READ IL218 JSB CHKPT DO ANOTHER PATTERN? JMP LP215 YES ISZ PTBL1 ANY MORE LDB PTBL1,I ENTRIES IN THE INB,SZB PATTERN TABLE? JMP IL218 YES.GO BACK AND DO IT LDA LOWFG TESTING LDB SADR IN THE SZA LOW BLOCK? CLB YES.RESTORE SADR TO 0 STB SADR NO.USE EXISTING SADR CLA ONLY TEST LOW STA LOWFG BLOCK ONCE JMP MODCK,I HED CHKPT * * SETS UP BACKGROUND AND TEST PATTERNS IN IBPAT AND ITPAT * RESPECTIVELY,BASED ON THE DATA IN IBPAT. * * ENTRY VALUE OF IBPAT EXIT VALUES OF IBPAT,ITPAT & RETURN * * 177777 000000,177777,P+1 * 000000 000001,177777,P+1 * 000001 000003,177776,P+1 * 000003 177777,000000,P+2 * CHKPT NOP LDA IBPAT GET BACKGROUND PATTERN IN A INA,SZA JUST DO BACKGROUND OF ONES? JMP IL202 NO.MUST BE 1 OR 3 STA IBPAT YES.MAKE IT ZEROS CCA MAKE TEST STA ITPAT PATTERN ONES CLA EXIT WITH BACKGROUND IN A JMP CHKPT,I IL202 SLA,RSS JUST DO 000000? JMP IL203 NO.MUST HAVE BEEN 2 STA IBPAT YES.BACKGROUND=000001 JMP CHKPT,I IL203 CPA IB4 JUST DO 3? JMP IL204 YES CCA TEST ADA IM1 PATTERN STA ITPAT =177776 LDA IB3 A=000003 STA IBPAT BACKGROUND=3 JMP CHKPT,I IL204 CLA TEST STA ITPAT =000000 CCA BACKGROUND STA IBPAT =177777 ISZ CHKPT POINT TO P+2 JMP CHKPT,I HED IBLOC,IEROR * * WRITES TEST BLOCK TO DATA IN A. * VERIFIES DATA WRITTEN. * IBLOC NOP CLO SET WRITING FLAG LP217 LDB SADR START AT 1ST ADDRESS IN BLOCK LP216 SOS WRITING? STA B,I YES CPA B,I NO.READ AND COMPARE DATA RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE WITH LOOP? JMP IL219 YES INB NO.BUMP POINTER JMP LP216 CONTINUE IL219 SOC JUST FINISH WRITING? JMP IBLOC,I NO.MUST BE DONE STO YES.GO BACK & JMP LP217 READ DATA * * PROCESSES ERRORS FOR MODULE 0 CHECK * IEROR NOP STB ITEMP SAVE ADDRESS LDB B,I GET BAD DATA IN B E104A OCT 106004 MODULE 0 HAS FAILURE LDA ITEMP GET FAILING LDB ITEMP ADDRESS IN A & B E105A OCT 106005 FATAL ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE HED IPAR * * PROCESSES PARITY ERROR INTERRUPTS FOR INIT * IPAR EQU * NOP STA ITEMP SAVE A CLF INT RE-DISABLE INTERRUPTS LIA MP GET VIOLATION REGISTER CLF MP TURN OFF PARITY ERROR SSA PARITY ERROR BIT 15 OF VR SET? JMP IL220 YES.OK E102C OCT 106002 ERRONEOUS MP VIOLATION JMP *-1 IRRECOVERABLE IL220 AND I.32K MASK OFF BIT 15 STA ISTOR SAVE ADDRESS CMA,INA MAKE IT - ADA LLIM IS THE FAILING