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-D0MB-D
25 PRODUCT TEST: KE8-E (EAE) INSTRUCTION TEST 2
28 DATE CREATED: FEBRUARY 9, 1972
30 MAINTAINER: DIAGNOSTIC GROUP
36 DIGITAL EQUIPMENT CORPORATION
41 THE PDP-8/E EAE (KE8-E) MULTIPLY-DIVIDE TEST, TESTS AND EXERCISES
42 THE MULTIPLY AND DIVIDE HARDWARE OF THE KE8-E OPTION. FIXED
43 NUMBERS WITH PREDETERMINED SOLUTIONS, AND RANDOM NUMBERS
44 WITH SIMULATED SOLUTIONS ARE USED. THE ABILITY TO OPERATE
45 WITH THE INTERRUPT ENABLED IS ALSO TESTED.
52 PDP-8/E OR /M PROCESSOR, KE8-E OPTION, AND AN ASR 33/35
53 TELETYPE ARE REQUIRED.
57 LOCATIONS 0000 THROUGH 7570 ARE USED.
59 2.3 PRELIMINARY PROGRAMS
62 ALL PROCESSOR RELATED TEST PROGRAMS MUST HAVE BEEN RUN
63 SUCCESSFULLY. THIS PROGRAM ASSUMES THAT THE PROCESSOR AND TELE-
64 TYPE ARE OPERATING CORRECTLY, AND THAT ALL OTHER KE8-E INSTRUCTIONS
65 OTHER THAN "MUY" AND "DVI" HAVE BEEN TESTED AND OPERATE CORRECTLY.
73 THE BINARY LOADER IS USED TO LOAD THE PROGRAM INTO ANY DESIRED
79 4.1 CONTROL SWITCH SETTINGS
80 -----------------------
82 SR0=1 HALT AFTER CURRENT ROUTINE. PROGRAM HALTS AT THE
83 COMPLETION OF THE CURRENT TEST ROUTINE. THE COMPLETED
84 ROUTINE NUMBER IS DISPLAYED IN THE AC.
86 SR1=0 SELECT MODE OF OPERATION ACCORDING TO SR10 AND SR11.
88 SR1=1 SELECT THE ROUTINE NUMBER WHICH IS IN SR9-11. IF
89 WHILE RUNNING THE PROGRAM SR1 IS SET TO A "1", THE
90 PROGRAM WILL HALT WITH THE CURRENT ROUTINE NUMBER
91 DISPLAYED IN THE AC. TO SELECT A NEW ROUTINE AT THIS
92 POINT, PLACE THE NEW DESIRED ROUTINE IN SR9-11 AND PRESS
93 CONTINUE, THE NEW ROUTINE NUMBER WILL NOW BE
96 SR2=1 LOOP ROUTINE. CURRENT ROUTINE IS REPEATED.
98 SR3=1 LOOP PROGRAM. ENTIRE PROGRAM IS REPEATED.
100 SR4=1 LOCK ON TEST. THE TEST CURRENTLY BEING EXECUTED
103 SR5=0 PRINT ON ERROR.
107 SR6=1 HALT AFTER PRINT. PROGRAM HALTS AFTER ERROR
110 SR7=1 PRINT FAILURE RATE. THE PROGRAM PRINTS THE NUMBER
111 OF FAILURES PER HUNDRED REPETITIONS OF THE SAME
112 TEST. PROGRAM HALTS AFTER THE PRINTOUT. SR5 MUST
113 BE SET FOR THE PRINTOUT TO OCCUR.
115 SR8=1 PRINT SIMULATION AND/OR ENTER SCOPE LOOP. FOR
116 ROUTINES 0 AND 1 PROGRAM PRINTS MULTIPLY SIMULATION
117 AND ENTERS MULTIPLY SCOPE LOOP. FOR ROUTINES 2
118 AND 3 THE PROGRAM PRINTS DIVIDE SIMULATION AND
119 ENTERS THE DIVIDE SCOPE LOOP. FOR ROUTINES 4
120 THROUGH 7 PROGRAM ENTERS THE EXERCISER SCOPE LOOP
121 FOR THE INDIVIDUAL ROUTINE. SR5 MUST BE SET TO 0
122 FOR THIS OPTION TO BECOME ACTIVE.
125 WITH X 0 0 EXECUTE EACH ROUTINE IN "A" AND "B" MODES.
126 SR1=0 X 0 1 EXECUTE EACH ROUTINE IN "A" AND "B" MODES.
127 X 1 0 SELECT "A" MODE.
128 X 1 1 SELECT "B" MODE.
131 WITH 0 0 0 SELECT ROUTINE 0. FIXED MULTIPLY TEST.
132 SR1=1 0 0 1 SELECT ROUTINE 1. RANDOM MULTIPLY TEST.
133 0 1 0 SELECT ROUTINE 2. FIXED DIVIDE TEST.
134 0 1 1 SELECT ROUTINE 3. RANDOM DIVIDE TEST.
135 1 0 0 SELECT ROUTINE 4. MULTIPLY/DIVIDE EXERCISE TEST.
136 1 0 1 SELECT ROUTINE 5. MULTIPLY/DIVIDE EXERCISE TEST.
137 1 1 0 SELECT ROUTINE 6. MULTIPLY/DIVIDE EXERCISE TEST.
138 1 1 1 SELECT ROUTINE 7. MULTIPLY/DIVIDE EXERCISE TEST.
143 THIS PROGRAM STARTS AT LOCATION 0200.
145 4.3 PROGRAM AND/OR OPERATOR ACTION
146 ------------------------------
148 WITH THE PROGRAM LOADED IN CORE PROCEED AS FOLLOWS:
150 A. INSURE TELETYPE IS ON-LINE.
152 B. LOAD ANY PAPER TAPE IN THE TELETYPE READER AND TURN
154 IF AN ERROR OCCURS, TURN THE TELETYPE READER OFF TO
155 DETERMINE IF THE CAUSE WAS FROM INTERRUPT INTERACTION.
157 C. LOAD ADDRESS 0200. PRESS CLEAR AND CONTINUE.
159 D. PROGRAM HALTS AT LOCATION 0201.
161 E. SET ANY DESIRED OPTIONS IN SR AND PRESS CONTINUE.
162 IF SR1 WAS SET THE PROGRAM WILL HALT AT LOCATION
163 4574 WITH THE SELECTED ROUTINE NUMBER IN THE AC.
164 SET SR1=0 AND SELECT THE DESIRED MODE OF OPERATION
165 IN SR10 AND 11, THEN PRESS CONTINUE.
167 F. THE PROGRAM WILL HALT AT PROGRAM END HALT (LOCATION 0250)
168 AFTER THE LAST ROUTINE HAS BEEN EXECUTED, PROVIDED NO
169 LOOP OPTIONS HAVE BEEN SET.
172 FOR A NORMAL PROGRAM RUN, SET SR SWITCHES
173 TO 0000. PROGRAM WILL RUN FROM START TO
174 FINISH, EXECUTING EACH ROUTINE IN "A" AND
175 "B" MODES, PRINTING ALL ERRORS AS THEY
178 5. OPERATING PROCEDURE
181 5.1 PROGRAM AND/OR OPERATOR ACTION
182 ------------------------------
184 5.1.1 NORMAL PROGRAM HALTS
187 LOCATION 0201 START HALT. THIS HALT OCCURS AT THE START
188 OF THE PROGRAM TO PERMIT SETTING OF SR
189 OPTIONS. SET ANY DESIRED OPTIONS IN THE SR
192 LOCATION 0251 PROGRAM END HALT. THIS HALT OCCURS UPON
193 COMPLETION OF LAST ROUTINE, IF THE LOOP PROGRAM
194 OPTION IS NOT SET. SET ANY DESIRED OPTIONS IN
195 THE SR AND PRESS CONTINUE.
197 LOCATION 0301 ROUTINE HALT. THIS HLT OCCURS AT THE
198 COMPLETION OF THE CURRENT ROUTINE IF SR0 IS
199 SET. PRESSING CONTINUE RESUMES THE PROGRAM.
201 LOCATION 0320 ROUTINE SELECT HALT. THIS HALT OCCURS IF
202 WHILE RUNNING THE PROGRAM SR1 IS SET. THE
203 ROUTINE PRESENTLY BEING EXECUTED IS DISPLAYED
204 IN THE AC. IF A NEW ROUTINE IS TO BE SELECTED
205 LEAVE SR1 SET AND PLACE THE NEW ROUTINE NUMBER
206 IN SR9-11 AND PRESS CONTINUE. IF NO NEW ROUTINE
207 IS DESIRED SET SR1=0 AND THE DESIRED MODE OF
208 OPERATION IN SR10 AND 11 AND PRESS CONTINUE.
209 THE PROGRAM WILL START EXECUTION WITH ROUTINE 0.
211 LOCATION 4574 MODE SELECTION HALT. THIS HALT OCCURS AS THE
212 RESULT OF SELECTING A ROUTINE. SET SR1=0 AND
213 SELECT THE DESIRED MODE OF OPERATION IN SR10
214 AND 11. PRESS CONTINUE.
219 6.1 PROGRAM AND/OR OPERATION ACTION
220 --------------------------------
222 THE PURPOSE OF THIS PROGRAM IS TO DETECT OPERATION ERRORS
223 IN THE MULTIPLY-DIVIDE HARDWARE. UPON DETECTION OF AN ERROR, THE
224 PROGRAM EITHER HALTS, OR GIVES AN ERROR PRINTOUT DEPENDING ON THE
226 IN ORDER TO AID IN PINPOINTING THE CAUSE OF AN ERROR, ADD-
227 ITIONAL SR OPTIONS ARE AVAILABLE TO THE USER.
229 SR6, HALT AFTER PRINT OPTION. HALTS THE PROGRAM TO PERMIT USER
230 TO EXAMINE THE LATEST ERROR AND DETERMINE IF IT IS THE ONE HE WISHES
233 SR7, PRINT FAILURE RATE OPTION. INFORMS THE USER OF THE
234 FREQUENCY OF AN ERROR. A HIGH RATE OF FAILURE ERROR SHOULD BE EASIER
235 TO TROUBLE SHOOT THAN AN INTERMITTENT ERROR. IF THE USER WISHES
236 TO TROUBLESHOOT USING THE PRESENT SET OF SYMPTOMS, HE CAN THEN SET SR8.
238 SR8, PRINT SIMULATION AND ENTER SCOPE LOOP OPTION, CAUSES PRINTOUT
239 OF THE CORRECT CONTENTS OF THE LINK, AND OF THE AC AND MQ REGISTERS
240 FOR EACH COUNT OF THE STEP COUNTER. FOLLOWING THE SIMULATION PRINTOUT
241 THE PROGRAM ENTERS A MULTIPLY OR DIVIDE SCOPE LOOP, DEPENDING ON THE
242 ROUTINE CURRENTLY IN EXECUTION. ROUTINES 4 THROUGH 7 DO NOT GIVE A
243 SIMULATION PRINTOUT, BUT MERELY ENTER THEIR RESPECTIVE SCOPE LOOPS.
245 NO PRINTOUTS WILL OCCUR UNLESS SR5 IS SET TO 0.
247 IF SR5 IS SET TO HALT ON ERROR, AND THE USER WISHES TO
248 OBTAIN PRINTOUTS FOR THE CURRENT FAILURE HE MAY OBTAIN THEM BY
249 SETTING SR5 TO 0. (TO PRINT POSITION).
251 6.2 ERROR HALTS AND DESCRIPTION
252 ---------------------------
254 LOC 1310 MULTIPLY ERROR HALT. THE AC DISPLAYS NUMBER
255 OF ROUTINE WHERE FAILURE OCCURRED. (ROUTINE
256 0 OR 1.) PRESS CONTINUE TO RESUME TESTING, OR
257 SET SR5 TO 0 TO OBTAIN ERROR PRINTOUTS.
259 LOC 1511 DIVIDE ERROR HALT. THE AC DISPLAYS NUMBER OF
260 ROUTINE WHERE FAILURE OCCURRED. (ROUTINE
261 2 OR 3.) PRESS CONTINUE TO RESUME TESTING, OR
262 SET SR5 TO 0 TO OBTAIN ERROR PRINTOUTS.
264 LOC 4327 MULTIPLY/DIVIDE EXERCISE ERROR HALT. THE AC
265 DISPLAYS NUMBER OF ROUTINE WHERE FAILURE
266 OCCURED (ROUTINES 4,5,6,OR 7). PRESS CONTINUE
267 TO RESUME TESTING, OR SET SR5 TO 0 TO OBTAIN
270 LOC 1044 UNEXPECTED INTERRUPT HALT. A DEVICE OTHER THAN
271 TELETYPE READER OR PRINTER HAS INTERRUPTED. TURN
272 OFF DEVICE. PRESS CONTINUE.
277 6.3.1 MULTIPLICATION FAILURE ERROR PRINTOUTS
278 ---------------------------------------
280 MUYERR L C(AC) C(MQ) C(MB) MODE "X"
282 PROB 0 000000000000 101000100001 111100000110
284 GOOD 0 100110000010 101111000110 111100000110
285 BAD 0 100101000010 101111000110 111100000110
289 B- ERRORS PER HUNDRED: 0100
293 SC0 0 000000000000 101000100001
294 SC1 0 011110000011 101000010000
295 SC2 0 001111000001 101010001000
296 SC3 0 000111100000 011010100010
297 SC4 0 000011110000 011010100010
298 C- SC5 0 000001111000 001101010001
299 SC6 0 011110111111 000110101000
300 SC7 0 001111010000 100011010100
301 SC8 0 000111101111 110001101010
302 SC9 0 000011110111 111000110101
303 SC10 0 011111111110 111100011010
304 SC11 0 001111111111 011110001101
306 FNRSLT 0 100110000010 101111000110
308 PRINTOUTS A,B,AND C ARE SHOWN IN THE ORDER IN WHICH THEY
309 OCCUR. PRINTOUTS B AND C DO NO OCCUR WITHOUT PRINTOUT A.
311 PRINTOUT A OCCURS AFTER A MULTIPLICATION FAILURE IF SR5 IS
312 OFF. OTHERWISE, THE PROGRAM STOPS AT MUYERR HALT. THIS
313 PRINTOUT OCCURS IN ROUTINES 0 AND 1 ONLY.
315 MUYERR =MULTIPLICATION ERROR; MODE OF OPERATION
316 PROB =ORIGINAL C(L), C(AC), C(MQ), C(MB)
317 GOOD =CORRECT C(L), C(AC), C(MQ), C(MB) RESULTS
318 BAD =INCORRECT C(L), C(AC), C(MQ), C(MB) RESULTS
319 SCA =CONTENTS OF STEP COUNTER AFTER EXECUTION OF
322 PRINTOUT B INDICATES THE NUMBER OF ERRORS PER 100 TRIES. SR7
323 MUST BE ON TO OBTAIN THIS PRINTOUT.
325 PRINTOUT C IS A STEP BY STEP DISPLAY OF WHAT THE CORRECT
326 CONTENTS OF THE LINK, AC AND MQ SHOULD BE DURING EXECUTION OF EACH
327 FAILING MULTIPLY OPERATION. EACH LINE DISPLAYS THE CONTENTS OF THE
328 REGISTERS AT THE START OF EACH STEP COUNTER COUNT. AN ADDITIONAL
329 LINE LABELED FNRSLT IS PRINTED AFTER SC11 TO DISPLAY THE FINAL REGISTER
330 CONTENTS AT END OF STEP COUNT 11. SR8 MUST BE ON TO OBTAIN THIS
333 UPON TERMINATION OF THE PRINTOUT, THE PROGRAM ENTERS A SCOPE
334 LOOP THAT CONTINUOUSLY EXECUTES THE FAILING MULTIPLY OPERATION, IN
335 ORDER TO PERMIT SCOPING OF THE REGISTERS.
337 6.3.2 DIVISION FAILURE ERROR PRINTOUTS
338 --------------------------------
340 DIVERR L C(AC) C(MQ) C(MB) MODE "X"
342 PROB 0 000000000111 000111000111 000000001000
344 GOOD 0 000000000111 111000111000 000000001000
345 BAD 0 000000000111 111000111000 000000001000
349 B- ERRORS PER HUNDRED: 0100
353 SC0 0 000000000111 000111000111
354 SC1 0 000000000001 001110001110
355 SC2 0 000000001100 011100011101
356 SC3 1 111111110111 111000111011
357 C- SC4 1 111111111110 110001110111
358 SC5 0 000000001100 100011101110
359 SC6 1 111111110111 000111011100
360 SC7 1 111111111110 001110111000
361 SC8 0 000000001100 011101110001
362 SC9 1 111111110111 111011100011
363 SC10 1 111111111110 110111000111
364 SC11 0 000000001100 101110001110
365 SC12 1 111111110111 011100011100
366 SC13 1 111111111111 111000111000
368 FNRST 0 000000000111 111000111000
370 PRINTOUTS A,B, AND C ARE SHOWN IN THE ORDER IN WHICH THEY
371 OCCUR. PRINTOUTS B AND C DO NOT OCCUR WITHOUT PRINTOUT A.
373 PRINTOUT A OCCURS AFTER A DIVISION FAILURE IF SR5 IF OFF.
374 OTHERWISE, THE PROGRAM STOPS AT DIVERR HALT. THIS PRINTOUT
375 OCCURS IN ROUTINES 2 AND 3 ONLY.
377 DIVERR =DIVISION ERROR; MODE OF OPERATION
378 PROB =ORIGINAL C(L), C(AC), C(MQ), C(MB)
379 GOOD =CORRECT C(L), C(AC), C(MQ), C(MB) RESULTS
380 BAD =INCORRECT C(L), C(AC), C]Q), C(MB) RESULTS
381 SCA =CONTENTS OF STEP COUNTER AFTER EXECUTION
384 PRINTOUT B INDICATES THE NUMBER OF ERRORS PER 100 TRIES. SR7
385 MUST BE ON TO OBTAIN THIS PRINTOUT.
387 PRINTOUT C IS A STEP BY STEP DISPLAY OF WHAT THE CORRECT
388 CONTENTS OF THE LINK, AC, AND MQ SHOULD BE DURING EXECUTION
389 OF THE FAILING DIVIDE OPERATION. EACH LINE DISPLAYS THE
390 CONTENTS OF THE REGISTERS AT THE START OF EACH STEP COUNTER
391 COUNT. AN ADDITIONAL LINE LABELED FNRSLT IS PRINTED AFTER
392 SC0 IN CASE OF DIVIDE OVERFLOW, OR AFTER SC13 IN CASE OF A
393 NORMAL DIVIDE OPERATION TO DISPLAY THE FINAL CONTENTS OF THE
394 REGISTERS AT END OF LAST STEP COUNT. SR8 MUST BE ON TO
397 UPON TERMINATION OF THE PRINTOUT, THE PROGRAM ENTERS A SCOPE
398 LOOP THAT CONTINUALLY EXECUTES THE FAILING DIVIDE OPERATION,
399 IN ORDER TO PERMIT SCOPING OF THE REGISTERS.
401 6.3.3 MULTIPLY DIVIDE EXERCISER ERROR PRINTOUTS
402 -----------------------------------------
407 EXERR L C(AC) C(MQ) MODE "X"
409 GOOD 0 000000000000 111010100011
410 BAD 1 011111000011 101110010010
412 B- ERRORS PER HUNDRED: 0100
417 EXERR L C(AC) C(MQ) MODE "X"
419 GOOD 0 000000000000 001001011000
420 BAD 0 100011100111 000100100011
422 D- ERRORS PER HUNDRED: 0000
427 EXERR L C(AC) C(MQ) MODE "X"
429 GOOD 0 000000000000 001001011000
430 BAD 0 001001010110 000111110011
432 F- ERRORS PER HUNDRED: 0100
434 PROB AXB\BXB\AXA\AXA\B=A
437 EXERR L C(AC) C(MQ) MODE "X"
440 GOOD 0 000000000000 111010100011
441 BAD 0 011010001100 101110101101
443 H- ERRORS PER HUNDRED: 0100
445 PRINTOUTS B,D,F, AND H DO NOT OCCUR WITHOUT THEIR PRECEDING
446 PRINTOUTS. SR7 MUST BE ON FOR THESE PRINTOUTS TO OCCUR. THEY
447 INDICATE THE NUMBER OF TIMES A PROBLEM FAILED PER 100 TRIES.
449 PRINTOUT A OCCURS DURING EXECUTION OF ROUTINE 4.
451 PRINTOUT C OCCURS DURING EXECUTION OF ROUTINE 5.
453 PRINTOUT E OCCURS DURING EXECUTION OF ROUTINE 6.
455 PRINTOUT G OCCURS DURING EXECUTION OF ROUTINE 7.
457 SR5 MUST BE OFF FOR PRINTOUTS A,C,E, OR G TO OCCUR.
459 PRINTOUTS A,C,E, AND G HAVE THE FOLLOWING FORMAT:
461 PROB DESCRIPTION OF MULTIPLY-DIVIDE EXERCISE USED.
463 B=XXXX VALUES FOR A AND B USED DURING THE EXERCISE.
465 EXERR MULTIPLY-DIVIDE EXERCISER ERROR AND THE MODE
466 THAT FAILED. ("A" OR "B")
468 GOOD CORRECT C(L),C(AC), AND C(MQ) RESULTS.
470 BAD INCORRECT C(L),C(AC), AND C(MQ) RESULTS.
475 7.1 STARTING RESTRICTIONS
476 ---------------------
478 ONLY THOSE ADDRESSES GIVEN IN SECTION 4.2 SHOULD BE USED.
486 THE TELETYPE BELL WILL RING AT THE END OF 7 PROGRAM PASSES
487 WHICH IS APPROXIMATELY EVERY MINUTE AND "KE8 2" WILL BE PRINTED
488 OUT APPROXIMATELY EVERY 10 MINUTES.
490 8.2 OSCILLOSCOPE SETUP
493 THE FOLLOWING OSCILLOSCOPE SETUP IS RECOMMENDED FOR VIEWING REGISTER
494 BITS FOR A MULTIPLY OR DIVIDE PROBLEM.
496 TIME BASE - .5 US/DIV
497 SYNC - DRAWING M8340-0-1
503 NOTE: SYNC ON NEGATIVE SLOPE.
504 PROBE A - SAME AS SYNC.
505 PROBE B - LINK, AC, AND MQ FLIP-FLOPS.
507 9. PROGRAM DESCRIPTION
510 9.1 PROGRAM ORGANIZATION
513 THE PDP-8/E EAE (KE8-E) MULTIPLY-DIVIDE TEST IS ORGANIYED AS FOLLOWS:
515 A. CONTROL ROUTINE. THIS ROUTINE CONTROLS PROGRAM SEQUENCES BY
516 HONORING OPTIONS SET IN SR0 THROUGH SR4, AND SR9 THROUGH SR11.
520 C. TEST ROUTINES, EIGHT ROUTINES. ONE PROGRAM PASS CONSISTS
521 OF 7 PASSES THROUGH THESE ROUTINES.
523 9.2 MAJOR SUBROUTINES
526 THERE ARE THREE MAJOR SUBROUTINES. EACH OF THESE SUBROUTINES
527 IS CALLED ON BY ONE OR MORE TEST ROUTINES. THESE SUBROUTINES
528 CONTROL TESTING, ERROR DETECTION, ERROR PRINTOUTS, SIMULATION,
531 A. MULTIPLY TEST SUBROUTINE. CALLED ON BY TEST ROUTINES 0 AND 1.
532 THE CALLING ROUTINE PROVIDES THE ADDRESS OF A TABLE CONTAINING
533 MULTIPLICATION OPERANDS AND THE EXPECTED RESULTS, AND THE
534 NUMBER OF TESTS IN THE TABLE.
536 B. DIVIDE TEST SUBROUTINE. CALLED ON BY TEST ROUTINES 2 AND 3. THE
537 CALLING ROUTINE PROVIDES THE ADDRESS OF A TABLE CONTAINING
538 DIVISION OPERANDS AND THE EXPECTED RESULTS, AND THE NUMBER
539 OF TESTS IN THE TABLE.
541 C. MULTIPLY-DIVIDE EXERCISER TEST SUBROUTINE. CALLED ON BY TEST
542 ROUTINES 4, 5, 6, AND 7. THE CALLING ROUTINE MOVES 2
543 OPERANDS TO SYMBOLIC LOCATIONS A AND B, PROVIDES THE
544 SUBROUTINE WITH THE ADDRESS OF EXERCISE TO USE, AND THE
545 ADDRESS OF THE CORRECT RESULT.
550 THE PROGRAM CONTAINS EIGHT TEST ROUTINES NUMBERED FROM 0 THROUGH 7.
552 TEST ROUTINE 0. FIXED MULTIPLY TEST. MUY INSTRUCTION IS TESTED
553 USING 55 FIXED TESTS.
555 TEST ROUTINE 1. RANDOM MULTIPLY TEST. MUY INSTRUCITON IS TESTED
556 USING 500 TESTS WHOSE OPERANDS ARE DETERMINED AT RANDOM. THE
557 RESULTS OF THESE TESTS ARE DETERMINED THROUGH SIMULATION.
559 TEST ROUTINE 2. FIXED DIVIDE TEST. DVI INSTRUCTION IS TESTED
560 USING 40 FIXED TESTS.
562 TEST ROUTINE 3. RANDOM DIVIDE TEST. DVI INSTRUCTION IS TESTED
563 USING 333 TESTS WHOSE OPERANDS ARE DETERMINED AT RANDOM. THE RESULTS
564 OF THESE TESTS ARE DETERMINED THROUGH SIMULATION.
566 TEST ROUTINE 4. MULTIPLY/DIVIDE EXERCISE TEST. THE ROUTINE
567 GENERATES 700 SETS OF TWO NON-ZERO RANDOM NUMBERS. EACH SET OF
568 NUMBERS IS USED TO TEST THE ABILITY OF THE HARDWARE TO PERFORM
569 SUCCESSIVE MULTIPLY AND DIVIDE OPERATIONS. THIS ROUTINE CHECKS
570 FOR CORRECT RESULTS USING THE PROBLEM AXB/B=A.
572 TEST ROUTINE 5. MULTIPLY/DIVIDE EXERCISE TEST. USING THE NUMBER
573 SET GENERATED BY ROUTINE 4, THIS ROUTINE CHECKS FOR CORRECT
574 RESULTS USING THE PROBLEM AXB/BXB/A=B.
576 TEST ROUTINE 6. MULTIPLY/DIVIDE EXERCISE TEST. USING THE NUMBER
577 SET GENERATED BY ROUTINE 4, THIS ROUTINE CHECKS FOR CORRECT RESULTS
578 USING THE PROBLEM AXB/BXB/AXA/A=B.
580 TEST ROUTINE 7. MULTIPLY/DIVIDE EXERCISE TEST. USING THE NUMBER
581 SET GENERATED BY ROUTINE 4, THIS ROUTINE CHECKS FOR CORRECT
582 RESULTS USING THE PROBLEM AXB/BXB/AXA/AXA/B=A.
584 NOTE: IF THROUGH PROGRAM SEQUENCE MODIFICATION EITHER OF ROUTINES
585 5 THROUGH 7 IS EXECUTED PRIOR TO EXECUTION OF ROUTINE 4,
586 THE ROUTINE CURRENTLY BEING EXECUTED WILL GENERATE A NUMBER SET,
587 AND THE ROUTINE FOLLOWING WILL USE THIS NUMBER SET FOR
590 IN NORMAL OPERATION, ROUTINE 4 GENERATES A NUMBER SET
591 EVERY TIME IT IS EXECUTED, AND THE ROUTINES FOLLOWING
592 USE THE NUMBER SET GENERATED BY ROUTINE 4. THE REASON
593 THIS IS TO PERMIT EASIER ISOLATION OF A FAILURE.
595 ROUTINE 4 PERFORMS ONE MUY, AND ONE DVI INSTRUCTION.
596 ROUTINE 5 PERFORMS THE SAME MUY AND DVI INSTRUCTION,
597 PLUS ANOTHER MUY AND DVI INSTRUCTION. BY USING THE SAME
598 DATA, SHOULD A FAILURE OCCUR IN ROUTINE 5, THE FAILURE IS
599 THE LOCALIYED TO THE SECOND MUY OR SECOND DVI INSTRUCTION.