Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dfkda.txt
There are no other files named dfkda.txt in the archive.
;DFKDA







				IDENTIFICATION
				--------------

	PRODUCT CODE:		AH-F533E-DD

	DIAGNOSTIC CODE:	DFKDA

	PRODUCT NAME:	 	DFKDAE0 KL10 ARITHMETIC/RANDOM/INTERRUPT
				/MEMORY RELIABILITY TEST

	VERSION:		0.5

	DATE RELEASED:		SEPT 1984

	MAINTAINED BY:		36 BIT DIAGNOSTIC ENGINEERING

	AUTHOR:			BILL SCORZELLI

		        COPYRIGHT (C) 1976, 1984

	        DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

	THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR  USE  ONLY  ON  A
	SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLUSION
	OF THE ABOVE COPYRIGHT NOTICE.   THIS  SOFTWARE,  OR  ANY  OTHER
	COPIES  THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE
	TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO
	AGREES  TO  THESE  LICENSE TERMS.  TITLE TO AND OWNERSHIP OF THE
	SOFTWARE  SHALL  AT   ALL  TIMES  REMAIN  IN  DIGITAL  EQUIPMENT
	CORPORATION.

	THE INFORMATION IN THIS DOCUMENT IS SUBJECT  TO  CHANGE  WITHOUT
	NOTICE  AND  SHOULD  NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
	EQUIPMENT CORPORATION.

	DIGITAL EQUIPMENT CORPORATION ASSUMES NO  RESPONSIBILITY FOR THE
	USE  OR  RELIABILITY  OF  ITS SOFTWARE IN EQUIPMENT WHICH IS NOT
	SUPPLIED BY DIGITAL EQUIPMENT CORPORATION.
							MAINDEC-10-DFKDA.TXT
							PAGE 2


			TABLE OF CONTENTS
			-----------------

1.0	ABSTRACT

2.0	REQUIREMENTS

2.1	EQUIPMENT

2.2	STORAGE

2.3	PRELIMINARY PROGRAMS

3.0	PROGRAM PROCEDURES

3.1	LOADING PROCEDURE

3.2	STARTING PROCEDURE

3.3	OPERATING PROCEDURE

4.0	DATA SWITCH FUNCTIONS

5.0	ERRORS

6.0	PROGRAM DESCRIPTION

7.0	ITERATION COUNTER

8.0	CYCLE TIME

9.0	OPERATIONAL VARIATIONS

10.0	MISCELLANEOUS

11.0	SIMULATOR

12.0	HISTORY

13.0	LISTING
							MAINDEC-10-DFKDA.TXT
							PAGE 3

1.0	ABSTRACT
	--------

	THIS PDP-10 KL10 ARITHMETIC/RANDOM/INTERRUPT/MEMORY
	RELIABILITY TEST IS A COMPREHENSIVE RELIABILITY TEST
	OF THE COMPLETE PROCESSOR-MEMORY SUBSYSTEM.  THE PROGRAM
	INCLUDES ARITHMETIC INSTRUCTION TESTING WITH RANDOM OPERANDS,
	RANDOM INSTRUCTION TESTING, INTERRUPT TESTING AND
	MEMORY RELIABILITY TESTING.

	THE ARITHMETIC TESING IS DONE USING PSEUDO-RANDOM NUMBERS
	AND COMPARING THE MACHINE RESULTS WITH EACH OTHER AND WITH
	A HARDWARE OPERATION SIMULATION PROGRAM. 

	THE RANDOM INSTRUCTION TESTING PROGRAM IS DESIGNED TO
	EXECUTE RANDOM INSTRUCTIONS (NON-PC CHANGE) IN CORE,
	IN THE FAST AC'S, AND THRU SOFTWARE SIMULATION.
	THE RESULTS OF THE THREE GROUPS OF INST ARE COMPARED FOR
	EQUALITY.  UPON A DISCREPENCY THE PROGRAM PRINTS ALL
	PERTINENT INFORMATION AND GOES INTO A REPETITIVE FAILURE LOOP.

	THE INTERRUPT PORTION OF THE DIAGNOSTIC TESTS THE PRIORITY
	INTERRUPT SYSTEM, THE PROCESSOR APR SYSTEM AND THE
	INTERRUPTABILITY OF MOST CLASSES OF INSTRUCTIONS.
	IT ALSO TESTS PARITY ERROR INTERRUPTS, NON-EX-MEMORY INTERRUPTS,
	ADDRESS BREAKS AND BLT INSTRUCTION INTERRUPTABILITY.
	THE DK20 METER IS USED TO CAUSE CLOCK INTERRUPTS.

	THE MEMORY RELIABILITY PORTION OF THE TEST IS USED TO VERIFY
	THE OPERATIONS OF THE MEMORY SUBSYSTEM.  ALL OF MEMORY, UP TO
	4096K, IS USED IF AVAILABLE.  A PHYSICAL MEMORY ADDRESS
	TEST AND A RANDOMLY SELECTED DATA PATTERNS TEST ARE PERFORMED.
	MEMORY ADDRESSING IS VERIFIED BY USING A FAST-RATE ADDRESSING
	SCHEME WHEREBY THE SELECTED ADDRESS BIT WILL CHANGE ON EVERY
	MEMORY ACCESS.  THE FAST RATE TESTING IS RANDOMLY SELECTED AND
	DEPENDING ON THE SELECTION WILL HAVE ALL ADDRESS BITS FAST-RATED
	OR ANY ONE ADDRESS BIT OR NO FAST-RATE TESTING PERFORMED.
							MAINDEC-10-DFKDA.TXT
							PAGE 4

2.0	REQUIREMENTS
	------------

2.1	EQUIPMENT
	---------

	A PDP-10 KL10 EQUIPPED WITH A MINIMUM OF 32K OF CORE MEMORY.
	CONSOLE PROCESSOR
	CONSOLE TELETYPE
	LINE PRINTER (OPTIONAL)
	DECTAPE FOR PROGRAM STORAGE (OPTIONAL)

2.2	STORAGE
	-------

	PROGRAM BEGINS AT 30000(8) AND USES ALL OF AVAILABLE MEMORY.

2.3	PRELIMINARY PROGRAMS
	--------------------

	BASIC INSTRUCTION DIAGNOSTICS.
	BASIC INSTRUCTION RELIABILITY TESTS.
	ADVANCED INSTRUCTION DIAGNOSTICS.

3.0	PROGRAM PROCEDURES
	------------------

3.1	LOADING PROCEDURE
	-----------------

	DECTAPE - LOAD WITH DIAMON (DECTAPE DEVICE CODE 320)
	TIMESHARING - LOAD WITH DIAMON.
							MAINDEC-10-DFKDA.TXT
							PAGE 5


3.2	STARTING PROCEDURE
	------------------

	THE "OPRSEL" SWITCH MUST BE SET TO ALLOW THE OPERATOR TO
	BE PROMPTED AND SPECIFY WHAT TEST CONTROL SWITCHES TO
	BE USED ON PROGRAM STARTUP.

	A.  SELECT OPERATIONAL CONSOLE DATA SWITCH SETTINGS (REFER TO
	    4.0 DATA SWITCH FUNCTIONS).

	B.  EXEC MODE -

	    STAND-ALONE STARTING ADDRESS IS 30000.

	    SPECIAL FEATURE START (CLEAR ALL TOTALS) IS 30004.

	    RESTART ADDRESS, AFTER POWER DOWN, IS 30005.

	C.  TIME-SHARING MODE -

	    LOAD AND RUN VIA DIAMON, THE PROGRAM WILL RUN 2 PASSES
	    AND THEN RETURN TO DIAMON.  TO THEN CONTINUALLY RUN
	    TYPE "G" TO DIAMON.

	    IN USER MODE THE FOLLOWING QUESTIONS WILL BE ASKED TO
	    SELECT THE OPERATIONAL SWITCHES:

		TELETYPE SWITCH CONTROL: ? 0,S,Y OR N -

	IF THE OPERATOR TYPE "N", THE ACTUAL CONSOLE SWITCHES ARE USED.

	IF THE OPERATOR TYPES "Y", THE FOLLOWING QUESTIONS ARE ASKED
	TO SPECIFY THE SWITCH SETTINGS:

		SPECIFY LH SWITCHES IN OCTAL -

		SPECIFY RH SWITCHES IN OCTAL -

	IF THE OPERATOR TYPES "0", ZERO'S ARE USED FOR THE SWITCH SETTINGS.

	IF THE OPERATOR TYPES "S", PREVIOUSLY SET SWITCHES ARE USED.
	THIS IS ONLY VALID UPON RESTARTING OF AN INTERRUPTED
	PROGRAM.

	D.  IF IT IS DESIRED TO SPECIFY THE INITIAL BASE RANDOM NUMBER
	    SET SWITCH 'RANBAS' (BEFORE STARTING) AND RESPOND TO THE FOLLOWING
	    TYPE-OUT ACCORDINGLY.

		SPECIFY RANDOM NUMBER BASE -
							MAINDEC-10-DFKDA.TXT
							PAGE 6


3.3	OPERATING PROCEDURE
	-------------------

	A.  TO THROUGHLY TEST ALL HARDWARE ALL TEST CONTROL DATA
	    SWITCHES SHOULD BE SET TO 0.

	B.  WHEN DEBUGGING HARDWARE, SET SWITCHES TO 0.  ALLOW THE
	    TELETYPE TO PRINT THE ERROR MESSAGES.  THIS ALLOWS THE
	    PROGRAM TO RUN A COMPLETE PASS AND THEN THE ERROR MESSAGES
	    MAY BE CORRELATED TO QUICKLY DIAGNOSE THE FAILURE.  IF A
	    HARDWARE PROBLEM IS SUCH THAT THE ERROR MESSAGES, AFTER
	    THE FIRST ONE, HAVE NO MEANING SET THE LOOP ON ERROR
	    SWITCH AND RESTART THE PROGRAM.  THE FIRST FAILURE WILL
	    THEN CAUSE THE PROGRAM TO ENTER A LOOP SUITABLE FOR SCOPING.

	C.  WHEN TAKING MARGINS, SET DATA SWITCHES 'NOPNT' AND 'DING'.
	    THIS WILL INHIBIT PRINTOUT BUT WILL ALLOW THE TELETYPE BELL
	    TO BE RUNG WHEN AN ERROR OCCURS. IF THE MARGIN OBTAINED IS
	    UNACCETABLE, THE OPERATOR MAY REVERT TO STANDARD SWITCH
	    SETTINGS. TO INCREASE THE DUTY, FACTOR AND DECREASE THE
	    PROBABILITY OF SIMULATOR FAILURES, SWITCH 'FAST' MAY BE USED.
	    THIS, HOWEVER, IS NOT A COMPLETE TEST OF THE HARDWARE
	    AND SHOULD BE USED WITH CAUTION.

	D.  ERROR INFORMATION MAY BE OBTAINED QUICKLY BY PRINTING
	    ERRORS ON THE LINE PRINTER.

	E.  THE PROGRAM SHOULD RUN SEVERAL HOURS TO ALLOW ENOUGH
	    RANDOM NUMBERS TO BE PROCESSED TO VERIFY SYSTEM
	    RELIABILITY.
							MAINDEC-10-DFKDA.TXT
							PAGE 7
4.0	DATA SWITCH FUNCTIONS
	----------------------
	SWITCH		STATE	FUNCTION
	------		-----	--------

	0    ABORT	0	NORMAL OPERATION
			1	ABORT AT END OF PASS

	1    RSTART		NOT USED

	2    TOTALS	0	NORMAL
			1	PRINT OPERATION TOTALS

	3    NOPNT	0	NORMAL TYPEOUT
			1	INHIBIT ALL PRINT/TYPEOUT
				(EXCEPT FORCED)

	4    PNTLPT	0	NORMAL OUTPUT TO TTY
			1	PRINT ALL DATA ON LPT
				(LOGICAL DEVICE, USER MODE)

	5    DING	0	NO FUNCTION
			1	RING TTY BELL ON ERROR

	6    LOOPER	0	PROCEED TO NEXT TEST
			1	ENTER SCOPE LOOP ON TEST ERROR

	7    ERSTOP	0	NO FUNCTION
			1	HALT ON TEST ERROR

	8    PALERS	0	PRINT ONLY FIRST ERROR WHEN LOOPING
			1	PRINT ALL ERRORS, EVEN IF SAME ERROR

	9    RELIAB	0	QUICK VERIFY MODE
			1	RELIABILITY MODE

	10   TXTINH	0	PRINT FULL ERROR MESSAGES.
			1	INHIBIT COMMENT PORTION OF 
				ERROR MESSAGES.

	11   INHPAG		HAS NO EFFECT, MUST RUN PAGED

	12   MODDVC		NOT USED

	13   INHCSH	0	ALLOW CACHE USE
			1	INHIBIT CACHE USE

	14   OPRSEL	0	RUN DEFAULT
			1	PROMPT OPERATOR FOR TEST SELECTION

							MAINDEC-10-DFKDA.TXT
							PAGE 8

4.0	DATA SWITCH FUNCTIONS (CON'T)
	-----------------------------
	RIGHT HALF SWITCHES
	-------------------
	SWITCH			STATE	FUNCTION
	------			-----	--------

	18 (400000)   ENTDDT	1	ENTER DDT UPON STARTING PROGRAM

	19 (200000)   INHCLK	1	INHIBIT CLOCKK INTERRUPTS

	20 (100000)   INHMEM	1	INHIBIT MEMORY TESTING

	21 (040000)   INHADB	1	INHIBIT ADDRESS BREAK TESTING

	22 (020000)   INHII	1	INHIBIT INSTRUCTION INTERRUPT TESTING

	23 (010000)   INHMI	1	INHIBIT METER INTERRUPT TESTING

	24 (004000)   INHBLT	1	INHIBIT BLT INTERRUPT TESTING

	25 (002000)   INHPAR	1	INHIBIT PARITY INTERRUPT TESTING

	26 (001000)   INHNXM	1	INHIBIT NXM INTERRUPT TESTING

	27 (000400)   INHNEW	1	INHIBIT DOUBLE PRECISION INSTRUCTIONS

	28 (000200)   INHDFP	1	INHIBIT DOUBLE FLOATING POINT TEST

	29 (000100)   INHFP	1	INHIBIT FLOATING POINT TEST

	30 (000040)   INHBYT	1	INHIBIT BYTE TEST

	31 (000020)   INHFXD	1	INHIBIT FIXED POINT TEST

	32 (000010)   INHRAN	1	INHIBIT RANDOM INSTRUCTIONS

	33 (000004)   SNGFL	1	RUN SINGLE FAST LOOP

	34 (000002)   SLOW	1	RUN JUST SIMULATION COMPARISIONS

	35 (000001)   FAST	1	RUN JUST INSTRUCTION COMPARISIONS
							MAINDEC-10-DFKDA.TXT
							PAGE 9

5.0	ERRORS
	------

	A.  INSTRUCTION ERROR
	    -----------------

	    IF AN INSRUCTION FAILS TO GIVE THE CORRECT RESULTS, THE
	    TEST TITLE, PASS COUNT, TYPE OF FAILURE (INSTRUCTION
	    COMPARISION OR SIMULATION COMPARISION), MACHINE RESULTS,
	    SIMULATION RESULTS AND INSTRUCTION SIMULATION ARE
	    PRINTED.

	B.  SIMULATOR PRINTOUT
	    ------------------

	    WHEN AN ERROR OCCURS THE SIMULATED MACHINE STATES AND
	    REGISTERS ARE PRINTED SO THAT BY USE OF HARDWARE MAINTENANCE
	    SWITCHES, I.E., SINGLE PULSE, CONSOLE LIGHTS
	    MAY BE COMPARED TO THE PRINTOUT TO DETERMINE THE EVENT
	    TIME OF THE FAILURE.

	    THE PRINTOUT CONTAINS THE RESULTS OF THE INSTRUCTION
	    UNDER TEST. THIS IS AC, AC+1, E, OR C(E) FOR FIXED AND
	    FLOATING - POINT INSTRUCTIONS; AC, POINTER, C(E) FOR BYTE
	    INSTRUCTIONS. THE FOLLOWING TWO LINES INDICATE THE
	    INSTRUCTION THAT FAILED, INITIAL VALUES, AND SIMULATED
	    RESULTS. THIS IS FOLLOWED BY THE MACHINE TIMES AND 
	    CORRECT CONTENTS OF THE SEVERAL REGISTERS, AFTER THE
	    OCCURANCE OF THE TIME PULSE.

	C.  SCOPE LOOP
	    ----------

	    WHEN PRINTING IS COMPLETE, IF THE 'LOOPER' SWITCH
	    IS SET,THE ROUTINE WILL ENTER A LOOP SUITABLE
	    FOR SCOPING.  AT THIS TIME THE MI REGISTER WILL
	    DISPLAY THE RESULTS OF THE FAILING OPERAND, OR THE
	    FLAGS RESISTER WITH MACHINE RESULTS IN C(LEFT)
	    AND SIMULATED RESULTS IN C(RIGHT). IF THE FAILURE IS NOT
	    FLAGS, THE MI WILL CONTAIN THE FIRST OPERAND THAT
	    FAILED IN THE ORDER OF AC, AC+1, AND C(E).

	D.  TO SCOPE
	    --------

	    1.  TO BE DETERMINED.
							MAINDEC-10-DFKDA.TXT
							PAGE 10

5.0	ERRORS	(CON'T)
	---------------

	E.  OPERAND STORAGE
	    ---------------

	    IF SOMETHING HAPPENS TO THE PRINTOUT OR YOU ARE NOT SURE
	    WHAT THE ORIGINAL AND FINAL OPERANDS ARE:

	    1.  AC'S ARE SAVED IN LOCATIONS SAVAC THROUGH SAVAC+17.
	    2.  ORIGINAL OPERANDS ARE IN SAVAC+1, 2 AND 3.
	    3.  RESULTS ARE IN AC1, AC2 AND AC3.
	    4.  C(AC1)=C(AC), C(AC2)=C(AC+1), C(AC3)=C(E) OR E.

	    LOOK IN SYMBOL TABLE AT END OF LISTING FOR LOCATION OF SAVAC.

	F.  PROGRAM ERRORS
	    ---------------

	    PROGRAM ERRORS SUCH AS: ILLEGAL UUO'S, PARITY ERRORS,
	    NON-EX-MEMORY, ILLEGAL INTERRUPTS, ETC., ARE HANDLED
	    BY PRINTOUT OF THE TYPE OF ERROR WITH AS MUCH INFORMATION
	    AS IS PERTINENT.
							MAINDEC-10-DFKDA.TXT
							PAGE 11
6.0	PROGRAM DESCRIPTION
	-------------------

	A.  INSTRUCTION COMPARISION
	    -----------------------

	IN THIS SECTION INSTRUCTIONS ARE TESTED BY PERFORMING A DIVIDE
	THEN A MULTIPLY AND THEN ADD BACK IN THE DIVISION REMAINDER.
	THE ORIGINAL OPERANDS SHOULD BE THE SAME AS THE FINAL RESULTS.

	B.  SIMULATION COMPARISION
	    ----------------------

	IN THIS SECTION INSTRUCTIONS ARE EXECUTED AND THEN SIMULATED
	AND THE RESULTS COMPARED.  ACTUAL EXECUTION OF THE INSTRUCTION
	SHOULD GIVE THE SAME RESULTS AS SIMULATION OF THE INSTRUCTION.
	SIMULATION IS DONE BY USING SOFTWARE ROUTINES AND PSEUDO
	HARDWARE REGISTERS TO FOLLOW THE HARDWARE INSTRUCTION FLOWS.


7.0	ITERATION COUNTER
	-----------------

	THE ITERATION COUNT OF THE PROGRAM IS DISPLAYED IN THE
	MEMORY INDICATORS (MI).  THIS COUNT IS A DECREMENTING COUNT
	AND INITIALLY STARTS AT -1 IN STAND-ALONE OPERATION.

8.0	CYCLE TIME
	----------

	THIS PROGRAM IS A RELIABILITY TEST USING RANDOM NUMBERS
	AND AS SUCH SHOULD BE RUN FOR SEVERAL HOURS TO INSURE
	THAT ENOUGH NUMBERS ARE PROCESSED TO VERIFY SYSTEM
	RELIABILITY.
							MAINDEC-10-DFKDA.TXT
							PAGE 12
9.0	OPERATIONAL VARIATIONS
	----------------------

	A.  DIAGNOSTIC MONITOR

	THIS PROGRAM IS USABLE WITH THE DIAGNOSTIC MONITOR TO PROVIDE
	RELIABILITY TESTS, ACCEPTANCE TESTS, AND/OR TO PROVIDE A
	QUICK METHOD OF ISOLATION OF A FAULT TO A PARTICULAR AREA
	OF THE PROCESSOR.  CERTAIN PROCEDURES ARE USED WHEN THE 
	PROGRAM IS USED IN THIS MANNER.  THEY ARE:

	1. THE DIAGNOSTIC MONITOR TRANSFERS CONTROL TO THE PROGRAM
	   AND STARTS IT AT LOCATION 30002.

	2. MONCTL - USED AS THE DIAGNOSTIC MONITOR CONTROL WORD.
		LH = 0, STAND-ALONE OPERATION
		    -PASS COUNT, RUNNING UNDER DIAGNOSTIC MONITOR

		RH = RIGHT HALF OF CONSOLE SWITCHES IF UNDER
		     DIAGNOSTIC MONITOR CONTROL.

	3.  MONFLG - USED AS THE DIAGNOSTIC MONITOR SPECIAL USER MODE FLAG.

		-1 = NORMAL USER OPERATION.
		 0 = SPECIAL USER MODE OPERATION.  I/O TREATED AS EXEC
		     AND PROCESSED BY THE DIAGNOSTIC MONITOR.
							MAINDEC-10-DFKDA.TXT
							PAGE 13

9.0	OPERATIONAL VARIATIONS (CON'T)
	------------------------------

	B.  USER MODE

	TO OUTPUT THE PRINTED ERROR MESSAGES TO A USER SPECIFIED
	DEVICE IN USER MODE, ASSIGN THE DESIRED OUTPUT DEVICE TO
	DEVICE NAME 'DEV' AND SET SWITCH 'PNTLPT'.  THE PHYSICAL
	DEVICE CAN BE ANY DEVICE THAT CAN ACCEPT ASCII FORMAT
	SUCH AS LPT, DSK, DTA, ETC.  THE CORRESPONDING OUTPUT
	FILE IS 'DFKDA.LPT'.

	EXAMPLE DEVICE ASSIGNMENT:

	.ASSIGN DSK DEV

	IN USER MODE THE PROGRAM WILL MAKE TWO PASSES AND THEN RETURN
	TO MONITOR MODE.

	THE OUTPUT FILE (IF USED) MAY THEN BE PRINTED BY USING THE
	NORMAL MONITOR COMMANDS (R PRINT, LIST, TYPE, ETC.).

	IF THE PROGRAM IS ABORTED BEFORE COMPLETION (BY ^C, ETC.) THE
	OUTPUT FILE MAY THEN BE CLOSED BY USING THE MONITOR 'REENTER'
	COMMAND.

	C.  SYSTEM EXERCISER

	    STARTING ADDRESS IS 30003.  DATA SWITCHES ARE PRESTORED
	    IN 'SWTEXR' LOCATION 30023.

10.0	MISCELLANEOUS
	-------------

	NONE.
						MAINDEC-10-DFKDA.TXT
						PAGE 14

11.0	SIMULATOR
	---------

	THE PDP-10 KL10 SIMULATOR IS USED TO SIMULATE THE ACTUAL 
	HARDWARE OPERATION OF THE PDP-10 KL10 CENTRAL PROCESSOR. THE
	PURPOSE OF THIS SIMULATION PROGRAM IS TO PROVIDE A
	MEANS OF HARDWARE DEVELOPMENT AND MACHINE CHECKOUT. THE
	SIMULATION PROGRAM MAY ALSO BE USED FOR DIAGNOSTIC PROGRAM
	DEVELOPMENT AND AS A PROGRAM OPERATION TRACE DEBUG SYSTEM. 
	THE SIMULATION IS ACCOMPLISHED THROUGH SOFTWARE BY USING PROGRAM
	ROUTINES TO FOLLOW THE HARDWARE OPERATION FLOW AND CORE MEMORY
	LOCATIONS AS PSEUDO HARDWARE REGISTERS.

	A. DDT PROGRAM TYPE-IN SIMULATION
	   ------------------------------

	TO USE THE SIMULATOR TO SIMULATE A SMALL PROGRAM TYPED-IN
	WITH DDT THE FOLLOWING PROCEDURE (EXAMPLE) IS USED.

	START PROGRAM WITH SWITCH 'ENTDDT' SET SO THAT CONTROL TRANSFERS
	TO DDT.

	*DDT*

	200!	A:	DMOVE 0,300	;SAMPLE PROGRAM (DDT TYPIN)
	A+1!	DFAD	0,302
	A+2!	HALT
	300!	1.0
	301!	0
	302!	3.0
	303!	0

	INPC!	200		;STARTING ADDRESS
	MASK!	0		;ALLOW ALL INST TO PRINT
	INSTR!	0		;ALLOW ALL INST TO PRINT
	CNPLPC!	0		;ALLOW SIMULATION TO START AT 0
	UPRPC!	777777		;CONTINUE TO 77777.

	SIMDDT$G		;TRANSFER TO SIMULATOR

	INPC =   RIGHT HALF IS OBJECT PROGRAM STARTING ADDRESS
		 LEFT HALF = 0 = EXEC MODE OBJECT PROGRAM
			   =10000 = USER MODE OBJECT PROGRAM

	MASK =   WORD TO ALLOW CHECKING OF ONLY DESIRED INSTRUCTION CODE
		 BITS TO DETERMINE INSTRUCTION SIMULATION PRINTOUT.

	INSTR = WORD TO FURTHER SELECT INSTRUCTIONS TO BE PRINTED.
	CNTLPC = WORD USED TO PREVENT SIMULATION PRINTOUT UNTIL THE
		 OBJECT PROGRAM PC IS EQUAL OR GREATER.

	UPRPC = WORD USED TO PREVENT SIMULATION PRINTOUT WHEN THE
		OBJECT PROGRAM PC IS GREATER THAN.
						MAINDEC-10-DFKDA.TXT
						PAGE 15

	B.  SIMULATOR PRINT PROGRAM
	    -----------------------

	THE SIMULATOR PRINT PROGRAM PROVIDES A BREAK POINT IN THE 
	MAIN SIMULATOR MASTER CLOCK CYCLE AT WHICH TIME TRANSFER IS MADE 
	TO  THE SIMULATOR PRINT PROGRAM.  THE PRINT PROGRAM THEN DETER-
	MINES IF THE MASTER CLOCK IS AT THE FIRST INSTRUCTION TIME OF 
	THE INSTRUCTION. IF IT IS A CHECK IS MADE TO DETERMINE IF THIS
	INSTRUCTION IS TO BE PRINTED. DONE BY MASKING THE INSTRUCTION
	CODE BITS WITH THE WORD 'MASK' AND THEN FURTHER DELIMITING THE
	INSTRUCTION BY A 'CAME' INSTRUCTION WITH THE WORD 'INSTR'. 
	THE PC OF THE INSTRUCTION IS ALSO CHECKED AGAINST 'CNTLPC' AND
	'UPRPC' AND MUST BE BETWEEN THIS RANGE TO BE PRINTED.

	AN EXAMPLE TO PRINT SIMULATION OF THE INSTRUCTIONS IN THE RANGE
	100 TO 177 WOULD BE:

		MASK=700000,,0
		INSTR=100000,,0
		CNTLPC=0,,0
		UPRPC=0,,-1

	IF THE INSTRUCTION PASSES THESE TESTS THE PRINT CONTROL IS SET
	ACCORDINGLY. THEN THE PC, AND INSTRUCTION ARE PRINTED. THEN
	THE MACHINE STATES ARE PRINTED (IF CALLED FOR BY SW29, PNTMS)
	UNTIL THE START OF THE NEXT INSTRUCTION.  AT THIS TIME THE
	INITIAL AND FINAL FLAG AND REGISTER RESULTS ARE PRINTED.
	AT THE COMPLETION OF EACH MACHINE STATE PRINTOUT A TRANSFER
	IS MADE BACK TO THE MAIN SIMULATOR TO CONTINUE SIMULATION. 
	TRANSFER FROM AND TO THE MAIN SIMULATOR IS DONE ON EACH
	MASTER CLOCK CYCLE WITH THE INSTRUCTION AND/OR MACHINE PSEUDO
	REGISTER CONTENTS PRINTED IF CALLED FOR.
						MAINDEC-10-DFKDA.TXT
						PAGE 16

	C.  MAIN SIMULATOR
	    --------------

	THIS SECTION PERFORMS THROUGH SOFTWARE ROUTINES AND PSEUDO
	HARDWARE REGISTERS THE ACTUAL HARDWARE OPERATION OF THE KL10
	CENTRAL PROCESSOR. THE ACTUAL OPERATION OF THIS SECTION IS
	DESCRIBED IN THE KL10 HARDWARE FLOW CHARTS AND SYMBOLIC TAGS,
	REGISTERS, FLAGS, ETC. ARE ALL AS LISTED ON THE FLOW CHARTS.
	THIS SECTION OF THE PROGRAM WAS INITIALLY WRITTEN BY PDP-10 ENGINEERING.
	ENGINNERING DESIGN UPDATES AND DEVELOPMENT BY PDP-10 DIAGNOSTICS.

	D.  ACCUMULATORS
	    ------------

	0-	F	-MISC LOGIC FLIP-FLOPS
	1-	T	-TEMPORARY REGISTER
	2-	T1	-TEMPORARY REGISTER 1
	3-	T2	-TEMPORARY REGISTER 2
	4-	T3	-TEMPORARY REGISTER 3
	5-	S	-18 BIT PSEUDO STATE REGISTER
	6-	AR	-36 BIT ARITHMETIC PSEUDO REGISTER
	7-	MQ	-36 BIT MULT/QUOTIENT PSEUDO REGISTER
	10-	BR	-36 BIT BUFFER PSEUDO REGISTER
	11-	AD	-36 BIT ADDER PSEUDO REGISTER
	12-	MB	-36 BIT MEMORY BUS PSEUDO REGISTER
	13-	PC	-18 BIT PROGRAM COUNTER PSEUDO REGISTER
	14-	MA	-18 BIT MEMORY ADDRESS PSEUDO REGISTER
	15-	SC	-9 BIT SHIFT COUNTER PSEUDO REGISTER
	16-	IR	-13 BIT INSTRUCTION PSEUDO REGISTER
	17-	P	-PUSH DOWN POINTER AC

	E.  CORE MEMORY
	    -----------

	AB	-18 BIT ADDRESS BUS PSEUDO REGISTER
	ARX	-28 BIT EXTENDED ARITHMETIC PSEUDO REGISTER
	ADX	-28 BIT EXTENDED ADDER PSEUDO REGISTER
	FE	-9 BIT FLOATING EXPONENT PSEUDO REGISTER
	SA	-9 BIT SHIFT COUNT ADDER PSEUDO REGISTER
	TIME	-ELAPSED TIME SINCE BEGINNING OF PROGRAM IN NSEC.
	ACS,+0 TO +17	-PSEUDO ACCUMULATORS
						MAINDEC-10-DFKDA.TXT
						PAGE 17

12.0	HISTORY
	-------

	VERSION 0.2

	FEBRUARY 23,1977

	CHANGES MADE IN THE PDP-11 CLOCK HANDLING BECAUSE OF A
	PROBLEM IF THE PDP-11 CLOCK TICKS AT THE EXACT INSTANCE THAT THE
	PARITY ERROR TEST IS BEING DONE.  THE PDP-11 CLOCK IS NOW TURNED
	OFF DURING THE PARITY ERROR TEST.

	VERSION 0.1

	SEPTEMBER 11,1975

	THE KI10 SIMULATOR IS USED IN THIS PROGRAM WITH CHANGES
	NECESSARY TO PREVENT THE MACHINE TIME PRINTOUTS AS THE
	SIMULATION AS FAR AS INITIAL AND FINAL OPERAND VALUES
	IS CORRECT FOR THE INSTRUCTIONS TESTED VIA THIS PROGRAM.

	PREVIOUS HISTORY OF CONVERSION OF THE KI10 SIMULATOR INTO
	A WORKABLE VERSION FOR THE KL10 PROCESSOR.

	PS #519 INCORPORATED TO CORRECT PROBLEM WITH FLOATING
	DIVIDE SIMULATION.

	ECO #42 INCORPORATED TO CORRECT PROBLEM WITH FLOATING MULTIPLY
	SIMULATION AND TIMING PROBLEM WITH DOUBLE FLOATING
	SUBTRACT.

13.0	LISTING
	-------