3 This document file was created by scanning the
4 original document and then editing the scanned
5 text. As much as possible, the original text
6 format was restored. The original page breaks
7 have been removed. The original spelling and
8 grammar has been preserved. The assembler
9 listing of the original document is not
10 included in this document.
12 B. Baehr (bb@balloo.han.de), Feb. 22, 1999
23 PRODUCT CODE: MAINDEC-8E-D0LB-D
25 PRODUCT TEST: KE8-E (EAE) INSTRUCTION TEST 1
27 DATE CREATED: FEBRUARY 9, 1972
29 MAINTAINER: DIAGNOSTIC GROUP
35 DIGITAL EQUIPMENT CORPORATION
40 THIS PROGRAM IS A TEST OF ALL THE KE8-E EAE INSTRUCTIONS.
41 (EXCEPT MULTIPLY AND DIVIDE).
49 PDP-8/E OR /M PROCESSOR, KE8-E OPTION, AND A TELETYPE ARE REQUIRED.
54 LOCATION 0000 THROUGH 7600 ARE USED.
56 2.3 PRELIMINARY PROGRAMS
59 ALL PROCESSOR RELATED TEST PROGRAMS MUST HAVE BEEN RUN
68 THE BINARY LOADER IS USED TO LOAD THE PROGRAM INTO ANY DE-
69 SIRED FIELD. REFER TO THE BINARY LOADER DOCUMENTATION IF
70 UNFAMILIAR WITH ITS USE.
75 4.1 CONTROL SWITCH SETTING
76 ----------------------
78 CONTROL SWITCH SETTINGS DO NOT APPLY TO STEP COUNTER, GT, MODE,
79 AND COMBINED TESTS. AN ERROR WILL BE INDICATED BY A PROGRAM HALT.
83 SR1=1 SCOPE MODE (REPEAT PATTERN AND/OR TEST)
85 SR2=1 PRINT ERROR INFORMATION
87 SR3=1 DO NOT EXIT CURRENT TEST.
90 0 0 EXECUTE TEST IN "A" AND "B" MODES
91 0 1 EXECUTE TEST IN "A" AND "B" MODES.
98 THIS PROGRAM STARTS AT LOCATION 0200.
100 4.3 PROGRAM AND/OR OPERATOR ACTION
101 ------------------------------
103 WITH THE PROGRAM LOADED IN CORE PROCEED AS FOLLOWS:
105 A. INSURE TELETYPE IS ON-LINE.
107 B. LOAD ADDRESS 0200.
109 C. SET ANY DESIRED OPTIONS IN THE SR.
111 D. PRESS CLEAR AND CONTINUE.
115 FOR A NORMAL PROGRAM RUN, SET SR SWITCHES TO 5000.
116 PROGRAM WILL RUN CONTINUOUSLY EXECUTING THE TEST IN "A"
117 AND "B" MODES UNLESS AN ERROR IS DETECTED AT WHICH TIME
118 THE ERROR INFORMATION WOULD BE PRINTED OUT AND THEN
119 THE PROGRAM WILL HALT.
124 5.1 PROGRAM AND/OR OPERATOR ACTION.
125 -------------------------------
127 THE PURPOSE OF THIS PROGRAM IS TO DETECT OPERATION ERRORS
128 IN THE KE-8 HARDWARE. UPON DETECTION OF AN ERROR, THE
129 PROGRAM EITHER HALTS, OR GIVES AN ERROR PRINTOUT DE-
130 PENDING ON THE SETTING OF SR 0 AND 2.
132 5.2 ERROR HALTS AND DESCRIPTION
133 ---------------------------
135 LOC 0236 MQL FAILED TO CLEAR THE AC OR THE LINK WAS CLEARED.
137 LOC 0447 MQL FAILED TO CLEAR THE AC OR THE LINK WAS SET.
139 LOC 0562 MQL FAILED TO LOAD THE MQ OR MQA FAILED TO LOAD
142 LOC 0727 MQL FAILED TO LOAD THE MQ OR MQA FAILED TO LOAD
145 LOC 1054 MQA FAILED TO "INCLUSIVE OR" THE MQ WITH THE AC.
147 LOC 1222 MQA FAILED TO "INCLUSIVE OR" THE MQ WITH THE AC.
149 LOC 1301 SAM INSTRUCTION FAILED.
151 LOC 1414 SAM INSTRUCTION FAILED.
153 LOC 1477 SHL INSTRUCTION FAILED.
155 LOC 1631 SHL INSTRUCTION FAILED.
157 LOC 1716 LSR INSTRUCTION FAILED.
159 LOC 2031 LSR INSTRUCTION FAILED.
161 LOC 2116 ASR INSTRUCTION FAILED.
163 LOC 2231 ASR INSTRUCTION FAILED.
165 LOC 2516 DPSZ INSTRUCTION FAILED.
167 LOC 2637 DPIC INSTRUCTION FAILED.
169 LOC 2703 DPIC INSTRUCTION FAILED.
171 LOC 3014 DCM INSTRUCTION FAILED.
173 LOC 3124 DAD INSTRUCTION FAILED.
175 LOC 3274 DAD INSTRUCTION FAILED.
177 LOC 3434 DST INSTRUCTION FAILED.
179 LOC 3531 DST INSTRUCTION FAILED.
181 LOC 3653 NORMALIZE INSTRUCTION FAILED.
183 LOC 4336 NORMALIZE INSTRUCTION FAILED.
185 LOC 4520 NORMALIZE INSTRUCTION FAILED.
187 LOC 4605 EAE NOP SKIPPED.
189 LOC 4610 EAE NOP MODIFIED THE AC.
191 LOC 4614 EAE NOP MODIFIED THE MQ.
193 LOC 4622 EAE CLA SKIPPED.
195 LOC 4624 EAE CLA FAILED TO CLEAR THE AC.
197 LOC 4630 EAE CLA MODIFIED THE MQ.
199 LOC 4637 AC OR MQ NOT CLEARED BY CAM.
207 LOC 4710 DLD (CAM DAD) FAILED.
209 LOC 4715 DLD (CAM DAD) FAILED.
211 LOC 4736 DDZ (CAM DST) FAILED.
215 LOC 4752 "B" MODE NORMALIZE FAILED TO CLEAR AC.
217 LOC 5004 CLEAR KEY FAILED TO SET "MODE A" OR DPSZ FAILED.
219 LOC 5010 SWAB FAILED TO SET "MODE B" OR DPSZ FAILED.
221 LOC 5015 SWBA FAILED TO SET "MODE A".
223 LOC 5023 CAF FAILED TO SET "MODE A".
225 LOC 5031 SCL OR SCA ERROR.
239 LOC 5163 ACS INSTRUCTION FAILED
244 LOC 5220 RTF INSTRUCTION FAILED TO SET GT FLAG TO 0 OR
245 GTF FAILED TO GET IT.
247 LOC 5230 RTF INSTRUCTION FAILED TO SET GT FALG TO 1 OR
248 GTF FAILED TO GET IT.
250 LOC 5236 SGT SKIPPED WITH GT FLAG NOT SET.
252 LOC 5243 SGT FAILED TO SKIP WITH GT FLAG SET.
254 LOC 5252 SWBA FAILED TO CLEAR THE GT FLAG.
267 MQLT MQL INSTRUCTION TEST WITH LINK SET TO A 1.
268 AC THE ORIGINAL C(AC) AND C(L).
269 0-AC C(AC) AND C(L) AFTER THE MQL INSTRUCTION WAS
271 NOTE THAT BIT 11 OF AC SHOULD EQUAL 0.
278 MQLT MQL INSTRUCTION TEST WITH LINK SET TO A 0.
279 AC THE ORIGINAL C(AC) AND C(L)
280 0-AC C(AC) AND C(L) AFTER THE MQL INSTRUCTION
282 NOTE THAT BIT 11 OF THE AC SHOULD EQUAL 0.
293 MQAT MQA MQL INSTRUCTION TEST WITH THE LINK SET
295 AC THE ORIGINAL C(AC) AND C(L).
296 MQL MQA THE C(AC) AND C(L) AFTER THE EXECUTION OF
297 AN MQL INSTRUCTION FOLLOWED BY AN MQA IN-
298 STRUCTION. NOTE THAT BIT 11 OF THE AC SHOULD
307 MQAT1 MQL,MQA INSTRUCTION TEST WITH THE LINK SET TO A 0.
308 AC THE ORIGINAL C(AC) AND C(L).
309 MQL,MQA THE C(AC) AND C(L) AFTER THE EXECUTION OF AN MQL
310 INSTRUCTION FOLLOWED BY AN MQA INSTRUCTION.
311 NOTE THAT THE C(AC) SHOULD BE 4000.
320 MQAT2 MQA INSTRUCTION TEST.
321 AC ORIGINAL C(AC) AND C(L).
323 MQVAC THE C(AC) AND C(L) AFTER THE EXECUTION OF AN MQA
325 NOTE THAT THE C(AC) SHOULD BE 7777.
334 MQAT3 MQA INSTRUCTION TEST.
335 AC ORIGINAL C(L) AND C(AC).
337 MQVAC THE C(AC) AND THE C(L) AFTER THE EXECUTION
338 OF AN MQA INSTRUCTION.
339 NOTE THAT THE C(AC) SHOULD BE 7777.
344 SAM TEST 0 (OR 1) MODE B
346 C(L) C(AC) C(MQ) C(GT) C(SC)
348 PROBLEM 1 000000111111 000001000000 0 000000000000
349 SIMULATED 0 000000000001 000001000000 1 000000000000
350 ACTUAL 0 000000000000 000001000000 1 000000000000
352 PROBLEM THE CONTENTS OF THE REGISTERS PRIOR TO ISSUING
354 SIMULATED WHAT THE RESULTS SHOULD BE.
355 ACTUAL WHAT THE RESULTS WERE FROM THE EXECUTION OF
357 NOTE THAT AC SHOULD BE 0001 IN THE "ACTUAL".
362 SHL TEST 0 (OR 1) 0003 SHIFTS MODE A (OR B)
364 C(L) C(AC) C(MQ) C(GT) C(SC)
366 PROBLEM 1 000100100001 000100000001 0 000000000010
367 SIMULATED 0 100100001000 100000001000 0 000000000000
368 ACTUAL 0 100100000000 100000001000 0 000000000000
370 PROBLEM THE CONTENTS OF THE REGISTERS PRIOR TO ISSUING AN
371 SHL INSTRUCTION. THE NUMBER CONTAINED IN C(SC) IS
372 THE CONTENTS OF THE ADDRESS FOLLOWING THE SHL
374 SIMULATED WHAT THE RESULTS SHOULD BE.
375 ACTUAL WHAT THE RESULTS WERE FROM THE EXECUTION OF AN
381 LSR TEST 1 (OR 0) 0004 SHIFTS MODE B (OR A)
383 C(L) C(AC) C(MQ) C(GT) C(SC)
385 PROBLEM 1 000000111111 000000001111 0 000000000100
386 SIMULATED 0 000000000011 111100000000 1 000000011111
387 ACTUAL 0 000000000011 111100000000 0 000000011111
389 PROBLEM THE CONTENTS OF THE REGISTERS PRIOR TO ISSUING AN
390 LSR INSTRUCTION. THE NUMBER CONTAINED IN C(SC)
391 IS THE CONTENTS OF THE ADDRESS FOLLOWING THE LSR
393 SIMULATED WHAT THE RESULTS SHOULD BE.
394 ACTUAL WHAT THE RESULTS WERE FROM THE EXECUTION OF AN
396 NOTE THAT THE C(GT) SHOULD BE 1 IN THE "ACTUAL".
401 ASR TEST 0 (OR 1) 0002 SHIFTS MODE B (OR A)
403 C(L) C(AC) C(MQ) C(GT) C(SC)
405 PROBLEM 0 000000000110 000000100001 1 000000000010
406 SIMULATED 1 110000000001 100000001000 0 000000011111
407 ACTUAL 1 110000000001 000000001000 0 000000011111
409 PROBLEM THE CONTENTS OF THE REGISTERS PRIOR TO ISSUING
410 AN ASR INSTRUCTION. THE NUMBER CONTAINED IN C(SC)
411 IS THE CONTENTS OF THE ADDRESS FOLLOWING THE ASR
413 SIMULATED WHAT THE RESULTS SHOULD BE.
414 ACTUAL WHAT THE RESULTS WERE FROM THE EXECUTION OF AN
416 NOTE THAT THE C(MQ) SHOULD BE 4010 IN THE "ACTUAL".
425 C(L) C(AC) C(MQ) C(GT) C(SC)
427 PROBLEM 0 000000000000 000000000000 0 000000000000
428 SIMULATED 0 000000000000 000000000000 0 000000000000
429 ACTUAL 0 000000000000 000000000000 0 000000000000
431 PROBLEM THE CONTENTS OF THE REGISTERS PRIOR TO ISSUING A
433 SIMULATED WHAT THE REGISTERS SHOULD BE AFTER ISSUING THE
435 ACTUAL WHAT THE REGISTERS WERE AFTER ISSUING THE DPSZ
437 NOTE WITH AC ANC MQ BOTH ZERO A SKIP FAILED TO
444 C(L) C(AC) C(MQ) C(GT) C(SC)
446 PROBLEM 0 000000000000 000000000001 0 000000000000
447 SIMULATED 0 000000000000 000000000000 0 000000000000
448 ACTUAL 0 000000000000 000000000000 0 000000000000
450 PROBLEM THE CONTENTS OF THE REGISTER PRIOR TO ISSUING A
452 SIMULATED WHAT THE REGISTERS SHOULD BE AFTER ISSUING THE
454 ACTUAL WHAT THE REGISTERS WERE AFTER ISSUING THE DPSZ
456 NOTE WITH MQ NON ZERO A SKIP OCCURRED.
462 C(L) C(AC) C(MQ) C(GT) C(SC)
464 PROBLEM 0 000000000001 000000000000 0 000000000000
465 SIMULATED 0 000000000001 000000000000 0 000000000000
466 ACTUAL 0 000000000000 000000000000 0 000000000000
468 PROBLEM THE CONTENTS OF THE REGISTERS PRIOR TO ISSUING A
470 SIMULATED WHAT THE REGISTERS SHOULD BE AFTER ISSUING THE
472 ACTUAL WHAT THE REGISTERS WERE AFTER ISSUING THE DPSZ
474 NOTE THAT THE C(AC) SHOULD BE 0001 IN THE "ACTUAL".
479 DPIC TEST 0 (OR 1) MODE B
481 C(L) C(AC) C(MQ) C(GT) C(SC)
483 PROBLEM 1 000000000000 000000000000 0 000000000000
484 SIMULATED 0 000000000000 000000000001 0 000000000000
485 ACTUAL 0 000000000000 000000000000 0 000000000000
487 PROBLEM THE CONTENTS OF THE REGISTERS PRIOR TO ISSUING A
489 SIMULATED WHAT THE REGISTERS SHOULD BE AFTER THE ISSUING
490 OF A DPIC INSTRUCTION.
491 ACTUAL WHAT THE REGISTERS WERE AFTER ISSUING THE DPIC
493 NOTE THAT THE C(AC) SHOULD BE 0001 IN THE "ACTUAL".
498 DCM TEST 0 (OR 1) MODE B
502 PROBLEM 1 000000000000 000000000001 0 000000000000
503 SIMULATED 0 111111111111 111111111111 0 000000000000
504 ACTUAL 0 111111111111 111111111110 0 000000000000
506 PROBLEM THE CONTENTS OF THE REGISTERS PRIOR TO ISSUING A
508 SIMULATED WHAT THE REGISTERS SHOULD BE AFTER THE ISSUING OF
510 ACTUAL WHAT THE REGISTERS WERE AFTER ISSUING THE DCM
512 NOTE THAT THE C(MQ) SHOULD BE 7777.
517 DAD TEST 0 (OR 1) MODE B
519 C(L) C(AC) C(MQ) C(GT) C(SC)
521 PROBLEM 0 000000011111 000011110101 0 000000000000
522 TO BE ADDED 111111100000 111100001010
523 SIMULATED 0 111111111111 111111111111 0 000000000000
524 ACTUAL 0 111111111111 111111111110 0 000000000000
526 PROBLEM THE CONTENTS OF THE REGISTERS PRIOR TO ISSUING
528 TO BE ADDED THE CONTENTS OF THE TWO ADDRESS TO BE ADDED TO
530 SIMULATED WHAT THE REGISTERS SHOULD BE AFTER THE ISSUING
532 ACTUAL WHAT THE REGISTERS WERE AFTER ISSUING THE DAD
534 NOTE THAT C(MQ) SHOULD BE 7777 IN THE ACTUAL.
539 DST TEST 0 (OR 1) MODE B
541 REG BEFORE DST AFTER DST
544 C(AC) 111111111111 111111111111
546 C(MQ) 111110111110 111110111110
549 BEFORE DST THE CONTENTS OF THE REGISTERS BEFORE ISSUING A
551 AFTER DST WHAT THE REGISTERS WERE AFTER ISSUING THE DST
553 MSH IS WHAT DST STORED FOR THE AC.
554 LSH IS WHAT DST STORED FOR THE MQ
555 NOTE THAT THE C(MSH) SHOULD BE 7777.
557 5.3.12 NORMALIZE TESTS
560 NMIT C(AC) C(MQ) MODE A (OR B)
562 000000000000 010101010101
563 NMI 010101010100 000000000000
567 NMIT NORMALIZE AND STEP COUNTER TEST. ORIGINAL C(AC) AND
572 NMI C(AC) AND C(MQ) AFTER THE NMI INSTRUCTION WAS EXECUTED.
574 SCAT THE CORRECT COUNT OF THE STEP COUNTER AFTER THE NORMALIZE
575 INSTRUCTION WAS EXECUTED.
577 SCA THE ACTUAL COUNT IN THE STEP COUNTER AS READ INTO THE AC
578 BY THE SCA INSTRUCTION AFTER THE NORMALIZE INSTRUCTION
581 NOTE THAT BIT 11 OF AC IN ERROR. C(AC) SHOULD EQUAL TO 2525.
583 5.4 TABLE OF INSTRUCTIONS
584 ---------------------
586 THE FOLLOWING TABLE CONTAINS THE TEST MNEMONICS, STARTING ADDRESS,
587 ERROR HALT ADDRESS AND INSTRUCTION TESTED.
590 MNEMONIC INSTRUCTIONS ADDRESS HALT
591 -------- ------------ -------- -----
595 MQAT MQL,MQA 0503 0562
596 MQAT1 MQL,MQA 0650 0727
607 DPSZS0 DPSZ 2246 2516
608 DPITS0 DPIC 2600 2637
609 DPITS1 DPIC 2653 2703
615 NORMT NMI,SCA 3600 3653
616 NORMT1 NMI,SCA 4200 4336
618 COMTST NOP,CLA,ACL,CAM 4600 4605-4744
620 MDTST DPSZ,SWAB,SWBA 0200 5004-5023
621 TSCL SCL,ACS 0200 5031-5210
622 GTTST GTF,RTF,SGT 0200 5220-5252
627 THE KE8 EAE INSTRUCTION TEST 1, TESTS THE FOLLOWING EXTENDED
628 ARITHMETIC ELEMENT INSTRUCTIONS:
630 MQL, MQA, SHL, LSR, ASR, DPSZ, DPIC, DCM, DAD,
631 DST, NMI, SWAB, SWBA, SGT, RTF, AND GTF.
633 THE EXTENDED ARITHMETIC ELEMENT IS TESTED USING PATTERNS
634 NECESSARY TO DETECT AND ISOLATE ERRORS. IF A FAILURE DOES OCCUR,
635 THE TEST WILL PRINTOUT THE ERROR INFORMATION AND/OR HALT AT A
636 PREDETERMINED ERROR HALT ACCORDING TO THE SR SETTING.
641 ONE COMPLETE PROGRAM PASS TAKES APPROXIMATELY 6 MINUTES AND AT
642 THE END OF EACH PASS "KE8 1" WILL BE PRINTED OUT ON THE TELETYPE.