Trailing-Edge
-
PDP-10 Archives
-
klad_sources
-
klad.sources/dakdb.txt
There are no other files named dakdb.txt in the archive.
MAINDEC-10-DAKDB
IDENTIFICATION
--------------
PRODUCT CODE: MAINDEC-10-DAKDB-B-D
PRODUCT NAME: DECSYSTEM10 PDP-10 KA10 RANDOM INSTRUCTION
RELIABILITY DIAGNOSTIC
VERSION: 0.2
DATE RELEASED: JANUARY 1977
MAINTAINED BY: DIAGNOSTIC ENGINEERING GROUP
AUTHOR: JOHN R. KIRCHOFF
COPYRIGHT(C) 1972,1977
DIGITAL EQUIPMENT CORPORATION
MARLBORO, MASS. 01752
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 EXECPT 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 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-DAKDB.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 ITERATION COUNTER
7.0 CYCLE TIME
8.0 OPERATIONAL VARIATIONS
9.0 DDT COMMANDS
10.0 MISCELLANEOUS
11.0 SIMULATOR
12.0 MISCELLANEOUS
13.0 LISTING
MAINDEC-10-DAKDB.TXT
PAGE 3
1.0 ABSTRACT
THE RANDOM INSTRUCTION TEST IS DESIGNED TO EXPOSE PRO-
CESSOR MALFUNCTIONS BY GENERATING AND EXECUTING RANDOM (NON
PC-CHANGE) INSTRUCTIONS IN THE FAST ACCUMULATORS 11-16. THE
OPERANDS OF THESE INSTRUCTIONS REFERENCE ACCUMULATORS 0-7. THE
AC INSTRUCTION LOOP IS DUPLICATED IN NORMAL CORE MEMORY AND THE
RESULTS COMPARED WITH THE FAST AC RESULTS IN AC 0-7.
THE FAST AC LOOP IS ALSO SIMULATED AND THE SIMULATED RESULTS
COMPARED WITH THE FAST AC RESULTS AND THE CORE MEMORY RESULTS.
THE PROGRAM INCORPORATES DDT TO FACILITATE ERROR ISOLATION AND
REPAIR. CONTROL MAY BE TRANSFERED TO DDT AT ANY TIME BY TYPING
AN ALT-MODE ($) ON THE TTY.
2.0 REQUIREMENTS
2.1 EQUIPMENT
A PDP-10 KA10 EQUIPPED WITH A MINIMUM OF 32K OF MEMORY.
PAPER TAPE READER
CONSOLE TELETYPE
DECTAPE (OPTIONAL)
LINE PRINTER (OPTIONAL)
2.2 STORAGE
PROGRAM RUNS WITHIN 32K.
2.3 PRELIMINARY PROGRAMS
PROCESSOR DIAGNOSTICS
MEMORY DIAGNOSTICS
MAINDEC-10-DAKDB.TXT
PAGE 4
3.0 PROGRAM PROCEDURES
3.1 LOADING PROCEDURE
RUN VIA "DIAMON" OR "MAGMON".
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 OPERATING TOTALS) IS 30004.
C. USER MODE
IN USER MODE THE FOLLOWING QUESTIONS WILL BE ASKED TO
SELECT THE OPERATIONAL SWITCHES:
TELETYPE SWITCH CONTROL ? 0,S,Y OR N (CR) -
IF THE OPERATOR TYPES "N", THE ACTUAL CONSOLE SWITCHES
ARE USED.
IF THE OPERATOR TYPES "Y", THE FOLLOWING:
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-DAKDB.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 PRO-
GRAM TO RUN A COMPLETE PASS AND THEN THE ERROR MESSAGES
MAY BE CORRELATED TO QUICKLY DIAGNOSE THE FAILURE. IF IT
IS DESIRED TO LOOP ON A FAILURE SET THE LOOP ON ERROR SWITCH.
THE FIRST FAILURE WILL THEN CAUSE THE PROGRAM TO ENTER A
LOOP SUITABLE FOR DEBUGGING. TO PRINT ALL ERRORS, EVEN IN
A DEBUGGING LOOP, SET THE PRINT ALL ERRORS SWITCH.
THE ERROR MESSAGES USED IN CONJUNCTION WITH THE LISTING, DDT,
AND SCOPING IF NECESSARY SHOULD ALLOW THE FAILING COMPONENT
TO BE ISOLATED AND REPLACED AND/OR REPAIRED.
C. ERROR INFORMATION MAY BE OBTAINED QUICKLY BY PRINTING ERRORS
ON THE LINE PRINTER.
D. PFSTRT - 30005 ; TO RESTART PROGRAM AFTER POWER FAILURE.
E. START1 - 30013 ; TO CONTINUE PROGRAM WITHOUT INITIALIZING
RANDOM NUMBER GENERATOR.
F. START2 - 30014 ; TO CONTINUE EXECUTION OF A FAILING INSTRUCTION
LOOP.
G. DDT - DDT MAY BE ENTERED DIRECTLY UPON STARTING THE PROGRAM
BY SETTING SWITCH 18. DDT MAY ALSO BE ENTERED DURING RUNNING
OF THE PROGRAM BY TYPING AN ALT-MODE ($) ON THE TTY.
STARTING ADDRESS OF DDT IS 30007(8).
MAINDEC-10-DAKDB.TXT
PAGE 6
4.0 DATA SWITCH FUNCTIONS
---------------------
LEFT HALF SWITCHES
------------------
SWITCH STATE FUNCTION
------ ----- --------
0 (400000) ABORT 0 NORMAL
1 ABORT AT END OF PASS
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 BELL ON ERROR
6 (004000) LOOPER 0 PROCEED TO NEXT TEST
1 ENTER 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
9 (000400) RELIAB 0 FAST CYCLE MODE
1 RELIABILITY MODE
16 (000002) KA50HZ 0 60 CYCLE POWER
1 50 CYCLE POWER
MAINDEC-10-DAKDB.TXT
PAGE 7
4.0 DATA SWITCH FUNCTIONS (CON'T)
-----------------------------
RIGHT HALF SWITCHES
-------------------
SWITCH STATE FUNCTION
------ ----- --------
18 (400000) ENTDDT 0 NO FUNCTION
1 ENTER DDT UPON STARTING THE
PROGRAM.
19 (200000) RANBAS 0 USE PROGRAM INITIAL RANDOM BASE.
1 SPECIFY RANDOM NUMBER BASE BY OPERATOR
RESPONSE TO PROGRAM REQUEST.
26 (001000) ALINES 0 NO FUNCTION
1 PRINT ALL OUTPUT LINES.
27 (000400) INHSCT 0 NORMAL SIMULATION PRINTOUT.
1 INHIBIT SIMULATION SCT2 & SCT3 PRINTOUT.
28 (000200) INHCLK 0 PROCESS CLOCK INTERRUPTS
1 INHIBIT CLOCK INTERRUPTS
29 (000100) INHMT 0 PRINT INSTRUCTION SIMULATION MACHINE STATES.
1 PRINT INSTRUCTION SIMULATION INITIAL/FINAL ONLY.
34 (000002) SNGFL 0 REPEAT FAST LOOP (10 TIMES)
1 SINGLE FAST LOOP
35 (000001) INHSIM 0 NORMAL COMPARISIONS (FAST AC, CORE, SIM).
1 INHIBIT SIMULATION COMPARISIONS.
MAINDEC-10-DAKDB.TXT
PAGE 8
5.0 ERRORS
ERROR MESSAGES ARE PRINTED ON THE TTY OR LINE PRINTER. THE
ERROR MESSAGE CONTAINS THE FAILING INSTRUCTION GROUP, THE
ORIGINAL OPERANDS, THE FAST AC RESULT, THE CORE MEMORY
RESULTS, THE INSTRUCTION SIMULATION, AND THE SIMULATED ANSWERS.
IF THE LOOP ON ERROR SWITCH IS SET THE PROGRAM WILL CYCLE ON THE
FAILING INSTRUCTION SEQUENCE IN AC'S 11 THRU 17. FAILURE ANALYSIS
MAY BE PERFORMED BY EXAMINING THE INSTRUCTIONS WITH DDT (ENTERED
BY TYPING AN ALT-MODE ($) ON THE TTY) AND BY RESTARTING THE
LOOP AT AN APPROPRIATE RESTART ADDRESS.
NOTE: IT IS POSSIBLE THAT ANY ONE OF THE INSTRUCTION SEQUENCES
MAY HAVE FAILED. ANALYSIS OF THE ERROR MESSAGE
PRINTOUT IS REQUIRED TO DETERMINE THE ACTUAL CAUSE OF
THE FAILURE.
THE FOLLOWING EXAMPLE ERROR MESSAGE INDICATES AN INCORRECT
RESULT IN FAST AC 2.
----------
RANDOM INSTRUCTION FAILURE [SLOW ANS] [SIM ANS]
INST GROUP OPERANDS FAST ANS SLOW ANS
11/546040000007 0/536461414037 0/536461414037 0/536461414037
12/475300000006 1/475306407246 1/000000407246 1/000000407246
13/553340000001 2/553756641571 2/00000000000 2/526272250404
14/526240000004 3/526272250404 3/526272250404 3/526272250404
15/154340000002 4/376775671572 4/204632777777 4/204632777777
16/523100000002 5/523126204632 5/523126204632 5/523126204632
17/ EXIT 6/036370236031 6/777777777777 6/777777777777
7/116747224357 7/220422744160 7/220422744160
RANDOM NUMBER BASE = 536461414037
INSTRUCTION SIMULATION
----------
(INSTRUCTION SIMULATION OUTPUT, AS APPROPRIATE)
MAINDEC-10-DAKDB.TXT
PAGE 9
6.0 ITERATION COUNT
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.
7.0 CYCLE TIME
THIS PROGRAM IS A RELIABILITY TEST USING RANDOM NUMBERS AND
AS SUCH SHOULD BE RUN LONG ENOUGH TO INSURE THAT ENOUGH
NUMBERS ARE PROCESSED TO VERIFY SYSTEM RELIABILITY.
8.0 OPERATIONAL VARIATIONS
A. DIAGNOSTIC MONITOR
THIS PROGRAM IS USABLE WITH THE DIAGNOTIC 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 30043 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.
MAINDEC-10-DAKDB.TXT
PAGE 10
8.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 USED CAN BE ANY DEVICE THAT CAN ACCEPT
ASCII OUTPUT FORMAT SUCH AS LPT, DSK, DTA, ETC. THE
CORRESPONDING OUTPUT FILE IS 'DAKDB.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 LISTED BY USING THE
NORMAL MONITOR COMMANDS (R PRINT, LIST, TYPE, PIP, ETC.).
IF THE PROGRAM IS ABORTED BEFORE COMPLETION (BY ^C, ETC.)
THE OUTPUT FILE MAY BE CLOSED BY USING THE MONITOR 'REENTER'
COMMAND.
C. SYSTEM EXERCISER
STARTING ADDRESS IS 30003. DATA SWITCHES ARE PRESTORED IN
'SWTEXR' LOCATION 30023.
MAINDEC-10-DAKDB.TXT
PAGE 11
9.0 DDT COMMANDS
A. TO SET A BREAKPOINT
UP TO 8 BREAKPOINTS MAY BE SET AT ANY ONE TIME.
ADR$B ;SET A BREAKPOINT AT ADR. WHEN THE BREAKPOINT IS
REACHED, THE PROGRAM HALTS AND TYPES OUT $NB>>ADR
B. TO PROCEED FROM A BREAKPOINT HALT
$P ;RESUME PROGRAM EXECUTION.
HALT AGAIN NEXT TIME THE BREAKPOINT IS ENCOUNTERED.
N$P ;RESUME PROGRAM EXECUTION.
DO NOT HALT UNTIL THE NTH TIME BREAKPOINT IS ENCOUNTERED.
C. TO REMOVE A BREAKPOINT
$B ;REMOVE ALL BREAKPOINTS
D. TO EXAMINE A LOCATION OR TO INSERT NEW DATA
ADR/ ;EXAMINE LOACATION SPECIFIED BY ADR.
CR CLOSES EXAMINED REGISTER
LF CLOSES AND EXAMINES ADR+1
ADR/ YYYY XXXX CR ;EXAMINES ADR AND PLACES XXXX IN
LOCATION ADR AND CLOSES THE EXAMINED WORD.
E. TO START PROGRAM EXECUTION
ADR$G ;START THE PROGRAM EXECUTION AT ADR.
NOTE: $ = ALT-MODE
10.0 MISCELLANEOUS
THE NON-EX-MEMORY AND PARITY STOP SWITCHES SHOULD BE RESET
(0). THESE ERRORS, ILLEGAL UUO'S AND OTHER ERRORS OF THIS TYPE
ARE HANDLED BY PRINTOUT ON THE TELETYPE.
MARGINS - THE RANDOM NUMBER INSTRUCTION TEST SHOULD BE RUN WITH
APPROPRIATE VOLTAGE MARGINS TO HELP INSURE PROCESSOR RELIABILITY.
MAINDEC-10-DAKDB.TXT
PAGE 12
11.0 SIMULATOR
---------
THE PDP-10 KA10 SIMULATOR IS USED TO SIMULATE THE ACTUAL
HARDWARE OPERATION OF THE PDP-10 KA10 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: MOVE 0,300 ;SAMPLE PROGRAM (DDT TYPIN)
A+1! FAD 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-DAKDB.TXT
PAGE 13
B. SIMULATOR PRINT PROGRAM
-----------------------
THE SIMULATOR PRINT PROGRAM PROVIDES A POINT IN THE MAIN
SIMULATOR AT WHICH TIME TRANSFER IS MADE TO THE SIMULATOR
PRINT PROGRAM. THE PRINT PROGRAM THEN DETERMINES IF THE
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. THE INSTRUCTION IS SIMULATED AND THE PC,
INSTRUCTION AND THE INITIAL/FINAL RESULTS PRINTED. THE
INSTRUCTION IS THEN RESIMULATED AND THE MACHINE STATES PRINTED
(IF CALLED FOR BY SW29, PNTMS). AT THE COMPLETION OF EACH
TIME STATE SIMULATION, TRANSFER IS MADE TO THE PRINT PROGRAM
AND THE PSEUDO MACHINE STATE AND REGISTERS PRINTED.
MAINDEC-10-DAKDB.TXT
PAGE 14
C. MAIN SIMULATOR
--------------
THIS SECTION PERFORMS THROUGH SOFTWARE ROUTINES AND PSEUDO
HARDWARE REGISTERS THE ACTUAL HARDWARE OPERATION OF THE KA10
CENTRAL PROCESSOR. THE ACTUAL OPERATION OF THIS SECTION IS
DESCRIBED IN THE KA10 HARDWARE FLOW CHARTS AND SYMBOLIC TAGS,
REGISTERS, FLAGS, ETC. ARE ALL AS LISTED ON THE FLOW CHARTS.
START SIMULATION USING DDT BY TYPING:
NNNNN$G ;NNNNN MAY BE ABSOLUTE (IN OCTAL), OR SYMBOLIC
IF NOT USING DDT START SIMULATION BY USING ADDRESS
SWITCHES:
STARTING ADDRESSES ARE:
1. SIMPRG = SIMULATE COMPLETE PROGRAM, PRINT MACHINE
TIMES OF SELECTED INSTRUCTIONS.
2. SIMMS = SIMULATE AND PRINT MEMORY STOP TIMES OF
SELECTED INSTRUCTIONS
3. SIMIF = SIMULATE AND PRINT INITIAL/FINAL STATES
OF SELECTED INSTRUCTIONS
4. SMMT1 = SIMULATE AND PRINT MACHINE TIMES FOR
ONE INSTRUCTION
( USE DDT GO ADR$X )
5. SMNST1 = SIMULATE SINGLE INSTRUCTION
( USE DDT GO ADR$X )
THE USAGE PROCEDURE IS DETERMINED BY THE DESIRED USE OF
THE SIMULATOR, SOME SAMPLE USES ARE:
A. INSTRUCTION CHECKOUT
B. PROGRAM TRACE
C. HARDWARE DEVELOPMENT
MAINDEC-10-DAKDB.TXT
PAGE 15
11.1 INITIALIZATION
--------------
THE INITIALIZATION ROUTINE CLEARS CERTAIN REGISTERS, SETS UP
THE UUO TRAP, SETS UP THE PUSH DOWN LIST, AND INITIALIZES
THE PRINTOUT IN EXEC OR USER MODE.
11.2 PROGRAM SIMULATION, MACHINE TIMES PRINTOUT (SIMPRG)
------------------------------------------
THIS PROGRAM SIMULATION ENTRY TO THE SIMULATOR ALLOWS AN
OBJECT PROGRAM TO BE SIMULATED AND ALL OR ONLY
SELECTED INSTRUCTIONS TO HAVE THE HARDWARE MACHINE
TIMES PRINTED. TO PRINT ONLY SELECTED INSTRUCTIONS
"MASK" AND "INSTR" ARE SET UP TO SELECT THE DESIRED
INSTRUCTIONS. REFER TO 3.3. THE ROUTINE OPERATES
BY CHECKING THE INSTRUCTION FOR PRINTING AND SETS UP THE
PRINT CONTROL ACCORDINGLY; SIMULATE THE INSTRUCTION PRINTING
INITIAL AND FINAL RESULTS IF REQUESTED; RESIMULATE THE
INSTRUCTION PRINTING MACHINE TIMES IF PRINTING WAS REQUESTED,
THEN CONTINUE PROCESSING THE NEXT INSTRUCTION IN THE OBJECT
PROGRAM IN THE SAME MANNER.
11.3 PROGRAM SIMULATION, MEMORY STOP TIMES PRINTOUT (SIMMS)
----------------------------------------------
THIS PROGRAM SIMULATION ENTRY TO THE SIMULATOR PERFORMS
AS GIVEN IN 5.2 EXCEPT THAT THE PRINT CONTROL IS SUCH
THAT ONLY THE HARDWARE MACHINE STATES THAT CORRESPOND TO
MEMORY STOPS ARE PRINTED DURING THE MACHINE STATES
PRINTOUT.
MAINDEC-10-DAKDB.TXT
PAGE 16
11.4 PROGRAM SIMULATION, INITIAL/FINAL PRINTOUT (SIMIF)
------------------------------------------
THIS PROGRAM SIMULATION ENTRY TO THE SIMULATOR IS USED TO
PRINT ONLY THE INITIAL AND FINAL RESULTS OF THE INSTRUCTIONS
IN THE OBJECT PROGRAM. THIS MODE IS THEREFOR USEFUL FOR
PROGRAM OPERATION TRACING. SELECTED INSTRUCTIONS IN THE OBJECT
PROGRAM ARE SIMULATED.
11.5 SINGLE INSTRUCTION SIMULATION, NO PRINTOUT (SMNST1)
------------------------------------------
THIS MODE OF OPERATION OF THE SIMULATOR IS USED IN CONJUNCTION
WITH DIAGNOSTIC AND RELIABILITY PROGRAMS TO COMPARE THE
ACTUAL MACHINE INSTRUCTION RESULTS WITH THE SIMULATED RESULTS.
THE SIMULATOR IS CALLED BY THE OBJECT PROGRAM.
AS LONG AS THE RESULTS AGREE, THE OBJECT PROGRAM INSTRUCTIONS
ARE OPERATING CORRECTLY AND THE OBJECT PROGRAM CAN CONTINUE.
IF THE RESULTS DISAGREE THE INSTRUCTION CAN BE AGAIN SIMULATED,
THIS TIME USING THE NEXT MODE (11.6).
11.6 SINGLE INSTRUCTION SIMULATION, MACHINE TIMES PRINTOUT (SMMT1)
-----------------------------------------------------
THIS MODE OF OPERATION OF THE SIMULATOR IS USED TO PROVIDE
THE INITIAL/FINAL AND MACHINE TIMES PRINTOUT OF A FAILING
INSTRUCTION IN THE OBJECT PROGRAM. THIS PRINTOUT CAN THEN
BE USED IN CONJUNCTION WITH A FAILING LOOP IN THE OBJECT PROGRAM
TO COMPARE THE ACTUAL REGISTER STATES WITH THE PRINTOUT BY
USE OF THE SINGLE CYCLE AND SC MAINT SWITCHES. THIS MODE OF
SIMULATOR OPERATION IS ALSO CALLED BY THE OBJECT
PROGRAM.
MAINDEC-10-DAKDB.TXT
PAGE 17
11.7 SOFTWARE PSEUDO REGISTERS/CONTROL FLAGS
---------------------------------------
ACCUMULATORS
------------
0- -TEMPORARY
1- TEMP -TEMPORARY
2- SCAD -SHIFT COUNT ADDER
3- AD -ADDER
4- CE -CONTENTS OF E
5- CAC -CONTENTS OF AC
6- CAC1 -CONTENTS OF AC1
7- IR -INSTRUCTION REGISTER
10- LH=FE/RH=SC -FE-FLOAT EXP, SC-SHIFT COUNTER
11- MA -LH=MISC BITS, IDX REG/RH=18 BIT MEMORY ADR(SEE MA SWITCHES)
12- PC -LH=MISC BITS, IDX REG/RH=18 BIT PROGRAM COUNTER (SEE PC SWITCHES)
13- BR -BUFFER REGISTER
14- AR -ARITHMETIC REGISTER
15- MQ -MULTIPLIER-QUOTIENT REGISTER
16- USER -FIRST LOC IN OBJECT PROGRAM
17- PL -PUSH DOWN LIST POINTER
MA SWITCHES
-----------
0- PALL -PRINT ALL CONTROL
1- MS -PRINT AT MEMORY STOP
2- SU -STORE IN USER LOCATION
3- EXCTF -FLOP-PREVENT FOLLOWING IT0 FROM CHANGING MA
4- EUUOF -FLOP-CAUSE FOLLOWING IT0 TO SET MA35
5- FMEN -FAST MEMORY ENABLE
6- ERR -ERROR FLAG
7- NRF1 -NORMALIZE RETURN ROUNDING CONTROL FLOP
8- EXSYNC -EX MODE SYNC
9- RUN -RUN FLOP
10- HEAD -PRINT HEADER CONTROL
11- MPF2 -MULTIPLY SIGN STORAGE
12- DSF7 -DIVIDEND ORIGINAL SIGN STORAGE
PC SWITCHES
-----------
0- AROV -OVERFLOW
1- CRY0 -CARRY 0
2- CRY1 -CARRY 1
3- FOV -FLOATING OVERFLOW
4- BIS -BYTE INCREMENT STATUS FLAG
5- USERF -USER MODE
6- EXIOT -USER IN-OUT
7-
8-
9-
10-
11- FXU -FLOATING UNDERFLOW
12- DCK -DIVIDE CHECK
MAINDEC-10-DAKDB.TXT
PAGE 18
INITIAL/FINAL SWITCHES
----------------------
0- FCE -FETCH C(E), AT FT0 BY MC RD RQ
1- FCEPSE -FETCH C(E) PAUSE, AT FT1 BY MC RD/WR RQ
2- FACINH -FETCH AC INHIBIT, CAUSES (AC) FETCH TO BE BYPASSED
3- FAC2 -FETCH AC2, CAUSES FETCH OF (AC+1) AT FT5
4- FCCLT -FETCH C(C(AC) LEFT, LH OF AC USED AS ADR AT FT7
5- FCCRT -FETCH C(C(AC) RIGHT, RH OF AC USED AS ADR AT FT7
6- SAC2 -STORE AC2, WRITE MQ INTO AC+1
7- SCE -STORE C(E), WRITE AR INTO (MA)
8- SACINH -STORE AC INHIBIT, PREVENTS STORAGE OF AR
9- SARBR -WRITE AR INTO (AC), BR INTO (MA)
10- SACZ -INHIBIT STORING RESULTS IN AC0
11- PCINH -PC INCREMENT INHIBIT, AT FT9
MEMORY REGISTERS
----------------
MASK - INSTRUCTION PRINTOUT SELECTION MASK
INSTR - INSTRUCTION PRINTOUT SELECTION COMPARISION WORD
RELOC - RELOCATION FACTOR
JA - JOB STORAGE AREA, BLOCK 200
ACS - ACCUMULATOR'S, 1ST PART OF JA
12.0 MISCELLANEOUS
-------------
13.0 LISTING
-------