Professional Documents
Culture Documents
Guidance, Navigation and Control: Laboratory
Guidance, Navigation and Control: Laboratory
AND CONTROL
Approved: Date :
ELDON C. HALL, DIRECTOR, DIGITAL DEVL.
Approved:
VIGATION PROGRAM
Approved:
E-2065 ~ ,
by
Edwin D. Smally
December 1966
INSTRUMENTATION
CAMBRIDGE 39, MASSACHUSETTS-
LABORATORY
ACKNOWLEDG.EMENT
2
ADDENDUM 1
E-2065
C. ERASCHK
If the difference is -1, the contents of the two r e g i s t e r s are complemented and
the complement of the lower r e g i s t e r added to the contents of the higher r e g i s t e r ;
the r e s u l t is checked f o r -1. If the r e s u l t is not - 1 , T C to PRERRORS as noted above.
If the r e s u l t is -1, r e s t o r e the previous contents to the two r e g i s t e r s , and proceed to
the next iteration. The higher a d d r e s s r e g i s t e r of the past iteration becomes the lower
a d d r e s s r e g i s t e r of the next iteration. The e r a s a b l e memory banks are checked f r o m
z e r o through seven with common e r a s a b l e (60-1374) being checked a f t e r each e r a s a b l e
bank.
D. Future Reassemblies
Future r e a s s e m b l i e s of Sunburst w i l l not be protected by c u s s if a bank is loaded
to the point of not leaving room f o r the two TC selfs normally preceeding the Bugger
word. The 206 version of SELF-CHECK r e q u i r e s the two TC selfs in o r d e r f o r
ROPECHK o r SHOWSUM to work with the resulting program. (The 258 version of
SELF-CHECK does not require the two T C s e l f s f o r ROPECHK o r SHOWSUM to work. )
E-2065
ABSTRACT
This r e p o r t is in two main sections. The first section contains the operating
procedures to be uti!i.n.-d by p e r s o n s using the SELF-CHECK o r SHOW-BANKSUM
routines. It a l s o h a s block diagram flow c h a r t s which should help explain how the
operating procedures of SELF-CHECK may be used f o r diagnostic purposes. The
procedures f o r SELF-CHECK a r e slightly different in BLOCK I and BLOCK 11 while
the procedures f o r SHOW-BANKSUM are the s a m e .
The second sectionof this r e p o r t goes into a n explanation of SELF-CHECK
and SHOW-BANKSUM. The explanation of SELF-CHECK consists of an explanation
of the computer internal selfcheck and an explanation of the check of the DSKY
electroluminescents. T h e r e is a s e p a r a t e description of each subroutine in SELF -
CHECK and SHOW-BANKSUM. T h e r e is a l s o a s e p a r a t e flow chart, located in the
appendix, f o r each subroutine. This section should prove helpful t o field engineers
in locating the cause of malfunctions in the computer.
A l l numbers in t h i s report a r e octal unless specifically mentioned otherwise.
The two subroutines that check the multiply and divide arithmetic functions
of the computer w i l l be removed f r o m flight ropes. Figure 1 shows that placing a
&6 o r rt7 in the SMODE r e g i s t e r w i l l allow the computer t o loop in either the
arithmetic multiply o r arithmetic divide subroutines if these subroutines are p a r t
of SELF-CHECK. Placing a k 6 o r 5 7 in the SMODE r e g i s t e r w i l l e x e r c i s e the internal
computer self-check when these two subroutines a r e removed f r o m SELF-CHECK.
Thus, k6, *7, o r ~ 1 all
0 perform the s a m e function when t h e a r i t h m e t i c multiply and
arithmetic divide a r e removed from SELF-CHECK.
by Edwin D. Smally
December 1966
3
1
TABLE OF CONTENTS
Page
CHAPTER
P r o c e d u r e to S t a r t SHOW-BANKSUM 15
P r o c e d u r e t o Display Next Bank 15
Procedure to Stop SHOW-BANKSUM 15
5
Page
DXCI-I+DIM 20
DAS+INCR 20
MPCHK 21
DVCHK
21
MSUCHK 21
MASKCHK 21
NDX-t-SU 21
D- -SC 21
D--LCHK 21
ADDRCHK 21
RUPTCHK 22
IN-OUT1 22
IN-OUT2 22
IN-OUT3 22
Check of Special a n d C e n t r a l R e g i s t e r s 22
COUNTCHK 22
0-UFLOW 23
Check of E r a s a b l e Memory 23
ERASCHK 23
CNTRCHK 24
CYCLSHFT 24
Check of Rope Memory 24
ROPECHK 24
Check of Multiply A r i t h m e t i c Function 25
MPNMBRS 25
Check of Divide Arithmetic Function 25
DVlCHK 26
DVZCHK 26
DV4CHK 26
DV5CHK 26
4 EXPLANATION O F DSKYCHK
27
5 EXPLANATION O F SHOW-BANKSUM 29
APPENDIX 31
6
r
PART I
7
I I
I
*l
I
I I
CHECKED (INCLUDES IN-OUT PULSES)
I I
"L"
I
*3
I
*lo
OR
I
*5
- ___ -ZERO
FIXED MEMORY
1
7-+
*7 ARITHMETIC DIVIDE
[* *l,l
4
put +O i n SMODE
(go to backup idle loop)
8
+4 octal: checks e r a s a b l e memory.
+5 octal: checks fixed memory.
+6 octal: an extensive multiply arithmetic check.
+ 7 octal: an extensive divide arithmetic check.
+10 octal: checks everything in the previous seven options (internal
self- check of the computer).
t.11 octal: turns on the electroluminescent displays in the DSKY.
-zero: this option is the s a m e a s the 210 options until a n e r r o r
is detected.
+zero: does not purposely check any p a r t of the computer.
P r o c e d u r e to S t a r t SELF-CHECK
V = Verb
N = Noun
E = Enter
Malfunction Indication
9
0Start
r
-NON-ZERO ,-"-(c~ TC SFAIL
(continue with
SELF-CHECK
I +NON-ZERO
I)
Put +O in
SMODE and
idle
l"----
(increment SCOUNT)
Erasable registers -
--
(increment SCOUNT +1)
Fixed memory
register
- c(Q) put in
SFAIL register
increment SCOUNT)
Arithmetic Divide ERRORS
L"
(increment SCOUNT + 2 )
I
The above block diagram indicates the flow of SELF-CHECK when rtl0 o r -zero
is put in the SMODE register.
10
Steps 3 and 4 w i l l be omitted i f the contents of the FAILREG r e g i s t e r is not
+zero. A computer "FRESH START" w i l l s e t the SMODE, SFAIL, FAILREG, and
ERCOUNT r e g i s t e r s to +zero. A computer "RESTART" w i l l s e t the SFAIL r e g i s t e r
to +zero.
If a second malfunction is located,41102 is put in the FAILREG r e g i s t e r but
steps 3 and 4 a r e omitted, Steps 3 and 4 are omitted f r o m a l l s u c c e s s i v e malfunctions
until the FAILREG r e g i s t e r is made + z e r o ( n o r m a l l y by performing a "FRESH START").
It is possible to leave SELF-CHECK on f o r a long period and keep t r a c k of
the number of malfunctions that have o c c u r r e d by observing the ERCOUNT r e g i s t e r ,
The SFAIL r e g i s t e r w i l l contain the e r r o r a d d r e s s + l of the l a s t malfunction.
The " p r o g r a m alarm'' light on the DSKY is used by other p r o g r a m s beside
SELF-CHECK. T h e r e f o r e , the FAILREG r e g i s t e r (1363) should be observed to verify
what type of malfunction o c c u r r e d should this light come on. An octal number 01102
in this r e g i s t e r indicates a SELF-CHECK e r r o r . R e g i s t e r s SFAIL (1364) and ERCOUNT
(1365) should be observed,, and probably recorded, i f there has been a SELF-CHECK
e r r o r because these r e g i s t e r s contain the a d d r e s s +1 of where the l a s t e r r o r o c c u r -
r e d and the total number of e r r o r s .
11
START -(1 t o 10)
+(1 t o 10)
C(SMODE) = ( f l TO * l o )
?' I
=+
any loop formed by rtl to
and including f 10 i n SMODE
register
- put +O i n
SMODE
malfunction
indicators
and idle
ERRORS t
F I G 3a
START 1 -2
I +2
4 ERRORS
4
u FIG. 3b
+10 -0
r
put +O in
SMODE
and idle
T I
S E L F -CHECK L
1 I malfuncAion
I
r e t u r n to next line and continue
FIG, 3c
12
Figure 3b shows what happens when 22 is in the SMODE r e g i s t e r and an
e r r o r is detected. The SCOUNT r e g i s t e r is incremented at the beginning of each of
the subroutines that make up the internal computer selfcheck, even if they are run
through consecutively as they a r e when 210 of - z e r o is in the SMODE r e g i s t e r .
F i g u r e 3c shows what happens to the options of SELF-CHECK controlled by
+lo o r - z e r o being in the SMODE r e g i s t e r , The r e a d e r should also look a t Figure 2
to observe how the 51 to 27 options are run through consecutively when 210 o r - z e r o
is in the SMODE r e g i s t e r . If a n e r r o r is detected while +10 is in the SMODE r e g -
i s t e r , it is replaced by a +zero. If a -10 is in the SMODE r e g i s t e r , the internal
computer self-check is s t a r t e d at the beginning again. If a - z e r o is in the SMODE
r e g i s t e r , the computer goes back to continue checking the internal computer self-
check a t the nextline f r o m where the e r r o r was detected. Of course the mal -
function indicators are updated e v e r y time an e r r o r is detected,
13
CHAPTER 2
This routine has its own Verb (56) so it is very e a s y to s t a r t . The informa -
tion f o r bank 00 appears in R1, R2, and R3 of the DSKY immediately a f t e r starting
SHOW-BANKSUM. ;:<
STARTING PROCEDURE V56E
The oper&tor must punch in the " terminate" verb when he is through with
SHOW-BANKSUM. This terminates the SHOW-BANKSUM routine in the EXECUTIVE.
TERMINATE PROCEDURE V34E
15
.
c
.. I
CHAPTER 3
T C+T C F
CCSCHK
BZMFCHK
RESTORE 1
RESTORE2
RESTORE3 checks almost a l l pulses,
3 5 to 4 5 milliseconds.
BZFCHK
DXCH+DIM
DAS+INCR
MPCHK
17
The only non- programmable instruction that is checked is PINC, which is
checked in the RUPTCHK subroutine. The fact that TIME3 interrupts 2 1 / 2 mil-
liseconds a f t e r TIME4 a s s u r e s the p r o p e r functioning of a l l the pulses in this in-
struction. It is not possible to check the pulses in the other non-paogramma.ble in-
structions.
N o particular effort h a s been made to check the pulses associated with the
S, Z , and SQ r e g i s t e r s , Some of these pulses a r e used in e d e r y memory cycle and
the fact that SELF-CHECK is successfully completed a s s u r e s the existence of
these pulses,
A s h o r t description of the pulses checked by each subroutine in the pulses
section of this r e p o r t w i l l now be given:
1 -
correctly and that c(A) is c o r r e c t a f t e r each branch. It
w a s n e c e s s a r y to perform a fifth CCS to make s u r e the CI
pulse forced the result of a 21 to be +O. A l l of the CCS pulses
a r e checked except RB-WG,
This subroutine a l s o checks pulses associated with CS fixed,
e r a s a b l e , and special and central memory. Also those as-
sociated with a TS to erasable memory.
The fact the BZMF instruction should jump when the c(A) 5 0
and that it should not jump when c(A) = +NON-ZERO is ch-
ecked. Also that is does not jump when c(A) is overflow
with + O (01-00000).
RESTORE1 This subroutine checks the ability of the NDX, CCS, AD, MSU,
SU, CA, and MASK instructions to read the original contents
back into erasable memory. The normal operation of these
instructions a r e not of p r i m a r y importance.
19
The NDX e r a s a b l e , CA e r a s a b l e , and MASK e r a s a b l e in-
structions a r e used and checked for the first time.
DXCH+DIM DXCH+DIM checks all of the pulses used by the DXCH and
the DIM instructions. It a l s o checks the pulses used by
the TS with overflow, TS s p e c i a l and central, CA special
and central, and AD e r a s a b l e instructions.
DAS+INCR This subroutine checks a l l of the pulses in the DAS and INCR
instructions. It a l s o checks the pulses used by the DCA
fixed m e m o r y , DCS fixed m e m o r y , LXCH special and central,
and XCH special and c e n t r a l m e m o r y instructions.
20
MPCHK The MPCHK subroutine checks all of the pulses used by
the NIP, AUG, and ADS instructions. The AUG and ADS
instructions are utilized in the p r o c e s s of checking the
four sign combinations possible in multiply.
MASKCHK MASKCHK checks the pulses in the MASK that have not
previously been checked.
-
D -SC T h e D--SC subroutine checks that DCS, DXCH, and DCA
can be performed on s p e c i a l and c e n t r a l registers. A
DXCH and DCS is performed on the L r e g i s t e r because the
o r d e r sequence of pulses can be checked more thoroughly
by using this r e g i s t e r .
-
D -LCHK T h i s subroutine was written t o check that the o ~ e r f l o wbit
disappeared when a word went into and out of the L r e g i s t e r
and to make s u r e that the Q r e g i s t e r was capable of holding
1 6 bits.
21
RUPTCHK The main purpose of this subroutine is to make s u r e that
a n overflow-underflow condition in the A r e g i s t e r will
hold off an interrupt. It a l s o checks that INHINT w i l l
a l s o hold off an interrupt and that a waiting interrupt w i l l
interrupt immediately a f t e r the RESUME instruction. The
basic operation of TIME3, TIME4, and the WAITLIST a r e
a l s o checked since they are all used by this subroutine.
22
O-UFLOW- Checks that all overflow and underflow bit combinations
a r e generated by the adder and a r e written into and out of
A, B, C, and Q r e g i s t e r s . The procedure used is to count
down, by one, f r o m maximum positive o\'erflow and neg-
ative underflow conditions until the overflow-underflow con-
dition does not exist. Again there is a check that each s u c -
cessive number is one l e s s than the preceding number.
Check of E r a s a b l e Memory
This p a r t of SELF-CHECK makes s u r e that is is possible to read a "1" and
a "0" into and out of each bit position of e r a s a b l e m e m o r y with the following excep-
tions. Registers 1377, 1376, and 1375 a r e not specifically checked in this p a r t of
SELF-CHECK because they have previously been thoroughly checked while checking
the special and central r e g i s t e r s , These t h r e e r e g i s t e r s a r e required for storage
while checking the r e s t of e r a s a b l e memory. The special e r a s a b l e r e g i s t e r s f r o m
6 1 down through 10 a r e only addressed to s e e i f a parity e r r o r occurs. Finally
the cycle and shift r e g i s t e r s a r e checked by putting a combination of alternate z e r o s
and ones i n these r e g i s t e r s and making s u r e the c o r r e c t operation is performed.
Following is a s h o r t description of the subroutines in this p a r t of S E L F -
CHECK:
M.
23
CNTRCHK The CS instruction is performedon all e r a s a b l e r e g i s t e r s
f r o m octal 60 through octal 10. T h e s e include all counters
and o t h e r special e r a s a b l e r e g i s t e r s . It is not feasible to
put t h e i r own a d d r e s s i n these r e g i s t e r s and check t h e i r
contents because of t h e i r s p e c i a l use.
24
its bank number SELF-CHECK goes to the e r r o r routine.
The banks irre checked i n ascending o r d e r .
of the computer. Therefore the long activity time of these subroutines may be ut-
ilized to check normal operation of the computer in conjunction with asynchronous
and synchronous interface signals. The c o r r e c t r e s u l t of each multiply and each
divide is verified before proceeding on. The procedure gone through i f a n e r r o r
is found is described in the “operating procedures’’ section af this report.
A description of the multiply subroutine is below:
25
DVICHK Divides +/17777/+/37777/ by +/20000/. The contents of
the A r e g i s t e r a n i L r e g i s t e r have opposite signs before
the division. The quotient is +/37774/; the sign depends
on the sign of c ( A ) and the sign of the divisor. The r e -
mainder is 21 depending upon the sign of the contents of the
A r e g i s t e r before the division.
26
CHAPTER 4
EXPLANATION O F DSKYCHK
DSKYCHK F i r s t the digit "9" is displayed in the R1, R2, R3, Verb,
Noun, and PROG positions of the DSKY. The digits 8
through 0 a r e then each displayed in a l l the possible dis -
c
plays on the DSKY. The next display leaves a l l zeros in
the DSKY and turns on the "computer activity" light and
the "verb" flash and the "noun" flash. The l a s t display h a s
only the "computer activity'' light on, Finally the DSKY is
left completely blank.
27
CHAPTER 5
EXPLANATION O F SHOW-BANKSUM
I
SHOWSUM Each bank i n the rope is summed separately; f r o m the lowest
a d d r e s s to the highest a d d r e s s used in that bank. The contents
of a higher a d d r e s s a r e added to the s u m of the previous ad -
d r e s s e s . If this c r e a t e s a n overflow condition a +1 is added
to the new s u m ; a -1 is added to the new sum i f a n underflow
condition is created. The sum of each bank should be plus o r
minus i t s own bank number. The sum of the bank is dis-
pla,yed i n R1 of the DSKY. The bank number (actual bank
number used to s u m the ba.nk shifted 5 places left) is dis-
played in R2 and the bugger word is displayed in R3. Entering
a proceed verb (33) f r o m the DSKY w i l l display the s a m e in-
formation f o r the next higher bank, Entering a terminate
verb ( 3 4 ) f r o m the DSKY w i l l end the SHOWSUM routine.
29
.
APPENDIX
The flow c h a r t s in t h i s appendix use both AGC instructions and word descrip-
tions to explain the subroutines. The purpose w a s to use word descriptions most of
the t i m e and utilize instructions only where they were n e c e s s a r y to make the overall
picture c l e a r .
Some explanation of symbols:
c(X) m e a n s contents of X r e g i s t e r
SKEEPl through SKEEP7 are e r a s a b l e r e g i s t e r s ,
31
TC + T C F
1
I TC CCSCHK I
c
to CCSCHK
32
CCSCHK
- 3 in A register
I
b(A) =fO
b(A) = +NON-ZERO
b(A) = -NON-ZERO
c(A) = +2
b(A) = +NON-ZERO
c(A) = +1
_ _ ~
b(SKEEPI) = -NON-Z
b(SKEEP1) = +NON-ZERO
c(A) = +O
b(A) = +O
c(A) = +O
+ b(A)=+o
h(A) = +NON-ZERO
erasable memory f e a -
ture of CS instruction
to BZMFCHK
,
BZMFCHK
jumps
v
BZMFon overflow with
+0(01-00000) and see i f rou- jumps
tine continues o r jumps
continues
jumps
1
BZMF on -0 and s e e if rou-
t i n e continues o r jumps continues
Ijumps
go t o RESTORE1
34
RESTORE1
;
put 00177 in SR r e g i s t e r
I
+ YES
MP, DV, shift right r e -
gister and check c(SR) still NO
+1
IYES
go to RESTORE2
35
RESTORE2
put +1 in S K E E P l ERRORS
put -1 in SKEEPZ I
L
DCS S K E E P l and 2
check c ( L ) f o r "1
NO
rES
go t o RESTORE3
36
RESTORE3
y 2
put +1 in A r e g i s t e r
and go t o S K E E P l
-2
check c(A) f o r +l a f t e r
coming back f r o m e r a s a b l e NO -
memory
1
IYES
SKEEP1
coming back f r o m e r a s a b l e
memory
lYES
go to BZFCHK
BZFCHK
1I
ERRORS 1
I B Z F on tNON-ZERO and
see i f routine continues o r
1 I
jumps
--res
jumps
I
B Z F on-NON-ZERO and
s e e i f routine continues o r jumps
continues
I B Z F on overflow w i t h I
+0(01-00000) and see i f
routine continues o r jumps
1
continues
1 continues
B Z F on +O and see if
routine continues o r continues
jumps
jumps
v
B Z F on - 0 and s e e if
routine continues o r . ”” -
” continues ”
jumps
jumps
1
go to DXCH+DIM
DXCH+DIM
I ERRORS
1
1
in A r e g i s t e r
TS SKEEP2 no jump
jump
T
put -1 in SKEEP2
put 40000 in L r e g i s t e r
put 37777 in A r e g i s t e r
YES
check c(SKEEP1) f o r 3 7 7 7 6
and c(SKEEP2) for 40001 NO
*l Y E S
DIM +O and check if r e s u l t
is +O N O
b
1"-
go t o DAS+INCR
39
D- -LCHK
.I
f o r m underflow in Q r e g i s t e r
Q
A I no jump
Ino jump
I check c ( A ) is -1 NO
ADDRCHK
rEs
put 20000 in A and Q r e g i s t e r s
lYES
go to RUPTCHK
40
DAS+INCR
put - 1 in L register
and +2 in A register
*
-~
DAS A and check c(A) NO
for +4 and c(L) for - 2
LI-"DAS SKEEP3
check c(A) for +O
check c(L) f o r +1
check c(SKEEP3) f o r +1
check c(SKEEP4) f o r -1
NO
NO
and check for - 0
check c(A) f o r - 1
check c(SKEEP1) for +1 . NO
check c(SKEEP2) f o r - 2
go to MPCHK
41
MPCHK
put +1 in A r e g i s t e r
and AUG A r e g i s t e r
AD L and multiply
37777 by - 2
*
ADS L and check
NO
YES
!
1
". "
put -1 i n SKEEPG,
I check c-(A) f o r +i
and c ( L ) f o r 37776
4.2
DVCHK
"" no &!E!.E
r
divide -(O) + ( 2 0 0 0 0 ) by ( 0 0
and check that c(L) = t O NO
( 2 0 0 0 0 ) by - ( O O O O l )
check c(A) f o r 20000
and c(L) for - 0
_ I _ " ~ - I _
""
QXCH S K E E P l and
check c(Q) f o r +1 NO
and c(SKEEP1) f o r +3
rES
go to MSUCHK
43
MSUCHK
- ERRORS
MSU (77777) (77777) NO
A
and check c(A) is "0
YES
YES
*
go to MASKCHK
44
MASKCHK
kES
1- .
put +1 in A, L, and S K E E P l
registers
S K E E P l and NO
check c ( A ) +1
check c(A) -1 t
NO
YES
to D--SC
45
D- -SC
put +2 in L r e g i s t e r and
I YES
put -1 in Q r e g i s t e r and
+1 in A r e g i s t e r ( c ( L ) = +O)
go to D--LCHK
46
D--LCHK
"I
form underflow in Q r e g i s t e r
CS Q no jump
TS A
NO " ...
"- - - l
ADDRCHK
jump
check c(A) is C l NO
47
RUPTCHK
h a s incremented
loop in overflow-underflow
loop for 2 - 1 / 2 MS
INHINT and
1 check if an interrupt
did o c c u r NO
YES
[ c h e c k if c(ZR!PT, is c0rrect-L- NO
YEsl
go to SMODECHK
48
IN-OUT1
put - 1 in Q r e g i s t e r using
NO
NO
and check f o r - 1
""
YES
NO
go to IN-OUT2
IN-OUT2
and 37776 in A r e g i s t e r
ROR L
and check c(A) f o r -1 NO
4';
put 37'776 in A r e g i s t e r
WOR L
and check c(A) and c(L) f o r -1 NO
50
IN -OUT 3
put 40001 in L r e g i s t e r
put 17777 in A r e g i s t e r
RAND L
and check c(A) is +1 I" NO
IYES
r"
put 1 7 7 7 7 i n A r e g i s t e r
WAND L NO
check c(A) and c ( L ) is t l
put - 5 in L r e g i s t e r
put +6 in A r e g i s t e r
RXOR L
check c(A) is - 3 NO
check c(L) is - 5
YES
t
go to COUNTCHK
51
COUNTCHK
I
I
ERRORS
d
I
-+-NON-ZERO
1c
AD c(L) and
check for -1 - NO
YES
1
put complement of c(SKEEP6)
in Q r e g i s t e r
3
put c(A) in SKEEP6
I
AD SKEEP7 to c(A)
1
and check for - 1 - 0
I
YES
+1
INCR SKEEP7 1
I I
add c (SKEEP7) and'c(SKEEP6)
and check for -0 NO
YES I
go to 0-UFLOW
52
. 0-UFLOW
-NON-ZERO
-
I
+-
add c(SKEEP4) and c(SKEEP5) NO
and check result is - 1
I
I I
CA
DIM
SKEEP4
SKEEP5 I i
NO I
".
I t
YES
check c (SKEEP NO " i
"J
"F"
go to SMODECHK
ER-lSCHK
. -
put + 1 in SKEEP4 II
-alizk-tc;ch:ck EBANK z e r o I
I
t /was an e r a s a b l e banks o r
1 make s u r e c(EREST0RE) # +O 1 unswitched e r a s a b l e c h e r b d
+ ERRORS
r7j
1 put own a d d r e s s in X and X+1
J registers
t
check that the-er NO
c(X) and the complement of unswitched
Bank checked l a s t erasable
c(X+1) is -1
checked l a s t
I
check t h X G i Z h G G r
t h e c(X+I) and the complement
of ctX) is -1
- NO
Initialize unswitched
erasable memory.
put +O in SKEEP4
CEP4 T
I
YES
check if t h r o u g t
YES 1 NO
unswitched erasable go t o CNTRCHK t
1 initialize t o checks
EBANK 1,3,4, 5,6, 7
CNTRCHK
1
CS e r a s a b l e a d d r e s s e s
-
60 through 11 octal
i
I +O
go to CYCLSHFT
55
CYCLSHFT
I 1
YES
increment SCOUNT +l
go to SMODECHK
56
ROPECIIK OR SHOWSUM
put - 0 in SKEEPfi
I Lput t 0 in SMODE.
K
inftialize SELFRET to a d d r e s s
o.f&
G
:L
!!
7""-
""
___-
1
is s u m of bank t h e s a m e display (I)SU=f bank, ( 2 ) actual
a s bank n u m b e r bank, number, and ( 3 ) bugger
word in R1, R2, and R 3 of the
NO YES
I I
t
I kind of bank is t o be I
1 what
checked next 7 I
common fixed lflxed fixed
i
is bank 02 next banks is bank 04 next bank to b e
to be checked checked
NO YES
initialize to check
s e t flag t o check fixed
fixed banks 02 and 0 3 r e s t of common banks 0 3
I
fixed banks
57
MPNMBRS
put 37777 in A r e g i s t e r
I A
I
AD c(L) and 40000
to c ( A ) r e g i s t e r and NO
check result is -0
YES
I
check for new job
/-down
1 c ( S K E F
1
"
last multiplier
rEs
to second multiply loop
58
.
I
G=l
multiply by c(SKEEP2)
put - 1 in A r e g i s t e r
YES
NO
59
a
MPNMBRS (Cont’d)
I
1I- - “
put 37777 in SKEEPl
I
check for new job
1
count down c(SKEEP1) by one
NO
w a s 00001
I
check that last multiplicand
YES
7
go to fourth multiply loop
I
c
MPNMBRS (Cont’d)
put 37777 in S K E E P l
r”--l
ERRORS
check c(A) is - 0 NO
F - K E E P - c
and check r e s u l t is
“NO
r i -
check that last multiplicand
L-NO w a s 00001
YES
go to SMODECHK
61
DVCHECK
increment SKEEP4 r e g i s t e r
put 20000 in S K E E P l
put -(20000) in SKEEP2
put -(37777) in L r e g i s t e r
put 17777 in A r e g i s t e r
divide + 1 7 7 7 7 - 3 7 7 7 7 by 20000
r"--l
ERRORS
L
YES
divide "177'77-37777 by 20000
add (SKEEP7) t o c(A) and check - NO
r e s u l t is -0. Check that c ( L )
is +1
YES
divide - 1 7 7 7 7 + 3 7 7 7 7 by 20000
put c(A) in SKEEP6
add c(SKEEP7) to c(A) and check
that r e s u l t is -0. Check that
c ( L ) is -1
divide - 1 7 7 7 7 + 3 7 7 7 7 by -20000
add c(SKEEP6) t o c(A) and check
result is -0. Check that c ( L ) is NO
-1. Check that c(SKEEP6) is
- 37774. -
YES
t
go t o next divide subroutine (DV2CHK)
62
DVCHECK (Cont'd)
,T
divide +17777+37777 by 20000
.I
c(L) is +37777
check that c(A) +17777 NO
DV4CHK
.
NO
check that c ( L ) is +37776
I
""L +
go t o next divide subroutine (DVSCK)
I
63
DVCHECK (Cont'd)
put +O in S K E E P l I
. "L
put -0 in SKEEP2
I
*
'7
divide +O+O by +O
put c ( A ) in SKEEP7 NO
check c ( L ) is +O I
c
YES
divide -O+O by - 0
put c(A) in SKEEP6
add c(SKEEP7) t o c(A) and NO
check that r e s u l t is -0
put c ( L ) in A r e g i s t e r
YES
divide +0- 0 by +O
add c(SKEEP7) to c(A) and
NO
.
check r e s u l t is -0. Check
that c ( L ) is - 0
YES
I
J
NO 1-j go back to
DVCHECK+3
YES (DVLOOP)
F i e m e n t SCOUNT-~
I
start SELF- CHECK again
64
ROPECHK OR SHOWSUM
put t o in SMODE.
*
initialize S E L F R E T to a d d r e s s
“--A-
set flag t o check common fixed
L n k s 00 and
pl
4
alization required t o check
a c o m E n fixed bank
-“--I_-.,
is s u m of bank the s a m e
as bank number
display ( 1 ) S U M of bank, ( 2 ) actual
bank number, and (3) bugger
I YES word in R1, R2. and R3 of the
1 ERRORS I I I
I
I ‘ 1I
y
h a s l o s t bank been checked 1,
YES I NO
-
I r-“!
what kind of b m k is t o be
checked next ?
common fixed fixed fixed
1
I
is bank 04 next bank t o be
is bank 0 2 next banks checked
to be checked
-
”
set flag t o check
r e s t of common banks 03
T
fixed banks 02 and 03
fixed banks I
L
”
initialization required
-0 +1
7
s t a r t SHOWSUM again
a- t-o- SMODCHK
dn
65
I put -0
cI
in SKEEP3
-NON-ZERO
I
I
*
initialize waitlist with r e -
+NON-ZERO
TS SKEEP3
*
I
5-12 seconds
go to backup
idle loop
1
just blanks in all
DSKY displays.
leave on computer
DISTRIBUTION LIST
Internal
.
J Ale kshun F. Grant J. Nugent
R. B y e r s L. B, Johnson D. Scolamiero
G. C h e r r y M. Johnston N. S e a r s
J. DeLisle L. Larson M. T r a g e s e r