Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dbkda.txt
There are no other files named dbkda.txt in the archive.
MAINDEC-10-DBKDA






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

	PRODUCT CODE:	MAINDEC - 10 - DBKDA - C - D

	PRODUCT NAME:	DECSYSTEM10 KI10 ARITHMETIC RELIABILITY TEST
			FIXED, FLOATING AND BYTE

	VERSION:	0.3

	DATE RELEASED:	JUNE 9,1976

	AUTHOR:		JOHN R. KIRCHOFF

	MAINTAINED BY:	DIAGNOSTIC ENGINEERING GROUP


	COPYRIGHT(C) 1972,1973,1974,1976
	DIGITAL EQUIPMENT CORP.
	MARLBORO, MASS. 01752

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION OF
DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT AS
MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.

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

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
						MAINDEC-10-DBKDA.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	SIMULATOR

11.0	LISTING
						MAINDEC-10-DBKDA.TXT
							PAGE 3

1.0	ABSTRACT
	--------

	THIS PDP-10 KI10 KI10 ARITHMETIC RELIABILITY TEST IS
	A COMPREHENSIVE RELIABILITY TEST USING PSEUDO-RANDOM NUMBERS
	TO TEST THE PDP-10 KI10 FIXED POINT, FLOATING POINT AND BYTE
	INSTRUCTIONS.  THE INSTRUCTIONS UNDER TEST ARE COMPARED WITH 
	EACH OTHER AND WITH A HARDWARE OPERATION SIMULATION PROGRAM. 
	ERRORS ARE PRINTED ON THE TELETYPE OR LINE PRINTER. THE PROGRAM
	MAY BE OPERATED IN EXEC MODE, USER MODE, OR IN A
	TIME-SHARING SYSTEM.

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

2.1	EQUIPMENT
	---------

	A PDP-10 KI10 EQUIPPED WITH A MINIMUM OF 32K OF CORE MEMORY.
	CONSOLE TELETYPE
	LINE PRINTER (OPTIONAL)

2.2	STORAGE
	-------

	PROGRAM BEGINS AT 30000(8) AND USES THE REST OF 32K.

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

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

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

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

	RUN WITH "DIAMON".
						MAINDEC-10-DBKDA.TXT
							PAGE 4


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

	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 -

	    WHEN LOADED AND STARTED UNDER "DIAMON" WILL RUN 2 PASSES.
	    TO THEN RUN FOREVER, TYPE "STD" 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-DBKDA.TXT
							PAGE 5


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-DBKDA.TXT
							PAGE 6
4.0	DATA SWITCH FUNCTIONS
	----------------------

	SWITCH	 		STATE	FUNCTION
	------			-----	--------

	0 (400000)    ABORT	0	NORMAL
				1	ABORT PROGRAM AT PASS COMPLETION

	1 (200000)    RSTART	0	CONTINUE OPERATION
				1	PRINT TOTALS, RESTART PROGRAM.

	2 (100000)    TOTALS	0	NO FUNCTION
				1	PRINT TOTALS, CONTINUE PROGRAM.

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

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

	5 (010000)    DING	0	NO FUNCTION
				1	RING TTY BELL ON ERROR

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

	7 (002000)    ERSTOP	0	PROGRAM CONTINUES FROM ERROR
				1	HALT ON TEST ERROR

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

	9 (000400)    RELIAB	0	QUICK VERIFY MODE
				1	RELIABILITY MODE
						MAINDEC-10-DBKDA.TXT
4.0	DATA SWITCH FUNCTIONS (CON'T)			PAGE 7
	-----------------------------
	RIGHT HALF SWITCHES
	-------------------
	SWITCH			STATE	FUNCTION
	------			-----	--------
	18 (400000)   ENTDDT	0	NO FUNCTION
				1	ENTER DDT UPON STARTING PROGRAM

	19 (200000)   RANBAS	0	USE PROGRAM INITIAL RANDOM NUMBER BASE.
				1	SPECIFY RANDOM NUMBER BASE BY OPERATOR
					RESPONSE TO PROGRAM TYPE-OUT.

	20 (100000)   MGNTST	0	MARGIN ENTIRE PROGRAM
				1	MARGIN INST EXECUTE ONLY

	24 (004000)   CKOUT	0	NORMAL
				1	SOFTWARE XCT OF NEW KI10 INSTRUCTIONS.
					[FOR USER MODE KA10 CHECKOUT]

	25 (002000)   SEQPNT	0	N/A
				1	PRINT OBJ SEQUENCE NUMBERS

	27 (000400)   INHSCT	0	NORMAL SIMULATION PRINTOUT
				1	INHIBIT SIMULATION SCT2 PRINTOUT.
					(MAKES PRINTOUT SHORTER)

	28 (000200)   INHCLK	0	PROCESS CLOCK INTERRUPTS
				1	INHIBIT CLOCK INTERRUPTS

	29 (000100)   INHMS	0	PRINT INSTRUCTION MACHINE STATES
				1	PRINT INSTRUCTION INITIAL/FINAL
						MAINDEC-10-DBKDA.TXT
							PAGE 8

4.0	DATA SWITCH FUNCTIONS (CON'T)
	-----------------------------
	RIGHT HALF SWITCHES
	-------------------
	SWITCH			STATE	FUNCTION
	------			-----	--------
	30 (000040)   INHDFP	0	TEST DOUBLE FLOATING POINT
				1	INHIBIT DOUBLE FLOATING POINT TEST

	31 (000020)   INHFP	0	TEST FLOATING POINT
				1	INHIBIT FLOATING POINT TEST

	32 (00010)    INHBYT	0	TEST BYTE INSTRUCTION
				1	INHIBIT BYTE TEST

	33 (000004)   INFFXD	0	TEST FIXED POINT
				1	INHIBIT FIXED POINT TEST

	34 (000002)   SLOW	0	NORMAL TESTING
				1	RUN JUST SIMULATION COMPARISION
					(DON'T TEST INSTRUCTIONS BY COMPARISION
					WITH EACH OTHER AS IN;
					DIV THEN MUL AND ADD REMAINDER, ETC.)

	35 (000001)   FAST	0	NORMAL TESTING
				1	RUN JUST INSTRUCTION COMPARISION
					(DON'T TEST INSTRUCTIONS BY HARDWARE OPERATION
					 SIMULATION FOR COMPARISIONS.)
						MAINDEC-10-DBKDA.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-DBKDA.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-DBKDA.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.

	C.  SIMULATOR CHECKOUT
	    ------------------

	IF THE 'CKOUT' SWITCH IS SET, THE NEW KI10 INSTRUCTIONS ARE
	EXECUTED BY A SET OF FORTRAN SUBROUTINES.  THE RESULTS OF
	THE FORTRAN SUBROUTINES ARE THEN CHECKED AGAINST THE RESULTS
	OF SIMULATION.  THIS MAKES POSSIBLE VERIFICATION OF THE 
	SIMULATOR AND ALSO ALLOWS THE PROGRAM AND THE SIMULATOR TO
	BE CHECKED OUT, IN USER MODE, ON A KA10 PROCESSOR.

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-DBKDA.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 - LOCATION 30042 IS 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 - LOCATION 30043 IS 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-DBKDA.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 'DBKDA.TMP'.

	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.
						MAINDEC-10-DBKDA.TXT
						PAGE 14

10.0	SIMULATOR
	---------

	THE PDP-10 KI10 SIMULATOR IS USED TO SIMULATE THE ACTUAL 
	HARDWARE OPERATION OF THE PDP-10 KI10 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*

	PATCH!		DMOVE 0,PATCH+10  ;SAMPLE PROGRAM (DDT TYPIN)
	PATCH+1!	DFAD 0,PATCH+12
	PATCH+2!	HALT
	PATCH+10!	1.0
	PATCH+11!	0
	PATCH+12!	3.0
	PATCH+13!	0

	INPC!	PATCH		;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-DBKDA.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-DBKDA.TXT
						PAGE 16

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

	THIS SECTION PERFORMS THROUGH SOFTWARE ROUTINES AND PSEUDO
	HARDWARE REGISTERS THE ACTUAL HARDWARE OPERATION OF THE KI10
	CENTRAL PROCESSOR. THE ACTUAL OPERATION OF THIS SECTION IS
	DESCRIBED IN THE KI10 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

11.0	LISTINGS