PX1790_unicod Cmp Tec V3_Apr61 PX1790 Unicod V3 Apr61
PX1790_unicodCmpTecV3_Apr61 PX1790_unicodCmpTecV3_Apr61
User Manual: PX1790_unicodCmpTecV3_Apr61
Open the PDF directly: View PDF
.
Page Count: 664
| Download | |
| Open PDF In Browser | View PDF |
I~
UN I VA C
TECHNICAL
DOCU MENTATION
for
UNICODE
Automatic
Univac
Programming System for
Scientific
1103A
and
1105
Volume III
April, 1961
PX 1790
DIVISION OF SPURY UND CORPOUTION
UNIVAC PAil, ST. PAUL 16, MINNESOTA
VOLUME I
Page
Table of Contents .
I.
II.
INTRODUCTION.
3
GENERAL
1.
2.
3.
4.
5.
6.
III.
I-v
UNICODE Service Routines . .
Library Routines . . • . • • .
UNICODE System Tape Package .
UNICODE Sample Coding . • .
UNICODE Card Input • . •
Statistical Miscellany •.
7
49 .
· 123
· 153
• 163
· 185
TRANSLATION AND CORRECTION
1.
2.
3.
UNICODE Sentinel Blocks
. • •
Tape Merge . . . • . . •
•
Translation Phase
a. Translation Subroutines . . • • . .
b. Translators. • • • . •
. . • .
203
217
291
434
VOLUME II
Table of Contents • • • • • . • • • • • • . II-v
III.
TRANSLATION AND CORRECTION
3.
IV.
Translation Phase
b. Translators (cont.) • • • • • • • • 569
GENERATION PHASE
1.
2.
3.
Generation Set-up and Drum Loader . • • 949
Generation Subroutines.
. • 959
Generators • • • . • . • • • • • • . • • 1013
VOLUME III
Table of Contents • • . . . • . • • . • . III-v
IV.
GENERAT ION PHASE
3.
Generators (cont.) . • . . • . . . . . . 1193
V• ALLOCAT ION PHASE
1.
Segmentor • .
1461
2.
3.
All1)Cat1}r-~
1551
•
Initialization Generator . . .
1607
VI.
PROCESSING PHASE • . • .
1671
VII.
PROGRAM LISTING PHASE .
1747
VOLUME III
TABLE OF CONTENTS
IV.
GENERATION PHASE
3.
GENERATORS (cont.)
EQUATION Generation
EQUATION Generati.on No. 1
Write-Up • • • • • • • • • •
Flow Charts • • • • • •
Coding • • • • • • • • • • • •
EQUATION Generation No. 2
Write-Up (Also for EQUATION Generation No.3) ••
Flow Charts • • • • • •
• • •
• ••••••
Coding • • • • • • • • •
EQUATION Generation No. 3
Flow Charts • • • •
Coding • • • • • • • • •
·· .. .. .. .. .. .. .. .. ..
..
..
..
...
...·.......
v.
· ....
1193
1203
1211
1230
1234
1297
1352
1403
ALLOCATION PHASE
1.
SEGMENTOR
a.
b.
2.
Segmentation Setup •
Segmentation
Write-Up ••
Flow Charts
Phase I
Phase II
Coding
Phase I
Pha se II •
1461
• •
1464
1467
1477
·............
1481
1502
ALLOCATOR
a.
b.
Allocation Setup
Wri te-Up
Flow Charts
Coding
Allocation Phase
Write-Up
Flow Charts
Coding
··
·····• ·
" ·
·
·
·
·
·
.········
· · · ·· · ·• . • .
· · · • · · .. ·· . . · · · · . · .
. · · · · · · · • ·· . · · · · ·
III-v
1551
1552
1554
1561
1566
1582
TABLE OF CONTENTS (cont.)
3.
VOLUME III
INITIALIZATION GENERATOR
...........
Initialization
Notes
......
..
Generation
Flow Charts
..
Coding • • • • • • • • • • •
.....
Section I
Flow Charts
....
. ...
Coding • • • • • • •
.
.
.
.
Section II
Flow Charts • • • • •
. . . .. . . . . . .
Coding • • • • • • • •
Initialization Generation Setup
Control Section for Object Program
Write-Up • • • • • • • • • • •
Flow Charts • • • •
Coding •
• • • • • •
VI.
1612
1619
1622
1629
1639
1655
1656
1659
1662
1664
PROCESSING PHASE
Notes • • • • • • • • • •
Processor Setup Coding
Flow Charts
Coding
VII.
.. .. ... .. ..
1607
.........
...
1671
1677
1678
1705
PROGRAM LISTING PHASE
Notes • • • • .
Program Listing Setup Coding
Flow Charts •
Coding • . • •
1747
1759
1761
1796
.... ....
III-vi
EQUATION GENERATION
Equation Generation N0
5
1
The coding for an equation is generated in three stages numbered 1, 2 and
3. Number 1 produces a sorted list of symbols, No.2 eliminates some redundant
calculations, and No.3 produces the coding.
The idea of No.1 is to add parentheses to the equation (which has been
"strung out" one call word per computer word by the equation translator) and
number call words by use of the parentheses in the expression. The numbered
call words are then sorted and generator No.2 takes over.
Thus there are three passes made by No.1: processing (adding parentheses).
numbering symbols, and sorting. An explanation of each of these follows a description of the lists.
The six lists made up or used by this routine are as follows:
1) Translation List (WL)
This is the input to the routine and is
tor. It contains one call word per computer
v addresses. except that an open parenthesis
closed parenthesis is a 2 in the u address.
scription for a more detailed explanation.
produced by the equation translaword, the call words being in the
is a 1 in the u address and a
See the equation translation de-
2} Processed List (PR)
The WL list is examined one call word at a time and parentheses are added
where needed to produce this list.
3}
Numbered List (WL (same region as Translation List)
The Processed List entries are picked up one at a time. starting with the
last symbol in the list, numbered, and then transferred to the Numbered List,
with the exception of open and closed parentheses which are used to alter the
Numbers of Symbols (NS) List and are not sent to the Numbered List. (See descriptions of numbering and Numbers of Symbols List.i
4)
Sorted List (PR (same region as Processed List)
This--is- the listprodueedbyso-rtinq tire -NumberedLi st
numbers are at the beginning of the list.
1193
SO"
that
larg~r
It is the output of the routine.
5)
Parentheses List (PL)
This is a two-word-per-item list which contains a code for the type of
open parenthesis in the operation portion of the first word and the level bit
i~ one of the remaining 30 bits.
The second word contains the Processed List
address of the parenthesis in the u address of the word. This list contains
only items for open parentheses.
u
Op
oX
o0
(
(
l
v
level bit
P
)I
)
X = type of parenthesis
x =0
X
X
=I
=2
- "not special"
- level
- term
X = 3 - Library
X= 4 - POW
P = address of parenthesis in PR list.
6) Numbers of Symbols List (NS)
This list is used when producing the Numbered List.
In the Processed
List every parenthesis will have a count in the v address to indicate how many
parentheses are at this point. For example the following words might appear
in the Processed List (not consecutively):
I~p I
.
0
_ 0 0 u0 0 I [ 0 0 v0 0 6 1 Six open parentheses
10 010 0 0 0 2 10 0 0 0 4 I Four closed parentheses
For every closed parenthesis encountered in the Processed List. numbers are
added to the NS List. The number of numbers added is equal to the count in
the v address of the closed-parenthesis word. Open parentheses are handled
similarly except that numbers are deleted from the NS List. The numbers in
the NS List are in the u addresses of the words. For example. at one time the
NS List may look as follows:
1194
Op
10
NS
NS 1 0
NS 2
NS
NS
NS
NS
NS
0
3 0
0
5 0
6 0
7 0
4
I
u
v
1
o
0
2
<)
A
V
oJ
I
0
0
0
0
0
4
10
11
16
24
The last number in the list (24 in this one) is always the number added to a
symbol call word to make up the numbered symbol for the Numbered List.
length of list NS varies, of course.)
(The
The last number in the list is always
the largest still in the list but there may have been larger numbers previously. Parentheses are never put in the Numbered List; they are merely used to
Suppose we now encoun t er an open parenthesis with a count
Five is subtracted from the last address (NS7) and the last address now
alter the NS List.
of 5.
becomes NS2 and the number to assign symbols is 3.
parenthesis with a count of 7.
Later we encounter a closed
Numbers are added to the list starting with
25 since we have already used 1 to 24.
Since we must add 7 numbers the list
becomes:
Op
u
v
NS
1
1
2
3
4
5
2
3
25
26
27
30
31
32
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6 0
7 0
10 0
NSll 0
and the next symbol (if not a parenthesis) will be numbered 33.
The explanation of the three passes follows:
Processing:
A level bit is kept up to date at all times.
It starts at the rightmost
bit position and is shifted left by one every time an open parenthesis or open
absolute-value sign is encountered, and right by one for every closed paren-
1195
thesis or absolute-value sign.
One may write up to 29 open parentheses and/or
absOlute-value signs before he must close some.
That is, he may write symbols
on the 29th level but not on higher levels.
There are five types of open parentheses added to the Processed List.
These are the level, term. library, POW. and anticipation (for want of a better
name).
A level and a term parenthesis are added to the Processed List every
time an open parenthesis. open absolute-value sign or comma is encountered in
the Translation List.
A level parenthesis is put in the Processed List before
the first symbol is picked up from the Translation List and, when the equals
sign is encountered. level and term parentheses are also added.
A term
parenthesis is added at the beginning of each term, i.e., after a binary + or
- sign.
A library (LIB) parenthesis is added before each Library Routine symbol
unless there is already an unclosed library parenthesis (on the same level) in
the list.
When POW is encountered, the last open parenthesis is changed to a POW
parenthesis in the Parenthesis List (PL).
The anticipation parenthesis is added in the following places:
1)
After every multiplication, division or unary minus sign in anticipation of the next operation being POW.
(If is isn't POW, the
anticipation parenthesis will not alter the interpretation.)
2)
Before and after a library call word when there is already a library parenthesis on this level.
This is to handle the case:
( LIB ( LIB ( X » )
t
A
A
Library
where all of the parentheses have been added, i.e., none were
originally written in the expression.
This puts the rightmost
Library Routine on the highest level.
3)
After a library call word so the operands will be assigned larger
numbers than the library call word.
4)
Before every unary minus to associate the unary minus with the
operand which follows.
1196
The preceding discussion deals with open parentheses.
When closing paren-
theses, a closed parenthesis with a count of zero is added to the Processed
List and open parentheses in the Parentheses List are examined one at a time
starting with the last parenthesis item in the list.
Parentheses are closed
by adding one to the count of both the closed and open parentheses in the Processed List.
If the parenthesis just closed is not of the type sought, it is
deleted from the Parentheses List by subtracting 2 from its address in the
Parentheses List.
This puts the next parenthesis "on deck"
continues until the type of parenthesis sought is closed.
After this the pa-
renthesis is left "on deck" or deleted from the Parenthesis List depending on
circumstances.
Following is a summary of what is done upon encountering each of the symbols of an equation in the Translation List ("level" means the level due to
parentheses or absolute value signs wri tten in the UNICODE Program.)
Subscripted Variable
Libra ry Routine
Anticipation parenthesis to Processed and Parentheses lists. Variable call word to Processed List.
- 1)
Previous library parenthesis on same level, still
in Parenthesis List!
lists.
Anticipation parenthesis to
Library call word to Processed List. Antic-
ipation parenthesis to lists.
2)
No previous library parenthesis on same level, still
in Parentheses List:
Library parenthesis to lists.
Library call word to Processed List.
Anticipation
parenthesis to list.
POW
- 1)
Previous POW parenthesis on same level. still in
Parenthesis List:
Close parentheses to POW paren-
thesis (leave POW parenthesis "on deck").
POW to
Processed Li st.
2)
Previous library parenthesis on same level, still
in Parenthesis List:
Close to library parenthesis
and change it to a POW parenthesis in the Parenthesis- IA-st--{-leave- POWpa-rent-hesis
POW to Processed List.
1191
"&fldec~n}.
3)
No previous library or POW parenthesis.
Close to
last open parenthesis and change it to a POW parenthesis.
Specia I powers
(Square, Square
etc.)
Ro~t,
POW to Processed List.
Same as POW then:
"on deck").
Close to POW parenthesis (leave
Open parenthesis and
Open absolute value
sign
Increase level. Level and term parentheses to lists.
(Note that no open absolute value sign is put in
Processed List.)
Closed Parenthesis
Close to level parenthesis and delete it from Parenthesis List. Decrease level.
Closed Absolute Value
Sign
Close to level. Absolute value sign to Processed
List. Close to level and delete from Parenthesis
List.
+ or - sign
Decrease level.
Close to level.
+ or - to Processed List.
Term
parenthesis to lists.
Unary plus
Ignore.
Unary minus
Anticipation parenthesis to lists.
Processed List.
Comma
Anticipation parenthesis to lists.
Close to level parenthesis.
renthesisto lists.
essed List.)
Equals sign
Unary minus to
Add level and term pa-
(Note no comma is sent to Proc-
Close to level parenthesis.
parentheses to lists.
Add level and term
(Note no equals sign is sent
to Processed List.)
*
or I sign
Close to term parenthesis.
List.
Space period
*
or / to Processed
Anticipation parenthesis to lists.
Close to level parenthesis.
essed List.
Space period to Proc-
Jump to numbering routine.
In addition, indicator bits are kept for each term of the expression so
ambiguous sequences can be recognized and a warning printed on the typewriter.
1198
Then. if the programmer is not sure of the interpretation of UNICODE he can
rewrite the sentence and put parentheses in the expression so he will be sure
to get the correct interpretation.
The following ambiguous terms are
recog-
nized (the interpretation of UNICODE is on the right):
A POW
B POW
AlBIC = (A/B) I
LIB A POW
r
I\*Q
LJ
TQ
-
...... .LLJ
n
LIB
AlB -=
B
{ r TO
=
C
(A
POW
B)
POW C
C
-= (LIB A) POW B
\LI.LU
it\
l'1.1
(LIB Al
*
I
0
U
B
Compilation continues after the warning is printed.
Numbering!
Gall words are numbered by use of the last number in the Numbers of Symbols List (NS).
word.
The numbers in this list are in the u addresses. one number per
Two things must be known to use this list:
1.
The address of the last number in the list.
2.
The largest number put in the list so far.
(The last number in
the list is the largest in the list but not necessarily the largest number which has been in the list for this equation.)
Once a number has been in the list and has been taken out. it will not appear
in the list again.
The first number put in the list is 1.
Call words and parentheses are picked up from the Processed List starting
with the last call word (space period).
Call words other than parentheses are
numbered with the last number in the NS List; then the numbered call word is
sent to the Numbered List.
When a closed parenthesis is encountered. numbers are added to the NS
List. the number of numbers added being equal to the count associated with the
closed parenthesis.
Numbers which are added are equal to the largest number
which is or has been in the list plus 1.
The address of the last number in
the list is increased by one for each number added to the list, of course.
When an open parenthesis is encountered. the count is subtracted from the
address of thej-ast number in the Ii-st.· hence essentially deleting numbers from
the list.
1199
The space period is numbered zero.
Sorting:
The Numbered List is sorted, largest first. to produce the Sorted List
which is the output of equation generator No.1.
example, consider the following equation as input to the routine.
F~r
F (I t J) -= - X POW Y + ( SIN I u - v , )
*
Wb. •
The Processed List would be as follows (numbers above parentheses are counts
and letters below are types. where L= level, T = term, A= anticipation,
S = library, P -= POW.):
11
«F
LA
11 2 11 22 211 2 1
«I) «J)) «(-(X) POW
LT
LTA A
LT
P
4
y)
2 III
1 31 2 1 2
141
«u)-(v)
»))
+ ( «(SIN (
T LTS
1200
A LT
T
*
1 3
(w)b..
A
Numbering the symbols:
~.
is numbered zero and sent to Numbered List.
Symbol
Numbered List
Number
Symbol
NS List
fl.
)
(
fl.
3
W
2
*
9
I
11
V
10
-
13
U
1,2,3
W
I
0
1,2
."
r ••
I
)
1,2.4
4
)
1,2,4,5,6,7,8
I
)
1,2,4.5,6,7,8,9
I
2
)
1,2,4,5,6,7,8,9,10,11
V
1
(
1,2,4,5,6,7,8,9,10
2
)
1,2,4,5,6,7,8,9,10,12,13
U
1
(
3
(
1
(
1,2,4,5,6,7,8,9,10,12
1,2,4,5,6,7.8
1,2,4,5,6,7
SIN
7
SIN
1
+
Y
17
Y
POW
17
POW
c'
('
('
(2
1,2,4,5,6
1,2,4,5
1,2,4
1
+
4
)
I
1
)
1,14,15,16,17
1,14,15,16,17,18
1201
Symbol
Numbered List
Number
Symbol
NS List
X
18
X
16
-
22
J
24
I
20
F
2
(
1,14,15,16
-
,
(
1.14,15
I
(
1,14
(2
list empty
2
)
19,20
)2
19,20,21,22
J
('
19,20,21
('
19.20
)2
19,20,23,24
I
('
19,20,23
('
19,20
F
('
19
('
list empty
Note:
Numbers over parentheses denote count of parentheses occurring
at this point.
Sorted Li st:
I
J
F
X
Y
POW
}
both numbered 17 but operands always have larger call words
than operations.
Unary
U
V
Binary
SIN
W
+
6.
1202
Equation Generation No. I
e
Level (
to lists
Set up
Sing]~\
CW~A
oper~
NO
~\
-~,
Special
POW's?
(op~~
YES
(closed) n--~
- ?
YES
0-{
~
?~
YES
~N_O___
(a_s_s_u_m_e_~
__._)_____________~
=1
A
= Anticipation
~
SSe
Sym
variable
Processed List
A
Trans. List
+ 1
(
~lists
LIB
Prev. LIB?
NO
LIB (
to lists
Set LIB ind.
YES
.....
(\j
0
.t::..
A(
to lists
YES
Special
POW's
Prev. LIB?
NO
Close to
LIB
Change LIB
to POW
Set POW Ind.
Change last
(to POW
NO
Prev. POW?
Close to
POW
A(
to lists
Lower level
~
Unary
A ( to
lists
XB
vz
A ( to
lists
Close to
level
Level ( to
lists
Level ( to
lists
Term ( to
lists
=
Close to
level
*
LIB ind.
set?
Set ambig.
ind.
Clear LIB, POW,
/ indicators
Term ( to
lists
VB
;:J
Prev. I
this level?
NO
YES
Set I
indicator
LIB ind.
set?
NO
YES
Set ambig.
ind.
Clear LIB &
POW
indicators
POW
VI
VI26
Ambig.
terms?
YES
Print
warning
NO
Setup num·bering rout.
Open Parenthesis to Lists (VY)
~--.:IM
( to Proc.
List
I---~
Code & level
of ( to (
list
t---~
Proc. List
address to
( list
' - -_ _ _ _----1
Symbol to Processed List (VZ)
Close Parentheses (VW)
.....
N
o
co
"
-a
)
( sought?
Proc.
List
NO
Next ( from
~ list
(
+ I and
) +I
Delete ( from
( Ii st
YES
(
)
+
+
I
I
and
Delete from
( list?
YES
Delete it
NO
Proc. List
+
I
Clear Indicators (VB)
Clear LIB, POW.
I ind. this
level this term
~------~~
Check for Ambiguity (XB)
Ambig.
this term?
YES
Set indicator
for print at
end of sent.
(see l:::.. coding)
NO
NUMBERING ROUTINE
( no. = 1
( ?
No
)?
Number sym.
list
~
YES
Take nos.
out of list
Sort Routine
Sort nos.
largest
first
Yes
Add nos.
to list
Equation Generator No. 1 Regions and Coding
Region
Address
VD
2512
2523
2532
2616
VB
VC
VE
VI
VJ
VI(
VL
VM
VN
VO
VP
VQ
VR
VS
VT
VU
VW
VX
VY
V~
XA
XB
XC
SR
VA
PR
NS
PL
WL
NT
Setup
Clear Indicators
Constants
Switch
~
lTI7
V,"
VB
Name or Symbol Handled
••
I.-~~_~~
...
~,J
~UU~~L~p~CU
2660
2674
2752
2760
2770
3003
3013
3020
3033
3044
3062
3075
3077
3114
3147
3172
3202
3220
3226
3230
3236
3244
3324
3351
4351
5351
2242
2774
IT _ _
~_I.-l~
VdL~dU~C
Library Routine
Special POWS
Open Parenthesis and Open absolute
Closed Parenthesis
Closed Absolute Value
+ or Unary Comma
-=
*
!
POW
l:::..
Numbering Routine
Close Parentheses
(+1 and) +1
Add Parenthesis to List
Symbol to Processed List
Tra n s . Lis t +1
Check for Ambiguity
Constants
Sort Routine
Variable
Pro ces sed Li st
Numbers of Symbols List
Parentheses List
Translation List
Close to level and Sym- Processed List
1211
Setup Equation Generation
IA
0
1
2
3
4
5
6
7
10
MJ
RP
TP
TP
RP
TP
TP
RJ
MJ
CA
VY
0
VOll
(30000)
VD3 }
VA
VA
VD6 }
VA6
VY2 }
VYI
VE
IA XA
VA6
VCl
MJ
0
VE
CA
XA2
o RA
1
VO
0
13025
VC
VC4
30004
VC60
VC44
Exit
Clear variables
Level bit
Set Ii st addresses
Add level
-
(
to lists
@
Sym/wd list +1
-@
1212
Translation Switch
0
IA
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
W
TP
QT
EJ
EJ
EJ
EJ
QT
EJ
EJ
TP
EJ
EJ
EJ
EJ
EJ
EJ
EJ
EJ
EJ
EJ
EJ
EJ
EJ
EJ
EJ
EJ
EJ
MJ
GA
VE
VA6
(30000)
VC13
VC13
VC14
VC15
VC17
VG7
VC42
VG43
Q
VG21
VC22
VC40
VC23
VC24
VC25
VG26
VG27
VG30
VG31
VC32
VC33
VC34
VC35
VC36
VC37
VC56
0
VE35
VEl
Q
A
VF
VF2
VH
VI
~J
Symbol- Q
}
VK
A
VJ
VL }
VL
SSe var. 77.76. 75. ~VF
Single operand - VF2
LIB - VH
POW'S - VI
(- VJ
) - VK
CW-A
I (openl- VJ
(closed) - VL
:}
:}
+ -VM
VN
VN
VO
VP
VQ
VQ
VR
VR
VS
VS
VT
}
Unary - - VN
, - VO
=-VP
}
* -VQ
}
/ - VR
}
POW - VS
Assume /:)..
- -VM
1213
Subscripted Variable
0
I
2
3
IA
TP
RJ
RJ
MJ
CA
VF
VC
VY
VZ
0
VF4
VY2
VYI
VZI
XA
}
o (- lists
Subscripted variable to Processed Li st
-
a
Libra ry Routine
®
0
I
2
3
4
5
6
7
10
II
12
13
IA VH
TP VA
QT VA3
ZJ VH12
QS VC55
TP VC46
RJ VY
RJ VZ
TP VC
RJ VY
MJ 0
TP VC
MJ 0
CA VH14
~HJ
VA3
VY2 }
VYI
VZl
VY2 }
VYI
XA
VY2
VH5
LIB? - VHl2
No ,
Set LIB
LIB (- lists
Lffi- Pro. List
o (- lists
-0
-@
o (- Ii sts
1214
Special
IA Vi
TP VA
QT VA4
ZJ VI51
QS VC55
QT VA3
ZJ VI34
TP VAll
ST VCI
TU A
TO (30000)
RA (30000)
TV VA7
TP VC5
RA VA7
TV VAll
TP VC47
AT VA
RA VAll
TV VAll
TU VIl2
RA VAll
RJ vz
RJ VI26
TP VC
SP VC47
AT VA
RJ VW
paws
tTT
a
I
2
3
4
5
6
@
@
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
40
41
42
43
44
45
46
47
50
51
52
53
54
55
MJ
a
TP
TP
AT
RJ
TP
TP
AT
VC20
VC46
VA
VW
VAll
VC47
VA
VAll
VA
VA3
VA
VC55
0
VC
VC47
VA
RJ
MJ
v:w
a
CA
VI56
TV
TP
AT
RA
TN
QT
TP
QS
MJ
~I3}
pow this level?
No I
Set pow
LIB? - VI34
No I
VA4
tI6 }
~Il~
VI51
Add I to count of last open
VI12
VC4
VI14 } } (count of one) - Pro. List
(300001
Increase add. of Pro. List
VCl
VI20 } POW
(- ( list
t30000)
( list +1
VCl
VI23 } Add. of POW (- ( list
(30000)
( list + I
VCl
Sq. sqrt. etc.- Pro. List
VZI
Exit
VI27
W2}
~W3
Close to POW (no clear)
rW2}
LIB
Close to LIB (clear)
VWl
XA
(0
VW3
VWI
VI42 } Change LIB
130000)
VC2
SA3 }
SA2 }
VI25
VW2}
A
VW3
VW-l
VI46
to POW
( List +2
Clear LIB
Set print term
-@
Close to POW
-@
1215
Open Parenthesis .( and Open Absolute I
0
I
2
3
4
5
IA
LQ
TP
RJ
TP
RJ
MJ
CA
VJ
I
VA
VC44
VYI
VY
VC45 VY2
VYI
VY
0
XA
VJ6
W2}
Rai se level
Add level and term ( 's
®
Closed )
0
I
2
3
4
5
6
7
IA VK
RJ XB
RJ VB
TP VC20
TP VC44
AT VA
RJ VW
LQ VA
MJ 0
CA
VI\10
XBI
VBI
Print term checker
Clear ind.
rW2}
Clo se to level (clear) plus lower level
VW3
VWI
43
XA
Lower level
-
1216
®
Closed Absolute Value
0
1
2
3
0
1
2
3
4
5
6
IA VL
RJ XB
RJ VB
RJ NT
MJ 0
CA VL4
IA
MJ
TP
TP
AT
RJ
RJ
MJ
CA
I
VK2
-- Amb. term check
ind.
Sym- Pro. List
Close to level (clear)
0
30000
Exit
VC
VC44
VA
XW2}
Close
XBl
VBl
NTI
Clear
NT
VW
Vl
0
NT7
VW3
VWl
VZl
NT
to level (no clear)
Sym -- Processed List
Exit
+ or -
IA
0
1
2
3
4
5
VM
XB
XBl
RJ VB
VBl
RJ NT
NTI
TP VC45 VY2}
RJ VY
VYI
MJ 0
XA
CA VM6
RJ
- Ambiguous term checker
Clear
Close to level (no clear) sym - Pro.
Term (-- list
- 0
1217
Unary Minus
0
I
2
3
4
IA
TP
RJ
RJ
RJ
MJ
CA
VN
VC
VY
VZ
VY
0
VN5
VY2
VYI
VZI
VYI
XA
}
o (- lists
- - Pro. List
o (- lists
-
0
Comma
0
I
2
3
4
5
6
7
10
II
12
IA
RJ
TP
TP
AT
VO
XB
VC20
VC44
VA
XBI
VW2
A
VW3
VWI
RJ VW
TP VC44 VY2
VYI
RJ VY
TP VC45 VY2
VYI
RJ VY
VBI
RJ VB
MJ 0
XA
CA V013
Amb. term checker
Close to level (clear)
Add level & term ('s
Clear
-0
1218
Equals
0
I
2
3
4
5
6
7
10
IA
TP
TP
AT
RJ
TP
RJ
TP
RJ
MJ
CA
(=)
VP
VC20 VW2
VC44 A
VA
VW3
VW
VWI
VC44 VY2
VY
VYI
VC45 VY2
VY
VYI
0
XA
VPII
Close to level (clear)
J
~nn
~~~
-
@
@
@
7
10
II
12
13
14
IS
IA VQ
TP VA
QT VA3
ZJ VQ3
QS VC55 VA2
TN VA
RJ VB
TP VC
TP VC45
VW3
AT VA
RJ VW
VWI
RJ Vl
VZI
TP VC
VY2}
VYI
RJ VY
XA
MJ 0
CA VQl6
~QJ
~3}
XW2}
~
+~~Llli
O~WI
( t '"
\
~
0)
Floating and Fixed
0
I
2
3
4
5
6
~
1 aua 1
~~v~~
*
LIB' no -
@
Set print term
Clear LIB, POW, I
Close to term (no clear)
* - Pro. List
o (- lists
- 0)
1219
Floating and Fixed /
0
1
2
3
4
5
6
7
10
11
12
@
33
IA VR
TP VA
QT VA5
ZJ VR6
QS VC55
QT VA3
ZJ VR6
QS VC55
TN VA
QT VA3
QT VA4
MJ a
CA VR13
~3}
VA5
~R7 }
VA2
SA3
}
VA4
VQ6
/- VR6
no'
Set /
LIB' no - @
Set print term
Clear LIB & POW
-@
POW
o
1
IA VS
RJ VI26 VI
MJ 0
XA
CA VS2
-
POW sect.
-0
1220
Space Period 1:1 •
IA
TP
0
1
2
3
4
5
VT
VA16 Q
QJ VT2
VT5
RJ WA
WA2
UP3
TP XC
UP
RJ UP2
TP VC20 VW2
/...
TO
.L1o
lTrAA
V V '":1:'":1:
7
10
11
12
13
14
AT
RJ
RJ
RJ
TP
MJ
CA
VA
v
VW
Print term
~
no - VT5
Print WARNING,LlLl AMBIGUOUS TERMS.
,\
~W3J
VWl
VBl
VZ1
VC60 VA6
0
VU
VT15
Close to level (clear)
VB
Clear
VZ
1:1.-
Pro. Li st
Set address 0 f no. list
numbering routine
-
Print
0
1
2
3
4
5
IA
40
71
32
25
65
17
CA
XC
5
XCI
24545 03450
21010 12447
34326 75167
01663 05447
65432 27777
XC6
W
G
B
S
(
1221
A R N I
, Ll. 1:1 A
I G U 0
Ll T E R
. 77
S )
N
M
U
M
77
Numbering Routine
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
IA
TP
RS
TJ
TO
TP
QT
EJ
EJ
ru
TP
TV
AT
RA
MJ
QT
SP
AT
RS
MJ
QT
ST
RA
TV
TP
RA
IJ
MJ
CA
VU
VC6
VA7
VC61
A
(30000}
VC7
VC42
VC43
VAI0
(30000)
VA6
Q
VA6
0
VC12
Q
Q
VAI0
0
VC12
VC4
VAI0
VAI0
VA14
VA14
VA15
0
VU33
VA14
Set ( no. =1
~1 }
Fini shed numberi ng - SR
~U4 }
Sym -
A
VU16
VU23
(- VU16
)- VU23
~11}
No.- A
Q
VU13
.
(30000) } No. sym - 11st
VCl
Address +1
VUl
Count - Q
?7
}
VA15
Take nos. off list
VA15
VUl
A
Count - A
~~~5
} Set index
VU27
(30000)
VC6
VU25
VUl
Add nos. to list
Increase highest no.
1222
No l
Sort Routine
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
40
41
42
43
44
45
46
47
50
r=,
J.1
52
53
54
55
IA
SP
ST
TP
QS
RP
TN
TP
SP
SA
ST
TV
TP
RA
TO
TO
ST
TP
QS
TO
TP
RP
TJ
TO
LQ
SP
SS
ST
AT
MJ
TP
QS
QS
SP
SA
ST
RP
TP
LQ
SP
SA
TV
SR
VA6
VC60
VC7
VA21
30000
WL24
VG60
VC61
VA21
VGl
A
WL24
VA6
A
A
VG60
VG7
VA22
VA7
(30000)
20000
(30000)
SR24
Q
VA24
Q
VC3
VC52
0
VC7
SR24
SR24
VC54
VA7
VC4
30000
(30000)
VA12
SR44
Q
A
~A21 }
~R4 }
No. to be sorted-- VA21
Set n of repeat
SR6 }
WL24
List negative
IT.dA
Address
t~ }
f no. list
= WL24
Address of Sorted List- VA7
SR13 } 1st sym - Sorted List
(30000)
VCl
No. List +1
SR23}
SR51
#
of nos. in Sorted List-- VA22
VA22
~R24}
S-et n of repeat
Set address of Sorted List
#- A
SR25
A
SR35 }
SR26
VA24
~A12
17
la rgest # yet - SR35 No
j
n - VA24
}
~
r - 1- VA12
SR43
SR40
S·et repeat to move back nos.
~R43}
Set to move back all nos.
VA12
r -1 = all nos.
0
0
TP
0
0
TP SL+ SL+
SR44
TP SL+ (SL+) -1
SR45 } Move nos. back
(30000)
25
r - 1 - V address
0o
SR51
}
mn
.1.["
(30000)
(30000)
RS
TJ
MJ
VA7
VC50
0
SR4
VGl
SR55
SR14
S-R56
W
0
TP no. L+
(SL+) + r - 1
Sorted Ii st address -1
no ,
Done -- SR55
SR14
Set n of repeat
1223
56
57
RP 0
TN PR
CA
Exit
Change to positive
SR60
1224
Add Parenthesis to Lists
LA
0
1
2
3
4
5
MJ
MJ
0
TV
TP
TV
VY
0
0
0
VA7
VC42
VAll
6
If
VY2
7
10
11
12
13
14
15
AT
RA
TV
VA
VAll
VAll
VA7
VA7
VAll
0
VY16
1U
RA
RA
MJ
CA
(30000)
VY3
0
VY4
(30000)
VY7
IA
RA
MJ
CA
Vl6
TU
TV
TP
(no level)
(- Processed Li st
Code word- { list (count zero)
Vel
VY12
(30000)
Vel
Vel
VY
VZ
0
VA6
VA7
(30000)
VA7
0
MJ
t
t30000)}
Sym -
0
1
2
3
4
5
Exit
Start
Type of ( to add
Address -
( list
Pro. Li st +1
( list + 1
Exi t
Processed Li st
(30000)
VZ3
VZ3
(30000)
vel
VZ
Exit
Sym-
Pro. List
Pro. List +1
Exit
1225
Close Parentheses
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
IA VW
MJ 0
MJ 0
0 0
0 0
TV VA7
TP VC43
1U VAll
RS VWIO
TP (30000)
EJ VW3
RJ VX
RS VAll
MJ 0
RJ VX
TP VW2
QJ VW20
RS VAll
RA VA7
MJ 0
CA VW23
(30000)
VW4
0
0
VW5
}
(30000)
Exit
Start
- Take off list. + leave on
Code of ( and level
)-
VWIO}
VC57
Code of (- A
A
VW15
VXl
VC2
VW6
VXl
= - VW15
no I
( +1 and) + 1
Take ( off list
Return
( +1 and ) + 1
SW21}
VC2
VCl
VW
Delete from list I no Clear ( from list
Add. of Pro. List +1
Exit
( +1 and
0
1
2
3
4
5
6
7
IA
MJ
TV
RA
TV
RA
TV
RA
MJ
CA
VX
0
VWIO
VX3
(30000)
(30000)
VA7
(30000)
0
VXIO
Pro. List (count zero)
(30000)
VX3
VC3
VX4
VC4
VX6
VC4
VX
) +1
Exit
Increase count on open
Increase count on closed
Exit
1226
VW21
Clear Indicators
0
1
2
3
4
5
6
IA
MJ
TN
QT
QT
QT
QT
MJ
CA
VB
0
VA
VA2
VA3
VA4
VA5
0
(30000)
Q
VA2
VA3
VA4
VA5
VB
Exit
P.T.
LIB
POW
DIVIDE
Exit
}
clear
VB7
Check for Ambiguity
0
1
2
3
4
5
IA
MJ
TP
QT
ZJ
TP
MJ
CA
XB
0
VA
VA2
XB4
VC20
0
XB6
(30000)
~B}
VA16
XB
Exit
Ambigui ty , no - exi t
Set indicator
Exit
1227
Constants
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
40
41
42
43
44
45
46
47
50
51
52
53
54
55
IA VC
0
0
1
0
0
2
0
1
0
0
0
2
0
1
0 07777
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
I
0
0
2
3
0
0
4
PRI
0
o PRIOOO
RP
30000
0
0
TP
0
77
77777
0
1
2
0
1
1
0
0
0
07777
77777
70000
60000
50000
40000
10000
0
10
12
20
21
30
31
32
33
40
50
60
61
70
71
100
13
120
0
0
0
0
0
0
PRI
PRIOOO
SR45
2
0
77777
Zero
One
Two
One in u
One in v
) count of 1
( numbering bit
Sort
NP routine
SUb. var.
Single operand
LIB
Pseudo Ope
POW'S
Close off bi t indicator
I (open)
I (closed) floating
FI. +
Fx. +
VI. Fx. Fl. Unary Vx. Unary =
Fl. *
Fx. *
Fl. /
Fx. /
POW
I (c10 sed) fixed
~.
(
)
Level
Term
LIB
POW
Sort
Limit of Processed List
Sort routine
NP3 and NP32
Sort
1228
56
57
0
0
60
1'\
61
62
63
0
0
0
CA
0
2
WL24
PR
NS
PL
VC64
v
101
0
WL24
PR
NS
PL
POW (int.)
2 in u
Sym/wd and No. Lists
Processed and Sorted Lists
Number of Symbol List
Parenthesis List
Variables (VA) - Explanation of Temporaries
VA 0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
0
0
(
)
(
(
(
(
(
) (
) (
) (
) (
)
)
(
(
(
(
(
0
(
)
)
)
)
1
)
)
)
1
( )
( )
0 ( 0 )
)
Level bit
Combination List size
Print Term this level
LIB this level
POW this level
Divide this level
Address in Sym/Wd List and Numbered List
Address in Processed List and Sorted List
Address of Symbol Number
Available address in ( list
r - 1 in sort
n in print
j
Highest number of ( , s
Index
Temp 1- ambiguous term bit
Temp 2
Temp 3- add. to start pre of Pro. List
n of repeat to set Pro. List
It of nos. in Sorted List
Unused
n in sort.
j
1229
EQUATION GENERATION NO. 2
EQUATION REDUNDANCY CHECK AND EQUATION GENERATION PHASE
The purpose of the Equation Redundancy check and Equation Generation
Phase is two-fold:
1)
The elimination of redundant calculations within the same equation;
2)
The generation of a relatively coded routine for each equation.
The inputs to this phase are the Sorted List. the Dimension List. and the
Pseudo Operation List.
The symbols for a given equation are obtained in order
from the Sorted List and each operator. together with its operand (s). is put
in the form of a pseudo instruction to facilitate the check for redundant calculations.
These pseudo instructions are entered in what is called the Expand-
ed List. unless an identical pseudo instruction has been previously entered.
In the case of an identical previous entry. the current pseudo instruction represents a redundant calculation and provision is made to utilize the result
of the prior calculation.
Through the special formats for the pseudo instruc-
tions, many redundant calculations will be eliminated.
1)
For example:
Identical Symbol Strings.
eg., X = sin (A+B+C-D/E) + (A+B+C-D/E) Pow 2
The quantity (A+B+C-D/E) will be calculated only once.
2)
Simple Transpositions.
eg., X = A*B-sin(B*A)
The quantity A*B will be recognized as equivalent to the quantity B*A
and would not be recomputed.
3)
Transpositions within Expressions where some reordering is caused by
the hierarchy of operators.
eg.
J
X
= (A+B*C)/E
- tan«C*B+A)/E)
The quantities (A+B*C)/E and (C*B+A)/E will be recognized as equivalent and only one computation will be made.
A unique partial result symbol for each calculation is entered in the Expanded List following each pseudo instruction.
This partial result symbol
identifies the result of a given calculation as an operand for a succeeding calculation.
When a partial result from a calculation is used as an operand for
1230
the next calculation. register storage (A or Q) may be utilized; hence, each
pseudo instruction is checked to determine if the last assigned partial result
appears as one of its operands.
In this way. effective utilization of regis-
ter storage is realized; thereby minimizing the need for temporary storage.
The Expanded List. together with lists of supplemental information.
serves as input for the generation of the relatively coded equation routine.
Each pseudo instruction is obtained in order from the Expanded List and decoded.
The series of relatively coded machine instructions necessary to perform the
required computation and store the partial result is then generated.
After
all pseudo instructions have been processed, the fixed constants and relative
constants are transferred to the generated routine package.
At this time
also. the Op File describing this generated routine is prepared.
The equation
routine and Op File are then transcribed on magnetic tape for use as input to
succeeding phases of the compiler.
As an example. consider the equation:
x=
A+B*C - sin(C*B)
In the Sorted List this equation would appear as:
x
B
C
*
A
+
C
B
*
sin
~.
Following the elimination of redundant calculations. the equation appears
in pseudo instruction form in the Expanded List as:
1231
*
B
+
PR 1
C
PR 1
sin
PR
PR
PR
PR
PR
0
PR 2
~.
Note 1:
(PR__ > represents unique partial result symbols.
Note 2:
The computation of the quantity
(C*B) is recognized as a redundant calculation and the result
of the prior calculation (PR 1)
is used as the argument for the
"sin" operator.
A
PR 4
2
1
3
3
4
X
The Expanded List is processed to form the following generated equation
routine:
EXIT
ENTRY
MJ
o [
FM
B
C
TP
Q
Q
Q
TEMP 1
FA
TP
TP
]
.1\
TEMP 2
1EMP 1
SIN
o
3
SIN
SIN
10
RJ
10
2
TN
Q
Q
Q
FA
TP
o
Q
TEMP 2
X
B*C- Q
B*C - TEMP 1
B*C+A- Q
B*C+A - TEMP 2
B*C- SIN + 3
SIN(B*C> -
Q
-SIN(B*C) - Q
[-SIN(B*C> ] + [B*C+AJ- Q
A + B*C-SIN(B*Cl- X
Consider another equation which appears in the Sorted List as:
8
6
5
X
4
D
4
POW
3
2
B
C
*
A
2
+
1
~.
Following the elimination of redundancies (none in the example), the
equation appears in the Expanded List as:
1232
I POW
I *
D
C
PR 1
PR 1
B
PR 2
+
PR 2
A
1::::..
PR 3
PR 3
X
Finally, the generated equation routine would be:
EXIT
ENTRY
MJ
TP
0
10
0
TP
D
C
[
]
POW
3
POW
10
0
4
RJ
POW
2
POW
10
FM
FA
TP
MJ
Q
Q
Q
0
0
B
A
X
EXIT
1233
Equation Redundancy Check (Symbol Search)
Setup
Redundancy
Check
)---311
Is th is
~~
Mask four least
significant octal
digits of operator symbol to Au
Zeroize
condi tion
indicator
Advance address
in Sorted List
by one
Next symbol from Sorted
st to working
temporary 3 & Av
t---~Li
Is thi s
1ibrary operator
symbol?
Floating point
absolute value
operator?
NO
Fixed point
absolute value
operator?
Assumed to be
subscripted
able symbol
Floating point
addition
NO
Floating point
subtract
operator?
Fixed point
multiplication
operator?
General exponentiation ("POW")
o erator?
Operator for I integral power I > 63 or
Inon-integral powe~
r
63 ?
YES
YES
28
Operator for
Integral power
rom -4 thru ffi?
S
-~
7
Operator for
Integral power
equal to -3'('
Operator for
integral power
equal to 3?
YES
YES
Assumed to ~e
operator for
power = -l'~_
GH]
7·
perator for
Integral power
equal to 2?
YES
Operator for
power equal
to 1/2?
Operator for
power equal
to -1/2?
NO
~
t-----.jl--------~
END EQUATION REDUNDANCY CHECK
Return from
storage operator
jn for "Q" list
search to first
word of running
address list
ALARM:
SENTENCE TOO
LONG t ed out
jn for "A" list
search to second
word of running
address list
jn for "redundant partial
result" list search to
.---~ third word of Running
Address List
(BQ) rewind
tapes
7B
Exit from equation
redundancy
check
phase
78
Initial address in
Expanded List + 2
to ninth word in
Running Address List
~--I
Initial relative running address to fourth
word of Running
Address List
Equation Redundancy Check (Subscripted Variable Operator
Symbol (7---callwor~
to working temporary
_1:
To Conn. (188)
Advance (D) to next
address in Dummy List
Dummy "sub" instruction to Dummy List
1
To Conn. (189)
~;earch Dimension
~~ist for callword
~
Symbol \
77-=-.cal~
Yes
To Con
(178)
Store call~
in Ope File~
Address of
corresponding
modulus in Au
Constant
ca llword for
modulus in Au
modulu
pool
~------.....:;;.t
Callword of modulus to
"u" portion of dummy
"sub" instruction
Number of subscripts
for variable (77---callword) from Dimension
List to Index Counter
S.
Number of
subscripts
one?
=
Number of subscripts
to "v" of dummy "sub"
instruction
Decrease address in
Operand List (~) by
number of subscri ts
Decrease
index Cl
by one
To Conn. (179A)
Check for (3 heYOD)
lower limit
Preset Operand List
address of first subscript in box 1.
----~
To Conn. (188)
~ ~vance (D) to next
~dress
in Dummy List
Box 1
Subscript from
Operand List to
Dummy List in "v".
Advance Box 1 to
address next subscript in Operand
List
store multiin constant
All subscripts
transferred to
Dummy List?
Multiplier for subscript from Dimension List to Av.
001
Constant callword for
multiplier to Dummy
List in "u" of word
with corresponding
subscript
To Conn. (186)
Search Expanded
List for redundancy'
Assumed to
be four subNumber of subscripts equal two?
Number of subscripts equal three?'~~--~
Advance number of
lines in running
rogram by 5.
Set condition
indicator to 4.
Advance number of
lines in running proram b 3.
Advance number of
lines in running program by 5.
Set condition
indicator to 2.
~
To Conn. (179)
Decrease address
Operand Li st ({3)
by one
Advance numbes=J-t0f
S~condition
lines in running
indicator
program by 2
to zero
--r--_...J
Single subscript to
"v" of dummy instruc-~---::.I.
tion
Delete Dummy List
from Expanded List
i. e. t set 0 =y
To Conn. (186)
Search Expanded
List for redundancy
To Conn. (175)
Redundant partial
result to Operand
List & Partial Result List.
To Conn. (184)
Redundant partial
result to "A" list
0)
To Conn. (198)
New partial result to Operand List
(P) & Expanded List
(y). Dummy List (D) to
Expanded List. Condition indicator
Ex anded List
Set COJr1di'~
indicator .~
con~180)
Set Increment (I) to
one
Subscripted variable
callword (77----,
76---- or 75----)
To Operand List (p)
To
Advance address
in Operand List (p)
by one
Callword of modulus in pseudo
operation input region
(63----) to nun of dummy
"sub" instruction
Symbol = subscripted
dummy variable for
sub-program? (i.e.,
76---- callword)
Number of subscripts
to "v" of dummy
"sub" instruction
Number of subequal
Number of subscripts from
3rd octal digit of callword
to index counter (Cl).
Decrease address in
Operand List ({3) by
number of subscripts
To Conn. (179A)
Check for {3 beyond
lower limi t
>--~
In box 2, preset
operand Li st address
({3) of 1st subscript
for variable
Decrease
index (C l )
by one
subscripts but
one transferred to
Dummy List?
NO
Callword of multiplier in
pseudo operation input
region (63----) to Dummy
List in "u" of word with
corresponding subscript
Box-2
Subscript from Operand
List to Dummy List in
"v"
Advance box 2 to address
in Operand List of next
subscript for variable
To Conn. (188)
to
in
Last subscript from
Operand List to
Dummy List in "v 7t
with no multi lier
Symbol assumed dumEquation Redundancy Check (Library Routine Operator)
my subscripted variable for function
i.e. 75---- callword
Permanent library ~
Callword of modulus in
"Glen Pow" ca llword
26~__~__.____________________~function input region
27J--~ (510012) to working
29
(62----) to "u" of
temporary
three
dummy "sub" instruction
Permanent library
"Var Exp" callword
(50022) to working
temporary three
Dummy library instruction with callword from temporary
five to Dummy List
To Conn. (188)
dvance (D) to
next address in
Dummy List
~
30 .
Library routine callword (4----, 50012, or
50022) from tempor ary 3
to "v" of dummy
instruction
Set TRP & TRPT to one
Set TRC & TRCT to zero
Dummy "Library" instruction to tern orar five
Number of arguments
for library routine
from callword to
index counters
Cl & C2
To Conn. (179)
Decrease address
Operand Li st (/3)
b
All arguments
transferred to
Dummy List?
Argument from]
Operand List
to "u" of
temporary 5.
Advance INDICATOR in
OPe code of argument
word in temporary 5
by 338
Advance
TRP by one
Advance
TRP by one
Advance OPe code of
argument word by one
to indicate argument
in "Q" register.
Set switch
S~@
Advance
TRP by one &
TRPT by one
To Conn. (179)
Decrease address
Operand List (/3)
by one
Subscript to "v"
address of argument word
Advance
TRP by four
Advance
T t by one
rp
Advance OPe code of
argument word (temporary
5) by two to indicate
76---- or 75---- type
subscripted argument
Advance
T
RPT by one
Equation Redundancy Check (Library Routine Operator)
Advance TRP by 3.
Advance TRC by one.
Advance TRCT by
one.
Advance Ope code of
argument word (temporary 5) by four to
indicate 77--- type
subscripted argument.
To conn. (188)
Advance (D) to
in
-~
Argument word to
next address in
Dummy List
31
To Conn. (186)
Add Dummy List
to Expanded
List (set r
= D)
YES
Delete Dummy List
from Expanded List
(set D = Y )
Advance
Advance
Advance
Advance
NRP by TRP
CRC by TRC
CRPT by TRPT
CRCT by TRCT
To conn. (182)
Enter partial resul
in "Q" 1is t .
Advance NRP by
Increment (I)
To conn. (196)
To conn. (185)
Enter partial result in "A" list.
Set Increment
to one
To conn. (178)
To conn. (203)
Enter library routine call word in
Ope File I
ubscript symbol = partia
result counter?
i.e.~
Subscript in ''',4'' Register
nter current partial result in Operand
List and. Expanded
List.
Enter library routine call word in
Li st 1.
Set
Switch
Advance Ope code of argument
word (temporary 5) by one to
indicate subscript for argument in "A" register.
Equation Redundancy Check (Power Operators)
Dummy "Pow+ .3"
instruction to
temporary 5.
Dummy "'Pow+2 u
instruction to
temporary 5.
®-
Dummy ttPOW+l/2}®'
instruction to
49
temporary 5.
To conn. (57)
Dummy ''''Pow-3''
instruction to
temporary 5.
Check for redundancy (IRIR15)
Is operand
subsripted?
NO
To conn. (57)
Dummy "Pow-2'"
instruction to
temporary 5.
Check for redundancy (IR IRI5)
Is operand
subscripted?
YES
NO
To conn. (57)
Dummy ''''P oW-l/2"
instruction to
temporary 5.
Check for redundancy (IR IR15)
Store square
root call word
in Ope File I
To conn. (203)
Store square
root call word
in List 1.
~
Advance NRP
by 2.
~
Advance NRP
hy 4
Advance NRP
hy 1
Advance NRP
by 4
NO
To conn. (178)
Advance NRP
by 5.
To conn. (178)
Store square
root call word
in Ope File I.
Advance NRP
by 2
To conn. (203)
Store squaJl"e ~
root call word
65
in List 1
Equation Redundancy Check (Integral Power Operator)
To conn. (57 )
Dummy "Pow-I"
instruction to
temporary 5.
Is operand
subscripted?
Advance
NRP by 3.
Set Ope code of conditio
indicator to 108 to indicate 75-- or 76-type operand.
Is subscript symbol
partial result counter? (i.e. subscrip
in itA" register?)
YES
Advance NRP by
increment (I)
62
Dummy'·Pow(4 to 63)"
instruction to
temporary 5.
Dummy "Pow(-4 to _63)"
instruction to
temporary 5.
Dummy instruction
is not redundant
To conn. (58)
Set
Switch
Check for redundancy
( IR 1-IR 15 )
J---&-.-.;':W'
To conn. (188)
(D) to next
in Dummy
Operator symbol
(13---type) to
Expanded Li st
®-1. ._~_~_v;_n_c_e
__N_RP---.J NO
~vance
~6.
Dummy instruction
is identical to
previous entry in
Expanded List
Are exponents for operands
YE
also identical? (i.e. 13-type symbols equal?)
NRP
Equation Redundancy Check (Integral Power Operator)
Subroutine To Check for Redundancy of Integral Power Operator
Dummy instruction
with operands to
"A" and tern orar
To Conn (141A
Check variables
set switch ®
Is there
a subscript?
YES
Subscript to "v" of
dummy instruction in
tern orar 5.
To Conn. (186)
Search Expanded List
for redundancy
NO
Zero to "v" of dummy
instruction in
temporary 5.
To Conn. (188)
Subscript
Advance (0) to next
Dummy "POW" instruction
address in Dummy List~--~in temporary 5 to
~--~ indicator to
"Q" register
Expanded List
Is dummy "POW"
instruction in Dummy
List identical to previous entry in Exanded List?
-~
'\0
YES
Tl
~
60',
!
Is operand in "u"
of dummy instruction
77----type?
~
~
®
rance
by one
~
NO
Set condition indicator to 108 in op.
code to indicate
75---- or 76----type
operand
Is subscript symbol
in "v" of dummy :instruction = partial result
counter? (i. e.. ,subscript
register?)
YES
Advance
Nrp by
Increment (I)
Set condition indicator 4 in OPe code
to indicate 77---type operand
Advance
erc by one
Is subscript symbol in
"v" of dummy instruction
partial result counter?
(i. e. subscript in nA'"
re ister'?)
Advance op_ code of
condition indicator by
one to indicate subscript in "A" register
To Conn. (196)
Advance
NRP by one
To Conn. (185)
Set
Increment(I)
to one
Enter partial
in "A" list
Condition indicator
to op. code of partial
result word in
Expanded List
(CW) store floating
one in constant
001
Is operator
negative power?
Callword of constant
to "u" of partial result word in Expanded
List
Is operand symbol in "un
of dummy instruction =
partial result counter? (i.e.
operand in "Q" register?)
~-----,.
Set op. code of condition indicator to zero
to indicate non-subscripted operand not
in "Q" register
Set op. code of condition indicator- to one
J---.,. to indicate non-subscripted operand in
"'Q" register
Advance
Nrp by
Increment (I)
t---~
Advance op. code of
condition indicator
by 338 to indicate
61----type operand
To Conn. (192)
Check for 61----type
operand in "u"
To Con n • ( 182 )
Enter partial result in "Q" list
Set op. code of condition indicator to zero
to indicate non-subscripted operand not
in "Q" register.
t----.,.,N
Advance
by two
rp
Advance
~
Nrp by
-Q
Increment (I)
Is operator
power 1/2 ?
(i.e. 160001)
Advance Crct
bone
s operator
power -1/2?
(i.e. 16100?)
ondition
indicator = 4
in OPe code
f;;\--~J
V
AdvancE'
~ICrpt by two
Advance Crpt
I----:.r
by one
Equation Redundancy Check (Floating Point Divide and Subtract Operators)
0r{
72.
Jummy "floating point
divide" instruction to
temporary 5.
NO
Operand symbol in "v"
of dummy instruction =
partial result counter?
(i.e., operand in "Q"
register?)
To Conn. ( 141)
Check variables and
set swi tch
<
®
Set swi tch
To Conn. (170)
Check for redundancy
of dummy instruction
To Conn. (167)
Check for redundancy
of dummy instruction
Operand symbol in "v"
of dummy instruction =
partial result counter? (i.e.
operand in "Q" register?)
YES
~
Advance
Nrp by
173
Increment (I)
A
YES
a.@
Dummy "floating point
subtract" instruction
to temporary 5
Operand symbol in "v"
of dummy instruction =
partial result counter?
(i.e •• operand in "Q" 'register?)
To Conn. (141)
Check variables and
set switch
H
YES
Set swi tch
@~@
To Conn (170)
Check for redundanc
of dummy instruction
To Conn. (167)
Check for redundancy
of dummy instruction
Operand symbol in ttv"
of dummy instruction =
partial result counter?
(i.e •• operand in "Q"
register?)
YES
Advance Nrp
by one
@
Set Ope code of condition
indicator to 4 to indicate
operand for ttv" in "Q"
register
NO Advance N
rp
Increment (I)
~~~by
Advance OPe code of condition
indicator to 168 to indicate
non-subscripted operands
with operand for ttv" in
"Q" register.
To Conn. (141)
Sort variab~
Dummy "floating multiply" instruction to
temporary 3
Dummy "floating plus"
instruction to temporary
3
~---~a
set switch
~
r----l
instru~Cion
Is there
subscript
word?
Dummy
with operands to
temporary 5
,-...
'TJ
~
To Conn. (167)
heck for redundancy of d~mmy instructlon
~
78 .
.
o
artial result counter
"u" of subcript word?
(i.e. subscript for "u"
in "A" register?)
III
rl'
.....
:::s
c.o
"v" in "A
'"t:I
o
til
.....
:::s
rl'
~
d-v-ance N
rp
by Increment
Set OPe code of condi173~-...... tion indic:ator to zero
A
to indicate neither subscript in "A" register
(I)
._..,....-______.....J
;J>
Co
Co
.....
rl'
.....
o
:::s
III
:::s
Co
r=
==
~
rl'
.....
"0
.....
~
~.
®~®
79
Set swi tch
I
Set swi tch
0~@
(")
III
rl'
.....
o
::::s
Set OPe code of condition indicator to two
to indicate subscript
for "v" in "A" register
To Conn. (185)
Enter partial
result in "Aft List
o
"0
.,
.,o
('I)
III
rl'
til
.......
To Conn. (185)
Enter partial result in "A" List
Set OPe code of condition indicator to one
to indicate subscript
for "u" in nAn register
To Conn. (170)
Check for redundancy
of dummy instruction
TO Conn. (188)
Advance (D) to next
address in Dummy
List
To Conn.
Sort fixed point
operands
To Conn (175)
Redundant partial
result to Operand List
& Red. partial Result List
Advance N
by
rp
1ncrement(1)
Equation Redundancy Check (Fixed Point Addition
and Multiplication Operators
Dummy "Fixed Point
plus" instruction
with operands to
Dummy List
To Conn. (186)
Search Expanded
List for redundancy
Delete Dummy List
from Expanded
List (set 0= y)
Advance
rp by 2
N
To Conn. (198A)
Partial result to Expanded List and Operand
Condition indicator to
Expanded List.
Set increment
(I) to zero
~
4.
Advance
by one
rp,::..--..---.......
N
To Conn (188)
~vance (D) to next
~~dress in Dummy List
To Conn. (199)
Partial result to
'A" 1 i st t Expanded Li s
and Operand List.
Condition indicator
to Expanded List
Set increment
(I) to zero
To Conn. (177)
Sort fixed point
operands
Dummy "fixed point
multiply" instruction
with operands to
Dummy List
To Conn. (175)
Redundant partial
esult to Operand List
& Red. Partial Result
List
To Conn. (186)
~earch Expanded
~ist for redundancy
I s dummy "fixed point
multiply" instruction
identical to previous
entry in Expanded List?
G
~--~
Delete Dummy List from
Expanded List.
(set D = Y )
Was partial re- ~
suIt already in r e d rYES
Udant Partial Result
1
List?
Advance Nrp by I ~
if partial result
I
in "A" List
To Conn. (198A)
Partial result to
Expanded List and
Operand List. Condition indicator to
Expanded List
\---.:111(
To Conn. (199)
Partial result to
"A" Ii st, Expanded
List. and Operand List.
Condition indicator
to Expanded List.
Advance Nrp
by one
~-.;M88
Advance N
rp
by one
Set Increment (I) to
Equation Redundancy Check (Fixed Point Subtraction and Division Operators)
To Conn. (ISS)
~dvance (D) to next
~
~ddress in Dummy List
)-----;0;.(
To Conn (179
Decrease address
Operand List (/3)
one
>---~
b
Get operand
for "v" from
Operand List
L
I'
To Conn. (179)
Decrease address in
Operand List (/3) by
one
"I
Get operand
.. for "u" from
Operand List
Dummy "Fixed point
minus" instruction
... with operands to
Dummy List.
Dummy "Fixed point
minus" instruction identical to previous entry in
Expanded List?
e{
.•
91
YES
To Conn. (IS 6)
'Search Expand ed
... for redundanc y
-
\
Advance
Nr
by 2
YES
Operand in ltv" of dummy
instruction = partial result counter? (i.e., "v"
operand in "A" register?)
(3s
93
To Conn. (198A)
Partial result value
to Expanded List and
Operand List. Condition
indicator to Expanded
List
~~
Set OPe code of condition indicator to 2 to
indicate operand for
"v" in "A" register.
Set
}-----;'flncrement (1)
to zero
r-~~
To Conn. (188)
To Conn. (179)
Decrease address in
Operand List (8) by
one
To Conn. (186)
Search Expanded List
for redundancy
To Conn. (199A)
Partial result value
to "A" list, Expanded
List and Operand Lis~Condi
tion indicator to Expanded
List.
To Conn. (179)
Decrease address in
Operand List (~) by
)----iIIt
r----iIIt
Set
Increment (I )I-----:iII(
to zero
Get operand for
"v" from Operand
Lis
Dummy "Fixed point
divide" instruction
Get operand for
with
operands to
"u tt from 0 pe ran dl---,..
Dummy
List.
List
Dummy "Fixed point
divide" instruction
identical to previous
entry in Expanded List?
L--=YE==-S_ _ _~
Advance
Nrp by 2
J.-..-~!w
To Conn. (198A)
Partial result value to
Expanded List and Operand
List. Condition indicator
to Expanded List
0-E
set
1
~,A',dvance
~
l5r
by 1
To Conn. (199
Partial result
alue to "A" list,
Expanded List and
Operand List. Condition
indicator to Expanded
List
Increment (I)
to zero
EquatiQn Redundancy Check (Floating Point Unary Minus and Absolute Value Operators
Dummy "Floating point
unary minus instruction to temporary 5.
Dummy "Floating point
absolute value" instruction to temporary 5
To Conn. (141A)
Check variables and
set swi tch
®
Subscript to !tv"
of dummy instruction
To Conn. (186)
Search Expanded List
for redundancy
NO
YES
Is subscript symbol = partial result counter? (i.e.,
subscript in "A" register?)
YES
Set condition indicator
to zero to indicate
subscript not in "A"
register
Set condition indicator to one to indicate
subscript in "A"
register
Advance Nrp by
increment (1)
To Conn. (185)
Enter partial result in "A" List
Dummy instruction to Expanded
List
To Conn. (188)
Advance (
to ~ext
address in Dummy List
\--------
To Conn. (175)
Redundant partial
result to Operand Lis
and Redundant Partial
Result List
Was redundant partial
result already in Redundant Partial Result
List?
Is redundant partial
result in "Q" List?
Is instruction
following redundant partial result in Expanded
List a floating point
subtract with redundant
partial result in "v"?
Is operand in "u"
of floating point subtract instruction
77--- type?
Is operand in "u"
of floating point subtract instruction 75-or 76--- type?
Delete redundant partial result from "Q"
List
Reduce
Nrp by one
lYes
<§
tE--~
Reduce condition indicator for
floating point subtract instruc
tion by four to indicate operan
for "v" not in "Q" register.
Is dummy instruction
with operand identical
to previous entry
Expanded List?
To Conn. (186)
Advance (D) to next
address in Dummy List
Dummy instruction
to Expanded List
Advance
N
r
~)y
one
Set OPe code of condition indicator to 128
to indicate operand
non-subscripted
&-t
10
.
Advance N by
rp
increment (I)
I-----:;;N"
Advance OPe code of
condition indicator to
~---;i1IIf 15 8 to indicate operand
for "u" in "Q" register
To Con n • ( 1 92 )
Check for
operand in "u"
To Conn. (182)
Enter partial result in "Q" List
To Conn. (200)
Partial result to
Operand List & Exanded List. Condition
indicator to
Ex anded List.
Set increment (I)
to zero
Equation Redundancy Check (Fixed Point Unary Minus and Absolute Value Operators)
Dummy "Fixed point
absolute value" instruction to temporary 5.
Dummy "Fixed point
unary minus" instruction to temporary 5
Dummy instruction with
operand from Operand
List in "u" to Dummy
List
To Conn. (186)
Search Expanded List
for redundancy
To Conn. (179)
Decrease address in
Operand List ($) by
Is dummy instruction
identical to previous
entry in Expanded List?
YES
Advance
Nrp by one
To Conn. (188)
Advance (D) to next
address in Dummy List
Delete Dummy List
from Expanded
Li st (set D = y )
To Conn. (175)
Redundant partial
result to Operand
List and Redundant
Partial Result List
Was partial result already in Redundant Partial Result
List?
redundant parresult in "Au
list?
ME---4
NO
~-------------
Is redundant partial result = current
partial result value'i~
YES
L----------4
Advance
Nrp by one
.
e-{
EquaJtion Redundancy Check (Storage Operator)
To Conn. (179)
Dummy "STORE"
Decrease
address in
117
instruction to
~~ Operand Li st (f3) by
temporary 5.
>------:....
to! minus one
Operand from
Operand List to
"u II 0 f dummy
instruction.
YES
Next operand from
Operand List to
IE--~ "v" of dummy
instruction
To. Conn. (179)
Decrease address in
Operand List(tD by
one
Is operand in ltv"
of dummy instruction
76--- type?
Is operand in "v"
of-dummy instruction
77--- type?
YES
NO
Set condition indicator
to 128 to indicate both~________~
operands non-subscripted
YES
Advance
Nrp by 2
Operand in "u" of
dummy instruction = partial result counter?
operand in "0"
register?}
To Conn. (191)
Check for 61----
~---'~
Dummy "STORE" instruction with operands to
Expanded List
To Conn. (188)
Subscript word with
Advance (D) to next )--__~ condi tion indicator from-----hA\
address in Expanded
temporary 6 to Expanded
-~
~___~L=i~s~t________~
List
To Conn. (185)
To. Conn.(194)
Check for 61--type operand in
ltv"
Condition indicator to
OPe code of subscript
word in temporary 6.
To Conn. (188)
Advance to next
address in Expanded
List
To Conn. (182)
Enter partial result in "Q" List
Advance condition by-3
in OPe code to indicate
operand for "u" in "Q" I--------~
or "A" register
Equation Red un d ancy Ch ec k (St orage opera t or )
To Conn. (179)
ecrease address in
erand List ({3 ) by
one
..
Subscript for "v" operand from Operand List to
~
"v" of subscript word
in temporary 6.
Set condition indicator
to 118 in OPe code to
indicate "u" operand
non-subscripted and
r--"v" operand 76 ---type.
Is subscript for "v"
operand = partial result counter? (i.e.,
subscri{>t in "A"
RegIster?)
Is operand for "u"
= partial result counter?
(i.e.,"u" operand in
"Q" register?)
YES
To Con n • ( 192 )
Check for 61---type
operand in "u"
Advance
NRP by 4.
To Conn (192)
Check for 61--- type
operand in "u"
To CONN. (179)
Decrease address in
({3) by
J---~
\------''!101
Advance condition indi
cator by 2 in op. code
to indicate subscript
for "v" operand in "A"
reg i s t e r
>---~
Subscript for "v"
operand from Operand
List to "v" of subscript
word in temporary 6
IE-----I
Advance
NRP by 4
NO
To Conn. (185)
I----=!K'
Enter partial
result in "A" List
Set condition indicator
to 5 in OPe code to
indicate "u" operand
non-subscripted and
"v" operand 77--- type
Is subscript for "v"
operand = partial result
counter? (i.e., - subscript in "A" register?}
YES
Advance
NRP by 3
Advance count
of relative
constants (CRC)
by one
To Conn. (179)
~_~ecrease address in
~perand List (~) by
To Conn. (179)
Decrease address in)
Operand Li st (/51) by ~--,
one
Subscript for "u" operand
from Operand List to "u"
~--~of subscript word in
temporary 6.
Is operand in "v"
of dummy instruction
77--- type?
I--~~
Is operand in "u"
of dummy instruction
77--- type?
NO
iE------t
Operand for "v" from
Operand List to "v" of
dummy instruction in
temporary .5.
Set condition indicator
to zero in OPe code
to indicate "v" operand
hon-subscripted and
"u" operand 7'5--- or
76--- type.
~
-
Advance
(131
Advance condition indicator by one in OPe
~~ code to indicate subscript for "u" operand
is in "A" reg i ster
To Con n • ( 185 )
Enter partial result in "A" List
N by 5
RP
l-----:~
Set condition indicator
to two in OPe code to
indicate "v" operand
non-subscripted and "u"
operand 77--- type.
To Conn. (179)
Decrease address in
Operand List (~) by
one
Is operand in "u"
of dummy instruction
77--- type?
Advance
N
by 2
RP
Advance count
of relative
constants (CRC)
by one
Subscript for "v"
operand from Operand
List to "v" of subscript
word in temporary 6
Set condition indicator
to 228 in OPe code to
indicate "u" operand
75--- or 76--- type
and "v" operand 76--type
Advance
NRP by 7
To Conn. (194)
Check for 61--- type
operand in "v"
Set condition indicator
to 308 in OPe code to
indicate "u" operand
77 -_.- type and ttv"
operand 76--- type
Advance count of
relative constants
(C rc ) by one
Advance
Nrp by 6
S subscript for "v"
operand = partial result
counter? (i.e.-subscript
in "A" Register?
To Conn. (179)
Decrease address in
operand list (/3) by
one
Is operand in "u"
of dummy instruction
77--- type?
Set condition indicator
to 258 in OPe code to
indicate "uti operand
75-- ·or 76--- type and
" v" operan d 77 --- type
YES
Set condition indicator
to 178 in OPe code to
indicate "u" operand
77--- type and nv"
operand 77--- type.
Advance
N
by 5
rp
Advance count of
relative constants
(C ) by one
rc
-8
36
Advance
Equation Redundancy Check (Subroutine to Check Variables)
To Conn. (179)
Decrease address in
Operand List (~) by
one
"v" operand from
Operand List to ltv"
of temporary 1.
ltv" operand
subscripted?
To. Conn. (179)
Decrease address in
Operand List (/3) by
one
To Conn. (179)
Decrease address in
Operand List (~) by
one
Subscript for "v"
operand from Operand
List to "v" of
temporary 6
nu tt operand
subscripted?
NO
Zero to "Q" register
to indicate no subscript word in
temporary 6
"u" operand from
operand List to "u"
of temporary 5.
To Conn. (179)
Decrease address
Operand List (/3)
by one'
Subscript for "u"
operand from Operand
~---::.. Li st to "u" of
temporary 6
"u" operand from
Operand List to "u"
of temporary 5.
To Conn. (179)
Decrease address
Operand List (~)
by one
Set switch @-+@
to indicate "u" operand
subscripted and !tv"
operand non-subscri ted
operand
subscripted?
flU"
NO
Set swi tch ®~ @
to indicate "u" operand
non-subscripted and "v" ~
operand subscripted
-G
To Conn. (179)
Decrease address
Operand List ({3)
by one
Subscript for "u"
operand from Operand
List to "u" of
temporary 6.
Negative number to
t------~. "QIt reg i ster to
indicate "subscript
word" in temporary 6.
Set swi tch ®~ @
to indicate both "u"
and "v" operands
subscripted
"v" operand f r o g
temporary 1 to "v" of
temporary 5.
Dummy instruction with
operands from temporary
5 to "Au register
(VS) Subroutine To Sort Operands for Floating Point
Addition or Multiplication
To Conn. (179)
Decrease address
in Operand List ({3)
by one
Second operand from
Operand List to "v" of
"A" re ister
First operand from
Operand List to "v"
of nQ" regi ster
Is first opersubscripted?
J----=__<
To Conn. (179)
Decrease address
Oper and Li st, ({3)
by one
I--~
ymbo1 for first~o ~
operand ;>' symbol for
148
second operand?
YES
First operand to "un
and second operand to
"v" of temporary 5.
second opersubscripted?
To Conn. (179)
Decrease address
in Operand List (~)
by one
Subscript for ltv"
operand from Operand List to "v"
of temporary 6.
Set switch
to indicate "u" operand
non-subscripted and "v"
operand subscripted
Second operand to "u"
and first operand to
ttv" of tern orar 5.
To Conn. (179)
Decrease address
in Operand List (~)
by one
To Conn. (179)
Decrease address
in Operand List (~)
by one
Zero to "Q" register
to indicate "no subscript word" in temporary 6
Subscript for first
operand from Operand
~--~ List to "v" of temporary 6.
First operand to "u"
and second operand to
"v" of tern orar 5.
To Conn. (179)
Decrease address
Operand List (S)
by one
NO
Second operand from
Operand List to "v" of
"A" register
Symbol for first
operand > symbol for
second 0 erand?
Subscript for "u"
operand from "v" of
temporary 6 to "u" of
temporary 6.
.
f or
Subscrlpt
It
v It
operand from
Operand List to
"v" of temporary 6
Set switch ®~@}
to indicate both "u"
and "v" operands
subscri ted
Second operan d to "u"
and first operand to
"v" of temporary 5.
To Conn. (179)
Decrease address
Operand List ($)
by Dne
Is second opersubscripted?
Negative number to
"Q" register to indi~-----~ cate subscript word in
t·emporary 6.
.
for
it"
Subscrlpt
u oper-
and from Operand List
to "u" of temporary 6.
to indicate
"u"
and "v" operands
subscripted
(OS)
To Conn. (179)
Decrease address
in Operand
by one
Subroutine to Sort Operands for fixed Point Addition and Multiplication
Second operand from
Operand List to "Q"
register
(PN)
YES
To Conn
Decrease address
in Operand
by one
First operand from
Operand List to "A"
register
First operand to "u"
and second operand ~----------~
to "v" of itA"
re ister
Set Condition Indicator for Floating Point Operations
Is operand in "u"
of dummy instruction
temporary 5
77--- type?
Is operand in "v"
of dummy instruction
temporary 5
77--- type?
YES
YES
5,
Set condition indicator
to 228 in op. code to
indicate "u" and "v"
operands 75--- or
76---- t
5
6:114---4
Set condition indicator
to 258 in op. code to
indicate "u" operand
75--- or 76--- type
and "v" operand 77---·
type
Advance
N-r by five
Second operand to "u"
and first operand to
"v" of "A" register
Symbol for second
operand> symbol for
first operand?
Advance count of relative constants (Crc> byr-~·
one
Advance
Nrp by six
Advance
Nrp by six
Set condition indicator
to 308 in OPe code to
indicate "u" operand
77--- type an d " v tt
operand 75--- or
76--- type.
· "v"
Is operan d In
of dummy instruction
temporary 5
77--- type?
Set condition indicator
to 178 in OPe code to
Advance count of re1aindicate both nu" and t--~ tive cons,tants (C rc )
ttv" operands 77--- type
by one__________
L-__
~~~
~
Advance
Nrp by four
~
1
· t tv"
Is operan d In
of dummy instruction
in temporary 5
77--- type?
.--.....,.
Set condition indicator
to 5 in OPe code to
indicate "u" operand
non-subscripted and
ttv" operand 77--- type
6
Advance
N by 3
rp
K}
Advance count of re1ative constants (C rc )
L-~b~y~o_n_e________________
J
~
166
Set condition indicator
to 118 in OPe code to
indicate "u" operand
.
d an d""
non-subscrlpte
v
operand 75--- or
Advance
Nrp by five
Advance count of relative constants (ere)
bone
Advance
Nrp by 3.
"-
dvanee
by 2
rp_
N
Is operand in "u"
of dummy instruction
temporary 5
77--- type?
.....
I\:)
CD
Set condition indicator
to 2 in OPe code to
indicate "u" operand
77--- type and "v"
operand non-subscripted
NO
Set condition indicator
to zero in OPe code to
indicate "u" operand
75--- or 76--- type and
"v" operand non-subscri ted
To Conn. (192)
Check for 61--- ·type
operand in tlu"
~ Nrp by 4
Advance
by 3
rp
N
Advance count of relative constants (C rc )
bone
/~
'0-1
3
o
Advance
N
rp by 4
~I Advance
To Conn. (194)
Check for 61---type
operand in "v"
Advance
N
by 3
rp
~
165
Advance indicator following dummy instruction
in Expanded List by
condition indicator
(RR) Subroutine To Check for Redundant Floating Point Binary Operation
To Conn.
Advance to next
address in Expanded
List
Search Expanded
for redundancy
Subscript word from
temporary 6 to
Expanded List
Is dummy instructio
identical to previous
entry in Expanded
List?
YES
Set switch
Set swi tch
0~@
Advance to next
address in Expanded
List
Dummy instruction from
temporary 5 to
Expanded Li st.
Set condition indicator
to 3 in OPe code to
indicate operand for "u"
in "Q" register
1281
Set switch
Search Expanded
List for redundancy
®~CD
Is dummy instruction
identical to previous
entry in Expanded Li st?
NO
To Conn. (188)
Advance to next
address in Expanded
List
YES
Advance condition indicator by 3 in OPe code
to 158 indicate operand
for "u" in "Q" re ister
Dummy instruction from
temporary 5 to
Expanded List
Check for 61--- type
operand in "v"
Advance
Nrp by one
Set condition indicator
to 128 in OPe code to
indicate both n u'; and
"v" operands non-subscripted
To Conn.
Check for 61--- type
operand in "u" or"v"
1282
To Conn. (182)
Enter partial
in "Q" List
Set
Increment (I)
to one
To Conn. (175)
Redundant partial
~----::..... resul t to Operand Li st
and Redundant Partial
Result List
(RS)
Was redundant partial
result already in
Redundant Partial Result List?
To Conn. (200)
Partial result to
Operand List and Expanded Lis~ Condition
indicator to Expanded List
To Conn. (181)
Check for redundant
partial result in "Qu
. List
Subroutine to Store Redundant Partial Result in Operand List and Redundant Partial Result List.
Get address of redundant partial resul t in
Expanded List from
"Att register
t--~
Get next available adStore redundant
dress in Operand Li st I--~ partial resul t in
from first word in RunOperand List.
ning Address List
To Conn. (180)
Is redundant partial
result in Redundant
Partial Result List?
NO
Advance address in
Operand List ($)
by one
Get next available address in Redundant
176....-.-~ Partial Resul t Li st from
ninth word in Running
Address List
Store redundant partial
result in Redundant
Partial Result List
Set "A" register negative to indicate redundant partial result
was not in list.
Advance available address in Redundant
partial Result List
by one
Is Redundant Partial
Result List too long?
YES
ALARM: SENTENCE
TOO LONG. Typed out.
41---311
Set "A" register positive to indicate redun- ....-.-.......
dant partial result was
in list.
(BQ) Rewind tapes
(FS) Subroutine To Store Callword in Ope File I Item
Input-Callword in " .. of "A" Register
YES
Get available address
in Ope File I from second
word of Running Address
List
callword in
in OPe
Advance available
address in Ope File I
by one
Is Ope File I
too long?
YES
ALARM:
LONG.
SENTENCE TOO
Typed out
~~
(BQ) Rewind tapes
Store 77--- callwo~l
in OP. File I.
I
==
Advance number of line
in Ope File I item
by one
J
(BR) Subroutine to Advance or Decrease Available Address in Operand List ( Beta Routine)
l79J---~
Decrease current address in Operand Li st
({3) by one.
Is initial address
in Operand Li st >
Current address?
YES
ALARM #4:
COMPILATION
INCONSISTENCY
NO
l80"---~
Advance current address in Operand List
({3) by one
Is maximum address
in Operand Li st >
current running
address?
NO
ALARM: SENTENCE TOO
LONG Typed out.
(BQ) rewind tapes
(LQ) Subroutine To Search for or Store Partial Result Symbol in I'tQ" List
Input-Redundant Partial Resul t in "A" Register for Search
Search entrance if
floating point plus,
minus multiply or divide
Is redundant partia
"A" reg i ster
in "Q" List?
yes
~
vl
Advance N
rp
by one
Is redundant partial
result = current partial
result (partial result
counter)?
NO
YES
Advance~~
~
Set Increment (I)
to zero
Store entrance
Obtain available ad182J----~ dress in "Q" Li st from
third word in Running
Address List
~Q) rewind tapes
ALARM: SENTENCE TOO
) -~LO_N_G___T_y_pe_d__o_u_t______~
Search entrance if
floating point unary
minus or absolute value
t----'-'-.t
Is redundant partial
result in "A" register
in "Q" List?
NO
Enter partial result
value from partial result counter into "Q"
List
Advance available address in "Q" List by
one.
s "Q" Li st too
long?
(LA) Subroutine To Search for or Store Partial Result Symbol in "Au List
Input;-Redundant Partial Result in "A" Register for Searc:h
r-------------------~
Entrance to Search
Is redundant partial
resul t in "Au regi ster
in "A" List?
t-~-3Il
v-
Is redundant partial
result = current partial
result(partial result
counter)?
YES
.-____...J'
Set
L--A_D_V_AN_C_E_N_r_p_b_y_o_n_e_---J
IncremE~-V
tozero~
Entrance to
store
Obtain available address in "A" List from
fourth word in Running
Address List
e-
ALARM:
(BQ) rewind tapes
Advance available
address in "A" List
by one
Enter partial result
value from partial
result counter into "A"
List
SENTENCE TOO
LONG Typed out
YES
Is "A" List too
long?
(ES) Subroutine
To Search for Dummy Instruction or Advance Dummy Tally in Expanded List
Inpu~Dummy Instruction in "A" Register
Entrance to
search
Is dummy instruction
in "A" register identical to previous entry in
Expanded List?
Address of word following identical entry in
Expanded List to tlu"
of "Att register
Set "A" register negative
indicate dummy instruction not identical to
previous entry in Expanded List.
187~--~to
Entrance to advance
tally (D)
(BQ)
rewind tapes
NO
188
Advance Expanded List
dummy tally (D) in
sixth word of Running
Address List by one
Is Expanded List
too long?
YES ALARM: SENTENCE TOO
LONG Typed out
(OS) Subroutine to Search Dimension List
(Input-Callword in "An Register)
Is 77--- callword
in "A" register in
Dimension List?
YES
Address in Dimension
Li st of word following
callword to "u" of
"A" reg i ster
I--_~
NO
ALARM #1:
COMPILATION INCONSISTENCY
(PR)
(BQ)
Rewind tapes
Subroutine to Decrease and Check Partial Result Counter
Decrease partial result
counter in seventh word
of Running Address List
by one to get new partial
result symbol
Has partial result
YES ALARM:: SENTENCE
counter decreased below I---~ TOO LONG
minimum value?
NO
(BQ)
Rewind tapes
)
(EK)
Subroutine to Check for 61--- Type Operands in Dummy Instruction
Entrance to check
"u" and "v"
Are operands in "u"
and "v" of dummy instruction in temporary five
61--- ty e?
Is operand in "v"
of dummy instruction
61--- type?
YES
~-~
Advance condition indicator by 358 in op.
code to indicate "v"
operand 61--- type.
NO
YES
Advance Nrp by 1
Entrance to
check only "u"
s operand in "u"
of dummy instruction
temporary five
61--- t e?
YES
J--------:~
Advance condition
indicator by 338 in
op. code to indicate
operand 61--- type
Advance N by 1
rp
Entrance to
chec~
I
on ly "v"
... ____
Advance N p ~
r _
operand in "v" of
dummy instruction
temporary five
61--- type?
YES
Advance condition indi
cator by 318 in op.
code to indIcate both
"u" and "v" operands
61--- t e
~
....0
w
(Pp)
Subroutine to enter Current Partial Result Symbol in Expanded List and Operand List
To Conn. (188)
Advance dummy tally
(D) to next address to
count partial result
symbol
8-<
196
Set address
of d last
O
OExpan
en t ry In
e d LIS t
\ - - + 1 (y) = dummy tally (D)
to add Dummy List and
new partial result symbol
to Expanded List
e197
Obtain address in Expanded List (y) for new
partial result from
fifth word in Running
Address List
Enter new partial
result symbol in
Operand List
K.
To Conn (190)
ObtaIn new ~
partIal
result symbol
Obtain available address in Operand List
from first word in
Running Address List
To Conn. (180)
Enter partial result
symbol in Expanded
List
Advance address in
Operand List (~ by
one
}---v
Subroutine to Store Partial Result Symbol for "Sub" Operation in Expanded List and Operand List
Advance N
rp
by one
Advance N by
rp
Increment (I)
To Conn. (185)
Enter partial
result in "A" List
Set condition indicator
to one in OPe code to
indicate subscript in
"A" register
Set address of last entry
in Expanded List (Y) =
dummy tally (D) to add
Dummy List and new partial result symbol to
Expanded List.
Obtain new partial
result symbol
To Conn. (188)
Advance dummy tally
(D) to next address to
count partial
symbol
~
____________,
~
Obtain available address in Operand List
from first word in
Running Address List
~
Enter new partial resuIt symbol in
Operand List
Obtain address in Expanded List (Y) for
new partial result f rom
fifth word in Runnin g
Addre,s s Li st
...
l
~----I
Enter new partial
res u1t s ymb 0 1 in
Expanded List
]
" - - - - -
Condition indicator to
op. code of word
following last dummy
instruction entered
in Expanded List
To Conn. (180)
Advance address in
Operand List (~) by
one
(LS)
Subroutine to Store in List 1, Callword of Library
Routine and, if Fixed Library Routine, Callwords
of its Cross-References
Advance index C
3
by two
Preset address in box-3
to initial address in
list of fixed library
callwords (see below)
Set index
C to zero
3
Is callword in "u"
of "A" = 50012?
Advance index C
3
by three
NO
Is callword in "u"
= 50022?
NO
NO
Is callword in "un
of "A" equal to 50031,
50041, or 50051?
Callword from·address
in list of
fixed library callwords
to "An
[-----J
YES
(LR) callword
from "An to list 1
List of Fixed Library Callwords
(Only those pertinent to this phase)
I
50002
00000
50022
00000
50031
00000
50041
00000
00 I 50051
00000
00
I
I
00
I
Advance address in
Box-3 by one
I
00
00
00
I
I
I
I
I
I
(LR) callword from
"A" to list 1
50012
Is index C
3
negative?
00000
1296
Decrease index C
3
by one
Equation No.2 {Redundancy Check} Coding
Regional Assignments for Equation Redundancy Check Phase
General Subroutines
(not part of this
pha se)
1
RE
RE
RE
fiE
RE
RE
Region and
Address
Name or DescriPtion
UP421
Uniprint Routine
EP537
Alarm Routine
Rewind Tapes Routine
BQ632
WROO')
Type Alarm Heading
CW1211
Constant Callword Routine
LR1465
Build List 1 Routine
laT ..
/
,.. .....
Input from Translation
RE
SL2242
Program
RE
RE
RE
RE
RE
RE
RE
BB2512
SS2544
ER2614
S02633
SP2715
SQ2757
ST3010
RE
RE
RE
RE
RE
W3064
LK3111
LL3133
Uv13161
LN3210
IP3236
IQ3300
IR3335
IS3375
FD3454
RE
FP3513
RE
RE
RE
RE
RE
P03544
M03570
N03617
003651
FN3700
HE
NF4014
RE
NE4041
RE
RE
RE
RE
RE
-
--
RE
EE4051
Sorted Li st
Setup Redundancy Check Phase (Start)
Check Symbol from Sorted List
End Redundancy Check Phase
Subscript Operator (77___ type callword)
Subscript Operator (continued)
Subscript Operator (continued)
Subscript Operator (76___or 75 ___type callword)
Library Operator
Library Operator (continued)
Library Operator (continued)
Library Operator (continued)
Library Operator (continued}
Power Operators (3), (-3). (2), (-2), (~~ E-~)
Power Operators (-1),(4t063),(-4 to -63)
Power Operators (continued)
Power Operators (continued)
Floating Point Divide and Subtract Operators
Floating Point Plus and Multiply Operators
Fixed Point Plus Operator
Fixed Point Multiply Operator
Fixed Point Subtract Operator
Fixed Point Divide Operator
Floating Point Unary Minus and Absolute
Value Operators
Fixed Point Unary Minus and Absolute
Value Operators
I Fixed Point Unary Minus and Abs. Val.
(.C9Jn_ il1J.l_~_d) _
Storage Operator (space-period)
I
1297
EF4ll0
EG4l52
EH4206
Storage Operator (continued)
Storage Operator (continued)
Storage Operator (continued)
RE
VC4246
VS4317
RE
PN4404
HE
RR4502
RE
RS4562
RE
054610
RE
FS4624
Subroutine to Check Variables
Subroutine to Sort Operands for Floating
Plus or Multiply
Set Condition Indicator for Floating
Point Operations
Subroutine to Check for Redundant Floating Point Binary Operation
Subroutine to Store Redundant Partial
Result Symbol in Operand List and Redundant Partial Result List
Subroutine to Sort Operands for Fixed
Plus or Multiply
Subroutine to Store Callword in Ope File
HE
BR4642
RE
LQ4654
RE
LA4703
RE
ES4726
RE
RE
DS4746
PR4755
RE
EK4764
RE
PP5012
RE
SR5023
Constants
RE
RE
RE
RE
RE
FC5051
RC5l74
T05227
IA5233
LV5245
Fixed Constants
Relative Constants
Alarm Text
Initial Addresses of Lists
Limiting Addresses for Lists etc.
Subroutine
RE
LS5257
Subroutine to Store in List I, Callword
of Library Routine and If Fixed Library
Routine. Callwords of Cross-References
RE
RE
RE
Subroutines
RE
1
Subroutine to Advance or Decrease Address {3 in Operand Li st (Beta Routine)
Subroutine to Search for or Store Partial
Result Symbol in "Q" List
Subroutine to Search for or Store Partial
Result Symbol in "A" List
Subroutine to Search for Dummy Instruction or Advance Dummy Tally in Expanded
List
Subroutine to Search Dimension List
Subroutine to Decrease and Check Partial
Result Counter
Subroutine to Check for 6l ___ Type Operands in Dummy Instruction
Subroutine to Enter Current Partial Result Symbol in Expanded List and Operand
List
Subroutine to Store Partial Result Symbol for Subscript Operation in Expanded
List and Operand List
1298
Temporaries
Lists
Permanent List
I
RE
RE
WT5306
CT5315
RE
RE
RE
RE
RE
RE
RE
RA5550
XQ5561
XA5761
RL6l6l
EL6261
FL7l6l
BL7361
RE
DL4OlO2
Working Temporaries
Counters
I Running
(current) Addresses in Lists
"Q" List
"A" List
Redundant Partial Result List
Expanded Li st
Ope File 1 Item
Operand List
Dimen sion Li st
1299
I
Equation Redundancy Check Phase
IA
Start
BB
0
1
2
3
4
5
6
7
10
MJ 0
TP
TP
TP
TP
TP
TP
TP
TP
IA
IAI
IA2
IA3
IA4
IA21
lA5
lA6
[30000J
RA
HAl
RA2
RA3
RA4
RA5
RA6
RA7
11
12
TP
lA7
IAIO
RAIO
SS3
13
14
15
16
17
20
TP
SP
TP
AT
TP
SLI
SL3
A
FC23
Fe
111 6
ELI
17
EL
FL
FLl
DSI
21
22
23
24
25
26
27
30
31
TP
TP
TP
TP
TP
TP
TP
TP
CT7
CT
CTl
CT2
111
MJ
CA
Fe
Fe
Fe
FC
FC
FC
FC
FC
0
BB32
WI'
Wfl
CTll
CTl2
SS
Setup Redundancy Check Phase
Exit-Redundancy Phase
Preset Running Add. in Operand List
Preset Running Add. in Ope File 1 item
Preset Running Add. in "Q" List
Preset Running Add. in "Au List
Preset Running Add. in Expanded List
Preset Dummy Tally for Expanded List
Preset Partial Result counter
Preset Running Tally #lines in Running
prog. +1000
Preset Running Add. in Red. P.R. List
Preset Running Add. in Sorted List-Initial Add.
Line Number to 2nd Word of Expanded List
Callword to "u" of A
Callword to "u" of 1st word in Exp. List
Callword to 1st line Ope File 1 item
Zeroize 2nd line Ope File 1 Item
j n from f6 to "u" 0 f RP to sea rch Dim.
List
Preset increment (I) to Zero
Preset Crc to Zero
Preset Crpt to Zero
Preset Crct to Zero
Zeroize Temp 0
Zeroize Temp I
Zeroize index Counter (Cl)
Zeroize index Counter (C2)
1300
IA
SS
1
2
TP
TP
RA
FC
FG32
SS3
3
4
5
QT [30000J A
TP A
WT3
TJ FCl12
SSll
t...
u
TT
.h.l
l ' \.I~v
1.N V
7
TJ
FC61
SQ14
10
MJ
0
SO
11
12
LQ A
QT FCl14
17
A
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
AT FCl13
RP 30031
TJ SS16
MJ 12
MJ 13
MJ 20
MJ 21
MJ 30
MJ 31
MJ 32
MJ 33
MJ 50
MJ 52
MJ 60
MJ 61
MJ 70
MJ 71
MJ 100
MJ 101
A
SS47
SS16
FN2
NF2
FP
PO
o
~rA~
GTIO
Q
FC2
rT~
Check Symbol from Sorted List
Zeroize condition Indicator
Mask for "v" to "Q"
Adv. add. in Sorted Li st - Add. next symbol
Symbol from Sorted List- "v" of "A"
Symbol- "v" of WI'3
50000> Symbol? (Is this operation Symbol?)
61000> Symbol? (Is this Library Symbol?)
75000> Symbol? (Is this Non-sub Var. or
Const. Sym?)
Subscripted Variable Symbol (77___ 176 ___ ,
or 75 ___ )
Symbo 1- "u" of Q
Mask rightmost 4 octal digits to "u" of
A
33
34
35
36
37
40
41
42
43
44
45
46
47
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
CA
120
3077
3177
4000
4100
5000
5100
6000
6100
7100
S550
FD7
NO
FN
NF
SS
5S
FP2
MO
FD
DO
W
W2
EE
IQ14
IQ16
IP
IP2
IPll
IP13
IP22
IP24
IQ
I
Form I MJ O[symbolJ I 00000 I
Search List for Operation Symbol
Jump according to symbol
Floating Point Absolute Value
Fixed Point Absolute Value
Floating Point Plus
Fixed Point Plus
Floating Point Subtract
Fixed Point Subtract
Floating Point Unary Minus
Fixed Point Unary Minus
=
By
Floating Point Multiply
Fixed Point Multiply
Floating Point Divide
Fixed Point Divide
Gen era 1 "POWER"
I POW I > 63 or I Non-integral POWI < 63
(superscript cases only)
Storage Operater (space-period)
Integral Power ( 4 to 63 )
Integral Power (-4 to -63)
Integral Power (3)
Integral Power (-3)
Integral Power (2)
Integral Power (-2)
Power O~)
Power (-%)
Integral Power (-1)
1301
®
G)
0
IA ER
TP RA7
A
1
TJ
LV7
ER6
2
3
4
5
6
7
RJ
TP
RJ
MJ
RS
AT
WA
TO
UP2
0
RA2
FCIIO
WAI
UP3
UP
BQ6
IA2
RA
10
11
RS RA3
AT FCIIO
lA3
RAI
12
13
RS RAIO
AT FelIO
IA7
RA2
14
TP FCI07
RA3
15
TP
16
IAII
RAIO
MJ
0
BB
CA
ER17
End Redundancy Phase
Initial Relative constant Running Address to "A"
Number Lines in obj ect program body ~
1001a?
No; Type sentence Number
Codeword to Alarm Print
Alarm; SENTENCE ____ TOO LONG.
Rewind Tapes and Stop
#Entries "Q" List to "u" and ltv" of "A"
jn for "Q" List Search to Generation Input
#Entries "A" List to "u" and "v" of "A"
jn for "A" List Search to Generation Input
#Redundancy Temps to "u" and "v" of "A"
jn for Redundant Partial Result Search
to Gen. Inp.
Initial Relative Running Address to Gen.
Input
Initial Address in Expanded List +2 to
Generation Input
1302
1
IA SO
TP A
RJ ES
2
3
4
TV A
TV A
TP RCI
o
5
TP
WT3
6
7
TJ
RJ
FC53
FS
10
TP
RJ
DS
TO
TO
A
[30000
11
SP WI
RJ CW
16
TV
S04
17
TO
A
TO
S013
[30000
FCI
CTll
S04
Advance "D" to available dummy inst.
address
Address of dummy inst. to "v" of Temp 4
WT4
Address for dummy inst. to "v" of NI
S04
[30000 ] Dummy "sub" instruction to Dummy List
(D)
7____ type symbol to ;;A;;
A
Symbol 77___ ? (i.e. 77000> A)
5T
Yes. store symbol in Ope File 1.
FSI
77___ type symbol to "A"
A
D51
Search Dimension List for symbol (Address of next word in "u" of A)
Address of modulus to "u" of next inst.
5013
WT
Modulus to "u" of Temp 0
Modul u s to "v" 0 f AR
71
Store modulus in constant pool (callword
CWI
in "un of A)
Address of Dummy inst. in Dummy List (D)
SOl7
to "v" of NI
[30000] Gallword of Modulus to "u" of Dummy instruction
S021
Address of # S.S. to "u" of NI
CTIl
# of subscripts to index counter ~
1 in "v" to "A"
A
# Subscripts = one?
SQ
Address of dummy instruction to "v" of
S025
ES12
WT3
12
13
14
15
20
21
Subscript Operator (77___ callword)
7____ symbol to "v" of working Temp #1
\\1Tl
J
J
23
24
TV
TP
EJ
TV
25
26
27
30
TV GTll
SP GTll
AT GTll
RS RA
[30000J
17
Q
Q
31
32
RJ
BR
TO
A
33
TV
34
35
36
37
TO
RG31
SOl3
GTII
ES
BR2
S040
S042
S046
FCI
E512
5040
40
TP
22
NI
RS
RJ
TV A
# Subscripts to "v" of dummy instruction
#Subscripts to "u" of "A"
#Subscripts to "u" and "v" of Q
Decrease add. in Operand List (~) by
#S .S. in "u" and "v"
Ha s f3 decrea sed beyond lower 1 imi t.
Address of first s.s. to "u" of TP
Preset switch for multiplier in "v"
Preset address of multiplier
Decrease index counter by 1 in "v"
Advance D to next address in Dummy List
Address for subscript in Dummy List to
"v"
41
42
43
0
f
NI
[30000] [30000 ] Subscript from Operand List to Dummy
List in "v"
Advance
address to next s.s. in Operand
RA S040
FC2
List
(30000] All .suhscript.st.ransf~erred t.o Dummy Li s t?
IJC'l'll
MJ 0
Yes
SP
1303
44
45
46
47
50
@
51
52
53
54
55
56
57
60
61
TV RC32
5046
TV [30000 ]
TP WTl
RJ CW
Preset switch for multiplier in "u"
Advance "u" of NI by one (Add. of Mul t.)
Multiplier to "v" of working Temp.
Multiplier to "v" of A
CWI
Store multiplier in constant pool (callword in "u" of A)
TV 5040
S052
Address of subscript in Dummy List to
"v" of NI
TIl A
[30000J Multiplier to Dummy List with Corres.
Subscript
MJ 0
S036
S055
Address of Multiplier in Dim. List to
1U S046
"u" of NI
Multiplier to "un of Working Temp.
TO [30000J WI'
SP WI'
Multiplier to "v" of Al
25
LT 0
A
Multiplier to "v" of Ar
TV RC31
5042
Preset switch for multiplier in "v"
MJ 0
5050
CA 5062
RA
5042
FC2
WI'1
A
1304
IA
A
V
1
SP
TO
SP
SAil
V~
A
17
SP2
10
TP [30000 ]
TV A
TV A
RJ ES
SJ SP22
TP FC35
S5 FC2
CTll
CT12
ESI
5P7
Q
11
TO
A
SP20
12
13
14
15
16
TO
RA
SP2
CTll
SP20
MJ
0
SP21
SP16
FC2
SQ20
FC2
2
3
4
5
6
7
IJ
RA SP20
A
o
FC2
17
RA
SP21
20
21
QT
EJ
[30000] A
[30000] SP13
22
23
24
25
26
27
TP CTl2
EJ FC23
EJ FC57
MJ 0
RA RA7
TP FC6
SP26
SP31
SP34
FC24
CTIO
30
31
32
MJ 0
RA RA7
TP FCIO
SP36
FC25
CTIO
A
Subscript Operator (continued)
Address of Dummy Inst. to "u" of A
Address of Dummy Inst. to "u" of NI
Dummy inst to A
#Subscripts to index counter Cl
#Subscripts to index counter C2
Search Expanded List for Redundancy
Is dummy inst. redundant? yes to SP7
Mask for HUH and "Vii to "Qn
Add. of prev. entry in Exp. List to "u"
of A
Add. of prev. entry in Expanded List to
"u" 0 f QT
Add. of Dummy inst. to "u" of EJ
All subscripts compared for redundancy?
Yes
Adv. "u" of QT- Add. of next s.s. in
Exp. Li st
Adv. "u" of EJ- Add. of next s.s. in
Dummy List
Subscript from Expanded List-- A
S.S. in Dummy List = S.S. in Expanded
List?
#Subscripts - A
#Subscripts = 2?
#Subscripts = 3?
Assume four subscripts
Adv. Nrp by 3
Set Cond. Ind.- 2(2 subs w/s.s. not in
A)
Adv. Nrp by 4
Set Cond. Ind.-- 4(3subs. w/s.s. not in
A)
33
34
35
MJ 0
RA RA7
TP FC70
SP36
FC26
CTIO
Adv. Nrp by 5
Set cond. Ind.- 6(4 subs. w/s.s. not in
A)
36
SP
RA5
17
37
40
TU
A
MJ
CA
0
SP41
SR
SQ12
Add. of last entry in Exp. List -- "u" of
A
Address of Last Subscript - "u" of TV
1305
@
0
1
2
3
4
5
6
7
10
0
11
12
@
13
14
15
16
17
@
20
21
22
23
24
25
26
27
30
Subscript Operator (continued)
Decrease address in Operand List ({3) by 1
in "u" and "v"
SQ3'
Address of last operand in Opere List-1U RA
"u" of TV
TV S04
Address of Dummy instruction -- "v" of NI
SQ3
TV [30000] [30000 ] Subscri pt -- "v" of dummy instruction
SP S04
Address of Dummy inst. -- "u" of A
17
SQ6
Address of Dummy inst. -- "u" of NI
TO A
TP [30000 ] A
Dummy instruction - A
RJ ES
ESI
Search Expanded List for redundancy
Is dummy inst. = prev. entry in Expanded
SJ SQ26
5Q20
List?
W SQ6
SR
Address of dummy inst. -- "u" of TV
RJ SR25
SR
P.R. Value - Opere List and Exp. List;
Cond. Ind. -- Exp. Li st
TP Fe3
CT7
Set increment (I) - one in "u" and "v"
TV RA
5Q15
Available address in Operand List (S)"v" of NI
[30000 ] Operand Symbol -- Operand Li st
TP WT3
RJ BR
BR4
AdVance address in Operand List (13) by 1
in "u" and "v"
Return to pick up next symbol in Sorted
MJ 0
SS
List
TP RA4
HA5
Set D '= y (delete Dummy List from Expanded Li st)
RJ RS
RSI
Redundant P.R.- Operand List and Red.
P.R. List
Was P.R. previously entered in Redundant
SJ SQ23
SQ24
P.R. List?
TP WTl
No, Redundant Partial Result to A
A
LAI
Redundant P:.R. in "A" List? (If yes, AdRJ LA
vance Nrp by one)
MJ 0
5Q14
FC4
Advance Nrp by 2
RA RA7
TP FC
CTIO
Set Cond. Ind -- zero (1 subs. w/s.s. not
in A)
MJ 0
SQll
CA SQ3l
IA
RJ
SQ
BR
BRI
1306
o
IA ST
1
2
TJ
TP
QT
FG60
FG73
WT3
3
4
LQ
TP
CTll
FC74
5
QT
nT3
6
AT
7
10
SA
TV
11
TO
12
13
14
15
16
17
20
TP
EJ
TV
TV
SP
AT
RS
21
22
23
RJ
TO
RS
24
SP
25
26
TO
IJ
27
30
31
MJ
RJ
TV
32
33
TP
RA
34
35
TV
TO
36
RA
37
40
MJ
RJ
5T45
Q
CTll
36
Q
:suDscript Operator (76 ___ or 75--_ CW)
Symbol 76___ ? (i.e. 76000> A)
Mask for 3rd octal digit of "v"- Q
#s. s. - 3rd octal digi t of "v" of Counter
Cl
#s. s. - "v" of index counter Cl
Mask for rightmost 2 octal digits of "v"
- Q
Mask
.; '"
.L J1
0 '"
..;:).
On
V
P•
Tn
n11+
.....
11 P LA. t,
i'~r\""
..... .L V 111
76 ___ callword
LVII
Add callword of pseudo OPe input region
WT2
(63000)
CTll
17
Gallword of Modulus Location - "u" of A
504
STll
Preset address of Dummy Instruction in
Dummy Li st (D)
A
[30000 ] Callword of Modulus Location - "u" of
Dummy Inst.
FCI
A
1 in "v" - A
CTll
SQ
#s.s.
I? yes to SQ
S04
ST15
Add of Dummy Inst. - "v" of NI
[30000 ] #s.s.- ltv" of Dummy Inst.
GTll
CTll
#s.s.- "u" of A
17
CTll
#s. s. - "u" and "v" of Q
Q
RA
Decrease address in Operand List ($) by
Q
#s.s. in "u" and "v"
BR
BR2
Ha s {3 dec rea sed beyond Lower Limi t
A
ST32
Address of first s.s.
CTll
Reduce "v" 0 f index counter (#s. s.) by
FCI
one
WT2
17
Callword of Location of SUbs. Variable
to "u" of A
A
WI'
Callword to working temp.
CTll
ST30
All sUbscripts but one transferred to
Dummy List
0
ST40
Yes
ES
ES12
Advance D- next address in Dummy List
A
ST32
Address for subscript in Dummy List"v" of NI
[30000] [30000] Subscript to Dummy List in "v"
WI'
FC2
Adv. "u" of working temp by one - Add.
of next mult.
51'32
5T35
WI'
[30000] Callword of Mul tiplier Location to Dummy Li st
51'32
FC2
Adv. "u" address of TP- next s.s. in
Operand List
=
I
0
ST~6
ES
ES12
Advance D- next address in Dummy List
1307
TV A
ST43
43
44
45
Address for s.s. in Dummy List - "v" of
TP
TO ST32
ST43
Address of s.s. in Opere List- "u" of
TP
TP [30000 ] [30000 ] Last s.s.- Dummy List (no mul tiplier)
MJ 0
SP
TP FC74
Mask for rightmost 2 octal digi ts of "v"
0
46
QT A
A
47
AT LVIO
50
51
SA FCl
TV S04
41
42
@
52
53
TU
MJ
CA
A
0
ST54
-0
Location index in Dummy region from
75100 Cw- Av
Add callword for function input region
WT2
(62000)
Ca11word of Modulus' Location - "un of A
17
5T52
Preset Address of dummy" sub" inst. in
Dummy List (D)
I: 30000 J Callword of Modulus - "un of dummy inst.
SQ
1308
o
IA
TP
W
FC64
WT3
@
1
2
MJ
TP
0
FC67
W3
WT3
G
3
TP
FC3
CT3
4
S
TP
TP
FC
FC3
CT4
CTS
6
7
10
11
12
13
14
IS
16
TP
TP
TO
TV
TV
TV
TP
TP
FC
RC4
FC
Wl'3
ES
A
A
WTS
FC30
CT6
WT5
WTS
WT5
ES12
WT4
W15
[30000J
17
20
21
22
23
24
QT
TP
TV
TV
IJ
MJ
CA
WT3
CTII
RC15
RC13
CT12
0
W25
CTII
CT12
LL6
L\124
LK
LM
RJ
Q
Library Operator
"Gen. Pow." callword (S0012) symbol Temp.
"v" of
"Var. Exp." CW (S0022) - "v" of symbol
temp.
Set Trp - one (count transfer of control)
Set Trc - Zero
Set Trpt - one (count 10 line for transfer of cont.)
Set Trct - Zero
Dummy inst - working temp.
Zero - "u" of dummy inst.
Lib CW - "v" of dummy inst.
Adv. "0" to available dummy inst address
Add of dummy inst. - "v" working temp.
Add. of dummy inst. - "v" of TP
Dummy inst. w/callword- Dummy List
Mask for rightmost octal digit of "v"-
Q
#Arguments- index counter Cl
#Arguments- index counter C2
Set switch N to N2
Set switch S to S1
All arguments transferred- Dummy List
1309
0
@
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
LA LK
RJ BR
TIl
SP
TP
TP
TJ
SP
W
EJ
TP
QT
EJ
RA
RA
MJ
RA
RA
MJ
CA
BRI
LK2
RA
[30000 ] 17
WT5
A
FC54
A
LL3
Wf5
17
RA6
WI'5
WT
LL
WT
FCI03
Q
A
WT5
Fel0l
LK17
FC3
CT3
FC3
CT5
0
LL22
FCl15
wr5
CT3
FC4
0
LK15
LK22
Library Operator (continued)
Decrease Add. in Opere List by 1 in "u"
and "v"
Arg. - "u" of A
Arg. - "un of temp. 5
74777 - "u" of A
Is argo subscripted? No to LK6
P.R. counter - "u" of A
Operand - "u" of working temp.
Operand = P.R. counter? (oper in Q)
No
Operand 61 ___ Type?
No-adv. Trp by one in "u" and "v"
Adv. Trpt by one in "u" and "v"
Adv. indicator by 338 in OPe code
Adv. Trp by two in "u" and "v"
1310
o
IA
RA
LL
WTS
Library Operator
FC5
Set indicator to 1 in op. code (oper in
Q)
Set swi tch
1
TV RC12
I.M24
2
MJ
0
LK14
3
RJ
BR
BRI
4
TO
RA
LL5
5
TV
RJ
TP
®
to
@
Dec. add. in Opere List by 1 in "u" and
" v"
24
TP
Subscript - !!v!! of Arg. word
[30000 J w'T5
[30000 ] Switch
LL6
FCS6
A
76777 - "u" of A
WTS
Opere - "un of working temp.
WT
Operand 77___ type?
WT
LL16
CT3
Adv. Trp by 4 in "un and "v"
FC2S
CTS
FC3
Adv. Trpt by 1 in "u" and "v"
Adv. ind. by 2 in OPe code C75___ or 76 __ _
FC6
WTS
type arg.)
0
LL22
CT3
FC24
Adv. Trp by 3
FC3
CT4
Adv. Trc by 1
CT6
FC3
Adv. Trct by 1
Adv. indicator by 4 in Ope code (77__ _
FCI0
WTS
type arg.)
ES
ES12
Adv. "D" to avail. Dummy inst. Add.
RAS
LL24
Add. for Arg. word in Dummy List- "v"
of NI
WTS
[30000 ] Arg. wo rd - Dummy Li st
2S
MJ
CA
LL26
6
7
10
11
12
TO
TJ
RA
13
RA
14
RA
IS
MJ
16
17
RA
20
21
RA
RA
RA
22
RJ
23
TV
®
0
LJ23
1311
G
®
0
1
2
3
4
5
IA
SP
I1d
SJ
1U
WT4
A
[30000 ]
ES
LM17
A
17
LM2
A
ESI
LM5
LM12
6
W
U12
LM15
7
10
11
12
13
14
15
16
TP
IJ
MJ
QT
FC35
Q
CTll
LM12
0
LM25
[30000 ] WT2
FC2
Ut12
FC2
LM15
[30000 ] A
IJnO
WT2
17
TP RA5
20
21
22
23
24
25
RA7
CT
RA CTI
RA CT2
MJ 0
TP 11112
26
MJ 0
CA LM27
1U
TP
RJ
RA
RA
QT
EJ
RA
RA
Libra ry Operator
Add. of Dummy inst. to "u" of A
Add. of Dummy Inst. to "un of NI
Dummy inst. to A
Search Exp. List for Redundancy
Is dummy inst. redundant? yes to Il15
Preset address in Expanded List of first
argument
Preset address of dummy library instruction
Ma sk for "u" and "v" to Q
All arguments compared for redundancy?
Argument from Expanded List to temp. 2
Advance to next argument in Expanded List
Advance to next argument in Dummy List
Argument from Dummy List to A
Arg. in Dummy List Arg. in Expanded
List
D (add Dummy Li st to Expanded
RA4
Sety
List)
CT3
Adv. Nrp by Trp
Adv. Crc by Trc
CT4
CT5
Adv. Crpt by Trpt
Adv. Crct by Trct
CT6
[30000 J Swi tch ®
A
Address of redundant partial result to
"u" of A
LN21
=
=
1312
(s?)
0
@
~<:(
rJl
.......
~
o,...j
$.4
o~
~
a..
o,...j
~
$.4
(J)
rJl
0
I
2
3
4
5
6
IA LN
RA7
CT7
MJ 0
LN5
RJ LQ
LQ7
MJ 0
LN5
RJ LA
LA. 6
TP FC3 CT7
RJ PPIO PP
RA
7
10
II
12
13
14
15
16
17
WT3
FS
MJ 0
TV WT5
TP RA6
EJ WII
MJ 0
TV RCI4
RA WT5
A
FSI
LN23
WII
A
LNI6
LL7
IM24
FC5
20
21
MJ
TP
0
RA4
LL7
RA5
22
23
24
25
MJ
SP
RJ
MJ
CA
0
WT3
LS
0
LN26
RR50
17
LSI
SS
TP
RJ
c.> c.>
..s::...o
t.,)::5
rJl
Library Operator
Adv. Nrp by Increment
(T)
'
.... 1
Enter P.R. in "Q" List
Enter P.R. in "A" List
Set increment (1) - one in "u" and "v"
Enter current P.R. in Oper. List and
Exp. List
Lib. caIIword - A
Enter Lib. caIIword in Op. File I
Subscript- "v" of working temp.
P.R. counter- A
P.R. counter = subscript?
®
Set
to@
Set indicator - I in op. code (s.s. in
A)
Set D =y (inst. Red. do not add Dummy
List to Exp. List)
Library Routine Callword to List 1
1313
,~
42
43
0
1
2
3
4
S
6
7
10
11
12
13
14
IS
16
17
20
21
22
23
24
25
26
27
30
IA IP
TP RC11
MJ 0
TP RC12
RJ IRIS
QJ IPS
RA RA7
MJ 0
RA RA7
MJ 0
TP RC7
MJ 0
TP RC10
RJ IRIS
QJ IP16
RA RA7
MJ 0
RA RA7
MJ 0
TP RC13
MJ 0
TP RC14
RJ IRIS
QJ IP27
RA RA7
RJ IP41
WI'S
IP3
WTS
IR
IP7
FC26
IR16
FC4
IS33
WTS
IP14
WTS
IR
IP20
FC2S
IR16
FC3
1533
WTS
IP2S
WTS
IR
IP32
FC2S
IP3S
31
32
33
MJ
RA
RJ
IR16
FC4
IP3S
34
35
36
37
40
41
IS21
MJ 0
TP FC66 A
RJ FS
FSI
TP LS2S A
RJ LS
LSI
[30000 ]
MJ 0
CA IP42
@
48
4
®
@
0
RA7
IP41
Power Operators
(3) . (-3) • (2). (-2).
Entrance-POW (3)
(~)
.
(- ~)
Entrance-POW (-3)
Check for redundancy
Is operand subscripted?
Advance Nrp by S in "u" and "v"
Advance Nrp by 2 in "u" and "v"
Entrance-POW (2)
Entrance-POW (-2)
Check for redundancy
Is operand subscripted?
Advance Nrp by 4 in "u" and "v"
Advance Nrp by one in "u" and "v"
Entrance-POW
(~)
Entrance-POW G~)
Check for redundancy
Is operand subscripted?
Advance Nrp by 4 in "u" and "v"
Square root ca11word to Ope File 1 and
List 1
Advance Nrp by 2
Square root ca11word to Ope File 1 and
List 1
Square root ca11word to "A"
Store square root cal1word in Ope File 1
Square root callword to "A"
Store square root callword in Li st 1
1314
o
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
IA IQ
TF RCli
RJ IR15
QJ IQ3
RA
TO
RA7
WT5
WT5
IR
IS21
FC4
WT
TP
TJ
TP
TV
TP
F"C56
A
WT
WI'5
RA6
IR27
CTI0
WTl
A
EJ
WIl
IS
0
IR33
WT5
IQ17
MJ
TP
MJ
TP
TV
RJ
RJ
TV
TP
QJ
RA
MJ
RA
MJ
1lJ
TP
EJ
MJ
CA
FC12
RC15
0
Power Operators (-1),(4t063),(-4- to -63)
Entrance-POW (-1) inst. to temp. 5
Check for redundancy
Is operand subscripted?
Advance Nrp by 3 in "u" and "v"
Operand to working temp.
76777 - "u" of A
Is operand 77___ type?
10- Ope code of condo ind.
P.R. ocunter - A
Operand = P.R. counter? (subscript in
"A"?)
No
Entrance-POW (4 to 63)
Entrance-POW (-4 to -63)
Set swi tch CD to @
Check for redundancy
Advance dummy tally D by one
Available address in Exp. List - "v" of
HA5
TP
[30000] 13 ___ symbol in "v" - Exp. List
WT3
Is operand subscripted?
IQ27
IQ25
Advance Nrp by 6 in "un and "v"
RA7
FC27
0
IR16
Advance Nrp by 3 in "un and "v"
FC24
RA7
0
IS33
Address of 13 ___ symbol (POW word) in
A
IQ32
Exp. List- "u" of TP
13 ___ symbol (POW word) from Exp. List-A
[30000J A
Is 13 ___ symbol (POWword) also redundant?
wr3
RR50
0
IRII
IQ35
RC16
Re17
IR15
ES
WT5
IRIO
IRI
ES12
IQ23
1315
@
>1
s::.!:I:::
4
S8
0
co 0
"OQ)
s::..c:
:::s
0
"0
Q)
0:::
@
@
"0
Q)
~
.,...a.
s...
"00
s::
CI.I
co.Q
s... :::s
Q) CI.I
a.
0
@
IR
RC16
RJ VCSO
TP Q
QJ IR4
Power Operators (continued)
IRIO
Set swi tch
to @
VCS
Check variables and set switch Q[)
s.s. "yes or no" indicator- working temp.
WT2
IR36
Is there a subscript?
IRS
Address of s.s.- "v" of NI
TIl RA
TV [30000 ] WTS
s.s. - "v" of dummy inst.
TP WI'S
Dummy instruction to "A"
A
RJ ES
ESI
Search Exp. List for instruction
[30000 ] Is instruction redundant? (switch T)
SJ IRll
Advance dummy tally by one
ES12
RJ ES
IR13
TV HAS
Available address in Expanded List - "v"
of TP
[30000 ] Instruction to Expanded List
TP WTS
TP WT2
s.s. "yes or no" indicator- Q
Q
[30000 ] Exit
MJ 0
TU WTS
WI'
"u" of dummy in st. - work ing temp.
TP FC56
A
76777 - "u" of A
Is operand 77___ type
TJ WT
IR27
75 ___
TP FC12
CTIO
Set condo ind.- 10 (operand 74 ___ type)
WTl
Subscript to working temp.
TV WI'S
A
TP RA6
P.R. counter- A
EJ WTl
IS
P.R. counter = subscript? (is subscript
in A)
FC3
Advance Nrp by one in "u" and "v"
RA RA7
MJ 0
IR34
TP FCIO
CTIO
Set condo indo - 4 (operand 77___ type)
FC3
RA CT
Advance Crc (count of reI. const.) by
one in "u" and "v"
TV WfS
WTl
Subscript to "v" of working temp.
TP RA6
A
P.R. counter- A
EJ WTl
Subscri pt -= P. R. counter (is subscript
IS
in A)
RA RA7
CT7
Advance Nrp by increment (I)
MJ 0
IS2
WT5
Zero- "v" of dummy inst.
TV FC
MJ 0
IR6
CA IR40
IA
0
1
2
3
S
6
7
10
11
12
13
14
IS
16
17
20
21
22
23
24
2S
26
27
30
31
32
33
34
3S
36
37
CD
TV
1316
o
lA
IS
RA
CTIO
FC5
1
RJ
TP
RJ
TV
LA
LA6
FC3
PPIO
RA4
CT7
PP
156
2
3
4
r::
1'\
J
6
7
10
TP
RJ
TV
17
TO
A
20
21
22
23
24
25
26
27
30
31
32
33
34
35
MJ
0
WT5
RA6
WT
FC
EK25
RA7
36
37
40
41
QT
12
13
14
15
16
~a... lG
I~
t$..!.-I@
~ $..! 66
.~
..0 0
;:j
en
I
I
I
0-..0
S::.-Ia
®
.-I
tn
QS CTIO
FC73
WT3
1S13
0
RA7
FC65
CW
lS6
11
42
43
44
45
46
47
50
51
Power Operatars (continued)
Adv. OPe code of condo indo by one (s.s.
in A)
Enter P.R. value in "A" List
Set increment (1)-- one
New P. R. value -- Exp. List and Oper. Li st
Address of P.R. value in Exp. List - "v"
of QT
TP
QT
ZJ
MJ
RA
TO
SP
EJ
TP
RJ
RA
MJ
TP
RJ
0
FC5
LQ
"
[30000 ]
Q
A
lS12
IS44
FC3
A
CWI
lS17
[30000 ]
lS44
WT
17
lS30
CTIO
EK6
CT7
lS2
CTIO
1ndicator- OPe code of P.R. word
Ma sk for 3rd octal digi t of "v" -- Q
3rd 0 c tal dig i t -- A
3rd octal digit::: 1 (is this neg. power)
Advance Nrp by one in "un and "v"
Floating point one- A
Store floating pt. "one" in constant pool
Address of P. R. word -- "v" of NI
Callword of fixed const.-- "un of P.R.
word
Operand-- working temp.
P.R. counter -- "u" of A
Operand::: P.R. counter? (operand in "Q")
No, set Ope code of cond. ind.- Zero
To 61 ___ routine (nu" ent.)
Advance Nrp by increment (1)
Set OPe code of cond. ind.-- one
Enter P.R. value in Q list
MJ
0
LQ7
152
RA
RA7
FC
FCI03
CT7
CTIO
Q
Advance Nrp by increment (1)
Set OPe code of cond. ind.-- zero
Mask for first two octal digits of "un
WT5
FCIOI
0
CTIO
A
1541
Fir s t two 0 c tal dig its
Operand::: 61 ___type?
RA7
0
WT3
FCl17
FC120
FC4
lS2
A
TP
TP
EJ
MJ
RA
RA
MJ
TP
EJ
EJ
MJ
TP
0
CTIO
EJ FcTo-
-
Q
0
f "u It
0
f D-
152
FCl15
1550
lS50
SS
A
1554
Adv. condo indo by 338 in OPe code.
(oper in "u" 61 ___ )
Adv. Nrp by 2 in "un and "v"
Operation symbol to "A"
Symbol ::: 16000 (POW ~)?
Symbol::: 16100 (POW -~)?
Condition indicator to A
Co~n(r:- -Tri-d=4'(---
1317
A
@
52
53
54
55
56
RA
CTI
FC4
MJ
0
S5
RA
RA
CTI
CT2
FC3
FC3
S5
MJ 0
CA 1557
No - advance Crpt by 2 in "u" and "v"
Advance Crpt by 1 in "u" and "v"
Advance Crct by 1 in "u" and "v"
1318
t:;\
Q)
"0
V
'r-i
:;;..
'r-i
"0
t::P
;::
-r-i
+J
co
0
I"""'f
C;-j
@
+J
u
co
~
+J
..Q
~
fI)
@
t::P
;::
co
0
I"""'f
C;-j
"0
~
0
a:
+J
0..
-r-i
~
u
en
..Q
~
fI)
+J
0..
-r-i
$...l
u
fI)
..Q
~
fI)"O
~
o
0
TP
1
2
3
4
5
6
RJ
QJ
RJ
MJ
7
10
11
12
13
14
15
16
17
20
-r-i
+J
s:::
(
1A FD
0
a:
RC3
\fi'S
VC50
FD3
FD26
0
RJ FD34
MJ 0
TP' RC2
RJ VC50
QJ FD12
RJ FD26
TV RCll
TP FCIO
VC
FD5
FD22
FD14
FD31
FD20
MJ 0
RR43
FD31
FC3
FCIO
RJ
RA
RA
l 21
MJ
22
23
24
25
26
27
30
31
32
33
34
35
36
TV
RJ
TV
TP
EJ
SP
MJ
RJ
TV
TP
EJ
RA
MJ
CA
FD34
RA7
CTIO
WTS
VC
FD16
FD22
PN6l
CTIO
0
RR43
RelO
PN61
RR22
RR
WT5
WTl
A
RA6
[30000 ]
WIl
RA6
17
0
FP7
RR42
RR25
WT5
WTl
RA6
A
[30000 ]
WIl
RA7
CT7
0
RR44
FD37
Floating Divide and Floating
Subtract Operators
DU~TtY fl. divide inst.~ working temp.
Check variables and set switch ~
Is there a subscript word?
Subscript word
No subscript word
Dummy fl. subtract inst.-- working temp.
Check variables and set switch C!D
Is there a subscript word?
Subscript word
Set swi tch @- @
Set cond. ind.- 4 in Ope code (oper.
for "v" in Q)
No subscript word
Advance Nrp by one in "u" and ttv"
Set cond. ind.-16 in OPe code (oper.
for "v" in Q)
Set switch @- @
Jump to redundancy routine
"v" of dummy inst.- "v" of working temp.
P. R. counter - A
P.R. counter -- "u" of A
Jump to Redundancy Routine
"v" of dummy inst - ltv" of working temp.
P.R. counter- A
P.R. counter = "v" of dummy inst.
Advance Nrp by increment (I)
1319
o
G)
~
IA FP
TP RC21
1
2
MJ
3
4
WT3
0
RC22
FP3
RJ
VS64
RA
Wf5
VS
WT3
QJ
FP6
RR22
WT6
FP26
RR
7
RJ
TU
10
EJ
WI
FP23
11
12
13
TP RA6
TV WT6
5
6
14
15
16
17
TP
EJ
RA
WT3
WI'
A
WIl
WTl
FP17
RA7
CT7
CTIO
RR44
PN14
TP
Fe
MJ
1V
20
21
TV
0
Re3
Re5
TP
FC6
CTIO
0
FP24
CTIO
PN44
22
MJ
23
TP FC5
24
25
26
27
RJ
LA
LA6
MJ
RJ
RR44
RA
0
RR42
RA7
30
MJ
0
CA
FP31
RR25
CT7
RR44
Floating Plus and Floating
Multiply Operators
Dummy fl. plus w/zero in "u" and "v"working temp.
Dummy fl. mUlt. w/zero in "u" and "v"working temp.
Sort operands andlset switch @,
Dummy floating [Mu~fiplYJ wi th operands
- "An and temp.
Is there a subscript word? yes to FP6
Is operation redundant? no to FP7
"u tt 0 f s. s. wo rd - wo rk i n,g temp.
Is P.R. counter = "u" of s.s. word (s.s.
for "u" in A)
P. R. cour.t er - "v" of A
"v" of s.s. word- working temp.
P.R. counter = "v" of s.s. word (s.s. for
"v" in A)
Advance Nrp by increment (I)
Set cond. ind.-- Zero (neither s.s. in A)
Set
Set
Set
"v"
swi tch (G) - ©
switch 0- @
cond. ind.-- 2 in OPe code (s.s. for
in A)
Set cond. ind. - 1 in OPe code (s.s. for
"u" in A)
Enter P.R. in "A" list
Is operation redundant? no to FP27
Advance Nrp by increment (I)
1320
lA
PO
o
RJ
ES
ES12
1
2
TV
TV
A
A
WI4
3
4
RJ
AT
0513
RC23
5
TV
A
WI
6
7
RJ
ES
POlO
ESI
SJ
10
SP
RA6
11
EJ
WT
17
P016
12
RA
RA7
FC4
13
RJ
SR25
SR4
14
15
16
TP
FC
MJ
0
RA
RA7
CT7
55
FC3
17
RJ
SR25
SR7
20
21
MJ
0
P014
TP
RA4
HA5
22
RJ
RS
Rsl
23
MJ
0
S5
CA
P024
P04
OS
[30000]
P021
Fixed Point Plus Operator
Advance "Dt~ to ava i lab1 e dummy in st. address
Av ail a b 1 e dummy ins t. add res s - .. v" 0 fAT
Address of dummy in st. - ttv" of temp.
Sorted operands - "u" and "v" of A
Dummy "fixed plus" inst. w/operandsDummy List
Operand in "u" of dummy inst.- working
temp.
Search Expanded List for redundancy
" u" i fin st. not red u ndan t - " v" i fin st.
is redundant
Partial resul t counter - "u" of A
Is P.R. counter = "u" of dummy inst. (operand in A?)
No. advance #lines in running prog (Nrp)
by 2 in "v"
P.R. value-- Exp. List and Opere List;
cond. ind.- Expanded List
Set increment (l) - zero
Advance #lines in running prog (Nrp) by
1 in "u" and "v"
P.R. value-nAn List,Exp. List and Opere
List; cond. ind.-- Exp. List
Set D =y (delete Dummy Li st from Expanded Li st)
Redundant P.R. value - Expanded Li st and
Red. P.R. List
1321
@
0
IA MO
RJ ES
ES12
@
1
2
3
4
TV A
TV A
RJ OS13
AT RC25
M04
Wf4
OS
[30000 J
5
'IU
A
Wf
6
RJ
7
10
11
SJ
ES
MOIO
SP
EJ
RA6
WT
ESI
M021
17
M016
12
RJ
SR25
SR4
13
RA
RA7
FC3
14
15
16
TP FC3
MJ 0
RA RA7
CT7
SS
FC3
17
RJ
SR25
SR7
20
21
MJ
TP
0
RA4
M014
RA5
22
RJ
RS
RSI
23
SJ
M024
M026
24
25
TP WIl
RJ LA
A
26
MJ
55
@
@
®
8
CA
0
M027
LAI
Fixed Point Multiply Operator
Advance "0" to available dummy inst. address
Available dummy inst. address -- "v" of AT
Address of dummy inst - "v" of temp.
So rt ed 0 perand s - "u" and "v" 0 f A
Dummy "fixed mUlt" inst w/operandsDummy List
Operand in "u" of dummy inst -- working
temp.
Search Expanded List for redundancy
"u" if not redundant; "v" if redundant
Partial resul t counter- "u" of A
Is P.R. counter = "u" of dummy inst.?
(operand in A)
No, P.R. symbol- Exp. List and Opere
List; cond. ind.-- Exp. List
Advance #lines in running prog. (Nrp) by
1 in "v··
Set increment (1) -- one in "u" and "v"
Advance #lines in running prog (Nrp) by
1 in "u" and "v"
P.R. value -- "A" list, Exp. List and Opere
List; cond. ind-- Exp. List
Set 0 = y (delete Dummy List from Expanded Li st)
Redundant P.R.- Expanded List and Red.
P.R. List
Was P.R. previously entered in lledundant
P.R. List?
Redundant P.R. in "An List (if yes, advance Nrp by 1)
1322
o
1
IA
RJ
2
TV
TV
3
RJ
4
S
TU
TP
RJ
6
12
TO
SP
SA
AT
13
TU
14
TV
IS
16
RJ
SJ
17
20
SP
EJ
21
RA
22
23
24
EJ
2S
26
MJ
TP
27
RJ
30
31
TP
MJ
CA
7
10
11
TP
RJ
NO
ES
Fixed Point Subtract Operator
Advance ltD" to available dummy inst. address
A
N012
Dummy inst. address - ltv" of AT
A
WT4
Dummy inst. address - "v" of working temp
BR
BRI
Decrease address in Opere List Q3) by 1
in "un and ltv"
R..A\
N05
Address of first operand - "u" of NI
[300001 WTS
First operand ~ "v" of working temp.
BR
BRI
Decrease add. in Opere List (p) by 1 in
"u tt and "v"
RA
NOlO
Address of second operand - "u" of NI
[30000J 17
Second operand - '·u" of A
Operand - "uft and "v" of A
WTS
0
RC24
[30000 ] Dummy "fixed minus" inst. w/operandsDummy List
A
WT
Operand in "u" of dummy inst. - working
temp.
A
WTl
Operand in ltv" of dummy inst. - working
temp.
ES
ESI
Search Expanded List for redundancy
N017
P02l
"u" if inst. not redundant - "v" if inst.
redundant
RA6
17
Partial result counter - ·'u" of A
WI'
P017
Is P.R. counter = "u" of dummy inst.
(operand in A)
Advance #lines in running prog (Nrp) by
FC4
RA7
2 in "u" and "v"
RA6
A
Partial result counter- "v" of A
WTl
N026
Operand for "v lt in A
SR25
SR4
P.R. value - Exp. List and Opere List;
cond. ind- Exp. List
0
N030
FC6
CTIO
Set condition indicator- two (operand
for "v" in A)
SR25
SRIO
P.R. value - "A" list. Exp. List and Opere
List; cond. ind.- Exp. List
Set increment (I)~ Zero
FC
CT7
0
SS
N032
ES12
1323
@
03
ES
RJ
I
2
TV
TV
3
RJ
A
A
BR
4
S
TO
TP
[30000J
6
RJ
BR
7
10
RA
[30000]
12
TIJ
SP
SA
AT
13
TO
A
14
IS
RJ
SJ
ES
0016
16
17
SP
EJ
RA6
WT
20
RA
RA7
21
RJ
SR25
22
23
24
TP
MJ
RA
Fe
0RA7
2S
RJ
SR2S
26
MJ
0
0027
II
®
IA
o
CA
RA
WTS
RC26
Divide Operator
Advance "0" to available dummy inst. address
Dummy inst. address- ttv tt of AT
0012
Dummy inst. address- ttv" of working temp.
WT4
BRI
Decrease add. in Opere List (8) by I in
'tu" and ttv"
DOS
Address of first operand - "u" of NI
WTS
First operand - "v" of dummy inst. (divisor)
BRI
Decrease add. in Opere List ($) by I in
"u" and ttv"
0010
Address of second operand -- "u" of NI
17
Second operand -- "u" of A (di viden-d)
Operand - "ut' and ttv" of A
o
[30000 ] Dummy "fixed divide" inst. w/operands-Dummy List
WI'
Operand in "un of dummy inst - working
temp.
ESI
Search Expanded List for redundancy
M021
"u" if inst. not redundant - "v" if inst.
redundant
17
Partial result counter- "u" of A
0024
Is P.R. counter = "u" of dummy inst.
(operand in A?)
FC4
Advance #lines in running prog (Nrp) by
2 in "u" and ttv"
SR4
P.R. value -- Exp. List and Opere List;
condo ind- Exp. List
Set increment (1)-- Zero
CT7
5S
FC3
Advance #lines in running prog (Nrp) by
I in "un and "v"
SR7
P.R. value- "A" list. Exp. List and
Oper List; condo ind.- Exp. List
0022
ESl2
1324
o
1
2
3
4
5
6
IA
FN
WTS
FN3
TP RC6
WT5
RJ VC50
VC5
QJ FN5
FN60
FN6
1U RA
TV [30000 I WT5
TP Re5
MJ
10
RJ
11
SJ
12
13
RJ
TV
14
15
16
17
TP
TV
TP
EJ
20
TP
21
22
23
24
25
26
RA
MJ
27
SJ
30
31
TP
RJ
32
SN
TP
RJ
MJ
RJ
33
SA
34
35
SS
SA
36
37
LT
TV
40
41
TP
TO
42
RA
43
44
TP
QT
Floating Point Unary Minus
and Absolute Value
Dummy floating Unary minus-- temp 5
0
Dummy floating absolute value-- temp 5
Check variable and set switch ~
Is there a subscript? no, take 'v"
Yes
Subscri pt - "v" of dummy instruction
Dummy instruction to "A"
ESI
Search Exp. List for instruction
ES
Is instruction redundant? yes to FN26
FN12
FN26
Advance dummy tally by one.
ESl2
ES
Available address in Exp. List- "v" of
FN14
HA5
TP
(30000 ] Inst. at D-- Expanded List
WT5
s • s. -- "v" 0 f wo rk in g temp.
WI5
WTl
RA6
A
P.R. counter-- A
WTl
FN23
Is P.R. counter = subscript? (s.s. for
"u" in "A"?)
Fe
Set cond. ind.-- Zero (neither s.s. in
CTlO
"A")
Advance Nrp by increment (I)
RA7
CT7
FNl02
0
Set condo ind.- one (s.s. for "u" in A)
FC5
CTIO
LA
Enter P.R. value in "A" List
LA6
0
FNl02
RS
RSI
Redundant P.R. value-- Opere List and
Red. P.R. List
Was redundant P.R. in Red. P.R. List?
FN30
SS
WIl
A
Redundant P.R. -- A
I s redundant P. R. in "Qt. Li st (yes -- NI;
LQ
LQl7
no -- SS)
17
Q
-j n+r -- "u" of A
+r- "u" of A
RA2
o
(r-l)- "u" of A
o
FC2
LQ2l
25
IQ+r-l-- "v" of AL (address of P.R. in
"Q" List)
0
A
IQ+r-l- "v" of AR
Address of redundant P.R. in "Q" List-A
FN40
"v" of NI
[30000 ] Delete redundant P.R. from "Q" List
FC
FN43
Add. of redundant P.R. in Exp. List-RS2
"u" of TP
FN43
Adv. to address after redundant P.R. in
FC2
Exp. List
[30000 J Q
Mask for OPe code and "v"- Q
Ope code and "v" of word following Red.
FC37
WT2
P.R.- working temp.
1325
45
TP
WT2
A
46
47
TP
RC2
TV
WI1
WT2
WT2
50
EJ
WT2
FN52
51
52
MJ
0
1U
Q
55
WI
53
54
55
56
57
60
61
62
63
64
65
TP
TJ
TP
TJ
FC56
A
WI
MJ
0
FC
FN107
A
FNl10
FNl07
66
67
70
71
72
73
74
75
76
77
100
101
102
Q
~
TV
TP
RJ
SJ
RJ
TV
TP
RA
TP
sp'
1U
EJ
RA
RJ
MJ
RA
RJ
TV
TV
103
104
105
TP
106
107
110
111
112
MJ
113
MJ
TV
RJ
RS
1U
RA
RS
CA
FC54
wr
Ope code and "v" of word following red.
P.R.- A
Dummy FS- working temp.
Redundant P. R. - "v" of dummy FS in working temp.
Is inst. following red. P.R. in Exp. List
= FS with red. PsR. in "v"?
"u" 0 f i nst. fo llowing red. P. R. - "u"
of working temp.
76777- "u" of A
"u" of FS inst. 77___ type? no to FN55
73777- "u" of A
"u" of FS inst. 75 ___ or 76 ___ type?
Zero to "v" of dummy instruction
Dummy instruction - A
ES
Search Exp. List for instruction
FN64
Is instruction redundant? yes. take "v"
E5
Advance dummy tally by one
Available address in Expanded List- "v"
RA5
of TP
30000] Instruction - Expanded Li st
WI'5
Advance Nrp by one
FC3
RA7
CTlO
FC13
Set condo ind.-- 12 in OPe code (neither
"u" nor "v" subs)
RA6
17
P.R. counter- "u" of A
"u" of dummy inst.- "u" of working temp.
WT5
WI
WI'
P.R. counter'= "u" of dummy inst.?
FN77
Advance Nrp by increment (I)
RA7
CT7
To 61 ___ routine "u" ent.
EK25
EK6
FNlOl
0
CTIO
FC7
Set cond. ind.- 15 in OPe code
LQ7
Enter partial result symbol in "Q" List
LQ
PN
RC7
Set swi tch
to
RA5
WT4
Address of dummy inst. - ttv" of working
temp.
FC
Set increment (1) - Zero
CT7
RC20
PN6l
Set swi tch
to @
P.R. value- Opere List (~) and Exp. List
SRII
5R25
(r); cond. ind - Exp. Li st
PN
0
FC3
RA7
Reduce Nrp by one
FNl12
FN43
FNl12
FC2
[30000] FCIO
Change ind for "FS"- operand for "v"
not in Q
0
SS
FNl14
WI5
WT5
A
E5l
FN26
ES12
FN66
r
®.
®
1326
CD
~
G
o
13
1
2
1 4
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
0
1
2
3
4
5
6
7
IA
IP
MJ
TP
NF
RC27
0
RC30
RJ ES
TV A
TV A
RJ BR
TO
RA
w~5
NF3
WT5
ES12
NF12
Wf4
BRI
NFIO
Fixed Point Unary Minus and
Absolute Value Operators
Dummy fixed pt. unary minus inst. to temp
Dummy fixed pt. abs. value inst. to temp
Adv. "0" to available dummy inst. address
Preset address in Exp. List for dummy
inst.
Store address for dummy inst. in temp
Decrease address in Operand List (~) by 1
Preset address of next operand
Obtain next operand from Operand List
TP [30000 J Q
SP Q
17
[30000 ] Dummy instruction with operands to DumAT WI'5
my List
TP Q
WIl
RJ ES
ESI
Search Expanded List for redundancy
"un if not redundant t "v" if redundant
SJ NF16
NF22
FC3
Advance Nrp by 1
RA RA7
TP WTl
A
Operand to "A"
EJ RA6
P.R. counter = operand? (operand in "Aft?)
P017
MJ 0
P013
No
TP RA4
RA5
Delete Dummy List from Expanded List (set
D =y )
RJ RS
RSI
Was redundant P.R. in redundant P.R. List
SJ NE
"u" if no. "v" if yes
SS
CA NF25
IA NE
TP WTl
EJ RA6
A
NE5
RA3
NE3
RP [30000 J 5S
EJ XA
NE6
TP FC122
CT7
FC3
RA RA7
MJ 0
SS
CA NEIO
Fixed Point Unary Minus and
Absolute Value Operators
Redundant partial result to A
Redundant P.R. = P.R. counter (current
P.R.)?
W
Search "A" List
Is redundant P.R. in etA" List?
Set increment (ll to minus one
Advance Nrp by one
1327
o
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
IA EE
TP RC20
RJ
W
SP
W
W
TP
TJ
RJ
1U
TV
TV
TP
TJ
TP
TJ
TP
21
RA
22
W
23
24
SPEJ
25
26
27
RJ
30
RJ
31
TV
32
33
TP
34
TV
35
36
TP
TP
QS
RJ
MJ
CA
Storage Operator (space-period)
Dummy store inst. to working temp 5
Decrease {3 by 1 in "u tt and ttv"
BR
BRI
EE3
Preset address of operand
RA
[30000 J 17
Operand to "u" of A
A
WT5
Operand to "u" of working temp 5
Operand to "u" of working temp
A
WI
FG54
A
74777 to "u" 0 f A
EG
Operand> 74777? (operand subscripted?)
WI
BRI
Decrea se /3 by 1 in "u" a nd "v"
BR
EE12
RA
Address of 2nd operand - "u" of NI
[30000] WT5
Operand - "un of working temp 5
WT5
WTl
Operand - "v" of working temp 1
FC52
A
76777 - ttv" of A
Operand in "v"> 76777? (i. e. 77___ type)
EF26
WTl
FC76
A
74777- "v" of A
Operand in "v"> 74777? (i.e. 75 ___ type)
EF5
WTl
FC13
GTlO
Set condo ind.- @ in OPe code - ('·u n
and ttv" non-subs)
FG4
Advance Nrp by 2 in "u" and ttv"
RA7
Operand fo r "u" to temp
WT5
WI'
RA6
17
P.R. counter- "u" of A
EF
WT
P.R. counter = operand? (i.e. opere for
"u" in nQ"?)
No, to 61 ___ routine ("u" and ttv" ent.)
EK
EK25
FC36
Mask
for OPe code-- Q
Q
WT6
Condition indicator to OPe code temp 6
eTIO
ES
ES12
Advance D by 1-- next available add. in
Exp. List
EE32
A
Next available add. in Exp. List- "v"
of NI
WT5
[30000 J Dummy storage instruction -- Expanded List
ES
ES12
Advance D by 1- next available add. in
Exp. List
EE35
A
Next available address in Exp. List-ttv" of NI
[30000 ] Indicator and s.s. word-- Expanded List
WT6
Exit-to end redundancy phase
ER
0
EE37
WT5
1328
§
@)
o
1
2
3
4
5
6
7
IA
EF
RJ
RJ
RA
RJ
LA
LA6
EK25
EK14
FC7
LQ7
EE26
MJ
RJ
W
TV
CTI0
LQ
o
BR
BRI
EF7
RA
[30000 J wr6
10
TP FC62
CTIO
11
RA
TV
FC25
WTl
13
TP
RA7
WT6
RA6
14
EJ
WTl
EF22
15
TU
SP
EJ
WT5
RA6
WI'
17
WT
EF2
EK6
EE26
EK6
FC6
12
16
17
20
21
22
23
24
25
26
27
30
RJ
EK25
MJ
0
RJ
EK25
RA
CTIO
LA
RJ
MJ
RJ
nJ
TV
0
BR
RA
A
LA6
BRI
31
32
RA
CT
TV
wr6
35
TP RA6
EJ WTl
RA7
36
RA
37
40
41
MJ 0
RA RA7
MJ 0
CA EF42
Decrea se {3 by 1 in "u" and "v"
Address of s.s. for "v"- "u" of NI
s. s. at {3 - "v" ofjemp 6
Set cond. ind. - Q.JJ in OPe code {"u"
non-subs and "v" 75 ___ }
Advance Nrp by 4 in "u" and "v"
Subscript for "v" operand to temp 1
P.R. value - "v" of A
P.R. counter = subscript? (s.s. for "v"
in "A"?)
"u" operand to temp 0
P.R. value- "u" of A
"u" operand = P.R. counter? (oper. for
"u" in "Q"?)
To 61 ___ routine ("u" ent.)
To 61 ___ routine {"u" ent.}
Adv. condo indo by 2 in OPe code
Store P.R. value in "A" list
EE26
EF30
[30000 ] WT6
TP FCII
CTI0
33
34
Storage Operator (continued)
Store P.R. value in ItA" list
To 61 ___ routine ("v" ent.)
Adv. cond. indo by 3 (oper. for "u" in Q)
Store P.R. value in "Q" List
FC3
WIl
A
EF40
FC25
EF15
FC24
EF22
Decrea se {3 by 1 in "u" and "v"
Address of s. s. for "v tl _ "u" of NI
s • s • at {3 - "v" 0 f temp 6
Set cond. indo ("uti non-subs and
tt v" 77___ )
Advance #rel. const. (Crc) by 1 in "u"
and "v"
Subscript for "v" operand to temp 1
P.R. value - "v" of A
Subscript = P.R. counter? (s.s. for "v"
in "A"?)
Advance Nrp by 4 in "u" and "v"
®
Advance Nrp by 3 in "u" and ltv"
1329
o
IA
RJ
1
W RA
2
SP
TP
3
4
5
6
7
10
11
12
13
14
15
16
17
EG
BR
RJ
(30000 ]
A
BR
111
TV
TV
TP
TJ
TP
TJ
WTl
BRI
EG2
17
WT6
BRI
EG6
RA
[30000 ] WT5
WI'5
WI'l
FC52
A
WTl
EH23
FC76
A
TO
TP
TJ
TP
WT5
FC56
WT
FC
EH
WT
A
EG22
CTIO
20
21
RA
RA7
MJ
0
22
TP
FC6
FC26
EG25
CTIO
23
24
25
26
27
30
RA
RA
RJ
RA7
CT
EK25
WT6
RA6
WT
FC25
FC3
EK14
WI
17
EG32
ru
SP
EJ
31
32
MJ
0
EE26
RA
CTIO
Fe5
33
MJ
CA
0
EG34
EF24
Storage Operator (continued)
Decrea se /3 by 1 in "u" and "v't
Address of s.s. - "u" of NI
s.s. - "u" of A
s. s. - "u It 0 f temp 6
Decrease /3 by 1 in "un and "v"
Add. of opere for "v"- "u" of NI
Operand - "v" of temp 5
"v" operand to "v" of working temp 1
76777 - "v" of A
Operand for ltv" > 76777? (i. e. 77___type)
74777 - "v" of A
"v't operand> 74777? (i. e. 76 ___ type)
"u" operand to temp 0
76777 ~ "u lt of A
"u" operand > 76777? (i. e. 77___ ty pel
Zero to cond. ind. ("u" 75 ___ or 76 ___ and
"v lt non -subs.)
Adv. Nrp by 5 in "u" and "v"
Set cond. Ind. - @ in OPe code (ttu" 77__ _
and ltv" non-subs.)
Adv. Nrp by 4 in "u" and "v"
Adv. Crc by 1
To 61 ___ routine (ltv" ent.)
Subscript for "u" operand to temp 0
P.R. counter - A
Subscript = P.R. counter? (s.s. for "u
in "A"?)
ft
Adv. cond. ind by 1 in OPe code (s.s.
for flU" in A)
1330
2
3
IA
RJ
TO
TV
EH
BR
RA
[30000]
TO
wr5
FC56
o
1
BRI
EfJ2
WT6
4
TP
5
TJ
WI
6
TP
FCI6
WI'
A
EHII
CTIO
i
10
II
itA
RAi
FG121
MJ
0
TP
FC20
EHI4
GIIO
RA
RA
RA7
CT
12
13
FC27
FC3
WI
14
TO
wr6
15
SP
RA6
17
16
EJ
WT
EG32
17
20
TV
TP
WT6
RA6
A
21
EJ
WTI
EF23
22
MJ
0
23
24
25
26
27
30
31
RJ
BR
EE26
BRI
EH25
WT6
WI
A
W RA
TV
TO
TP
TJ
TP
33
RA
MJ
34
35
36
37
32
[30000]
WI'5
FC56
WI'
FCI7
WIl
EH34
CTIO
TP
RA7
0
FCI4
FC27
EH36
CTI0
RA
RA
MJ
CA
RA7
CT
0
EH40
FC26
FCI
Storage Operator (continued)
Decrea se (3 by I in "u" and"v"
Address of s.s.- "u" of NI
s.s. - "v" of temp 6
"un operand to ttu" of temp 0
76777 - "u" of A
"un operand> 76777? (i.e. 77___ type)
Set cond. indo to 22 ("u" 75 ___ or 76 __ _
and ttv" 75 ___ )
Adv. Nrp by 7 in ;;u;; and ;;v;;
®
Set cond. ind.in OPe code~'u" 77__ _
and "v" 75 ___ )
Adv. Nrp by 6 in "u" and "v"
Adv. Crc by 1 in nu" and ttv"
Subscript for "u" to working temp
P.R. counter - "u" of A
Subscript .= P.R. counter? (s.s. for ttu"
in "A"?)
Subscript for ttv" to working temp
P.R. counter -- ttv" of A
Subscript
P.R. counter? (s.s. for "v"
in "A"?)
=
Decrease {3 by 1 in "u ft and "v"
Add. of s.s.- nu" of NI
Subscript to ttv" of temp 6
"u" operand to working temp
76777 - "u" of A
"u" operand> 76777? (i. e. 77___ type)
Set cond. indo to 25 ("u" 75 ___ or 76 __ _
and "v" 77___ )
Adv. Nrp by 6 in "u" and "v"
Set cond. ind. @ in 0 p. code ("u"
and "v" 77___ )
Adv. Nrp by 5 in "u" and "v"
Adv. Crc by 1 in "u" and "v"
EH14
1331
0
@
8
8
8
~
1 b
IA
RJ
W
TP
TV
TJ
RJ
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
TU
W
TP
TJ
TP
MJ
RJ
W
VC
BR
BRI
RA
VC3
FC76
A
[30000 ] WIl
WIl
VC24
BR
BRI
VC7
RA
[30000 ] 17
A
WI
A
WT5
FC54
A
VC16
WI
FC
Q
0
VC46
BR
BRI
VC20
RA
20
21
22
SP
TP
TV
[30000 ] 17
A
WI6
RC6
PN
23
24
25
MJ
RJ
W
0
BR
RA
VC45
BRI
VC26
26
27
30
31
32
33
34
35
36
TP
RJ
W
SP
W
W
TP
TJ
TV
[30000 ]
BR
RA
[30000 J
A
A
FC54
WT
Re
WT6
BRI
VC31
17
WI
WT5
A
VC40
PN
37
40
41
MJ
0
BR
RA
VC45
BRI
VC42
42
43
44
SP
W
TV
45
46
47
50
TP
TV
TP
TU
SP
RJ
W
MJ
CA
Subroutine to Check Variables
Decrea se {3 by 1 in "u" and "v"
Address of 1st operand - "un of TV
74777 - "v" of A
Operand- "v" of working temp
1 st 0 perand > 74777? (i.e. subscripted?)
Decrea se {3 by 1 in "uti and "v tt
Address of second operand- "u" of NI
2nd operand - "u" of A
2nd 0 perand - "u" of working temp
2nd operand _ "u" of temp 5
74777 - "u" of A
2nd operand> 74777? (i.e. subscripted?)
{Q35
0) no subscript word
=
Decrea se {3 by 1 in "u" and "v"
Address of s.s. fo roper. in "u"- "u"
of NI
s.s. for opere in "u"- "u" of A
s. s. - "u It 0 f temp. 6
Set swi tch
to @, "u" subs and ttv"
non-subs
®
Decrea se {3 by 1 in "u" and ttv"
Address of s.s. for opere in "v"- "un
of NI
s. s. _ "v" of temp 6
Decrea se {3 by 1 in "u" and "v"
Address of 2nd operand - "u" of NI
2nd operand - "u" of A
2nd operand - "u" of working temp
2nd operand - "u" of temp 5
74777 - "u" of A
2nd operand> 74777?
Set swi tch
to @' "u" non-subs and
"v" subs
®
Decrea se {3 by 1 in "u" and "v"
Address of s.s. for opere in "u"- "u"
of NI
[30000 J 17
s.s. for opere in "u tt _ "un of A
A
WT6
s. s. - "u" of temp 6
ReI
PN
Set swi tch
to
"u" non-subs and
"v" subs
FC36
(Q35
1) subscript word
Q
WII
WT5
Operand - "v" of dummy inst.
WT5
A
Dummy inst. w/operands - A
[30000 ] Exit
0
VeSI
®
=
1332
®,
IA
VS
()
RJ
SR
1
TU
TP
TP
TO
VS2
RA
[30000 J Q
FC76
A
VS31
Q
BR
BRI
RA
VS7
[30000 I A
VS25
Q
17
Q
Q
WT5
WT5
WIl
FC76
A
WIl
VS20
FC
Q
0
VS64
BR
BRI
VS22
RA
22
23
TP
TV
Re
24
25
26
27
30
31
32
MJ
0
TV A
LA A
AT Q
MJ 0
33
34
35
36
37
40
41
42
43
v
2
3
4
5
6
"7
10
TJ
RJ
W
TP
TJ
11
LQ
12
13
14
15
16
17
20
21
AT
TV
TP
44
45
46
47
50
51
52
53
TJ
TP
MJ
RJ
[30000]
BRI
WT6
PN
17
WT5
VS16
BR
BRI
TO
RA
VS33
TP
TU
TP
[3Ooo0J
BR
RA
[3Ooo0J
TJ
Q
LQ Q
AT Q
RJ BR
WT6
BRI
VS36
A
VS50
17
WI5
BRI
MJ
ReI
0
VS45
17
WT6
PN
VS63
TV
A
WTl
LA A
17
wr5
TO
LA
TV
TV
AT
TP
RA
WT6
[30000]
Q
FC76
Decrea se /3 by 1 in "u" and "vet
Address of s.s. for opere in "v"- "u"
of NI
s.s. for opere in "v"- "vet of temp 6
Set
to @ "uti non-subs and "v"
subscripted
®
VS63
WIl
RJ
RJ
Subroutine to Sort Operands
for Floating Plus or Multiply
Decrea se f3 by 1 in "u" and .t v"
Address of 1st operand - "uti of NI
First operand- Q
74777 - "v" of A
First operand> 74777? (i.e. subscripted)
Decrease /3 by 1 in "u" and "v"
Address of 2nd operand - "u" of NI
Second 0 perand - A
First operand> second operand?
Fir st 0 perand - "u" of Q
Operands - "uti and "v" of temp 5
Second operand - "v" of working temp
74777 - A
Second operand> 74777? (i.e. subscripted)
(035 = 0> no subscript word
A
Second operand - "v" of working temp
Second 0 perand - "u" 0 f A
Operands - "u" and "v" of temp 5
Decrease /3 by 1 in "u" and "v"
Address of s.s. for first oper.-+ "u" of
NI
s. s. - "v" of temp 6
Decrease {3 by 1 in "uti and "v"
Address of second operand - "u" of NI
Second operand - A
First operand> second -operand?
First operand - "u" of 0
Operands - "u" and "v" of temp 5
Decrea se /3 by 1 in "u" and "v"
Address of second s.s. - "uti of TV
First s.s.- "un of temp 6
Second s. s. - "v" of temp 6
Set
to
"u" and "v" subscri pt ed
®
®
Second oper. Second operand
Operands- "u"
74777 - "v" of
1333
ltv" of working temp
- "u" of A
and .t v"oi temp 5
A
@
~
I 7
54
TJ
WTI
VS56
55
56
57
MJ
RJ
0
BR
1U
RA
VS23
BRI
VS60
60
61
62
63
64
SP [30000 ]
A
RCI
TP FC36
MJ 0
CA VS65
1U
TV
17
WT6
PN
Q
[Exi t ]
Opere in "un (2nd oper.) > 74777? (i.e.
subscripted)
Decrea se /3 by 1 in "uti and "v"
Address of s.s. for opere in "u" - "u"
of NI
s.s. for 2nd oper.- nu" of A
5.5. for 2nd ®er. - "u" of temp 6
Set
to HI "u" and ltv" subscripted
(Q35 = 1) subscript word
®
1334
I
I
o
IA
PN
MJ
1
1U
0
WT5
2
3
TP FC56
TJ WI
4
TV
5
TP FC52
TJ WTl
6
WT5
Set Condition Indicator for
Floating Point Operations
[30000
A
PN21
WIl
A
PN12
I
I
Uj Uj
r- r-
c:
.:;:-
·.
.~
::@
G1
·~~~2
.
I
I
~
:;:-
Ujt-
159
I
I
I
I
t-' Ujl
r- r.~ ->
·.
Q
II~
I
I
~t-'
r-r-
•
~
:0
c~
FC27
PN66
CT10
FC3
RA
RA7
0
13
RA
CT
14
15
16
17
20
21
MJ
RA
MJ
0
RA7
0
RA7
0
WT5
22
TP FC52
TJ WIl
TP FC20
TP FC17
RA
MJ
TV
23
24
25
RA
CT
{ 26
27
RA
MJ
RA7
30
31
{ 32
35
I
I
CTIO
MJ
33
34
UJ
.Q
~
UJ
TP FC16
11
12
0
TP FC14
RA CT
RA
MJ
TV
RA7
0
WI5
36
TP FC52
TJ WT1
37
TP FC62
{ 40
41
RA
MJ
r~
TP FC11
RA
RA7
0
CT
J
Swi tch
WT
®
76777 - "u" of A
Is .t u" of dummy inst. 77___ ? yes; take
ttv"
No
76777 - "v" of A
Is ttv" of dummy inst. 77___ ? yes; take
"v"
No; set condition indicator to 22 in OPe
code
Advance Nrp by six in "u" and "v"
Set cond. ind.- 25 in OPe code
Advance #re1. const (Crc) by 1 in "u"
and ttv"
[30000 ] Switch ®
FC27
advance Nrp by six in "u" and "v"
PN66
FC26
@ - advance Nrp by five in "u" and ttv"
PN66
WT1
Opere in ttv" of dummy inst.- working
temp
A
76777 - ttv" of A
Is ttv" of dummy inst 77___ ? yes; take ttv"
PN30
CTIO
Set cond. ind.- 30 in OPe code
Advance #re1. const. (Crc) by 1 in "u"
FC3
and "v"
FC26
Advance Nrp by six in "u" and "v"
PN66
CTIO
Set cond. ind.- 17 in OPe code
FC3
Advance #re1. const. (Crc) by 1 in "un
and ttv"
Advance Nrp by four in "u" and ttv"
FC25
PN66
WT1
@ - opere in "v" of dummy inst. to
temp 1
76777 - ttv" of A
A
Is "v" of dummy inst. 77 ___ ? yes; take
PN42
"v"
CTIO
No; set condition indicator to 11 in OPe
code
Advance Nrp by three in "un and ttv"
FC24
PN72
CT10
Set cond. ind.- 5 in OPe code
Adva-ooe #rel. oonst. (ere) by 1 in ttu"
FC3
and "v"
® -
1335
~l
.c
::5
en
44
45
46
{ 47
50
51
52
t
t
I
=r-'
gt-
.... ..
ui
..Q
::5
ItIJ
J:~
~I :g 162
? t 163
ui
..Q
,::5
ItIJ
I
I
I'-S::
1'-0
s::
@)
@
{i~
56
57
60
[30000 ) Swi tch Q)
Advance Nrp by 3 in "u" and "v"
FC24
PN72
0
Advance Nrp by 2 in "un and "v"
FC4
RA7
PN72
0
@ - "u" operand to working temp
wr5
WT
FC56
A
76777 -- "u" of A
Is "u" of dummy inst. 77___ ?
PN57
WT
CT10
Set cond. ind.--zero in OPe code
FC
Advance Nrp by four in "u" and "v"
RA7
FC25
PN65
0
CT10
Set cond. ind.-- 2 in OPe code
FC6
Advance #re1. const. (Crc) by 1 in "u"
FC3
CT
and "v"
[30000 ] Switch
0
FC24
~ -advance Nrp by three in "u" and "v"
RA7
PN65
0
@ -advance Nrp by four in "u" and "v"
FC25
RA7
To 61 ___ routine ("v" ent.)
EK25
EK14
17
Address of word following dummy inst.
SR23
"u" of A
Add. of word following dummy inst.- "u"
PN70
A
of NI
[30000] CT10
Advance indicator following dummy inst.
by cond. ind.
0
SS
To 61 ___ routine ("u" ent.)
EK25
EK6
PN66
0
FC24
~ -advance Nrp by 3 in "un and "v"
RA7
0
PN66
PN76
MJ 0
RA RA7
MJ
RA
MJ
'ill
TP
TJ
TP
RA
MJ
TP
RA
61
62
63
64
65
66
MJ
67
111
70
RA
71
72
73
74
75
MJ
RA
MJ
RA
RJ
SP
RJ
MJ
RA
MJ
CA
®
1336
o
RJ
ES
SJ
RR6
2
W
A
3
TP FC35
4
QT [30000] A
EJ WT6
RR47
6
7
o
ES
TV A
RJ ES
TV A
13
14
TP
WT6
1V
RRIO
1V
RC3
TP WT5
15
16
17
20
21
SP RA6
22
MJ 0
23
TP FC7
24
25
26
27
30
MJ 0
31
32.
33
34
TV RA5
TP WT5
35
36
37
40
41
&
7
o 7
4.. 2
43
"g.=.
$.4= ..1 72 .
RJ
10
11
12
C+.!.~~
ctl~
RR
1
5
$.40'
IA
[ 44
TV RC4
111
EJ
RJ
WT5
WI'
ES
SJ
RR27
RJ
ES
TV
RA5
RA
RA7
TP FC13
SP RA6
111
WT5
TV RC7
EJ WI
RJ
EK25
MJ 0
RJ LQ
TP FC3
E51
RR2
RR4
Subroutine to Check for Redundant
Floating Point Operation
Search Expanded List for Duwmy inst.
Is instruction redundant? No; to RR6
Address of s.s. word in Expanded List
-!'u" of QT
Q
Subscript word from Expanded List-- A
Is subscript word in temp 6 redundant?
Yes; to RR47
ES12
NOt advance dummy tally by one
RRIO
Available address in Exp. List -- "v" of
NI
[30000 J Dummy instruction to Expanded List
ES12
Advance dummy tally by one
RR13
Available address in Exp. List -- "v" of
NI
[30000 ] Subscript word to Expanded List
Address of dummy instruction to ttv" of
WT4
temp
PN14
Set swi tch ® to (f2)
PN44
Set switch G!) to QOD
P.R. counter-- "u" of A
17
"uti of dummy inst. - working temp.
WT
RR23
Is P.R. counter = "u" operand? (oper. for
"u" in Q)
[30000 1 Exit - subscript word
CTIO
Set cond. ind.- 3 in OPe code (oper. for
"u" in Q)
RR43
ESI
Search Expanded List for dummy instruction
RR50
Is instruction redundant? yes; to RR50
ES12
No, advance dummy tally by one
RR32
Available address in Exp. List- "v" of
TP
Address of dummy inst. - "v" of temp.
WT4
[30000 ] Dummy instruction to Expanded List
FC3
Advance Nrp by one in "u" and "v"
CTIO
Set cond. ind.- 12 in OPe code (neither
"u" nor "v" subs)
P.R. counter -- "u" of A
17
"u" of dummy ins~ to working temp
WI
PN
Set switch @-0
P.R. counter = "u" operand? (oper. for
RR55
"un in "Q")
To 6L __ routine ("u" and ttv" ent.)
EK
[30000 ] Exit - no subscript word
Enter P.R. yalue in QList
I..Q7
Set increment (I) - one in "u" and ttv"
CT7
1337
l45
s:::
0
-.-I
+J
C)
:::s
@)
RJ
SR25
SR11
46
47
MJ
0
RA
RR4
PN
FC2
50
RJ
RS
RS1
51
52
53
54
55
SJ
RR52
WI1
LQ
0
CT10
A
$..c
+J
U)
s:::
-.-I
+J
s:::
co
"0
s:::
:::s
"0
Q)
$..c
P.R. va1ue-- Opere List (~) and Exp. List
y
; cond. ind.- Exp. Li st
Go to ® (prediction routine)
Address 0 f redundant P. R. va 1ue -- "u" of
56
57
TP
RJ
MJ
RA
EK25
0
CA RR60
RJ
MJ
S5
A
LQ1
Redundant P.R. value -- Opere List and
Red. P. R. Li st
Was redundant P.R. in List?
Redundant P.R.-- A
Was redundant P.R. in Q List?
55
FC7
EK14
RR43
Adv. condo indo by 3 in ~. code (oper.
for "u" in Q-set ind -- 5)
To 61 ___ routine ("v" ent.
1338
Subroutine to Store Redundant
Partial Result
IA RS
o
MJ
1
Address of redundant P.R. value - "un of
NI
TV [30000] WIl
Redundant P.R. - "v" of working temp
Available address in Operand Li:st _ "v"
TV RA
R54
of NI
[30000 ] Redundant P.R. value - Operand List ({3)
TP WIl
RJ BR
BR4
Advance address in Operand List (~1 by 1
in "u" and ttv"
Redundant P.R.- A
TP WTl
A
Length of redundant P.R. List- jn of
RSlO
TO RAlO
repeat
Search Redundant P.R. List
RP [30000 J R5l2
Is P.R. in "A" in Redundant P.R.List?
EJ RL
RS24
No; available address in Redundant P.R.
TV RAlO
RS13
List- ttv" of NI
[30000 ] Redundant P.R.- redundant P.R. List
TP A
RA. RAlO
FC3
Advance available add. and jn for Red.
P.R. List by one
Redundant P.R. List too long?
TJ LVI
RS22
RJ WA
WAI
Sent. # - print out
UP3
TP TO
Codeword - alarm print
UP
Ala rm-Red. P. R. Li st too long [ type: SENRJ UP2
TENCE TOO LONG II]
MJ 0
Rewind
tapes
BQ6
Set (A)- Red. P.R. was not in list (A-)
TP FC36
A
MJ 0
RS
TP Fe
Set (A)- Red. P.R. was in list (A+)
A
MJ 0
RS
CA RS26
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
o
TU
IA OS
RJ BR
1
TU
2
RJ
3
TO
4
5
6
7
10
11
12
13
0
A
RA
BR
[30000 ] Exi t
RS2
Subroutine to Sort Operands for
Fixed Plus or Multiply
Decrease address in Operand List (~) by
1 in "u·· and "v"
Address of first operand - TP
Decrease address in Operand List ($) by
1 in "u" and "v"
Address 0 f second 0 perand - TP
First operand- A
Second 0 perand - Q
Operand at Q > operand at A
Shi ft operand in Q - "u" of Q
BRI
054
BRI
RA
OS5
TP [30000] A
TP [30000] Q
Q
LQ Q
0511
17
MJ
0
0512
LA
A
17
TJ
Spi ft~peralld in A_"utI of A
Operands - "u" and "v" 0 f A
SA Q
o
MJ
(30000 ]
0
CA 0514
1339
Subroutine to Store Callword in
Ope File 1
[ 30000 ] Exi t
MJ
Callword - "un of A
SP A
17
Length Ope File 1- jn of repeat
FS3
W RAI
Search Op. File 1 for callword
RP [30000 ] FS5
EJ FL2
Callword in Ope File I? no to FS5
FS
Available address in Ope File 1- "v" of
FS6
TV RAI
NI
[30000 ] Store callword in Ope File 1
TP A
Fel
Adv. #lines this Ope File 1 item by one
RA FL
Adv. available add. and jn for Ope File
RA RAI
FC3
1 by one
Ope File 1 too long?
TJ LV2
FS
RJ WA
WAI
Sent. # - print out
TP TO
UP3
Codeword - alarm print
Alarm-Op. File 1 too long [ type: SENUP
RJ UP2
TENCE TOO LONG. ]
MJ 0
Rewind tapes
BQ6
CA FS16
IA
0
1
2
3
4
5
@)
6
7
10
11
12
13
14
15
IA
@~{~
B
MJ
RS
FS
0
BR
0
RA
~
2
@~
180
3
MJ
0
4
RA
RA
5
TJ
LV
RJ
WA
CQ.
Q)
(;)
c:
co
:::-
6
7
10
TJ
IA
TP TO
RJ UP2
"C
«
11
MJ
CA
0
BR12
Subroutine
to Advance or Decrease Available Address
in Operand List (Beta Routine)
[30000 ] Exit
FC3
Decrease address in Operand List (S) by
I in "u" and "v"
EP4
In it. add. 0 pe r • List> current add.?
Yes - alarm #4
SR
No; to exi t
FC3
Adv. address in Opere List by I in
"un and "v"
SR
Max. address in Opere List> current address?
WAI
Yes; type sentence number
UP3
Code word - alarm print
UP
Alarm-too many operands [type: SENTENCE
TOO LONG. ]
Rewind tapes and stop
BQ6
1340
Subroutine to Search for or Store
·
til
3'~@)
...
:
LQ
MJ
0
1
TO
RP
RA2
LQ2
[30000] LQ4
XQ
LQ5
0
LQ22
FC3
RA7
Advance Nrp by one in "u" and "v"
0
LQ
LQIO
RA2
Ent. - for store in "0" List
RA6
t 30000 ] Enter P.R. in ItQIt List
FC3
Adv. j n and add. in "Q" Li st by on e in
RA2
"u" and "v"
LQ
LV3
"Q" List too long
WAI
Sent .. # - print out
WA
UP3
TO
Codeword - alarm print
UP
Alarm - "Qt' Li st too long [ type: SENTENCE
UP2
TOO LONG.]
0
BQ6
Ent. - for search "QIt List (fl. neg and
RA2
LQ20
abs. val.)
(30000 J SS
Search "Q" List (exit to sym. search if
Red. P.R. not in "Q" List)
XQ
LQ
Is red. P.R. in "Q" List (return exit red. P.R. in "Q" List)
RA6
LQ24
Redundant P.R. = P.R. counter?
0
SS
Adv. Nrp by one in "un and ttv"
RA7
FC3
FC
CT7
Set increment (ll to zero
2
0' 1'40
3
EJ
0..-
4
MJ
5
6
MJ
::s
......
:
.s::
o
~
~
J..4
CO .....
::s
Q)Cp..jS ~
CIl----- ~
RA
10
11
TV
TP
RA
0'
12
TJ
s::
13
14
7
c.
• .-1
15
RJ
TP
RJ
16
17
MJ
20
RP
21
EJ
22
23
24
MJ
TO
"'.....
"""
CO
~
til
• .-1
....l
..
:>
-
til
..Q
CO
O'~
:
-
Ol
.s::Q)
o s::
J..4
CO .....Q)
--
CIlCp..j
Partial Result Symbol in "Q" List
f1
1
d·
Ent. - for search "Q" List (mlJiu~.M~lt!~)
Sea rch "Q" Li st
Is redundant P.R. in "QIt List
o
IA
EJ
25
RA
TP
26
MJ
0
CA
LQ27
[ 30000 j Exi t
SS
1341
~
.....ell
.....
~
.c
0
J,.c
co
Q)
8
ell
@
~
0
1
2
3
4
5
6
7
10
.....
ell
.....
~
s::::
·Pot
IA
MJ
LA
[ 30000J
0
ru HA3
LA2
RP (30000 ] LA16
EJ XA
LA4
FC3
RA RA7
MJ 0
LA
LA7
TV RA3
[30000 ]
TP RA6
FC3
RA HA3
J,.c
0
CJl
lt
Ent.-for store in ItAIt List
Enter P.R. in nA" List
Adv. jn and add. in nA List by one in
"un and "v
ItAIt List too long?
Sent. # - print out
Codeword - alarm print
Alarm-ttA" List too long [type: SEN'mNCE
TOO LONG.]
Rewind tapes and stop
Redundant P.R. = P.R. counter?
No
Adv. Nrp by 1 in nu" and "v"
Set increment (I) to Zero
ti
lt
11
12
13
14
TJ
LV4
RJ
WA
LA
WAI
TP TO
RJ UP2
UP3
UP
MJ
BQ6
LA20
Q)
~
Subroutine to Search for or Store
Partial Result Symbol In "A" List
Exit
Ent.-for search "A" List
Search "A" List
Is redundant P.R. in "Alt List?
Advance Nrp by one in "un and tlv
15
16
17
20
21
22
0
RA6
MJ 0
HA RA7
TP Fe
MJ 0
CA LA23
EJ
LA
FC3
CT7
LA
1342
*Note:
S
~
til
.~
....J
•
c...
x
~
-=
C)
J,.f
ct'I
Q>
@
til
~
1"""1
1"""1
ct'I
®
Sent. callword from sorted list - first word in Exp. Li st
Sent. number from sorted list-- second word in Exp. List
r
MJ
TO
4
SN
5
SA ES2
SA ES3
~
=
Q
[30000 ]
ES2
ESI0
ES4
17
0
0
ES
A
6
7
10
MJ
11
12
MJ
RA
0
RA5
ES
FC3
TJ
LV5
&J
TP
WA
TO
&J
UP2
ES
WAI
UP3
UP
13
14
15
16
~
IA ES
0
RA4
RP [ 30000]
EJ EI2
0
1
2
3
0
TP FC36
"'0
Q>
(.)
c .....
17
ct'IQ
>-
0
CA ES20
MJ
BQ6
Input-dummy inst. in A
Subroutine to Search for Du~~y Instruction or Advance Dummy Tally in Exp. List
Exit
j n for repeat - NI
Search Expanded List
Dummy inst = prev. entry in Exp. List?
yes; to ES4
-jn+r- nu!! of A
+r - "u" of A
EL+r - "u" 0 f A
Equality not met indicator - A (i. e. All
= 1)
Adv. dummy tally for Exp. List by 1 in
"u" and "v"
Expanded List too long? no; to exit
Yes; type sentence number
Codeword - alarm print
Alarm-Exp. List too long [type: SENTENCE
TOO LONG.]
Rewind tapes and stop
"'0
29
61000
0
61000
0
77000
0
0
01000
20000
4
50000
0
77777
0
777
16000
16100
7
77776
1347
0
I
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
1A RC
0
0 PN34
0 PNI
37
52
0 PNl5
0 PNl7
54
61
0 PN45
62
0 PN47
64
0 PN5l
0 SS
66
67
0 PN62
70
0 PN64
71
0 LN2
72
0 LN
0 LN4
73
0 LN12
74
75
0 RR50
0 1Q31
76
77
0 PN74
41
0
0
53
0
0
55
0
0
56
0
0
0
57
0
60
0
0
0
63
0
0
65
0
0
0 5044
0 S054
0
CA RC33
0
1
2
3
1A TO
40 T01
65 30506
26 30016
01 46515
CA T04
Ope Codes Contain Operation
Symbols for Expanded List;
Subscript operator
Floating subtract
Floating divide
Library operator
Floating unary minus
Floating absolute value
POW +2
POW -2
POW +3
POW -3
POW ~
POW .. ~
POW (4 to 63)
POW (-4 to -63)
POW -1
Storage operator
Floating plus
Floating multiply
Fixed plus
Fixed subtract
Fixed multiply
Fixed divide
Fixed unary minus
Fixed absolute. value
in " v"
to
to
to
to
to
to
to
to
to
to
to
to
to
to
to
to
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
Alarm Text
3
63050
65151
03222
SENTEN
CEhTOO
~LONG.
1348
IA
To
To preset RA
To preset HAl
0
1
o
o
To preset RA2
2
To preset RA3
IA
BL
20000
BL
FL2
o
20000
XQ
3
o
20000
XA
presetR~4&RA5
4
o
20000
ELI
To preset HA6
To preset RA7
5
6
o
o
0
01001
31000
01001
To preset RA8
7
o
20000
RL
To preset SS3 10
11
o
SL3
EL2
IA12
o
o
o
CA
0
IA LV
0 BL177
BL177
1
0 20077
RL77
2
0 20175
FL177
3
0 20177 XQ177
4
0 20177 XA177
5
0 20675
6
7
0
0 30000
0 02002 02002
10
11
0
0
CA
EL677
0 62000
0 63000
Initial Addresses
$ initial (initial add. Operand List)
Ope File 1 item (jn to search in t· u" init. cross ref. item in "v")
"Q" list (jn to search in "u" - init.
add. "Q" List in "v")
"A" list (jn to search in "un init.
add. "A" List in "v")
Exp~ list (jn to search in "un - init.
avail. add. -1 in "v")
Initial P.R. value in "v" +1
Init. #lines in running prog +1000 in "u"
and "v" (counts MJ exit)
Red. P.R. List (jn to search in "u" init. add. in Red. P.R. List in "v")
a initial (initial address in Sorted List)
Init. add. in Exp. List +2
Limiting Addresses for Lists, etc.
Max. address in Opere List in "u" and
"v" (max. {3)
Max .. j n in "u tt and max. -address in ttv"
for redundant P.Ro List
Max. j n in "u" and max. address in "v"
for Ope File 1 item
Max j n in "u'" and max. address in ttv"
fo r "Q" Li st
Max. jn in "u" and max. address in "v"
for "A" List
Max. jn in "u" and max. address in ttv"
for Expanded List
Minimum P.R. value in "~"
Max. #lines object prog. body (incl. jump
to exi t) +1001
Dummy cal1word for function input region
Dummy callword for pseudo operation input region
LV12
1349
Subroutine to Store in List I, Callword
of Library Routine and if Fixed Library
Routine. Callwords of its Cross-references
IA LS
§
II
RJ
LR
RA
LS13
[30000 ]
LS13
CT13
LSII
LS12
LS14
LS7
LRI
LS13
FC23
FC57
A
LRI
FC2
16
IJ
CT13
LS13
17
20
21
22
23
24
25
26
MJ
0
50002
50022
50031
50041
50051
50012
LS20
LS27
LS
0
0
0
0
0
0
0
WIO
1
2
3
4
5
6
0
0
[[[-[-[---
0
1
2
3
4
5
6
7
10
11
12
13
14
15
0
LS26
TP FC
EJ LS25
EJ LS21
RP 20003
EJ LS22
RJ LR
0
MJ
RA CT13
RA CT13
TP [30000 ]
MJ
TU
0
0
0
0
0
0
0
CA
Zero - index C3
Callword = 50012? yes; to LSII
Callword = 50022? yes; to LS12
Callword = 50031. 50041, or 50051?
Yes i to LS7
50031, 50041, or 50051 callword to List 1
50002 callword to list 1
Advance index by 2 in "v"
Advance index by 3 in "v"
Callword - A
Callword to list 1
Advance by 1 in "u" to address of next
callword
More callwords to store in list I? yes;
to LS13
No; to exi t
Explanation of working Temporaries (WI)
[30000 ]
0
Temp 0 - OPe code and ltv" always ~ero
0
[30000 ] Temp 1 - OPe code and "u" always ~ero
-J Temp 2
---J Symbol tempi Floating point inst.
---~ Dummy inst. addressj Register indicator
--J Dummy instruction
--J Subscript word following dummy instruction
1350
CTO
0
[
1
~
0
2
0
[
[
3
4
5
0
0
0
[
6
0
[
0
[
7
10
11
12
13
[-
0
0
0
[
[
Explanation of Counters (CT)
]
] Crc-no. relative constants
,.J [rL..
-, Crpt=no. ten lines in running prog. body
]
]
[
Crct-no. ten lines in relative constant
region
]
[
]
Trp-subtally of no. lines in running prog.
]
[
]
Trc-subtally of no. relative constants
]
[
]
Trpt-subtally of no. ten lines in running
prog. body
[
]
of no. ten lines in reI.
Trct-subtally
J
const. region
]
[
]
Increment (I)
-J Condition indicator
[
]
0
Index counter (Cll
0
]
[
Index counter (C21
[
]
0
Index counter (C 3J
~
List of
RAO [ -
-J
1 [--
-J
2 [-
-J
3 [-
-J
4 [-
-J
5 [-
-J
6 [-
-J
7 [-
--J
10 [ -
-]
running (current) Addresses in Lists (RA)
(ava i labl e 0 pen address in Operand
Li st in "u" and ttv It)
Ope File 1 tally (jn in "u"-available
address in ltv It)
"Qtt List tally (jn in "u"-available address in "v")
"A" List tally (jn in "utt-available address in "v")·
y -Expanded List tally (jn in "u"-last
used address in "v tt)
Dummy tally (D) for Expanded List (same
format as y )
Partial result (P.R~) counter (current
P~R~ in tt v")
Tally of number of lines in running program +1000
Redundant P.R" List tally (jn in "u"available address in .ttv")
{3
1351
Equation Generation No. 3 Flow Charts
Equation Generation Phase
Preset address of next
word in Expanded List
in Box-I.
Preset equation
generation
phase
Box-l
Next dummy instruction
from Expanded List
to temp 5 and "A"
..--~
Mask dummy operator
symbol from op. code
of dummy instruction
Advance address in
Expanded List by
one
point
operator?
Subscript manipulation operator?
NO
Floating point
division operator?
Floating point
multiplication
operator?
~~~
Floating pOint
subtraction operator?
Fixed point
addition
operator?
point unary
minus operator?
"-
NO
/
NO
Fixed point
subtraction operator?
NO
NO
Fixed point
absolute value
operator?
Fixed point
multiplication
operator?
.
NO
NO
Integral Power
(+2) operator?
Fixed point
division operator?
NO
NO
Integral Power
(-2) operator?
operator?
NO
NO
Floating point
unary minus
operator?
Integral power
(+3) operator?
):0
U
1353
End Equation Generation Phase
Integral power
(-3) operator?
Number lines in
body of object
program < l0028?
NO
NO
YES
Number relative
constants in object
program < l0018?
Power (1/2)
operator?
NO
NO
YES
redundancy
temporaries in object
program < lOO18?
Power (-1/2)
operator?
NO
NO
YES
Number of reusable
temporaries in object
program < 7778?
Operator for integral
power from 4 thru 63?
NO
NO
YES
Operator for integral
power from -4 thru -63?
NO
ALARM: "Sentence too
Power (-1)
operator?
long"
Operator for
storing result
1354
typed out.
BQ
Rewind tapes
Number of lines in
object program including
constants and temporaries to "v" of second
word in Ope File 1
Codeword for third
line of prelude
to temporary
Instruction
~-3N [MJ - 00000 - OlOOOJ
to temp 2.
Xl instruction
to routine buffer
......
w
CJl
CJl
All generated instructions in routine
buffer
Number of instructionsin generated
routine including "10"
lines ~ 1708?
NO
Advance current address
in routine buffer by
number of relative constants (including "10"
lines) in relative constant image.
Number 0 Ilnes In
~
generated routine in_NO
9
cluding relative
stantsS170?
YES
Generated routine
not exceed routine
buffer (core)
Transfer partial block
of generated instruc~--~ tions from routine buffer to routine image
on drum
Transfer relative constants for routine to
routine image on drum
following generated
instructions
Number of lines of prelude and routine to
~----'~ fir st 1 ine of prelude
in routine image on drum
Number of lines subject
to address modification
IE---I
to second line of prelude in routine image
on drum
Codeword from temp to
third word of prelude
in routine image on
drum
Is routine for pseud
operation statement?
(22--- callword)
Is routine for
separate equation?
(24--- or 25---)
callword
Highest 70--- type callword used in routine +2
to exit line of routine
to setup exit to second
word beyond last temporary for routine
Send parameter to write
generated routine from
drum
YES
Transfer relative constants for routine to
routine buffer in core
following generated
instructions
~
Number of lines of prel~
ude and routine to
first line of prelude I~
in routine buffer in core
jec~
Number of lines sub
to address modifica tion
to second line of p.rel··
ude in routine buf fer
in core
!
.u;-]
COdeword from temp
third word of prelude
in routine buffer in
core
Is routine for pseudo
operation statement?
(22 ---c a 11 word)
Is routine for
separate equation?
(24---or 25--callword)
NO
YES
Exit from equation
generation phase
OP write generated
routine and Op. File 1 \-_-'-_~
item on tape
Highest 70--- type callword used in routine +2
to exit line of routine
to setup exit to second
word beyond last
tern orary for routine.
~--------~j
--Send parameter to writE].
generated routine from
core
Equation Generation Phase (Subscript Manipulation Operator)
51 next word from
Expanded List to temp
Advance current relative address by three
6
Check indicator from
OPe code of temp 6
Advance current
relative address
by two
R7
Indicator
= O?
NO
Advance current
relative address
by four
Indicator
= l?
NO
Advance address counter
for Expanded List by one
to address of partial
result following last
subscript word for
current operator
Indicator
= 2?
Indicator
= 3?
Preset this address
in Box-l of subroutine Rl
NO
R4
R2
........-----1 Indicator must
equal 7.
1358
Advance current
relative address
by three
Preset Box-l of Subroutine Rl to Expanded
List address of last subscript word for current
operator
Advance address counter
for Expanded List by one
to address of partial
result following last
subscript word for current 0 erator.
Advance current
relative address
by five
Advance address counter
for Expanded List by two
to address of partial
result following last
subscript word for current operator
Preset this address
in Box-l of subroutine Rl
Advance current
relative address
by four
Advance address counter
for Expanded List by
two to address of partial re~ult following
last subscript word for
current operator
Preset Box-1 of subroutine Rl to Expanded
List address of last
subscript word for current operator
Rl
R4
Rl
R2
Rl
1359
Advance current
relative address
by six
Advance address counter
for Expanded List by
three to address of partial result symbol following last subscript
word for current operator
Preset this address
in Box-3 of subroutine Rl
Advance current
relative address
by five
Advance address counter
for Expanded List by
three to address of partial result symbol following last subscript
word for current operator
Preset Box-l of subroutine Rl to Expanded
List address of last
subscript word for
current operator
Rl
R4
R2
Instruction from temp
3 to temp 2
Xl Instruction
from temp 2
buffer
Partial result symbol
for current operator
from Expanded List to
"v" of temp 6.
Advance address counter
for Expanded List by
one to address of next
operator
Rl
Rl
Rl
R5
Rl
R6
Z4
1360
11 32000 30000
instruction to
temp 2
Equation Generation Phase (Fixed Point Operators)
(35 30000 32000)
Instruction to
temp 3
(36 30000 32000)
Instruction to
temp 3
(73 30000 32000)
Instruction to
temp 3
(71 32000 30000)
Instruction to
temp 3
51
ext word from Expande
List to temp 6
Advance current
relative address
by one
Indicator from Ope
code of temp 6 = zero?
Xl
Instruction from temp
2 to routine buffer
-r-l
"'0
s::::
-H
Is partial result
symbol in ~v" of temp
1 in "A" List?
5
(11 31000 32000)
Instruction to
temp 2
Advance current relative address by one
ctv
Xl
Instruction from temp
2to rOutine buffet
1361
Sl
(13 32000 32000)
Instruction to
temp 2
(12 .32000 32000)
Instruction to
temp 2
Next word from Expanded List to temp
~
artia 1 result symbol
from "v" of temp 6
~-------""",y
to "v ",1 of temp 1 and" •
-
Is partial result
symbol in "v" of temp
1 in "A" List?
Indicator from Ope
code of word in temp
6 = zero?
~
(Indicator
=one)
Xl
Advance current
relative address
by one
Instruction from temp
2 to routine buffer
(11 32000 30000)
Instruction to
temp 2
(32000) to "u" and
"v" of register indicator (temp 4)
NO
Equation Generation Phase (Fixed Point Operators
and Floating Point Binary Operators)
Advance callword of
current reusable temporary storage by one
Advance current relative address by
one
(64 30000 30000)
instruction to
temp 3
Xl
Instruction from temp
2 to routine buffer
Is highest reusable
temp callword used
greater than
callword?
NO
Retain current callword as highest used
(65 30000 30000)
instruction to
temp 3
YES
Current reusable temp
call wor d to" v" of
tern 2
(32000) to "u" and "v'
of register indicator
(temp 4)
Advance current relative address by
one
(66 30000 30000)
instruction to
temp 3
Xl
Instruction from temp
2 to routine buffer
1363
Indicator
(67 30000 30000)
instruction to
temp 3
=2
?
Indicator
= 138 ?
NO
Indicator
= 148 ?
NO
Sl
Indicator
= 158 ?
Next word from Expanded List
6
NO
Ca llwords of
subscripts (if
any) in "u" and
"v" of temp 6
Indicator
=6
Check indicator from
op. code of temp
?
6
Indicator
= 208 ?
Indicator
= 0 ?
NO
Indicator
= 1°8 ?
Indicator
= 1 ?
Indicator
= 2 18 ?
NO
Indicator
= 228 ?
NO
NO
Indicator
= 238 ?
1364
(
Indicator
= 240o ?
Indicator
= 258 ?
Indicator
= 368 ?
o
Indicator
= 4°8 ?
Indicator
= 438 ?
Indicator
= 448 ?
Indicator
= 32 8 ?
Indicator
= 458 ?
Indicator
= 338 ?
Indicator
= 46 8 ?
o
Indicator
must
518
=
Indicator
= 5°8 ?
Indicator
= 34 8 ?
1365
Indicator
= 478 ?
~--~
Advance current relative address by four
Advance current relative address by
three
Advance current relative address by four
Is instruction in
temp 3 (65 30000
30000)?
(21 30000 30000) instruction to temp 2
(16 32000 30000)
Instruction to
tern 2
Callword in "u" of
Current relative
55 ~--I address to "u" of temp ~~ temp 6 to "v" of temp
6
2
(64 31000 30000) instruction to temp 2
Advance current relative address by three
Advance current relative address by two
Advance current relative address by
three
Xl from temp 2
~~~ Instruction
to routine buffer
>--®
96
Is instruction in
temp 3 (65 30000
30000)?
NO
Advance current relative address by
three
YES
Advance current relative address by four
(64 31000 30000)
instruction to temp
3
Callword from "u" of
temp 5 to "v" of
temp 3
62
dvance current
relative address
by three
~
~
64 .
current
relative address
by three
dvance
~
66 .
dvance
current
relati ve addres s
by one
~
~
~
68
69
70
Advance current
relative address
by one
dvance current
relative address
by two
Advance current
relative address
by three
Is instruction in
temp 3 (65 30000
30000)?
(64 31000 30000)
instruction to
temporary 2
Callword from
"u'· of temp 5 to
nv" of temp 5
dvance current
relative address
by four
dvance
current
relative address
by four
Advance current
. -___ relative address
by four
Advance current
relative address
by one.
Advance current
relative address
by six
Advance current
relative address
by six
Advance current
relative address
by six
Advance current
relative address
by five
Advance current
relative address
by five
77
Advance current
relative address
by four
Advance current
address
by four
78l------;~relative
~
79
dvance current
relative address
by four
Advance current
relative address
by three
~
~
81
dvance current
relative address
by three
83
dvance current
relative address
by four
&{
84
dvance current
relative address
by two
~
&{
85
dvance current
relative address
by four
86
dvance current
relative address
by two
Advance current
relative address
by two
Is instruction in
temp 3 (65 30000
30000)?
Advance current
relative address
by three.
Advance current
relative address
by five
Advance current
relative address
by five.
Advance current
relative address
by five.
Advance current
relative address
by five
Advance current
relative address
by five
Advance current
relative address
by two
(64 31000 30000)
instruction to
temp 2
Advance current
relative address
by five
Preset address of
next word in Expanded List in
Box-·4
Advance address
in Expanded List
by one
(31000) to "'u"
and u v" of register indicator
(temp 4)
(11 31000 32000)
instruction to
temp 3
Partial result symbol
from Expanded List to
"v" of temp 6
Is instruction in
temp 3 (11 31000
32000)?
)-r
o
-----,
Advance current
relative address
by one
Equation Generation Phase (Library Routine Operator)
Obtain number of arguments for library routine from library routine callword in ,''v'' of
temp 5
Reduce argument
index in temp 7
by one
Store number of
arguments in index counter
(temp 7)
Add number of arguments
to (10 00000 00003) to
form ulOu line for
last argument
Have instructions been
generated to transfer all
arguments to library routine input?
YES
Store uIO" line
for last argument in "10" line
counter (temp 10)
Sl
Next word from Expanded List to temp
6
Check indicator
from Ope code
of temp 6.
Indicator
of
=
Indicator
=l?
Indicator
Must = 33.
Indicator
= 2?
Indicator
= 3?
Indicator
= 4?
Indicator
= 5?
~N~0~____________~113
(37 - ....- ---)
instruction to
temp :2
Library routine
callword from "un
of temp 5 to uU:'
of temp 2.
Library routine
ca llword from "'v'"
of temp 5 to 4'V" of
temp 2.
Xl
Instruction from
temp 2 to routine
buffer
Xl
ulO" line from temp 2
to routine buffer
Advance current
relative address
by one.
(11 30000 32000)
instruction to
temporary 2
Library routine callword from '''v'' of
temp 5 to "v" of
temp 2
Callword from "u"
of temp 6 to 'tlu"
of temp 0
"lOtt line (10
00002 00000) to
temporary 2
i-instruction
from temp 2 to
routine buffer
Advance current
relative address
by one
"10" line for argument
from "10" line counter
(temp 10) to temp 2.
11 30000 32000
instruction
to temp 2
X11...J'10" 1ine
from temp 2 to
routine buffer
"u" of register indicator
(temp 4) to nu" of temp 2
Decrease ttl0" line
counter (temp 10)
by one in "v".
Library routine cal1word
from "v" of temp 5 to
"v" of temp 2
106~---'
11 30000 32000
instruction
to temp 2
Advance current
relative address
by four
Advance current
relative address
by four
Advance current
relative address
by three
Advance current
relative address
by two
11 30000 32000
instruction
to temp 2
Library routine ca11word
from "v" of temp 5 to "v"
of temp 3
Ca11word from "u" of
temp 6 to "u" of temp 3
Advance current
relative address
by three
11l~-
102~--,
"10" line for argument
from "10" line counter
(temp 10) to temp 2
X3-" 10" 1 i ne
from temp 3 to
relative constant
image
Decrease "10" line
counter (temp 10)
by one in "v tt •
Equation GeneratiDn Phase (Floating Point Unary Minus and Absolute Value Operators)
13 30000 31000
instruction
to temp 3
12 30000 31000
instruction
to temp 3
51-next word from
Expanded List to
temp 6
Check indicator
from Op. code
of temp 6
~(indicator
.~ = O?
Indicat~or ~
must equal
5,
NO
~~~r
Advance current
relative address
by four
r
. .------.-.
Advance current
relative address
by three
Callword from "un of
Temp 5 to tlu" of
temp 3
Callword from "u" of
temp 2 to "u" of temp 3
Advance current
~elative address
by two
t--~
"uti of register indicator
(temp 4) to "u" of temp 3
~~
Advance current
relative address
by one
YE5
Equation Generation Phase (Integral Power Operators)
Power
2
Power
Power
-2
126
3
134 \--I~---~
127
Power
-3
51-Next word
from Expanded
List to Temp 6
135
67 30000 30000
Instruction
to temp 2
Advance current
relative address
by one
Advance current
relative address
by three
Ca1lword from "u" of
temp 5 to "v" of temp
Advance current
relative address
by one
5
67 30000 30000
instruction
to temp 2
Check indicator
from op. code
of temp 6
"v" of register indicator (temp 4) to
"v" of temp 2
67 30000 30000
instruction
to temp 3
Cal1word from "u" of
temp 6 to "u" of
temp 3
Callword from "u" of
temp 5 to ltv" of
temp 3
Advance current
relative address
by: three
67 30000 30000
instruc tion
to temp 2
Advance current
relative address
by. three
32 30000 00000
instruction
to temp 2
Fixed constant cal1word from "u" of
temp 6 to "u" of
tern 2
21 30000 30000
instruction
to temp 2
Advance current
relative address
by three
Power "\
4 to 63.J
@r-------+----~
Power
1/2
""\
~
161~~------~
Relative constant callword to nu" of temp 2
X1--In struc t i on
from temp 2 to
rOllltine buffer
Xl-Instruction
from temp 2 to
routine buffer
Current relative address
to "u" of temp 2
Advance current
relative address
by two
Power
-4 to -63
8------~
Power
-1/2
Preset address of next
word in Expanded List
in Box: 4
Advance address
in Expanded
List by one
Box-·4
Word from
Expanded Lis
to temp 6
Equation Generation Phase (Operator to Store Result)
11 30000 30000
instruction
to temp 3
Set switch
to ®
o
Set switch
®
to @
Sl next word
from Expanded
List to temp
Check indicator
from op. code
of temp 6
Advance current
'------""-' relative address
by four
>---s~:.t
Callword from ltv" of
temp 5 to "v" of temp 3
r---.. .
Instruction from)
temp 3 to temp 2
Xl-Instruction
from temp 2 to
routine buffer
Advance current
relative address
bone
"u" of register indicator
(temp 4) to "u" of temp 3
Advance current
relative address
b three
Advance current
relative address
by two
dvancecurrent-relative address t - - - _ _ .
by one
@----1j
185
Ca llword from "v" of-·temp 5 to "v" of temp :3
Equation Generation Subroutine for Floating Point Operators
Partial result symbol
from "v" of temp 6
to ttv" of temp I and "A"
Is partial result
symbol in Redundant
Partial Result List?
YES
Callword of corresponding
redundancy temporary storage~~~~
to "v" of temp 3
~N_O_ _~®
Is partial
result symbol in
tlQ" List?
NO
I--_.L-~
Advance callword of
current reusable
temporary storage by
one
Is highest reusable temp
callword used greater than
current callword?
YES
YES
Retain current callword
as highest callword used
Current reusable temporary callword to "v"
of temp 3
Equation Generation Subroutine for Floating Point Unary Minus and Absolute Value Operators
Temporary storage callword or 31000
from "v" of temp 3 to ltv" of
register indicator (temp 4)
Temporary storage call word or
31000 from "v" of temp 3 to u u"
of register indicator (temp 4)
Equation Generation Subroutine for Power (1/2) and (-1/2)
Preset "Ion line counte
(temp 10) to
10 00000 00003
Check indicator
from OPe code
of temp 6
51-next word
from Expanded
List to temp 6
NO IndieatoA NO
= I?)
~r----L-_
f,;:;\'-.:.7N~
0 d i cat or
1
~= 4?
~~YES
Indicator
must equal 33
~__~__~
Advance current
relative address
by one
11 30000 50051
instruction
to temp 2
Advance current
relative address
by two
11 30000 50051
instruction
to temp 2
11 30000 50051
Advance current
relative addressl---7f instruetion
by one
to temp 2
nu" of register
indicator (temp 4)
to "u" of temp 2
Advance eurrent
relative address
by three
11 30000 50051
instruction
to temp 3
Callword from "u"
of temp 5 to
nu" of temp 3
X3-!'10" line
from temp 3 to
relative constant
image
Advance "10" line
counter (temp 10)
by one in "v".
Resultant "10"
line from "A" to
temp 3.
Advance current
relative address
by one
Xl-instruction
from temp 2 to
routine buffer
Advance "10" line
counter (temp 10)
by one in "V".
Resultant "Ion
line from "A" to
temp 2
1-"10" line
from temp 2 to
routine buffer
Xl-ttlO" line
from temp 2 to
routine buffer
"lOll line
10 00002 00000
to temp 2
Advance current
relative address
by three
Advance current
relative address~----~
by one
Xl-instructio'
from temp 2 to
routine buffer
37 50051 50051
instruction
to temp 2
Equation Generation Subroutine for PONer (2) and (-2)
51-next word
from Expanded
List to temp
Check indicator
from op. code of
temp 6
NO
Indicator
mu st equa I :3:3
Advance current
relative address
by one
@~
Advance current
relative address
by four
66 30000 30000
instruction
to temp 3
Advance current
relative address
by three
Advance current
relative address
by one
Advance current
relative address
by four
___--!.!.NO:::!.--4
Callword from
nu" of temp 5
to "un of temp 3
Callword from
"u" of temp 5
to ItV tll of temp 3
6? 32000 ~2000 ]
InstructIon
to temp 2
Advance current
relative address
by one
Xl instruction
from temp 2 to
routine buffer
66 32000 32000
instruction
to temp 2
Advance current
relative address 1--_ _
by three
-.1
Advance current
relative address
by three
J---_f
Equation Generation Subroutine for Power (3) and (-3)
Sl- Next word
from Expanded
List to temp 6
Advance current
relative address
by two
Advance current
relative address
by three
Advance current
relative address
by three
Advance current
relative address
by four
Advance current
relative address
by three
Advance current
relative address
by two
Check indicator
from OPe code
of temp 6
31000 to "un
of temp 2
Xl-instruction
from temp 2 to
routine buffer
Advance current
relative address
by two
Equation Generation Subroutines for Power (4 to 63) and (-4 to
-6~n
Box-5
reset address of next
ord in Expanded List r---;.
n Box-5
V
fromEX~
Advance address in
Expanded List by one
Box-6
Op. Code from next
word in Expanded List
to "A" regi ster
Word
List to temp 6
1
-
Preset address of next
word in Expanded List
in Box-6
-------------------------......
w
co
-I
~5
Check indicator in
OPe code of "A"
register
Indicator
= O?
YES
Indicator
must
equal 338
Indicator
= 4?
YES
Indicator
= 118?
YES
Indicator
= 5?
YES
.----'Indicator
= I08?
YES
NO
Advance current
relative address
by three
Advance current
relative address
by three
I--'
W
co
co
Advance current
relative address
by three
Advance current
relative address
by four
Advance current
relative address
by three
[66 31000 30000J
Instruction
to temp 2
Callword from "u" of
temp 5 to "v" of temp
Advance current
relative address
by three
~
________~
Advance current
relative address
by three
dvance current
relative address
by two
Instrucfrom temp
to routine
buffer
Equation Generation Subroutines for Subscript Operator
Subscripts obtained in reverse
order
Box-3
Decrease (address) by
Callword from
Callword of multi(72 :30000
one to address of next
plier from "'u" of I---r--"'''v'' of temp 6
30000) in1---l-~.§l!!>scr.!.pL W-2rQ. ____ _
to nv" of temp
temp 6 to "u'· of
struction to
This subscript word from
temp
2
1
temp 2
Expanded List to temp 6
(71 32000
30000) instruction to
temp 6
(42 30000 30000)
instruction
to temp 2
Current relative
address to "v"
of temp 2
(73 30000
31000) instruction to
temp 2
(11 30000
32000) instruction to
temp 2
Callword from ltv"
of temp 5 to "u"
of temp 0
Advance "v" of
temp 2 by one
t-----=~
Ca llword of modulus from "u" of
temp 5 to "u" of
temp 2
(32 30000 00000
instruction to
temp 2
Decrease address in Box3 of HI by one to address
Q.f_next_ s...!!b~c.!.iJ>t_ w~r~._
This subscript word
from Expanded List to
temp 6
CaIIword from
"V" of temp 6
to "u" of temp 0
Instruction
from temp 2 to
temp 3
Equation Generation Subroutines
Preset address of
next word in
Expanded List in
Box-2.
Box-2
Indicator word
from Expanded
List to temp 6.
Advance address
in Expanded List
by one.
Indicator from OPe
code of word in
temp 6 to "An
register.
(15 32000 30000)
instruction
to temp 2
lei
Ca 11word from uu'"
Current relati ve
temp 5 to uu'~ I---~ address to "v""
of temp 2
of temp 2.
~-~of
~------------~
(16 32000 30000)
instruction to
temp 2
Callword from "·v
of temp 5 to "U U
of temp 2
(16 32000 30000)
instruction to
temp 2
(15 32000 30000)
instruction to
temp 2
(35 31000 31000)
instruction to
temp 2
(35 31000 31000)
instruction to
temp 2
(15 32000 30000)
instruction to
temp 2
(35 31000 31000)
instruction to
temp 2
~-~
Current relative
address to "un
of temp 2.
~-~
Relative constan
ca 1lword to 'iU"
of temp 2.
Callword from "un
temp 5 to "un
of temp 2
~-~of
Relative constant
to nv"
of temp 2.
~-~callword
Relative constant
ca llword to "U
of temp 2.
4f
Xl
Instruction from
temp 2 to routine
buffer
1391
(35 31000 31000)
instruction to
temp 2.
(31 32000 00017)
instruction to
temp 2.
Current relative
address to "v"
of temp 2.
Callword from "u"
of temp 6 to "u'"
of temp 0
(31 32000 00017)
instruction to
temp 2.
(32 30000 00000)
instruction to
temp 2.
Callword from
"v" of temp 6
to"'u" of temp
(32 30000 00000)
instruction to
temp 2
Callword from "v"
of temp 5 to "u"
of temp 2
(31 32000 00017)
instruction to
temp 2
Ca llword from "v"
of temp 6 to "u"
of temp 0
(13 31000 31000)
instruction to
temp 2
(11 30000 32000)
instruction to
temp 2
Ca llword from "v"
of temp 6 to '·u"
of temp 0
(11 30000 32000)
instruction to
temp 2
1392
Xl
Instruction from
temp 2 to routine buffer
Xl
Instruction
temp 2 to
buffer
(11 30000 32000)
instruction to
temp 2
(11 30000 32000) instruction to temp
2
&
520
~
Callword from "u'"
of temp 6 to "u" f - of temp 0
(16 32000
Callword from "v""
Relative constant
30000) instr-~ of temp 5 to"u" 1--3- callword to ;NV'· ~
~ uction to
of temp 2
of temp 2
temp 2
G -
~
(32 300(000017) Callword from "u"
instruction
f---;. of temp 5 to'lItu.tl
to temp 2
of temp 2
522
~
Callword from "u"
Current relative
(16 32000
30000) instr- ~ of temp 5 to "u" ---+ address to ttv"
~
~ uction to
of temp 2
of temp 2.
temp 2
G
-
(15 32000
Current relative
Callword from "v''''
30000) instr-r--;. address to nv'"
~ of temp 6 to "u" ~
~ uction to
of temp 2
of temp 2.
temp 2
~
(15 32000 30000) Callword from "u"
Current relative
instruction
~ of temp 6 to "u" ~ address to "v'''' ---;1
~ to temp 2
of temp 2
of temp 2.
~
(32 30000 00000.)
Callword from "uH
~ ~ instruction
~ of temp 5 to ""u"
~ to temp 2
of temp 2
&
527
K16 32000 30000)
instruction
to temp 2
Callword from "u
~ of temp 5 to ''''UM
of temp 2
1393
M
~
..
Relative con~vt~nt
callword to
of temp 2.
I--
Equation Generation Subroutines
Instruction from
temp 3 to temp 2
Callword from "v"
of temp 5 to "v"
of temp I
Xl
Instruction from temp
2 to routine buffer
Ca llword in "v" of
temp 1 partial result
symbol? (i.e. 31000>
Callword? )
Y2
pertinent temporary storage callword
Temporary storage
callword to ltv" of
temp 2 and "A".
NO
Callword from "v" of .
temp 1 to "v" of
temp 2 and "Alt.
Instruction from
temp 3 to temp 2
Instruction from
temp 3 to temp 2
Xl
Instruction from temp
2 to routine buffer
_
V
Exit
Call word from
"u'" of temp 5
to "un of temp
o
Call word in "u"
of temp 0 partial re- ~E
suIt symbol? (i.e.,
31000 > ca 11 word?)
NO
~------------~
Y1
pertinent
temporary storage
call word
Temporary storage
call word to "u" of
temp 2 and "A"
Ca 11 word from "uft
of temp 0 to "ut.
of temp 2 and "A"
--X.._V
t-_ _
Xi
t
Equation Generation Subroutines
Xl
Instruction from
1-----.:>JoI Temp 3 to Temp 2
Instruction
temp 2 to routine
buffer
Instruction from
temp 3 to temp 2
"v" of register indicator (temp 4) to ttv"
of temp 2
Instruction from
temp 3 to temp 2
r--------------------~
1-----.::.1
Callword from "u" of
temp 5 to "u" of temp
31---.~
Callword from "v" of
temp 5 to "v" of temp 3
Instruction
rom temp 3 to relative
constant image
[00 30000 30000]
Instruction to
temp 2
Callword from "u" of
temp 5 to "u" of temp 3
ttv" of register indi-
(temp 4) to ttv"
of temp 3
t-----~cator
U
of register indicator (temp 4) to "un
of tern 3
"U
Callword from "v" of
I--~ temp 5 to "v" of temp 3
~~~
~~nstruction from
~emp 3 to temp 2
Xl
}------,-------:O-<
Callword from "u" of
temp 5 to "u" of temp 3
7}--~
~~3llword from "v" of
V
-L
emp 5 to
n
nv
of Temp 3
:nstruction from
,emp 3 to temp 2
6-{
B-{
S47
548
I---~
r--~
2l 30000 30000J
Instruction
to temp 2
[31 32000 00017]
Instruction
to temp 2
...
Callword from "v" of
"A" regi ster to "v"
of temp 3
Callword from "u" of
"Aft regi ster to "u"
of tern 3
I----I~
::VXit
1
X2
Instruction
from temp 3 to relativ
constant image
J
'
[00 :30000 30000]
Instruction to
temp 2
"v" of register indicator (temp 4) to
"v" of temp 2
Current relative address
to "u" of temp 2
allword from "v" of
temp 6 to "v" of temp 1
Callword from "v u of
t-----''!lIoI temp 5 to
Hun of temp 0
Advance current relative address by one
[67 30000 31000]
Instruction
to tem 2
--~-,
[66 31000 30000J
Instruction
to temp 2
Instruction from temp 2 to routine buffer
------;.
Callword from "u" of
temp 6 to "u" of temp 2
-~---.
Callword of current reusable
temporary storage to "v"
of temp 2
Decrease callword of current
reusable temporary st ora'ge
by one
[66 30000 30000]
Instruction
to temp 2
allword of current reusable temporary storage
to "u" of temp 2
[11 30000 32000]
Callword from "u" of
temp 5 to "u" of temp 3
Instruction
to temp 3
Instruction from
temp 3 to temp 2
[11 30000 32000]
Instruction
to temp 3
[32 30000 00017]
Callword from "u" of
temp 5 to "v" of temp 3
Instruction
to temp 2
[75 30000 30000]
Instruction
to temp 2
[00 30000 30000]
Instruction
to temp 2
constant callword
to "un of temp 2
Instruction
to temp 2
[66 30000 3000~
Callword of current
reusable temporary
storage to "v" of temp 2
X2
Instruction
temp 3 to relaconstant image
r--~
Callword in nu" of
temp 2 also to "v"
of temp 2
Exponent from rightmost two octal
digits of "v" of temp 6 less two
to "u" of temp 2 as u for repeat
instruction with j of zero
Advance "v"
of temp 2
by one
Current relative
address to "v"
of temp 2
[66 30000 30000]
Instruction
to temp 2
X2-Instruction
temp 2 to
routine buffer
I__________------~rrom
[32] to op. code and
[00000] to "v" of
temp 2
Equation Generation Subroutine to Store Instruction in Routine Buffer
Instruction from temp 2
to current address in
routine buffer
Advance current
address in routine buffer by
one
NO
Transfer instrucReset current adtions from routine
dress in routine
buffer to current
buffer to initial
address in routine
buffer address
image on drum
J
Advance c urren
address in routine image by
1708
Equation Generation Subroutine to Store Relative Constant in Relative Constant Image
Advance current relative constant callword
by one
BQ
Rewind tapes
Relative constant or
"10" line from temp 3
to current address in
relative constant image
Advance current address in relative constant image by one
Alarm: SENTENCE TOO
LONG Typed out
Is maximum address
in relative constant
image >current address?
f-..I
~
o
o
Equation Generation Subroutine to Obtain Pertinent Temporary Storage Callword (TR)
Partial result symbol from
"u" of "A" register to
"v" of "A" reg i ster
Callword of current reusable
Is partial result
temporary storage from seventh
symbol in Redundant
NO
Partial Result List? ~--~ word in Running Address List
to "u" and "v" of "A" register
YES
Decrease callword in seventh
word of Running Address List
by one
etermine relative
location of symbol in
Redundant Partial List
~
Add base (577778) from sixth word
of Running Address List to form
callword of redundancy temporary
storage for partial result
Redundancy temp
callword to HU"
and "v" of "Alt
register
Equation Generation Subroutines for Fixed Point Operators
~
21..
Indicator word
from Expanded List
to temp 6
YES Advance current
address
by one
~--~relative
Callword from "v"
of temp 5 to "u" of
temp 0
Callwordl from "u" of
"A" to HU" of temp 3
e--L
38
[11 30000 32000]
Instruction
to temp 2
YES
1---.;;,.1
Callword from ltv" of
temp 5 to "u" of temp
Instrucfrom temp
to routine
buffer
Instruction
to temp 2
Callword from "U"
of temp 5 to "u"
of temp 0
Is partial result
YES Callword of corresymbol in itA" in Redunsponding redundancy
dant Partial Result List?
temporary storage
to "v" of temp 2
0-~
22
Instruction from
temp 3 to temp 2
NO
dvance current
relative address
by one
dvance current
relative address
by one
~-----~------~
[35 30000 32000 1
Instruction
to temp 2
Partial result symbol
from ttv n of temp 6 to
"v" of temp 1 and "A"
Set switch
CD
@
to
Is partial result
symbol in "A" in Redundant Partial Result
List?
YES
Callword of correspondredundancy temporary
storage to "v" of temp 2
Set switch
CD
I--_~
~____~ing
®
to
Is partial result
symbol in "v" of temp
in "A It 1 i st ?
Advance callword of
current reusable
temporary storage
bone
YES
ICurrent
reusable temp
callword to "v" of
/
/
/
e
/
temp 2
\
\
\
\
\
@
.---------'
Retain current callword as highest used
REGIONS FOR EQUATION GENERATION NO. 3
HE
HE
HE
RE
HE
HE
UP421
EP537}
BQ632
WA653
OPI047
CW1211
HE
HE
HE
HE
HE
HE
HE
HE
HE
HE
HE
HE
HE
HE
HE
HE
HE
HE
HE
HE
RE
HE
HE
HE
HE
HE
RE
HE
HE
RE
RE
HE
RE
BG2512
GE2542
EG2603
GY2730
GZ3030
NZ3120
ZZ3150
GF3176
GG3262
GH3357
GI3457
GJ3564
GK3624
GL3661
GM3713
GN3764
GP4043
GQ4131
GR4210
GW4277
GX4376
GA4472
GB4545
GS4600
GT4716
GU5014
GV5073
SI5133
TR5154
GC5171
TI5245
T05316
LG5322
HE
HE
RE
RE
RE
HE
HE
TT5324
RB5360
RA5550
XQ5561
XA5761
RL6l61
EL6261
REF-b'7-l
RA5
RI2
72
TP
EL
A
73
TJ
GC46
EG75
74
TJ
GC15
EG77
75
RA
RA7
GC2
76
TV
A
RI6
77
TP
GC16
OPl
CA
EGlOO
TO
TV
TV
RA
RP
TP
TV
RA
J
[30000
EG64
ii}
[30000
EG53
EG53
0
RI
Generated Instructions from routine
buffer
to current address in routine image
on drum
Relative constants from relative
constant image to routine image on drum
following generated instructions
Number lines in prelude & routine to
1st line of prelude
Number lines subject to address
modification to 2nd line of prelude
Codeword to third line of prelude
for routine
Sentence callword from first word in
Expanded List to A
Is callword for equation in pseudo
operation? (22---)
No, is callword for separate equation?
(24--- or 25-...-)
No, advance highest reusable temp
callword by two
Call word to ltv" of exit line for
Generated Routine
Send parameter to write Generated Routine
from drum
1408
@
100
101
102
103
104
105
@
@
TP
SA
EG100
0
TT3
GC31
EG123
A
RP
EGl05
EG106
EGI07 }
106
TP
CI
[300ooJ
• r ...."7
Tv
110
111
112
RA
SS
TO
TV
I':'rt ... ~/
Number of relative constants in reI.
con st. image to A
17
A
S11
[30oo0J
.lUI
@
1A
MJ
co
Relative constants from relative
constant image to
routine buffer in core following
generated instructions
T •
~\:1.lUO
'::>~.l
TV
TT3
GC24
A
SI1
0
RB
113
ST
GC40
RBI
114
115
TP
TP
RA5
EL
RB2
A
116
TJ
GC46
EG120
117
TJ
GC15
EG122
120
RA
RA7
GC2
121
TV
A
RB6
122
TP
GC43
OPI
123
RJ
OP
OP2
124
MJ
CA
0
EG125
BG
Number lines in prelude and routine to
1st line of prelude
Number lines subject to address
modification to 2nd line of prelude
Codeword to third line of prelude
Sentence callword from first word in
Expanded List to A
Is ca1lword for equation in Pseudo
operation? (22---)
No, is callword for separate equation?
(24 ..-- or 25--)
No, advance highest reusable temp
callword by two
Callword to ttv" of exit line for
Generated Routine
Send parameter to write Generated
Routine from core
Write generated routine and Ope File
1 item on tape
Jump to exit from phase
1409
IA
GY
GS5
A
~ "Sub" 0
perator 1
RJ
2
3
4
5
6
7
10
11
12
13
14
@Ind 15
=0
16
17
@Ind 20
AT
RP
TJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
RA
1116
30007
GY5
0
1
3
4
5
6
7
RA3
A
GY14
GY5
GY15
GY20
GY22
GY30
GY34
GY42
GY47
GY61
GC1
RJ
MJ
RA
GS12
0
RA3
GV31
GY73
GC2
21
22
MJ
RA
0
RA3
GY73
GC
23
RA
RA10
GC6
24
TO
A
GV2
25
26
27
30
@)Ind
=3
31
RJ
RJ
MJ
RA
GV2l
GS12
0
RA3
GV11
GV7
GY56
GC1
TO
RAID
GV2
32
RA
RAID
GC6
33
@ Ind 34
=4
35
MJ
RA
0
RA3
GY67
GC4
RA
RAID
GC36
36
TO
A
GV2
37
RJ
CA
GV2l
GY40
GV1l
=1
@Ind
=2
LQ
2
GS
25
Generate Subscript Instructions
Next word from Expanded List to temp 6
Indicator from Ope code of word to "u"
of A
IMJ I INDICATOR I 00000 ~ A
Search list for indicator
Jrunp according to indicator
1nd = 0
1nd = 1
1nd = 2
1nd = 3
1nd = 4
1nd = 5
Ind = 6
1nd = 7
Adv. current reI. address by 3 in "un
and "v"
To R7
Adv. current reI. address by 2 in "un
and "v"
Adv. current reI. address by 4 in "un
and "v"
Adv. add. in Exp. List by 1~ Add. of
P.R. value
Add. of word following last subs. in
Exp. List --+ "u" of TP
To R4
To R2
Adv. current reI. address by 3 in "u"
and ttv"
Add. of last S.S. in Exp. List ~ "u"
of TP
Adv. Add. in Exp. List by 1--. add. of
P.R. value
Adv. current reI. address by 5 in "un
and "v"
Adv. Add. in Exp. List by 2 ~ Add. of
P.R. value
Add. of word following last S.S. in
Exp. List ~ "un of TP
To R4
1410
@Ind
= !:l
@Ind
=6
@
@Ind
=7
@
@
@
IA
RJ
GY40
GS12
40
41
42
MJ
0
RA
RA3
GV7
GY55
GC
43
RA
RAIO
GC36
44
SS
GC6
0
45
TU
A
GV2
46
47
MJ
RA
0
RA3
GY66
GC5
50
RA
RAIO
GC37
51
TU
A
GV2
52
53
54
55
56
57
60
61
62
RJ
RJ
RJ
RJ
RJ
MJ
RA
RA
GV21
GS12
GS12
GS12
TT3
S1
0
RA3
RAIO
GVll
GV7
GV
GV
TT2
S1l
GY70
GC4
GC37
63
SS
GC6
0
64
TU
A
GV2
65
66
67
70
RJ
RJ
RJ
GS12
GS12
GS12
RAIO
GV
71
72
73
74
75
76
77
TP
TU
TP
RA
RJ
RJ
TP
RJ
MJ
CA
GV
GV
GY71
[30000J TT6
RAIO
GC6
GS12
GV22
GS12
GV27
1142
TT2
ZZ2
ZZ13
ZZ22
0
GYIOO
Generate Subscript Ins. (cont.)
To R2
Adv. current reI. address by 4 in "un
and !'v'!
Adv. add. in Exp. List by 2 ~ Add. of
P.R. value
Dec. "un of A by one ~ Add. last subs.
in Exp. List.
Add. of last S.S. in Exp. List ~ "u"
of TP
Adv. current reI. address by 6 in "u"
and "v"
Adv. add. in Exp. List by 3 - + Add.
of P.R. value
Add. of word following last S.S. in
Exp. List - + "u" of TP
To R4
To R2
To Rl
To Rl
Generated [SA - OJ inst - + temp 2
Store inst. in temp 2 in routine image
Adv. current reI. add. by 5 in "u" and "v"
Adv. add. in Exp. List by 3~ add. of
P.R. value
Dec. "u" of A by one ---+ add. of last
S.S. in Exp. list
Add. of last S.S. in Exp. List ~ "u"
of TP
To Rl
To Rl
To Rl
Add of P.R. value in Exp. List--+ "u"
of N1
P.R. value =+ "v" of temp 6
Adv. add. in Exp. List by 1 in "u"
To R5
To R6
[TP A 30000J ~ Temp 2
1411
@Fixed 0
aad.
1
2
@Fixed 3
~bt.
4
Fixed 5
®
multo
6
7
10
11
12
(32)
'ttl"xed
div.
13
14
15
16
17
20
IA
TP
RJ
MJ
TP
MJ
RJ
TP
ZJ
GZ
RJ
MJ
RJ
RA
RJ
GT27
GZ53
0
1113
0
GS5
1124
GZ12
0
GTI3
RA3
SI
TP
0
II37
RJ
RA
GZ53
RA3
MJ
RJ
TP
TP
RP
EJ
@
26
TP
Fixed
27
MJ
Unary r-3""-0--TP
minus J 31
RJ
Fixeo- 32
ZJ
21
22
23
24
25
abs.
va 1.
1112
SI
1141
TTl
[30000J
XA
II3l
0
1144
GS5
GZ34
33
RJ
GT27
34
35
36
TV
IT6
TT3
GZ40
ZZ22
TT3
GZI
GS
TT2
GZlO
GT21
GZ12
GT5
GC3
SII
GY75
TT3
GZ40
GC3
SII
TI2
A
GE
ZZ22
TT2
GZ3l
TT2
GS
GZ33
GT2l
TIl
TP
TTl
A
MJ
0
NZ
CA
GZ37
Generate Fixed Point Inst.
[At 30000 A] --+ Temp 3
To Zl
EST 30000 A]
-+
Temp 3
Next word from Expanded List to temp 6
[MP A 30000J ~ temp 2
Check indicator from OPe code of
word in temp 6
Indicator = 0 (to S33)
Indicator = 1 (to S29)
Adv. current relative address by one
Store inst. in temp 2 in routine image
[DV 30000 A] -+ temp 3
To ZI
Adv. current reI. address by 1 in
"u" and .tv"
Store inst. in temp 2 in routine image
[TP Q A] --+ temp 2
Partial result symbol -+ "A" register
Is partial result symbol in "A" List?
tes ~ ZZ~; No -+ GE
LTN A AJ -+ temp 2
LrM A A] -+ temp 2
Next word from Expanded List to temp 6
Check Indicator from OPe code of
word in temp 6
Indicator = O. (to S33)
Ind. = 1; P.R. symbol -+ ttv" of temp 1
P.R. - + ttv" of A
1412
IA
RJ
ZJ
GZ40
G55
GZ54
G5
GZ42
43
44
RA
5P
TD
RA3
IT5
A
GC3
17
TT
45
46
RJ
GT27
GT22
TO
A
TI3
47
50
51
52
53
54
55
56
TP
RJ
TP
RJ
MJ
TJ
TP
RJ
III
G512
ZZ13
51
511
57
TD
TI5
TT
60
61
62
63
64
65
RA
RA3
1112
GT27
GC3
TT2
GT22
MJ
0
GZ52
5P
TI5
TO
A
17
TT
40
41
Ind -
o
(39)
Ynd =
2
Ind
1
=
42
66
67
TP
RJ
TT3
0
GC14
II31
TP
TI3
MJ
0
CA
GZ70
TT2
GT17
TT2
ZZ
[30000]
GZ64
TT2
TT2
GZ62
Next word from Expanded List to temp 6
Check indicator in op~ code of word
(to GZ42 if ind = 0)
Adv. current relative address by one
Operand symbol from "v" of temp 5 to
tlu" of temp 0
To 534
Operand or temp cal1word to "uti of
temp 3
[TP - 30000 A] ~ to temp 2
To 532A
Instruction from temp 3 to temp 2
To GZ64 if indicator = 1
Ind = 2; [TN A A] to temp 2
Store instruction in temp 2 in
routine image
Operand symbol from "uti of temp 5 to
"u" of temp a
Advance current relative address by one
[AT 30000 A] -+ temp 2
To S34
Ind = 1
Operand symbol from "v" of temp 5 to
"u" of temp a
Instruction from temp 3 to temp 2
1413
3
IA
RP
EJ
RA
RJ
4
5
o
RA3
SI
NZll
NZ2
GC3
SII
TP
1131
TT4
TP
TP
TT2
RJ
1142
TTl
NZ21
NZ21
10
MJ
o
GE
11
RJ
NZ21
NZ21
12
RA
RA6
GC3
13
TJ
RA7
NZ15
14
TP
A
RA7
TV
A
Tr2
17
RA
RJ
RA3
SI
GC3
SII
20
21
MJ
RP
22
23
24
25
EJ
TP
SS
SA
RL
NZ23
RA2
A
Q
RA5
0
26
27
TV
A
MJ
TT2
NZ16
1
2
6
7
15
16
®
NZ
[30000J
GA
XA
A
o
GE
[30000] [30000]
o
0
Is partial result symbol in "A" List?
Yes -+ NZ2; no ~ NZII
Advance current relative address by one
Store instruction in temp 2 in routine
image
Set register indicator to "A" in "u"
and "v"
[TP A 30000] ---+ temp 2
Partial result symbol ~ "v" of A
To Z2 (search Redundant P.R. List for
P.R.)
Exi t - P.R. in "An Li st and not in
Redundant P.R. List
To Z2 (search Red. P.R. List when P.R.
not in "A" List)
Advance current reusable temp callword
by one
Is highest temp callword used> current
callword?
No; retain current temp callword as
highest used
Reusable temp callword -+ "v" of temp 2
Advance current relative address by one
Store instruction in temp 2 in routine
image
Is partial result symbol in Redundant
P.R. List?
Yes ---+ NZ23; No ---+ repeat exit
j n --+ "u" & "Vlt of A
jn - (jn - r) ~"v" of A
Base redundancy temp callword + r --.. trv"
of A
Redundancy temp callword to trv" of temp 2
NZ30
1414
@
@
IA
0
1
2
3
@
@
®
1V
MJ
TV
TV
TP
ZZ
GZ25
0
GC22
TT6
ITl
[30000J
RL
RA2
Q
RA5
ZZ15
ZZ3
ZZ15
TTl
4
5
6
7
10
11
RP
EJ
TP
SS
SA
12
TV
13
14
15
16
MJ
17
20
TJ
TP
RA7
A
ZZ2l
RA7
21
22
23
24
TV
RA
RJ
TP
A
RA3
SI
1131
TT2
GC3
SII
TT4
25
MJ
CA
0
ZZ26
GE
A
Partial result symbol to "v" of temp 1
P.R. symbol -+ nv u of A
Is P.R. in Redundant P.R. List?
Yes to ZZ7 ; no to ZZ14
j n ~ "u" and "v" of A
jn - (jn - r)~ "v" of A
Base redundancy temp. callword + r --+ ttv"
of A
Redundancy temp. callword ~ ?Iv" of
temp 2
Exit
Is partial result symbol in "A" List?
No to ZZ16
Adv. current reusable temp callword
by one
Is highest temp used > current temp?
No, retain current temp callword as
highest used
Current temp. callword --+ "v" of temp 2
Advance current relative address by one
Store inst. in temp. 2 in routine image
Set register indicator to "A" in "utI
and "v"
A
ZZ14
ZZ7
A
0
0
TT2
0
[30000J
RP [30000J ZZ16
EJ
XA
[30000J
RA RA6
GC3
1415
~Fl.
@us
41 Flo
subt.
@Fl.
mult.
~Fl.
Ivide
@
@)
@
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
lA
TP
MJ
TP
MJ
TP
MJ
TP
RJ
LQ
AT
RP
TJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
CA
GF
lI20
0
lI21
0
1122
0
lI23
GS5
A
1116
30047
GF14
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
GF40
TT3
GF7
TT3
GF7
TT3
GF7
TT3
GS
25
A
GF63
GF14
GG
GG6
GGI0
GG15
GG17
GG41
GG55
GG46
GG50
GH
GH5
GHI0
GH14
GH21
GH24
GH40
GH45
GH50
GH56
GH66
Generate Floating Point Inst.
[F A 30000 30000J ~ temp 3
30000 30000J
~
temp 3
[FM 30000 30000J
-+
temp 3
[FS
[FD 30000 30000J - + temp 3
Next word from Expanded List to temp 6
Indicator from OPe code of word to
"u" of A
I MJ I INDICATOR I 00000 I~ A
Search list for indicator
Jump according to indicator
Ind. = 0
Ind. = 1
Ind. = 2
Ind. = 3
Ind. = 4
Ind. = 5
Ind. = 6
Ind. = 7
Ind. = 10
Ind. = 11
Ind. = 12
Ind. = 13
Ind. = 14
Ind. == 15
Ind. = 16
Ind. = 17
Ind. = 20
Ind. = 21
Ind. = 22
Ind. = 23
1416
®
@)
40
41
42
IA
MJ
MJ
MJ
q.:>
.to")
iv1J
44
45
46
47
50
51
52
53
54
55
56
57
60
61
62
63
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
CA
GF40
24
25
26
n..,
~l
30
31
32
33
34
35
36
40
42
43
44
45
46
47
50
51
GF64
GH72
GJ
GJ6
GJil
GJ20
GJ27
GJ32
GI
GI7
GI13
GI21
GI25
GI33
GI36
GI43
GI50
GI54
GI61
GI65
GI71
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
Ind.=
1417
24
25
26
27
30
31
32
33
34
35
36
40
42
43
44
45
46
47
50
51
@)Ind
=0
@Ind
=1
@)Ind
=2
@)Ind
=3
@)Ind
=4
@
@
0
1
IA
RJ
RA
G512
RA3
GC
2
3
4
5
6
7
10
11
RJ
RJ
RJ
MJ
RJ
MJ
RJ
RA
G512
G512
G512
0
GS12
0
G512
RA3
G56
G527
GT2
GK
G545
GGI
G542
GCl
12
13
14
15
16
17
RJ
RJ
MJ
RJ
MJ
RA
GS12
G512
G512
0
RA3
G532
GT60
GK
G545
GGll
GC
20
21
22
23
24
25
26
27
30
31
32
33
34
TP
EJ
RJ
RJ
RJ
RJ
MJ
RJ
TP
RJ
TP
LQ
1121
TT3
G512
G512
G512
G512
0
GS12
115
G512
II6
TT6
RA3
A
GG27
GS42
G56
GS27
GT70
GK
GS60
TT2
G57
TT2
25
TI2
35
36
37
RJ
G512
1140
51
GG40
GV4
Tr2
511
TO
TP
RJ
CA
Generate Floating Point (cont.)
To 511
Adv. current reI. add. by 4 in "un
and "v"
To 52
To 56
To 528
GG
0
G542
To 512
To 511
Adv. current reI. add. by 3 in "u"
and "v"
To 57
To 544
To 512
Adv. current reI. add. by 4 in "u"
and "v"
[!s 30000 30000] -+ A
Is floating subtract inst. in temp 31
No; to 511
To 52
To 56
To 546
To S16
A 30000J ~ temp 2
To 52A
30000 30000J ~ temp 2
lIlA
[TV
Current relative address to "u" of
temp 2
To R3
[fA
Q 30oo0J ~ temp 2
5tore inst. in temp 2 in routine image
1418
@Ind
=5
58 Ind
~
=
IA
MJ
RA
GG40
0
RA3
42
43
44
45
46
RJ
RJ
RJ
MJ
RA
GS12 GS62
G512 G532
G512 GT64
0
[30oo0J
RA3
GC2
47
50
MJ
RA
0
RA3
GG43
GC1
51
52
53
54
55
56
57
RJ
RJ
RJ
MJ
TP
EJ
RA
G512
G512
G512
0
II21
IT3
RA3
G562
G532
GT52
GG45
A
GG64
GC1
60
61
62
63
64
RJ
RJ
RJ
MJ
RA
G512
G512
G512
0
RA3
G542
G532
GT50
GK
65
66
67
70
71
72
RJ
RJ
RJ
LQ
GS12
G512
G512
II40
TI5
TV
Q
G560
G570
G532
TI3
25
TI3
73
74
RJ
MJ
CA
G512
0
GG75
40
41
GK
Gel
7
@)Ind
= 10
@Ind
=6
@
TP
GC
GT43
GK
Adv. current reI. address by 3 in
"u" and "v"
To S17
To 57
To 545
5witch0
Adv. current reI. address by 2 in
flU" and "v"
Adv. current reI. address by 3 in "u"
and "v"
To 517
To 57
To 542
To switch@
lIs 30000 30000J -+ A
Is floating subt. inst. in temp 31
No, advance current relative address
by three
To 511
To 57
To 541
Adv. current reI. address by 4 in "un
and "v"
To 516
To S20
To 57
{fA Q 30000 ] ~ temp 3
Operand symbol from "u" of temp 5 to
"v" of temp 3
To 539A
1419
IA
RA
GH
RA3
Gel
2
3
4
5
RJ
RJ
RJ
MJ
RA
G512
G512
G5l2
0
RA3
G513
GT73
GT16
GG45
GC3
6
7
10
RJ
MJ
RA
G512
0
RA3
GT54
GK3
GC1
@Ind
11
12
13
14
RJ
RJ
MJ
RA
G512
G512
0
RA3
G513
G527
GH3
Gel
RJ
RJ
RJ
MJ
@Ind
15
16
17
20
21
GS12
G512
G512
0
RA3
G513
GT73
GT30
GG45
GC3
22
23
24
25
26
RJ
MJ
EJ
RA
G512
0
1121
TI3
RA3
GT33
GK3
A
GH31
GC3
27
30
31
RJ
MJ
RA
G512
0
RA3
GT36
GK3
GC2
32
33
34
RJ
TP
LQ
G512
1140
G560
TT2
25
35
36
37
RJ
RJ
MJ
CA
GTl3
51
0
GH40
@)Ind
0
@)Ind
= 11
1
= 12
(§ Ind
= 13
= 14
= 15
@Ind
= 16
@
RA
TP
ITS
GT5
511
GK3
Generate Floating Point (cont.)
Adv. current reI. address by 3 in "u"
and "v"
To 53
To 547
To 532
To switch@
Adv. current reI. address by 1 in "uti
and ttv"
To 543
Adv. current reI. address by 3 in "u"
and ttv"
To 53
To 56
Adv. current reI. address by 3 in "u"
and "v"
To 53
To 547
To 535
To switCh0
Adv. current reI. address by 1 in "u"
and "v"
To 536
[f5 30000 30000J ~ A
Is floating subt. inst. in temp 3?
No, advance current relative address
by one
To 537
Adv. current reI. address by 2 in "u"
and "v"
To 516
[fA Q 30000J ~ temp 2
Operand symbol from "uti of temp 5 to
"v" of temp 5
To 529
Store inst in temp 2 in routine image
1420
@Ind
--
IA
RA
GH40
RA3
41
42
43
44
45
RJ
RJ
RJ
GS12
GS12
GS12
0
)lA3
46
47
50
RJ
MJ
RA
GS12
51
52
53
54
55
56
57
60
61
62
63
64
65
66
40
Generate Floating Point (cont.)
Adv. current reI. address by 4 in "un
GC
and "v"
17
L'
@Ind
= 20
@Ind
= 21
@Ind
= 22
@Ind
= 23
@Ind
= 24
MJ
RA
GS42
GS47
GS32
GH54
To Sll
To S13
To S7
GC
Adv. current reI. address by 4 in "un
and ttv"
To S12
0
GS45
GH42
RA3
GC
RJ
RJ
RJ
RJ
MJ
RA
GS12
GS12
GS12
GS12
0
RA3
GS35
GS42
GS40
GT41
GG45
GC5
RJ
RJ
RJ
RJ
RJ
RJ
GS12
GS12
GS12
GS12
GS12
GS12
0
RA3
GS42
GS47
G56
GS13
G527
GT14
GG45
GC5
GS12
GS12
0
RA3
G545
GS47
GH61
GC5
GS12
GS12
GS12
GS12
0
GH100
GS6
GS53
GS17
GS42
GH63
MJ
RA
67
70
71
72
RJ
RJ
MJ
73
74
75
76
77
RJ
RJ
RJ
RJ
MJ
RA
CA
Adv. current reI. address by 4 in "u"
and "v"
To S9
To S11
To SID
To S38
To switch@
Adv. current reI. address by 6 in "uti
and "v"
To S11
To 513
To S2
To S3
To S6
To 531
To switCh@
Adv. current reI. address by 6 in "un
and IlV"
To S12
To S13
Adv. current reI. address by 6 in "u"
and ttv"
To S2
To S14
To S4
To S11
1421
0
RA
GI
RA3
GC4
1
2
3
4
5
6
7
RJ
RJ
RJ
RJ
RJ
MJ
RA
G512
G512
G512
G512
GS12
0
RA3
GS6
G542
G513
G527
GT14
GG45
GC4
10
11
12
13
RJ
RJ
MJ
RA
G512
G512
0
RA3
G56
G545
GI3
GC
14
15
16
17
20
21
RJ
RJ
RJ
RJ
G512
G512
GS12
G512
0
RA3
G572
G542
G532
GT46
GG45
GC
GS12
G512
0
RA3
G512
G512
G512
G512
0
RA3
G572
G545
GI16
GC
G523
G562
GS32
GT42
GG45
GC1
G512
0
RA3
G523
Gl30
GC1
IA
@Ind
= 33
@Ind
= 34
@Ind
= 35
@Ind
= 36
@Ind
= 40
@Ind
= 42
@)Ind
= 43
MJ
RA
22
23
24
25
26
27
30
31
32
33
RJ
RJ
34
35
36
RJ
37
CA
RJ
G512
Gl40
MJ
RA
RJ
RJ
RJ
RJ
MJ
RA
MJ
RA
G56
Generate Floating Pt. (Function 61--- type)
Adv. current reI. add. by 5 in "un
and "v"
To 52
To 511
To 53
To 56
To 531
To switch@
Adv. current reI. add. by 5 in "u"
and "v"
To 52
To 512
Adv.current reI. add. by 4 in "u"
and ttv"
To 521
To 511
To 57
To 540
To switch@
Adv. current reI. add. by 4 in "u"
and "v"
To 521
To 512
Adv. current reI. add. 4 in "u" and "v"
To 58
To 517
To 57
To 539
To switch@
Adv. current reI. add. by 3 in "uti
and "v"
To 58
Adv. current reI. add. by 3 in "utI
and "v"
To 52
1422
40
~
1nd
= 44
tAA\ -T.......
nri
'\::..Y
= 45
@1nd
= 46
@Ind
= 47
@)1nd
41
IA
RJ
RJ
CA
GI40
Gen. Fl. Pt. (Function 61--- Type) (cont.)
G512 G513
To 53
G512 GT14
To 531
0
5witch{B)
[30000J
'-"
RA3
GC
Adv. current
reI. add. by 4 in "un
and "v"
G512 G56
To 52
G512 G513
To 53
G512 GT73
To 547
G864
0
A;I...
..... _""........_,
....
in "Uff & "v"
GC2
nu.v. \iULLClll, L-CL • aUU.U'y
G512 G56
To 52
G512 GT2
To 528
GK3
0
RA3
GC
Adv. current reI. add. by 4 in "u"
and "v"
G512 G56
To 52
G512 G513
To 53
G512 G527
To 56
G864
0
RA3
GC2
Adv. current reI. add. by 2 in "u"
and ttv"
G512 G513
To 53
G512 GT16
To 535
0
GI42
To switch@
RA3
GC2
Adv. current reI. add. by 2 in "un
and "v"
G512 G513
To 52
G512 GT30
To 519
0
GI42
To switch@)
I121 A
[F5 30000 30000J -+ A
TT3
GI77
Is floating subtract inst. in temp 3?
RA3
GC2
No, advance current relative address
by two
G512 G56
To 52
G512 GT70
To 546
GK3
0
RA3
Gel
Adv. current reI. add. by 3 in "u"
and "v"
GI100
1A
RJ
RJ
TP
RJ
GII00
G512
G512
1140
51
MJ
CA
GK3
0
GII05
42
43
MJ
44
45
46
47
RJ
RJ
RJ
MJ
~(\
0/\
....
51
52
53
54
RJ
RJ
MJ
55
56
57
60
61
RJ
RJ
RJ
MJ
RA
62
63
64
65
RJ
RJ
MJ
RA
66
67
70
71
72
73
RJ
RJ
MJ
EJ
RA
74
75
76
77
RJ
RJ
MJ
RA
vv
RA
~
RA
=50
@1nd
= 51
@)
100
101
102
103
104
TP
O/\~
~
~v
_...1...1
t... ••
1"1
~
To 523
To 516
[FA Q 30oo0J ~temp 2
Store instruction in temp 2 in
routine image
G5101
G560
TI2
STl
J.l.
1423
0
IA
RA
GJ
RA3
RJ
RJ
RJ
RJ
MJ
RA
GS12
GS12
GS12
GS12
®Ind
1
2
3
4
5
6
RJ
MJ
RA
G512
@Ind
7
10
11
0
RA3
G545
GJ2
GC4
@Ind
12
13
14
15
16
17
20
RJ
RJ
RJ
RJ
RJ
MJ
RA
G512
G512
GS12
G512
G512
0
RA3
G532
GS6
G542
G527
GT42
GG45
GC4
RJ
RJ
RJ
RJ
RJ
GS12
G512
G512
G512
G512
(§ Ind
21
22
23
24
25
26
27
@Ind
®
Ind
= 25
= 26
= 27
= 30
= 31
= 32
0
RA3
GC4
GS42
G547
G523
GS32
GJ16
GC4
MJ
0
RA
RA3
G542
GS47
GS72
G532
GT46
GG45
GC4
30
31
32
RJ
MJ
G512
0
RA3
G545
GJ22
GC4
33
34
35
36
37
RJ
G512
G512
G512
GS12
0
GJ40
G572
GS35
G542
G540
GJ25
RA
RJ
RJ
RJ
MJ
CA
Generate Floating Point (cont.)
Adv. current reI. address by 5 in "u"
and ttv"
To S11
To 513
To 58
To 57
Adv. current reI. address by 5 in "u't
and "v"
To 512
Adv. current reI. address by 5 in "un
and "v tl
To 57
To 52
To 511
To 56
To 539
To switch@
Adv. current reI. address by 5 in tlu"
and tlv"
To S11
To 513
To 521
To 57
To 540
.
To 5witCh@
Adv. current reI. address by 5 in "uti
and "v"
To 512
Adv. current reI. address by 5 in "uti
and "v"
To 521
To 59
To 511
To 510
1424
®
@
o
IA
TU
GK
RA10
GK2
1
RA
RA10
GC6
2
TV
3
TP
1133
TT4
4
TP
5
RJ
6
7
TP
EJ
10
RA
II41
GK34
TT3
II41
RA3
TT3
GK13
A
GK12
GC3
11
RJ
GS12
GT14
12
13
MJ
TV
o
'IT6
GE
TTl
14
TU
RA2
GK16
15
16
TP
RP
17
20
21
EJ
22
23
24
25
26
27
30
TP
SS
SA
TV
MJ
TU
. RP
,EJ
RA
[3Ooo0J TT6
TTl
A
[3Ooo0J GK25
RL
RA2
Q
RA5
GK20
A
o
Partial result symbol from "v" of
temp 6 to "v" of temp 1
Preset repeat to search Redundant
P.R. List
Partial result symbol to "v" of A
Is partial result symbol in Redundant
P.R. List?
Yes. to GK20; no, to GK25
jn to "un and "v" of A
jn - (jn- r) to "v tf of A
o
IT3
GK34
RA
GK26
[30oo0J GK30
XQ
GK34
RA6
GC3
Base redundancy temp cal1word + r to
"v" of A
Redundancy temp callword to "v" of
A
o
31
TJ
RA7
GK33
32
TP
A
RA7
33
TV
A
34
MJ
A
Generate Floating Point (cont.)
Address of next word in Expanded
List ~ "un of TV
Advance address in Expanded List by
1 in "u ff
Partial result symbol from Expanded
List to "v" of temp 6
Set register indicator to "Q" in "un
and "v"
[TP Q AJ ~ temp 3
To K1
Inst. in temp 3 -+ A
Is inst. in temp 3 = [TP Q AJ?
No; advance current relative address
by one
To S31 (store instruction in temp 3
in routine image)
o
TT3
[30000
temp 3
Preset repeat to search "Q" List
Is partial result symbol in "Q" List?
Yes, to GK34; no, to GK30
Advance current reusable temp ca1lword
by one
Is highest temp ca11word used > current
ca11word?
No, retain current temp cal1word as
highest used
Reusable temp ca11word to "v" of temp 3
Exit
GK35
1425
~Lib.
0
IA
TP
GL
GC7
Q
1
QT
IT5
TI7
2
3
TP
GC32
TT7
A
TT10
p.
~
~Q
AT
4
5
RA
TT7
RA3
GL16
GC3
6
7
TP
SP
m4
TT5
IT2
TO
A
IT5
SI
1143
SI
10
11
12
13
14
15
16
17
@
Generate Library Routine Reference
Mask for rightmost octal digit of ttv"
20
21
22
23
24
25
26
27
30
31
IJ
TV
RJ
TP
RJ
MJ
RJ
LQ
AT
RP
TJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
CA
17
TT2
TI2
SI1
TI2
SI1
0
GS5
A
GK
GS
25
1116
30006
GL23
0
1
2
3
4
5
33
GL32
A
GL31
GL23
GM
GM12
GM17
GM25
GM30
GM43
GM46
Nwmber of argwments for library routine
to temp 7
[10 0 3J ~A
Set 10 line counter -'10 line for last
argument
Have all argwments been generated?
Yes, advance current relative address
by one
[RJ _ _ ] -+ temp 2
Library routine call word from "v" of
temp 5 to "u" of A
Library ca11word to "un of RJ in temp 2
Library callword to "v" of RJ in temp 2
Store inst. in temp 2 in routine image
[10 00002 OooooJ to temp 2
Store "10" line in temp 2 in routine
image
Next word from Expanded List to temp 6
Indicator from OPe code of word to
"un of A
IMJ I indicat_C?r I 000001 to "A" register
Search list for indicator
Jump according to indicator
1nd.= 0
1nd.= 1
1nd.= 2
Ind.= 3
1nd.= 4
1nd.= 5
Ind.= 33
1426
~Ind
0
IA
RA
GM
RA3
GC3
1
TP
III
2
TV
TT5
TT2
TT2
3
TU
TT6
TT
4
RJ
RJ
TP
RJ
GT27
GT22
5
6
7
10
RS
11
12
MJ
RA
13
14
SI
SI1
TT10
TT2
SI
SI1
TI10
RA3
GC11
GL4
GC3
TU
TIl
TT4
TT2
TT2
15
TV
TI5
TT2
16
Ind 17
MJ
RA
o
RA3
GM5
GC
20
21
22
23
C).,
24
~ Ind 25
=3
26
27
Ind 30
RJ
RJ
RJ
TP
31
32
33
34
RJ
RJ
TP
TU
III
TT6
GS56
GS32
TT3
TT3
35
TV
TIS
TT3
36
RJ
GS12
GT43
37
TP
TrIO
GM40
TT3
@ Ind
o
= 1
@
TP
= 2
@
= Ll
@
MJ
o
GS56
GS106
GS27
TT2
GM15
RA
RA3
GC
RJ
MJ
RA
GS12
GS45
GM21
GC1
CA
GS12
GS12
GS12
III
o
RA3
GS12
GS12
Generate Library Routine Ref. (cont.)
Adv. current reI. add. by 1 in "un
and ltv"
ITP 30000 A] --+ temp 2
Library routine ca11word to "v" of
TP inst. in temp 2
Argument ca11word from "u" of temp 6
to "u" of temp 1
To S34
Store inst. in temp 2 in routine image
"10" line for araument to temn 2
Store "10 line" in te~p-2 fn- ~outine
image
Decrease "10" line counter by one
Adv. current reI. add. by 1 in "u"
and "v"
[P 30000 A] ~ temp 2
"u" of register indicator to "u" of
TP inst. in temp 2
Library routine ca11word to ttv" of TP
inst. in temp 2
Adv. current reI. add. by 4 in "un
and "v"
To SIS
To S2
To 56
ITP
30000 A] -+ temp 2
Adv. current reI. address by 4 in "u"
and ttv"
To S12
Adv. current reI. address by 3 in "u"
and "v"
To 515
To 57
ITP
30000 A] -+ temp 3
Argument ca11word to "u" of TP inst.
in temp 3
Library routine ca11word to "v" of TP
inst. in temp 3
To S39A (inst. in temp 3 to relative
constant image)
"10" line for argument to temp 3
1427
40
1A
RJ
GM40
51
5112
~Ind
41
42
43
R5
MJ
RA
lilO
0
RA3
GCll
GL4
Gel
RJ
~3Ind
44
45
46
RA
G512
0
RA3
G545
GM32
GC2
47
50
RJ
MJ
CA
G512
0
GM51
G5106
GM23
MJ
"10" line in temp 3 to relative
constant image
Decrease "10" line counter by one
Adv. current reI. add. by 3 in "un
and ttv"
To 512
Adv. current reI. add. by 2 in "uti
and "v"
To 525
1428
o
IA
TP
GN
o
GN3
TP
II2
TI3
RJ
GS5
A
GS
25
--- MJ
1
LQ
AT
IT3
TT3
TJ
II16 A
30006 GN16
GNIO GNI0
'A
ILfT
1'1"
V
11
12
13
14
15
16
MJ
1
MJ
2
3
~ Ind ~~
MJ
MJ
MJ
MJ
RJ
RA
12
15
45
GS12
RA3
GN26
GN30
GN37
GN41
GN45
GN47
GV36
GC
21
22
23
24
RJ
RJ
RJ
RJ
GS12
GS12
GN56
GS12
GS6
GS27
GN52
GT14
~~
MJ
o
RJ
GS12
30
31
R.l
RA
GS12
RA3
GE
GS45
GN20
GS36
Gel
32
RJ
GS12
GS32
33
TO
TI5
IT3
34
35
RJ
RJ
GN56
GS12
GN52
GT43
36
MJ
RJ
o
GE
GS45
RP
~v
~
25
Ind
@ Ind
- 2
~
Ind 37
MJ
CA
A
o
GS12
GN40
I"'1\T, '7
U1"l~1
Generate Floating Neg. and Abs. Value
ITN 30000 Q] ~ temp 3
rTM 30000 Ql-+ temp 3
Next word from Expanded List to temp 6
Indicator from OPe code of word to "uti
of A
Form IMJ I indicator I 000001 in A
Search list for indicator
Jump according to indicator
T ... A '&'11"'. -
{\
V
Ind. = 1
Ind. = 2
Ind. = 3
Ind.= 12
Ind. = 15
Ind. = 45
To S48
Adv. current reI. address by 4 in "u"
and ttv"
To S7
To S6
To NI
To S31 (store instruction in temp 3 in
routine image)
To S12
To S48
Adv. current reI. address by 3 in "u"
and ttv"
To S7
Operand cal1word from "u" of temp 5
to "uti of temp 3
To@)
To S39A (inst. from temp 3 to relative
constant image)
To S12
1429
40
@Ind 41
42
= 12
Ind
15
=
Ind
45
=
@
43
44
45
46
47
50
51
52
53
54
55
56
IA
MJ
RJ
TO
RA
MJ
TO
MJ
RA
RJ
MJ
RJ
TV
SP
ill
MJ
CA
GN40
0
GT27
TT2
GN31
GT21
'IT 3
Gen. Fl. Neg. and Abs. Val. (cont.)
RA3
0
TT4
GC3
GN23
TT3
0
RA3
GS12
0
GK34
'IT 3
TT3
A
0
GN57
GN43
GC2
GS6
GN23
GK13
TT4
17
TT4
[30000
To S33
Operand or temp callword to "u" of
temp 3
Advance current relative address by one
"un of register indicator to "u" of
temp 3
Advance current relative address by two
To S2
To Kl
Set "v" of register indicator
Set "un of register indicator
1430
@POW
0
§POW
-2
,;;.
@
IA
RJ
1
MJ
I)
RJ
RJ
3
4
5
6
MJ
RJ
LQ
GP
GP65
0
GP65
G512
0
G55
A
GU
GK3
G5
25
II16
30005
GP12
0
4
5
10
11
33
RA3
A
GP17
GP12
GP20
GP23
GP35
GP46
GP57
GP61
GC3
G512
0
RA3
G034
GP65
GC
G512
G512
G512
1122
GV36
GU54
G532
IT3
TI3
~Ind
~Ind
21
22
23
RA
24
25
26
27
30
RJ
RJ
RJ
TP
To
ITS
31
32
LQ
TIS
TV
Q
25
TI3
33
RJ
G512
GT43
34
35
MJ
RA
0
HA3
GP65
GC1
36
37
RJ
RJ
G512
G512
GP40
GU24
G521
~Ind
AT
RJ
MJ
CA
V P2
To 549
("'DE!
'1' ....
\:11.~
7
10
11
12
13
14
15
16
17
20
RP
TJ
MJ
MJ
MJ
MJ
MJ
MJ
RA
Generate Int. Power Inst.
To P2
GP5
GK3
.1.
Next word from Expanded List to temp 6
Indicator from OPe code of word to "uti
of A
Form IMJ I indicator I 000001 in itA"
Search list for indicator
Jump according to indicator
Ind. = 0
Ind. = 4
Ind. = 5
Ind. = 10
Ind. = 11
Ind. = 33
Adv. current reI. address by 1 in "u"
and ttv"
To 556
Adv. current reI. address by 4 in "u"
and ttv"
To 548
To 559
To 57
[fM 30000 30000J -+ temp 3
Operand ca11word to "u ll of FM inst.
in temp 3
5ame ca11word to ttv" of FM inst. in
temp 3
To 539A (inst. from temp 3 to relative
constant image)
Advance current reI. address by 3 in
"u" and "v"
To 554
To 55
1431
40
41
~oInd
~/nd
~3Ind
IA
RJ
RA
GP40
GS12
RA3
GS64
GC3
TP
RJ
RJ
TI2
SII
GU27
GP65
GS66
GC
42
43
44
45
46
47
RJ
RA
I134
SI
GU33
0
GS12
RA3
50
51
52
53
RJ
RJ
RJ
RA
GS12
GS12
GS12
RA3
GS76
GS21
GS64
GC3
54
55
TP
RJ
I134
Sf
TI2
Sfl
56
57
MJ
RA
0
RA3
GP65
GCl
60
61
RA
0
RA3
GP50
GCl
GS12
GS12
GS12
0
GP66
GS6
GSIOI
GU52
[30000J
62
63
64
65
MJ
MJ
RJ
RJ
RJ
MJ
CA
Generate Int. Power Inst. (cont.)
To S18
Adv. current reI. address by 1 in "un
and ttv"
lfM A A] to temp 2
Store inst. in temp 2 in routine image
To S55
To S19
Adv. current reI. address by 4 in "u"
and "v"
To 522
To 55
To S18
Adv. current reI. address by 1 in "u"
and ttv"
[fM A A] to temp 2
Store instruction in temp 2 in routine
image
Adv. current reI. address by 3 in ttu"
and ttv"
Adv. current reI. address by 3 in "u"
and "v"
To S2
To S23
To S58
Exit
1432
~
3
POW
~
13
POW
2
®
3
4
5
6
o
GK3
RJ
RJ
MJ
RJ
GQ54
GS12
o
GQ5
GU
GK3
LQ
A
GS
25
A
GS5
III 6
RP
TJ
MJ
MJ
30005 GQ17
GQ12 GQ12
o
GQ20
4
GQ25
GQ34
5
10
GQ42
GQ46
11
33
GQ51
Ge2
RA3
14
15
16
17
20
MJ
MJ
MJ
MJ
RA
21
22
RJ
'ill
GS12
1133
TT2
23
RJ
S1
SII
24
25
MJ
RA
o
RA3
GQ54
Gel
26
27
30
RJ
RJ
RJ
RA
GS12
GS12
GS12
RA3
GV36
RJ
MJ
RA
GS12
GUI0
GQ55
Gel
= it
31
32
~ Ind
M-3
AT
13
@ Ind
GQ5
7
11
~Ind
GQ
GQ54
10
12
@
1A
RJ
33
34
35
36
37
RJ
RJ
RJ
CA
o
RA3
GS12
GU33
GS12
GQ40
GU34
GS32
GU14
GC2
GU24
GU27
GS21
Generate Int. Power Inst. (cont.)
To P3
To P3
To S49
Next word from Expanded List to temp 6
Indicator from OPe code of word to .t u"
of A ~~________~__~
Form IMJ I indicator 1000001 in flA"
Search list for indicator
Jwmp according to indicator
Ind.= 0
Ind.= 4
Ind.= 5
Ind.= 10
Ind.= 11
Ind.= 33
Adv. current reI. address by 2 in "u"
and "v"
To 556
"Q" address to "u" of instruction in
temp 2
Store instruction in temp 2 in routine
image
Adv. current reI. address by 3 in "u"
and "v"
To S48
To S7
To S52
Advance current reI. address by 2 in
"uti and "v"
To S51
Adv. current reI. address by 3 in "u"
and flv"
To S54
To S55
To 55
1433
Ind
IA
RJ
GU20
GQ31
RA
GQ40
G512
0
RA3
=
43
44
45
46
RJ
RJ
MJ
RA
G512
G512
0
RA3
G566
G576
GQ37
GCl
RJ
=
47
50
51
RA
G512
0
RA3
GS76
GQ37
GC2
52
53
54
55
56
RJ
MJ
MJ
RJ
MJ
CA
GS12
0
0
G512
0
GQ57
G56
GQ40
[30oo0J
GU4
GQ54
=
40
41
42
MJ
GC
10
Ind
11
Ind
33
MJ
Generate Int. Power Inst. (cont.)
To 553
Adv. current reI. address by 4 in "un
and "v"
To 519
To 522
Adv. current reI. address by 3 in "u"
and ttv"
To S22
Adv. current reI. address by 2 in "u"
and "v"
To 52
Exit
To 550
1434
@POW 0
-1
1
IA
RJ
LQ
GR
GS5
A
2
AT
3
4
5
RP
TJ
IT16
30006
6
MJ
7
10
MJ
11
!¥W
12
13
14
15
MJ
16
17
20
RJ
RA
21
RA
TP
TV
@
~Ind
~ Ind
=
22
23
24
SInd 25
= tt
26
27
30
31
~
MJ
MJ
•• T
MJ
TP
LQ
GR5
0
1
4
5
10
11
33
II23
TT5
GT13
RA3
0
RA3
II23
GS
25
A
GR13
GR5
GR14
GR21
GR25
GR36
GR50
GR53
GR57
TT2
25
TT4
GT5
GC3
GR45
GC3
TT2
TT2
RA
0
HA3
GR45
Gel
RJ
RJ
TP
GS12
GS12
II23
TT6
GS66
GS32
TT3
TT3
MJ
MJ
TO
32
33
TV
TT5
Q
25
TT3
34
RJ
GS12
GT43
35
MJ
Ind 36
RA
0
RA3
GK3
GC1
II32
GR40
TT2
37
LQ
TP
CA
Generate Int. Power Inst. (cont.)
Next word from Expanded List to temp 6
Indicator from OPe code of word to "u"
of A
From IMJ I indicator !000001 to "A"
Search list for indicator
Jump according to indicator
Ind.= 0
Ind.= 1
Ind.= 4
Ind.= 5
Ind.~
10
Ind.= 11
Ind.= 33
[fD 30000 30000J -+ temp 2
Operand ca1lword from "u" of temp 5 to
"v" of temp 5
To S29
Advance current relative address by one
Advance current relative address by one
30000 30000J --+ temp 2
v" of register indicator -. "v" of
temp 2
~D
Advance current relative address by
three
To S19
To S7
[FD 30000 30000J -+ temp 3
Constant cal1word for floating point
one to "un of temp 3
Operand ca11word to "v" of FD inst. in
temp 3
To S39A (inst. from temp 3 to relative
constant image)
Advance current relative address by
three
[?A 30000 OJ -+ temp 2
1435
40
m
GR40
RA4
41
42
43
RJ
RJ
RJ
SI
GS12
GU33
44
TP
IA
TT2
sn
45
m
TT6
GS17
GU27
Tr2
Tr2
46
47
RJ
50
RA
SI
0
RA3
SI1
GK3
Gel
51
52
@Ind 53
MJ
GS12
0
RA3
GS101
GR62
Gel
GS12
GS12
0
RA3
GS1l4
GS17
GR44
GC2
m
GS12
0
116
GT13
RA3
GS101
GR44
TT2
GT5
TT2
RJ
S1
sn
MJ
0
GR67
GR44
ill
~Ind
- 0
MJ
RJ
RA
1123
- 11
54
55
RJ
RJ
56
MJ
@Ind 57
- 33
60
61
62
63
64
RA
65
66
RJ
MJ
TP
RJ
CA
Gen. Int. Power Inst. (cont.)
Relative constant callword to "un of
temp 2
Store inst. in temp 2 in routine image
To S4
To S55
[FD
30000 30000] --+ temp 2
Constant ca1lword for floating point
one to "un of temp 2
Store inst. in temp 2 in routine image
Adv. current reI. add. by 3 in "u"
and "v"
To S23
Adv. current reI. add. by 3 in
and "v"
To S26
To S4
flU"
Adv. current reI. address by 2 in "un
and "v"
To S23
[RA
30000 3OO00J to temp 2
To S29
Current relative address to "un of
temp 2
Store instruction in temp 2 in
routine image
1436
@POW
0
~~to 63)1
y.54) POW 2
(~4
to
MJ
o
GWI0
RJ
GWI0
GW5
GC6
GK
3
1U
4
RA
RA10
5
6
RJ
7
10
RJ
GW73
GW65
11
LQ
A
25
AT
TV
n16 A
30005 GW22
GW15 GW15
o
GW23
4
GW34
5
GW46
10
GW53
11
GW57
33
GW61
RA3
Gel
G512 GU34
G512 GU42
1135 'IT2
'IT5
25
Q
'IT 1
RJ
RJ
GT13
51
34
RA
o
GT6
511
GW64
RA3
Gel
35
36
37
RJ
RJ
MJ
G512
G512
GV36
G532
GW74
CA
GW40
12
13
14
15
16
17
20
21
22
~Ind ~~
25
26
27
30
31
32
33
TP
MJ
RP
TJ
MJ
MJ
MJ
MJ
MJ
MJ
RA
RJ
RJ
TP
LQ
MJ
Generate Int. Power lnst. (cont.)
To P4
GW
GW64
GW64
HAlO
-63)
~Ind
IA
RJ
[30000J TT6
G512 GU
o
GK3
o
To P4
Address of next word in Expanded
List -+ "un of TP
Advance address in Expanded List
by 1 in "un
Next word in Expanded List to temp 6
To 549
Next word from Expanded List to temp 6
Indicator from OPe code of next word
to "un of A
Form I MJ I indicator I 00000 I in "A"
5earch list for indicator
Jump according to indicator
Ind. 0
Ind. = 4
Ind. = 5
Ind. = 10
Ind. 11
Ind. = 33
Adv. current reI. address by 3
To 556
To 557
[FlI Q 30000J -+ temp 2
=
=
Operand cal1word from "un of temp 5 to
ttv" of temp 1
To S30
Store inst. in temp 2 in routine image
Advance current relative address by
three
To 548
To 57
1437
40
IA
RA
GW40
RA3
GCl
41
42
43
44
45
RJ
RJ
RJ
RJ
46
RA
RJ
RJ
RJ
RA
GS12
GS12
GS12
GS12
0
RA3
GS12
GU33
GS12
0
RA3
GU20
GU10
GU42
GU4
GW64
GC1
GU24
GU21
GS21
GW40
GC
54
55
56
Ind 51
RJ
RJ
MJ
RA
G512
G512
0
RA3
GV31
G516
GW51
Gel
~Ind
60
61
MJ
RA
0
RA3
GW55
GC2
@
62
63
64
65
RJ
MJ
MJ
GS12 GS6
GW40
0
0
[30000J
RAIO GW61
~Ind
41
50
~OInd
51
52
53
MJ
MJ
§1l1
-
3
66
61
10
11
12
1U
RA
TP
1U
TP
QT
RAIO GC6
[30000J 'IT6
RAIO GW12
GCIO Q
[30000J A
Generate Int. Power Inst. (cont.)
Adv. current reI. address by 3 in nut'
and "v"
To S53
To S51
To S51
To S50
Adv. current address by 3 in "un and "v"
To S54
To S55
To 55
Adv. current reI. add. by 4 in "un
and "v"
To R1
To 522
Adv. current reI. address by 3 in "un
and "v"
Adv. current reI. address by 2 in "un
and "v"
To 52
Exit
Preset address of next word in Expanded
List
Advance address in Expanded List by one
Next word in Expanded List to temp 6
Prese~ address of next word in Expanded
List
Indicator from
code of A
OPe
code of this word to
OPe
13
14
15
MJ
RJ
RA
0
G512
RA3
[30000J
GU14
GC1
16
MJ
CA
0
GW11
GW42
To 552
Advance current relative address by
three
1438
~POW
1/2
~6~
-- /2
POW
®
IA
0
1
2
'1
v
4
5
6
7
@
~Ind
~Ind
~Ind
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
RJ
MJ
RJ
RJ
MJ
TP
RJ
LQ
AT
RP
TJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
RA
GX
GX67
0
GX67
GS12
0
GC32
GS5
A
GXS
GK3
GXS
GU
GK3
TT10
GS
25
rn6 A
30006 GX21
GX13
0
1
4
5
10
11
33
RA3
GX13
GX22
GX26
GX32
GX44
GX46
GX47
GXS3
GC3
1130
GT27
0
RA3
1U
TT4
TI'2
GT21
GXS6
GC3
TI'2
TI'2
31
32
MJ
0
RA3
GX56
Gel
33
RJ
RJ
GV36
GS32
TT3
TT3
GT43
TP
RJ
MJ
RA
TP
RA
roo
36
TP
TO
GS12
GS12
1I30
TT5
37
RJ
GS12
CA
GX40
34
35
Generate Int. Power Inst. (cont.)
To PI
To PI
To S49
Preset "10" line counter to
00000 00003J
Next word from Expanded List to temp 6
Indicator from OPe code of this word to
"un of A
Form i MJ I indicator I oooooj in A
Search list for indicator
Jwnp according to indicator
Ind.= 0
Ind.= 1
Ind.= 4
Ind.= 5
Ind.= 10
Ind.= 11
Ind.= 33
Adv. current reI. address by 1 in "u"
and "v"
fn> 30000 50051J ~ temp 2
To S33
~O
Advance current relative address by one
30000 50051J ~ temp 2
nun of register indicator to "un of
temp 2
ITP
Adv. current reI. add. by 3 in "un
and "v"
To S48
To S7
30000 5OO51J -+ temp 3
ITP
Operand ca11word from
"un of temp 5 to "un of temp 3
To S39A (Inst. from temp 3 to relative
constant image)
1439
40
41
42
1A
RA
TP
A
RJ
SI
43
MJ
44
RJ
45
MJ
~9) Ind _4,. .;. .6_ _R_J
- 1~....::..47~---.,,;R;;;;;..;;.J
~o) Ind 50
RA
Ind =
33
54
55
56
57
60
61
62
63
64
65
66
67
70
71
72
73
o
GS12
GS12
RA3
RA
GS12
0
RA3
GS21
GX55
GC2
RJ
TP
RJ
RA
GS12
II30
SI
TrIO
GS6
TT2
SII
Gell
1T2
SII
Ge3
1T2
SII
1T2
MJ
GS12
o
TP
A
RJ
RA
TP
RJ
SI
RA3
II14
SI
II43
SI
TP
RJ
sn
MJ
o
RA
RA3
GC3
GU33
GV31
GU27
GX50
MJ
RJ
MJ
CA
o
o
Gen. Int. Power (cont.)
Advance "10" line counter by one
tllOtl line in "A" to temp 3
"10" line in temps 3 to relative
constant image
Ge11
TT3
SI12
GX62
G024
GX72
GX70
GS76
Gel
®
Ind
=5
52
53
GX4Q
TT10
[3OOO0J
To S54
To S22
Advance current relative address by
three
To S5
Advance current relative address by
two
To S2
Ij'P 30000 50051] to temp 2
Store inst. in temp 2 in routine image
Advance "10" line counter by one in MV"
"10" line in A to temp 2
Store inst. in temp 2 in routine image
Advance current relative address by one
ffiJ 50051 5005(1 to temp 2
Store inst. in temp 2 in routine image
ITo 00002 OOOOOJto temp 2
Store "10" line in temp 2 in routine
image
Exit
Advance current relative address by one
To R7
To S55
GX74
1440
0
0
@
0
0
IA
TP
1
TV
2
TV
3
4
RJ
LQ
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
AT
RP
TJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
CA
@
40
41
42
43
44
45
46
47
50
51
52
IA
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
MJ
CA
(V
GA
II46
TT3
GC33
GC33
GS5
A
GG45
GI42
GS
25
II16
30042
GAI0
0
1
2
3
5
7
10
11
12
13
14
15
17
20
21
A
GA52
GAIO
GB
GBI0
GB12
GB17
GG41
GG46
GG50
GH
GB27
GHI0
GH14
GB21
GH40
GH45
GH50
GH56
GH66
GH72
GJ
GJ6
GJ20
GJ27
GJ32
GI
Generate Store
or =) Instruction
[TP 30000 30000 instruction to
temp 3
Set SWitc~
Set switCA B'
Next word rom Expanded List to temp 6
Indicator from OPe code of this word to
"u" of A
Form IMJ I indicator I 00000 I in A
Search list for indicator
Jump according to indicator
Ind. = 0
Ind. = 1
Ind. = 2
Ind. = 3
Ind. = 5
Ind. = 7
Ind. = 10
Ind. = 11
Ind. = 12
Ind. = 13
Ind. = 14
Ind = 15
Ind = 17
Ind = 20
Ind = 21
Ind = 22
Ind = 23
Ind = 24
Ind = 25
Ind. = 26
Ind. = 30
Ind. = 31
Ind. = 32
Ind. = 33
GI7
GI13
GI21
GI25
GI33
GI36
GI43
GB24
GI54
GI61
GI65
Gen. Store Inst. (cont.)
Ind. = 34
Ind. = 35
Ind. = 36
Ind. = 40
Ind. = 42
Ind. = 43
Ind. = 44
Ind. = 45
Ind. = 46
Ind. = 47
Ind. =50
22
23
24
25
26
30
31
32
33
GA40
GA4Q
34
35
36
40
42
43
44
45
46
47
50
GA53
1441
GB
GS12
RA3
GS42
GC
TV
GS12
G512
IT5
G56
GS27
IT3
5
TP
TT3
TT2
6
7
@Ind 10
11
=1
~ Ind 12
13
RJ
MJ
RJ
RA
51
0
GS12
0
GS12
RA3
SII
KG
G545
GBI
G542
GCl
14
15
16
@Ind 17
=3
20
Ind 21
- 15
22
RJ
RJ
MJ
RJ
MJ
RA
G512
G512
0
GS12
0
RA3
TO
TT4
G532
GT41
EG
G545
GB13
GC3
TT3
23
@Ind 24
25
= itS
26
§Ind 27
30
= 12
31
32
MJ
0
RA3
GS12
0
RA3
TT5
GS12
0
GB33
~Ind
IA
0
1
RJ
RA
2
3
4
RJ
RJ
§
MJ
RJ
RA
RJ
MJ
RA
TV
RJ
MJ
CA
GB4
GC2
G56
GB4
GC3
TT3
GT16
EG
Gen. Store Inst. (cont.)
To Sll
Advance current relative address by
four
To S2
To 56
Callword of variable defined by
equation to "v" of temp 3
Generated inst. to store result to
temp 2
Store inst. in temp 2 in routine image
To S12
To 511
Advance current relative address by
three
To 57
To 538
To S12
Advance current relative address by one
"A" or "Q" address from register
indicator to "utI of temp 3
Advance current relative address by two
To S2
Advance current relative address by one
To S32
1442
®
®
@
@
®
@
®
®
®
0
TU
IA
GS
RAIO
GS2
1
RA
RAIO
GC6
2
3
4
TP
TP
QT
[3ooooJ TT6
GCIO Q
A
TT6
5
6
7
MJ
TP
TU
0
II4
TT5
10
TV
RA3
TT2
11
RJ
SI
SII
12
13
14
15
MJ
0
1I5
TT5
A
[30000J
TT2
17
TT2
16
17
20
21
22
23
24
MJ
TP
MJ
TU
0
IT5
0
IT4
0
IT4
TT5
GSlO
TT2
GSlO
TT2
GSlO
TT2
TT2
25
TV
RA4
TT2
26
27
MJ
TP
30
TU
0
II33
RA3
GSII
TT2
TT2
31
32
33
MJ
TP
0
1133
RA4
GSIO
TT2
TT2
TP
36
ro
0
II33
RA4
GSlO
TT2
TT2
37
MJ
CA
0
GS40
GSII
34
35
TP
SP
TU
TP
MJ
TP
TU
MJ
[30000J
TT2
TT2
Equation Generation Subroutines
Address of next word in Expanded List
to "u" of TP
Advance address in Expanded List by
1 in "un
Next word in Expanded List to temp 6
Mask for op. cQde to Q
Indicator from op. code of temp 6 to
op. code of A
Exit
[TU A 3Ooo0J ~ temp 2
Callword from "un of temp 5 to "u" of
temp 2
Current relative address to "v" of
temp 2
Store instruction in temp 2 in routine
image
Common exit
[TV A 30000J ~ temp 2
Callword from "v" of temp 5 to "u" of
temp 2
[TV A 3Ooo0J
~ temp 2
[TU A 30000J
-+
temp 2
[TU A 30000J -+ temp 2
Callword from "u" of temp 5 to "uH. of
temp 2
Relative constant callword to ttv"
of temp 2
[AT Q QJ ~ temp 2
Current relative address to "u" of
temp 2
[AT Q QJ -+ temp 2
Relative constant callword to
temp 2
flU"
[AT Q QJ -. temp 2
Relative constant callword to "u"
of temp 2
1443
of
@
0
@
0
@
@
@
@
@
@
@
0
§
40
41
42
43
44
45
46
47
50
51
52
53
54
55
56
57
60
61
62
63
64
65
66
67
70
71
72
73
74
75
76
7'7
IA
TP
MJ
TP
m
MJ
TP
GS40
II33
0
117
TT6
TP
MJ
0
II7
0
II32
TI6
A
0
1132
TI5
0
117
0
II45
0
III
0
TP
III
MJ
TU
0
III
0
III
0
115
TI5
A
0
II10
'IT 5
CA
GS100
MJ
TP
SP
1U
MJ
TP
SP
MJ
TP
MJ
TP
MJ
TP
MJ
TP
MJ
TP
SP
1U
MJ
TP
[AT Q Q]
IT2
GS10
TT2
TT
GV34
TT2
GS11
TT2
17
TT
GV34
TT2
17
GSl12
TT2
GS50
TI2
GS11
TT2
GS50
TT2
GSII
TT2
GV32
TI2
GS43
TT2
17
TT2
G525
TT2
TI2
-+
temp 2
[SP A 17J ~ temp 2
Ca11word from "un of temp 6 to "u"
of temp 0
[SP A 17J ~ temp 2
[SA 30000 OJ -+ temp 2
Ca11word from "v" of temp 6 to "u" of A
"u" of A to "u" of temp 2
[SA 30000 OJ --+ temp 2
Ca11word from ttv" of temp 5 to "u" of A
[Sp A III ~ temp 2
[TN Q QJ -+ temp 2
[TP
30000 AJ
-+
temp 2
UP
30000 AJ
-+
temp 2
A]~
temp 2
[TP 30000
[TP 30000 AJ
-+
temp 2
[TV A 30000J --+ temp 2
Ca11word from "v" of temp 5 to "u" of A
"u" of A to "u" of temp 2
[SA 30000 17J -+ temp 2
Ca11word from "u" of temp 5 to "u"
of temp 2
1444
IA
§
@
@
@
100
101
102
MJ
TP
MJ
G5100
G511
0
115
TT2
G57
0
103
TP
1"'''' A
~~q
TT2
rrnrT
104
TV
RA3
TT2
Current relative address to "v" of
temp 2
105
106
107
MJ
TP
0
114
TT6
G5111
TT2
TT2
0
TT6
A
0
II32
0
G5116
G510
17
TT2
G511
TT2
G577
110
111
112
113
114
115
TO
MJ
5P
TU
MJ
TP
MJ
CA
[1v A 3Ooo0J
L~U
A
J\
-+
temp 2
30000J ~ temp 2
[TU A 30000J -+ temp 2
Ca11word from "u" of temp 6 to "uti of
temp 2
Ca11word from ttv" of temp 6 to "un of A
"un of A to "u" of temp 2
[?A 30000 OJ
1445
~
temp 2
o
1
2
IA
GT
TP
MJ
TP
115
o
TT3
TT2
GS24
TT2
Generator Subroutines (cont.)
[TV A 30000J -+ temp ::!
[f -
30000
30000J from temp 3
temp 2
To S29
---+
RJ
3
4
5
MJ
TV
o
TIS
GT5
GS11
TTl
6
TP
TTl
A
7
TJ
GC34
GT11
10
MJ
RJ
o
GT12
No
11
TR
TR2
12
TV
A
TT2
13
14
15
16
17
MJ
o
TP
TT3
Yes; pertinent temporary storage
ca11word to "v" of A
Operand or temp ca11word to "v" of
temp 2
Exit
[f- 30000 30000J from temp 3 ~ temp 2
r~
GT13
[30000J
MJ
o
TT2
GS11
TP
TT3
GT27
GT21
TU
TIS
GSl~
TP
RJ
MJ
o
TT2
~25
I 23
~~
TJ
TT
GC35
24
25
MJ
RJ
o
TR
GT26
TR1
26
1U
A
IT2
27
MJ
o
30
TP
1U
TT3
31
TT4
[30000J
TT2
TT2
32
MJ
o
33
TP
TT3
34
RJ
GT13
35
36
MJ
o
TP
IT3
GT5
GT31
TT2
37
TV
1T4
TT2
CA
GT40
GS11
IT2
Ca11word from "v" of temp 5 to "v"
of temp 1
Ca11word from "v" of temp 1 to "v"
of A
Is ca11word partial result symbol?
( i . e. ,30---)
If_ 30000
30000J from temp 3..... temp 2
Ca11word from "uti of temp 5 to "u" of
temp 0
Ca11word from "u" of temp 0 to "u" of A
Is cal1word partial result symbol?
(i.e. ,30---)
No
Yes, pertinent temporary storage ca11word to "un of A
Operand or temp ca11word to "un of
temp 2
Exit
[F- 30000 30000J from temp 3 -+ temp 2
"un of register indicator to "u" of
temp 2
[f- 30000 30000J from temp 3
--+
temp 2
[f- 30000 30000J from temp 3
---+ temp 2
"v" of register indicator to "v" of
temp 2
1446
@
GT40
0
IT5
GT17
41
IA
MJ
TIJ
~
42
TV
TT5
TT3
43
RJ
51
5111
44
45
TP
MJ
II
0
TT2
G5ll
-..'"
At..
Tn
TT~
TT'l
47
50
MJ
@
51
52
MJ
@
53
54
MJ
@
55
56
57
60
RJ
RJ
MJ
S39A
tG?l
"-..:;J
8
@
8
@
40
.J..J.oJ
TI3
.J..J.v
Callword from !!u" of temp 5 to !tu n of
temo 3
Caliword from "v" of temp 5 to ttv" of
temp 3
Inst. in temp 3 to relative constant
image
[90 30000 30oo0J -+ temp 2
rVa.L.Lnu
... l l ....... _A
... y
~_,._
.L..LU111
tt .. "
Lt
,..~
V.L
... "'_~
&''VWP
c::. ... _
oJ
&,v
".. "
IA
of temp 3
TV
TU
0
TT4
GT43
TT3
0
TT4
GT46
TI'3
0
TT3
GT42
1T2
ttv" of register indicator to "v" of
temp 3
"u" of register indicator to "un of
temp 3
TP
[F
30000 30000J from temp 3
temp 2
To 529
To 533
~
1U
GT13
GT27
0
TT5
GT5
GT2l
G5ll
1T3
61
62
RJ
GT13
TV
A
GT5
1T3
63
64
MJ
0
TT5
GT43
1T3
65
66
RJ
GT27
1U
A
GT2l
IT3
MJ
0
TT3
GT43
TT2
67
70
TV
TP
Callword from "u" of temp 5 to "u tl
of temp 3
To 529
Callword of variable, constant or
temp to "v" of temp 3
Callword from tt v" of temp 5 to "v"
of temp 3
To 533
Call word of variable, constant or
temp to t'u" of temp 3
W-
30000 30oo0J from temp 3
temp 2
"v" of register indicator to "v" of
temp 2
---+
71
TV
TT4
TT2
72
73
74
MJ
0
II6
RA3
GSII
TT2
IT2
0
GT76
GV4
75
TP
TIT
MJ
CA
[ilA 30000 30oo0J -+ temp 2
Current relative address to "u" of
temp 2
1447
o
IA
RA
GU
RA3
GC3
1
2
TP
1U
II36
TT6
TT2
TT2
3
MJ
o
4
5
TP
TV
1135
RA6
GSII
TT2
TT2
6
RS
RA6
GC3
7
MJ
o
10
11
TP
TO
1122
RA6
GSII
TT2
TT2
12
TV
RA6
TT2
13
14
15
MJ
o
GSII
TP
TU
III
TT5
TT3
TT3
16
RJ
GK34
GK30
17
20
21
MJ
o
GT43
TP
RJ
III
GK34
TT3
TP
MJ
TP
TI3
ro
1110
RA4
TT2
GSII
TT2
TT2
22
23
24
25
o
GK30
26
27
MJ
o
GSll
TO
TT5
TT
30
31
SP
LT
TT
o
TT3
32
RJ
SI
SIll
MJ
o
TP
RJ
SP
LT
CA
1122
GT27
[30000J
TT2
GT21
25
33
34
35
36
37
TI2
o
Generator Subroutine (Int. Power)
Advance current reI. address by 1 in
"u" and "v"
[fD 30000 Q] -+ temp 2
Callword from "u" of temp 6 to "u" of
temp 2
[FM Q 30oo0J -+ temp 2
Current reusable temp callword to "v"
of temp 2
Decrease current reusable temp callword
by one
[FM 30000 30000J -+ temp 2
Current
of temp
Current
of temp
reusable temp callword to "un
2
reusable temp callword to "v"
2
[TP 30000 A] ~ temp 3
Callword from "u" of temp 5 to "uti of
temp 3
Callword of available reusable temp to
"v" of temp 3
[TP 30000
'Cal1word of
"v" of temp
Instruction
~ temp 3
available reusable temp to
3
from temp 3 to temp 2
A]
[liA 30000 17J -+ temp 2
Relative constant callword to "u" of
temp 2
Callword from "u" of temp 5 to "uti of
temp 0
25
Call word from "u" of temp 0 to ttv" of
temp 3
Inst. in temp 3 to relative constant
image
Exit
IT M 30000 30000J -+ temp 2
To S33
A
GU40
1448
@
40
IA
TV
GU40
A
IT2
41
42
43
MJ
0
GSll
TP
TP
1I27
GC12
IT2
Q
44
45
46
QT
S5
TO
TT6
GC13
A
A
17
IT2
Callword from "u" of temp 2 to "v" of
temp 2
IIJp
30000 3OO00J -+ temp 2
Mask for rightmost "two" octal digits
of "v" --+ Q
Exponent from temp 6 to "v" of A
Exponent less two to "uti of A
jn to "u" of repeat instruction in
L
___
~t::Inp
@
@
47
TV
RA3
TT2
50
RA
1T2
Gell
51
52
53
54
55
MJ
0
1I22
0
GC47
1132
GSII
TT2
GSII
Q
TT2
0
GU57
GSll
56
TP
MJ
TP
QS
MJ
CA
'"'
~
Current relative address to "v" of RP
inst. in temp 2
Advance 'I V" of RP inst. in temp 2 by
one
(fM 30000 30000J
TO~
-+
temp 2
Mas for OPe code and 'IV" to Q
[32 _ OOOOOJ to op. code and "v" of
temp 2
1449
o
@
@
IA
GV
I125 TT2
GV2
GC6
[30000J TT6
1
2
TP
RS
TP
3
TO
TT6
TT2
4
TV
TT6
TTl
GT13
5
RJ
6
MJ
7
TP
10
MJ
o
11
TP
12
13
RS
TO
II32
GV2
A
14
TP
15
16
SP
TO
TT6
A
TT
17
20
21
22
23
RJ
TP
GT27
TT2
GT22
TT3
24
25
RA
m
TO
TT5
m
26
27
30
31
32
33
MJ
o
TP
1126
34
35
36
37
RJ
MJ
TP
TV
GT6
o
G511
II24
TT2
TT2
GC6
GV14
o
1115
RA3
17
GC11
TT5
TO
A
TT
TP
CA
o
117
o
temp 2
[TJ 30000 30000J ~ temp 2
Current relative address to "v" of
temp 2
Advance "v" of temp 2
Ca11word from "un of temp 5 to "u" of
temp 2
TT2
TT2
SP
GT27
-+
Ca11word of subscript from ttv tt of temp
6 to "un of temp 0
To S34
Generated Instruction to temp 3
@ooooJ
o
III
30000J
[SA 30000
OJ -+ temp 2
Decrease by one in "un
Preset address of next subscript word in
Expanded List
Next subscript word from Expanded List
to temp 6
[30000J TT6
MJ
TP
MJ
~P 30000
GV1
GS11
TT2
GV25
TT2
17
MJ
Generator Subroutines (Subscript Operator)
[MA 30000 30000J ~ temp 2
Decrease "un of next instruction by one
Next subscript word from Expanded List
to temp 6
Ca11word of multiplier from "v" of temp
6 to ttv" of temp 2
Ca11word of subscript from "v" of temp
6 to "v" of temp 1
To S30
[PV 30000
QJ
--+
temp 2
[Tp 30000 A] -+ temp 2
Ca11word from "v tt of temp 5 to "u" of A
Callword from "un of A to "u" of
temp 0
To S34
GT22
GS11
TT2
GV32
[SP A 17J
GV40
1450
-+
temp 2
IA
MJ
o
TP
TT2
[30oo0J
[30oo0J
RA
511
Gell
TJ
GC25
51
4
TV
GC24
511
5
RP
30170
SI7
6
TP
RB
[30oo0J
7
RA
516
GC26
51
Ge3
o
- ~l2
00:::
+.J
...,
C
01""4
o l""4
Cl)
MJ
o
RA
RA4
TP
TI3
RA
5112
Gell
TJ
LG
51
15
16
RJ
WA
WAI
TP
TO
UP3
17
20
RJ
UP2
UP
BQ6
~
~
C
51
co
S
Cl) 01""41-1
J
....
0:::
Cl)+.J+.J
~
o
+.J
CJ)
en en
C C
0
[30000JJ
0
uu
MJ
o
CA
5121
5tore inst. in Routine ]mage or Relative
Constant ]mage
Exit
1nst.in temp 2 to current address in
Routine Buffer
Advance current address in routine
buffer by one
Are there 1708 words in routine buffer?
Exit if no.
Yes; reset current address in routine
buffer to initial address
Transfer 1708 generated Inst. from
routine buffer to current address in
routine image on drum
Advance current address in routine image
by 1708
To Exit
Advance current relative constant
callword by one
Relative constant (or "10" line) in
temp 3 to relative constant image
Advance current address in relative
constant image by one
Are there more than 778 relative
constants? Exit if no.
Yes t type SENTENCE_ (equation)
Parameter for alarm text to type
routine
Type: SENTENCE TOO LONG.
Rewind tapes and stop
1451
IA
@
Y2
0
1
2
MJ
3
4
5
6
7
10
EJ
11
12
MJ
LT
RP
m
0
[30000J
A
25
[30000] TR12
RL
Q
Q
RA2
Q
RA5
TR4
17
Q
A
0
0
0
RA6
TR
RS
13
SA
GC3
0
14
MJ
0
m15
TR
SP
AT
TP
S5
SA
CA
GC3
Obtain Redundancy or Reusable Temp
Callword for Partial Result
Exit
Partial result symbol to "v" of A
Is partial result symbol in Redundant
Partial Result List?
Yes; to TR4. No; to TR12
jn - r~"u" of A
j n - r-t"u" & "v" of Q
jn ~ "un & "v" of A
+r --. "u" & "v" of A
Callword of redundancy temp for partial
result to "un and MV" of A
To exit
Decrease current reusable temp callword
by one
Callword of reusable temp for partial
resul t to "u" and '·v" of A
To exit
1452
Generator Constants (Fixed)
IA
0
0
GC
4
3
4
3
2
0
2
3
4
5
6
7
10
0
0
0
0
0
77
1
5
6
2
1
5
6
1
0
0
11
0
0
0
7
0
12
13
14
15
16
0
0
02
0
0
0
0
0
26000
RI
77
2
17
20
21
22
23
24
25
26
27
0
0
0
0
0
TP
0
TP
0
0
0
0
00777
TT2
TT2
0
RB
0
RB7
GK
ZZ24
00777
RB
RB170
170
RI
30
TP
TT3
CI
31
32
33
34
35
0
10
0
0
0
0
0
CA
0
0
0
0
31000
2
3
GC40
30000
3
EG
31000
0
0
0
1
36
37
TP
1
0
0
FL
Parameter to write generated
routine from drum to tape
To set switCh~
Initial address in routine buffer in "v"
Initial address in routine image on
drum in "v"
Initial address in relative constant
image in ltv"
To set switch~an~
0
1453
IA
40
41
42
43
0
0
TP
0
44
45
46
47
50
51
52
53
10
0
0
77
0
0
0
0
CA
GC40
0
0
TI2
RB
1000
20000
23000
0
10000
57777
67777
776
GC54
6
GK3
RB17l
FL
1000 I
20000
0
77777
10000
57777
67777
776
To switCh®
Parameter to write generated routine
from core to tape
Initial relative constant callword
Initial redundancy temp callword less 1
Initial reusable temp callword less 1
1454
0
IA
00
3
4
5
6
7
10
12
13
15
16
21
31
32
11
34
30000
12
13
14
35
36
37
30000 A
30000 A
50051 50051
15
16
17
20
21
22
23
24
25
26
27
42
45
64
65
66
67
71
72
73
75
11
30000
0
0
30000
30000
30000
30000
A
30000
30000
30000
30000
31
32
33
34
35
36
37
13
32
35
66
66
67
73
CA
A
30000
Q
A
Q
30000
30000
I 140
IA
40
41
42
43
44
45
46
47
50
64
11
11
10
12
13
11
45
45
1140
Q
Q
r-I ~
30
11
56
CA
II
30000
30000
30000
30000
A
A
30000
A
30000
Dummy Instructions
30000
A
Q
Q
30000
30000
30000
17
17
30000
30000
0
30000
30000
30000
30000
30000
30000
30000
Q
30000
S0051
Ca11word of "Square Root" Library
Routine (SQRT) in "v"
A
0
Q
A
30000
Q
A
30000
A
2
30000
0
A
A
A
Ca11word of "Square Root" Library
Routine (SQRT) in flU'1 and 'tv"
Q
Q
30000 30000
01000
0
30000
0
1151
1455
0
1
2
3
IA
40
65
26
01
TO
CA
T01
3
30506 63050
30016 65151
46515 03222
T04
IA
LG
0
TP
TI3
CIIOO
1
0
1002
1002
CA
LG2
Alarm Text
Parameter for alarm text
S E N T E N
C E l!l T 0 0
l!l L 0 N G
Limiting Values
Maximum address in relative constant
image + 1
~MaXimUm number of lines in object
program body (including jump to exit)
+1
Explanation of Relative (Running) Address List
RAO
1
2
3
4
5
6
7
10
jn for "Q" List search in "u"
j n for "A" List search in "u"
jn for Redundant Partial Result List
Current relative object program address
in "u" and "v"
Current relative constant callword in
"u" and "v"
Initial redundancy temp callword less 1
in "u" and "v"
Current reusable temporary storage
callword in "u" and "v"
Highest reusable temporary storage
calI wor din "u" and "v"
Initial address in Expanded List + 2
in "u"
1456
Explanation of Working Temporaries (TT)
TTO
o
1
o
o
2
o
o
0
3
o
o
0
4
o
o
o
[30000J 0
[30000J
5
o
o
o
6
o
o
o
7
10
o
o
o
o
o
o
Temp 0 - OPe code and "v" always
zero
Temp 1 - OPe code and "un always
zero
Temp 2 - usually generated instruction
to be stored
Temp 3 - usually relative constant to
be stored
Tpmn
L1 _ ~Al1;~tp.,.
;nif;l'.~tn.,.
-""" .......1:'...
"'-:.:1--"'-" ...... _-.,..... ........ ""' ..
Temp
List
Temp
List
Temp
Temp
1457
5 - operator word from Expanded
6 - indicator word from Expanded
7 - index counter
10 - "lOtt line counter
V. ALLOCATION PHASE
IT
V •
ALLOCATION PHASE
1.
Segmentor
a.
This Setup Routine for Segmentation prints out the information that the
Allocation Phase (including the Segmentor, the Allocator, and the Initialization Generator) is about to begin.
The routine reads the nine blocks of Segmentation from the UNICODE Master
Tape and then jumps into the phase.
1461
J----~
Parameter to Uniprint
Routine to type
Pass III. Allocation
of storage.
Send codeword to tape
handler to read
Segmentation Phase
to H.S.S.
Flow Chart for Set-Up Segmentation
Segmentation Set-Up Regions
RE
RE
RE
ZS7230
ZZ7230
SA674
RE
SLI100
RE
RE
TH21
UP421
Loading address for segmentation setup
Operating address of segmentation setup
Loading and operating address of
segmentation phase
11 = number of blocks for segmentation
phase
Set-Up for Segmentor
ZZO
1
2
3
4
5
6
7
10
11
12
13
14
15
IA
TP
ZS
Zl6
RJ
TP
RJ
MJ
50
0
01
52
34
01
24
51
54
CA
UP2
ZZ5
TH2
0
SLI
Zl7
01010
24656
34220
24464
66345
31016
24323
ZS16
UP3
UP
TH3
TH
SA
SA
}
Print: Pass III.
STORAGE.
}
Read Segmentation Phase to H.S.S.
ALLOCATION OF
Enter Segmentation Phase.
Tape handler code word (Read).
Code word for UP
7
~~~~I:l~
10101
50134
10101
65126
15001
56651
02201
P A
I I
6 A
A T
0 F
R A
1463
S S
.
~
I
~ ~ ~
L L 0 C
I 0 N ~
~ S T 0
G E .8
b.
Segmentation
Phase .L..
Phase I prepares two directories using Op File I of the generated
routines on Uniservo 5 and Op File I of the library routines on Uniservo 2.
First, all items of Op File I on the generated routine tape are read into
H.S.S. and then transferred to the MD.
an entry for each item placed on the MD.
Directory I is constructed by making
The first word of this entry con-
tains the call word for this item in the A position; the second contains the
locating MD address for this item in the
~
position.
When Op File I of the generated routine tape has been completely read
into U.S.S., List I (a listing of all library routines required for the problem prepared during translation) is read into U.S.S.
lowing Op File I of the generated routine tape.)
(List I is stored fol-
Next Op File I of the library
tape is read from tape and checked for the occurrence of the items of List 1.
When an item of List I is found in the library Op File It the Op File for this
item is placed on the MD and an entry is made in Directory 1.
Directory 2 consists of only two words.
The first word holds the MD
address of the first statement Op File; the second contains information relating to the MD address of the last statement Op File.
tory is prepared concurrently with Directory 1.
1464
This two word direc-
Phase II.
Phase II uses Directories 1 and 2 to divide the problem into efficient
running segments producing Op File IIa and IIb on tape for each segment.
USing the first word of Directory 2 (location of Op File I for the first
statement) as the initial point, Op File I for each statement is processed in
sequence.
A sub-tally of the total nwnber of lines of coding required for
each current statement and its necessary cross references is maintained.
This in turn updates a master tally for the segment which contains the
accum~
ulated total number of lines needed for all statements and their required
cross reference routines.
After processing each eompleie statement, the
master tally is checked to determine if it is within the prescribed limits
(4096m-N; where N is the length of the Control Section and m the number of
core banks available).
If it has exceeded the set limits, the sub-tally is
subtracted from the master tally and this becomes the length of the segment.
If a single statement and its necessary cross references exceeds (4096m-N)
the routine gives an alarm.
The last statement processed which exceeds the
set limit becomes the first entry in the following segment.
Vary loops are treated differently in order to avoid unnecessary
jumping between segments.
All statements within the range of a Vary are
counted together in the sub-tally as one large statement, including other
Vary statements that might be nested within the first loop.
If the master
tally then exceeds (4096m-N), the routines check whether the sub-tally exceeds
(4096m-N).
If not, the routine ends a segment right before the Vary statement,
starting the next segment with a Vary loop.
If the Vary loop in itself ex-
ceeds (4096m-N), the segmentation goes backward within the sentences of the
Vary loop until the limit (4096m-N) is reached again.
1465
If there is no Vary
within the Vary, it forms a segment right there.
s~ntences
If there are other Vary
nested within the large Vary loop, it goes further back beyond the
next Vary statement and forms the segment so that the new segment would start
with a Vary Statement.
Processing continues entering each item in turn into Op File IIa using
the length (4096m-N) as a limit for each segment.
Whenever cross references
to other statements (open jumps) are recognized, these call words are entered
into Op File lIb.
Thus, Op File lIb is a listing of jump cross
words for each segment.
refetenc~
call
When sufficient statements for one segment have been
processed and their call words entered into Op File IIa and lIb (as needed).
these files are written on tape ready for use by the allocator.
The process
is repeated, building Op File IIa and lIb for each segment using the second
word of Directory 2 to indicate when the last statement in Op File I has been
processed.
1466
Segmentation, Phase I
HGO-2;HHO-23
Do clearings and
presettings
HBO-l
Read 1
block tape
5 into
buffer
HB2-3
Is label
tape"?
HB5
Read 1
block tape
5 into
YES buffer
HB6-7
Is label
"Op File I"?
NO
HB4
Go to
alarm 12
UBII
Read 1 bloc
tape 5 into
w ; . . . - - - - & buff er
NO
HBIO
~to
~arm
12
HB12
HB14
HB12-13
Is label "end of
entry"? Resp. later
"Library Subroutine"?
IE-----I
First
Libr List 1
YES
YES
8815-1
Fill constants 5-17
H8~O
NO
Set TN to
000
Set TN to
030
MI2
MLO-l
any libr.
the problem?
YES
NO
VC23
Only fixed
library?
Phase II (DA-DAIO in RJ)
Adv. tape lone block
and jump to exit
YES
Change exit in
DC17 to TT
TT
Jump to HG2
exit phase I
MID
Change exit in
DAll to MB2
~
_________ _______________________
~
Segmentation, Phase I
1468
~
A
MMI
MM5
Read 1
block tape
5, into
buffer
MM2-3
I s label
Itt?
NO
MM4
Go to alarm
10
Read 1
block tape
5 into
buffer
MM6-7
Is label
entry"?
MMIO-12
Write 1 block ]
of LIST 1 to
drum
YES
I
MM13
s region set
aside for List I
exceeded?
8
YES
MM14
o to ~ larm tttO]
many lIbrary
rout."
@
Segmentation. Phase I
NO
DAO-l
Read 1
block tape
1 into
buffer
DA2-l0
Do prelim. settings for fixed
libr.
DAll
Jump to DC
(normally) jump
to MB2 (only
var. libr.)
DCO-2
~
NO
NO
DC3-7
DC14-l5
DC16
done
CW's
in List I?
Reset fixed libr
Ope File 1 back
to 1st CW and
adv. List 1 CW
YES
Normally
Segmentation. Phase I
DClO-12
Set for next
CW in Op File 1
fixed libr.
YES
____________
~~
B
OG2·-5
vtlU-ll
00 pre settings
and bring one
B t---~Op Fi Ie 1 item
fixed libr.
to drum
OH12-14
Are there
cross ref.?
YES
DGO-l
Do presetting
for handling
cross ref.
Adv,. addr. of
cross ref. by 1
~----~and go to handle
cross ref. in RJ
NO
r-----------------------------------~
OBlO
r-------I
Go back to
RJ addr.
DB6
NO
OB2-5
Have we exceeded region?
YES
OB7
Go to alarm
"too many libr.
rout."
Place CW in
List 1 and
adv.
ms
OBO-l
Is libr. CW
alr'eady in
List l?
J
)..-
MB2,4
MBIO-12
MBO-l
C
J---~
Constants
used by InI
Read I
block tape
2 into
buffer
MB3
Set BBl3 to ED
YES
Set HBl3 to TT
t----~ Set EB7 to
FF
M8S-6
Set BBl2 to
MBll
NO
MB7
Go to
alarm 7
Segmentation, Phase I
MB13-15
Change label
check in HBl2 for
libr. and clear
some temps
DG6
fn\.
..../]:;e all cross
~f. handled?
YES
DG7
Go to handle
next CW
DFO
Go to hdle
I--...-----t ca se for Dir. I
EBO-6
Place CW and drU
addr. in Dir 1 and
adv.
f
NO
DFI
Reset and go
EB7
back to handle
Go back to R'J
r-----f next Li st I wordfE---f address
NO
EB7
s: region set
aside for Dir I
exceeded?
YES
EBIO
~I to alarm
~oblem too
Segmentation, Phase I
lon~
EC
NO between START and
STOP
880-2
Is Op File 1
longer or equal
1 block?
YES
La st statement CW
to Dir II and
change EE4 back
to EB
NO
883-11
Do settings for
this Op. File 1
en
en
S
en
to
::s
c-+
al
f--I
.t::..
-.J
.t::..
c-+
......
EEO-4
8812-13
NO before START
and after STOP
Is there
op file 1 following?
0
..::s
"'C
::s'
al
NO
Progr
Tape
en
en
H
YES
Libr.
Tape
0
Second and
later yes
First
YES
EAO- 4
First statement
CW to Dir II and
change v of
EE4 ~ EC
v of EE5
EB
-=-
EDO-4
NO
EBO-6
Place CW and
drum address
in Dir I and
adv.
FF21
FFG-20
FFO-4
EB7
YES
Is region set
aside for Dir
exceeded?
EBIO
Bring I whole
block Op File I
item to drum
and adv.
Read I
block
tape 2
into
buffer
YES
Go to alarm
"probe too big"
FBl6
FB6-15
FBO-4
Is Op File 1
item '2:. I block?
YES
Bring 1 whole
block Op File I
item to drum
and adv.
Read I
block
tape 5
into
buffer
NO
FCO-IO
H
Bring one or part
Op File I item ~-------------
to drum
FCII
Adv. settings
F
~
.t:.
-.l
0-
000-2
BCO-l
Prepare to bring
one whole block
op file 1 to
drum
Set RP command
for bringing Op
File 1 to drum
BC2-3
t----,r--~
Advance drum
addr. and gO to
reg. exceed
check
en
C»
cQ
S
('1)
::s
BC4-5
c-+
i»
c-+
.....
.::s
0
'"C
:::r'
m
en
JE-------t
Bring Op file 1
to dr urn
B04
Go back to
address
.tlJ
NO
~--~
BOO-3
Is region set
aside for Op
1 exceeded?
YES
C»
H
Go to alarm
"Problem too big"
BB
Do
presettings
BB35
Bring next station CW
to drum image DI
DI ~ TEIO CW
011 ~ TE 1 # of 1in e s ( t )
DIl~TE4
# of lines(t2)
BB23
Settings for
next segment
DD
Handle 26 - - _
cross references
YES
BB56
Is statement CW
a VARY 26 ___ ?
----------------~
Set switch EE
to MJ0EF for
VARY case
NO
BB61
Set ind. for # of cross
ref., set addr. of first
cross ref ~TEll
BB64
Are all cross
refer. handled?
H
H
BB66
YES
Adv.
f3
NO
CCtCD
Only done with
first VARY
26 ___ in 1\est
Save CW of last
statement in VARY
in TE31 and Op
File II a first
in TE23
Save CW given at addr.
in TEll ~TE20. Cases
26, 27~ Op File lIb.
Case 4 ~ special.
ase 77 and others ~Op
File II~ Adv. TEll
to next.
1
(addr. in TE6)
BB70
Handle CW ]
at addr. f3
EF
t4 + t
Only
in
Vary
t5 + 52
EF5
Are we at end of
VARY loop?
~t4
~
t5
NO
Clear t4
I---~
and t5
r.n
(t)
to
S
(t)
::s
c-+
g,)
c-+
~.
0
..::s
all
other
cases
~
::s"
g,)
en
en
H
H
EEl
form
T + t~T
EE35
EE2
in TE40 clears
indicator for VARY in
VARY (TE30)
EE17
Restore settings for
VARY
EE21
Save a~TE13
y--;.TE14
TE12 ~FAI
T2 + t2~T2
NO
EE4
Undo from
before
T - t-+T
EE25
Prepare next statement
CW to be brought to TI-
EE31
Have all st~te
ment CW's been
done?
YES
T > M
YES
YES
NO
Ul
CD
c.Q
finish up segment
by setting word ~
addr. given in
TE13 into first
word of Op File
II b
(;H25
NO (Was this the
~ last segment?
o
:3
CD
::s
c-+
~
c-+
~.
0
..::s
~
'"C
A
::r'
-...0
CIl
-.J
FF'+GG+GH
Form segment
Op File II a
Op File II b
{ Segment table
El
Set BB42 and
restore VARY
settings
EEIO
Case t < M
T < M but next
EE6
EES
YES
EJ
Set counters back
to segm. start and
clear TE22
EE14
Are we in
VARY loop?
YES
EK+EJS+EG7
Set a back to
val. in TE13
EHI
~
CD
H
H
NO
Clear tl
EHIO
EE16
and t3
YES t +
Go to alarm
~--~ Go
sinc
t still too
big
EH
Replace add
J--~ t +1 ~ t3
3
EGS
to alarm
I
tl~t
J-~r(::store
EV
Hand Ie 26 ___ + 27__ _
t3 = 0 cases for
reduced a that wi I
go via EQ to exit
EH26
Reduce
a by 2
ES
Handle 27 ___ case
(TE3) going
backward
EM3+EL+LL
Handle 77___ case
TE12, TE22
going backward
EGl5
NO
EHl2
EH15
T-(a+I)~T
~---I~~we
finally have
made T too big
EH22
Is at a a
27 ___ CW?
YES
Handle 77,TE12,
TE22 t TE3, 26,27
going forward
Repl. subtr.
t3-l~ t3
YES
EQI
Possible RJ exit
for EY (after Op
File II b exceeded)
Adv. a by 2 for
next statem.CW
Is next CW
again 26 __ _
VARY?
--------~
NO
Handle Op File II
from set-back on
EH3
Prepare finishing up
segment by setting word
at addr. given in TE5
into first word of Op
File II b
EI2 with RJ to ET
Do settings for FF, set
by BB42 and restore
I---~
VARY settings
Segmentation, Phase II
1480
Segmentation Regions Phase I
RE ZA77000
RE 8Q632
RE 00537
RE
RE
RE
RE
RE
ST653
GKlOOO
TN20
UP421
TH2l
nt:'
ITIT'>~~
1U:o
.L.Lv,.'!A
RE D13464
RE 5D4l56
RE F040l0l
RE FA4260
RE FP7660
RE OP45215
RE LI4160
HE VV2764
RE TE1300
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
Segment Table
Tape Handler
Tape Image
Drum Image
Directory II
Directory I
Op File IIa
Op File lIb
Op File I
List I
Temporaries Phase I
Temporaries Phase II
PP1373
HG674
lllI677
HB723
ML747
88756
BC772
DDlOOO
801003
DAl012
081024
OCI035
DFl055
RE DGlO6O
RE
HE
RE
RE
RE
RE
RE
RE
RE
HE
RE
RE
RE
DHl070
EEIl05
EAll13
E81120
Eel131
EDl135
FFl145
FBl170
FC1210
MM1223
IT1241
MB1242
CC1260
~~ W~13~47
RE FT1352
REHTl360
RE VC2472
RE 8E76777
RE EF45213
RE DE5161
RE LF3274
1481
Entrance Phase I
IA HG
0
MJOHH
1
MJ
0 BQ6
Alarm exit
2
MJ
0 PP
Jump to Phase II
Jump to start
CA HG3
IAHH
Come from HG
o
RP 15014 HH2
1
TP CC23 VV
2
RP 17777 HH4
3
TP CC23 40101
4
RA HH3 MB1
5
IJ MB
6
RP 11702 HH10
7
1'P CC23 70076
}
Clear core from 2764-7777
Clear drum from 40101-76277
HH2
10
TP CC25 VV
Set K = Op
11
TP CC25 VV1
Set b
12
TV CC31 EB
13
TV CC32 EB1
14
TV CC33 MM11
15
TV
16
TV CC37 BB13
17
TV CC40 EE5
20
TV CC41 EE4
21
TV CC42 EB7
}
= Op
Set addresses of first directory
Set address of List 1
CC36 HB23
1482
22
TV CC5l BB12
23
MJ 0 HE
Enable boxes 3 and 4
CA HH24
IAHB
0
CD
G)
0
Come from HH23
}
0
TP CC TH3
1
RJ TH2 TH
2
TP TI24 A
3
EJ CCll HB5
4
MJ
5
RJ TH2 TH
6
TP TIl A
7
EJ CC4 HBll
Identification of
10
MJ 0 BRl2
Alarm
11
RJ TH2 TH
Read next block
12
TP TIl A
13
EJ CC6 HB15
14
MJ
Identification of (END A OF ) II ENlRY
resp. after change iden~ of SUBRTN
v changed by MBll to TT, u changed
by MB13
Not finished yet, go t~
15
RP 30013 HB17 }
16
TP TI2 5
17
MJ
20
TP CC23 TN
21
MJ 0 HB23
22
TP CC57 TN
23
MJ 0 30000
Read 1 block Uniservo 5
Identification of ~ FILE
0 BR12
(~ TAPE~)
Alarm
Come from HB3 or MB14, read next
block
0 BB
(~~~OPll) FILEllI
Fill constants 5-17 inclusive
10000 HB22
Do setting for 5 or 7 tapes depending MJl test
TN=OOO (5 tapes)
TN=030 (7 tapes)
Set by HIIl5 to~ after all Op Files
1 read in-+ A witch
CA HB24
1483
Come from HB14
TA BB
CD
0
0
TP CC24 A
1
TJ W2 DD
2
EJ W2 DD
equal?
3
TP W2 VV3
Smaller?
4
SP VV3 17
5
TP A VV5
6
AI' CC47 VV4
TIO + j~VV4 in u
7
1U VV4 BBlO
Set NI
10
TP 30000 A
Place first nCW + # of addresses" of
next Op File item ....... VV6
11
TP A VV6
Is there another Op File I following?
12
EJ CC12 30000
13
MJ 0 30000
Set by HH22 to BCO, later by MB3 to
HBll.
No.
Set by HH16 to EEO later by MBlO to
EOO. Yes.
Is 0 p File I longer than 1 block?
Store j (length of Op File 1 item
within block) in v of W3 and u
of VV5
CA BB14
1484
Come from 8812
IABC
(0
Q
1
0
TP CC15
i
QS vv5 BC4
2
TV VVl BC5
3
RJ BD4 BD
4
RP 30000 lIBll
l
5
TP TI30000
J
Mask 0 07777 0
l
f
Set RP command for bringing Op File
to drum.
Advance and check whether it exceeds
region.
Set by BCI or DDI
Set by BC2
CA BC6
IA BD
Come from BC3
o
RA VVI VV3
Advance
1
QT BC4 Q
CC15 mask is already in Q
2
SP BC5 17
Does Op File I exceed region?
3
SA Q 71
4
TJ CC55 30000
5
TO FT WM
6
MJ 0 WM
Set by RJ in BC3 to BC4
}
Go to alarm (region exceeded)
CA 007
1485
Come from MM7. fixed 1ibr. prelim.
settings
IA DA
}
o
TP CC61 TH3
1
RJ
2
TP CC15 Q
3
QS 5 OB
4
QT 5 A
5
LA A 71
6
TP A VV14
7
RA DB2 VV14
Set addr. for next i tem ~ List 1
10
RS VV14 CC62
Set index for
List 1
11
MJ 0 DC
TH2 TH
Read 1 block of Tape 1 into buffer
}
Set RP for comparison with List 1
Set right addr. for first addition
to List 1 and index List 1
#
of addresses in
CA DA12
Come from DG5 with RJ. Fixed libr.
IA DB
}
Set by OA3 Already in List I?
0
RP 20000 OB2
1
EJ Ll1 OB10
2
TP A LI
Set by OA7 No •. place CW in List 1.
3
RA DB CC53
Adv. u in RP command.
4
RA VV14 CC62
Adv. index for List 1 elements.
5
RA OB2 CC62
Adv. addr. in List 1 for next CW.
6
TJ CC60 OB10
7
MJ 0 MM14
10
MJ 0 30000
Yes, do nothing.
}
Have we exceeded region?
Alarm (too many 1ibr. rout. referenced)
CA OBll
1486
!AOC
Come from DAII.
o
TN CC14 Q
Mask 77 777770 to Q.
1
QT TI A
2
EJ LI DH
3
TP CCl4
CW of Q:> File 1 fixed libr. ~ u
of A.
Equal CW in List I? Yes t go to
further handle
No
5
QT 30000 A
6
LA A 17
7
AT OCI DCI
10
TO DCI DCII
11
TP 30000 A
12
EJ CCl2 DCI4
13
MJODC
No. go back in loop.
14
RA DC2 CC53
15
TO CC33 DCI
Yes, do settings for next CW in
List 1.
Reset DCI to first CW in Op File 1.
16
IJ VVl4 DC
17
MJ 0 MB2
Q
1
Set next addr. for comparison.
Is next word "74 74747 47474"?
Are we thru with List I? No, go
back in loop.
Yes, go to rout. for handle normal
1i br. Tape, or changed by ML5 to
TT. skip normal libr. Tape.
CA OC20
1487
IA DD
Come from BB1 or BB2
o
RS W2 CC24
Form words in Op File 1 minus 170
1
TO CC36 BC4
Set RP command BC4
2
MJ 0 BC2
CA DD3
IADF
Come from DH14 or DG7. fixed libr.
0
RJ EB7 EB
1
TP CC14 Q
Place CW and drum addr. ____ Direct 1
and adv. counters.
Restore mask in Q.
2
MJ 0 OC14
Back to handle next List 1 word.
CA DF3
IADG
Come from DH13 , fixed libr.
0
Tn
1
RA DG4 CC53
Set addr. of Op File CW in DG4
(after equality).
Adv. by 1.
2
RA DG4 CC53
Adv. by 1.
3
TP CC13 Q
4
QT 30000 A
5
RJ DBlO DB
Go to handle cross reference.
6
IJ VV15 DG2
7
MJ 0 DF
Are all cross ref. handled?
No, back in loop.
Yes, go to handl. CWo
DC1 DG4
}
Put cross reference -+ A.
CA 0010
1488
IA DH
o
TO OCl DHII
Set RP command.
1
ill OCl DB3
Set addr. DH3.
2
TP
3
TP 30000 VV6
4
QT VV6 VV15
5
TV VVI DHII
6
SP VV15 17
7
AT CC63 DHlO
CC14 Q
Mask
Save CW + # of lines in Op File
item in VV6.
Save # of lines in Op File item in
VV15.
Place next drum addr. for Op File
item in v of DHll
}
Set addr. DH7
10
000
11
TP 30000 30000
12
RA WI VVI5
Adv. drum addr.
13
RS VV15 CC64
14
SJDFDG
Subtr. 3 from # of lines to get index for cross ref.
Ind. neg; skip hdl. cross ref.,
pos.go to bdl. cross ref.
}
Place Op File item
~drwm.
CA DH15
lAEA
@
Come from EE5
}
K --+ 1st word Direct. II
drum addr. of first statem.
CW in Op File I ---+ u of SO
0
SP VV 17
1
TU A SO
2
TV CC4l EE5
@~@
3
TV CC45 &&4
®~@
4
MJOEB
-+@
CA &A5
1489
IA EB
Come from EA4 or EE4 or EE5
o
TU VV6 30000
Set by HH12 to [FDl] CW -... FDI
1
TV VV 30000
Set by HH13 to [FD2]
2
RA FD CC22
Adv. counter in FD by 2 in u
3
TV VV6 VV2
v of j'th word
4
RA VV VV2
K
5
RP 20002 EB7 }
6
RA EB CC21
7
TJ CC56 30000}
K ~ FD2
~temp
1
+ temp 1--+ K. Updates drum addr.
next item.
10
Adv. addr. in Dir. I for next CW.
Set by HH21 to FB, later by MB12 to
FF, in between used by DF5 in RJ.
Is Direct.ory 1 too long on drum?
Jump to alarm: THE PROBLEM IS TOO
MJ 0 BD5
CA EBII
LONG.
IA EC
@
0
SP VV 17
1
TO
2
TV CC41 EE4
3
A SDI
Come from EE4
1
J
K~
2nd
word
® . . . @set
in order to skip this
later
~regiOn
MJ 0 EB
~
CA EC4
1490
C2
Directory II
Come from BB13
IA ED
@
A
v
TP GGIS A
1
QS 5 ED4
2
1U
3
TP VV7 A
VV6 VV7
4
--
5
EJ LI EE
6
TV VV6 VV2
7
MJ
RP
9()()()() FflI,.
-~--~ --~
""~
Fill
J
}
f
CW
1
0 FCII
TP CC16 Q
1
QT VV6 A
2
EJ CC17 EE5
3
EJ CC20 EE5
G)
4
MJ 0 30000
(~)
5
MJ 0 30000
,~
.l
~
-+
temp
1
--+@
IA EE
0
.: .. r.:
1'1"
u~;:).,
~J1
v of j'th word
CA EDlO
@
RP
~A
T ... rw
vn
.&.~
of
u
Come from BB13
Is first CW in Op File item 26--- Or
27---?
Set by HH20 to EB, later by EA3 to
EC and by EC2 to EB
Set by HH20 to EA, later by EA4 to
EB
CA EE6
1491
Come from EB7
IA FB
@
}
0
TP VV2 A
1
AT VV3 VVI0
2
TP CC24 A
3
TJ VVI0 FB6
4
EJ VVI0 FB6
5
MJ 0 FCll
No
6
TV VVI FBI0
Case when file exceeds block
7
RP 30170 FBII
Temp 1 + j
~
VVI0
Temp 1 + j
>
120 --;.. FB6
---;.@
TI~drum
10
TP TI 30000
11
RA VVI CC24
12
TP VV2 A
13
AT VV3 A
14
ST CC24 VV2
15
TP CC23 VV3
j
16
RJ TH2 TH
Bring next block to core
17
MJ 0 FB
~®
G
+ 120 ~G
Temp 1 - (120-j)
CA FB20
1492
--+
temp 1
=0
Come from FF5
IA FC
G)
@
0
SP VV2 17
1
TP A VV13
2
TP CC15 Q
3
QS VV13 FC6
"'±
II
rJ'I1T
.LV
5
TO VV4 FC7
6
RP 30000 FCIO
7
TP 30000 30000
lnr,
VVJ.
I
I
RP
3 (temp 1)
TP
TI + j
[drum addr.]
T:'r'''''7
1''-''
10
RA VVI VV2
11
RA VV2 VV3
12
MJ
Bring Op File I item to drum
Come from FCI0 or FB5 or ED7
-+0
0 HB12
CA FC13
1493
IA FF
o
TP VV2 A
1
AT VV3 VVI0
2
TP CC24 A
3
TJ VV10 FF6
4
EJ VV10 FF6
5
MJ 0
6
TP CC50 A
7
ST VV5 VVl1
Come from EB7
}
Temp
1
+j
~VV10
Temp 1 + j
~
120--4 FF6
No~G)
FC
Case file exceeds block
10
TP CC15 Q
11
QS Wll FF14
12
TO
13
TV VVI FF15
14
RP 30000 FF16
15
TP 30000 30000
16
RA VV1 VV11
G
17
RS VV2 VV11
Temp 1 - (120-j)
20
TP CC23 VV3
j
21
RJ TH2 TH
22
MJ 0 FF
Library Op File
--+
drum
VV4 FF15
J
CA FF23
1494
+ (120-j)
=0
~G
~temp
1
IA MB
0
1
0
002
1
o0
2
TP CC26 TH3
3
TV BC4 BB12
A
n
T
7777
rnT'I'n
Come from DC16 after List 1 is
read to drum
mTT
}
Gets changed constants used by HH
for presetting used by HH4
1
Read 1 block of Tape II and disable
boxes 3 and 4
q
neJ
5
TP TIl A
Put second word
6
EJ CC4 MBIO
lsi t "F ILE ~ 1" ?
7
MJ 0 BR7
No; alarm.
.in.:::; .in
J
10
TV CC44 BB13
0~@
11
TV CC43 HB13
0+@
12
TV CC46 EB7
13
RA HB13 CC22
14
RP 10002 HBll}
15
TP CC23 VV2
~
A
Gr@
Change test for "end of entry" " to"
subrout"
~ 1
Clear VV2 words in block
and VV3 words in Op File 1 item j
' lCf)'
CA MB16
Come from HB23
IAML
}
0
TP 5 A
1
EJ VCIO VC23
2
SJ ML3 MM
Only variable library
3
TJ CC26 MLS
Only fixed library
4
MJ 0 MMl
Both libraries
5
TV CC43 DC17
6
MJ 0 MMl
Case no library rout at all skip
handling libraries but jump to adv.
tape 1 by 1 block VC23 is patch in
constant pool FC23 of Phase I I
}
Only fixed library
CA ML7
1495
lAMM
Come from HB23
o
TV CC66 DAII
1
RJ TH2 TH
Entry for only variable library,
change exit
Read next block on Tape 5
2
TP TI A
3
EJ CC7 U5
4
MJ 0 BR12
5
RJ TH2 TH
6
TP TIl A
7
EJ CC6 DA
10
RP 30170 MM12
11
TP TI 30000
12
RA MMll CC24
13
TJ CC65 MM5
14
TU HT WM
15
MJ 0 WM
}
Is first word List I?
Jump to alarm: LIST 1 LABEL INCORRECT.
Read next block of Tape 5
}
Is it END OF ENTRY?
Exit to DA handle of fixed libr.
Set by HH14 to LI. Read whole
List 1 to LIon drum
Does it exceed region?
}
Go to alarm:
REFERENCED.
TOO MANY LmR. ROUT.
CA MM16
IA TT
Come from MLl (with no List 1) rsp
HB13 with List 1
MJ 0 HG2
Exit out of Phase It go to Phase I I
CA TTl
1496
Alarm Routine
IA WM
0
TP 30000 UP3
1
RJ UP2 UP
2
MJ
0 HGl
CA WM3
IA FT
0
o FTl
0
1
o FT2
4
2
66 33300 15254
3
51 25463 04701
4
34 65016 65151
5
01 46515 03222
Alarm, the problem is too long.
CA FT6
lAHT
0
o HTI
0
1
o HT2
11
2
66 51510 14724
3
50 73014 63425
4
54 24547 30154
5
51 67663 45030
6
65 01543 03130
7
54 30502 63027
10
01 34500 16633
11
30 01525 45125
12
46 30472 27117
Alarm, too many library routines
referenced in the problem.
CA HT13
1497
Constants
IA CC
0
50 00105 TI
1
01 01323 05001
2
01 66245 23001
3
01 01015 15201
4
31 34463 00104
5
30 50210 15131
6
01 30506 65413
1
46 34656 60104
10
65 67255 46650
11
01 31344 63001
12
14 14141 41414
13
o 11111
14
o0
15
o 1111
16
o 11000
0
11
o 21000
0
20
o 26000
0
21
002
22
020
23
000
24
o0
170
25
o0
OP
26
50 00102 TI
21
10 5 0
0
11111
0
1498
30
10 2 0
31
33
o 0 FDI
o 0 FD2
o TI LI
34
006
35
007
36
53
o 30170
o 0 EE
o 0 EA
o 0 EB
o 0 FB
o 0 TT
o 0 ED
o 0 EC
o 0 FF
o TI 0
o 170 0
o 0 BC
o 0 77
o1 0
54
005
55
TP TI BE
56
TV VV EF
57
030
60
TPADE
61
50 101 TI
32
37
40
41
42
43
44
45
46
47
50
51
52
ML
1499
62
0 0 1
63
RP 30000 DH12
64
0 0 3
65
TP TI DE
66
0 0 MB2
CA CC67
1500
Temporaries
Segment.
Phase I
VV
2764
VVO
(
)
K drum address of beginning of item
1
(
)
2
(
)
3
(
)
G drum address next TI item
on drum
Temp 1 ~ of word handled already
within this block
j (in v) length of Op File to be
handled next
TI 0 + j (in u) addr. in tape image
where next Op File starts
j (in u)
(
)
Current word
\
A
{
":t
\
J
5
(
)
6
(
)
7
(
)
Call word (in u)
10
Temp 1 + j
11
120 - j
12
Temp 2
13
Temp period
14
Ind. List 1 and working space
15
Ind. for cross ref. in Op File 1
item of fixed libr. and working
space
1501
=0
(temp 1) 0
Segmentation Phase II
RE VV2764
Temporaries Phase I
RE MB1242
RE CF2627
RE LM2641
RE FA4260
Op
File IIa
RE ZA77000
RE BQ632
RE BR537
RE ST653
Segment table
RE GK1000
RE TN20
RE UP421
RE TH2l
Tape Handler
RE TI3274
Tape Image
RE DI3464
Drum Image
RE S04l56
Directory II
RE FD 40101
Directory I
RE FP 7660
Op File Ill>
RE OP45215
Op File I
RE LI4l60
List I
RE TE1300
Temporaries Phase II
1502
RE BB1373
RE EZ2163
RE CC1520
RE Il..2165
RE C01536
RE FF2173
RE CE1567
RE FG2266
PT1600
RE GG2273
RE 001602
RE G82325
RE EE1617
RE G12360
RE EF1657
RE GJ2404
RE EG1672
RE GL2407
RE EH1724
RE HH2414
RE EI1754
RE RC2464
RE EJ1766
RE
RE EK2001
RE WN2567
RE EL2004
RE BU2572
EM2017
RE EU2606
RE EN2031
RE FU2614
E02064
RE FB7660
RE EP2067
RE OA1012
EQ2106
RE TT1241
RE
RE
RE
RE
FC2472
RE ER2117
RE ES2124
RK WSO
RE ET2131
RE 5010000
RE EV2135
RE 5M7660
RE
EW2150
RE SN10000
R&. EX2-153
RE EY2156
1503
IA BB
Come from HG2 Phase I
o
MJ 0 BB3
Jump to start
1
MJ 0 BQ6
A1ann exit
2
MJ 0 ZA10
Normal exit
3
TP FC12 Q
4
QT 10 TE26
5
TP
6
ST TE26 A
7
TV A 10
10000
20000 - (00010) ~ 00010
30000
v
v
FC63 A
10
MJ
0 BB14
11
QT 7 TE26
12
EJ FC7 BB123
13
MJ 0 BB20
14
QT 10 A
15
SS 7 17
16
TO A 7
17
MJ 0 GI
20
TO FD BB73
21
RA BB73 FC10
22
TO SD BB42
23
RP 10005 BB25
24
TP FC7 TE22
25
RP 10021 BB27
26
TP FC7 TE
27
TP FC17 TE5
Is (7)v zero?
Yes, clear 7
File 7u
Go to form segm. length for this
prob1.
}
Set RP command
Set MD address of first statement
Clear temporaries
Set a and A to Same fixed Op File IIa
addr.
,.,
30
TP FC17 TE6
1504
31
TP FC20 TE7
Set y to fixed Op File IIb addr.
32
TP FC7 FP
Clear first word of Op File rIb area
33
RP 13400 8835 }
34
TP
35
TU BB42 BB37
36
TP FC45 A
37
SA 30000 17
40
TO A BB4l
41
RP 30000 8B43 }
42
TP 30000 01
43
TP 01 TElO
44
TV 011 TEl
45
TV 011 TE4
46
TV TE5 BB47
47
TO
50
TV TE5 BB52
a address to BB52
51
RA BB52 FC5
a+1
52
TV 011 30000
#
53
RJ CEI CE
54
RA TE2 FC13
55
MJ 0 BB56
56
TP FC3 Q
57
QT TElO A
60
EJ FC46 DD
Clear Op File ITa area
FC7 FA
Come from BB34 or EE34
Set u of repeat command BB41
Transfer next statement Op File item
to drum
Record 1st word of statement Op File
in Temp 1
}
# of lines in
~t and t2
this statement rout.
a address to NT
TElO 30000
Statement call word --. Op File IIa
}
of lines in routine ~ a + 1
Advance a and K by 2 and check
exceeded region
Free but needed
Is CW 26---?
1505
}
Come from BB60 or BB120
61
TV 01 TE15
62
RS TE15 FC6
63
TV FC47 TEll
Set index for # of cross ref. (one
higher since ind. jump in beginning
Set addr. of first cross ref ~ TEll
64
1J TE15 CC
Are all cross references handled?
65
MJ 0 BB66
Free but needed
66
RA TE6 FC6
Adv
67
EJ TE5 EE
f3
70
SP A 17
Do hand1. of /3's
71
TU A BB72
Next CW to be processed for f3 ~ A
72
SP 30000 0
Set by BB71
73
RP 30000 BB75
74
EJ FD1 BB77
75
MJ 0 BR5
76
02 0 0
77
SN Q 17
}
f3 by
= a?
2
yes, go to switch
Set by BB20 t 21
Search Directory I for call word
at addr. f3
Go to alarm 5 (Directory incorrect)
-j-n+r in u
(-j-n+r )+(j +n) == r
100
SA BB73 0
101
SA BB74 0
102
TU A BB103
103
SP 30000 17
104
TU A BBl12
105
TU BBl12 BB107
106
TP FC45 A
107
SA 30000 17
110
TO A BB111
III
RP 30000 BB113 }
112
TP 30000 DI
Set u of BB103 r
}
+ FDI
Set by BB102
Set this Directory I addr. into
of BBl12
u
30000 in v of A
Set u address of BB112
Set by BB105
Set by BB110 transfer cross ref.
Op File I item
Set by BB104 from MD to drwm image
1506
113
RA TEl 011
114
TV TE6 BB116
115
RA BBl16 Fe5
116
TP 011 30000
117
SP DI 0
1 ')1"\
~"v
TJ FC3 BB61
121
RF CF11 CF
122
MJ 0 BB66
123
TP FC7 7
124
MJ 0 BB20
Add
1
#
of lines in this routine to t
Enter # of lines in this routine in
the address following the CW in Op
File ITa
J
1
Is 77000 > CW?
If no t then 77_
-:. (I)Jo to set index for handl.
cross ref.
Go to handle 71___ case
j
- - ~(haS no cross ref., therefore
no in ex needed)
}
Come from BB13
Setting of 00007 in case no single
valued variables
CA BB125
1507
TA CC
Come from BB64
0
SP TEll 17
1
TU A CC2
Put CW at addr. given by TEll in NT
2
TP 30000 TE20
Save found CW in TE20
3
TP FC3 Q
4
QT TE20 A
5
EJ FC53 CC14
27--?
6
EJ FC46 CC14
26--?
7
TP FC54 Q
10
QT TE20 A
11
EJ FC55 lllI
12
RJ CD13 CD
13
MJ 0 BB64
14
RJ CD30 CD14
15
MJ 0 BB64
}
Mask
4...--~?
None of the three cases for Op
File IIa
t
26--- or 27---
J
Case for Op File lIb
CA CC16
1508
IA CD
Come from CC12 or .
"
0
TO TE2 CD3
1
RA CD3 FClO
2
SP TE20 0
3
RP 30000 CD5
4
EJ FA2 CDII
5
TV TE5 CD6
Set v of NI
6
TP A 30000
Place CW in Op File IIa
7
RJ CEI CE
Adv. by 2 in v and check over-
Set n in u of RP command CD3
1I
Check whether CW already in
Op File IIa
J
Op File
IIa
flow and take care of 77 case
10
RA TE2 FC13
Adv. by 2 in u
11
RJ CDII CD12
Exit possible for Vary
(DD region)
12
RA TEll FC5
Adv. to next cross ref. address
13
MJ 0 30000
Exit for RJ
14
SP TE7 0
15
SSI FC20 17
Come from EOI or EP5 or .
Next addr. in Op File lIb
Subtract first addr. and
shift to u
16
TU A CD21
Set n in u of RP command CD2l
17
RA CD2l FClO
Check whether CW already in
Op File lIb
20
SP TE20 0
21
RP 30000 CD23
22
EJ FPl CD26
23
TV TE7 CD24
Set v of NI
24
TP A 30000
Place CW in Op File lIb and adv.
25
RJ CE5 CE4
Op File
lIb
1509
26
RJ CD26 CD27
Exit possible for Vary
27
RA TEll FC5
Adv. to next cross ref.
address
30
MJ 0 30000
Exit of RJ
CA CD31
1510
Op File
IIb
IA CE
1
Come from CF or CF2
0
RA TE5 FC6
1
TJ FC64 30000
2
MJ 0 EW
3
000
Free
4
RA TE7 FC5
Come from CD25
5
TJ FC65 30000
Adv. next addr. for Op
File lIb by 1 and check
whether region exceeded
6
MJ 0 EW
7
000
}
Op F ITa
Adv. next addr. for Op File
IIa by 2 and check whether
region exceeded
Op F IIb
Free
CA CE10
(patch)
IA
PT
o
TJ
TEl
£H10
1
MJ
o
EQ2
CA
PT2
1511
FA = 4260
FC64 = SM
= 7660
space for
3400
Come from EH3
FP = 7660
FC65 = SN
= 10000
space for
120
IA CF
Come from BB121
0
RA TE12 DIl
Adv. TE12
1
SP MBl 1
2
TJ 011 CF6
3
SP MBl 0
4
TJ 011 CF7
5
MJ 0 CFI0
6
RA TE22 FC5
7
RA TE22 FC5
10
RA TE22 FC5
11
MJ 0 30000
}
Is
#
of elements > l7776?
}
Is
#
of elements > 7777?
Adv. TE22
Exi t used only in RJ. by BB121
CA CF12
1512
Come from BB57 after detected
26---CW
IA DD
1
o
TP FC12 Q
1
QT TE10 A
2
EJ FC57 DD5
3
TP DI4 TE20
4
RJ CD11 CD
J
5
TP DI3 TE20
}
6
RJ CD26 CD14
Store (after check) last (jump out)
CW in Op File lIb
7
TV FC61 EE
Set switch
10
RJ DD10 DD12
Chance for jumping once in Vary
start (orig. set to jump, reset
by EF14)
11
MJ 0 BB66
12
TP DI2 TE31
Save CW of last statem in Vary loop
Save addr. in Op F 11a of first statem
CW in Vary loop
13
TV BB47 TE23
Done once in Vary loop
14
MJ 0 DD11
J
Mask out
#
of lines
Is it 4? Or 5 ? Go NI
L
in Op File ITa
Exit to~
CA DD15
1513
IA EE
Come from BB67
o
MJ 0 EEl
Switch for Vary set by DD7 to EF
(Vary), restored by EE30
1
RA TE TEl
Come from EE or EVIl form T + t
2
SPTEO
3
TJ TE21 EE35
4
RS TE TEl
T - t
5
ZJ·EE6 EG2
Is T = 0 ? (i.e. are we at beginning
of segment?)
6
TP TE2l A
7
TJ TEl EE14
10
SP TE13 17
Case t < M and ne'XtT would be > M
TE13 was filled when bef. at EE3
we had gone to EE17
11
TU A EE12
Record latest statem. CW into first
word Op File IIb (for IP command)
12
TP 30000 FB
13
MJ 0
14
TP FC61 A
Come from EE7 are we in Vary loop?
15
EJ EE EK
Yes; go to handle Vary case
16
MJ
17
TV FC62 EE
20
TV FC50 DDlO
21
TP TE5 TE13
22
TP TE7 TE14
23
TP TE12 FAI
24
RA TE3 TE4
}
~T
is M > T?
}
~T
Is t > M ?
EI
Go and make segment with settings
before
0 EG5
No; go to alarm (statem. too big)
Come from EE3. case M > T
Restore switch to Non-Vary case
Reset RJ to beginning position for
Vary loop
}
=
Save values of this a -+Temp 4 TE13
case, for the case y-'Temp 5 = TE14
we overshoot with
TE12 = Temp 3-+
next statem.
second word in
Op File IIa
T2 + t2 -+ T2
1514
25
TP FC12 Q
26
QT TEIO A
27
SP A 17
30
AT
31
TP FCll Q
32
QT A A
33
EJ SDI FF
34
MJ 0 BB35
No, go back to handle next CW
35
TP FC7 TE30
Patch, clear TE30 and save TE22 in
TE40
36
TP TE22
37
MJ 0 EE17
CA
BB42 BB42
Come from EF6
Case we are not yet at end of Vary
loop ~ segm. length,
Mask 0 0 77777 -+ Q
Adv. u portion of transfer command
by # words in Op File item
Set u in BB42
1
J
l
Have all statem. CW's been processed?
i.e., entered in Op File ITa? Detects
end of needed information
J
TE40
EE40
1515
IA EF
Case we are inside Vary loop
Come from EEO after having been in DD
o
RA TE24 TEl
t4 + t = t4
1
RA TE25 TE4
t5 + ~ = t5
2
TP FCII Q
Mask 0 71777 0
3
QT TE31 TE26
4
QT TEIO A
Are we at end of Vary loop?
5
EJ TE26 EF7
Yes
6
MJ 0 EE25
No (skip saving a and r since in Vary
only first import.)
7
TP TE24 TEl
10
TP TE25 TE4
11
RP 10002 EEl
12
TP
FC7
TE24
1
r'ea+
V.L
"'4
J
J.
CA EFI3
1516
.... "'d
au
+
"5
~
Q
IA EG
Case T > M, yet we are at the beginning of segment (implies t > M)
1
o
RJ EG EGl
1
MJ 0 EN3l
2
TP FC3 Q
3
QT FA2 A
4
EJ FC46 EJ
5
TU 80 WN
6
MJOWN
7
TP FC7 TE27 }
Come from EO!. RJ exit for EP15
Patch to EO. Exit after region
check when region not exceeded
J
Come from EE5 or EW2
1
Is CW at beginning of
26---?
~
File ITa a
J
}
Go to alarm (segm. too big)
10
TP FC7 TE30
11
RJ EG11 EG12
Inserted for j wnp out of EK
12
TV TE5 EG14
Come from EGll or EH11 or EG27
13
RA EG14 FC5
14
RA TE27 30000
15
TV EG14 EG16 }
T
16
RA TE 30000
17
TP TE2l A
20
TJ TE EH12
21
MJ 0 EX
22
LA A
23
TO A EG25
24
TP FC3 Q
25
QT 30000 A
26
EJ
27
MJ 0 EG12
}
+(a +
1) ~T
IS~M?
~®
Adv. a by 2 taken out here, see EG30
now
17
FC46 EH
Is CW at a a 26---?
J
1517
30
RA TES FC6 }
31
MJ 0
Patch t come from EM7 adv. a by 2
EG22
(Patch for replaced instruct. EG2l)
CA EG32
1518
IA EH
Come from EElS or EG26. Case t > M
and we are not at beg. of segm.
0
RA TE30 FC5
Set to) = 1.
Vary v
1
RS TEl TE27
Come from EK2 or EH
2
TP TE2l A
0)
rt'IT
1'1'It:',
.U::.l
~Ull"\
1
Is t
Index for Vary within
t - tl
=t
> M?
V
.ttJ
4
SP TE5 17
Case t < M
5
TU A EH6
Record statem. CW into first CW of
Op File lIb (for IP command.)
6
TP 30000 FP
7
MJ 0 EI2
Go to D, exit to write on tape
10
RA TEi TE27
t + tl
11
MJ 0 EG12
Go to@
12
TV TE5 EH14
13
RA EH14 FC5
14
RS TE 30000
Come from EG20 or EH27
We finally made
T - ( a + 1) ~T. first part too
big and have to
go back to last
statement and
form segm. resp.
back to last Vary
within Vary
15
SP TE5 17
16
TU A EH20
17
TP FC3 Q
20
QT 30000 A
21
EJ
22
EJ FC53 EH24
J.:"UJ.V
J
CW
FC46 EQ
=t
restore t since it is still
too big and we have to
make beginning segment
bigger
at a = 26--1
Vary beginning,
go and form
segment
OK,
CW at a = 27---1 Statem. CW. go to
cneck whether Vary insIde Vary
1519
23
MJ 0 EM3
24
TP TE30 A
25
ZJ ES EQI
26
RS TE5 FC6
Reduce a by 2
27
MJ 0 EV
Jump to try with reduced length
after hdl. 26, 27 case that go out
Other CW (for inst. libr. rout.)
go farther back and try again
}
Is
t.3 = O?
=f 0 Vary in Vary
= 0 not so
CA EH30
1A E1
Come from EE13 or EW1
o
RJ ET3 G113
Set addr. BB42
1
MJ 0 E16
Jump to restoring Vary settings
2
TP TE5 TE13
Come from EH7; save a
3
RJ ET3 ET
Set addr BB42
4
TP TE12 FA1
Save 77 count
5
TP TE7 TE14
Save y
6
TP
7
TV FC62 EE
FC7 TE30
10
TV FCSO DDI0
11
MJ 0 FF
Restore Vary settings
Jump to write segment on tape
CA E112
1520
IA EJ
Come from EG4 resetting to Vary in
beginning of segm.
1
o
TP Fe17 TE5
1
TP TE7 TE32
2
TP FC20 TE7
3
TP Fe7
4
MJ 0 EJll
Jump to clearing TE22, t 1 , t3 and
exit
5
TP TE13 'lE5
Come from EK
6
TP TE7 TE32
Save TE7 = Y in TE32 and set counters
back to Vary start
7
TP TE14 TE7
10
TP FAI TE12
11
TP FC7 TE22
Clear TE22
12
MJ 0 EG7
Jump to clearing tl and t3 and to
exit from RJ
r~12
Save TE7= Y in TE32 and set counters
back to segment start
J
CA EJ13
Come from EE15 resetting to Vary not
in beginning of segment.
IA EK
o
RJ
1
TP TE40 TE22
2
MJ 0
EGII EJ5
Do resetting of counters
Reset TE22
EHI
CA EK3
1521
IA EL
Come from LL1 or LL3
0
TP FC3 Q
1
SP TES 17
2
TU A EL3
3
QT 30000 A
4
EJ FC3 EL6
S
MJ 0 30000
Not 77---, skip changing TE12 and
TE22 (set to ER or to EL12)
by EM
by EM3
6
000
Adv. resp. reduce TE22
7
TV TES EL11
Adv. resp. reduce TE12 by
instructions
10
RA EL11 FCS
11
000
12
000
Is CW at hand a 77---?
}
Used
!:!
Jump back to rout.
CA EL13
1522
#
of
Come from EXI
IA EM
Set tiER" in v of EL5
EL5
0
TV FC74
1
RP 30002 LL
2
TP EM6 ELII
3
TV ER2 ELS
4
RP 30002 LL2
1
5
TP EMIO ELII
J
6
RA TE12 30000 }
7
MJ 0 EG30
10
11
Entrance for going forward
Come from EH23
Set ttEL12tt in v of ELS
Entrance for going backward
Const. for ELII, ELl2 in forward case
RS TE12 30000 }
Const. for ELIl, ELl2 in backward
case
MJ 0 EH26
CA EMl2
IA LL
0
TP LL4 EL6
Come from EMI
1
MJ 0 EL
Forward
2
TP LL5 EL6
Come from EM4
3
MJ
4
RJ LM14 LM
Const. for forward
5
RJ LM20 LM15
Const. for backward
0 EL
Backward
CA LL6
1523
IA I..M
Come from EL6
o
TP FC5 A
Entrance for forward
1
SA TE5 17
2
TO A
3
IP 30000 TE34
4
SP
5
TJ TE34 LM11
6
SP
7
TJ TE34 1..M12
1..M3
Is
#
of inst. > 17776?
Is
#
of inst. > 7777?
MB1 1
MB1 0
}
10
MJ 0 1..M13
11
RA TE22 FC5
12
RA TE22 FC5
13
RA TE22 FC5
14
MJ 0 30000
Exit, used in RJ from EL6 for
forward case
15
RP 20003 LM17 }
Entrance for backward
16
RA LM11 8876
Change RA to RS in LM11-13
17
RJ LM14 LM
Handle TE22 for 77
backward
20
RP 20003 30000}
21
RS LM11 8876
Adv. resp. reduce TE22
000
when going
Exit, used in RJ from EL6 for
backward case
CA LM22
1524
Come from EQ10
IA EN
o
TP TE16 A
1
EJ TE5 EH4
2
SP TE16 17
3
TO A EN5
4
TP BB73 EN6
5
SP 30000 0
6
000
7
EJ F01 EN10
1
Are we finished with all CW's in
Op File ITa?
J
Exit
1
Search Dir. I for CW given at
new a
Set by EN3
Set by EN4.
alarm
RP ... BB75 exit to
10
SN Q 17
11
SA EN6 0
12
SA EN7 0
13
TO A EN14
14
SP 30000 17
Set by EN13
15
RJ EN15 EN16
Set u of EN24.
addr. ET1
16
TO A EN24
17
TU EN24 EN21
20
TP FC45 A
Set u of EN23
21
SA 30000 17
Set by EN17
22
TO A EN23
23
RP 30000 EN25 }
24
TP 30000 01
Set u addr. in EN14
RJ for use in
Set by EN22
Transfer Op File I item to drwm image
Set by EN16
1525
25
TP FC3 Q
26
QT 01 A
Is CW 26---?
27
EJ FC46 EO
Go to handle lIb 26-.-
30
EJ FC53 EP
Is CW 27---?
31
RA TE16 FC6
Come from EN30 or EG1 or EP2.
Adv. new a addr. by 2
32
MJ 0 EN
Go back in loop
Go to handle IIb 27---
CA EN33
IA EO
Come from EN27
0
RA TE7 FC5
Adv. Op File lIb address
1
TJ
FC65 EG
Did we exceed region?
patch EG-EGl to EN3l
2
MJ
0 EY
Yes; jump to make segment
CA E03
1526
CW 26--
No, go via
IA EP
Come from EN30
1
J
CW27---
o
TP FC12 Q
1
QT D1 A
2
ST FC6 TE17
Set index for # of cross ref.
(I too high, pre-done)
3
TO 0012 EP6
Preset EP6 to 012
4
IJ TEl7 EP6
Are all done?
5
MJ 0 EN31
Yes
6
TP 30000 TE20
(Starts with 012)
7
TP FC3 Q
10
QT TE20 A
11
EJ FC46 EPl5
CW
12
EJ FC53 EPl5
CW = 27---?
13
RA EP6 FC51
Adv. addr of cross ref.
14
MJ 0 EP4
Go to handle next cross ref.
15
RJ EG EO
16
MJ 0 EPl3
Mask out
}
#
of lines
Mask out CW code
}
= 26--?
Put CW in Op File lIb resp. adv.,
Op File lIb addr. (since the CW is
already in from the first try)
CA EPl7
1527
IA EQ
Come from EH21
o
RS TE30 FC5
Subtract indicator for Vary in
Vary by I
1
RJ EQI EQ2
Inserted for RJ use by EY
2
TP FC20 A
3
EJ TE32 EH4
4
TJ
TE7 EQ7
Is Y > FC20? (0 0
5
TP
FC17 TE16
Case Twas
6
MJ 0 EQIO
7
TP TE13 TEl6
Case Twas :f 0
MJ 0 EN
Go to handle case Op File IIb
10
}
Has anything been in Op File
lIb before we went back?
No, skip the part EQ (TE32 set by EJI
or EJ6)
FPI)
=0
Set new a in either
case to starting
addr.
CA EQII
IA ER
o
EJ FC46 ER3
1
EJ FC53 ER3
2
MJ 0 EL12
3
TU
4
MJ 0 EL7
Come from EL5.
forward
}
Handle TE3 for going
Is CW 26---?
Is CW 27---?
Skip changing TE3 = T2
constant also; by EM3)
FC74 ELII
Change in ELII the TE12
(v
used as
~
TE3
Jump to change TE3 (but not TE22!)
CA ER5
IA ES
o
TV TE5 ES2
1
RA ES2 FC5
2
RS TE3 30000
3
RJ ES3 ES4
4
MJ 0 EH26
Come from EH25
Handle TE3 for going backward
Inserted for use in RJ by EV
CA ES5
1528
Come from E13 or GI14
IA ET
o
SP TE13 17
1
RJ EN15 EN3
2
TU A BB42
3
MJ 0 30000
1
Set addr. BB42
CA ET4
Come from EH27
IA EV
o
SP TE5 17
1
TU A EV3
2
TP FC3 Q
3
QT 30000 A
4
EJ FC46 EVIl
5
= 26--?
CW
at a
EJ FC53 EV7
CW
at a = 27---?
6
MJ 0 EH12
Exit after handling either case
7
TP TE30 A
}
Is TE30 = O?
}
Reduce TE3 for going backward
EV6 EVIl
10
ZJ
11
RJ ES3 ES
12
MJ 0 EV6
CA EV13
IA EW
o
TP FC7 A
1
TJ TE EElO
2
MJ 0 EG2
Come from CE2 or CE6 (Op File IIa
or b exceeded)
}
Is T = O?
No; make segment (with restor. BB42
from TE13)
Yes; start normal Vary way for T = 0
CA EW3
1529
Come from EG21
IA EX
o
TP TES A
I
TJ FC64 EM
No
2
MJ 0 EHl2
Yes; go backward where segm. can be
made
Is Op File ITa exceeded?
}
CA EX3
IA EY
Come from E02 (after Op File lIb
region exceeded)
o
RS TE5 FC6
Reduce a by 2
1
RJ EQl EH12
Go back to next possible break off
point
2
TP TE5 A
3
TJ TE16 EZ
Yes; break off
4
MJ 0 EYl
No; go back in loop
Is a farther back than TE16?
}
CA EY5
IA EZ
Come from EY3
o
TP FC20 TE7
Do setting for final Op File lIb
(after it was exceeded) and jump
to handling Op File lIb
1
MJ 0 EQ5
CA EZ2
1530
Come from EE33 or
IA FF
o
r Jump first
RJ GJ2 GJ
to set TE4l, later set by
FFI to MJ 0 FF12
Set swi tch in FF to MJ 0
1
TP RCI FF
2
RP 10024 FF4 }
3
TP FC35 TI
4
IP FC27
5
TP FC30 TI25
6
RP 10142 FF10}
7
TP FC35 TI26
Tl~4
}
FF12
Set Zr s in beginning of first block
Set FILE II A lWO A A /j,
done
once
Done
once
Fill up with
zt s
10
RJ FG2 FG
Set tape hd1. code for right tape
(3 or 6)
11
RJ TH2
Write first block
12
TP FC3l TI
TH
}
13
TP FC32 TIl
14
SP TE13 0
15
ST FC17 TI2
16
TP FAI TI3
17
SP TE 0
20
SS FAI 0
21
AT FC6 TI4
22
SP TE41 0
23
AI TE3 TI5
24
RP 10162 FF7l}
25
TP FC35 TI6
26
RJ
Set "'NO
of tape
/j,
A4SEGMT tt in first 2 words
Set length of Op File IIa for this
segm. in 3rd word of tape
Set # of 77---lines in 4th word of
tape
#
of lines in statements + Routines
+ 2 to 5th word of tape
}
Address for IP command
(N
+ T2 + 1)
Fill first block up with Z's
Write first block on tape 3
TH2 TH
1531
}
27
SP TI2 0
30
DV FC2l TE16
31
TP A TE17
32
TP RC2 FF70
33
TU FC26 FF37
34
IJ TE16 FF36
35
MJ 0 FF43
36
RP 30170 FF40
Yes; go to handle last fractional
block
Come from FF34
37
TP 30000 TI
[FA2] in beginning set by FF33
40
RJ TH2 TH
Write next block
41
RA FF37 FC22
Adv. addr.
42
MJ
43
SP TE17 0
44
ZJ
45
SP A 17
46
AT RC4 FF50
47
TU FF37 FF5l
50
RP 30000 FF52
51
TP 30000 TI
52
SP TE17 17
53
SS FC22 0
54
SN A 0
55
AT RC5 FF57
56
RA FF60 TE17
57
RP 30000 FF6l
60
TP FC35 TI
Set index how many more
Remainder saved for
left over
of words
Set beginning addr. FA2 (Op File ITa)
in FF37
Are all complete blocks written?
0 FF34
FF45 FF63
#
Op File II
Go back in loop for next block
}
Come from FF35 after all whole blocks
written.
Are there words for partial block?
Set last words in partial block
Fill rest of block with Z's
1532
61
RS FF60 TE17
Restore last instr.
62
RJ TH2 TH
Write last data block
63
TP FC36 TI
64
TP FC37 TIl
}
65
RP 10166 FF67
I
t...t...
VV
TO
67
RJ TH2 TH
Write last block
70
000
Set by FF32 to MJ 0 GG or by GG14
to MJ 0 GG16
71
TP TI4 TE37
72
MJ 0 FF26
.......
~r'lt::.
.I:vVo.J
'TIT"')
~~"
j
Place end of entry
Fill up with Zls
r
}
Patch
Save first T14 for forming segment
table
CA FF73
Set code word for tape 3 resp. 6
wi th TN ;/ 0
IA FG
o
SP FC40 0
1
AT TN TH3
2
MJ 0 30000
3
SP FC4l 0
4
MJ 0 FGl
}
Set code for:
WRITE 1 BLOCK OF TAPE
Set code for:
REWIND TAPE
CA FG5
1533
(only used in RJ)
IA GG
Come from switch FF70
}
o
TP FC33 TI
1
TP FC34 TIl
2
SP TEl4 0
3
SS FC20 0
4
AT FC5 TI2
5
RP 10165 GG7
6
TP FC35 TI3
7
RJ TH2 TH
10
SP TI2 0
11
OV FC2l TE16
12
TP A TE17
13
TO
FC4 FF37
14
TP
RC3 FF70
15
MJ 0 FF34
Jump to write rest of blocks
16
TP FCII Q
Come
Put TWO [),. B 11 SEGMT 11 in TI and TIl
Put
1
}
#
of entries in TI2
Fill rest of first block with Z's
..J
Write one block
Set counter for
#
of blocks
Save remainder for addr. to fill
with zt s
Restore first addr. ofOp File IIb
in transfer command
Set switch E to E2 (MJ 0 GG16)
from swi tch FF70.
Mask 0 77777
O~Q
17
QT BB42 A
Have all
20
EJ SOl GI22
Yes; go to handle segm. table for
last segm. and finish up ~t GG22
21
MJ 0 GH
Go back to beginning for next segm.
after having handled segm. table
22
TP FC35 TI
23
TP FC35 TIl
24
RJ TH2 TH
~tatem.
CW's been processed?
Write sentinel block
1534
25
RJ TH2 TH
Write second sentinel block
'1
I
26
RJ FG2 FG3
27
RJ TH2 TH
30
TP FC42 TH3
Transfer parameter to read in
Phase III
31
MJ 0 BB2
Go to:
J
Rewind tape for Op File III
CA GG32
1535
EXIT OUT OF SEGMENTATION
IA GH
Come from GG21.
o
RJ GH GI15
Jump (only once) to set ST and do
pre settings
1
SP TE22
2
AT TE37 A
A + 2x
3
DV FC21 TE34
or
4
ZJ GH5 GH6
Is there remainder?
5
RA TE34 FC5
6
RA TE34 FC5
Add 1 for remainder
of A + B
170
Add 1 for sentinel
block
7
SP TE22 1
A
#
0f
+B
Form segment table
77 CW t sin Op Fi 1e I I a
170
170
Must be done
separate because of ZJ
before!
of 77 CW's in 0D File 11a
170
10
DV FC21 TE26
2 x
11
ZJ GH12 GH13
12
RA TE26 FC5
or B
170
B
Add 1 for remainder of 170
13
RA TE34 TE26
Add both terms
14
TP TE33 Q
Mask (event. shifted)
15
SP TE34 33
16
QS A ST2
17
RA GH16 FC5
Adv. last instr. by 1 in v
20
1J TE35 GH32
Go to Exit (handl. next segm)
1nd 178 down?
21
TP FC73 TE35
Res. ind.
22
TV G121 GH16
Set GH16 to STI in v
23
LQ
24
RS GH15 FC72
Reduce shift count by 11
25
1J TE36 GH32
Go to Exit
26
TP GH32 A
27
EJ FC71 GH32
}
#
Mask the
TE33 33
#
=#
of blocks
of blocks into segm. table
1nd 38 down?
Was this last segm.?
Yes
1536
-+
GH32
TE34
~Q
Shift mask
}
~
30
TO ED WN
31
MJ 0 WN
32
MJ 0 BB23
No
1
r alarm
MORE THAN 63 SEGMENTS
.J
Gets changed with last segm. in RJ
to MJ 0 GI23
CA GH33
1537
IA GI
Come from BB17 (only once)
o
TP 12 A
Indicator for READ, LIST, BOTH in
1
EJ
FC7 GI5
Zero?
2
EJ
FC51 GIIO
One? only LIST
3
EJ
FC13 Gnl
Two? only READ
4
SP
FC 0
Three assumed
5
AT FC67 ST
6
TV A 12
Add space for Tape Hdl + Contr + 1 +
Term buffer ~ ST
Set v part of 12
7
MJ 0 GL
After ST set, do preliminary settings
10
RS GIll FC51
Case only LIST
11
SP
12
MJ 0 GI5
13
TP TE40 TE22
14
MJ 0 ET
15
TP FC70 TE33
Come from GH (only once) put mask
in 'lE33
16
TP FC73 TE35
Set ind. for first time 17 (20 rows)
17
TP FC25 TE36
Set ind. 3 (4 words per row)
20
RP 10020 GHI
21
TP FC7 STI
22
RJ GH32 GH
23
MJ 0 GG22
u~A
FC2 0
}
Case only READ
Come from EI set # of 77 CW's for
forming segm.
Go to setting BB42 (RJ p.xit of ET3
is already set to Ell)
}
}
Clear rest of segm. table and jump
to GHI
Come from GG20
Case we have last segment
CA GI24
1538
IA GJ
0
TP ST A
1
AT Fes TE41
2
MJ 0 30000
Come from FF
1
r
J
Set once for whole program N in
TE4l to FN + 1 for FN + 1 + T2
(later formed)
Used only once in RJ from FF
CA GJ3
Gome from GI7
IA GL
0
SP 7 25
1
LT 0 A
2
ST ST TE21
3
RS TE21 FG6
4
MJ 0 8811
Set TE21 segment length
GA GL5
1539
IA HH
Come from CCII
Case CW 4--
o
TO TE2 HH3
1
RA HH3 FClO
2
SP TE20 0
3
RP 30000 HH7
Is this 4....... CW already in Op File
IIa?
No
4
EJ FA2 HH5
Yes
5
RA TEll FC5
6
MJ 0 BB64
7
TU 8873 HHlO
10
RP 30000 HH12
Search
11
EJ FDI HH14
Found
12
TUFUWN
13
MJ 0 WN
14
SN Q 17
15
SA HHlO 0
16
SA HHll 0
17
TU A HH20
20
TP 30000 TE26
21
TV
22
TP 1E20 30000
Place CW in Op File IIa
23
RJ CEI CE
Adv. by 2 in v and check exceeded
region
24
RA 1E2 FC13
Adv. by 2 in u
}
Adv. to next cross ref.
See whether all handled?
}
Not found
Go to alarm
Found, put
drum address
(where CW placed
in O·p File IIa)
j
search 4-- in
Directory I and
store drum address (Op FileI)
in TE26(v)
~TE26
TE5 HH22
1540
25
TP F0
....
30 50270 15131
37
01 30506 65473
40
71 00103 TI
41
10 3 0
42
50 1 1100
43
o0
22
44
o0
24
45
o0
30000
46
o 26000
47
o0
DI2
50
o0
DD12
51
010
52
o0
53
o 27000
0
54
o 70000
0
55
o 40000
0
56
o 23000
0
57
004
60
o0
61
MJOEF
62
o0
/
0
8846
TE31
EEl
1545
63
o 0 SO
64
o 0 SM
65
o 0 SN
66
005
67
o 0 GK
70
77 70000 00000
71
MJ
72
o 0 11
73
o0
74
o TE3 ER
0 GI23
17
CA FC75
1546
Temporaries TE
Segment Phase IT
TEO
T
#
1
t
# of addresses per sentence; set with
TV in BB3l
2
of addresses (generated rout.)
in segm. for 22, 24, 25, 26, 27, 40,
50, 77
K
#
of entries in 0 p File ITa
# of addr. for 26, 27 only; adv. in
EE24 T2 + t 2 -.T2
# of addr. per sentence; set with
TV together with TEl
3
4
5
a
Present statem. CW addr. of Op
File IIa
6
f3
Next statem. CW addr. of Op File ITa
7
y
Next statem. CW addr. of Op File lIb
TEMP 1
Statem. CW (u) + # of words in item
set with TP
11
TEMP 2
Addr. of cross ref. CW; set by ...
12
TEMP 3
#
13
TEMP 4
Op File IIa addr. for this statem. CW
14
TEMP 5
Op File lIb addr. for last cross ref.
of previous statem. CW
15
INDEX 1
Index for
16
INDEX 2
#
10
[
J
17
20
21
r
L
]
[
(v)
of 77--- data words in this segm.;
adv. by 1 with RA
#
of cross ref; set with TV
of full blocks to be written and
used by EN, EQ for storage
words in partial block
R
#
WS
Holds CW to be placed, whose addr. is
in TEll
]
~.
lenqUlwr prool-em; fixed for
whole problem
1547
22
[
23
24
t4
25
t5
26 [
]
Counter for # of 77 CWts
(CW's, not addresses)
]
Op File IIa address of first statem.
CW in Vary loop
]
Storage space used by EF3, BBIO,
HR, GH
of instructions for 1 sentence
at a time
27
tl
#
30
t3
Index that we are in Vary within
Vary
31
[
J
CW of last statem. in Vary loop for
comparison
[
32
33 [
[
34
]
Storage for y in EG and EH part
]
77 70000 00000 mask shifted for
segm. table
]
Quotient for GI and GH for segm.
table
35
[
]
Index for 178 for segm. table
36
[
]
Index for 3 for segm. table
37
[
J
Storage for TI4 of first block
for segm. table
40
[
]
Storage for reset TE22
41
[
J
Storage for N + 1
1548
2. ALLOCATOR
2.
Allocator
ALLOCATION Setup
The setup routine for the Allocator reads the Dimension List from
magnetic tape and modifies it so that each array is represented by two words
instead of the variable (up to six) word items of the original list.
modified Dimension List is then stored on the
dr~m
The
for use by the Allocator.
The Dimension List is modified at this time because the Allocator and later
the Processor make extensive use of drwm storage.
Between these phases, the
Initialization Generator must have more Dimension information than is available in the modified Dimension List so the original Dimension List is read
again from tape and stored on drum preceding the operation of that phase.
After modifying the Dimension List, the setup routine adjusts the
Dimension List counter (at location 00006) to reflect the length of the modified list.
The counter for the original list is saved at location 00015.
The tape on Uniservo 5 is then moved forward past the Constant Pool and
Symbol List so that it is positioned properly for the Allocator to write Op
File III, Preface, and Termination.
The seven blocks of the Allocator are then read from the UNICODE
Master Tape and control is transferred into the Phase.
1551
YES Reduce block
t--_~count by number
of blocks in
buffer
Determine number
of blocks in
Constant Pool &
Symbol List and
set Tape handler
code word to·
move past them
Save large Dimension List counter
(00006) in
Set index 1
number of I---......;w
items in Dimension List
Store word (drum
YES address) in next~~~
available working area
Has end of
I---~ buffer been
reached?
Advance
working area
address
Set tape handler code word
to read Allocation Phase
to H.S.S.
'c--~to
00015.
Advance
buffer
address
Set to read
full buffer
of Dimension List
Set index 2
to 5 for
character
count
~--=:w
Fill 5 words
of working
storage (WS)
with spaces
Has end of
buffer been
reached?
Allocation Set-Up Flow Chart
Determine location of symbol
word in buffer
Have all Dimension List items
been modified?
Assemble word
and store in
temporary area
Save large Di.mension List
counter (00006)
in 00015
Dimension
to buffer
Move all characters up one
location in WS
Store next character from left
in last word
of WS
I----~
~--~.
Adjust (00006)
for modified Dimension List
YES
Store address of
word following lastl---~
array at end of
modified Dimension
List
Store modified Dimension List on
drum for use by
Allocator
t---~
Set beginning address for processing
Allocation Set-Up (cont.)
Enter BR routine
alarm 10 compiler
I--_~inconsi stency .. Tap
5 positioned incorrectly.
Region for Allocation Setup
RE
DC22
Buffer load (in blocks)
RE
TH21
Tape handler
RE
0040101
Modified Dimension List
RE
8R537
Compiler Inconsistency Routine
RE
ZI7230
RE
ZZ7270
RE
ZR7354
RE
ZX7362
RE
ZT7403
(1) Temporary (holds number of
blocks of Dimension List)
RE
WS674
Working area
RE
ZY2705
Buffer area
RE
1.£674
Storage and execution address of
Allocator
RE
MA700
7
RE
LA7064
(=
WS 2011)
= # blocks Allocation phase?
LA = last word of buffer area.
1554
Allocation Setup
IA
ZI
o
TP
ZX
Q
1
QT
14
A
2
ZJ
ZI3
ZI24
3
LT
11
A
4
ST
ZXl
ZT
5
TP
ZX2
TH3
6
RJ
TH2
TH
7
TP
Zy
A
10
EJ
ZX3
Z1l2
11
MJ
o
BR12
12
SP
ZT
13
TJ
ZX4
:Il6 }
14
RS
ZT
ZX4
Reduce block count by buffer length.
15
TO
Z113
ZR
Set to read full buffer of Dimension
List.
16
RJ
ZZ63
ZZ
To build modified Dimension List.
17
TP
ZX2
TH3
20
RJ
TH2
TH
21
TP
Zy
A
22
EJ
ZX17
Z125
23
MJ
o
8R12
Tape #5 positioned incorrectly
24
TP
6
15
Large Dimension List counter
25
SP
14
o
26
LT
3
A
Is there a Dimension List?
}
#
blocks Dimension List
~temp.
Read one block and check label for
DIMENS.
Tape #5 positioned incorrectly.
Will Dimension List exceed buffer
area?
Read one block and check label for
Ll 0 F
END
}
1555
#
blocks in Constant Pool
~15.
27
LQ
14
Q17
30
QA
ZX13
A
31
SP
A
25
32
AT
ZX15
TH3
33
RJ
TH2
TH
34
TP
ZX16
35
RJ
TH2
36
MJ
0
CA
ZI37
}
Add # blocks in Symbol List
Move Uniservo #5 forward past
Constant Pool and Symbol List.
:}
Read Allocation Phase to H.S.S.
LC
Jump to Allocation Phase.
1556
1A
ZZ
0
TV
6
ZZ3
Set index to # items in
Dimension List
1
1J
ZZ3
ZZ6
Reduce index by one
2
MJ
0
ZZ63
To exit
3
0
0
0
Index
4
RA
ZZ10
ZX11
Advance address within buffer.
5
TJ
ZX12
ZZ7
Still in buffer?
6
RJ
ZR5
ZR
No; so go to read in next block
7
TP
ZX6
Q
Bit 29 mask
10
QT
30000
A
Bi t 29 of word
11
ZJ
ZZ12
ZZ4
If
12
TU
ZZ10
ZZ13
13
TP
(30000) (WS10)
14
RA
ZZ13
ZX7
15
TV
ZZ13
ZZ40
16
RA
ZZ13
ZX7
17
TP
ZX10
WS
20
RP
10005
ZZ22
21
TP
ZX7
WS2
22
RA
ZZ10
ZX11
23
TJ
ZX12
ZZ25
24
RJ
ZR5
ZR
Read in 2nd buffer load
G)
25
TU
ZZIO
ZZ26
Set to address of symbol word
CD
26
LQ
30000
6
27
QT
ZXI3
WST
C9
0
0
= Ot
~Q
--+
A
recycle
}
If not = Ot store first word
(drum address)
}
Advance to next word
Set address of 1st word for next
variable
Set index for character count.
}
}
Fill with XS3 spaces
Text for end of buffer area
One digIt
1557
~WS7
0
= 77,
30
EJ
ZX13
ZZ34
If
31
RP
30006
ZZ33
If =I 77, move digi ts up one word in
the image.
32
TP
WS2
WSI
33
IJ
WS
ZZ26
34
SP
WSI
6
35
RP
20004
ZZ37
36
SA
WS2
6
37
SA
WS6
0
40
TP
A
30000
Store assembled word.
41
IJ
ZZ3
ZZ4
Recycle to get all arrays
42
TV
ZZ13
ZZ53
43
RS
ZZ40
ZX7
44
TV
A
ZZ52
45
TP
ZZ2
ZZ25
46
RJ
ZZ25
ZZ22
47
RJ
ZZ25
ZZ22
50
TO
ZZlO
ZZ5l
51
TO
30000
ZZ3
52
RA
ZZ3
30000
53
TP
A
30000
54
RP
32001
ZZ56
55
TP
WSlO
DD
56
TP
6
15
57
TP
ZX14
Q
60
SP
6
20
61
SA
ZXll
0
go to assemble digits
6 digits?
Assemble digits in
~
Set addresses to calculate and
store final word
Form and store final word.
}
Store modified Dimension List.
Save counter for large dimension list.
Adjust (00006) for modified
Dimension Li st.
1558
@>
62
QS
A
6
63
MJ
0
30000
CA
ZZ64
IA
ZR
0
SP
[ZTJ
25
1
AT
ZX5
TH3
2
RJ
TH2
TH
3
TU
ZX20
ZZ10
4
TU
Z112
ZR
5
MJ
0
30000
CA
ZR6
l
J
Read Dimension List to buffer
Set beginning address for processing
1559
IA
ZX
0
07
70000
0
1
0
0
2
2
50
105
Zy
3
27
34473
05065
4
0
0
DC
5
50
5
Zy
6
0
40000
0
7
0
0
1
10
0
0
5
11
0
1
0
12
QT
LA1
A
13
0
0
77
14
0
7777
0
15
30
5
0
16
50
MAl
LC
17
30
50270
15131
20
0
Zy
0
CA
ZX21
D
I
M E
N
S
Read Parameter (except
1560
LA
= last
E
N
D
#
blocks.)
word of buffer area
fJ.
0 F
b.
ALLOCATION PHASE
The Allocation Phase serves two purposes:
1)
Builds Op File III for each segment and writes on tape.
op File
III
(2
Call word
# lines in routine
1.
2.
word items)
H.S.S. running location
or
1.~____~____~~__C_a=1~1~w~0~r_d____~____-r~~~____~__~~~~~_______
Segment # Segment #
H.S.S. running 10-rIf the end
poin~ of ?ne~
way Jump IS In
or
another segment
1.~____r -__________C~a=1=1~w=o=r~d~________~__~~____________
, _____________
2.
# of data
H.S.S. running 10- r1f call word
cation
is of the form
77xxx which
< refers to a
group of data,
e.g., xl, x2'
xIO·
2.
14
from
jumped to
cation in another
segment
<
I
2)
Generates the necessary instructions to manipulate data between segments
during the running program.
a)
These instructions are called:
The Preface, which transfers 77xxx type data to their storage locations in H.S.S.
b)
The Termination, which transfers updated 77xxx type data to their
designated locations on MD.
The Preface and Termination instructions operate in H.S.S. during the interlude between 2 segments.
After generation of these instructions for each seg-
ment, the Preface and Termination are written on magnetic tape.
1561
Input:
The Allocator receives as input (from Segmentation):
1)
Op File ITa - call words of routines and data in segment.
2)
Op File lIb - call words of end points of
~
one way jumps within
the segment.
These files are on Uniservo tape by segment.
3)
Output:
Dimension List with MD storage addresses for 77xxx data.
The output of Allocation consists of:
1)
Op File III by segments on tape.
2)
Preface and Termination for each segment on drum.
Procedure:
Read Op Files IIa and lIb into H.S.S. one segment at a time.
Then
compare each call word in Op File lIb against the entire Op File IIa for this
segment to determine if the end of the jumps (which are actually the words in
lIb) appear in the same segment.
If equality is not met, the call word from
lIb is entered in IIa. thus increasing the length of Op File IIa.
Each new
entry into IIa at this time is accompanied with the flag 14 in the operation
position of the next word.
words.
Thus, each new entry in IIa is an entry of 2
Each time an entry is made in Op File IIa the call word from lIb is
also placed in another list, called Directory 4, which will be used only during this phase.
Each entry in Directory 4 is also a 2 word entry. consisting
of call word in the first word and the segment number in the second word.
item in Directory 4 at this time looks like this:
Op
1st word
00
2nd word
00
I
u
o
I
Call word
Segment
number
1562
v
00000
I
00
00000
I
An
The above procedure is followed until all the call words in Op File IIb have
been checked against Op File ITa for one segment.
Each call word in Op File IIa is then checked to determine the type of
routine or data to which it refers.
The determination of the type of routines used in the segment, along with
the number of lines in the running routine (available in Op File IIa), enahles
us at this time to assign actual operating addresses according to the High
Speed Storage layout:
CONTROL SECTION (fixed length all problems; includes Tape Handler)
BUFFER AREAS for Input-output Instructions (as required)
S
STATEMENTS
R
SUBROUTINES
1) Library Routines
2) Pseudo Operations
3) Defining Equations
D
DATA AREA 1
Multiple valued (77---type)
DATA AREA 2
Single-valued variables (fixed length for all segments)
CONSTANT POOL
(fixed length for all segments)
Control being of fixed length and buffer area requirements for this problem being known,
we can locate S exactly.
During Segmentation, a separate
tally of statement lengths permits determination of R exactly.
D is deter-
mined by the accwmulated tally of total statement and subroutine lengths pluS
two.
(The plus two accounts for the locations required by the Processor to
provide continuity between sequential segments.) With these starting points
1563
~,
!, and D, assignment of memory locations in a forward direction can be
made according to the category determined by the call word.
The nwmber of lines of data, or the number of lines in the routine, is
also used to fill in the u portion of the items in Op File IIa.
At this time,
Op File IIa is beginning to resemble the new Op File III which is actually an
expanded and modified Op File IIa.
After completion of the foregoing process for each segment. that segment's
Op File III (Formerly Op File IIa) is written on the drum, and Directory 3 is
constructed, containing one word for each segment, in the following format:
Op
u
00
MD location of 1st
word of Op File III
v
of words in Op File
III for this segment
#
Thus, the first word in Directory 3 refers to the first segment, the second
word, the second segment, etc.
When Op File III for the last segment has been written on the drum, Op
File III is in its final form for all items except those referring to jumps
to other segments.
But Directory 4 is actually a combined listing of these
call words for all segments.
So, we use the items of Directory 4 to search
against Op File III (by segment) and fill in Directory 4 with number of the
segment in which the call word is found, and the operating address of the routine during execution.
have been processed.
1st word
2nd word
This continues until all the entries in Directory 4
A complete Directory 4 item is of the form:
Op
u
00
Call word
Segment
Segment
from
to
14 0
v
1564
00000
H.S.S. running
address in segment to
The second word of the above item in Directory 4 is filled into Op File III
(one segment at a time) in its appropriate place to complete Op File III.
While each segment is in H.S.S. at this time, the instructions for data manipulation are generated and stored on the drum.
The instructions for data manipulation are prepared from Op File III.
Each multiple word data group has been assigned an area on
~~
and the starting
address of the area for each variable is available in the Dimension List.
Using Op File III and Dimension List information for each 77xxx type call word,
the Repeated TPts are generated.
When this listing is complete. the
Repeat orders are determined and recorded.
forward for Termination.)
~
of
(Reverse direction for Preface;
The wts for the Preface are fixed H.S.S. operating
locations (not relative) since they are generated at a point during compilation when the exact starting address of Data Area I (77 - - - type) is known.
Since the length of the Preface is known when Termination wts are written,
they too are assigned fixed addresses in the l20-word buffer area within the
Control Section.
The completed Op File III and the Preface and Termination for each segment
are stored on magnetic tape and will be used during the Processing Phase.
This phase is complete when Op File III, Preface, and Termination for all
segments of the problem have been written on tape.
1565
Allocation Phase Flow Chart
Transfer parameters to
GTH. Read one block Uni~~ servo 3 (or 6) to tape
image storage
YES
tape label
correct?
GTH
,--N_O_~Alarm 8
1
1
I---~
Send code word to GTH
to read one block to
tape image
Read
one block
Alarm 8
Set @ to @
Set 04 to fixed address (H.S.S.)
and Set K =1 (retain 04 initial in
Temp. 2) Set M = 0
Set G to fixed drum address
Set 03 to H.S.S. address and (retain 03 initial in temp 3)
Set C = 0
Is first word of tape
imageCLtwo A A A"?
Are words and 21 of
tape image zt s
NO
1------------
Is first word of
.
"two fj B L.l
A" ?
Image
Allocation Phase Flow Chart (cont.)
Transfer word 3 of TI
to L
~~~ Transfer word 5 of TI
to D
Read one
block
Transfer words 5 and 6
to 1st two locations in
Op File IIa
area
Transfer word 6 of
tape image to R
~~~
Transfer code word to
read one block of
info Ope File IIa to
H.S.S. at fixed address of IIa
Preset address in code
word and test word ad....,----,dress for Box I to Op
File IIa fixed address
Box 1
Is first word of
block END A OF?
------.--~--------
......------'~
Advance address in code
Set fixed address of
word by 120. Transfer ~_~ Op Fi Ie lIb
word 3 of TI to 1
NO
Advance address in code
word and the address of
test word for box 2
by 120
Box 2
Is 1st word of
block ENDAOF?
Set up address for
test word for use
in Box 2
Read one
block
Transfer code word to
GTH to read one block
to lIb area
Allocation Phase Flow Chart (cont.)
Q
J,,-__se_t_c_o_n_n_e_c_t_o_r_A
_ _......
\Jj__
to A2
I--~
Initialize:
Set i = 1
j = 1
A·J = fixed address of Op. File
II a
b.1 = fixed address of Op. File
II b
M
=0
11A=0
YES
8.S.S. address
word and the
of test word
1 by 120
Advance
C by 1
?
YES-.J Set index
Is call word in
1st word of lIb =
00000
Advance
of code
address
for box
Record call word from
1st word of Op File
II b into 5th word
of Op File II a
in Directory 4
Enter zero in 5th and}-<0
6th words of Op File
3
II a
Jt--~V
~~
Insert flag in 6th
word of Op File
II a
Insert Kx2
in D4 + 1
21
Advance D4 by 2
and M by 1
Allocation Phase Flow Chart (Cont.)
B-1
Pick up u portion of
In Op. File II a?
RP
b i. Set n of RP comRP2 n
w
EJ
l--~ mand in B-1 equa 1 to L
EJ Fixed address Op
File II a
NO
Insert flag in a, + L
(Flag is 14
).
Insert K x 221 in
04 + 1
+ 1.
Advance 04, L, and
M by 2
~
_rAclvance
~LbYl
~-~
Have we examined
all b i's? i.e.,
Does i = 1 + I?
Store u of bi in
a 1 + L and in 04
Set:
S = Address where first statement
of each segment will start
R = S + total # lines of statements
+ 2 (2 for IP command)
o = S + total # lines of statement + routines + 2
NO
Is this call
word a statement
cal1word?
Yes
Is this call
word flagged?
Obtain u portion
of a .
:>btain v portion of
a j + 1 and store in
[ temp 1 ( # lines)_ _
-I
Store # lines+--_ _
in u-portion
of a.' + 1
----J
1-------1
NO
Allocation Flow Chart (cant.)
Is t is callword
of an drray?
NO
NOTE
Call words changed from:
70 __ _
to 27 __ _
71 __ _
24 __ _
{ 25 __ _
Set R in v of
a j +1
4 ___ _
72_ ... _
73 __ _
5 ___ _
74 __ _
22 __ _
75 __ _
26 __ _
66 __ _
65 __ _
76 __ _
Advance A .
by 2
J
Does A.
J
Form:
(R + Temp
in R
1)
77 __ _
{ 64 ... __
77 __ _
= L + I?
B-2
Transfer Op File III (L words) for
segment K onto MD starting at G.
Insert segment number K to replace
# of lines of data in first word of
Op File
(Read in next segment)
Record G in u portion of D3
Record L in v portion of D3
(Builds Directory 3 for segment K)
Advance G by L
Advance D3 and K by 1 t E - -......
Allocation Flow Chart (Cont.)
Pl:ace S into v
of a j + 1
portJ-1
Place D into v
portion of a j + 1
~G
Form:
S + Temp 1--7 S
Form
D + Temp
l~D
Initialize:
Set P = 1 (segment #)
.--;.
0-
Set index 2=M - 1
Set D3 to D3 initial (1st address
of Directory 3)
B-3
Transfer Op File III
for segment P from drum
to H.S.S.
RP
n
w
IE-Op File
TP
u
image
., 11
Set D4 to the 1st ad-
. dress of Directory 4.
--"'"
Set index 1 = M - 1
M = +t items in Directory 4
Transfer u portion of Pth word to
u portion of TP command in B-3
and transfer v of Pth word to n
of RP commands of B-3 and B-4
t-
Obtain Pth word
Directory 3
Allocation Flow Chart (Cont.)
t--~
Pick up Op portion
of 0 4+1
code 14 ?
NO
Pick up u portion
of 04
B-4
Is this call word flagged
in segment P in Op File
III?
YES~
Is this callword in
Op File III for segment
P?
RP
n
w
EJ Op File III image
Index 1 = O?
(Initially set
to # items in
Directory 4
Advance
D4 by 2
YES
Record v portion of
word just tested in v
portion of 04+1
Insert 14 in OP
portion of D4+1
(148-234) ~ D4+1
Store P x 2 15
in D4+1
Set D4 = fixed address
of Directory 4. Set
index lA = M
YES
NO
Transfer u portion of
Pth word in directory 3
to u portion of TP command in 8-5, and transfer v portion of Pth
word of directory 3 to
n of RP commands in
8-5 and 8-6
Set P = 1 Initialize
(for data manipulation)
Set Temp 3,4,5,6 to
dummy instructions
Temp 3 (75:l.-_
Temp 4
11 ____
Temp 5
75 L - _
Temp 6
11 _ _ __
Set
8-5
Transfer OP File III
for segment P from MD
to H.S.S.
RP [n] W
TP LJ Op File
ima e
K = 0
Index lA = O?
(Set initially
to # items in
Directory 4)
NO
Obtain bits 21-26 of
04+1 in K
Is K
=P
?
YES
YES
Add one to
Index 1
Add one to HS
address in 1st
1E----1 IP command
NO
Obtain u portion
of D4
Locate this call
word in Op File
III for segment P.
Found?
RP [m]
EJ
Op File
Is this call
word flagged
Yes
in this segment?r------~~
NO
NO
'----~
Alarm 6
____
Ad_v_a_n_e_e__
D_4_b_Y__2____
~~~----,
1
Alarm 6J
Replace word just
tested by the
contents of D4 + I
YES
Allocation Flow Chart (cont.)
Initialize for Segment P
Set Preface area in 8.S.S. to ex
Set Termination area in 8.S.S.
Set Box 17
n = length of Op File 3
(from B-5)
u = 1st 8.S.S. of Ope File 3
for seg j
B-7
Enter 76777 in
Search Op File
77XXX. Found?
75
2
n w
42
u
YES
v
NO
Use Q to reset B-7 to
continue search. i.e.,
reduce
n by ~ increase
i'E----t
u by r
Allocation Flow Chart (Cont.)
~
Is the number of
lines of data for
thi s array> 77778?
YES
J---~
Determine from call
word the location in
Dimension List of the
drum address for this
array.
Set number of words
for this array to 77778
~-----;~ to bui Id Preface and
Termination. Reduce
original number by 7777.
NO
Increase drum and
H.S. addresses used
in Preface and
Termination by 7777.
YES
Is the number of
words for this
>17776?
NO
Set number of words
for this array to
77778 for Preface and
Termination. Reduce
number of words by
Increase drum and
H.S. addresses used in
Preface and Termination
by 7777.
7777.
Reset exi t in
CM routine
-.---~
Determine from
Dimension List the
drum address for
th i s array,
~--~~
Set n of RP commands
for Preface and Termination to number of
words in this array.
Set j = 3,
Determine drum and H.S.
addresses for this array
and insert in u and v
portions of TP commands
of Preface and Termination.
NO
YES
,,
Transfer completed
Preface and Termi~------~nation commands
to buffer area.
Set w of RP
commands for
Preface and
Termi na t ion.
Increase Temp 10
by 170.
Allocation Flow Charts (Cont.)
Insert in w of last
RP of termination
control address to
read in next segment
~--~
If more than one block
of termination, insert
in w of last RP command
of each block (except
last) the control address to read in
another block of termination
YES
Sum the number of
blocks already written
on tape 5 by other
phases
Allocation Flow Chart (Cont.)
Add number of blocks
of Op File III this
segment to previous
count
Will information
on tape 5 exceed
2500 blocks?
NO
I-'
c..ra
co
o
Does total exceed
2500?
NO
Add number of blocks
of Preface to previous
Write Op File III
total for tape 5
~---I on tape 5
Allocation Flow Charts (Cont)
Write Preface for
Add number of
this segment on
blocks of Termi~.-~ nation to pretape 5
vious total
Does total exceed
2500?
NO
YES
P = C
+ I?
Advance
..... P by one
~---.;..
......
CJl
co
......
NO
Write two full
blocks of Z's
on tape 5
~
zy.
irst time
through. th is
routIne?
Move tape 5 back to
beginning of Op File
L---~III for first segment
Printout: WARNING
UNISERVO 5 DATA WILL
I---YE~S--~EXCEED 2500 BLOCKS.
ATTEMPT BEING MADE TO
CONTINUE COMPILATION
Exit
Allocation
Phase
Write Termination for
this segment on tape 5
Allocation Regions
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
GT21 }
UP421
BR537
BQ632
CA674
CB763
CCI020
CDI056
CEl120
CFl175
CG1237
CH1266
CI1321
CJ1355
CK1407
CL1435
RE
CM1450 }
CNl505
CP1522
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
BK1545
CQ1557
CR1645
CS1707
CT1742
Zl1760
ZY2144
ZW2174
C02213
FA3142 }
ZI-\3142
ZB2545
ZC42102
ZD2644
LD2242
TL2243
TI2355
CU6
ZF7000
ZG7400
ZX76000
B576017
RE
RE
RE
ZE7230
CX2255 }
CZ2323
RE
Subroutines
Begin Data manipulation
Stores information for Preface and
Term.
Build Preface and Term. in
buffer areas
Sets up "W" of RP-TP for exi t of
Term.
Preparation for writing onto tape
Write Op File III onto tape
Write Preface, this segment onto tape
Write Termination this seg. onto tape
Exit region
Storage and constants
Error Printout
Warning Printout
Patch correction regions (27)8 loco
H.S.S. Address Ope F. 2A-6
Fixed address of Directory 3
Fixed drum address of Op File III
Fixed address of Directory 4
Limit of drum (77000)8
Limit of tape (4704)8
Tape Image
For assigning loco for CT13 & CT16
Fixed address for building Preface
Fixed address for building Term.
H.S.S. dump of TI for checkout
Region for generating M.S.'s in
checkout
Fixed address of LOC 2B
Patch correction allowing
data arrays > 7777
1582
Allocation
0
1
2
3
4
5
6
7
CD
@
®
@
®
IA
MJ
RJ
TP
EJ
MJ
TP
EJ
MJ
CA
GT2
TI24
ZZ43
0
TI25
ZZ44
0
CO
GT
A
CA5
BRIO
A
CAIO
BRIO
0
Test for proper label
of Tape #3 (1st Bk)
10
....n
.1r
L..L
~n
£'I\LL
11
12
13
TP
TP
TP
ZZ25
ZZ31
ZZ31
ZZl03
ZZl07
ZZ62
14
TP
Zl16
ZZl06
TP
ZZ17
ZZ20
ZZ31
ZZ52
GT2
TI
ZZ45
ZZ46
ZZ51
TP
TP
RJ
TP
EJ
EJ
EJ
MJ
TP
EJ
MJ
TP
TP
TP
TP
TP
TI2
TI4
TI4
TI5
TI5
ZZ72 }
Zl71
ZZ105
GT3
GT
A
CA32
CA51
CA27
BRlO
A
CA65
BRIO
ZZ110
ZZl13
ZA2
ZA3
ZZl12
37
TV
ZZ21
ZZl02
40
41
42
43
44
45
46
47
SP
Tll
TP
RJ
TP
EJ
RA
RA
ZZ21
A
ZZ102
GT2
[30000]
ZZ47
ZZ102
CA44
17
CA44
GT3
GT
A
CA20
ZZ30
50
51
0
CA42
RA
ZZlO2
ZZ~30_
TP
TI2
ZZ22
ZZlll
ZZ102
52
53
MJ
TV
0
TI24
ZZ51
0
Set connector A to Al
Segment #l~K
O~M (word count Directory 4)
O~Temp 1 (# lines rtne. for
current C/W)
MDAF3~G (fixed drum address
Op File III)
Set Dir. 4 & Dir. 3 to
fixed address
O~C
(C u = count of segments)
Read in next block
into TI
First word~A
Test for 'TWO~A~'~CONN 38
Test for 'TWO~ B~ '~CONN 40
Test for 'ZZZZZZ'
v./-\oo
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
TP
Read in Tape label (1st Bk)
i. eo i' FILEll61W0~~ll t
}
}
21st word to A
Test for 'ZZZZZZ'~CONN 42
}
}
}
}
ZZ27
1583
Length this segment IIa~L
Start to build D for this segment
5th & 6th words saved
for Op Fi Ie III
~R = next address to assign to
rtnes.
Set up LOC2A address in code word
for GTH
Set up "test word" address
Read in next block into IIa area
Test first word for END~OF
(CA20 =(!))
GENCOD + 120~GENCOD
Test word address + i20~Test
word address
Jump to read next block (CONN 39)
GE_NCQIL+ 140~GENCOD
Length lIb this segment~l
TV LOC2B ffiNCOD
54
55
56
57
60
61
62
63
@
®
64
65
66
o
1
2
3
4
5
6
7
10
SP
Z222
TU
A
TP
RJ
TP
EJ
RA
RA
ZZl02
GT2
30000
ZZ47
Z2102
CA60
MJ
TP
[30
CA
IA
TP
TP
SP
AT
MJ
RA
SP
TU
TU
11
TU
12
13
14
SP
ZJ
TP
15
16
17
MJ
TP
20
21
22
23
24
25
MJ
TP
SP
TP
RA
RA
26
27
30
31
32
33
34
MJ
SP
TP
o
o
ZZl
CA67
CB
ZZ21
ZZ22
ZZ77
ZZlll
o
~A66 }
CA56
CA66
o J
Either MJ CONN Al or CONN A2
1276 }
ZZ77
Set up AJ & BI this segment
LOC2A~AJ; LOC2B ~ BI
~101}
ZZ22
A
A
A
CB12
[30000]
CB17
A
A
o
[30000J
o
ZZ41
ZZl03
A
LOC2B~A
u
Set commands with first address of
Op File lIb
Is first word of Op File lIb = 0 ?
Zeroize 5th and 6th words of Op File
IIa
ZA4 }
ZA5
CC33
ZA4 }
Jump to@
Record flrst call word of Op File
lIb into 5th word of Op File IIa
and first word of Directory 4
Flag~next word of Op File IIa
Insert segment # in second
word of Directory 4
Dir. 4 + 2~Dir. 4 (next loc.)
M + l~M (count of items in
CB27
ZA5
~OOOO}
ZZ32
ZZ26
o
CC33
Directo~, 4)
Jump to@
Dir. 4~V
o
CB33
TV
A
SA
ZZ26
o
TV
A
CB23
TP
MJ
CA
30000
o
Form test address to indicate
end of Op File lIb list
C + l~C (seg. counter)
gB14 }
1272
ZZl07
1272
Read 1 block into lIb area
Test word for ENDil OF
----;.. CONN A
ffiNCOD + 120 ~ffiNCOD
Test word address + 120~Test
word address
Jump to read next block
ZZ30
ZZ27
CB5
ZZ25
17
CB17 }
CB33
ZZl05
Set up address for test of
ENDil OF for Op Fi Ie lIb
17 }
CA60
GT3 l
GT
r
30000
CB21
CB35
1584
Ill..
®
o
1
2
TU
3
4
SP
5
[ 30000J
[30000J
ZA4
10
SP
RP
EJ
TP
11
SP
ZZ2i
12
13
14
15
SA
12110
TV
TV
A
ZZ72
TP
ZZl15
16
17
20
21
22
23
24
25
26
27
30
TP
SP
SA
ZZl15
CC15
ZZ26
TV
A
TP
SP
SA
6
7
®
CC
ZZ110
ZZ135
SP
SA
TU
A
1277
A
A
17
I
gC6 J
Set n of RP to L; j = 2.
17 }
gC5
Pick up "u" portion of BI in A
CCI0l
CC33f
ZZl15
Test Op File IIa for CW from
Op Fi Ie II b
Hold AR in WSI
o
A + L~A I
)
o
T
I"\."n...
_
ft.
LUv~}\~}\
CC15
CC16
[30000J
"'-
~
Setup CC15
WSl~i.e.
store CW in BI at Op F.
2A + L and in Directory 4
[3000Q]
gC22 }
Setup CC22
ZZ41
CC16
ZZ26
gOOOOJ}
Insert flag at Op.F.2A + L + 1
TV
A
CC27
SP
TP
RA
ZZ103
6
A
ZZ72
[30000J
31
32
RA
RA
2Z110
ZZ107
1232
ZZ26
33
RA
1277
ZZ26
34
35
EJ
MJ
CA
ZZ101
CD
CC
Ill..
CD
ZZ112
ZZ26
ZZ2
12
ZZl13
ZZ114
12114
o
RA
1
TP
2
QT
3
4
5
6
RA
SP
AT
SP
o
Set up CC27
Directory 4
loco
in
Op
test
CC36
Set R to address following IP
command
Set up mask V
Mask • ® t from location (12)8
Q
D
ZZ76
~100}
-7
\
7
TU
A
6016
10
SA
ZZ25
o
11
TU
TU
A
A
.ZZ115
CD15
LT
25
A
12
13
Insert K x 221 (seg. #) in
Dir. 4 + 2~Dir. 4 (next
avai lable)
L + 2 ~ L (length + 2)
M + l~M (count of items
Directory 4)
BI + l~BI (address next
Fi leI I bit em )
Test for completion of BI
Jump to CONN 2
ZZ32
1276
ZZl10
+ S~D
Form test address to indicate
end of expanded IIa list
J
CW
address~A
u
in u
(CW address) +
1
l~(WSl)
11
Shift (CW address) + 1 to A
v
1585
®
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
40
41
®
®
G)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
TV
TV
SP
LQ
TU
LT
EJ
EJ
MJ
SP
TO
SP
TP
QT
EJ
SP
LT
TV
TV
A
[300~
[300~
ZZ62
ZZ62
14
ZZ124
ZZ125
0
ZZl15
A
[3OO00J
ZZ5
A
ZZ41
ZZl15
25
A
ZZl14
RA
MJ
CA
ZZ62
ZZl14
0
CD42
IA
EJ
MJ
CE
ZZ126
0
LQ
0
0
0
0
0
0
0
0
0
0
CD20
ZZ62
0
17
A
CD25
CD25
CE
0
CD27
0
Q
A
CE16
0
A
CD36 }
[30000J
25
1262
CE16
Test for flag "14"
Jump--+6
(CW address) + l~A
(CW address) + l~Au
v
Send S to v portion of 2nd word of
item
Test 77 type CW~
Assume 25, 24, 22, 5, or 4
0
0
0
0
20
21
22
23
24
MJ
TP
RA
SA
SA
ZZl03
ZZllO
ZZ35
ZZl06
25
26
TJ
MJ
LD
0
CE27
ZWl
27
SP
ZZllO
17
0
Test "26" CW
Test "27" CW
Jump to@
Jump to@)
CF
CEIO
170
LQ
RA
RA
EJ
TV
TV
lines in rtne in Temp 1
Shift ~ lines to u position
# lines~u of second word of item
[3000~
0
0
ZZl15
25
A
ZZl12
ZZ62
ZZl12
ZZ76
ZZlOO
SP
LT
#
CW~A
0
0
A
CE13 }
[30000J
25
ZZ62
ZZ32
CE21
CD6
FA
ZZ32
0
0
(CW address) + 1 ~ A
(CW address) + 1 ~Au
v
R~v portion
# lines shifted in Temp 1
R + # lines~R
Address of CW address + 2
Jump to (Vwhen end of Op Fi Ie IIa
reached.
Jump@)
Seg. # ~Op Fi Ie III
L + 2~L
A = L; A + 4~A
Add G (next open M.D. address for
Op File III
Test limit of drum
~ Error print & jump to BQ6
(rewind tape, etc.)
L~Au
1586
30
31
32
33
34
35
36
37
40
41
42
43
44
45
46
47
50
51
52
53
54
@
@
~
~
TP
SA
SA
A
ZAl
2Z34
0
0
CE35
1237
Au~~ words Op File III
Add 4 in u
Add 3 in j
TU
A
TV
RP
TP
TV
SP
ZZ106 CE36
[30000J CE37 }
FA
[3000Q1
CE42
ZZ71
CE44
ZZ71
17
12106
TU
A
[30000J
MJ
RA
RA
RA
AT
MJ
SP
LT
MJ
CA
0
A
ZZ71
ZZ103
ZZ106
ZZ35
0
FAI
25
0
CE55
CE52
[30000J
ZZ26
ZZ25
ZZ110
ZZ106
CA20
IA
SP
LT
CF
ZZ115
25
0
TV
TV
A
CF3
TV
TV
Transfer L + 4 words of
Op File III to MD at G
G~A
Au~Directory 3
lines in Op File
Av ~Directory 3
~
III~Av
Jump to CD; read in next seg.
0
A
CE44
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
LQ
RA
MJ
SP
ZJ
TP
MJ
TP
ST
TP
SP
5T
SP
SA
S5
TU
TU
TU
SP
MJ
ZZl13 [3000~ j
25
ZZ62
12113 ZZ62
0
CE16
ZZ107 0
CFll
CF13
ZZ120
ZZ31
CH24
0
ZZ104
2225
22121
1226
ZZ72
1217
12107 0
ZZ120
Zl26
17
ZZ20
12104 0
0
ZZ25
CF25
A
CF26
A
[30000J CF34
[30000J 17
CF35
0
30
SA
ZZ34-
31
32
SA
TU
12.37
A
A
..,
}
}
_0_0
CF33
1587
(CW address) + I~Au
(CW address) + 1 ~Av
D~(CW address) + 1
~
lines +
D~D
Jump to@
M~A
o ~Index 1
Jump to @
lu~Pu
1 ~Index 2
Set Dir. 4 to fixed address
M-
M - 1 ~Index 1
Item address of Directory 3~Au
Add P
Subtract 1u Transfer u-portion
of pth word in Directory 3
to transfer command
and
h
Transfer v-portion of pt word
in Directory 3 to n of RP command
+ _4_tnu
+ 3 in j
33
34
35
36
37
40
41
o
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
RP
TP
TU
RA
TU
SP
MJ
CA
IA
TP
SP
TU
SA
TU
SP
QT
EJ
MJ
SP
RP
EJ
SP
LQ
S5
SA
TU
TU
TP
SP
QT
EJ
MJ
CA
Transfer Op File III for
this seg. from M.D. to H.S.S.
Set up j n at CG12
o
CG }
FA
CG12}
2236
CF40}
17
CF30
ZZ5
Q
Zl72
17
CGll
Mask
Dir.
[30000]
G300oo]
A
CG12
CF26
30000
CF42
CG
A
ZZ25
A
[30000J
A
eH
ZA4
CG12
Q
Q
ZZ7
A
A
ZZ5
[30oo0J
A
ZZ41
o
RA
MJ
RA
MJ
SP
SA
ZZ104
TV
TV
A
[30oo0J
11
TV
12
13
14
15
16
TP
Q5
CH10
ZZ3
Zl104
CH13
3
4
5
6
7
10
TV
TP
QS
CG14
}
o
l~A
jn~Au
jn - r~Qv
17
j n - (j n - r) = + r ~ Au
Add fixed address of Op File III
o
o
CG23
CHIO
t}
Test for flagged CW in segment P
Jump to
Jump to
CH5
@
@
CG27
CH
Zl120
1
2
°
4~Au
Pick up Op portion of word
given by address
at Dir. 4+1
Test Op portion for '14' flag
Set j of RP to 2
Obtain CW given by address in Dir. 4
Test this segment Op File III
for this CW
o
30000
30000
Op~Q
Dir. 4 +
A
CH
CGll
IA
IJ
o
o
CG5
o
ZZ41
Set up j n at CF33
o
ZZ72
o
ZZ72
ZZ26
Test that all Directory 4 checked
against this segment
P + 1u---':'> P
Jump to~
Dir. 4 + 2~Dir. 4
Jump to~@
CH3
Zl25
CF15
ZZ32
CG
Set v-portion CHID to address
given by Dir. 4 + 1
Record running address for this
CW at Dir. 4 + 1
gHlO \
[300~
CH13
Mask~ Q
15
Record P x 2 in Dir. 4 (segment to)
Insert "14" in Op of
Mask Op
address
given by ad}
dress at Dir. 4 + 1
Q
[30000J
ZZ5
CH16
Q
ZZ41
[30000J
1588
17
IJ
20
21
22
23
24
25
26
27
MJ
TP
TP
MJ
TP
TP
TP
TP
CH
o
CH21
ZZ72
ZZ1611
CH24 J
12104
ZZ63
1264
ZZ17
Z'Z107
o
ZZ25
ZZ10
ZZ133
ZZ134
TP
TP
MJ
CA
ZZ133
ZZ134
CI
ZZ20
ZZl04
1225
5
6
7
IA
SP
SA
SS
TV
TV
TV
SP
TV
10
TV
11
TV
SA
SA
TV
RP
TP
TP
IJ
MJ
SP
TV
SA
30
31
32
o
1
2
3
4
12
13
14
15
16
17
20
21
22
23
24
25
Test index 2 that all items Directory 4 processed
ZZ121
o
Set Dir. 4 to fixed address
Set Index lA to M
1
ZZ65l
1266
Z267
CI
Set Temps 1, 3, 4, 5 & 6 to
nnmmv
J
--"~"J
i_ ••
n -~ trlli'.t i ..... n c;;:
W~
Jump t07
-~
w_
~
•• -
@
CH33
A
A
[30000J
[30000J
A
A
A
CI5
CI6
CI16
17
CK7
12117
CJ5
ZZ34
1237
o
o
A
CI15
CI32 }
FA
ZZl03
CI22
CJ
17
CJ4
[30000J
[30000J
ZZ31
ZZ161
o
ZZ72
A
1225
o
TV
A
CI30 }
26
27
TV
TP
A
CJ24
ZZ4
30
31
32
33
QT
[30000J
MJ
RA
:l03}
CJ5
o
MJ
o
CA
CI34
LOCD3 ---? Au
A + P~A ; Transfer u-portion
of pth word of Directory 3 to
the u-portion of the transfer
command in CII6 and set n
of the RP commands at CIIS
Au = ~ words in Op File III this seg.
Set ~ words for 77--- data search
Save ~ words in working Tem~
17
o
o
+4
+j
=3
Build Op File III image
O~K
Index lA set initially to M
Jump to CONN 19
Dir. 4-.-?Au
Set address of Directory 4 item
plus one
Set address of word 2 of Directory
4 item
Mask 'segment from' number into
K (26-21)
Jump to
CJ
2Z36
CI17
.l-
,
1589
J;
::::::
-
')
..
@
o
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
IA
SP
EJ
MJ
TP
SP
RP
EJ
MJ
SP
LQ
SS
SA
TU
CJ
ZZl04
ZZl03
o
C022
[30000]
[30000]
ZA4
o
CJ5
Q
Q
ZZ7
A
ZZ5
[3000Q]
22
TP
SP
QT
EJ
MJ
LQ
23
TV
24
25
26
27
30
31
TP
RA
MJ
RA
RA
MJ
CA
[30000J
Zl72
IA
TP
TP
RA
SP
AT
CK
ZZll
ZZ12
CK7
FA2
12
o
1
2
3
4
5
6
7
10
TP
SP
RP
TJ
6
P~A
CJ3
CJ27
ZZ162
If P = K, go to@ (OOPOO = OOKOO)
Reset value to 171 for region CM
Jump call word to A
Locate this call word in Op File III
for segment P
Alarm 6
o
CJ7 }
CJIO
BR6
o
jn~(AR)u
jn - r~Qu
r ~(~)u
17
o
o
Finds address of 2nd word Op File III
item
r16}
Test if CW flagged in this segment.
A
ZZ41
o
CJ16
Q
o
FA5
ZZ161
o
CJ22
BR6
Alarm 6
g~~4 }
Replace Op File III word by second
word of Directory 4 item.
30000
ZZ32
CI17
ZZ26
ZZ26
CK
Dir. 4 + 2~Dir. 4
Jump to @
Add 1 to H.S.S. of first "IP"
Add 1 to index lA
Jump to @
CJ32
A
ZZ153
[30oo0J
[FA4J
1275
ZZ36
~113}
ZZ141
Set uD" for Preface area
and Temp D = # words = (S+R+2)+L ( )R
~7~Au
)
------;,
search for
data CW
- jn + r~Au }
+ jn
calculate #
r~WSl
repeats
Set to continue search
o
CK24
CKII
17
11
SN
Q
12
SA
CK7
o
13
14
15
16
17
20
21
22
23
TU
A
RS
RA
CK7
CKIO
TU
TU
A
A
ZZl15
ZZl15 }
ZZl15
CL
RS
SP
TJ
MJ
CK22
ZZ41
30000
o
Initialize Alpha and Beta
(next address in Preface or Term.)
ZZ74 }
CK22}
ZZ25
Test if above TJ command
reacted on a "14" in the Op code
o
CK6
CL
1590
24
25
TO
MJ
CA
ZZ7
o
CKIO
CP
Reset (TJ FA4 CKll) on exit
CK26
1591
Stores Information Necessary In Building Termination and Preface
@
®
@
0
1
2
3
4
5
6
7
10
11
12
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
IA
SP
MJ
TV
RS
TU
SP
TP
QT
LA
AT
MJ
CA
IA
TU
RA
TU
TV
SP
TU
TU
TU
SP
LT
TV
SP
TU
SP
SS
TJ
RA
MJ
TP
RJ
TV
RA
RA
TV
MJ
SP
LT
TV
MJ
CA
CL
[30000J
0
A
CL
CL
[30000J
ZZ6
A
A
Zl143
0
CL13
CM
ZZ136
ZZ64
ZZ64
ZZ137
ZZ140
A
[3OO00J
A
[3ooooJ
25
A
12137
A
ZZ74
ZZll
ZZ162
12162
0
C021
CM23
12113
ZZ113
ZZ147
ZZ147
0
ZZ37
25
A
0
CM35
0
CX2
ZZ137
ZZ25
CL5
0
Q
A
1
Z'l140
CM
ZZ64
ZZ37
ZZ66
1265
0
CM6
ZZ65
CMI0
0
A
ZZ67
17
1267
0
0
CM23
ZZ146
CM22
ZZ147
CM31
ZZ64
ZZ32
2nd word of 77--- data
item~A
H.S.S. address
Bv
CW~Au
L(00777)u~ Q
Mask and multiply by 2
}
MD address of array-;. Temp Cu
Set up RP command for Preface
}
Set up RP command for Term.
Set data H.S.S. address for Preface
}
Set up address of array on MD
}
Set up address of array on MD
for Term.
}
}
Set data H.S.S. address for Term.
Calculate
#
words in Preface
Test # words < 170
Increment by 170
1 shot switch
D + 240 D
ZZ32
TE+2~TE
ZZ66
CN
~64
~Temp
}
W
of
RP
Send (30000)v to first Preface
RP w command
}
CM26
1592
IA
eN
0
TV
ZZ74
1
RA
ZZ74
2
TV
Zl74
3
TV
RA
TV
ZZ75
7275
1275
ZZ64
ZZ65
ZZ66
ZZ67
ZZ74
ZZ75
0
CN15
4
5
6
7
10
11
12
13
14
TP
TP
TP
TP
RA
RA
MJ
CA
CN6
ZZ26
CN7
I
I
Set up transfer commands (i.e.,fill
in v-addresses)
CNIO
ZZ26
CNII
[30000J '\
[30000J]
[30000J
[30000J
ZZ26
ZZ26
CK6
}
1593
Transfer RP - TP setup
to proper location in buffer
area
Update available locations
in buffer area
Jump to continue searching list
Setup
IA
0
TV
1
2
3
4
RS
TV
TV
SP
"w"
of RP - Commands for Exit of Termination
CP
'ZZ152
ZZ75
ZZ75
ZZ151
ZZ74
CM23
Reset 1 shot switch
J
ZZ32
CP3
[3OO00J
0
Insert "CT16" in W of last
RP command in Termination
ALPHA ---+A }
#"
of entries in Pref-
ace
5
6
7
10
11
12
13
14
15
16
17
20
21
22
ST
TJ
DV
MJ
ZJ
RS
SP
SA
TV
IJ
MJ
TV
RA
MJ
CA
ZZII
CE2
ZZ146
0
CP13
'ZZ120
ZZ12
ZZ163
A
ZZ120
0
ZZlSO
CP20
0
CP23
A
BK
'ZZ120
CPll
CP12
ZZ26
0
0
CP20
CP20
BK
area~A
Test A ~ 170.
i.e.A > 170 indicates more than
one block needed. Dividing
# of entries by (170)8 gives
# of blocks needed.
A =0
indicates an integral
number of blocks needed.
A = # of blocks needed -1
if Q ~O or # blocks if Q = O.
Set index 1 to A and let
the index control the number
of times (CT13) is inserted
~OOOOJ
ZZ146
CP16
Preparation for Writing Onto Tape
0
1
2
3
4
5
6
7
10
11
IA
RJ
MJ
TP
QT
LQ
QT
AT
TP
MJ
0
CA
BK
BK
0
14
.'ZZ2
Q
BKII
ZZ157
ZZ157
0
0
BK12
BK2
CQ
~157
}
17
Sum number of blocks already written
A
ZZ157
ZZ160
CQ
77
Save
1594
#
blocks already written
Write Op File III Onto Tape u5
IA
@
®
CQ
0
RP
10170
1
2
3
4
5
6...,
TP
RA
TJ
RJ
TP
TP
ZZ5l
ZZ157
IL
Zy
ZZl54
ZZ155
}
FILELl3
nn
,nI"
CQ5
ZYl
TI
TIl
.:JVVV 7777
Save information
A
1
ZZ140
ZZ137
ZZ136
CM
CZ3
CX27
CX22
CX22
ZZ136
CZ4
CX36
CM
Core address of beginning of array
#
words set to 7777
Build Preface and Term.
Reduce number of words by 7777
1 core < # lines S 2 cores
2 core < # lines S 3 cores
Update MD address
Process Preface and Term.
CZ3 }
ZZ136
25
CZ4
CX36
CN14
CM
30000
CX37
CX44
CZ3
ZZ140
Update H.S.S. address
Update MD address
Reset Exit in main program
Routine for updating MD address
CX35
0
0
CK6
1600
IA
CZ
0
0
'I
0
10000
17777
2
0
0
0
0
0
27776
7777
0
0
0
0
0
7777
17776
0
0
CA
CZ7
1-
3
4
5
6
0
Temp
1601
LOC77
LOCPRE
LOCTER
LOCD5
LOCFCA
LOCBA
DLOCF3
LOCD4
LOCD3
LOC2A
LOC2B
LOCCSA
LOCCTA
IA
ZZ
0
MJ
1
MJ
0
00
0
77
0
0
2
3
4
5
6
7
10
N
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
40
41
42
43
44
45
46
47
50
51
52
53
54
55
56
57
MINUS
60
ZERO
CONST
FLAG
DATA
0
0
0
00077
7700
0
00777
ZA4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
170
0
0
0
0
0
0
0
0
0
0
0
0
14
0
31
66
66
66
30
01
74
50
71
0
0
0
0
0
CB
CF7
77777
0
0
0
0
0
0
MJ
2
0
0
4
0
0
0
0
0
0
0
0
0
34463
71510
71510
71510
50270
30506
74747
00103
00105
0
0
0
0
0
0
0
[30000J
0
0
0
CONN Al
CONN A2
Jump "to" mask
Jump "from" mask
ZF
ZG
0
0
0
ZC
ZD
ZB
ZA6
ZE
0
0
0
1
0
170
0
2
4
0
20000
30000
0
0
MJ
0
00101
10101
12401
12501
15131
65473
47474
TI
Fixed
Fixed
data
Fixed
Fixed
address of start of Op File III
drum address for starting 77
Fixed
Fixed
Fixed
Fixed
Fixed
drum address for Op File III
address of Directory 4
address of Directory 3
address Op File IIa (8.S.S.)
address (by segment) Op File IIb
address for Preface
address for Termination
F I L E llll
T W o llllll
T W o II All
T W o 6
E N D 6
86
0 F
Z Z Z Z Z Z
GT code word to read Op File IIa
TI
Length of control (also initial
address of S)
1602
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
73
74
75
76
77
100
101
102
103
104
105
106
107
110
111
112
113
114
115
116
117
120
121
122
123
124
125
126
127
130
131
132
133
134
135
0
0
0
0
0
0
0
0
0
0
0
0
[30000]
0
0
0
0
0
0
0
0
0
ENDBUF
61
0
TEMPI
62
0
2
63
3
4
5
64
65
66
67
70
71
6
7
ALPHA
BETA
AJ
BI
AJTEST
BITEST
GENCOD
K
P
C
G
M
L
1
R
D
S
WSI
WS2
WS3
INDEXI
INDEX2
TEMPT
0
0
0
50
0
0
0
0
0
0
00103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
11
0
0
0
0
0
20002
0
Dir. 3 - next open address of
Directory 3
Dir. 4 - next open address of
Directory 4
Not used
Next open address in Preface
Next open address in Termination
Address next Op File ITa item.
Address next Op File lIb item.
Count of Directory 4 items
Next address to assign to routines
Next address to assign data
0
0
0
0
0
0
0
3
26
27
77
25
24
22
5
0
0
0
lEMPA
1~36
-0
0
()
TEMPB
137
0
0
0
1603
140
141
142
143
144
145
146
147
IE
CTl3
150
151
CTl6
152
153
154
155
156
IEMPBKCTRl. 157
TEMPBKCTR 160
INDEXlA 161
162
163
TEMPC
TEMPD
TEMPE
0
0
0
0
0
0
0
0
0
0
0
0
31
01
0
0
0
0
0
0
0
40101
0
0
0
0
0
0
0
0
76777
34463
01653
0
0
0
0
0
0
CA
0
12164
0
0
0
0
165
167
170
610
CU13
CU16
CM31
0
00106
03201
For resetting 1 shot switch
F I
6 6
TL
0
0
0
170
166
#
1604
L E
s
E
b. 3
G
~
blocks already written
3. INITIALIZATION GENERATOR
3.
Initialization Generator
Initialization Generation Setup
The Setup Routine for Initialization Generation reads the original
Dimension List and the Constant Pool from magnetic tape and stores them on
the drwm.
These lists do not overlay the modified Dimension List that was
built by the Allocator Setup Routine since it will be used by the Processing
Phase later.
The counters at locations 00006 and 00015 are interchanged so that
00006 becomes the Dimension List counter for this phase.
After reading the Dimension List and Constant Pool the tape is
repositioned to the beginning of Op File III.
The 14 blocks of the Initial-
ization Generation Phase are then read from the UNICODE master tape and control is transferred to it.
1607
Save number of
blocks of:
Constant Pool
1-----:"'1
Dimension List
Symbol List
Calculate number of
blocks to move back,ward to beginning of
Dimension List.Tape
positioned at beginning of Op. File III
t------,~
G
Interchange contents
of locations 00006 ~--~
and 00015
ZZ16
~--'''------
Is there a DiList?
Set up tape handler
code word to read
Dimension List to
buffer
Enter BR routine
Alarm 10 compiler
.~~Inconsi stency
NO Tape 5 positioned
incorrectly
NO
)--~
Change all references
in ZZ16 routine so
t--~that Constant Pool
replaces Dimension
Li st change @ connectors to @
Transfer Dimension
Li st to drum storage area
k----~
Set tape handler
parameter to reposition tape at
beginning of Ope
File III
Initialization Generation Set-Up Flow Chart
Read Initialization Generation Pha se
from master
tape
Regions for Initialization Generation Setup
RE
RE
RE
RE
RE
RE
RE
RE
HE
RE
RE
ZZ7230
ZW7267
(37)
(15)
(14)
( 3)
Tape handler
Compiler Inconsistency Routine
(6000) Dimension List
(1000) Constant Pool
ZX7304
Z17320
TH21
BR537
DL42102
CLSOI02
n .. ~~o...,.
7V7f\f\
... .L.vv
LI".L.Lv"&'
IG2000
ILl 600
Loading and entry address for IG
168 = # blocks of Initialization
Generation phase
1609
Initialization Generation Setup Routine
CD
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
IA
Zl
SP
14
3
A
6
A
6
ZT
ZTl
ZT2
ZX7
TH2
15
6
LT
SP
LT
SP
LT
SP
SA
SA
AT
RJ
TP
TP
TP
SP
ZJ
TP
RJ
SP
S5
AT
TP
EJ
MJ
RJ
TP
RJ
TO
RA
RP
TP
CA
Q
[ZTlJ
ZZ20
ZX2
TH2
[ZTl J
ZX
ZX3
Zy
[ZXlO]
0
TH2
0
ZT
0
ZTl
0
ZT2
~5 }
!5 }
Save
#
blocks of Constant Pool
Save
#
blocks of Dimension List
Save
#
blocks of Symbol List
Calculate and move # blocks backward
to beginning of Dimension List
(if any)
TH3
TH
Interchange contents of 6 and 15
Is there a Dimension list
(Constant Pool)?
Read label block to H.S.S.
[~q }
TH3 }
TH
o
25 }
Set up code word to read Dimension
(Constant Pool)
List
Check label
TH3
~Z30}
BR12
TH
Read Dimension List (Constant Pool)
to H.S.S.
Move past end label
ZX4
TH3 }
TH2
TH
[6 J
ZZ35}
ZZ35
ZXl
30000 [ZWJ }
Zy
[DL]
ZZ37
Set up transfer
Transfer Dimension List (Constant
Pool) to storage area
1610
CD
®
0
1
2
3
4
5
6
7
IA
zw
TO
TU
TV
TO
TU
ZZ6
ZZ6
ZX12
ZX12
ZX13
ZX13
ZZ35
ZT2
ZZ26
ZZ33
ZZ36
ZZ16
25
TV
RJ
SP
ZZ16
ZZ22
~17
~v
l"I.~
UA..J
'7vr:::.
'l'U'l
11
12
13
14
RJ
TP
RJ
MJ
CA
TH2
ZX6
TH2
0
ZW15
TH
TH3
IA
0
0
50
50
ZX
0
10000
105
5
105
5
ILl
1A
0
1
2
3
A'l'
4
30
5
6
30
7
10
11
12
13
40
27
26
50
0
0
CA
5
34473
51506
ZXll
10
ZX14
,LUo.}
1
J
Go to read Constant Pool and transfer
Move forward past Symbol List
l
TH
IG
Set for reading Constant Pool
J
Read
Initialization Generation
to H.S.S.
Jump into Phase
}
2
0
ZY
ZY
0
0
IG
Read one block of Uniservo 5
General Read for Uniservo 5
Move one block forward
General move forward
IL = (# of blocks of Initialization
Generati on»( .100
General move backward - tape 5
D I M E N S
C 0 N S T A
0
05065
56624
ZW7
CL
1611
Initialization
It is convenient to divide this write-up into two sections.
The first
describes the initialization phase proper, and the second explains the actual
generation.
The distinction between the two should be kept in mind at all
times.
Running Initialization
There are two classes of operation that may be considered;
(1) functions always performed, and (2) functions whose operation depends
upon the circumstances of the particular object program compiled.
We may
tabulate these two classes as follows:
Functions always performed
Functions sometimes performed
1)
Rewind program tape
2)
Clear 1 core bank to zero
DEX" from either paper or mag-
3)
Load GTH coding
netic tape.
4)
Load Control coding
5)
Load Constant Pool
1)
2)
Read in and translate "DATA IN-
Determine which data tapes are
required by the program, and
J
check that these are mounted in
and finally, transfer
Uniservos.
control to Control coding,
3)
to pull in Segment 1
Load values for a certain class
of subscripted variables to their
appropriate drum area.
All coding, constants, etc., necessary for all parts of Initialization
are written on the Object program tape preceding Segment 1 of the generated
coding.
See Page 1617, Layout of Object Program Tape.
1612
The coding is entered to H.S.S., and control transferred there at appropriate points, by means of the Object Program Loader Routine, which is part of
the UNICODE Service Library (Sect. II, 1, c, (2).)
The loader performs
items 1 and 2 in the list above of "functions always performed".
From this
point onward, the loader merely loads data, and transfers control to such
data as indicated.
In other words, computer operations are entirely guided
by what is present on Object Program Magnetic Tape #1.
In
~
problems, the first operation at this point is to load the
Generalized Tape Handler into the operating locations it will occupy throughout running of the Object Program.
After this, the procedure will vary, de-
pending on the program under consideration.
~
We may discuss the case where
possibilities are included, for the sake of
~ompleteness,
and reference
to the diagram on page 1617 should make clear which portions are variable.
From this point initialization may be divided into three sections.
The first two are optional; the third invariant.
Section 1.
This coding is required in one form or another, if. in the compiled program, there are any input subscripted variables.
These are defined as sub-
scripted variables either referenced by Read sentences, or appearing only
on the right-hand side of equations.
This coding causes a "DATA INDEX" to
be read in, either from paper tape, or from magnetic tape on Uniservo 2,
translates it to the form required by the running program, and then performs
certain checking operations.
Because Read sentences specify only variables to be read in. and A[l
the
{JniseJ.!~ ~OA~ -wllieh--they~-4re to
be -found. as-in-theoriginal UNICODE_ pro-
gram, the DATA INDEX is necessary to supply this information.
1613
It informs the
computer of the tape on which a given variable is written, its position relative to other data, and its identifying tape label.
be referenced in the program by one
s~bol,
This permits data to
and labelled on tape by a dif-
ferent name.
After the index has been set up, the next operation scans the index,
checking that all variables required by input operations at various stages of
running are present.
While this is being done, a list is built of the Uniser-
vo numbers containing the data required, and the next operation in sequence
rewinds all these servos, and checks that they do, in fact, hold data tapes.
Note that checking does
tapes.
~
go so far as to check the contents
of these data
This would be excessively time-consuming, and if a tape is found at
a later stage which does
~
contain data that the index says it should, the
machine will stop, and a correct tape may then be substituted.
A further operation of this section is to build a list of all input
variables (see previous definition) A2l specifically referenced by Read
sentences.
This list, called List B, is for use by Section 2 of Initialization.
Its format is shown on page 1618.
When all these operations are satisfactorily completed, control is returned to the loader, which pulls in more tape from Uniservo 1. and acts
according to the data thereon.
This will probably be Section 2 of initial-
ization, described below.
Section 2.
This section is needed whenever the "automatic data read-in" facility is
utilized.
It accepts as input LIST B, produced by the preceding section of
Initialization, which contains the XS3 representations of the variables required,the number of values of each required (the modulus), and the drum
addresses pertaining.
The conditions under which subscripted variables are
"automatically" read in are:
1614
1)
The variable should appear only on the right-hand side of equations.
2)
The variable is
~
referenced by any Read sentence.
The number of values specified by the relevant Dimension statement
are read in.
this and stop.
If there are less than this on tape, the computer will indicate
On continuing, the remaining values are filled in with zeros.
The basic reading is performed by a subroutine essentially identical
to the Read library subroutine.
s~broutine
The annotated coding and flow charts for this
begin on page 106 of this manual, and should be consulted for
further information.
At the conclusion of operations, control is returned to the UNICODE
Loader
to pull in more tape
and perform the remaining functions of Initial-
ization •
.§.?ction 3.
This includes all the remaining operations of Initialization, which are
always performed, whatever the nature of the program compiled.
They are a
series of loading operations, followed by a transfer to an IP command which
causes UNICODE Control to take over and initiate the running of Segment 1.
The material loaded is listed below in the order of loading.
1)
UNICODE Control
2)
Segment table
3)
IP order
4)
Constant Pool
1615
Initialization Generation.
The generation of Initialization takes place after the Allocation phase.
The generation itself is relatively simple.
the GTH are written on tape.
First, the leading sentinels and
Then some tests are made on the contents of the
Dimension List to determine which, if any .. variables are input variables.
Depending on the results, values for the I/O fixed locations and such variable
coding as may be necessary are written on tape, together with LIST A.
Finally,
Control is written, followed by the table of Segment lengths and the Constant
Pool.
The Constant Pool is preceded by an IP order, designed. when operative.
to pull in Segment 1 and start running.
1616
~ -Sentinel
- - - - - - -~
I
I
Tape Handler
IP-01- _
TIn
..L('-'
*
I
~-i'Vorl
.L..L~v\A
Locations
Constant
Pool
Initialization
Section I
Transfer to IP
Command t
Sentinel
List A
Transfer to
Section I
*
Segment
I
In i t i a liz at i o'n
Section 2
*
I
I
*
Transfer to
Sec-tion 2
*
Indicates those sections which may be absent
~
Layout of Object Program Tape
1617
LAO
1
2
3
0 0
oE
(
0 0
4
(
n~
00000:(
~
XS-3 representation
>
XS-3 represent~tion
I
Modulus
I drum address
:>
XS-3 representation
~
XS-3 represent~tion
modal us
drum address
XS-3 representation
:>
I
modulus
, drum address
XS-3 representation
~
}
I
5
(
0 0
6
7
(
10
11
12
0 0
0(
I
}
}
Program read
Program read
Variable for
read in
Program read
Variable for
read in
Variable for
read in
variable
variable
automatic
variable
automatic
automatic
I
1
,
I
etc.
n = number of items in list.
(e.g., above case through LAll, n
=6)
List A format (built by Initialization Generation)
This list is derived from the Dimension List and includes all subscripted
variables that are to be read in for a program.
LBO
0 0
0 0
1
2
3
(
4
(
5
6
cI!
0 0
0 0
o
0 0 0 0:
n
Modulus
I Drum address
XS-3 represent,ation
)
Modulus
I Drum address
XS-3 representation
>
I
Modulus
I Drum address
XS-3 represent,ation
>
1
7
1st variable
}
}
}
2nd variable
3rd variable
I
I
I
etc.
n = number of items in list
(e.g., above case through LB6,
n = 3)
List B format (built by Initialization, Section 1)
This list is derived
fr~m
List A and includes all variablesto be automat-
ically read.
1618
Set basic loading
Set subroutine
add., and word count
to write GTH from
START Rewil1~ apin 1st word of bufstorage onto tape,
_ _~ proprlate ~---~fer, fill remainder
via buffer
servo
of 1st 3 bkts. with
(3 Or 6)
Z's etc.
Set index l(Box 1)
Box 1
to 1+ of 77 type
Set indic.
CW's. Initialize t--'""'----7I'i n¢=.n -1
for: "Sect.2
list A buildingj
NOT wanted"
r ~ 0, Box 2
YES
Set indicator
for "Section 1
NOT wanted"
Box 2
Prepare to lOOk~
for CW 77000+r
~
I.
From next line in
Dim. List, extract
indicator digit
2
"XU
wanted
Print: ARRAY
@ame"] EXCEEDS
2500 VALUES
t-----:~c lear
~-~
Extract modulus
from "u" field
STOP
A
ReWind~ll
Extract drum
Prepare to
ex;trac t only t---'~ address from
D.L.
2,50010 values
J----~
J
Extract XS3
name from
DL
r + l~r
Store in
list A
Store in
List A
(-;;\
J----~--'IL-._(_bO_x_2_)---It----~~\V
Increment List
A item count.
tapes and
stop
Set indicator~or
SECTION CD
F
REQUIRED
Initialization Generation Flow Chart
Fill all buffer
but 1st word
wi th ZZZZZZ
Therefore set B
(5th fixed loc)
to initial add.
of List buffer
Set nV" of 1st
word (loading
address) to
(1160 )
So set FX to
locate index
after Li st buffer
Yes So set FX to
index
after FX+l
,----~locate
Set subroutine ex. to
write Init. t Section
from core onto
tape
CD
Set subroutine
to write
I--_~ Ini to Section
® on tape
Write TRANSFER
BLOCK on tape
Set subroutine
a to wri te Control on tape
Set transfer to
IP and fill buffer with final
sentinels
NO
0-a
setcx to wri te
Segment Table on
tape
Set subroutine ex
to fOllow Section
CD wi th Li s t A
__
....------_.-.
..
Write TRANSFER.
)--~ BLOCK on tape
Form requisite
IP command,
place before
Con st. Pool set
ex to write
thi s
STOP
Initialization Generation Flow Chart (Cont.)
L
Write loading
Reduce main
address in 1stl--~~index (# words
word, (but no
Ito be written)
word count)
by_1_ _ _ _ _...J
L-.:..
Set Box 1 to
commence at
2nd word of
buffer
Set sub index~1668
IndeX
RP
TP
TP
IGlll
0
IG302
IG72
IG42
GIIOO
0
FL
IG264
IG321
UP2
0
IGl12
WB2
IGI07
0
30000
10167
IG251
IG333
TP 12
QT IG274
ZJ IG121
TP IG334
TU IG307
IJ IG353
TP IG335
MJ 0
IJ IG353
TP IG336
Print-out.
Clear A
Alarm stop
o
IG57
IG60
Q
IG46
IG64 }
IG276
Q25
WB2
IGI06
IG72
Place 2,500
in Q "un
and back. 10
Go back 3 lines for drum address
Complete line for List A
Store it (not incrementing item count)
"X" ;f 0, so inspect "read-bit"
If no prog. "read-out"?
Prog. read. relates, so note the
XS3 name
(Go back 2 lines for XS3 name)
A
IG77
IG275
Store in List A (Incrementing item
count)
Note index wanted (zeroize indicator
register)
Prepare for next CW
IG31
IG263
IGI06
UP3
UP
RB
IG263
[3000Q1
IG263
[30000J
3000Q]
IGl15}
WBI
WB
And then back.
Increment item count
Test with 51
10
To rewind tapes and stop.
Increment line counter.
List A
building
Inc. storing order
Exit
Line counter
Fill block with 2------Z
Set loading address (FX), but
word count
~
Q
~G126}
Is there a List order?
WB5
WB
IG131
WBI
IG131
IG155
WBI
Yes, set BI
And set word count
Index wanted?
Yes, set FX
~
5
No List order, but index wanted?
Yes, set FX
1624
130
131
132
133
134
135
136
137
IG274
IG250
IG353
IG337
TP IG340
WB
IG245
IG155
IG230
IG232
TO
RJ
TP
CA
IG341
IG220
IGl12
GI140
IG221
IG214
IG230
T
"T,
TO
RJ
IJ
TP
Jl
And set word count ---+ 1
Now write block
Index wanted?
Yes, set in length of Init. CD
Set "Loading Add. Temp" store.
(no word count)
Initialize to where Init. dJ stored.
Go write tape
Now, add List A. Set index
A'"'
J..H. UJ.ll:lU
IG
140
141
142
143
144
145
TO
RJ
RJ
TP
RJ
IGIOI
IG220
IG242
IG340
IG250
146
147
150
TP IG342
TP IG343
TU IG344
IG230
IG232
IG221
151
152
153
154
155
RJ
RJ
TP
RJ
TP
IG220
IG242
IG343
IG250
IG345
IG214
IG233
WB
IG243
IG230
156
157
160
161
162
163
164
165
166
167
170
171
172
173
174
175
176
177
TP
TO
RJ
TP
TO
RJ
RJ
TP
QT
ST
TP
TP
TU
LQ
QT
TU
TP
IG346
IG347
IG220
IG350
IG351
IG220
IG242
10
IG272
IG263
IG232
IG221
IG214
IG230
IG221
IG217
IG233
200
RA WBI
TP IG266
TV IG65
MJ 0
A
A
IG274
10
IG271
IG352
IG306
TV 12
CA GI200
IG221
IG217
IG233
WB
IG243
[30000J
2 }
WB
IG232
IG353
WB
Q25 }
IG230
IG221
WBl
WBI
Pick it up from FL
Go write tape
Conclude any unfinished block
Set "transfer" word
And fill in rest of block
Automatic read wanted?
(if not IG155)
Yes. Set index to length of Init. ~
Set "Loading Add. Temp" store
Initialize to where Init.(IDis
stored.
Go write
Conclude any unfinished block
Set "transfer" word
And fill in rest of block
Set index to length of Control
(Excluding Seg. Tab)
Set "Loading Add. Temp" store
Initialize to where Control is stored.
Go write
Set index for length of segment table
Initialize to where ST is stored.
Go write ST
Conclude any unfinished block.
Using v mask, note initial address ofCP
Subtract 1 to leave room for IP
Set "Loading Address Temp" store
Save it for "transfer" word
Set W.C. ~l (as at least IP)
With partial v mask, set index to
length of CP
Initialize to where CP stored.
Basic IP
fA Gr200
IG
201
202
IG263
IG231
IG221
Increment by 1 to complete IP
Set block index to 165
Initialize to WB2
1625
203
204
205
206
207
210
211
212
213
Write 214
CD 215
216
217
220
221
222
223
224
225
226
227
230
231
Write\ 232
@ -233
234
235
236
237
IG
Write
®
240
241
242
243
244
245
246
247
250
251
252
253
254
255
256
257
260
261
262
263
264
RJ
RJ
TP
RP
TP
RP
TP
RJ
MJ
TP
IG220
IG242
IG353
30004
IG256
10163
IG251
IG250
0
IG267
TV IG4
TP IG232
IJ IG230
MJ 0
TP [30000]
RA WB
RA IG221
IJ IG231
RJ IG250
RA IG232
MJ 0
[0
[0
[0
0
0
0
SP
EJ
TV
TP
RA
CA
IG231
IG267
IG221
IG251
IG236
GI240
IA
IJ
RJ
MJ
RP
TP
TP
AT
RJ
MJ
74
67
30
26
32
30
01
24
34
GI240
IG231
IG250
o
o
o
0
10167
IG251
IG305
TN
GH2
0
74747
50342
01512
66015
54244
50270
34503
46346
51500
0
0
0
IG217
IG233
WB
IG210}
WBI
IG212 }
WB5
IG245
ZAIO
IG231
IG221
WB
IG221
[30000]
[30000]
IG274
IG277
IG217
IG245
IG270
IG214
o
o
o
Go write
Conclude any unfinished block
Set '·transfer"
END II OF 6. INIT
Fi 11 wi th Z---Z
Go write
End. Back to Service Routine.
Set index---7 166
Initialize to WBI
Write 1st word ( [W.C.]
La.)
Jump on main index
Exit
Count 1 word.
Jump back on block index.
Block full-go write it.
Increment "Ld. Add. Temp." by 167 (V)
]
]
]
Main index
Block index
"Loading address temp" store.
If block index = 1666 , no
partial block to finIsh
~G242 }
IG236
[30OOOl}
IG263
Fill with Z----Z
IG236
IG245
[30000]
IG245}
WBI
Go write
Exi t
Fill with Z---Z
~H3
Go write on tape
}
GH
[30000]
47474
65127
54430
25451
72201
15131
46634
52466
10101
Exit
Z Z Z Z Z Z (XS3)
U N I
E
IJ.
0
C T
6
G R
A
END
IJ.
I N
A L I
ION
o
1
63
1626
!! I}
i i if
(XS3)
(XS3)
265
266
267
IG
IG
0 0
0 0
0 0
73
165
166
270
0
0
167
271
272
273
274
275
276
277
0
0
0
0
0
0
0
0
0
0
1
2
3
1
07777
77777
77000
0
0
0
1
r/\
VM.
~T"l{\{\
U.LUVV
300
301
302
303
304
305
306
307
310
311
312
313
314
315
316
317
320
321
322
323
324
325
326
327
IA
0
0
01
07
10
71
IP
0
0
0
0
24
[77
01
27
03
30
0
66
50
67
24
30
0
GI300
4705
77777
0
0
3
00103
00001
5
4704
IG313
54542
77777
30722
65010
01702
65227
IG322
51510
73013
66012
73652
71543
73
0
0
0
0
0
WB
0
WB74
FLI
IG146
6
47301
77777]
63030
51003
44667
77777
5
14724
45052
45454
20154
46630
HD
330
331
332
333
334
335
0
0
0
0
0
0
0
0
TG
0
0
FX175
LG
HD
0
FX
FX5
FX175
336
0
FX2
FX2
LI
BI setting
FX Setting for index if List
buffer present
FX Setting for index if no list J
buffer present
length of Secti on
Flow Chart (cont.)
Section 1 of initialization, Part 1
UNICODE Basic Loader
5
~
shift
index
L ___
_ _ _ _ _ _ _~
N
G
y
~
Set Box 1 to scan
List Ai e~ eli
n~nl;
initialize List B
t-----::"'bui lding.
\--~
Fr:;=rtl
Increment List
index by 1
Examine Ope
field of word
r-~~B
rc:=rtl
NO
XS3 Variable
name-7 A
Is it included
Continue index
in index?
i-=-==.::wscanning and extract tape #
NO
Print: FOLLOWING
VARIABLES NOT INCLUIE D IN INDEX.
Section 1 of Initialization. Part 2
Convert and print
vble. name
~~w g
Box 1
Examine r'th.
line, List A
rth line (XS3
name) Temp 1
Already included in
"ref" tape list"
(Section It Part 3)
NO
Print:
Insert. it in
lIst.
[
~----'::::..I
~--~
AGAIN.
A=~
Store C( temp
1) in List B~-~
(Out)
HIT
START TO TRY
START
M~Ml
P ~Pl
--1
Prepare to scan
"referenced tape"
list.
r = r max ? NO
r<:=r+l
Extract 1
tape #, rewind
Normal
0-
Set
n~
3rd word =
t::.DATAt::. ?
Abnormal
62 10
NO
NO
Stop
UN ICOIE
Count down
on Yl index
n=
A =
0 yet?
YES
O?
LOADER
Print CHANGE
TAPE, HIT
START.
~~
Clear A
Section 1 of Initialization,
Part 3
'--~
Point: DATA
TAPE NOT MOUNTED
O~ SERVO(S)'
Read in 1 block
forwards from tape.
ormal Exi t
~~
Convert & print
Uniservo #
Rewind
this Uniservo
bnormal Exit
Section 1 of Initialization
IN
o
1
2
3
4
5
6
7
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
IA2354
IN2000
MR2027
TX2220
GN2257
BP2313
TP2320
ST2323
BM2337
MT2363
DP2366
YW2402
XW2414
YH2527
XH2534
CN2605
CL2707
LP2i47
ZR3101
LA3104
LB7475
TL660
RE
RE
RE
RE
TM700
TBI
GT210
FXIOOO
RE
RE
RE
IA
TV
TV
TP
TP
TP
TV
PR77250
DA77300
LD1500
IA
CN2
FX
CN4
CL
CNIO
CN40
CN41
CN4
CN10
LP4
10000
0
0
0
0
TV
10
11
12
13
14
15
16
TP
TP
TP
MJ
EF
ER
MJ
EF
17
TP- GN77
20
21
RJ GT2
TP CN61
Loading Address
1
(27)
(171)
(37)
(34)
(5)
(3)
(14)
(24)
Operating address of
(3)
program
( 14)
(Total length = 1104 words)
8
(12 )
(113)
(5)
(51)
(102 )
(40)
(132)
(3)
List A
List B
(12)} Temporaries in.Termination
Buffer
(5)
Buffer
Tape Handler during Object Program
Fixed I/O locations.
Flex print Routine
Object Program Loader
Running address of Loader.
MR132
STI }
ST12
ST13
FXl
MR152
MRI07
TM3
, TL
MR150
IN16
~P4
}
MRl
CNIOO
~~3
A
}
N ~ Nl (Enable 2nd pass)
Initialize ST
Zeroize vb1e. counter
Start FXl with [0 20000 0]
Q--+ Q
1
M~M2
1 Group counter
Initialize Tape List Index
Set EP CD
P or M?
P - Throwaway 1 frame
~Main Routine
Mag. tape. Rewind #2
Read 1 block forward
Z----Z~A
1639
EJ
EJ
MJ
RJ
EJ
CA
TB
TBI
0
BM
CN4
IA27
IN25 }
IN25
MRI04
BMII
MRl
12
13
14
15
16
17
IA
MJ
TP
RJ
EJ
EJ
EJ
MJ
TP
RJ
EJ
EJ
MJ
TV
TP
RJ
TJ
IA27
0
CN54
TX
CN63
CN65
CN67
0
LPII
TX
CN71
CN67
0
CN43
CN70
GN
CL4
BMI
TX2
TX3
MR7
MR7
MRI04
TX3
MRlSO
TX3
MR14
MRI04
TX3
MRl07
TX2
GNI
MR2l
20
TJ CN60
rtR24
21
22
23
24
25
26
27
30
31
32
TP LP53
RJ MR170
MJ 0
TP A
TU TL
RP[O]
EJ TLI
TP LP60
RJ MR170
MJ 0
TV TL
RA MR35
TP TM
RA TL
RJ TX
CA IA67
MR15l}
MR152
MR37
TM
MR26
MR33 }
Ml30
NIl 151 }
MR152
MR37
MR35
CNlOl
[30000]
CN47
TX3
40
41
42
43
IA
EJ
EJ
EJ
TP
MR73
MRI0l
MRl04
TMI
44
TP A
TM2
45
TP CN53
Q
22
23
24
25
26
o
1
2
3
4
5
6
7
10
11
33
34
35
36
37
MR
IA67
CN73
CN71
CN67
A
Check for Sentinel
NO - go to End Routine
Initialize BM
If space, carryon
(= MR)
TX index
Get 1 word
INPUI'?
(VARIABLES? )
END?
ClIO
--+
Set EP @
Get next word.
TAPE?
END?
No.
TAPE seen. M~ Ml
6--+ TX index
Should not be < 2 (i.e. - don't
jump if good)
Should not be ~ 11 (i.e. - do jump
if good)
Alarm (illegal tape #)
Preserve in Temp. 1
Set up RP
Search tape list to see if already
referenced (if so - error)
Alarm (Duplicate tape #)
(by L(TLl) v)
by lu, Iv
Find 1 word
= CHECK?
= TAPE?
= END?
No - preserve in case needed as
synomyn
Now count to 77 format. Send to
working store.
Op field mask ---+ Q
1640
TM2
CN54
TM2
0
CN53
A
51
52
53
54
55
QT
EJ
TP
MJ
QS
LQ
MJ
RJ
TM2
6
MR45
ST
56
57
60
61
62
SP
EJ
RJ
EJ
TP
TXl
CL21
TX
CN55
TMI
o
63
64
65
66
67
70
71
72
73
74
75
76
77
TP
RJ
TP
MJ
RJ
TP
RJ
MJ
RJ
EJ
TP
RJ
TP
CA
A
TMI
STI
46
47
50
MR
TAPE
END
100
101
102
103
104
105
106
~
~~l
1
III
112
(good) 113
114
IA
MJ
RJ
RA
MJ
MJ
MJ
0
STII
STII
TMI
0
TX
A
STII
0
GN
ST13
LP64
MR170
CL
IA127
No, result to Q, all finished
Q
MR55
Yes, replace by ii
and shift left
Tlfi2
Now Q holds 77 format. Store
(counting 1 vble)
Separating symbol ~ A
=?
No, get more information
I s out put~
lJ. ?
No, so = was not seen. Prepare to
store previous,meanwhile preserving
new information
MR67
TX3
MR67
Q
Store old name
~40
}
~Tl
}
Now go investigate new information
= seen. Obtain synomyn
and store it
TX3
Then back to look for more.
Obtain check n:
Correct?
MR37
GNI
MR77
MR151
MR152
ST13
No. }Alarm
Zeroize check counter
IA127
0
MR147
TM3
0
10000
0
EF 0
MJ
RJ
TP
RJ
TP
TV
Inspect 1st two digits
= Ol?
MR52
0
MR147
LP40
PR2
CL
TL
115
TV MR27
116
117
120
t2-t
122
123
124
IJ TM2
MJ 0
TP (30000)
MR37
MR141
CN4
MR16
MRI06
MRI07
CNI00
[30000]
MR141
PR3 }
PR
TM2
TM2
MR120
MR120
MR124
Act appropriately
Up group count by I
and back for tape n:
P. or M.?
P - jump.
M - rewind n: 2
Act appropriately
INDEX OK. TAPES LISTED ARE
Zeroize index
Set it up.
Initialize
Jump on index
All through-out
1 tape n: to A
A
R-J-fiPrJ--
~-~
Pritt't- -it .-
RA MR 120
MJ 0
PR 0
CN50
MRl16
CL7
Increment by 1 "u"
Back for more
Period
1641
~
~d)
Error
~ne.
TX
125
126
127
130
131
132
133
134
135
136
137
140
141
142
143
144
145
146
147
150
151
152
153
154
155
156
157
160
161
162
163
164
165
166
167
170
o
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
PR
PR
MJ
TP
RJ
RJ
MJ
TP
RJ
SP
MS
CA
IA
0
0
0
MR150
PR2
MR 132
CLII
CLII
YW
PR3
}
PR
[30000]
0
lR
LP32
PR2
CL
PR3
PR
o
0
MR140
(Initially MR 134)
Exit (Get off machine)
HIT START TO TRY AGAIN
Clear A
Stop
f
ETC.
IA167
IA167
ZJ 2B
INI
TP
RJ
TP
RJ
TP
RJ
MJ
Q
[0
}
Carriage return
Carriage return
Exi t (Normal)
EP Box
CN75
STll
TM
STll
CL35
STII
0
30000
[0 30000
MJ 0
TV CN41
TP LP16
TP LP46
RJ MR152
TP LP47
RJ PR2
SP TM3
PR 0
RJ DP13
PR 0
PR 0
TP MR 151
RJ PR2
MJ 0
CA IA220
IA IA220
MJ 0
[0 30000
[0 30000
TP CN55
TP TX2
MJ 10000
RJ TPl
MJ 0
RJ MTl
MJ 0
MJ 10000
RJ BP2
SA CN
TU A
TP [30000J
MJ 0
STI
Q
STI
~l
}
[3OO00J
3OO00J
30000]
[30000]
MRI07
MRlSO
PR3
MR160
PR3
PR
EP parameter.
REP parameter.
Entry. Initially MR 153
M--+ M2
Set EP
Prepare for Print-out
®
Q-+ Q2
o
CL3
DP
CLIO
CL2
PR
}
PR
[30000J
[30000]
30000]
30000]
TX36
TM2
TXIO
TP
MT
r
Go print
Group count -+ A
Shift down
Print group count.
Space
Shift up
Specific diagnosis
Exit
Exit.
Output line (for cut-off symbol)
Input line (value for index setting)
Entry. Fill word with Il ---- 8
Set index
P or M?
P. Find start
Go translate
M. Find start
TX14
TX21
TX20
BP
17X16
(Non zero - get off machine exit)
Il TAPE Il ---+ Q
--+ index
Tape #~ Q
~ index
leave room (cleared) for indicator
or M?
P - Find next frame.
P
}
Translate
TX21
1642
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
GN
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
RJ
RP
EJ
LQ
TP
QS
IJ
TP
RJ
TP
BM
20006
CL14
TX36
CLI
A
TM2
LP70
MRl70
CN54
MJ 0
TP
TP
MJ
[0
CA
A
TX36
0
30000
IA257
IA
MJ
TP
MJ
RJ
EJ
RP
EJ
RJ
EJ
TJ
MJ
ST
SP
SA
QA
MJ
RJ
RP
EJ
RJ
RP
EJ
SP
MJ
TP
RJ
MJ
IA257
0
CL
10000
TPI
CN32
20012
CL22
MTl
CL21
CN56
0
CN37
GN33
GN33
CL33
10000
BP2
20005
CL6
BM
20006
CL14
GN33
0
LP74
MR170
0
[0
30000
BMI
TX23
TX33
6
1J
Q
Mask~Q
TX36
TX12
MR151
MR152
TM2
TXl2
TXl
A
TX
30000]
Insert new character
}
Word assembly space
[30000]
GN33
GN7
TP
TP
GN30
GN14
MT
Exit
Zeroize working store
P or M?
P. Get 1st character
Throwaway =
Check down digit list
Mag. Tape - Find 1st character.
Throwaway =
Should be < 158
MT
GN13
GN30
Q
2
1
GN33
GN23
BP
GN5
GN26
BMI
GNII
GN26
0
GN
MR151
W152
GN17
0
1
I}\ IA313
EF 0
ER 0
}
}
}
Subtract 3-+Q
Multiply previous by 10
Add in new figure
P or M?
P - get next ch.
Exit if A cr tab
M. Get next ch.
Exi t if 11 = i t
Result~
}
and out.
Alarm
Erasable
30000]
BP4
A
Alarm
Reset index to large value
Output to A
CA IA313
BP
M - Find next character
=
Exi t ~ ~~X ~ cr tab.
l X:);:S 1 6 = ,.
1
1643
A
,
FlEX
XS3
2
3
4
RP
EJ
10
CA
20006
CL
3
IA320
TP
0
1
2
IA
RJ
RP
EJ
CA
IA320
BP2
20006
CL6
IA323
ST
0
1
2
3
4
5
6
7
10
11
12
13
IA
RA
TP
RA
RA
TJ
TP
RJ
TP
TP
MJ
IA323
ST13
BM
MT
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
0
Q
STI
FXl
CN76
LP77
MR170
CL
CNI0
0
o [30000
o [30000
CA IA337
[30000]
BP
0
J
Basic paper tape read.
BP
[30000]
BP
Throwaway routine. (After this,
we have a significant code)
CN4
[30000]
ST12
CN47
STII
MR151
l'tlR 152
ST12
FXl
[300001
30000]
Count 1 vble.
Build index
Inc. st. order
}
Alarm.
Increment
Vble. count.
30000~
IA IA337
MJ 0
[3OOO0J
IJ BM22
BM14
RA BM14
CN50
IJ BM23
BM13
TP CN77
GT3
RJ GT2
GT
TP CN61
A
EJTB
BM17
EJTBI
BM17
TP CN57
BM23
TU BM7
BM14
TP CN74
BM22
LQ [30000J. 6
QT CLI
A
MJ 0
BM
TP LP24
MR151 }
RJMR170
MR152
MJ 0
MRI04
[0 30000
30000] }
[0 30000
30000J
CA IA363
Exit
Entry.
Jump on word index
Read 1 block forward
}
}
Z-------Z ~ A
If Sentinel seen., alarm.
Word index -+ 167
Shift index -+ 5
Extract 1 character
And out
}
IA IA363
RJ BM
BMI
Jump on shift index
Alarm
Shift index
Word index
1
Mag. Tape throwaway.
1644
1
2
DP
0
1
2
3
4
5
6
7
10
11
12
13
RP 20005
EJ CL14
CA IA366
IA
DV
TP
TN
ZJ
AT
[0
TP
ST
[0
PR
PR
MJ
CA
IA366
CN72
A
Q
DP4
CL34
30000
CL34
TM4
30000
0
0
0
IA402
[30000]
BMI
Q
TM4
A
DP6
DP5
30000]
A
DPIO
30000]
CLIO
CLIO
[ 30000J
J
(Discard ill,
}
Quantity given in A.
Save remainder
Tens figure zero?
;)
Divide by 10
No, form print order
Dummy print again
form print order for units
}
Then 2 spaces
Exit
Initialization for XW
YW
0
1
2
3
4
5
6
7
10
11
IA
TV
TU
TU
TV
TP
TV
TU
TP
TV
TP
CA
IA402
XWI06
FX
FXl
XWI07
CNIO
XWIIO
XWI06
LA
XWIll
CL
IA414
XW74
XWl6
XW15
XW53
TL
XWI
XW2
TMI
XW50
LB
Enable restart after 1st error pass
}
Set up index-scanning
Initialize error print-out section
Set Tape List index to 0 20000 0
Set normal exit (YH)
Scan.List A from LAl } LA
Set Index
Build List B from LBI
and set index
1645
First Run-Through Data List, and Preliminary Checking.
XW
o
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
XW
40
41
42
43
44
45
46
47
50
51
52
IA IA414
IJ TMI
MJ 0
TP[30000]
TP A
TP CN53
qIA
ZJ XW14
RJ XW52
RA XW2
TU A
TP[30000J
RJ XW52
TP Tl'tl
RP[O ]
EJ[30000J
SN Q
SA XW15
SA XW16
TU A
LQ Q
TU Q
TP CN75
RP[O ]
EJ[30000]
SN Q
SA XW26
SA XW27
TU A
SP[30000]
TP A
TU TL
RP[O J
CA IA4S4
IA
EJ
TV
RA
TP
RA
RA
MJ
RA
TP
RA
MJ
IA454
TLI
TL
XW43
TM
TL
XW2
0
LB
TM
XW50
0
XW2
[ 30000J
Jump on List A index
Exit when all completed
Examine one item.
Save it in temp
Op field mask ---+ Q
and examine Ope field
A
TM
Q
A
XW7
XW47
Zero,
. a "mod. Ed.a" line build List B
So
extract
next line (XS3 name)
and store it as well, in List B
Now, name to A
Scan index. (Alarm, if not present)
CN50
XW12
TM
XW50
A
XW53
XW17
17
}
o
o
XW27
17
XW26
Set up EJ for continued search
Set up RP
[f1 TAPE f1 to A
Continue to scan index, searching for
tape #
A
XWI03 }
XW30
17
o
o
XW34
o
Tape "# ~ A
and save it
TM
XW37
XW41
XW45
XW43
CNIOI
[30000J
CN47
CN50
XW
CN4
[30000]
CN4
[ 30000]
Scan referenced tape list
Not yet present - so insert it
Increment index
Prepare to scan further down list
1646
56
57
60
RJ XW53
TP CN74
XW60
TM2
61
62
63
64
65
66
67
70
71
72
73
74
75
76
77
LQ
QT
RP
EJ
SN
SA
PR
6
A
55
XW
100
101
102
103
104
105
106
107
110
III
112
0
LPIIO
PR2
XWl12
[30000 J
PR3
MJ
TP
RJ
TV
53
54
TM
CLI
20074
CNI
Q
XW63
0
1J TM2
PR 0
MJ 0
PR 0
RJ XW74
MJ 0
TP LP32
RJ PR2
CA IA514
IA IA514
SP CL
MS 0
ZJ ZR
TP LP131
RJ PR32
MJ 0
o LAI
o
0
o 0
o 0
o 0
PR
Initially XW54. Error Routine.
Print: FOLLOWING VARIABLES NOT
1
~
INCLUIED IN INDEX.
Amend exit from main routine
(to XW 73)
XWI
XW71
XW65
17
71
A
XW61
CLII
XW45
CLll
[30000 ]
2nd and subsequent errors here.
5 ~index
Shift one character over
Extract it
Compute and print Flex-code
1
Carriage return, when fully printed
Extra CR
Error END. Initially XW76
2nd time - get off machine
1st time: HIT START TO TRY AGAIN
ZR
PR3
PR
}
o
Clear A
Stop
If A ~ 0, get off machine; otherwise,
try again
XWl02
YWI
PR3
PR
}
ZR
1
XW76
XW54
YH
LBI
XW73
Print:
G-O-M
MACHINE ERROR
Constants.
CA IA527
Initialization for XH
YH
o
1
2
3
4
IA IA527
TP CL
TV TL
TV XH46
TU XW40
TV XH47
CA IA534
TM3
TM3
XHI
XH2
XH17
}
Set index
Set normal exit: BACK TO LOADER
Start list at TLI
Initialize error procedures
1647
XH
o
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
XH
40
41
42
43
44
45
46
47
50
IA IA534
IJ TM3
MJ 0
TP [30000]
SP TM
AT CL36
EF 0
XH2
[30000 ]
TM
14
}
iMl
Rewind this tape.
XH31
XH17
Go read in 1 block forward
Alarm return - no lead Sentinels
11 DATA --+A
Tape so labelled?
No, prepare to read more. Set scan
index
RJ
MJ
TP
EJ
TP
XH40
CL35
TB2
CL21
A
RJ
IJ
TP
EJ
MJ
TP
RJ
TV
RJ
SP
RJ
XH40
TM2
CL35
TB2
XH31
XH31
0
0
LPl17
PR2
XH50
XH17
RA
MJ
SP
A.T
RJ
TP
RP
EJ
RA
CA
IA
MJ
TP
RJ
SP
MS
XH27
[30000]
PR3
}
PR
XHl
XH24
o
DP
TMI
CN50
XH
17
GT3
GT
XH2
0
TM
CL37
GT2
CN61
20092
TB
XH40
IA574
No Sentinel seen
11 DATA 6-+ A
Tape so labelled?
No, alarm. (initially XH20)
Print: DATA TAPE NOT MOUNTED
ON SERVOS l:J.
Amend exit from main routine. (to XH4D
Disconnect this path
Tape #---;.A
Convert and print it
Rewind tape
Pick next one
A
DP13
}
Read
1
block forward
z-------z
to A
If ZZ_ _Z seen, go to exi t +1.
If not, normal exit.
A
XH40
XH37
CN4
IA574
0
LP125
PR2
CL
0
ZJ ZR
o 0
o
o
XH27
TM2
TM
EF 0
Count down on index
Exi t
Extract 1 tape #
0
0
[30000]
PR3
PR
Error exit.
Print: CHANGE TAPE, HIT START.
Clear A
Stop
Hit Start to continue
o
XH45
YH
LDl
XH20
XH41
CA IA605
1648
XS3 - Stored by Flex.
CN
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
CN
IA IA605
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 20000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
CA
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
IA645
66
0
II
H
N
M
0
46
54
32
34
52
26
70
30
74
27
25
65
73
31
72
24
71
44
14
67
53
45
03
51
52
76
01
21
1
0
01
04
53
770
0
54
01 0
0
50
T
MR134
51
01
33
50
47
IA645
0
0
0
0 0
0 0
0 0
0 0
0 1
0 1
0 0
0 0
40
41
42
43
44
45
46
47
IA
0
0
0
CN
L
R
G
I
P
C
V
E
Z
D
B
S
y
F
X
A
W
J
9
U
Q
K
0
r.R153
r.R 130
22
mIlO
=
cr
=>~
tab => II
1
1649
55
56
57
60
61
62
63
64
65
66
67
70
71
72
73
74
75
76
77
100
101
01
0
0
0
74
0
01
0
34
0
01
0
01
0
01
0
01
0
50
02
0
CA
01010
0
0
0
74747
0
34505
0
24254
0
01013
0
01662
0
26333
0
66245
20150
102
00200
0
IA707
10101
15
167
13
47474
10
26766
07
63065
11
05027
06
45230
12
02645
05
23001
150
TB
20000
TL1
8
z-----z
5
11 INPUf
4
IABLES
6
ill1 ~END
ill1 TAPE
7
11 CHECK
2
~TAPE~
Limit for index
GTH code for read 1 blk. forward(#2)
Rewind Uniservo 2
Constant
1650
CL
LP
0
1
2
IA IA707
0 0
0
0
0 0
Leader
Delete
0
77
47 ~
57
02
43 J
46
42
04
45
51
61
01
21
22
23
0
76
33
60
72
66
62
64
70
74
52
37
CL33
62401
0
TB
1
3
0
0
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
PR
01
02
50
CA
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27246
00200
00100
IA747
0
1
2
3
4
5
6
7
10
11
12
13
14
IA
45
27
07
06
0
45
30
15
16
0
45
26
06
IA747
47140
04140
15122
24142
LP
47060
01300
20042
14261
LP5
01052
03122
30161
15
.Q-l~2-31
-12000
16
17
0 LP12
45 47200
4
62204
t~
basic throwaways
1
Co1or
Stop
Flex
1J
.
!:l
Cut off's
Cr
Tab
J
Backspace
!:l
XS3 codes.
,
i
=
9
8
7
6
5
Flex-codes
4
3
2
1
0
Dummy print
!:l DATA !:l
General rewind code
General read code
Cr t
X !:l
M P
N S
62220
61603
00520
31120
4
30422
40130
41520
42022
D E
C 0
R E H E
I B L E
I
I
N
N
Cr t N o
A T A !:l
P E ~ S
C I F I
!:l
D
T A
P E
E D
)
)
EP
0)
EP @
4
Cr T H E R E
F 0 R E ~ U
N A C C E P
T A B L E -
01220
00434
62015
Cr
1651
t
I
E N D ~ 1
EP
®
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
06
14
03
20
0
04
01
01
12
14
0
45
27
01
11
04
03010
01012
06040
45450
LP17
04040
04240
04010
25043
06454
LP25
47140
04033
30152
14240
30122
CA IA1007
43112
00604
13015
00000
5
40514
13012
30401
01330
50000
5
62220
60404
02404
12022
00457
N
I
0
0 T ~ W R
T T E N ~
N ~ T
E Cr Cr
A P
~~~~H I
T ~ S T A R
T ~ T
~ T
R Y ~ A G A
I N Cr C r -
o
I N D E
0 K ~~
T A P E S ~
L I S T E D
6. A R E ~
Cr •
X
~
+
1652
I
BM Special
alarm
IA
LP
40
41
42
43
44
45
46
47
50
51
52
53
54
55
56
57
60
61
62
63
64
65
66
67
70
71
72
73
74
75
76
77
!AI 007
IP33
47223
14062
20121
45454
12033
LP41
LP45
11112
04013
06034
IP50
34151
01200
20040
0
LP54
05201
06160
16014
LP61
03122
03041
45450
LP65
11112
04221
45450
LP71
17201
31454
LP75
CA IA1047
0
45
04
04
24
13
0
0
14
11
04
0
22
30
15
45
0
16
14
20
0
31
03
13
0
14
11
01
0
03
03
0
5
00130
22027
20312
50000
41504
5
1
01330
01520
54500
3
11416
40130
60345
0
4
63604
31212
54500
3
20401
10306
0
3
01330
41314
0
Cr
ti
t
D A T
N D E
A
0
X
R
S Cr Cr Cr G R 0 U P
~
I
~E
R
I L L
L ~ T
~N
0
R
-
E G A
A P E
Cr Cr -
D u P L I
A T E ~ T
P E ~ N 0
Cr
C
A
Cr
C H E C K ~
I N C 0 R R
E C T Cr Cr W 0 R D ~ T
0 0 ~ L 0 N
Cr Cr Cr I L L E
L ~ D I
T Cr Cr
G A
G I
3
22611
50000
2
0 V E R F L
0 W Cr Cr-
1653
1
Error
J
print-out
headings
CD
®
®
CD
LP
ZR
100
101
102
103
104
105
106
107
110
111
112
113
114
115
116
117
120
121
122
123
124
125
126
127
130
131
o
IA
IA1047
45
03
17
11
01
34
06
27
0
45
04
06
34
03
17
0
45
06
15
14
12
0
45
14
12
0
CA
47260
31140
30121
20240
04140
22202
04140
45450
LP100
47223
01301
03010
06012
06042
03240
LP111
45471
13200
20040
01042
01454
LP120
47073
06200
03124
IP126
Cr t F 0 L L
0 W I N G i::l
V A R I A B
L E S i::l N 0
T i::l I N C L
U D E D i::l I
31111
61304
43023
40603
61611
20414
62220
0
10
00130
52004
40703
02204
42012
40457
6
60530
40130
40405
40130
50000
5
01605
42012
54500
3
1:1 I N
X Cr Cr
N
Cr
i::l
N
D E
t
D A T A
A P E i::l
0 T i::l M 0
T
T E D i::l
i::l s E R
V 0 s i::li::l ~
U N
0
N
Cr Cr
t
N
G
E
P
i::l T A
Ei::li::li::l H
I
T
~ S
R T
Cr
I
t
N
R 0
C H A
T
A
Cr Cr
M
A C H
i::l
E R
R Cr Cr-
E
L4.1101
IA
IA1101
EF
0
Rewind tape # 1
Back to basic loader
ZR2
1
MS 0
DA
2
02 00200
CA IA1104
10000
1654
Box 2
errors
Section 2 of Initialization
Prep$re to Scan
List the
total number of segments
in the problem.
The following conditions are assumed for FF and TT
o S FF ~ 63 10
1 ~ TT ~ 63
FF
:f.
TT 10
To move the tape from Segment FF to Segment TT, two cases must be
considered.
Case 1:
Case 2:
~ TT
FF"/ TT
FF
At the time the tape is to be moved from Segment FF to Segment TT, it is
positioned exactly at the end of Segment FF.
Hence the number of blocks the
tape is to be moved to position it at the beginning of Segment TT is:
Case 1:
Case 2:
B( FF + 1) + B(FF + 2) + . . . + B(TT - 1)
B(TT) + B(TT + 1) + . . . . + B(FF)
The tape is moved forward for Case
1660
~
backward for Case 2.
Segment Layout on Object Program Tape
Label
Block
1 i
21
3 1
4
S
T
~
E
G
~
M
~
~
00
00
00
00
00
00
5
O~N~O
00
00
00
00
00
00
6
I
Nil Sentinel
~ IJ
p
M
I
OOI~L~
I~y~
I
I
371Preface
IExit
8
9
00
Z
00
Z
00
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
.
I
,Preface
jEntry
R
q~R~
---------
(XS3)
= Segment
number
M = number of blocks of Termination
N = number of full blocks in Segment + Preface
L = no. words of partial block;
Y = Insert address of partial block
Return Jump to execute Preface
00
7
120
P
r
I
Segment
and
Preface
Blocks
E
}
= number
of words in Preface
XS3 Z fill .
Full blocks of Segment
and Preface
Partial
Block
z z z z z z
I
Partial block of Segment and Preface
Remainder of partial block filled
wi th Z' s
z z z z z z
Termination
Blocks
Blocks of Termination as required
1661
Pick up
IP
command
Set up Exit from
control to address
in Next Segment
(Segment Number T)
Save number s
of Segment
from (F) and
Segment to (T)
NOTE:
)---.::.!ioI
Is there a
termi nat i on fCi.·I-------:~
Segment F?
Set tape handler
parameter to read
one block of termination to buffer
Set Tape handler parameter
J-----31111 toR ea d La be 1
Block of Segment T
Is this the
correct Segment?
Last block of
termination
returns at @.
All others
return at ®
Print Alarm:
COMPILER OR
MACHINE ERROR.
YOU MAY
RESTART PROBLEM.
Extract from
label block the
number of full
blocks in Segmen
and Preface and
Set Tape Handler
Parameter
Save number
of blocks
in Termination
Set Entry
for Preface
Set up transfer of partial block
Control Section for Obj ect Program
Is there a
partial block?
Rewind Object
Program Tape
(Servo 1)
~--=!II!I
Set tape handler parameter
to read partial
block to buffer
>------=~
Transfer
parti a I
block to
operating
area
Set Repeat
summation to
,-----::::..a compute B(T)
B(T+I)+ •.• +
B(F)
Set repeat summation to comput
....--_::::.IB(F+I )+B(F+2)+
••• +B(T-I)
Pick up move
forward tape
handler parameter
NOTE:
Pick up move
backward tape
handler paramete
Stringout Segment table of
block counts in
buffer
Control Section for Object Program (Cont.)
Sum block coun~s
and set up appropriate move
parameter
B(K)=number of
blocks in segment K.
Regions for UNICODE Control
RE
Loading address during Initialization Generation
Operating address during Object
Program
Move tape routine
ON4274
RE CT5
RE MT77
RE KK142
RE KTl61
RE TB166
RE GT210
RE BU610
RE
RE
Segment table
Tape handler
Termination buffer
DA77300
PR77250
Object Program Loader
Flex print routine
1664
Object Program Control
IA
2
3
4
MJ 0
0 30000
0 30000
0 30000
TP 0
;:);:,
KKO
TU A
TP 30000
TV Q
CT
30000
30000
30000
A
17
CT3
Q
CT52
5
6
7
10
11
12
KK13
17
KK14
25
MS 20000
TP KTO
A
KTI
A
KT2
CT12
A
13
14
15
16
17
20
21
22
23
24
25
26
27
30
ZJ
TP
RJ
MJ
RJ
TP
RJ
EJ
MJ
TP
AT
TV
TP
MfO
KK15
GT2
BU2
KT2
0
BU4
KK3
TBO
BU3
CT17
GT3
GTO
BUO
MTl
GT3
GTO
A
CT25
CT53
A
GT3
GT3
KTO
31
32
33
34
35
36
37
TP BU6
TP KK12
TU BUS
TP KK16
AT KT3
TV BU5
RJ GT2
CT50
KT3
KT3
A
CT44
CT45
GTO
40
41
42
43
44
45
TP
ZJ
TP
RJ
RP
TP
A
CT46
GT3
GTO
CT46
30000
CTO
1
CD
(2)
@
@
®
~~
QT
LT
QT
LT
TP
Segment from = F
Segment to = T
F2 : Jump to control
Ol~
CT14
KK15
GT2
0
KT3
CT42
KK15
GT2
30000
BUO
1
J
Set up address of IP command
IP command ~ Q
Set up exit from Control to segment
T
F·22l ~ A
F~KTI
T.2l5~A
T~KT2
Selective stop at end of segment
Is there a Termination for segment
F?
}
}
}
}
}
}
}
}
1665
Yes, so read block of Termination
to buffer and execute. Returns
at CT14 or CT17
Move tape to segment T
Read label block of segment T
Is this segment T?
No, so go to print alarm
Extract information from label
Set up parameter to read full blocKs
of segment and Preface
Set KTO to number of blocks in
Termination
Set entry for Preface
Set up partial block word count
Set up transfer of partial block
Read full blocks of segment and
Preface
Is there a partial block?
Yes, so read it to buffer
Transfer partial block to operating
location
(j)
®
®
®
@
@
46
47
50
51
TP KTO
ZJ CT50
RJ 30000
MS 10000
A
CT51
30000
CT52
52
53
54
55
MJ 0
TP CT60
RJ PR2
EF 0
30000
PR3
PRO
CT57
56
57
60
61
62
63
64
65
66
67
70
71
MS
02
0
45
14
12
14
12
34
12
01
11
0
200
CT61
47160
11201
04073
06200
03124
04073
20240
04151
20074
}
}
Execute Preface
Selective stop before operation of
segment
Execute segment T
Print alarm
Rewind Object Program tape
(Oniservo 1)
Stop
DAO
10000
11
30715
20403
01605
42012
52503
02504
13012
20323
55700
Parameter
Cr t C 0
I L E R
R !J. M A
I N E !J.
R 0 R Cr
U !J. M A
R E S T
T !J. P R
L E M Cr
MIO
1
2
3
4
5
6
7
MJ 0
TP KT2
ST KTI
ZJ MT4
SJ MT5
TN A
SA KKO
AT KK4
CT53
MI13
A
17
MT35
10
11
12
13
SP KT2
TP KK2
MJ 0
SS KKO
17
KT4
MT20
17
14
15
16
17
20
21
22
23
24
25
26
27
AT
TP
SA
TP
AT
RP
TP
TP
TP
RP
MI35
A
17
KT4
MT36
MT23
BUIOO
KT3
MT31
MT27
11
}
Q
1
KK4
KT1
KKO
KK1
KK5
30020
TB1
KK7
KKIO
20020
LQ BUIOO
TP KK6
Is there a Preface for segment T
M
P
!J. 0
C
E
Y
Y
A
0
~
H
R
0
!J.
R
B
Exit
Entry
T- F ~ A
If T = F, go to print alarm
Is T > F?
No, so F - T ~ A
(F - T + 1) . 2 15 --7 A
Set up repeat summation on Segment
table
T . 2 15 ~ A
Pick up move back dummy
30000
A
A
}
T > F, so form (T - F - 1) . 215
in A
Set up repeat summation
F~A
(F + 1) . 2 15 ~A
Pick up move forward dummy
Set to pick up first term
Segment table ~ buffer
Set index
1666
Position columns
String out
the block
counts of
the Seg-
32
RP
QT
RA
33
IJ
34
35
36
40
41
TP
RP
SA
LA A
AT KT4
RJ GT2
42
MJ
0
KKO
30
31
37
30020
BUIOO
MI'31
KT3
KK12
20000
BUO
MT32 J
BUO
KKII
MT25
Add block counts to determine the
number of blocks to move tape
25
GT3 }
GTO
MTO
Add sum of blocks to parameter and
move tape to segment T
To exit.
0
1
30
1
2
3
4
5
6
7
10
40
1
1
o
o
BUO
QT
14
o
o
o
o
0
0
BUl00
o
o
o
15
50
0
0
7700
77
101
16
RP
30000
CT46
KTO
o
0
o
1
o
o
o
o
o
o
0
0
0
0
CA
ON165
12
13
2
3
4
Move forward dummy
Move backward dummy
Read forward dummy
Repeat summation dummies
30000
~T37 }
50
RP
SA
11
J
~37 }
o
o
o
4 columns strung out?
ment Table
to simplify the
summation
A
1
20000
Mask out columns
777
Segment table column mask
3
BUO
20
Segment "from" mask
Segment "to" mask
Parameter to read one block to
buffer
Partial block repeat dummy.
BUO
Number of blocks of termination
(= 0 for F = 0)
F = segment number "from"
T = segment number "to"
o
o
1667
Object Program Tape Handlers
Since the 1103A and 1105 Tape Handlers which are put on the Object
Program Tape by Initialization Generation are the same as those used in the
Translation Phase, only their regional assignments are shown here.
Flow
charting, coding, and an explanation of them may be found in Section III, 3,
Translation Subroutines.
Obj ect Program Tape Handler Regions
I 1103A I
RE TG4461
Length
=
370 8
words
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
TH210
WB244
WW256
RF270
IA300
RR301
RE321
RA330
RB367
RW377
MF404
MB415
PC417
WE440
CF451
CC464
CE524
CD547
VV557
CR565
1105
{ Loading address}
during Initia1ization Generation
Operating addresses during
Obj ect Program
1668
RE TG4461
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
TH210
RW257
RF264
RB272
IA300
EX301
WB304
WW316
RR330
RE346
MF4l1
MB422
PC424
WE445
CC456
CE516
CF534
CD547
VV557
CR564
Length
=
365 8
words
a--
VI. PROCESSING PHASE
VI
PROCESS ING PHASE
The Processor uses as input the Op File III for each segment together
with the library and generated subroutines with their preludes.
From this
input the Processor assembles the required subroutines for each segment.
As
each subroutine is processed, the relatively coded addresses are changed to
the proper machine coded operating addresses.
Cross reference call words are
replaced by the necessary machine coding to accomplish the cross reference,
depending on whether the reference is "within a segment" or "from one segment
to another".
When all the routines for one segment have been processed, the
segment together with its Preface and Termination is transferred to Uniservo
tape.
This tape, containing all the segments in sequence, is the Object Pro-
gram tape.
A more explicit description of the methods used in modifying the
relative coding follows.
In the initial stage of the Processor the Op File III for the segment
to be processed is read from tape into High Speed Storage.
When this transfer
has been completed, the first subroutine is read from the Generated Routines
Tape into the Tape Image in High Speed Storage.
At this point the tape hand-
ling is temporarily suspended and the actual processing begun.
The call word
for the subroutine is checked against those listed in Op File III to determine if the subroutine is referenced in this particular segment.
The word
following the call word is then checked to see if it has a flag indicating a
cross reference to another segment.
If the call word is listed in the Op File
III and is not flagged, the subroutine will be processed at this time.
If
the subroutine is not to be processed at this time, the next subroutine will
be read into the Tape Image and the foregoing procedure repeated.
When all
the generated routines in the segment have been processed, the Fixed Library
1671
and Standard Library routines are processed in like manner.
The first line to be processed in all cases is the entrance line of the
subroutine.
Following the modification of this line, each line subject to
address modification is processed in order, beginning with the line indicated
by the line count of the Tape Image.
Each relative address is processed de-
pending on the nature of the coding, to obtain the proper machine coded
address.
All addresses within the range 01000
addresses coded relative to OIOOOi
through 07777 are modified as
hence, the corresponding absolute address
is obtained by subtracting 01000 from the relative address and adding the
High Speed Storage operating address for the subroutine in which the address
appears.
The High Speed Storage operating address for the routine is obtained
from the word following the call word for the routine in Op File III for the
segment.
All other addresses to be modified are in the form of call words
(see call word section).
Call words of the form 10xxx, 20xxx, 60xxx, and 70xxx are unique only
within the routine in which they appear.
The absolute addresses corresponding
to such call words are obtained by adding the last three digits of the call
word to the initial High Speed Storage operating address of the constant or
temporary region associated with the call word.
These initial addresses are
calculated from information in the Prelude of the routine and provided as inputs to the Address Modification Subroutine.
Call words of the form 61xxx , 63xxx, and 76xxx are modified to obtain
the corresponding absolute address, by adding the last two digits of the call
word to the initial High Speed Storage operating address of the Pseudo
Operation Input Region.
The initial address for the Pseudo Operation Input
1672
Region is that of the thirteenth word of the Termination Buffer, and is
stored as a constant in this phase.
Absolute addresses corresponding to call words of the form 62xxx and
75xxx are obtained by adding the last two digits of the call word to the ini~ial
High Speed Storage operating address of the Function Input Region.
The initial address of this Function Input Region is that of the first word
of the Termination Buffer and is also stored as a constant in this phase.
Call words of the form 64xxx, 65xxx, or 66xxx are modified to obtain
the corresponding absolute address, by adding the last three digits of the
call word to the initial High Speed Storage operating address for the
subscripted variables of the Object Program.
non~
This initial non-subscripted
variable address is obtained from fixed location 00007.
Similarly, call words of the form 67xxx are modified to obtain the corresponding absolute address by adding the last three digits of the call word
to the initial High Speed Storage operating address of the Constant Pool for
the Object Program.
This initial Constant Pool address is obtained from
fix~
ed location 00010.
Call words of the form 7lxxx are used to reference absolute addresses in
the range 01000 to 01777 and are modified to obtain the absolute address by
subtracting 70000 from the call word.
Those call words which reference another routine are of the form 22xxx,
23xxx, 24xxx, 25xxx, 26xxx, 27xxx, 4xxxx, 5xxxx and those which reference a
subscripted variable data array are of the form 77xxx.
All such call words
are considered to be cross-references of the routine, if they appear as add~esses
to be modified, and must be in Op File III for the segment.
are not, AUh1M 11.
COMPILATION INCONSISTENCY (etc.), is typed on the
1673
If they
Flexowriter.
With one exception, instructions containing call wordS of this
type are modified by replacing the call word by the High Speed Storage running
address of the referenced subroutine or data array.
This running address is
obtained from the word following the call word in Op File III.
The one ex-
ception in which this method of modifying a cross reference does noc apply is
that in which the cross reference is to another segment.
Due to restrictions
imposed in this system of coding, a reference to another segment occurs only
as a one way unconditional jump and is modified by replacing the entire line
of coding by an interpret instruction designed to furnish the ContrOl Section
with the information necessary to accomplish the desired cross references.
This interpret instruction is obtained from the word following the call word
in Op File III.
It contains the segment number from which the jump is made,
the segment number to which the jump is made, and the High Speed Storage running address in the latter segment.
When a reference is made to a line of
another subroutine other than the entrance line, the line to be modified contains the call word of the referenced subroutine.
When a reference is made to a line in another subroutine other than the
first line, the instruction in which the reference is made contains the call
word of the referenced routine.
This instruction is followed by a special
line of coding of the form IO-xxxxx-xxxxx, called a "tent. line.
This "ten"
line contains the number of the referenced line relative to the first line of
the referenced routine.
This number will be in the same portion of the "ten"
line, i.e., "uti or ttv" address, as the call word in the referencing instruction. In processing a reference of this type, the call word is modified as
previously mentioned, to obtain in the referencing instruction, the High Speed
operating address of the first line of the referenced routine.
1674
After both
addresses of this instruction have been modified, the contents of the "ten"
1~lne,
•
less the op_ code, are added to the instruction to change the High
Speed Storage addressees) from that of the first line of the referenced
routine to that of the referenced line within the routine.
As the lines of a routine are modified, they are accumulated in the
Tape Image and transferred in groups to locations in the Segment Image on
drum, corresponding to their High Speed Storage locations during the running
of the segment in the Object Program.
When all the lines subject to address
modification in the routine, i.e., instructions and relative constants, have
been processed, the fixed (unmodifiable) constants for the routine are transferred to consecutive locations in the Segment Image, following the last modified line of the routine.
Words of zeros, equal in number to the temporary
storage locations required by the routine, follow these constants in the Segment Image.
Each generated subroutine and library routine required for the particular segment is processed in this manner.
When all the required routines for a
segment have been assembled and processed, the entire Segment Image load, ineluding the proper Preface, Termination, and segment label block, is transferred to the oatput tape to form a segment of the final running program.
The Generated Routines Tape is then rewound and the UNICODE System Tape and
Standard Library Tapes are moved back to the beginning of the Fixed Library
and Standard Library, respectively.
The processing of the next segment is
then begun.
Each succeeding segment is processed in exactly the same way until all
the segments have been processed and written on the output tape.
This tape,
containing all the segments of the final running program, is then the Object
1675
Program Tape.
In addition, during the execution of this phase, the Sentence Number
List is built and stored on drum for use by the Program Listing Phase.
(See Program Listing for format of this list.)
1676
PROCESSOR SETUP BLOCK
Regional Assignments
HE
TtI21
RE
RE
RE
UP421
CK653
PS7230
Tape Handler
Uniprint Routine
Processor
Processor Setup Block
Processor Setup Routine
o
1
2
IA
TP
PS
15
TP
RJ
TH2
PS26
6
TH3
TH
TP
5
QJ
QJ
11
TP
RJ
TP
RJ
PS5
PS6
PS27
lli2
PS13
UP2
12
13
14
15
16
17
20
21
22
23
24
25
26
MJ
00
01
52
70
01
65
24
27
47
26
22
50
PS14
01010
24656
22010
52545
65345
50270
54306
51273
24663
77777
00601
CKI
12
10101
50134
10101
12630
03201
12427
56501
43134
45150
77777
CK
27
40
00102
o
CA
PS30
3
4
5
6
7
10
o
Q
PS5
PSI0
TH3
TH
UP3
UP
Modified Dimension List length to fixed
location 00006.
Parameter to Tape Handler
Read Processor from Unicode System Tape
to core.
Library indicators ~ Q.
Ignore Fixed Library indicator.
Is Standard Library required?
Yes; parameter to Tape Handler.
Move Library Tape backward one block.
Parameter to Uniprint routine
Type: PASS IV. PROCESSING AND ADDRESS
MOD IF ICATION .
Jump to Processor.
Parameter for typeout.
£::. £::. £::.
£::.
£::.
£::.
PAS S £::. I
V
•
£::.
£::. £::.
£::.
PRO C E
S S I N G £::.
AND t:. A D
D RES S t:.
MOD I F I
CAT ION
77 77 77 77 77
Parameter to read forward 6 blocks from
Uniservo 1
Parameter to move backward 1 block on
Uniservo 2
t:.
1677
=> Beginning of subroutine; where XX is regional (RECO) label for routine
~
Exi t from subroutine
==>Connectors; where X is connector number
=>
Switch; where "Alt is symbol
Explanation => Explanatory note; no action implied.
/-rl!. «,o1!It..U\
\
==> Return jump reference (subroutine); where parenthesis enclose the connector number
/
Function
Performed
0uestio~
to which the reference is made.
==>
Reference to general subroutine which is not part of this phase; where parenthesis
enclose regional (RECO) label for routine
==>
Operation Box
==> Decision Box
Key to Processor Flow Charts
Processor Flow Chart
Get library indicator word
Number of library routines in
from absolute address 00005
problem less one to Temp 228
Set switch
to @
Check Ope code of
library indicator
word
NO
®
YES
YES
Is standard
library
required?
t ___
Setup tape handler codewords
Setup temporaries, tape
handler codewords and
limiting values
Set servo number for object
Check servo]
indicator
YES
Seven servo~
p_r_o_g_r_a_m_t_O_6_1_.n_p_r_i_n_t_o_u_t_t_e_x_t_"'_-_-_-_~ r_:_:_U~ired
f_o_r_s_e_v_e_n_s_e__r_v_o_s_________
__
.J
YES
Codeword to tape handler to
read I block of Ope File III
from servo 5 to File Image
(TH)
Tape Handler
Type: ALARM 10
COMPILATION INCONSISTENCY (etc
Zeroize 27775 words on drum
8
for segment image to allow for 3
core bank segments in object
program
~--4IIl
NO
Is first word in File
Image = "FlLEA3"?
[Entry label block?]
Is first word in File
Image = "ZlZlZZ"?
[End of tape block?]
Set switch
Setup current tape handler
codewords (TS16-TS21) to apply
to generated routines tape
Set switch
to @
NO
Set switch
CV to
Preset library routine index
(temp 158) to number of
routines in problem less one
Codeword to tape handler to
rewind generated routines
tape
Set switch
©
......
0'
Codeword to tape handler to
move servo I backward to
beginning of fixed library
to
Set switch
®
@
(TH)
Tape handler
co
......
to
@
(TH)
Tape handler
Set switch
0to
Reset number of
blocks to zero in
code word to move
servo 1 backward
To Conn. (32
routines
Codeword to tape handler to
move servo 2 backward to
beginning of standard library
(TH)
Tape handler
Reset number of
blocks to zero in
codeword to move
servo 2 backward
®
Set switch!
®to
@~
Setup routine (LC) to
count blocks of fixed
library processed •
r--_~I
.-
Setup current tape handler
codewords (TS16-T521) to
apply to fixed library
tape (servo 1)
Setup routine (LC) to
count blocks of standard
library processed
I_ .-----
r______
Setup current tape
handler codewords (TS16TS21) to apply to
standard library tape
(servo 2)
Codeword to tape handler to
read 2 blocks from library
tape (servo 2) to Tape Image
To Conn. (70)
Readanct count2 block
of servo 2
One shot
Transfer first block of library routines from second
block of Tape Image to first
block of Image
Set switch
®
@
to
6
Obtain object program running
address of "IP" jump to next
segment from Temp 118
Type: ALARM 7
COMPILATION INCONSISTENCY (etc.)
_To~onn.
j£9)_ _ _
Process standard library routines
YES
Check OPe code of library indicator word
from absolute address
00005
Is standard
required?
NO
Is fixed
library required?
~--~library
Add appropriate drum address
to form corresponding address
for "IP" jump in Segment Image
on drum. Preset in Box 1
"T6~66~1I
in XS3 to
second word in segment
label block
NO
Box-l
Obtain "IP" jump to next segment
from second word of Op.File III.
Add one to "v" address and transfer "Ip to Segment Image on
drum
lt
ItSegmen" in XS3 to first
word in segment label
block
Octal segment number from
Temp 108 to "v" of third
word in segment label block
Divide number of lines
in Termination by number of lines in one
block (17° ).,
8
Number of lines in Preface
(Termination) from Temp 7
to "v" of eighth word in
segment label block
Number of full blocks
in Termination to
fourth word in segment
label block
I
!
1
I
&
In segment label block,
advance number of blocks in
Termination by one to
count partial block
Number of full blocks in
segment + Preface to fifth
~
word in segw~nt label block
( Bit s 21 10 t h r u 32 1O)
Add [number of lines of statements
and routines + 2 from Temp 1281 +
[number of lines in Preface] to
form in Temp 1 the number of lines
of segment + preface
Number of lines in partial
block of segment + Preface
to "v" of sixth word in
segment label block
~
Divide number of lines
in segment + preface by
number of lines in one
block (1708)
cl)
Add [initial address in run ning
segmen t from Temp 258] + [ Number of
lines in segment + preface ] to form
address of word following preface in
running segment (Temp 5),
Form [address of word following
Preface from Temp 5] - [Number of
lines in Preface] to obtain address
of exit from running Preface in
"u" of "A"
Form [addres~ of word following
Preface from Temp ~ - [two] to
obtain address of entrance for
running Preface in "v" of "A"
Add return jump Ope code to addresses
in "A" to form return jump to execute
Preface. Store this return jump in
seventh word of segment label block
Is number of lines
in partial block of
segment + Preface =
zero?
YES
Form [address of word following Preface] - [Number of lines in partial
block of segment + preface] to obtain
initial address of partial block in
runnin
Fill words 9 thru 12010
in segment label block
with Z's in XS3
Store number of lines in partial block
of segment + preface in "u" of sixth
word in segment label block and initial
address of partial block in "v" of
same word
Codeword to tape handler to read
Ope File III "End of Entry" block
and Preface (if any) from servo
5 to File Image
NO
Type: ALARM 10
COMPILATION INCONSISTENCY (etc.)
Add {number of lines of statements
and routines +2] + [drum address
of first statement in Segment Imag~
to form drum address for first word
of Preface in Segment Image
Transfer Preface (if any)
from File Image to Segment
Image on drum following
last routine for segment
Preset this
address in
Box 2
Box-2
~egment label block from tape image
to initial address of Segment Image
on drum preceding first statement
of segment
Advance number of lines in segment +
Preface (Temp 1 ) by 1708 to form total
number of words in Segment Image to be
written on tape (i.e. segment label
block + segment + Preface
......
Is number of words in Segment Image
yet to be written on tape (Temp 1) >
number of words in buffer? (Buffer =
Tape Image + File Image
YES
Advance address in Segment Image by number of
words transferred
0"-
co
CJl
o Conn. (71)
Check count Of blocks·on object program tape
~
Codeword to tape handler
to write full buffer load
on object program tape.
(servo 3 or 6)
(TIl)
Tape handler
Transfer full bUffer~
load of words from
Segment Image to buffer
Decrease number of words in ~eg
ment image yet to be written
(Temp 1) by number of words in
buffer
Decrease count of full blocks of
segment + Preface to be written
(Temp 2) by number of blocks in
buffer
Fill remainder
of partial block
in buffer with
Z's in XS3.
Transfer all words yet
to be written on tape
from Segment Image to
Buffer.
Is number of
lines in partial
block of segment
Preface = zero?
Advance count of blocks
yet to be written (Temp 2)
by one to count partial
block.
NO
Advance count of blocks
to be written (Temp 2)
by one to count segment
label block
~__~yet
YES
Return to process
next segment
Codeword to Tape Handler to
write remainder (or all) of
segment from buffer to object
program tape. (Servo 3 or 6)
(TH)
Tape Handler
Codeword to tape handler
to write Termination from
File Image to object program tape. (Servo 3 or 6)
NO
Codeword to Tape Handler
to read Termination, if
any for segment, from
servo 5 to File Image
Is there a Termination for
segment?
To Conn. (71)
Check count of - - blocks on object
program tape
(TH)
Tape Handler
Codeword to Tape
Handler to rewind
library tape
(Servo 2)
Codeword to Tape
Handler to rewind
servo 2
Transfer 3608 words
(2 blocks) of Z's
in XS3 to buffer
Codeword to Tape Handler
to write 2 blocks of Z's
from buffer to object program tape. (Servo 3 or 6)
Codeword to tape handler
to rewind object program
tape (Servo 3 or 6)
Form [pumber of blocks servo I is
advanced beyond start of fixed librarjl
- [number of blocks in fixed libY~Y~J
to obtain number of blocks to move to
position servo I at beginning of
Listin ~Phase setu block
Is number of blocks
to move servo I
= zero?
Servo 1
positioned at
start of Listing
Phase setup
block
YES
Exit from
Processor
.
~
25
Is number of blocks
to move servo I
negative?
Codeword to Tape Handler to move Servo
YES I forward the calculated number of
blocks to position it at beginning
of Listing Phase setup block
NO
Codeword to Tape Handler to move servo
I backward the calculated number of
blocks to position it at beginning of
Listing Phase setup block
Number of lines in
Preface from seventh
word in entry label
block to "un of Temp 7
Obtain number of words in Op.
File III from fourth word in
entry label block and preset
in Box 9 and Box 10
Segment number from
third word in entry
label block to TemplC8
Number of lines of statements
and routines + 2 from fifth
word in entry label block to
Temp 128
Calculate number of
blocks in Op. File III
for this segment,ineluding partial block
(if any).
Object program running address
for nIP" jump to next segment
from sixth word in entry label
block to Temp 118_
Codeword to Tape Handler to read
2 label blocks and first block of
generated routines from generated
routines tape (servo 4 or 7) to
Tape Image
\------l!JII
Codeword to Tape Handler to read all of Op.
File III for this segment from servo 5 to
File Image
Type: ALARM 9
COMPILATION INCONSISTENCY (etc.)
NO
Is first word in second block
in tape image =Ll SUBRO ? [Generated
routines entry label block?]
YES
Transfer first block of generated
routines (includes prelude) from
third block in tape image to first
block in tape image
Prelude block of
next routine is in
first block of tape
ima e
Is op. code of first
word in tape image
equal to zero?
Number of lines of Prelude
routine from "v" of
first word in Prelude block
to "v" of Tern 6
~....I..-~and
Routine callword from "u"
of first word in Prelude
Block to "u" of Temp 4
and "A"
Preset
on tape
To Conn. (75)
Routinesentence
num~----------~-~
ber to Sentence Number Li st
~
No im lies end of articular kind of
routines being processed i.e. end
of fixed library, standard library,
or generated routines)
Number of lines of
Prelude and routine
from Temp 6 to "A"
register
_T~onn.~8U _
Calculate block
Number of blocks of Prelude
and routine -1 from
"A" register to Temp 3 in
codeword position
Flagged cross-reference
indicating routine referenced is in another segmen~
hence not to be processed
YES
at this time
Box-9
Is routine callword
in Op. File III for
this segment? (search
File Image)
Codeword to Tape Handler to read
one block from current tape (i.e.
generated routine, standard library,
or fixed library tape) to Tape Image
Number of blocks of Prel
ude and routine minus
one from Temp 2 to "A"
in codeword position
Codeword to Tape Handler to move current tape (i.e. generated routine,
standard library, or fixed library
tape) forward past routine not in this
segment
Transfer object program running address
of routine to be modified from word
following routine callword in OPe File
III to Temp 3 and Input I for Address
Modification Routine
Number of fixed temporaries
for routine from third word
of Prelude to Input 4 for
Address Modification
Routine
current
Number of relative constants
for routine from third word
of Prelude to Input 2 for
Address Modification Routine
Number of working temp~ies
for routine from third word
of Prelude to Input 5 for
Address Modification
Routine
Number of fixed constants
for routine from third word
of prelude to Input 3 for
Address Modification Routine
Last address in running
routine (including constants
and temps)+ one to "u"
of "A" register
Subtract number of working temps
from "A" to form object program
running address of first working
temp.; send address to "A" and
Input 5 of Address Modification
Routine
Subtract number of fixed temps from
"Att to form object program running
address of first fixed temp.; send adand Input 4 of Address
Routine
Subtract number of fi~ed constants from
"Att to form obj ect program runnin~J address of first fixed constant. Send
address to "A" and Input 3 of Address
Modification Routine
Subtract number of relative constants
from "A" to form object program running
address of first relative constant.
Send address to "A" and Input 2 of
Address Modification Routine
&
Address in
on drum for
of modified
"v" of Temp
segment image
Number of lines subject
Setup address of sever
first word
to address modification
line in tape image as
f? to Temp I (counter)
~ address of first line
routine to
3
to be modified
t
Setup address of first
line in tape image as
address of first modified line
Preset current drum image
"'- address in box 5 to address
~ for first word of modified
routine from "v" of Temp 3
~
Set limit for current
tape image load to
one block
Switch
Entrance line of library
routine from seventh line of
tape image to "Q" register as
input to Address Modification
Routine
~O~onn
(52)_
Modify line in nO""
register
Restore modified
entrance line to
seventh line of
.tape image
Advance address for next
modified line (Box 4) by number of inputs + number of outputs + number of lines in
heading (3) of Library Routine
Preset
on
tape
Advance address of next line to
be modified (Box 3) by number of
inputs + number of outputs + number of lines in Library Routine
heading (3) to skip over these
without modifying
Box-3
Line to be modified from
tape image to "Q" register as input to Address
Modification Routine
I------i~~
Is line to be modified a "10" line?
(i.e. op. code = lOa?)
To Conn.
LibraryRoU'tine name
Sentence Number List
td
Transfer Library
Routine heading
to beginning of
tape image
Box-4
Store modified
line in tape
image
Advance tape image ad-
~ dress for next modified
~ line (Box 4) by one
mplles last
line modified
is on drum
Implies increment
last line modified
by "u" and "v" of
"10" line
Form segment image
address (drum) of
~--~~last line modified
YES
Add contents of
"un and "v" of
"10" line to "u"
and "v" of last
line modified
Advance tape image
address for next
modified line (Box
3) by one
~
Form tape image
(H.S.S.)
of last line
modified
~N_O__________~~address
Box-5
Transfer modified
lines from tape image
to segment image on
drum
Preset address for
~_ next modified line
~(Box 4) to address
of first line in
tape image
I
-9
Advance segment
fO Conn. (72)
Re;admore block~; of image address by
routine to tape image
number of lines
-{
transferred (Box 5)
I _
Preset address for
next line to be modified (Box 3) to address of first line
in tape image
ave all lines
subj ec t to addre ss
modification been
processed?
NO
YES
Number of modified
lines in tape image
not yet transferred
to drum to Temp 4
Is the number of fixed
(unmodifiable) constants
for the routine (Temp 0)
e ual to zero?
Is the number of modified lines not yet transferred to segment image
equal to zero?
Advance segment image address (Box 5) by the total
number of words just
transferred
NO
Obtain segment
image address
from Box 5 and
preset in Box 6
Pack fixed constants
in tape image with
modified lines in
tape image
Transfer fixed constants
and/or modified lines from
tape image to segment
image on drum
Box-6
Is the number of Library
Routines processed in this
segment equal to the total
number for the problem?
Decrease number of fixed
constants to be transferred
to segment image (Temp 0)
by number just transferred
NO
To Conn. (72)
Read more-blocks of
constants to tape
image
NO
Is number of fixed constants
not yet transferred to segment
image greater than full tape image
load?
Transfer full tape
image load of fixed
constants to segment
image on drum
Box-7
Decrease number of
fixed constants to be
transferred (Temp 0)
by number of words
in full tape image
load
YES
Obtain segment
image address
from Box 5 and
preset in Box 7
Advance segment
address (Box 5)
number of words
full tape image
image
by
in
load
Box-8
Obtain segment
image address from
Box 5 and preset
in Box 8
Advance segment image address
(box 5) by number of words
in tape image to be transferred to segment image
Transfer remaining modified
lines or fixed constants
from tape image to segment
image on drum
. ----"
I
(MR)
Address Modification Control Subroutine
Input = Word to be modified in "Q" Register
Word to be modified
from "Q" register
to output line
Is op. code of wor
to be modified equal
to 17,22,45,56,61,63,
75,76,or 77 octal?
Is op. code of word
to be modified equal
05,14, or 57
octal?
"u" of word to be
modified to "u"
of "Q" register
Yes imp-lies only "v"
address to be modified
Yes implies neither
address to be modified
@:
Modified "~:Jd
dress to "u" of
output line
"v" of word to be
modified to "u"
of "Q" register
Yes implies only "u"
address to be modified
Modified "v" address to "v" of
output line
~
&
-V
(MS)
Modify Address Subroutine
Input = Address to be modified in "u" of "Q" register
Output = Modified (absolute) address in "u" of "A" register
Yes implies no
modification
Is address to be modified
an address relative to 1000 ?
i. e. 1000S ~ address ~ 7777a?
Is 11000S ~ address to be modified
~ 17777S?
YES
NO
Yes implies no
modification
Is 21000 ~
address to Sbe modified ~ 21777S?
Yes implies
t----------'iil'l.
NO
Is address to be modified 22 ___ .23 ___ ,24 ___ ,
25 ___ .26 ___ • or 27--_
.
callword?
YES
Is address to
be modified 20 __ _
callword?
Is address to be
modified 60 - -callword?
NO
Is 30000S ~ address to be modified
~ 37777 ?
S
y
.......
Is address to
Ibe modified
61- - -callword?
Is address to be mOdifiec
64---, 65 ___ , or 66---,
callword?
Is address to
be modified
63- - -callword?
Is address to
be modified
62 - - -callword?
NO
address to
be modified
70--- callword?
YES
Must
77 __ _be
callword
Is address
to be modified
71---ca 11 word?
NO
Is address
to be modified
76--- callword?
NO
Is address
Is 720008 < address to De modified ....----301 to be modified
75_-- callword?
~ 74777?
Yes implies
no modification
o
Is address to
be modified
7 ___ ca llword?
~
~
Modify
relative constant callword
Modify
relative
address
Subtract 10008 from
address relative to
10008 to get location within routine
Add base object program
running address of routine
in this segment (Input 1)
to form absolute address
in "u" of "A" register
Subtract 100008
from 10 ___callword
61~..L.-.~ to get location
within relative
constant re ion
Add base object program running
address of relative constant
region for routine in this
segment (Input 2) to form absolute address in "u" of "A"
Modify fixed
temporary
callword
Modify fixed
constant
callword
62 t - - - - i M
Subtract 200008 from
20___ callworo to
get location wi thin
fixed constant region
Add base object program running address of fixed constant region for routine in
this segment (Input 3) to
form absolute address in
"u" of nA"
Subtract 600008 from
60--- callword to get
63~~~location within fixed
temporary region
Add base object program running
address of fixed temporary
~_-I region for routine in thi s segment (Input 4) to form absolute
address in "u" of "A"
Add base obj ect program run,y
.
ning address of function
\\!Xlt
input region (constant) to
.
form absolute address in
"u" of "A"
Modify callword for
.dummy v.ariable or
function in subprogram
Mask two least significant octal digits
64 I-""--~ from 61---. 63-__ or
76--_callword to get
location within pseud
operation input region
Add base object program
running address of pseudo
operation input region
(constant) to form absolute
address in "u" of "A"
:Modify function
or non-subscripted
variable callword
Mask two least SignificanJ
octal digits from 62 __ _
callword to get location
within function input
region
Modify
constant
callword
Mask three least significant
octal digits from 64 ___ •
66t--,+--~65--,-. or 66 ___ callword to
get location within nonsubscripted variable region
Add base object program running address of non-subscripted variable region
(fixed location 00007) to
form absolute address in
"u" of "A"
Subtract 670008 from
67---callword to get
67 ~'--~ location wi thin object program constant
_pool
Add base object program
running address of constant
~---I pool (fixed locat:ion 00010)
to form absolute address
in "u" of "A"
Modify working temporary
callword
Subtract 70000 from
70 ___ callword 8 t9
68..--~~ get location within
working temporary
re ion, - - - - - - - - - '
Add base object program running address of working temporary region for routine in
this segment (Input 5) to form
absolute address in "u" of
"A"
Modify callword for
routine or subscriptoo
variable
Modify callword used to
reference fixed locations
010008 thru 017778
Subtract 70000 from 71 __ _
8
69~~~callword to form an abso- ~~~
lute address within the
range 010008 thru 017778
in "u" of "A"
Box-lO
Is callword in
1\..----L.~Op. Fi Ie III for
this segment?
Flagged cross-reference
indicating routine associated
with referenced callword is
in another segment
NO
TYPE:
ALARM 11
I-----~ COMPlLAT~f)N
INCONSISTENCY
(etc)
YES
Transfer interpret instruction to
reference another segment, from word
YES
Is word following callfollowing callword in Ope File III, ~~~ word in Ope File III an
to output line, i.e. replace line
interpret (14 xxxxx xxxxx)
to be modified by interpret instrucinstruction?
tion
NO
Transfer absolute object program
running address in this segment, for
routine or data associated with
referenced callword. fr.om word following callword in Ope File III to
"u" of "A"
EJ
(LC) Subroutine to count blocks of Library (Fixed or Standard) Processed
Switch
"
......
",
Obtain number of blocks of current library tape to be read or
moved forward, from codeword in
input to Tape Handler
~
Add number of blocks to stored
"move backward" codeword for current
library tape. Codeword used to
reposition tape at beginning of
library
Count by-passed when processing generated routines
~------~~------------------.--~
--~---
-l
(PC) Subroutine to Count Blocks on Object Program Tape
o
......
'preset
on
tape
Type: WARNING, OBJECT
PROGRAM ON SERVOWILL EXCEED 2500
BLOCKS. ATTEMPT
Obtain number of blocks
BEING MADE TO CONto be written on object
TINUE
COMPILATION.
program tape from codeword in input to Tape
Handler
C
~;
71
~'!.Y
"",
YES
12
Advance count of blollis
on object program
tape by number of
blocks to be written
NO
Routine b - assed after warning
Set switch
(]to
@
+---..--v
~-----~
(IR) Input Routine
NO
tape
Codeword to tape handler
to read remaining blocks
of routine from current
tape to tape image
To Conn. (70)
Read and count blocks from
-
YES
Decrease number of blocks
of routine remaining to be
read (Temp 2) by number of
blocks in tape image
Codeword to Tape Handler
to read full image load of
routine from current tape
to tape image
(NR)
Subroutine to Build Sentence Number List
----I
Set current tape
image limit to
number of lines in
full image load
I
Mask three least significant
octal digits from library
routine callword in Temp
26
NO
Add initial address of Library
List to get address in list for
XS3 name of Library Routine
associated with callword
Is XS3 name
Library Routine already in Library
List in core?
I---~
I-----...::~
Transfer XS3 name of Library Routine from sixth
'line of tape image to
:Library List in core
YES
Set switch
to by-pass this routine
Transfer Library List
from core to sentence
number List on drum
NO
Must be callword for pseudo
op., i. e. 4---CW
Callword
for routine
-----pES
@
~
Mask two least significant octal digits from
pseudo OPe callword
Add base address of psuedo
OPe region in Sentence Num- ~
~
ber Li st to get address in
list for sentence number associated with callword
Obtajn base address of region in
Sentence Number List for sentence
numbers associated with 22 ___ ,26 __ _
or 27 ___ callwords
Transfer XS3 sentence number for pseudo OPe from sixth
line of tape image to Sentence Number List on drum
Obtain base address of region in ~
Sentence Number List for sentence
numbers associated with 24___
80
callwords
Obtain base address of
region in Sentence Number
List for sentence numbers
associated with 25 ___ callwords
Add three least significant octal
digits of callword to get address
in Sentence Number List for sente~
number associated with callword
-
-
Transfer XS3 sentence number associated with callword from sixth
line of tape image to Sentence
Number List on drum
- - - - - - - - - - - - - - - - - ------ - - - - - - - - - - - - - ---- ---- ----(BC) Subroutine to calculate block count from line count
Input = Number of lines in "v" of "A"
Output = Number of blocks in "v" of "A"
Is 551 octal
greater than the
number of
YES
NO Divide number of lines
by 170 octal to obtain number of full
blocks
Is there a
remainder?
NO
YES
Zetoize
Advance block count
by one to count
partial block
block count
Advance block
count by one
Decrease line
count by 1708
All blocks
counted?
NO
Transfer number of
I--~~blocks to ttv" of "A"
YES
PROCESSOR REGIONS
RE TN20
RE TH21
RE UP421
Servo Indicator
Tape handler
Uniprint
RE BR537
RE CK653
RE CL701
RE CM715
HE CN740
RE CP753
RE CQ1004
RE CR1033
RE CS1065
RE CTll17
RE CUl134
RE CVl174
RE CW1226
RE CX1251
RE CY1310
RE CZ1350
RE DA1401
RE ££1424
RE PC1433
RE IR1444
RE NR1460
RE BC1521
RE FC1536
RE RC1570
RE TC1627
RE TL1660
RE T01667
RE LV1712
RE MR1724
RE MS1751
RE MT2001
RE MU2040
RE MC2056
RE MD2105
RE MI2131
RE TS2140
1705
RE
LL2240
T13240
FA4200
List of library routine names
Tape image
File image
RE
DD40l0l
Modified dimension list
Sentence number list
Segment image on drum
* RE
* RE
RE ND42 102
RE
nI46202
RE
RE
RE
IL740
FL3600
BL4540
RE
RE
IB4
BB24
Number of lines in tape image
Number of lines in file image
Number of lines in buffer, i.e.,
BL = IL + FL
Number of blocks in tape image
Number of blocks in buffer, i.e.,
tape image + file image
Limit number of blocks on object
program tape
Limit address for full image load,
i . e ., II = TI + IL
RE PB4705
RE
114200
RE
RE
RE
F16l0
PI624
ZA77000
Entrance to Unicode service routines
END
* NOTE: The tape image and file image form the buffer for writing
the segment on tape; hence, they must be adjacent in memory with the tape
image appearing first.
1706
Processor
IA CK
o
MJ
1
TP 5
QT FC5
ST FC3
2
3
0
Q
A
TS22
CK5 no
CM22
£oK""
v I no
CN12
10
QJ CK6 yes
TV RC27
yes
\!o.J
vI\.l.V
TV RC3l
LA LV6
11
AT TC26
TC26
12
LQ LV7
6
13
LQ
LVII
6
14
TP
TS22
TS14
15
TP FC30
1513
16
17
TP 12
QT FC5
Q
1525
20
RS
TS25
21
22
SP TN
ZJ CK23
CL
23
RA T06
FC3l
24
RP 20012
RA TC17
CL
4
5
/
o
7
25
AT
£OTT,A
RC17
Begin Processor
Exi t ~ Unicode Service Routine
Library Indicator Word ~ Q
11= Library routines in problem~Av
11= Library routines in problem~''V''
of temp.
Fixed library re~ired?
Set switch®-?~
Standard library required?
Set swi tch @-+ @
# blks in buffer~ tape codeword
position
Form codeword to write full buffer
load on object program tape
# blks in tape image ~ codeword
position
Limit 11= blks object program tape
~codeword position
11= Library routines - I ~ library
list index
Preset count blks. binary tape
~Max. 11= blks. initialization
Segment image address ~ Qv
Segment image address ~ "v" of
temp
Drum add. for seg. - Run. add. seg.
= Drum add. corres. to loc. zero
Servo layout indicator
(A) = zero =::=> 5 servo s ; (A) -:f zero
=::=> 7 servos
Set Object program servo 11= = 6
~ printout
ZAIO
6
o
Setup tape codewords for 7 servo
layout
TN
CA CK26
1707
IA CL
@
®
0
1
TP TC14
RJ TH2
TH3
TH
2
3
TP FA
EJ TLl
A
CL6 yes
4
EJ TL
DA
5
6
7
10
MJ 0
RP 17777
TP FC
RP 17777
BR12
CLIO
DI
CL12
11
TP FC
DI7777
12
13
RP 17777
TP Fe
CA CL14
CM
DIl7776
Read 1 blk.Op. File III (servo 5)
~ File image
1st word Ope File III image ~ A
1st word = File l:::. 3? Yes~entry
label blk. for new segment
1st word = zzzzzz? Yes~End tape
blk; End processing
Alarm 10
Zeroize 277758 word segment image
on drum to allow for possible 3
core hank running segment.
1708
IA CM
®
Fixed
Library
0
1
2
3
4
TV RCI
TV RC32
TV RC32
TV RC20
TP TS22
CS31
CV31
CW2
LCI
TS15
5
TP
TC22
1516
6
TP TC20
T517
7
10
SP
LV7
AT TC22
0
TS20
11
TP TC17
TS21
12
RJ CR
CQ
13
14
15
16
17
20
21
TP TC23
RJ TH2
TV RC24
TV RC33
TV RC33
TV RC21
TV RC25
MJ 0
CA CM23
r2
TH3
TH
CS31
CV31
CW2
LeI
CR6
[CN2]
Set swi tch ~~~
Set switch E ~ E
Set switch J ~~
Set swi tch (£)~®
# Library routines in problem
- 1 ~ Segment Index
Set current tape codeword to
read [nJ blks. Gen. tape
Set current tape codeword to
read 1 blk. Gen. tape
Set current tape codeword to
read full image load Gen. tape
Set current tape codeword to
read move forward [n] blks.
Gen. tape
Read Ope File III ~ image and
process generated routines
}
Rewind generated routine tape
Set swi tch
Set swi tch
$ =~
E2
~
Set switch ~~@
Set switch ~~
Set switch C ~@
Switch
®
1709
IA CN
TH3
TH
TC2
1
2
TP TC2
RJ TH2
TP TC3
3
TP
RC22
LC4
4
TP
TC5
TS16
5
TP
TC4
1'517
6
7
SP LV7
AT TC5
0
TS20
10
TP TCI
TS2l
11
RJ CR
CR27
MJ 0
CA CN13
[CP2]
0
SWitCh}
@
12
Move servo 1 backward to beginning
of fixed library
Reset move backward codeword
~ zero blks.
Set to count blks fixed library
processed
Set current tape codeword to read
en] blks fixed library
Set current tape codeword to read
1 blk fixed library
}
Set current tape codeword to read
full image load fixed library
Set current tape codeword to
move FW en] blks
Process fixed library routines
1710
IA CP
®
0
1
TP
RJ
TS23
TH2
TH3
TH
2
TP
TC7
TS23
3
TP
RC23
LC4
4
TP
TC12
TS16
Move backword library tape
(servo 2) to library routines
entry label.
Reset move backward codeword ~ zero
blks
Setup to count blks of library tape
processed
Set current codeword to read [N]
hlk~
~
5
TP
TClO
TS17
6
7
SP
AT
LV7
TC12
0
TS20
10
TP
TC6
TS2l
11
12
13
TP
RJ
TP
Tell
LC
TI
TH3
LCl
A
14
EJ
TL4
CP16
15
16
®
17
20
Swi tChJ2l
®
22
23
24
MJ 0
RP 30170
TP TI170
RJ CR
MJ 0
TP 5
QJ CP24 yes
TV RC26
- .- -
lih~~~v
- -
-
-
-
-
J
tHnp
- - r -
Set current codeword to read
blk. library tape
1
Set current codeword to read full
image load library tape
Set current codeword to move [N]
blks. library tape
Read 2 b1ks library tape
1st word library routines entry
label ~A
Label =~~L I B~~ (i.e. library
tape positioned properly)
Alann 7
Transfer 1st block library routines
from 2nd blk~ 1st block tape image
Process STANDARD LffiRARY ROUTINES
BR7
CP20
TI
CRI
[CP22]
Q
CP25 no
CM22
}
25
26
QJ CP26 yes CP27 no
TV RC30
CN12
27
TV CP30
CP21
30
MJ 0
CA CP31
CX
Fixed library required?
Set switch ®~® after 1st segment
Standard library required?
Set switch@~® after 1st segment
By-Pass preceding setups after 1st
segment
1711
IA CQ
@
@
0
1
SP FA3
SA FCI
2
TU
A
MU2
3
TU
A
CR14
4
5
6
TP FA6
TP FA2
TP FA4
1'57
TSIO
TS12
7
TP FAS
TStl
10
11
12
SP FA3
LT 0
DV FC2
25
A
Q
13
14
ZJ CQ14 yes CQ15 no
RA Q
FC3
15
SP Q
25
16
AT TC15
TH3
17
RJ TH2
TH
20
TP 'IC2l
TH3
21
RJ TH2
TH
22
23
TP TI170
EJ TL2
A
CQ25 yes
24
25
26
MJ 0
RP 30170
TP TI360
BRII
CRI
TI
0
0
}
CA CQ27
1712
# words Ope File III~ Au
Add j=2 to # words Ope File III to
fom jn
j n to search Ope File III ~ "RP"
in Add. mod. rtn.
jn to search Ope File III ~ "RP"
in processor
# lines in preface ~"u" of Temp.
Segment No.~Temp.
# lines statements and routines + 2
--.+Temp.
Address for tIP" jump to n$,xt segment ~Temp.
# words Ope File ITT ~ "v" of Al
# words Ope File ITT ~ Ar
# words Ope File 3/1708 = # full
blks. Ope File III
Is there partial blk?
Adv. # blks. by 1 to count partial
block
# blks. Ope File III ~ A in tape
codeword position
Codeword to read [N] blks servo
5 ~ tape handler
Read Ope File III from servo
5 ~Op. File III image
Codeword to read 3 blks Gen. rtn.
tape (4 or 7) ~ tape handler
Read 2 label blks and 1st blk. gen.
rtns ~ tape image
1st word of 2nd label blk ~ A
Label =~SUBRO? (i.e. gen. rtn.
tape positioned correctly?)
Alarm 9
Trans. 1st blk. gen. rtns. (incl.
prelude,) from 3rd blk. --+ 1st blk.
tape image
IA CR
[30000J
2
3
MJ 0
TF TI
QT MC13
ZJ CR no
4
5
6
QT FC5
QT Me
RJ NR
TS6
TS26
[NR17]
7
10
11
TP 'lS6
RJ Be
SS FC3
A
OCl
25
12
TP A
TS2
13
14
SP TS26
RP [30000]
0
CR24
15
16
17
20
EJ
SN
SA
SA
FA
Q
CR14
CR15
CR16
17
0
0
21
TD
A
CR22
22
23
TP [30000]
TJ MC23
A
CS
24
SP TS2
0
25
AT 'IS 21
TH3
26
RJ
LCI
27
TP TS17
TH3
30
RJ
LCl
31
MJ 0
CA CR32
0
@
§.wi tch
~
®
@
1
r
1st word tape image ~ Q
Ope code ~ A
Ope code = O? No =>end of fixed
library, gen. rtns, or lib. rtns.
# lines prelude and routine ~Temp.
Routine callword ~ Au and Temp. 4
Sentence number for routine ~ sentence number List
# lines pre lude and routine ~ Av
# blks. prelude and routine ~ Av
# blks. prelude and routine-l~ Au
in codeword position
# blks. prelude and routine-l
~ Temp. 3 in codeword pOSition
Routine callword --+ Au
No => move past routine ~ 1st blk.
next routine
Callword in Ope File III?
-jn + r ~Au
+r ~Au
Address of word following callword
in ·Op.File III ~ Au
Address of word following call word
in Ope File III ~ NI
Word following call word ~ A
Word following ca1lword flIP" inst?
(i.e. 14-00000-00000 > (A)?)
# blks prel. and rtn-I ~Au in
codeword pOSition
Codeword ~ move forward [NJblks.
routine (gen. or lib.) tape
Move past routine and count blks
moved
Codeword to read 1 blk routine
(prelude blk.) --+ G.T.H.
Read 1st block of next routine
~ tape image
Q
A
CR4 yes
J
LC
LC
no
CRI
1713
General Setup for Routine Modification
IA
@
CS
0
TP A
Q
1
QT FC5
TS3
2
LT 10017
MIl
3
QA
K;
MI6
4
5
6
7
TP
QT
LQ
QT
TI2
FC4
Q
MC2
Q
TS
6
MI2
10
11
12
13
LQ Q
QT MC2
LQ Q
QT N£2
11
MI3
11
MI4
14
IS
LQ Q
QT MC2
11
MIS
16
SP MI6
0
Word following callword in Ope
File III~Q
H.S.S. running add. rtn. to be modified ~ temp 3
U.S.S. running add. rtn. to be modified~input mod. rtn.
H.S.S. running add. + # lines in
rtn. ~ "u" of temp.
3rd word or prelude~ Q
# fixed constants ~ temp. 0 in flv"
# relative constants ~ Qu
# relative constants ~ mod. rtn.
input
# fixed constants ~ Qu
# fixed constants ~ mod. rtn. input
# fixed temporaries ~Qu
# fixed temporaries ~mod. rtn.
input
# working temporaries ~ Qu
# working temporaries ~ mod. rtn.
input
Last address in running rtn. + 1
~Au
@
@
®
17
ST
MIS
MIS
20
ST MI4
MI4
21
ST
MI3
MI3
22
ST MI2
MI2
23
RA
24
TP TIl
TSI
25
TP RC34
CU
26
TP RC3
CU4
27
TV TS3
CU26
TP LV
MJ 0
CA CS32
LV2
[30000J
30
Setup J31
Switch
@
TS3
Initial running add. working temps
~ input mod. rtn.
Initial running add. fixed temps
~ input mod. rtn.
Initial running add. fixed constants
~ input mod. rtn.
Initial running add. relative constants ~ input mod. rtn.
Form drum image address of modified
routine ~ "v" of temp 3
No. lines subject to add. mod.
~ temp 1 (counter 1)
Preset add. 1st line to be modified
~ 7th line tape image
Preset add. for 1st modified line
~ 1st line tape image
Preset drum image add. for rtn. to
be modified
Set current image limit --+ 1 blk.
RC17
1714
Special Setup For Library Routine Modification
@
IA CT
TP
TI6
v.
1
2
RJ
MR
MI
MRl
T16
3
4
RA T14
AT FCII
Switch
~
T13
T14
v
n..L
rnA
VU"':I:
rnA
6
RS
TSl
T14
c:.
®
TP
AT
LA T14
AT RCI
17
CT13
11
RA CO
T14
J12
RJ NR
[NRl]
13
[0 30000
TP T16
Llnu •
VU"':I:
7
10
14
Entrance line of library rtno
~ Add. mod. rtn input
Modify entrance line
Modified entrance line ~ routine
heading
# inputs + # outputs
# lines in lib. rtn hdg. (3) + #
inputs + # outputs ~ Av
r\
0
30000]
Tl
~yv
1
CA CT15
1715
~rlrl
u""'......
~n~
..LV~
n~v+
...... "
.... ~"
mnrl~~~~rl
au.u ................ ,&,"'.......
l~n~
.....A..& ... ....,.
hu
AI,J
# inputs + # outputs + 3
Decrease # lines subj. to add.mod. to
exclude hdg.and inputs and outputs
# inputs + # outputs + 3 ~ Au
Setup jn of repeat to move hdg.
~ Beginning tape image
Adv. add of next line to be modified
to skip hdg. + inputs + outputs
Library routine name ---;. sent. no.
List
Move routine heading to beginning
of tape image
Process Lines Of Routine To Be Modified
0
1
IA CU
TP [30000J
QT MC13
Q
A
Line to be modified ~Q
Ope code of line to be modified
2
EJ FC12
CU7
3
4
5
RJ
RA CU4
MRl
[30000]
FC3
Ope code = 10? => increment last
modified line by (u and v)
Modify line
Modified line ~ tape image
1 in "v" adv. ~ add. for next modified line
6
7
MJ 0
5P CU4
CU20
0
10
EJ RC3
CU13
11
55 FC3
17
12
13
MJ 0
5P CU26
eU15
0
14
55 FC3
17
15
16
A
R5 Q
CU17
FC12
17
RA [30000J
Q
@
20
RA CO
FC13
@
21
TJ
CU33 no
22
23
R5 CU4
SA FC14
24
25
26
TO
27
RA CU26
CU4
30
RJ
ffil
31
TP RC2
CD
32
TP RC3
CU4
33
IJ TSI
CU
34
SP CU4
0
©
~A
@
rp
MR
MI
Address for next modified line
~Av
Add. next mod. line = 1st line tape
image? Yes=>last mod. line on drum
H.5.5. address last line modified
~ Au
Address of line following last modified line on drum ~ Av
Drum address of last line modified
~Au
@
TU
LV2
A
RP [30000]
TP TI
ffi
"u" and "v" of "10" line ~ Q with
zero Ope code
Add contents of "un and ttv" of "10"
line ~ last modified line
1 in Mutt adv. ~ address of next
line to be modified
Was this last line in current
image load?
Determine # modified lines ~Av
Form jn of repeat to transfer modified lines ~ drum image
Preset jn of repeat
RC3
17
CD25
CU27
[30000]
}
1716
Transfer modified lines --+ drum
image
Adv. add. in drum image by # lines
transferred
Read more lines of gen. routine
~ tape image
Preset address next line to be
modified~ 1st line tape image
Preset address for next modified
line -+- 1st line tape image
Have all lines subject to address
modification been processed?
Address for next modified line in
tape image ~ Av
35
ST RC3
TS4
#
modified lines not yet trans-
f erred to drum -;> temp
36
SP TS
0
37
ZJ cv no
CA C040
CW yes
Number of fixed (unmodifiable)
constants ~Av
Number fixed constants = zero?
1717
IA GV
o
1
SP LV2
SS GU
0
25
2
LT
A
3
TJ TS
GV5 yes
4
SP TS
0
5
TP A
TS5
6
SP TS4
0
7
ZJ GVIO no
GV20 yes
0
Limit for current image load-?A
Form # lines in image not processed
- 7 ttv" of Al
Form # lines in image not processed
~Av
GV17
10
TO
11
TV CU4
CV17
12
13
SP TS5
AT RG4
17
CV16
14
RA 1'54
TSS
15
TO
16
17
@)
GD
RC2
[RP [30000]
TP [30000]
20
TP 'lS5
21
TO
22
23
SP TS4
AT RCS
24
TV
CU
GD26
Pack fixed constants with modified
lines in tape image
Set # lines to be trans. to drum =
# fixed const. in tape image
Preset add. of 1st line to be trans.
to drum ~ add. 1st fixed const.
TS4
CV26
17
CV25
}
Preset jn to transfer fixed const.
and/or modified lines to drum
Preset next available address in
drum image
CV26
27
RA GU26
TS4
30
RS TS
TS5
ZJ CW3 no
Preset jn to pack fixed constants
with modified lines
# modified lines + # fixed const.
= # lines to be trans. to drum
- 7 temp.
Preset Add of 1st line to be trans.
to drum~lst line tape image
CV22] }
[30oo0J .
[RP [30000]
TP [30000]
J
}
.
CV26
25
26
~i tch 31
fixed constants > # lines in
image not processed?
# fixed constants (all const. for
rtn) ~Au
# fixed constants in image to be
transferred to drum ~ temp. 5
# modified lines yet to be transferred to drum ~Au
# modified lines yet to be transferred to drum = Zero?
Preset address for 1st fixed
constant
Preset transfer add. for fixed const.
~ Add. for next mod. line
#
CV27] .}
[30oo0J
[30000] yes
CA GV32
1718
Transfer fixed constants and/or modified lines ~ drum image
Advance drum image address by #
lines transferred
Decrease # fixed const. to be
trans. by # just transferred
All fixed constants for routine
transferred ~ drum image
1A CW
iitCh]
TS4
# modiiied lines yet to be transferred ~ TS
1'5
0
TP
1
2
SP TS4
ZJ CW7 no
17
[30000J yes
3
RJ
ml
m
4
SP
LV3
0
c::.
•
> full image load?
# fixed constants yet to be trans.
yes
~Au
®
®
7
10
11
[30000]
TI
CU26
CU26
CR27J
[30000J
CW20
LV3
IS
LV3
Preset jn of repeat
Preset available drum image address
Adv. drum image address by # lines
to be transferred
Transfer remaining modified lines
or fixed constants ~ drum image
Preset avail. drum image address
Adv. drum image add. by # lines
full image load
Reduce # fixed constants by # lines
full image load
}
12
13
14
15
[RP
TP
TV
RA
16
RS
17
20
RP 1L30000
TP T1
CW3
[30000]
21
1J TS15
CR27 no
22
MJ 0
CA CW23
CX
}
Transfer full image load fixed
constants ~ drum image
All library rtns for problem processed this segment?
~ End segment
1719
IA CX
@
@
@
@
0
RA TSII
RCl7
1
TV A
CX3
2
TP FAI
A
3
AT
4
TP TL5
TI
5
TP TL6
TIl
6
7
SP TSlO
LT 0
25
TI2
10
SP 1'57
71
11
TP A
TI7
12
DV
13
14
ZJ
15
16
SP TI7
AT TS12
17
DV
20
LQ TI4
25
21
TP A
TIS
FC3
FC2
Initial add. drum image + add. of
"IP"jump to next seg. ~ temp. 7
Preset drum image address for "IP"
instruction
"IP" Jump to next segment from 2nd
word Ope File III ~ "A"
Add one to "v" address and transfer
"IP" to drum image
5EGMEN ~ 1st word in segment label
block
T~~~~~~2nd word in segment
label block
Octal segment no. ~ "v" of "A" left
Octal seg. no. ~ "v" of 3rd word
in seg. label block
# lines in Preface ~ "v" of "A"
right
# lines in Preface ~ tlv" of 8th
line seg. lab. blk.
# lines in Pref. (term.)/1708 =
full blks term. --+ 4th line seg.
lab. blk.
Is there partial block?
Adv. # blks. Termination by one to
count partial blk.
# 1ines in preface ~ Av
# lines in Preface + # lines stmts
and routines + 2 ~temp 2
# full blocks segment+Preface
~ 2nd thru 5th o~tal digit positions of 5th line seg. lab. blk.
[30000J
TI3
CX14 yes CX15 no
FC3
RA TI3
FC2
0
TSI
TI4
}
lines partial blk. seg. + Pref.
"v" of 6th line seg. lab. blk.
Seg. image address ~ A
Seg. image add. + # lines seg. +
Pref. = add. line after Preface
(A) - # lines Pref. = Pref. Exit
add. ~ Au
Add. line following Pref. --:;. Av
(A) - 2 = Pref. Ent. add. ~Av
"RJ"
inst. to execute Preface
~ 7th line seg. lab. hlk.
# lines partial blk. seg. + Preface
#
--+
~
@
22
23
AT
TP TS25
TSI
A
155
24
S5 TI7
17
25
26
27
SA TS5
55 FC20
AT FC17
0
0
TI6
30
5P TI5
17
31
ZJ
CX32 no
~Au
CX34 yes
lines partial hlk. seg. + Preface
=zero?
#
1720
@
32
SA
33
ST TI5
TI5
34
TP
TI4
TS2
35
36
RP
TP
10160
TL
CY
rp~c::.
....... 0..1
Address of line following preface
~ Av
# lines partial blk. seg. + pref.
in "u" and H.S.S. part. blk. in "v"
~6th line seg. lab.
# full blks. seg. + pref. ~ temp.
in codeword position
£\
v
z ts --;a. lines 9-120 of segment label
TrIO
blk.
CA CX37
1721
IA CY
0
SP
1
AT TC15
2
AT
3
RJ TH2
TH
4
5
TP FA
EJ TL3
A
CY7
6
7
MJ 0
RA TS7
BR12
FC15
10
11
TU A
RA TS12
CY13
RC35
@
12
13
14
15
16
17
TV
RP
TP
RP
TP
RA
A
[300001
FA170
30170
TI
TSl
CY14
CY15 }
[30000]
CY17
}
01
FC2
@
20
21
TU
SP
RCII
LV5
CY26
0
22
TJ 151
CZ17 yes
23
24
25
26
27
30
SP
AT
[RP
TP
TP
QT
17
CY25
CY27]
TI
Q
Q
31
ZJ CY32 no
CZl yes
32
33
TP RClO
ST Q
A
CY36
34
TV
35
RA CY37
TSl
36
37
RP [30000]
TP TL
CA CY40
CZ
[30000]
@
@
T13
FC7
1Sl
RC7
30000
[300001
MC
DIS
RC3
# b1ks. in pref. (term.)~ A in
codeword position
Codeword to read Termination from
tape ~ Temp~.
Adv. by 1 to include Ope File III
end entry blk.
Read Preface and/or Ope File III
end entry b1k.~ File image
1st word Fi Ie image ~ A
1st word = END~OF? (i.e. tape positioned properly)
Alarm # 10
Add 30000 to # lines in Preface
~
Au
Preset "un of repeat
# lines stmts. and rtns + 2 + drum
add. init. stmt. = drum add. Preface
Preset drum add. for Preface
25
TS
TH3
Preface
~
Drum image
Segment label block ~ drum image
Adv. # lines segment by 1708 to
count label blk.
# lines in buffer (tape image +
fi Ie image) ---+ Av
# lines segment remaining > full
buffer load?
Form jn of repeat ~ NI
}
Segment + seg. label blk.~ buffer
"un mask~Q
# lines partial blk. seg. + Pref.
~ Qu and Au
# lines partial blk. seg. + Pref.
= zero?
}
Form "RP" to fill rest of partial
blk. wi th Z's
Preset ttv" of "TP" to initial add.
tape image
Adv. by # lines segment + label
~ Add. for Z's in partial blk.
CY37
Z IS
1722
~
fill remainder partial block
IA CZ
o
RA
IS2
FC7
1
RA TS2
FC7
2
3
AT TC24
RJ PC
TH3
PCl
4
RJ TH2
TH
Adv. # full blks. seg. + Pref. by
1 to count partial block
Adv. # full blks. seg. + Pref. by
1 to count seg. label block
Codeword ~ tape handler
Adv. and check count of blks. on
Binary program tape
Write remainder (or all) of segment
on
••
~
TP TS
TP Q
QT FC2l
TH3
TS
11
ZJ CZll no
RJ PC
CZ16 yes
PCl
12
RJ TH2
TH
5
6
7
10
13
14
SP
'IS
15
16
17
MJ
TO
CL
CZ2l
20
RP BL30000
CZ22 }
21
22
TP [30000]
RA CY26
TI
LVlO
23
TP TC26
TH3
24
RJ PC
PCl
25
RJ TH2
TH
26
RS TSI
LV5
27
RS TS2
LV6
MJ
CY2l
30
0
~~np
- ....
I"'~
Codeword ~ tape
# blks. Termination ~ A and temp.
in codeword position
# blks. Termination = zero?
Adv. and check count of blks. on
Binary program tape
Read Termination from servo 5 ~
File image
# blks. Termination ~ A
Codeword ~ Tape Handler
Write Termination on Binary Program
Tape
~ Process next segment
Preset drum image add. of next
buffer load
Full buffer load of segment from
drum image ---;. buffer
o
TH3
TH
0
n~on~~m
.......
I"'-~~-
Q
AT TC25
RJ TH2
CY26
Rin~~v
_ ...... -.1
Adv. drum image add. by # lines
full buffer load
Codeword to write full buffer load
~ Tape Handler
Adv. and check count of blks. on
Binary program tape
Write full buffer load on Binary
program tape
Decrease # lines segment remaining
by # lines full buffer
Decrease # full blocks seg. + Pref.
by # blocks in buffer
CA CZ3l
1723
IA DA
@
0
1
2
3
TP
RJ
TP
RJ
4
6
7
RP 10360
TP TL
TP TC27
RJ TH2
DA6 }
TI
TH3
TH
10
11
TP TC30
RJ TH2
TH3
TH
12
13
RS
TC2
SS TC
TC3
0
14
ZJ DAIS no
CK yes
15
16
17
SJ DA16 TN A
TP Tel
DA20
TC3
20
AT TC3
TH3
21
RJ TH2
TH
22
MJ 0
CA DA23
CK
5
~
TC13
TH2
TC16
TH2
TH3
TH
TH3
TH
Rewind library tape (servo
#2)
Rewind corrected problem tape
(servo #5)
2 b1ks. of Z's
~
buffer
Write 2 blks. of Z's on Binary
program tape
Rewind Binary program tape
(servo # 3 or 6)
# blks. fixed library advanced
# b1ks. adv. - total # blks. fixed
library
(A) = Zero? Yes ~ servo 1
positioned at listing phase setup
b1k.
+
# blks. to move forward --+ A
Replace move backward codeword
by move fWd. CW
Move forward or backward codeword
~ G.T.H.
Position servo 1 at beginning listing phase setup block
A
1724
Subroutine to Count Blocks of Library (Fixed or Standard) Processed
IA LC
~tChJ
®
()
UT
()
v
111..,
1
MJ 0
2
3
TP
4
5
6
V
TH3
QT FC2l
[0
30000
RJ TH2
MJ 0
CA
30000
[30000J
Tape handler codeword ~ Q
# blks. current routine to be read
or moved
Add # blks. to move backward codeword for current tape
~ tape handler
Q
A
30000J
TH
LC
I£7
1725
Subroutine to Count Blocks on Object (Binary) Program Tape
~itChJ
0
1
IA PC
MJ 0
TP TH3
2
QT FCI6
3
AT
4
TJ LVII
PC
5
TP TO
RJ UP2
TP PClO
MJ 0
CA PCII
UP3
UP
PCl
PC
[30000J
Q
Tape handler codeword
~
Q
@
6
7
10
ISI3
A
# blks. to be written on Binary
prog. tape ~ A
Adv. count of blks. Binary prog.
tape by # blks. to be written
Limit # blks. > current # blks.
Binary program tape
Parameter~ Uniprint
Print warning
1513
1726
Input Routine
IA
@
m
0
1
2
MJ 0
SP LV7
TJ 152
3
SP 152
II
I\m
[30000]
0
IR7yes
.L;:)lO
0
TH3
LC
LCl
rnt"".
~
":l
t\.L
5
RJ
6
MJ 0
TP TS20
IR12
TH3
10
RJ
LCI
11
RS TS2
TP LVI
LV7
12
13
MJ 0
CA m14
m
7
LC
blks. prelude and routine remaining to be read > # blks. tape
image?
#
Codeword to read [n J blks. current
routine tape~ tape handler
Read remaining blks. current routine
~ image
Codeword to read full image load
current routine ~ tape image
Read full image load current routine
~ tape image
LV2
Set current image limit
full image load
1727
~ #
lines
Subroutine to Build Sentence Number List
MJ
0
[30000]
1
2
TS26
22
FC4
RC12
Q
3
4
SP
LT
QT
AT
5
SP A
17
6
7
TO
NRlO
10
11
12
@
@
~
@
IA NR
o
A
TP TIS
EJ [30000J
TV
Q
TP A
o
Library routine callword
Add.
list
Add.
list
Q
NR no
14
TV
RC36
CT12
15
16
RP
TP
31000
LL
NR
}
ND3l00
17
TJ FC24
NR30 yes
20
TJ FC25
NR32 yes
21
TJ FC26
NR34 yes
22
TJ FC27
NR30 yes
23
24
25
26
LT 17
QT FC22
AT RC16
[00 30000
Q
27
30
MJ 0
TP RC13
NR
31
32
MJ 0
TP RC14
MJ 0
NR35
TP
LQ
QA
[0
MJ
CA
RC15
Q
FC4
30000
0
NR4l
A
~
A
XS3 library name ~ library list
in core
Names of all library routines for
problem in list?
Set switch ©----+ @ to by-pass sent.
no. routine
1'514
NR26
30000]
for lib. rtn. nwne in lib.
in core ~ Qv
for lib. rtn. name in lib.
in core ~Au
XS3 library rtn name
Name in list?
A
NR yes
NR12
[30000]
IJ
34
35
36
37
40
A
A
13
33
~
}
Library list in core --:> sentence
no. list on drum
23000 > CW? Yes => pseudo Ope
sentence
25000 > CW? Yes =>subs. var.
equation (NB ~ no routines with
23- CW)
26000 > CW? Yes==> nOD-subs. var.
equation
30000 > CW? Yes ===> statement of
main program
No ===> Pseudo Op.
Form add. for pseudo OPe sent. no.
XS3 sent. no. for pseudo Op
~ sent. no. list on drwm
Base add. for 22---,
27- CW
A
26~--.
Base add. for
24--- CW
A
Base add. for
25-- CW
25
NR37
30000]
NR
CW~
A
NR35
Qv
Form add. for sent. no.
XS3 sent. no. ~ list
1728
or
Routine to Calculate Block Count from Line Count
IA
(@
Input = number of lines in ttv'~ of
"A"; Output: # blks~ in Av
Be
0
1
MJ 0
TJ FC6
[30000J
BC6 yes
2
3
4
DV FC2
ZJ BC4 yes
RA Q
Q
BC13 no
FC3
5
6
MJ 0
TP FC
TN A
Q
TS24
10
11
RA Q
RA TS24
FC3
FC2
12
13
14
SJ
TP
MJ
CA
BC13 yes
A
BC
7
BClO
Q
0
BC15
5518 > # lines to be converted?
(i.e. # blks. <" 4?)
# lines /1708 = # full blks.~ Q
Is there partial block?
Adv. count of # blks. by 1 to count
partial blk.
BC
Zero ~ Q
Complement of # lines to be converted ~temp.
Adv. count of blks. by 1 in "v"
Adv. complement of # of lines by
1708
All blks. counted?
# full blks •.~ Av
1729
Fixed Constants
IA FC
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
0
0
0
0
20000
0
0
0
0 0
0 0
0 0
0
100
0 0
0 0
10 0
0 1
0 0
0 30000
0 7700
37 0
0 0
07 77700
0 0
50000
0
0
23000
0
25000
0
26000
0 30000
0 3000
0 0
CA FC32
0
0
170
1
777
77777
551
0
7
3
0
0
30000
0
0
0
2
0
77
0
0
0
0
0
0
300
1730
Relative Constants
IA RC
0
1
2
3
4
5
0
RP
/
RP
RP
0
7
10
11
12
0
30000
TP TI
TP MI
RP 30000
RP 30000
RP
0
0
30000
30000
10170
DI
0
DI
CU33
TI
CV22
CV27
CR27
CY27
CZ
0
TP
TIS
TIS
TP TIS
TP TIS
0 0
ND
ND1000
ND2000
ND3000
[DI170]
20
21
22
23
24
25
26
27
30
31
32
33
34
35
0
0
AT TC2
AT TS23
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
TP TI6
0 0
LC5
LC2
TC2
TS23
CT
CR7
CN
CN12
CP
CP2l
CR27
CW2l
36
0 0
CA RC37
CT13
0
0
Initial address lib. name list in
core
IL
13
14
15
16
17
TP
D1 in "v"
Q
Chged. by program to drwm add. for
segment - H.S.S. add. for run.
seg.
D2 in "v"
Al
A2
Bl
B2
El
E2
Q
DI170
Segment image address for first
statement of segment
1731
Tape Handler Codewords
IA
TC
0
1
2
0[0
3[0
[4[0
017]00
000]01
000]01
0
0
0]
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
4[0
5[0
5[0
3[0
4[0
5[0
5[0
5[0
1'>1()
5[0
5[0
1\'0
3[0
5[0
5[0
5[0
10
7 1
7 1
7 1
7 1
1,0
CA
OOOJOI
001]01
0
TI
TI
0
0
TI
TI
TI
0
FA
FA
0
0
TI
TI
TI
0
000~01
000 02
000]02
001]02
002]02
000]02
000,02
001]05
000]05
000,05
000]04
001]04
003]04
000]04
000 04
~0]03
OPO]03
OOOv03
«>2]03
000 03
TC31
# blocks of fixed library
Move forward [n] blocks servo 1
Move backward codeword with count
of fixed library adYanced
Move backward [n] b1ks servo 1
Read forward 1 b1k servo 1
Read forward n b1ks servo 1
Move forward n b1ks servo 2
Move backward n b1ks servo 2
Read forward 1 b1k servo 2
Read forward 2 b1ks servo 2
Read forward n b1ks servo 2
Rewind servo 2
Read forward 1 b1k servo 5
Read forward n b1ks servo 5
Rewind servo 5
Move forward [n] b1ks servo 4 or 7
Read forward 1 b1k servo 4 or 7
Read forward 3 b1ks servo 4 or 7
Read forward n b1ks servo 4 or 7
Rewind servo 4 or 7
Write [n] b1ks servo 3 or 6
Write en] b1ks servo 3 or 6
Write full buffer servo 3 or 6
Wri te 2 b1ks servo 3 or 6
Rewind servo 3 or 6
TI
FA
TI
TI
0
1732
.,
Tape Labels
TA
.J.H.
TL
0
1
2
3
4
5
74
31
01
30
01
65
74747
34463
65672
50270
01463
30324
I-.
v
1-.1-.
vv
A1A1A
CA
TL7
V.LV.LV
47474
00106
55451
15131
42501
73050
Z
Z
Z
Z
Z
Z
F I L E t::. 3
~ S U B R 0
E N D ~ 0 F
~~ L I B ~
S E G M E N
rr
.L
lA1Al
.LV.LV.L
1733
1\
L...l
1\
L...l
1\
L...l
1\
L...l
1\
L...l
Typeout
IA
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
0
71
32
44
54
01
54
71
72
05
46
01
47
34
27
26
67
52
51
CA
TO
TOl
24545
21010
30266
51325
51500
70510
34464
26303
10030
51264
01246
52660
50320
30016
51506
30012
34462
50227
-T023
22
03450
15125
60152
42447
16530
10601
60130
02701
30125
56522
66630
12530
14724
65101
63450
65147
46634
77777
W A R N I N
G t ~~ 0 B
J E C T ~ P
R 0 G R A M
~ 0 N ~ S E
R V 0 ~ 3 ~
W I L L 6 E
X C E E D 6
2 5 0 0 6 B
L 0 C K S
66 A T T E
M p T ~ B E
I N G 6 M A
D E 6 T 0 ~
C 0 N T I N
.
E
p
I L
N
0
1734
l:l c 0 M
U
.
A T
I
77 77 77
Limiting Values
IA
LV
0
1
TP
TI170
II
Q
Q
2
3
TP
0
0
30000
0
0
Q
IL
;)
0
0
6
0
BB
FL
BL
0
7
0
m
0
10
11
0
0
BL
0
0
CA
LV12
4,..
TP
PB
Limit for 1 blk image load
Limit for full image load II
TI + IL
Limit for current image load
=
Shift to codeword position - # blks
in buffer
Shift to codeword position - # blks
tape image
# lines in buffer
Limit # blks. Binary prog. tape
(250110) in codeword position
1735
Address Modification Control Subroutine
~
0
1
2
IA
MJ
TP
QT
0
Q
COC13
30000
MI
MI6
3
TP
MI6
A
4
RP
20011
MR6
5
6
7
10
11
EJ
EJ
EJ
EJ
TP
~3
M::22
K;23
1\£24
MI
MR17
MR
MR
12
RJ
MS
MSl
13
14
TU
A
MI6
A
Input
MR
= word
to be modified in Q
Word to be modified -+ Output line
Opere code of word to be modified
----+ temp.
Opere code of word to be modified
~A
TP
Ope code = 17, 22, 45, 56, 61, 63,
75, 76, or 77 ~ only "v" address
to be modified
}
Opere code = 05?
Opere code = 14?
Neither address
Opere code = 57?
to be modified
Mutt of word to be modified ~ "uti
of Q
Modify 'IU" address (result in
"u" of A)
Modified "u" address ~ output line
Opere code of word to be modified
}
MR
Q
MI
~A
15
16
RP
EJ
20006
M::14
MR17
MR
17
SP
MI
17
20
TP
A
Q
21
RJ
MS
MSl
22
23
24
LT
TV
25
Q
0
MR25
Q
MI
MJ
CA
Ope code = 31, 32, 33, 34, 54, or
55 ~ only "uti address to be modtiied.
"v" of word to be modified ~"u"
of A
"v" of word to be modified ---+ "u"
of Q
Modify "v" address (result in "u"
of A)
Modified "v" add.~ "v" of Q
Modified "VII add.~ "v" of output
}
MR
1736
Modify Address Subroutine
IA
MS
u
1
MJ
QT
1\£
2
3
RP
TJ
MD
M02
MS4
4
MJ
0
MS
(\
(@
v
A
30024
30000
A
Address to be modified ~ Au with
" op.'I, and "v" = zero
No => 77--- cw.
Search list to determine modification required
No modification; address < 1000
n
~EXIT
®
®
@
5
MJ
0
MT
6
7
MJ
MJ
0
0
MT3
10
11
MJ
MJ
0
0
i\5
12
MJ
0
M02
13
MJ
0
MS
14
15
16
17
20
21
22
23
24
25
MJ
MJ
0
MJ
MJ
MJ
MJ
0
0
0
0
0
0
0
0
MU2
MT11
l\fr14
MT20
MT14
MT24
Mr30
MT34
26
27
MJ
MJ
CA
0
0
MS30
MJ
MJ
MJ
MJ
0
0
MO
MS
Address relative to 10008 (i.e.
10008 ~ address ~ 77778)
10--- CW ; relative constant
No modification; 110008 ~ address
~ 177778 ~EXIT
20--- CW; fixed constant
No modification; 210008 ~ address
S 217778 ----+ EXIT
22---, 23---, 24---, 25---, 26---,
or 27--- CW
No modification; 300008 ~ address
~ 37777 8 ~ EXIT
4---, or 5--- CW.
60--- CW; fixed temporary
61- CW
62--- CW
63- CW
64--. 65--, or 66--- GW
67--- CW
70-- CW
71--- CW
No modification; 720008 ~ address
MT20
MT14
75--- CW
76-- CW
MS
MT6
~ 747778~EXIT
1737
@
(@
@
@
S
IA
MT
0
SS
MD
0
1
SA
MIl
0
2
3
MJ
SS
0
MD1
MS
0
4
SA
MI2
0
5
6
MJ
SS
0
MD3
MS
7
SA
MI3
0
10
11
MJ
SS
0
MOI0
0
12
SA
MI4
0
13
14
15
MJ
0
Mel
A
MS
TP
QT
A
16
SA
MC26
0
17
20
21
MJ
0
K:l
A
MS
TP
QT
Q
A
22
SA
MC25
0
23
24
25
MJ
TP
QT
0
MC2
A
Q
A
Mask (3 digits of "UH) --+ Q
ReI. 10c. in non-subs. yare region
26
SA
7
0
27
30
MJ
ST
ReI. 10c. + base running add. nonsubs. yare region = abs. add.
--+ Au
0
MD15
MS
31
SP
10
17
32
SA
Q
0
33
MJ
0
MS
Address relative 1000a-1000a =
reI. 10c. in rtn. -+ Au
ReI. 10c. in rtp. + base running
add. of rtn. = abs. add. ~ Au
10--- CW--100002 = reI. 10c. in reI.
const. reg. -+ u
ReI. 10c. + base running add. reI.
const. reg. = abs. add.~Au
0
20--- CW--20OOOa = reI. 10c. in
fixed const. reg. ~ Au
ReI. loc. + base running add. fixed
const. reg. = abs. add.-+ Au
MS
60-- CW - 60000a = reI. 10c. in
fixed temp. reg. ~ Au
ReI. 10c. + base running add.
fixed temp. reg. = abs. add. ~ Au
Mask (2 digits of "UH) ~Q
ReI. 10c. in pseudo Ope input reg.
Q
~Au
~
@
ReI. loc. + base running add.
pseudo Ope input reg. = abs.
add. --+ Au
Mask (2 digits of "UH) ~ Q
ReI. 10c. in function input region
-+ Au
ReI. 10C. + base running add. function input reg. = abs. add. ~ Au
MS
~Au
®
67--- cw- 670008 = reI. 10c. in
constant poo 1 ~ Qu
Base running add. constant pool
--+ Au
ReI. loc. + base running add.
constant pool = abs. add. ~Au
Q
1738
@
34
S5
MDl6
0
35
SA
MI5
0
36
MJ
CA
0
MT37
MS
= reI. loc. in
working temporary region~ Au
ReI. loc. + base running add.
working temp. reg. = abs. add.
70--- CW -700008
~Au
1739
IA
@
@
0
1
2
3
4
5
6
MJ
RP
EJ
SN
SA
SA
7
10
MU
MD16
0
[30000]
FA
Q
MU2
MU3
BR13
MU4
17
0
0
TP
A
[30000]
M010
A
11
TJ
MC23
MU14
12
TP
A
MI
13
14
MJ
SP
0
A
MR
17
15
MJ
CA
0
MU16
MS
55
TO
0
71- CW -700008
= abs.
add.
~
Au
MS
No ~ alarm 11
Call word in Ope File III
- jn + r ~Au
+ r~Au
Address of word following call word
in Ope File III ~ Au
Word following ca11word in Ope
File ITT-+A
(A) = IP (14) command (i.e. flagged
cross reference)?
IP (14) instruction to reference
other segment -+ output
Exit from add. modification routine
H.S.S. running add. for referenced
routine ~ Au
Exit
1740
Modification Constants
0
1
2
3
4
5
6
IA
lOC
0
0
0
17
22
45
56
77777
77
777
0
0
0
0
7
61
0
10
11
12
13
14
15
16
17
20
21
22
23
24
25
63
75
76
77
31
32
33
34
54
55
05
14
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
FI
0
PI
CA
l\C27
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Base add. function input region
init. add. term. buffer
Base add pseudo Ope input region
13 lot add. term. buffer
0
=
0
=
1741
n
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
IA
MD
0
0
0
0
1000
10000
11000
20000
21000
22000
30000
40000
60000
61000
62000
63000
64000
67000
70000
71000
72000
75000
76000
77000
MD24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
CA
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1742
Explanation of Modification Routine Inputs (MI)
MID
[0
1
2
0
D
A
= modified word
running address for routine
Initial running address relative
constant region
Initial running address fixed constant region
Initial running address fixed temporary region
w_.! _. __
0
temporary region
Temp.
0
0
0
3
0
[30000]
0
4
0
[30000]
0
r:::.
A
oJ
6
V
0
r~AArv'\
1
l..JVVVVJ
0
OLltpU. t
0]
[30000]
[30000]
H~S .. S,.
T_.!..L~
v
_1
~n~~~~~
1743
-----.!
--runn~ny
_
...]I ...]1__ _
_
~uur~~~
_ ____
worK~ny
Explanation of Temporary Storage Region (IS)
ISO
o
0
30000
1
o
0
30000
2
o[x
xxx] 00
o
3
o
30000
30000
4
o
0
30000
5
o
0
30000
6
o
0
30000
7
10
o
o
o
o
11
o
30000
30000
0
12
o
0
30000
13
o [x
xxx100
o
14
o
0
[30000]
15
o
0
[30000]
16
50
000 04
TI
17
50
001 04
TI
20
50
004 04
TI
21
30
000 04
o
22
o
o
o
30000
23
o
o
o
24
o
o
o
o
o
o
25
26
o
# fixed constants wi th rtn. in "v":
Codeword to read Termination then
# blks. Term. in codeword position
# lines subj. add. modification in
"v·t ; # 1 ines in segment in "v"
# blks. prelude and rtn. - 1 in
codeword position;# full blks.
seg. + pref. in position
Routine callword in "u" W/zero fill;
H.S.S. running add. rtn. in "v"
W/zero fill
.
# lines to be trans. to drum image
in ttv"
# fixed const~ in image to be trans.
to drum in t· v"; Add. following running Preface in ·v"
# lines prelude and routine in "v";
initial add. running segment in "v"
# lines in Preface in "un
Segment # in "u tt
Address for "IP" jump to next segment in ttv"
# lines statements and routines
(running program) + 2 in "v"
Count of blks. binary prog. tape in
codeword position
Index for count of # library routine names in library list
Index for # library routines processed in segment
Codeword to read [n] blks. current
tape
Codeword to read 1 blk. current
tape
Codeword to read full image load
current tape
Codeword to move forward en] blks.
current tape
# library rtns. for problem - 1 in
"v·t
Count of blks. advanced on library
tape
Working temp.
Add. running segment in "v"
Routine callword (temp 4)
o
o
1744
VII. PROGRAM LISTING PHASE
VII.
PROGRAM LISTING PHASE
The filnction of this phase is to provide a record of the Object Program
(absolute computer instructions), produced in response to the sentences of the
Source Program (pseudo code sentences).
The listing gives the absolute in-
structions which make up each segment of the Object Program, together with
the sentence number or library routine name associated with each group of
instructions.
The instructions are listed four to a line and read from left
to right, and down, in order of increasing High Speed Storage address.
The
first instruction of a routine, i.e., the group of instructions representing
one sentence or one library routine, is positioned in the first line, such
that, each instruction whose octal address ends in zero, will appear in the
leftmost column of instructions in the listing.
Each address ending in
zero is listed to the left of the associated instruction.
The first address
of a routine is also listed in this column of addresses on the line with the
first instruction.
It is enclosed in parenthesis if it does not end in zero.
The listing also includes, in the same format as above, the pool of constants for the program, and the preface and termination instructions for
each segment.
The variablffifor the problem are listed in a different format.
The symbol for each non-subscripted variable is listed together with its
assigned High Speed Stonage address.
Initially, the symbol for each subscript-
ed variable (array) is listed together with the range of drum addresses assigned to the array.
In addition, each subscripted variable is listed in
~
segment in which it is referenced, together with the range of High Speed
Storage addresses assigned to the array for the particular segment.
The title of the program, the subscripted variables on the drum, the nonsubsctiptedvarTables ,and tlie-- constant pool,
1747
are~
lIsted first, in that order.
Then in turn, each segment of the Object Program is listed.
Each segment
consists of the Preface (if any), the sentences and Library routines, the
subscripted variables in High Speed Storage (if any), and the Termination
(if any).
The listing is produced on magnetic tape edited for listing on the
High Speed Printer.
It is produced on Uniservo 7 if 7 Uniservos are being
used and on Uniservo 5 if 5 Uniservos are being used.
If the listing exceeds
an arbitrary 1200 blocks, the current listing tape 1s terminated at the end
of a page, with the statements, CURRENT LISTING TAPE FULL.
FOOT TAPE ON SERVO --.
Flexowriter.
POT NEW 1500
START TO CONTINUE LISTING. t typed on the on-line
This allows the computer operator to change tapes and restart
to continue the listing on a new tape.
NEXT LISTING TAPE ON PRINTER.
In addition, the statements, MOUNT
00 NOT CHANGE POSrrION OF PAPER 0, is included
on the tape being terminated, together with a Printer Stop symbol.
This
informs the High Speed Printer operator that the listing is continued on
another tape and allows him to mount the tape and continue.
END OF LISTING.
f
The statement,
and a Printer Stop is included on the final tape of the
listing to inform the printer operator of the end of the listing.
The order
in which the tapes are to be listed, in order to get a continuous listing, is
the responsibility of the computer operator.
When the listing is completed the statements, PROGRAM LISTING ON TAPE
-'--. and END OF COMPILATION., are typed out.
The computer then comes to a
"56" stop.
The pages of the listing are numbered thru 999, after which the word
CONTINUED is used in lieu of a page number.
The instructions of the Program Listing Phase are divided into four
1748
groups.
All four groups are read from the UNICODE System Tape into High
SpeedStorage; Groups IT and III are then transferred to the drum.
The in-
structions in Group I remain in High Speed Storage throughout the execution
of this phase and consist of constants, temporaries and certain subroutines
referenced by the instructions in the other groups.
The Group IV instructions produce the initial part of the listing, consisting of the program title, the subscripted variables on the drum, the nonsubscripted variables, and the constant pool.
When this part of the listing
has been completed, these instructions are overlayed.
In listing the sub-
scripted variables on the drum, the information is obtained from the modified
Dimension List, which contains the initial drum address and XS3 symbol for
each subscripted variable, in order of increasing drum address.
The modified
Dimension List is assumed to be on the drum when the phase is referenced.
In
listing the non-subscripted variables, the XS3 symbols for the variables are
obtained from the Symbol List, which contains these symbols in order of the
increasing High Speed Storage addresses assigned to the variables.
The High
Speed Storage address associated with the first symbol in the list is obtained
from fixed location 00007; the address for each succeeding variable is obtained by adding one to the address of the preceding variable.
is read from Uniservo 5 to the List Buffer in this phase.
The Symbol List
Similarly, the
Constant Pool, containing the constants in order of their increasing High
Speed Storage address, is read from Uniservo 5 to the Dimension List region
in the core.
The High Speed Storage address of the first constant is obtained
from fixed location 00010 and that of each succeeding constant is obtained by
adding one to the address of the preceding constant.
The program title is
listed just as it appears on the UNICODE lsource) Program Tape; hence, only
1749
printable High Speed Printer characters should be used in the title.
The Group II instructions, lists, etc., initially overlay the Group IV
instructions and, thereafter, overlay the Group III instructions and lists.
The Group II instructions are read from the drum to core whenever a new segment is to be listed and, finally. when the listing phase is to be terminated.
The instructions in this group build Ope File IV for the segment to be listed
and store it on drum; then they are overlayed by the Group III instructions,
lists, etc.
The information to build Ope File IV is obtained from Ope File
III for each segment and from the Sentence Number List, which is produced by
the Processor Phase and stored on the drum as input to this phase.
III for each segment is read from Uniservo S to the File Buffer.
Ope File
The Group II
instructions also terminate the final listing tape, rewind all tapes not yet
rewound, and produce the Flexowriter typeouts at the completion of the phase.
The Group III instructions produce the listing of the segments.
The
Preface and Termination instructions for the segment to be listed are obtained,
for listing, from Uniservo S following the Ope File III for the segment.
Preface is read from Uniservo S to the Input Buffer.
The
The initial High Speed
Storage address for the Preface is obtained from the seventh word of the
Segment Label Block on the Object Program Tape, and the number of lines in
the Preface is obtained from the eighth word.
With these as inputs, the
Preface is edited and written on the listing tape in the prescribed format, by
an editing routine which is common for the Preface, Termination, Constant
Pool, Sentences, and Library Routines.
In listing the sentences
and the
library routines,the number of routines in the segment being listed is obtained from Temporary (CTS) which is set up by the routine which builds Ope
IV for the segment.
The XS3
File
sentence number or library routine name for
1750
a routine to be listed, the number of lines in the routine, and the initial
High Speed Storage address of the routine are obtained from Op . File IV and
provided as
i~lputS
to the common editing routine which edits and writes each
routine on the listing tape.
The sentences and library routines appear in Ope
File IV in order of increasing High Speed Storage address.
The Termination
is read from Uniservo 5 to the Input Buffer prior to the listing of the subscripted variables in the core.
In listing these variables the High Speed
Storage address, in the segment being listed, is obtained in order, from the
instructions of the Termination.
The modified Dimension List is then search-
ed for the drum address in order to find the XS3 symbol for the variable.
The variables are then edited and listed in the prescribed format by an editing routine used in common to list the subscripted variables on the drum and
in the core.
The Termination is listed by sections, each representing one
block of the Termination.
The total number of lines in the Termination is
obtained from the eighth word of the Segment Label Block.
The initial High
Speed Storage address of each section is merely the initial address of the
Termination Buffer which is a constant.
The number of lines in each section
is 170 octal except for the last section which is the number of lines in the
partial block remaining.
Again, the common editing routine is used.
Because of the overlaying involved in the execution of the Program Listing Phase, considerable care should be exercised in making changes in the
addresses or lengths of routines, lists, etc.
1751
OP. FILE IV
u
Op
[XS3
00
Sentence
I
I
I
[XS3
00
[Number of lines]
I
I
I
[Number of lines]
Sentence
I
I
[Number of Lines]
I
I
I
I
In order of the increasing
magnitude of the H.S.S. Address
Entries
]
Number
Sentence
[ XS3
00
v
[H.S.S. Address]
Number
]
II [H.S.S.
Address]
Number
]
iI [H.S.S.
Address]
}
1
Format of entry for statements,
equations, and Pseudo Ops.
etc.
]
Library Routine Name
I
[ 74 J ! [Number of lines] i [H.S.S. Address]
[XS3
I
I
Format of entry for Library
Routines
Where:
Number of lines
=
The number of instructions, including constants and
temporaries, in the routine in the Object Program
associated with the preceding XS3 sentence number or
name.
H.S.S. Address = The High Speed Storage running address of the routine
in this segment of the Object Program.
1752
The Ope File IV for each segment is built by the Program Listing
Phase just prior to the listing of the segment. The information
ior the iist is obtained from O~File 111 for the segment and from
the Sentence Number List~
Entries are made in Op.File IV for only those routines which are
included in the segment to be listed. Sentence numbers, for which
a callword appears in Ope File III followed by an ttlnterpret" inC!+ ... I I ... +,;.......
~
... .I."" ... .LVU,
.... .... .0
O.l.\,;
........
.;++aA
Vl11.l. .... "''''
~_,... ...
.I..I.UlI1
{\'"
vp.
1:'':1.n."TlT
.I. V •
~. .I.~'"
'T'1...n.
.I.uv
t'T... +.n._ .... _,,+"
.I.l1 ... v~p~v...
.: ..... +_ .....
... .LU\i-
~J1.,
tion indicates the routine is in another segment but is referenced
from the segment being listed.
The library Routine entries have a 748 in the Op. code of the second
word to indicate that they are Library Routine entries. All other
entries have a 00.
1753
Modified Dimension List
[ Drum Addre ss ]
00 1
I
[ XS3
Symbol for array
o0 0 0 0
In order of the increasing
magnitude of the drum address
entries
]
I
[ Drum Address1
00000
[XS3 Symbol for array
]
00:
I
I
etc.
I
Symbol for array
Drum Address]
]
00000
~
Last entry in list might
=1000008 •
Where:
Drum Address
= Initial
address of array on drum during running of Object
Program.
XS3 symbol
= XS3
symbol for subscripted variable (array) to which
preceding drum address applies.
1754
The modified Dimension List is built by a routine which operates
during the Allocation Setup Phase. Information to build the list
is obtained from the original Dimension List in the Combination
List, which is still available at this time.
Fixed location 00010 is changed at the time the modified Dimension
List is built to describe this new list.
The last entry in the list must always be the address following the
last address of the last array on drum. If, therefore, the last
address of the last array were 77777 , the next address would be
8
1000008 • Although this is not a legItimate
address, in this case
it would have to be included as the last entry in the list.
1755
Sentence Number List
(ND = Regional Address of List on Drum)
Op.
u
v
XS3 Sentence Number
XS3 Sentence
Number
ND - Section for sentence numbers associated
with 26---, 27---, and 22----- type cal1words. (Maximum of 512 10 such ca11words)
etc.
XS3 Sentence Number
XS3 Sentence Number
ND1000a - Section for sentence numbers associated with 24--- type ca11words. (Maximum of 512 10 such ca11words)
etc.
XS3 Sentence Number
XS3 Sentence Number
XS3 Sentence Number
XS3 Sentence Number
ND2000a - Section for sentence numbers associated with 25--- type ca11words. (Maximum of 512 10 such ca11words)
ND3000a - Section for sentence numbers associated with 4---- type ca11words. (Maximum of 6410 such call words)
etc.
XS3 Library Routine Name
XS3 Library Routine Name
ND3100a - Section for names associated with
5---- type ca11words. (Maximum of
512 10 such ca11words)
1756
The Sentence Number List is built by a routine which operates
during the Processor Phase, where the Prelude of each routine
is still available. The c~llword of each routine, and the associated XS3 sentence number or Library Routine name are obtained from the Prelude of the routine.
f
The entries in each section of the list are stored within the
section relative to the last three octal digits of the callword,
except for 4---- and 5---- type callwords. For the 4xxx - and
5xx-- type callword$, the digits marked "X" are used.
The sections of the list always remain at the same relative distances from the beginning of the list, as shown on the preceding
diagram; henc~ the list is always 41008 locations long.
1757
SYMBOL LIST FORMAT
Ope
v
u
XS3
SYMBOL FOR VARIABLE
XS3
SYMBOL FOR VARIABLE
XS3
SYMBOL FOR VARIABLE
In order of the Increasing H.S.S. Addresses
Where:
XS3 SYMBOL
= XS3
Symbol for each of the non-subscripted variables of
the problem
This list is built and written on Uniservo 5 by routines which
operate during the "End of Tape" generation phase. The list
contains the XS3 symbols for all the functions (66--- callwords),
floating point non-subscripted variables (65--- callwords), and
fixed point variables (64--- callwords) of the problem. The
symbols axe in the list in order of the increasing High Speed
Storage addresses assigned to the variables.
1758
Program Listing Phase Setup Block
Regional Assignments:
HE
RE
RE
HE
RE
RE
RE
TN20
TH21
UP421
FP653
PK2547
LS7230
LT7260
Setup Block
LS
o
IA
SP
TN
o
1
ZJ
LS2
LS3
= zero?
~ 5 servos;
(A)
0 ==> 7 servos
Adv. servo # in printout by 3 to
set obj. prog. tape # = 6
(A)
::f.
2
RA
LTII
LS24
3
4
TP
RJ
LT
UP2
UP3
UP
5
6
TP
RJ
LT12
UP2
'7
SP
MS
o
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
ZJ
TP
RJ
TP
RJ
MJ
TP
RJ
TP
RJ
Typeout:
COMPUTER CODING PRODUCED
ON TAPE 3 or 6
UP3
UP
Typeout:
LS25
o
IF PROGRAM LISTING IS
NOT DESIRED, SET A NOT
= O. START.
Set A = O.
LS17
LS26
TH2
LSll
LS12
TH3
TH
Program Listing desired?
LS27
TH2
o
LS27
TH2
LT25
UP2
TH3
TH
PK
TH3
TH
UP3
Rewind servo 1
Jump to program listing phase
Rewi nd servo 1
Typeout:
UP
o
o
o
o
o
LS23
300
50
01201
FP
10
CA
1
o
LS30
MS
Read program listing phase from
servo 1 to core
COMPILATION COMPLETED.
o
Tape codeword to read listing
phase to core
Tape codeword to rewind servo
1759
1
Listing Setup Typeout
IA
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
0
01
01
01
01
66
27
54
27
24
0
34
32
34
01
66
54
30
51
01
66
0
01
01
01
01
46
01
30
CA
LT
LT1
01010
01010
01010
26514
30540
34503
51276
01515
52300
LT13
31015
54244
65663
34650
01273
30272
66012
66017
01656
22777
LT26
01010
01010
01010
26514
24663
26514
66302
LT35
11
10101
10101
10101
75267
12651
20152
72630
00166
10622
12
25451
70146
45032
15051
06534
10165
40150
60322
62454
77777
7
10101
10101
10101
75234
45150
75246
72277
~~~~~~
~~~~~~
~~~~~~
~ C 0 M P U
T
D
R
D
E R
I
C 0
N G ~ P
0
D U C E
0 N ~ T
E ~ 3
~
A P
G
~
I
.
F ~ P R 0
R A M ~ L
S T I N G
- I S ~ N 0
T ~ D E S I
R E D , ~ S
E T ~ A ~ N
I
~
~
~ ~ S
0 T
T
.
=
0
T A R
77 77 77 77
~~~~6~
~f:j.~f:j.~~
~~~f:j.~~
~ C 0 M P I
L A T I 0 N
C 0 M P L
E T E D . 77
f:j.
1760
==:>
Beginning of subroutine; where XX is regional CRECO) label for routine
=> Exi t from subroutine
==>Connectors; where X is connector number
I"XPlana~io4
~~n~~ ~
_ ::
Function
or name
:::=::>
Swi tch; where "Aft is symbol for switch and X and Yare conneotor numbers of different
paths which may be taken at this point
=:>
Explanatory Note; No action implied.
l;turn jump reference (subrou tine); where parenthesi s enc lose the connector number to
which the reference is made
=> Reference to general subroutine which is not part of this phas1e; where parenthesis
enclose regional CRECO) label for routine
=> Operation Box
(QUestio~
=:>
DeciSion Box
Key to Pr~gram Listing Phase Flow Chart
Program Listing Phase
Type:
PASS V. LISTING
OF PROGRAM
Fill output buffer
with XS3 space
characters
ZEROIZE
TEMPORARIES
Setup page number
and segment
number words
Fast feed I symbol and
"program listing" to
sheet heading (first)
blockette in output
buffer
Setup one shot
jumps in page
number routine
Instruction groups
II and III to
Codeword to Tape Handler to read
one block of corrected problem tape
to list buffer
~~~
To Conn. (53)
-Check corrected
problem tape
label
Program title from list
buffer to third thru
seventh blockettes of
output buffer
Preset output buffer
address and line count
for first entry following title
~
_ _- - J
Codeword to Tape Handler to
move corrected problem tape to
beginning of Constant Pool, 1------=;;.(
or XS3 symbol list if no Constant Pool
Check indicator for 5 or
7 servo~ and set servo
numbers in tape codewords~------~
and Flexowriter printouts
accordingly
Are there subscripted variables
in program?
(Location 00006;
Transfer Dimension
List from drum
to core
Setup editing routine (EV) to
enter heading routine (HV) and
Dimension List Routine (OS) at
entrances associated with tSditing
of subscripted variables (drum)
L
NO
To Conn. (107)
Editentriesfor
ttsubscripted variables (drum)"
section and write
on listing tape
Is there a
constant Pool
program?
.-~
To Conn. (99)
Ini tiaf ''Sub- scripted variables
(drum)" section
heading to output
buffer
Codeword to Tape Handler
to read Constant Pool from
corrected problem tape to
Dimension List region
(over lay)
Is first word of Con""'--"""'1 stant Pool label block
CONSTA in XS3?
NO
-3
Type:
ALARM 10 COMPILATION
INCONSISTENCY ETC
Are there non-subscripted variables in
program?
Location 00007
Codeword to tape handler
YES to read XS3 symbol list
and/or XS3 symbol list
label block to list buffer
NO
Type:
ALARM 10. COMPILATION
INCONSISTENCY ETC.
Preset object program running address for first
non-subscripted variable
minus one in temporary
(CT)
To Conn. (75A)
New-page heading blockette to output
buffer if required
Preset Box 1 to address
of first non-subscripted
variable symbol in XS3
symbol list
"Non-subscripted
variables" section
heading blockette
to output buffer
Jo.sonn._(2lL
Two blockettes
of XS3 space
characters to
output buffer
Blockette of "symbol" and
"address" column headings, for
non-subscripted variable
section, to output buffer.
Blockette of underscores for column
headings to output buffer
Preset Box 2 to
output buffer address for assembly blockette
Set index (CTl) to
number of variables
per blockette - I,
i.e., to three
0--
Advance object program
running address for variable (CT) to address for ~
next variable
Advance assembly blockette address in Box 2
~
to address for next
variable symbol
7
Box-l
Next variable symbo
from XS3 symbol lis
to input for editin
routine (ES)
To(132
Conn.
)
-Edi t XS3-symbol
Edited varia-b--l~
symbol to assembly
blockette in output
buffer
Box-2
L...-_ _ _ __
Box-3
Advance address in
Box 1 to address for
next variable symbol
in XS3 symbol list
Advance address in Box 2 to
assembly blockette address
fOr object program running
address for variable
Octal object program running address for variable
to input of conversion
routine (CA)
I---~
Running address for]
variable in XS3 to
~
assembly blockette
~
in output buffer
Preset this
address in
Box 3
Same blockette-same sheet
To Conn.
(71)
New section
blockette-new shee
New blockette-same sheet ~
Setup section
heading to show
continuation
on new sheet
"Non-subscripted variables
- - continued" to section
heading blockette in output
buffer
Initial object program running
address of Constant Pool
(location 00010) to input for
editing routine (EC)
Set index (CT2)
to number of constants in Constant Pool
Preset Box 9 in editing routine (ED) to
input buffer address
of first constant
Is there a
Constant Pool
in program?
To Conn.
New pageheadingblockette to output
buffer if required
Setup editing routine
(EC) to provide continued Constant Pool
headings on new pages
of listin
To Conn. (113)
Edit and write-Constant Pool sectio
on listing tape
running
ment
Type:
ALARM 8. COMPILATION
INCONSISTENCY ETC.
@SEGME in
XS3 to first segment number word
for listing
Save th ird thru
eighth lines of
label block in
temporaries
Transfer instruction
group III from drum
~--~
to core
Obtain segment number
from third line of
label block and convert it to XS3
To Conn. (75)
ageheading blockette with segment number and page number
to output buffer
Codeword to Tape
Handler to read Preface from corrected
problem tape to inut buffer
Setup editing
routine (EC) to
edit Preface for
To Conn. (113)
Edi tanctwri te-Preface for segment
on listing tape
Send number of blocks
in this segment and
Preface to input
buffer routine
Are there more sentences or library routines in this segment
to be listed?
Advance address in
Box 4 by one to address of next entry
in file list
Box-4
Obtain next XS3 sentence
number or library routin
name from XS3 symbol
list and store in tem~
Box-5
Obtain number of lines in sentence or
library routine, and its running address,
from word following XS3 symbol in file
list
Advance file list address in Box 4 by one
and preset this address in Box 5
Setup editing routine (EC) to edit
sentence or library
routine
Check sign of word following
XS3 symbol in file list. (+)
implies sentence (-) implies
library routine
YES
Number of lines-l
to index (CT2) and
running address to
editing routine
(EC)
Sentence number to stored
headin
Library routine
name to stored
heading
To Conn. (97)
Headings forlibrary routine
to output
buffer
Codeword to Tape
Handler to read Termination from corrected
problem tape (servo 5)
to input buffer
To Conn. (114)
Edi taiidwri tesen=tence or library routine on listing tape
Transfer Dimension List from
core to drum
NO
Divide number of lines in
termination by two to get
number of subscripted
variables in this segment
Set index (CT2) to
n umber of sub scripta:l
variables in this
segment minus one
Setup editing routine (EC) to edit
subscripted variables for segment
Set section number
to zero in stored
termination headings
Setup editing routine (EC) to edit
termination for
segment
Transfer instruction group
II from drum
to core
Advance section number by one in stored
Termination headings
To Conn. (95)
Headingsforsection
of Termination to
output buffer
Termination on
listing tape
Set index (CT2) to
number of lines in
next section of
Termination - I
"End of listing"
Blockette with fast
feed one symbol to
output buffer
To Conn.(69)
Terminate listing
tape and rewind
Codeword to Tape
Handler to rewind
object program tape
End of
compilation
Codeword to Tape Handler to rewind corrected problem tape
Type:
PROGRAM LISTING ON
TAPE [4 or 7J.
Type:
COMPILATION
COMPLETED.
(BF) Subroutine to Build Op. File IV for Segment
Codeword to Tape Handler
to read one block of op.
file III from servo 5 to
file buffer
Type:
J-N_O_~ ALARM 10. COMPILATION INCONSISTENCY
ETC.
Implies e:Jd
op. file III
for this
se ment
Transfer sentence number
list from drum
to core
Preset initial address of:
op. file IV (drum~ statement buffer (core), routine buffer (core~ routine
file (drum)
Is first word
block equal to
END~OF in XS3?
Codeword to Tape Handler
to read one block of op.
file III from servo 5 to
file buffer
Preset Box 6 to
initial address
of file buffer
Box-6
btain next callword
from op. file III in
file buffer and advance buffer address
by one
Is 23000
YES
Is callword for
non-subscripted
variable equation,
i. e. 25---CW?
Must be Z's in
XS3 indicating
end of data
Setup base address for
subscripted variable
39 ~~ equation numbers in
sentence number list
Setup base address for
non-subscripted variable
equation numbers in
sentence number list
Obtain second and third
octal digits from left
in pseudo OPe callword
Add base address of
pseudo OPe region in
~--~47
sentence number list to
get address of sentence
no.
Add negative sign bit to
data word following
callword in Ope File III
to indicate library
routine
Shift callword to align second
thru fourth octal digits of
library routine callword with
last three digits of other
callwords
Setup base address of
library routine section
46
in sentence number list~~~
Obtain last three
octal digits of
callword
Yes implies omit from op. file IV
Data word from word following callword in op. fil
III to word following sentence number in statement
buffer
Add base address of statements section in sentence
number list to get address
of sentence number
S3 sentence number associated with callword fro
sentence number list to
statement buffer
----;a
Advance ad- ~
dress in state
44
ment buffer by
one
Reset stater~
buffer addr(~
Advance address in
statement buffer by
one
Statement buffer load
(1708 words) to op.
J---==-~ fi Ie IV on drum
YES
~_L'--:-----1
Advance address in
Op. file IV by 170
octal
ADD last three octal digits
of callword to base address
to get address of sentence
number
Advance address in
file buffer by
one
XS3 sentence number associated with callw~rd
from sentence number list
to routine buffer
Advance address
in routine buffer
by one
Data word from word
following callword
in op. file III to
word following sen
tence number in
routine buffer
YES
Transfer routine buffer
load (1708 words) to routine file on drum
Advance address in
routine buffer
bone
Must be callwor
for pseudo op.
sentence i.e. t
22___
Advance address in
routine file by
170 octal
Reset routine
buffer address
CW
Setup base address of
Is callword
all zeros? J--N_O-",-_~ statements section in
sentence number list
Yes implies omit from
0 •
file IV
45
Codeword to Tape Handler
to read one block OPe file
III from servo 5 to file
buffer
~
&-
implies end of
ransfer remaining
entries in statement
buffer to OPe file
IV on drum
Transfer remaining
entries in routine
buffer to routine
file on drum
OPe
-.r-------....
Type :
ALARM 10. COMPILATION
INCONSISTENCY ETC.
file III for this segment
to number
tences in
segment
Transfer routine file on
drum to OPe file IV on
drum following entries
from statement buffer
(CL) Check label on corrected problem tape
(i.e., check for UNICODE PROGRAM anywhere in first blocikette)
Set index
.to chec:k
248 words
Obtain next word from
first blockette of
~--~corrected problem
tape
Have all words in first
blockette been checked?
NO
sword UNICOD, ~UNICO,
CODE&. ICODE~
OR NICODE in XS3?
~LlUNIC t
YES
(LS)
Locate segment label block for first segment on object program tape
Set index
to check
378 blocks
I s fir st word
of block
SEGMEN IN XS3?
NO
Codeword to Tape Handler
to read one block of object program tape to list
buffer
Have all blocks
been checked?
Type:
YES
ALARM 8
0
COMPILATION INCONSISTENCY ETC
0
(NP)
Last digit
is rightmost
di modulus"
61~
3 repeat tp s
in Termination
for this array
Is 177778
>modulus?
Advance address in Box 8
by 6 to address of next
~--~~array transferred by
Termination
Decrease
index
by two
NO
2 repeat tp s
in Termination
for this array
Advance address in Box 8
by 4 to address of next
61B~...l--~ array transferred by
Termination
Decrease
index
by one
-v
'---------'
~
6 C
1
dvance address in Box 8
by 2 to address of next
array transferred by
Termination
Entrance to read
blocks from tape
to input buffer
(IR)
Input buffer routine
Input line = Number of blocks
in this segment + preface
YES
Decrease block count
in input line by
number of blocks in
full input buffer
......
-..:a
co
Codeword to Tape Handler to
read remaining blocks of
segment from obj ec t program.----~
tape to input buffer
Codeword to Tape Handler to
read full buffer load of
segment from object program
tape to input buffer
Set input line negative to
indicate all of segment +
Preface read to buffer
o
NO
Entrance to locate label block
for next segment
Codeword to Tape Handler
to read label block of next
segment from object program
tape to input buffer
Codeword to Tape Handler to move object
program tape forward, past remaining
blocks of Preface and Termination, to
beginning of next segment
YES Codeword to Tape Handler to move object
program tape forward, past Termination,
to beginning of next segment
Setup address
of first word
in label block
(BA)
~c~Advance
~ount
line
by one
Subroutine to advance output buffer address
Advance output
address
by 24 octal
~--~buffer
Is output
buffer full?
......
-.J
co
......
t switch ~ to
70 to terminate
t is listing tape
at end of next page
~
Advance count of blocks
on listing tape by
number of blocks in
output buffer (4)
Codeword to Tape
Handler to write
output buffer on
listing tape
Reset output
buffer address
to initial value
Fill output
buffer with
XS3 space
characters
Set listing tape block
count to zero to render
preceding test ineffective for rest of this
tape
(BB)
Subroutine to terminate current listing tape
Fast feed one and
printer stop symbols
to blockette in
output buffer
Codeword to Tape Handler
to write partial output
buffer load on listing
tape
Codeword to Tape
Handler to rewind
listing tape
(BD) Subroutine to end current listing tape at end of page
--IV
_ I
Fast feed one symbol and
"mount next listing tape
on printer" to next blockette in output buffer
Reset count of
blocks on listing
tape to zero
characters
Type: CURRENT LISTING TAPE
FULL. PUT NEW 1500 FT TAPE
ON SERVO_* START TO CONTINUE LISTING.
I---~
Restart
.--_
_ _ _~78
_ __
(OC)
Output control subroutine
Advance exit
by one to setup exit for
new section
Was this 55th line NO _Q
'on sheet or beyond
-~
when new section
next?
YES
New section
Was this 63rd line on
heet or beyond when
section next?
Set switch
~) to
®
Advance exit
one to setup exit for
new sheet
I--===~by
NO
NO
To Conn (75)
ewpaigehead- New Sheet_
ing blockette
to output
buffer
Same blockette-same sheet
Advance exit by
three to exit for
~ blockette same sheet
~
v
------New
blockette~same
sheet
count
V
count
New sect_io_n_ _---'
(00)
Page Heading Control Subroutine
,--------
Set swi tch
o
to
@
Segment number
to sheet heading
blockette in
output buffer
Page number to
sheet heading
blockette in
output buffer
(CA)
Convert octal address to XS3
Input = Octal address
Output
= XS3
address
XS3 address, packed
left with octal zeros
on right to fill,
to first output line
XS3 hyphen
to "A" left
To Conn. (85
Convert octal
address to
XS3
\\0-____--'
,.,.--_ _ _....1
S3 address with
hyphen on left
to first output line
Add close
parenthesis
following XS3
address
Set itA tt
register
to zero
to
XS3 address,
packed right with
octal zeros on
left, to first
out ut line
XS3 address with
close parenthesis
on right to first
output line
Open XS3 paren-s:J't
' to rIg
'h t 0 f
Xl
t h eSls
second output line
with zero octal
filIon left
Setup to
convert
five digits
Next octal digit
from address in
input to op.
code of "Att right
XS3 address
in "A" left
packed right
Add three to octal digit
to convert to XS3 and shift
XS3 digit to right of "Att
left
(CW)
Convert Octal word to XS3
Input = octal computer word
XS3 to left
of first output line
with octal zero fill
on right
~~~~in
Add three to octal
digit to convert to
XS3 and shift XS3
digit to position for
out ut line
Obtain next
octal digit
~----~ from input line,
working from
left to right
First output line = op. code in XS3
Second output line = "u" address in XS3
Third output line = "v" address in XS3
in XS3 to left of
second and third out
put line with octal
zero filIon right
~
Setup for
first
output line
Setup
shift
counts
Add XS3 digi t
to pertinent
output line
Is current
output line
full?
NO
Have all octal
digits of input lin
been converted to
XS3?
Advance to next
output line and
reset shift count
(HC)
Heading Routine for Constant Pool. Preface. Sentence, Library Routine, and Terminat:ion Sections
Setup for
initial section
heading for
Constant Pool
CONSTANT l:::. POOL
in XS3 to section
heading blockette
in output buffer
Setup for sectionl
heading for Constant Pool continued on new pag
of listin
ONSTANT l:::. POOL--CONTINUED
in XS3 to section
heading blockette in output buffer
®{
90
ADDRESS in XS3 to
column heading
blockette in output buffer
fiJnderscores for ]
I:'address" to next
blockette in output buffer
(74))
J -
t
~
ITo Conn.
~dvan.ce
output buffer address by 50
octal and line
\count by 1
Setup for
initial section
heading for
preface
PREFACE in XS3
to section heading
blockette in output buffer
Setup for sectIon
heading for Preface
continued on new
page of listing
PREFACE--CONTINUED
in XS3 to section
heading blockette
in output buffer
Setup for
initial section heading
for preface
SENTENCE NUMBER_
in XS3 to section
heading blockette
in o.utput buffer
Set up for section heading for
sentence continued on new page
of listing
SENTENCE NUMBER -CONTINUED in XS3 to section heading blockette
in output buffer
Setup for
initial section heading
for termination
TERMINATION in
XS3 to section
heading blockette
in output buffer
Setup for sectio
heading for Termination continued on new
page of listin
TERMINATION -- CONTINUED
in XS3 to section head- ~
ing blockette in output ~
buffer
Setup for
initial section heading
for library
routine
LIBRARY ROUTINE
in XS3 to section
heading blockette
in output buffer
Setup for section heading for
library routine
continued on new
a e of listin
LIBRARY ROUTINE
CONTINUED in XS3 to section heading blockette
in output buffer
-------- ----------------------------(HV)
Heading routine for subscripted variables
~drU~~
in XS3 to section headi~~re
105
Setup for initial
section heading
for subscripted
variables (drum)
Setup for InItial section
heading for sub
scripted variables(core)
Setup for section heading
for subscripted variables
(drum) continued on new
page of listing
Setup for section heading
for subscripted variables
(core) continued on new
page of listing
I
SUBSCRIPTED VARIABLES
blockette in output buffer
SUBSCRIPTED VARIABLES [druml
coreJ
--CONTINUED in XS3 to section heading blockette in
output buffer
"Symbol" and "addresses"
column headings for subscripted variables to next
blockette in output buffer
--- -
-
To Conn. (66
Advance out-=put buffer address and
line count
nderscores for SUbscriPtets
ariable column headings
to next blockette in output
106
uffer
(EV)&iftSubscript-;ct V;riabI;s---------.-----.,..addre ss in
utput buffer
~
6
11
Transfer ini tial running address of section to be edited
from input line to input of
conversion routine
To Conn. (80
YES Convertoctaladress to XS3 without
parenthesis
Is last octal
digit of initial
address less than
four?
Set index (CT4) to
zero to indicate next
line in listing
requires address
Subtract four
from last octal
digi t of ini tial
address
NO
to
one to indicate next
~----------~line in listing does
not require address
YES
~----------------~
Advance assembly blockett
address in Box 10 to preset for last entry in
blockette
Preset index (CTl)
for one entry in
blockette
NO
Advance assembly blockette
address in Box 10 to preset for second entry in
blockette
Advance assembly blockette
address in Box 10 to preset for last entry in
blockette
Preset index (CTl)
for three entries
in blockette
Decrease assembly blockette address in Box 10 to
preset for first entry
in blockette
Advance input buffer address in Box 9 to address
of next octal word to be
converted
Preset index
(CTl) for four
entries in
blockette
First four (leftmost)
octal digits of initi
address to address
counter (CT15)
Preset index
(CTl) for two
entries in
blockette
Advance assembly blockette
address in Box 10 by 5 to
address for next entry
in blockette
By-pass if Editing Constant Pool, Preface, or Termination
eset Input bu fer address in
Box 9 to initial
address
End of input buffer?
Box-9
Next octal word in
input buffer to
input of conversion
routine
To conn:-~
Convert'octal
word to three
ords in XS3
~-
NO
Box-lO
Transfer three word XS3
entry from output of conversion routine to assembly
blockette in output buffer
Same blockette - s.ame
New section
New blockette - new sheet
same sheet
Is address required
for next line of Ii sting?
(check index CT4)
YES Advance address
t--~I counter (CT15)
by 10 octal
Are last two octal
di gi ts of addre ss equa 1
to zero?
r-----::~
-u
-1
To Conn.(66J
XS3spaceblockette to
output buffer
To Conn. (66
XS3space'-
blockette to
output buffer _
To Conn.. (75)
Newpage headingblockette to output buffer
and reset line count
Setup assembly
blockette address
for XS3 address
entry
Transfer octal address
from address counter (CTlS)
to input of conversion
routine
To Conn .. (89),(92),(94),
(96) or (98)
__ _
Section heading. for continuation of section on new page
of 1 i sting t to output bu.ffer
XS3 address to
assembly blockette
in output buffer
Set index (CT4) to one to
indicate next line in listing does not require address
Preset assembly blockette address in Box 10to
address for first entry
in blockette
To
Conn~
Preset index (CTl)
for four entries
in blockette
(89), (92),(94).
_(2.611.. ~_(98l_lsectTon head
ing, for continuation of section on new page of listing
to output buffer
Is address required
YES Advance address _~
for next line of listing·L--->o...counter (CTlS) ~
(Check index CT4)
by 10 octal
(ES)
Edit XS3 Variable Symbol for Octal 77's
Input = XS3 symbol packed left with octal 77 fill
Output = XS3 symbol packed right with octal zero fill
Set index
CT3 to check
6 characters
Shift leftmost XS3
Fill output line
symbol in input line
with octal zeros~--~to rightmost positio
in input line
Shift output
line 6 places
left
NO
NO
~----------I
XS3 symbol
to rightmost
position of
output line
Program Listing Phase Regions
RE
RE
RE
RE
RE
RE
RE
HE
RE
RE
HE
Group I
HE
R.g
RE
RE
HE
HE
HE
HE
HE
HE
HE
RE
Group I I
RE
BR537
TH21
UP421
EP540
WP551
WQ551
WV547
YP551
YQ55 1
YV551
ZP547
=
FP653
TL732
TC746
XS772
XTI072
FClI46
RC1252
CT1316
OD1342
NP1363
BAI4l5
BB1432
RE
PPI452
PT1467
BFI5l0
BG161l
Group III
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
PQ1672
PR1725
PS1770
EV2030
EC2064
E02125
EF2177
FR2203
IR2211
OS2241
OC2311
802335
HV2352
HC2407
CA2470
CW2521
Group IV
RE
RE
RE
PK2547
PL2565
PM2625
HE
RE
Alarm. routine
Tape handler
Uniprint routine
:: BRl
Alarm.
:: BR12
Alarm
Alarm
== BR12
Alarm
== BRIO
Alarm
== BR12
Alarm
== BR12
Alarm
BR12
:: BRIO
Alarm
1796
1
10
10
8
10
10
10
8
RE
RE
RE
RE
RE
PN2660
P02741
CL2756
LS2767
ES3000
RE
RE
RE
RE
RE
RE
RE
RE
LB3327
DL5037
OB7040
FB2170
SB2360
RB2550
NL2740
FL2557
List Buffer
Modified Dimension list in core
Output buffer
File buffer
Statement buffer
Routine buffer
Sentence number list in core
Op. File IV list in core
RE
RE
RE
RE
RE
IB2747
DD40101
ND42 102
FD46202
RF47202
Input buffer
Modified Dimension list on drum
Sentence number
Op. File IV on drum
Routine file for Op. File IV
RE
RE
DQ52472
Z2655
Group III instructions on drum
Length of Group III
RE
RE
DP53400
YY220
Group II instructions on drum
Length of Group II
RE
TB610
RE
BL2260
Initial address of termination
buffer
Listing tape block limi t
1797
Memory Layout
TH 21
400
UP 421
216
EP 537
GP. I
GP. II
GP. III
FP 653
TL 732
TG 746
XS 772
XTI072
FC1146
RC1252
CT1316
OD1342
NP1363
BA1415
B81432
PP1452
PT1467
BF1510
BG1611
PQ1672
PR1725
PS1770
EV2030
EC2064
E02125
EF2177
FR2203
IR2211
OS2241
OC2311
BD2335
HV2352
HC2407
CA2470
CW2521
GP. IV
EP
WP
WQ
WV
YP
YQ
YV
ZP
PK2547
PL2565
PM2625
PN2660
P02741
CI2756
LS2767
ES3000
537
551
551
547
551
551
551
547
== BR
:: BR12
== BR12
== BRIO
:= BR12
== BR12
== BR12
== BRIO
l;NO;
included on region tape
since referenced only by
GP. IV LB3327
(Lists &
1510
buffers) DL5037
2001
OB7040
740
10000
GP. II FB2170
(Lists &
170
buffers) SB2360
170
RB2550
170
NL2740
4100
OB7040
740
10000
GP. III FL2557
(Lists &
170
buffers) ID2747
2070
DL5037
2001
OB7040
740
10000
1798
uniprint.
FC 40 001
100
DD 40 101
2 001
ND 42 102
4
FO 46
1
RF 47
100
202
000
202
Dimension List
Sentence number
list
Ope File IV on
drum
Routine File on
drum
3 270
DQ 52 472
655
Group III on
drum
Length Group III
DP 53 400
220
Group II on drum
Length Group II
TB
610
BL
2260
Termination buffer
address
Listing tape block
limit
ZZ
YY.
Program Listing Phase
0
1
2
3
4
5
6
7
10
11
12
13
14
15
IA
TP
RJ
RP
TP
TP
PK
FP
UP2
10024
FC
XS11
TP
XS12
TP
TP
TV
TV
RP
TP
RP
TP
CA
UP3
UP
PK4
CT
CT10
CT11
CT12
CT13
XSll
RC24
NP4
RC25
NP7
YY30000 PK14 }
PP
DP
ZZ30000 PL
}
DQ
PQ
PK16
XS
1199
Program listing setup
Parameter ~ uniprint
Print: LISTING OF PROGRAM
Zeroize temporaries
Preset 1st page no. word (assume
no number 1st page)
Preset 2nd page no. word
Preset 1st segment no. word
Preset 2nd segment no. word
Preset one shot jump in Page no. rtn.
Preset one shot jump in Page no. rtn.
Program Load II
~drum
Program Load III
~
drum
Program Listing (Title Section)
IA
CD
@
PL
10740
XSll
0
1
2
3
4
RP
TP
TP
RP
TP
XS
30004
XT40
PI2 }
OB
OB
PL5
OBIO
5
6
TP
RJ
TC
TH2
TH3
TH
7
RJ
CL
CLI
10
11
RP
TP
30144
LB24
PL12
OB50
12
13
TP
TP
RC3
FC7
CT6
CT7
14
SP
14
0
15
ST
FCI
Q
16
LT
3
CT16
17
QT
FC32
A
20
SS
CT16
25
21
22
AT
RJ
TC3
TH2
TH3
23
MJ
10000
PL30
24
TP
TC21
Q
25
TP
FP55
FP20
26
TP
FP55
FP47
27
30
MJ
TP
0
FP56
PL33
FP20
31
TP
FP56
FP47
32
TP
TC22
Q
33
RP
30010
PL35
Fill output buffer with space char.
Fast feed 1 sym ~ sheet hdg. blkt.
PROGRAM fl LISTING ~ Sheet Hdg.
blkt.
Codeword ~ G.T.H.
Read 1 blk. corrected problem
tape ~ list buffer
Check corr. probe tape label
(i.e. UNICOIEL\PROGRAM)
Prog. ti tIe ~ 3rd ... 7th blk ts in
output buffer
Preset output buffer address
Preset line count (158 ) for 1st
entry following title
# blks preceding XS3 sym. list
lab ~Av
Decrease by 1 to exclude tape
label blk. ~ Qv
# blks. Const. Pool (incl. lab.
blk. & End blk.) ~ ltv" of temp.
# blks. to move tape to pOSition
at begin XS3 sym list lab.
Dec. by # blks. Const. Pool to
get # blks. to move to begin
const. pool
Codeword ~G.T.H.
Move corr. probe tape forward to
begin Const. pool (or XS3 sym.
list if no C.P.)
MJl off ==>5 servos; WI on ==> 7
servos
Obj. prog. servo # = 3 ~Q
(5 servos)
Set listing tape # = 4 in flex.
prints
Set listing tape # = 4 in flex.
prints
TH
Set listing tape #=7 in flex.
prints
Set listing tape # = 7 in flex.
prints
Obj. prog. servo # = 6 ---;;. Q
(7 servos)
1800
34
QT
TC6
TC6
35
RA
Q
FC2
36
37
RP
QT
30003
TC16
PM
TC16
CA
PTA 0
Servo. no.~ Obj. prog. tape
codeword
Program listing servo no.~Q
(1 in HUH adv.)
Servo no.
codewords
1801
~program
listing tape
Listing Phase (Subscripted Var. (Drum) Section)
®
IA
PM
o
TV
6
1
2
IJ
CT2
MJ
o
CT2
PM3 yes
PM15
3
TP
6
A
4
AT
FC77
5
5
6
7
A
RP
PMb }
PM10
DL
DS4
EV7
TU
TP
[30000J
DD
RC33
RC42
# 77--- GWts ~ Index C
2
Are there subscripted variables?
No
jn for Dim.List of form 2---~Au
jn for Dim. List of form 3---~"u" of loc. 5
Dimension list from
drum~core
11
1U
TV
12
TV
RC5
EV32
13
RJ
HV
HVI
14
RJ
EV
EVI
15
SP
CT16
25
16
17
20
ZJ
PM17 yes PN no
AT
RJ
TC5
TH2
TH3
TIl
21
TP
DL
A
Preset init. add. dim. list
Preset Dim. List rtn. ref. ~ subs.
var. (drum) entry
Preset hdg. rtn. ref. ~ subs. var.
(drum W/cont.) entry
Init. subs. yare (drum) hdgs.
~ sect. hdg. blkt.
Edit subs. yare (drum) & write on
listing tape
# blks const. pool (inc!,.. lab. &
end blks.) ~ A in codeword position
Is there const. pool?
Codeword ~ G. T.H.
Read const. pool (incl. lab. & end)
from corr .prob. tape ~ Dim. List
region
1st word const. pool lab. blk.
22
EJ
TL13
PN
1st wprd const. pool lab. bike =
23
24
MJ
TP
o
WP
14
Q
25
QT
FC50
A
26
AT
TC23
TH3
27
RJ
TH2
TH
30
TP
LB
A
31
EJ
TL4
PN3
32
MJ
CA
o
WQ
PM33
10
--+A
}
CON S T A?
Alarm 10
# blks XS3 sym. list incl. lab. &
end blks. (If no sym, list, only
Lab. blk. appears & count = 1)
~A in position for codeword
Codeword to read sym. list to
list buffer ~ G. T.H.
Read XS3 sym. list (or lab. blk.
if no list) ~ List buffer
1st word XS3 sym. list lab.
blk~A
1st word XS3 sym. list lab.
blk = S Y M B 0 L ?
Alarm 10
1802
Non-5ubscripted Variable Section
@
o
IA
SP
7
o
1
ST
FC3
CT
2
SJ
PO
3
4
TV
....
CT
FC
CT2
CT
5
RJ
OD
OD2
6
TU
RC12
PN37
XS53
CT6
XS50
PN12
TV
7
TP
10
TV
PN
no
PM24 yes
11
RP
12
TP
30005
XS44
PN13
[30000]
13
Tn
RCI0
PN2l
14
15
16
RJ
TP
Q
TV
OC
FC20
CT6
17
RA
PN21
FCIO
20
21
RP
TP
30003
[30000]
PN22
[30000]
22
RA
PN21
FC2l
23
QJ
PN24 yes PN20 no
24
25
QJ
RJ
BA
BAI
26
TU
RCII
PN2l
27
30
31
32
TP
FC22
Q
RJ
OC
TV
CT6
PN16
OC2l
PN4l
33
RS
PN4l
FCI
34
TP
MJ
" No n-subscriptedl1variables"
Hdg. ~Section hdg. blkt.
Preset "u" of TP~ Add. of stored
col. hdgs.
Two space blkts.~ output buffer
Swi tch 106 I 00000 I 000001 ~ Q
Preset add. col. hdg. blkt. = output buffer add.
2 in "v" adv.~ add. for 1st col.
hdg. (or underscore)
OC21
PN2l
PN25 no PN3l yes
o
FCll
Init. running add. non-subs. yare
~ Au, # non-subs. yare ~ Av
Decrease running add. & # non-subs.
var. each by 1 ~ temp
Are there non-subs. var.? No
~ const. pool section
# non-subs. var. - 1 ~ index C
2
Zero ~"vtt of temp. containing
non-subs. yare add. - 1
New page hdg. if required ~ output buffer
Preset initial add. in XS3 sym.
list
Setup section hdg.
Preset add. sect. hdg. blkt =
output buffer add.
Column hdg. (or underscores)
--+ output buffer
5 in "v" adv.~Add. for next
column hdg.
All column hdg. (or underscores)
--+ output buffer?
Underscores transferred yet?
Adv. output buff. add. by 2010
(24 )
8
Preset
"u" of TP ~ Add. stored
underscores
Swi tchl~0~4"";;'I-oo-oo-o---r-10-0-000--'1 ~ Q
Two space blkts ~ output buffer
Set assem. blkt. add. = output
buffer add.
Dec. assem. blkt. add. by 1 ~ preset f()1'- 15t var. sym.
Preset index Cl~ # variables/
blkt. - 1
CTI
1803
®
@
@
@
35
RA
CT
FC2
36
RA
PN4l
FCII
37
[30000J
PN40
PN40
ES
ESI
ES2
40
41
TP
CA
IA
RJ
TP
42
RA
PN37
43
RA
44
TV
A
PN47
45
TP
CT
CA2
46
RJ
CA
47
TP
CAl
[30000]
50
51
52
53
54
55
RJ
OCI
PN35
TP
OC
0
0
0
0
XS54
56
TV
CT6
PN60
57
60
RP
TP
30007
XS44
MJ
MJ
MJ
MJ
PN4l
1 in "u" adv.~ running add.
next yare
Adv. assem. blkt. add. by 3 ~ add.
next sym.
XS3 yare sym. packed left W/77a
fi 11 ~ input edi t rtn.
Pack symbol to right with zeroS fill
XS3 var. symbol packed right
~ output buffer
1 in "u" advance to address next
yare symbol
Adv. add. assem. blkt. by 2 in "v"
---+ add. for next add. entry
Preset address for variable address
entry
Running add. for next yare
---+ conversion routine
Convert octal add.~ XS3 W/zeroa
on right
Running address for variable
~ output buffer
ES3
[30000]
FC2
FClO
CA3
==> same blockette - same sheet
==> new section
==> new blockette - new sheet
PO
PN55
PN32
XS50
new blockette - same sheet
Set up section hdg. to continue on
new sheet
Preset address section hdg. blkt.
= output buffer add.
~
PN13
[30000]
Non-subscripted~variables
tinued
CA
PN6l
1S04
~
sect. hdg. blkt.
-- con-
Constant Pool Section
@
@
@
IA
PO
0
SF
10
17
1
TU
A
ECI
2
3
LT
QT
6
FC13
Q
CT2
4
S
6
MJ
RJ
CT2
0
00
P06 yes
P013
002
7
TU
RC22
E014
10
RJ
HC
HCl
11
TV
RC33
EF
12
RJ
EC
EC2
13
14
RJ
LS
MJ
0
POlS
LSI
PP
IJ
CA
1805
.1nlt. running add • const. pooi
----+ "un of A
Init. running add. const. pool
----+ input edit routine
jn for constant poo1~ Qv
# const. in const. poo1---;. index
C2
Is there const. pool?
New page hdg. if required ~ output buffer
Preset input buff. add. for 1st
const. - 1
Constant pool hdgs.~ output buffer
Preset ent. add. for const. pool
hdgs. (W/cont. )
Edit const. pool & write on listing tape
Locate 1st segment label blk.
Segment Section
TA
@
@
PP
CT
[30000]
TL
PPI
A
PT yes
EJ
MJ
TP
RA
TLl
0
XS7
PPI
PP5
WV
CT12
FC24
7
TU
A
PPII
10
11
12
RP
TP
RJ
30006
[30000]
BF
PP12 }
CT16
BFl
13
14
RP
TP
CA
ZZ30000 PQ
DQ
PQ
PP15
0
1
2
TP
EJ
3
4
5
6
TU
Address seg. lab. blk. ~ttu" of NT
1st word label blk. ~ A
1st word label blk. = Z·s? i.e. is
this end obj. prog.?
1st word label blk. = SEGMEN?
Alarm 8
" @SEGME tt ~ 1st seg. no. word
Adv. add. label blk.~ Add. seg.
no. (3rd line)
Preset add. seg. no. (3rd line
lab. blk.)
3rd - 8th line lab. blk.~ temps.
Build Ope File IV this seg. and
# sentences ~"v" of index C5
}
1806
Program load III
~
core
Preface Section
IA
PQ
1
TP
TJ
2
DV
CT16
FClOO
FClOO
Q
3
4
SA
Q
Q
o
Octal segment no. ~ Av
128 (1010) ~ seg. no.?
Divide seg. no. by 128 (NB-.max.
seg. no. = 6310)
Tens digit seg. no. left 6
Two digit seg. no.~Av
5
SA
FeiOI
6
Convert two digit:;oseg.
o
@
LQ
o
A
PQ7 yes
6
6
7
SA
FCII
PQlO
14
10
AT
XSIO
CT13
11
RJ
00
001
12
SP
CT17
25
13
14
ZJ
PQ14 yes PQ26 no
Tel
TH3
TH2
TH
MJ
no.~
XS3 and position in A
15
AT
RJ
16
17
RJ
HC
1U
CT22
HC23
ECI
20
TV
ReM
EF
21
22
TU
RS
RC
ED14
ED14 }
FC2
23
24
25
SP
ST
RJ
CT23
FCI
EC
CT2
EC2
26
TP
CT2l
Q
27
QT
FC23
A
30
1U
RC24
FR2
31
TU
RC40
PR14
32
ZJ
PR yes
PRI no
CA
PQ33
o
Convert one digitlO seg. no.
~ XS3 and position in A
NT~ [s~ • ..!!2.] 0 ~ 2nd seg. no.
word
Sheet hdgs. (seg. no. & pg.no.)
~ output buffer
# blks Pref. (Term.) ---+ A in codeword position
Is there Preface?
Codeword ~G. T.H.
Read Preface from corr. probe tape
~ input buffer
Preface hdgs ~ output buffer
Ini t. running add. Preface ~ input edit routine
Preset ent. add. for Pref. hdgs.
(W/continued) in edit rtn.
Preset input buff. add. ~ init.
add. - 1 in edit rtn.
lines Preface ~ Av
lines Preface - 1 ~ index C2
Edit Pref. and write on listing
tape
# lines partial bike this segment
#
#
---+ Q
# lines partial blk. segment +
Preface ~ Qu
Preset initial add. Ope File IV
(drum) in Ope File IV control routine
Preset add. File list ~ limiting
add. initially
Is there partial blk?
1807
Sentence Section
IA
PR
0
SP
FC2
6
1
AT
CT20
ffil
2
3
4
RJ
RS
IR
RC
ED14
IR2
ED14
FC2
@
5
1J
CT5
PRlO yes
®
6
7
10
SP
ZJ
RJ
CT17
25
PR37 yes PS35 no
OD
OD2
11
RA
PR14
FC2
12
TJ
RC40
PR14
13
RJ
FR
FRI
14
TP
[30000]
CT
15
RA
PR14
FC2
lQ
17
TU
TP
A
[30000]
PR17
A
20
21
22
ST
FC2
Q
LQ
TU
Q
Q
17
ECI
23
24
LQ
TV
Q
Q
6
CT2
25
SJ
PR32
PR26
26
27
TP
TV
CT
RC4
EF
30
31
32
33
RJ
TP
TV
HC
0
CT
RC22
HC33
PR35
XT47
EF
34
RJ
He
HC5l
@
@
@
TU
MJ
Set blk. count = 1 in A in codeword position to count part. blk.
# blks. (incl. part. blk.) seg.
+ Pref.~ input fill buffer rtn.
Fill input buffer
}
Preset input buff. add.~ init.
add - 1 in edit rtn.
Are there more sentences this
segment?
}
Is there Termination?
New page hdg. if required ---+ output buffer
Adv. add. File list by 1 ~ add.
next sent. no.
Limi t add. fi Ie list ~ current
address?
Fill file list (core) from Ope
fi Ie IV (drum)
XS3 sent. no. from file list
~ temp.
Adv. add. file list ~ add. of
word with # lines & running add.
of sent.
# lines this sent.~ Au; running
add. this sent.~Av
}
Decrease # lines sent. by 1 ~Au
Running add. this sent. (or lib.
rtn. ) ~ input edi t rtn.
# lines this
~index C2
sent. (or lib. rtn.)
(+) ==>sentence , (-) =>library
routine (Ck.left most bitof INFO
word)
Sent. no. ~ hdg.
Preset add. sent. hdg. W/cont.
in edit routine
Sent. hdgs. ~ output buffer
XT3
Library routine name ~ hdg.
Preset add. lib. rtn. hdg. W/cont.
in edit. rtn.
Lib. rtn. hdgs. ~ output buffer
1808
@
35
RJ
EC
EC4
Edit sent. (or lib. rtn.) & wri te
on listing tape
36
'l7
MJ
AT
CA
0
Trl
PR40
PR5
TH3
Codeword to tape handler
IA
40
TU
PR40
5
PR41
Preset jn of repeat to trans.
Dim. List -+ core
41
RP
42
'It'
VI
CA
V,L
[30000]
DD
PR43
PS
DL
1
J
1809
Dimension list from drum -+ core
Subscripted Variables (core) and Termination Section
IA
PS
1
RJ
RJ
OD
TH
OD2
2
SP
CT23
43
3
4
LT
ST
5
o
TH2
o
A
CT2
TO
FC1
RC13
6
TV
PS5
EV7
7
TU
6
DS21
10
TV
RC11
EV32
11
RJ
HV
HV3
12
RJ
EV
EVI
13
14
TO
RS
RC
ED14
ED14 }
FC2
15
TP
XT14
XTll
16
TV
RC10
EF
17
20
TP
CT17
RC34
CT5
ECI
o
TO
DS15
21
MJ
22
23
RA
RJ
XT11
OD
PS34
FCI
OD2
24
25
SP
TJ
CT23
FC31
o
FC56
FC42
CT23
CT2
o
Set section no. = zero in stored
Term. hdgs.
Preset add. for Term hdgs (W/cont)
in edit rtn.
# blks. Term.. ~ index C5
Init. running add. Term. buffer
~ input edi t rtn.
PS31 yes
26
ST
27
TP
30
31
ST
FCI
PS32
CT2
32
33
RJ
RJ
HC
EC
HC41
EC2
34
IJ
CT5
PS22 no
35
RJ
IR
m14
MJ
Read Termination~ input buffer
New page hdg. if required ~ output buffer
# lines Term. /2 = # subs. yare
this seg. --+- AL
# subs. var. this seg. ~ Ar
# subs. yare this seg.-l~ index
Preset add. initial array of this
seg. in Term.
Preset Dim. List rtn. ref. ~ subs.
yare (core) entry
Preset jn to search Dim. List. in
Dim. List rtn.
Preset hdg. rtn. ref.~ subs.
yare (core) W/cont. entry
Init. subs. yare (core) hdgs.
--+ Sect. hdg. blkt.
Edit subs. yare (core) and write
on listing tape
Preset input buff. add. ~ini t.
add.- 1 in edit rtn.
Adv. section no. by 1
New page hdg. if required ~ output buffer
# littes Termination ~Av
1718 > # lines Termination? (i.e.
part. blk. Term. left?)
Decrease # lines Term. by 1708
# lines full blk. Term ... 1---+ index C2
lines partial blk. Term.- 1
-+index C2
Termination hdgs. ---+ output buffer
Edit block of Termination and write
on listing tape
All blks. Termination processed?
Locate next segment label blk.
#
1810
36
37
RP
TP
CA
YY30000
DP
PS40
PP
PP
"'I
J
Program load II ~ core
1811
End Listing Phase
®
@
IA
PT
0
1
2
3
TV
TP
TV
RA
CT6
CT6
PT5
PTI
[30000]
PT5
FC4
4
5
RP
TP
30004
XT17
PT6
[30000]
6
RJ
BA
BAI
7
10
11
12
13
14
15
16
17
20
RJ
TP
RJ
TP
RJ
TP
RJ
TP
RJ
BB
TC7
TH2
TC2
TH2
FPI0
UP2
FP21
UP2
0
PT21
BB1
TH3
TH
TH3
TH
UP3
UP
UP3
UP
PT20
MS
CA
XS
Preset avail. add. output buffer
Fast feed 1 symbol ~ output buffer
Preset avail. add. output buff.
108 in "v" adv. ~ output buff.
add. for "end of listing" blkt.
END~ OF~LISTING
blkt. ~ output
buffer
Adv. Output Buff. add. by 24 8 (2010)
in "un and "v"
Terminate listing tape and rewind
Rewind binary program tape
Rewind corrected problem tape
Parameter ~ uniprint
Print: PROGRAM LISTING ON TAPE[-].
Parameter--+ uniprint
Print: COMPILATION COMPLETED
1812
Build Ope File IV for Segment
@>
@)
@
fi
@
@
@
0
1
2
IA
MJ
TP
RJ
BF
0
TC4
TH2
[30000]
TH3
TH
3
4
TP
EJ
FB
TL2
A
BF6
5
MJ
RP
TP
TV
0
34100
ND
RC27
YP
BFIO
NL
BF73
11
TV
RC26
BF61
12
TV
RC30
BG2
13
TP
RC35
BG14
14
15
TP
RJ
TC4
TH2
TH3
TH
16
17
TP
EJ
FB
TL3
~G25 J
20
21
TU
TP
BF16
30000
BF21
Q
22
RA
BF21
FC2
23
24
25
SP
TJ
TJ
Q
FC60
FC61
0
BG20
BF35
26
TJ
FC62
BF37
27
TJ
FC63
BF52
30
31
32
TJ
TJ
QJ
FC64
FC65
BG21-
BF41
BF45
BF76 +
33
34
35
36
TP
RC15
0
RC16
0
A
MJ
TP
MJ
37
TP
R'e17
A~
CA
BF40
6
7
10
Codeword ~ G. T.H.
Read 1 blk. Ope Fi Ie III -+ fi Ie
buffer
1st word fi Ie buffer ~A
1st word file buffer = FILE~3?
(Op. File III entry label)
Alarm 10
BG
A
BG
1813
Sentence No. (XS3) List ~ core
Preset init. add. Ope File IV
(drum)
Preset init. add. statement buff.
( core)
Preset init. add. routine buff.
(core)
Preset ini t. add. routine file
(drum)
Codeword --+G.T .H.
Read 1 blk. Ope File III --+ Fi Ie
buffer
1st word File buffer END~OF ?
Yes~ end Ope File III this
segment
Preset init. add. File Buff.
Ca llword (or Z's) from File buff.
--+Q
1 in "u" adv. ~ ADD. of INFO. word
assoc. W!callword
Callword (or Z's) ~Ar
23000 > CW? (pseudo Ope sentence?)
25000 > CW? (equat. for subs.var.?)
NB ~ end of tape callword not in
Ope File III
26000 > CW? (equat. for non-subs.
var.?)
30000 > CW? (statement of main
prog.?)
50000 > CW? (pseudo operation Hd~?)
60000 > CW? (library routine?)
( +) ~ 77--CW; (- ) => word of Z's
(end of information)
=
Build Ope File IV (cont.)
@
@
40
41
IA
BF40
MJ
0
FC50
QT
BG
A
Designating bits of pseudo Ope
CW~A
42
43
LT
SA
36
RC20
44
45
46
MJ
TO
RA
0
BF2l
[30000J
47
LQ
50
51
52
53
54
55
56
57
TP
QT
SA
60
TU
61
62
RA
Q
Designating bi ts ~ Mutt of Ar
Add. base add. pseudo Ope sect.
in sent. no. list
A
0
BGI
BF46
FC34
Add. info. word ~ ·utl of NT
Lib. rtn. ind. (768)~ Ope code
of info. word
Designating bits lib. rtn. G.W.
41
~Qu
@
@
MJ
TO
TP
TJ
MJ
TP
RG21
0
BF2l
[30000]
FC25
0
FC54
RC15
A
A
BG
BF53
A
BF56 no
BF76
A
0
BF6l
[30000]
BF6l
[30000]
FCI
BF61
BF21
[30000]
Fel
BF65
BF65
[30000]
BF6l
Q
A
BF76 no
BF74
[300001
FC56
63
64
65
66
TV
67
70
71
72
73
74
TP
QT
TJ
RP
TP
RA
A
FC32
RG36
30170
SB
BF73
75
TV
RC26
BF6l
76
RA
BF21
FC2
77
TJ
RC23
BF2l yes
MJ
0
BFlOl
BF14
100
TO
TP
AT
CA
Add. info. word ~"u" of NT
Info. word ~A
Does info. word have "IP" flag?
Yes ~ omit from file
Last 3 digits of G.W. ~ Au
Add. base address statements in
sent.. no. Ii st
Add. of XS3 sent. no. corresponding to CW ~ "u" of NI
XS3 sent. no. ~ statement buffer
Adv. add. in stmt. buff. by 1 in
"v"
Preset next add. stmt. buff.
Info. word ~ stmt. buff.
Information word ~ stmt. buff.
Adv. add. in stmt. buff. by 1 in
"v"
1814
Next add. in stmt. buff.~ Av
Statement buffer full?
Stmt. buff.~ Ope File IV (drum)
Adv. add. Ope File IV (drum) by
1708
Preset add. stmt. buff.~ init.
add.
Adv. Address file buff. by 1
in 'tu"
More entries in file buff. to be
processed?
Build Ope File IV (cont.)
@
®
@
®
~
IA
BG
0
QA
FC54
1
TO
2
3
TP
RA
A
[30000]
BG2
BG2
[30000]
FCI
BG6
BG6
[30000]
BG2
Q
A
BF76 no
BG15
[30000]]
4
TO
5
6
7
10
11
12
13
14
TV
TP
TP
QT
TJ
RP
[TP
BF21
BG2
[30000]
FCI
A
FC32
RC37
30170
RB
15
RA
BG14
FC56
16
17
20
21
TV
MJ
ZJ
RJ
RC30
0
BF33
TH2
BG2
BF76
BF76
TH
22
23
TP
EJ
FB
TL3
A
BG25
24
25
26
27
30
31
32
33
34
35
36
37
AT
MJ
RS
SA
TO
TV
RP
TP
RS
SA
TO
TV
RP
CA
Base add. + last 3 digits CW
XS3 sent. no. ~ Au
A
XS3 sent. no.~ routine buffer
Adv. add. in routine buff. by 1
in ttv"
Preset add. info. word
Preset add. routine buff.
Info. word -+ routine buff.
Adv. add. routine buff. by 1 in "v"
Next add. in routine blArr • -+ Av
Routine buff. full?
Routine buff.~ routine file
(drum)
Adv. add. routine file (drum)
by l70~
Reset
YQ
RC26
17
BG31
BG32
BG33
[30000]
BG2
FC57
A
BG14
[30000]
BG40
RC30
17
BG37
BG40
BG41
nit. add. routine buffer
Read 1 blk. Ope File III ~ file
buffer
1st word file buffer = END~OF ?
Yes ~ end Ope file III this segment
Alarm 10
}
0
BF61
FC57
A
BF73
[300001
S8
= add.
Part. stmt. buff. ~ Ope File IV
(drum)
1815
Build Ope File IV (cont.)
IA
BG40
40
TP
RB
41
42
SP
SA
BG32
BF61
0
0
43
44
TV
SS
A
FCI
BG54
17
45
TU
A
BG46
46
RA
[30000]
FC24
47
50
RS
AT
BG14
BG2
RC35
Q
51
SA
FC57
17
52
53
54
TO
RP
TP
A
[30000]
RF
55
RS
BG54
RC27
56
QA
FC32
A
57
LT
43
CT5
60
MJ
CA
0
BG61
BF
[30000]
Part. routine buff.~ routine
file (drum)
Add. Ope File IV~ Av
Adv. add. Ope file IV by # lines
part. stmt. buff.---+ Av
Preset add. Ope file IV
Add. of info. word for last stmt.
of seg. ~Au
Preset drum address of last stmt.
info. word
Adv. # lines last stmt. Rtn. by
2 in "uti to count "Ip" and blank
# lines routine file ~ Av
# lines routine file + # lines
part. buff. = total # lines
routine file
jn to trans. routine file to Ope
file IV~ Au
BG53
BG55 }
[30000J
1816
Routine file (drum) ~ Ope file
IV (drum)
# lines Ope file IV (drum) before
addi tion of routine fi Ie ~ Av
# lines Ope file IV + # lines
routine file = tota 1 ~ lines of Op.
file IV ~Q
(# lines Ope file IV)j2 = # sentences this segment ~ "v" of C5
Locate 1st Segment Label Blk. on Obj. Prog. Tape
(@
@
0
1
2
3
4
5
6
7
10
IA
LS
MJ
TP
0
[30000]
FC36
RC42
CT2
CT
TCI5
TH2
TH3
TH
LB
~
III
TP
r
J
EJ
lTP
TLI
IJ
CT2
MJ
CA
LSil
0
368 --+ index C2
Preset initial add. seg. lab.
blk ~ 1st word list buffer
1
yes]
LS4 no
BRIO
1817
Read 1 bike Object Prog. tape
~ list buffer
1st word list buffer --+ A
(A) = SEGMEN ? (i.e. is blk. 1st
seg. label blk.?)
378 blocks checked?
Alarm 8
Check Label Corrected Prob. Tape
(@
IA
CL
0
1
MJ
TP
0
FC24
2
TU
RC42
CL3
3
TP
[30000J
A
4
5
RP
EJ
RA
20006
TL5
CL3
CL6
CL
FC2
[30oo0J
Q
(S.t. go back to begin
loop 238 times)
Preset "uH of NI ~ Ini t. add.
input buff.
Next wcrd from corr. prob. ti tIe
Switch~Q
blkt.~A
6
7
10
J
MJ
CA
Is this partial corr. probe title?
Adv. add. in title blkt. by 1 in
tlu"
Was this last word in title blkt.?
Alarm. 10
CLIO yes CL3 no
0
YV
CLII
1818
Page Number Routine
TJ\
@
0
1
2
3
4
ND
.Ll't.
1 ,1..
MJ
0
GTII
FG12
XS2
NP4
[30000]
Q
A
NP20 yes
[30000]
NP25 yes
[30000]
TP
QT
TJ
RJ
5
6
7
TJ
RJ
FC13
XS4
NP7
10
11
QT
TJ
FG14
XS6
A
NP27 yes
12
13
14
15
16
17
20
21
22
23
24
25
26
TP
TP
MJ
TP
TP
MJ
XS17
XS20
0
XS13
XS14
0
GTII
0
XS15
XS16
0
GIll
0
CTlO
CTII
NP30
CTlO
CTII
NP30
FCI
NP30
CTlO
GTII
NP30
FC15
NP3Q
27
RA
CTll
FCl6
30
TP
FC5
CT7
31
MJ
CA
0
NP32
NP
01'
-,;-
MJ
RA
MJ
TP
TP
MJ
RA
A
2nd page no. word ~ Q
Last digit page no. ~ A
9 in XS3 > last digit page no.?
One shot j wnp (1st time ~ Pn15 t
succeeding times~NT)
last two digits page·no~~ A
99 in XS3 > last two digits page OO?
One shot jump (1st time ~ Pn22 ;
succeeding times ~ NT)
Last two digits page no.~A
999 in XS3 > last three digits
page no.?
~~~GON ~lst page no. word
TINUED ~ 2nd page no. word
~~~~~P ~
AGEAlO~2nd
1st page no. word
page no. word
Adv. page no. by 18
~~~~P A~lst
page no. word
GE~1 0 0 ~2nd page no. word.
Advance next to last digit of page
number by one octal and change last
digit to zero in XS3
Advance third digit from right by
one octal and change last two digits to zero in XS3
Reset line count to four for page
number line
1819
Ope File IV Control Routine
0
1
2
MJ
RP
TP
FR
0
30170
[30oo0J
3
RA
FR2
4
TU
IA
@
5
MJ
CA
RC25
0
FR6
[30oo0J
FR3
FL
}
FC55
Fill file list in core from Ope
Fi Ie IV on drum
Adv. Ope File IV drum add. by
1708 in "u H
Preset XS3 sent. no. add. ~ ini t.
add. file list
PR14
FR
1820
Dimension List Search Routine
@
@
@
IA
DS
0
1
MJ
0
0
30000
[30000J
0
2
3
4
0
0
TP
5
RA
30000
30000
[30000]
DS4
30000
0
DSl
FC2
6
TU
7
10
TP
AT
A
[30000J
FC2
DS1
052
US4
11
12
13
SP
ST
A
[30000J
IlSl
DS12
0
DS3
0
[30000]
DS
Q
FC23
Q
FC23
[30000]
DL
USl
11
CT15
EP
DS23
Q
DS2l
DS22
A
[30000]
FC2
11
0
0
DS21
DS2
0
TO
14
15
W
16
11
20
21
22
(]I
LQ
23
24
25
26
27
30
TP
QT
RP
EJ
SN
SA
SA
TO
TP
SA
31
32
33
SP
ST
A
[30000]
CT15
DS32
0
DS3
34
TJ
FC11
IS44
35
TJ
FCI02
DS4l
36
RA
DS15
FCI03
RS
CT2
US40
FCIO
37
TU
CA
Subs. Tar. (core/drum»)
Add. in "u"
Output
Subs. yare XS3 symbol
Modulus in "u"
Drum address ~ output
Adv. add. in Dim. List by 1 --...::..
XS3 symbol
.L
--
~I'II'I
Q'\A\A.
XS3 symbol --+ output
Adv. add. in Dim List by 1 ~ add.
for next drum add.
Drum add. for next array --;. Au
Drum add. next array-drum add.
curr. array=modulus ~ output
~Exit
Core add. of array ~ Qu, drum add.
of array~Qv
Core add. of array -+ output
Drum address of array to "u" of A
Alarm 1
Is drum address in modified
Dimension List?
- jn+r --+ tlu" of A
+r ~"u" of A
DL+r (add. of XS3 symbol) ~ Au
Preset NI
XS3 symbol-+ output
Adv. add. in dim. list~add.
for next drum add.
Preset NI
Next drum add. in dim. list ~ Au
Next drum add.-drum add. current
array modulus ~ output
100008 > Modulus? Yes ====> 1 repeat
"TP" in Termination
117118 > Modulus? Yes -==> 2 repeat
"TP"'s in Termination
6 in "un advance ~ address of next
array transferred by Termination
Decrease index by 2 in "v"
=
1821
@
40
41
@
42
43
44
45
IA
DS40
MJ
RA
0
DS15
RS
CT2
MJ
0
RA
DS15
FCI
DS
FC24
MJ
0
OS
CA
DS46
DS
Advance by 4 ~ address of next
array trans. by Termination
Decrease index by 1 in "v"
FC37
Advance by 2 ~ address of next
array trans. by Termination
1822
Input Buffer Routine
IA
@
@
m
000100
[30000]
30000]
SP
TJ
ml
FC7l
0
ml0 yes
4
ST
FC66
IRl
5
TP
TC12
TH3
6
RJ
TH2
TH
7
10
MJ
AT
0
TCII
TH3
11
RJ
TH2
TH
12
13
14
15
TP
TP
SJ
FC34
0
IRI
m26 yes
IRI
IR
A
IR16 no
16
SP
CT17
25
17
SA
IRI
0
20
AT
TC6
TH3
21
RJ
TH2
TH
22
TP
TClO
TH3
23
RJ
TH2
TH
24
TP
RC
CT
25
26
MJ
SP
0
CT17
IR
25
MJ
0
m20
CA
IR30
0
MJ
1
[0 [0
2
3
0
# blks. seg. + pref. in
codeword position
# blks. sego + pref. ~ A
Max. # blks. input buff. + 1 > #
blks. seg.+pref. still on tape?
Decrease Blk. count in input line
by # blks. full buffer
Codeword to read Obj. Prog. tape
---+ G.T.H.
Fill input buffer with blks. seg.
+ pref.
~ exit
Codeword to read Obj. Prog. tape
Input:
m
~G.T.H.
~
@
27
MJ
Remaining blks. of seg. +pref.
~ input buff.
Neg. no. ---;. input line
~ exit
Input line --+ A
All blks. seg. + pref. read to buffs
(i.e. tape positioned for next seg.)
# blks. term. ~ A in position for
codeword
# blks. term. + # blks. pref. not
read to buff.~A
Codeword to move forward obj. prog.
tape ~ G.T.H.
Move forward obj. prog. tape
~ begin next seg. lab. blk.
Codeword to read obj. prog. tape
~ G.T.H.
Read next segment label blk. ~ 1st
blk. input buff.
Preset add. 1st word label blk.
~ Init. add. 1st blk. input buff.
# blks. term.~A in position
for codeword
1823
Advance Output Buffer Address Routine
@
<@
(@
IA
BA
0
1
MJ
RA
0
CT7
[30000]
FCI
2
RA
CT6
FC6
3
TJ
RC4l
BA yes
4
RA
CT14
FC5
5
TJ
FC73
BAlD yes
6
TV
RC7
OD4
7
TP
Fe
CTl4
10
11
12
TP
RJ
TH3
TP
TC16
TH2
RCI
CT6
13
14
RP
TP
10740
XSli
BA
DB
CA
BA15
TH
}
1824
Exit
Adv. line count by 1 in "v"
~ next avail. line no.
Adv. output buff. add. by 248
(2010) in "u" & "v"
Limiting output buff. add. >
Current buff. add?
Adv. listing tape block count by
# blks. (4) output buff.
25308 (1368l0>'>curr. # blks. on
listing tape?
Set switeh®~@ (end current
listing tape at end next page)
Listing Tp. blk. count = zero to
render test on blk. count ineffective
Parameter ~ G.T.H.
Output Buffer ~ listing tape
Preset output buff. add. ~ ini tial value
Fill output buff. W/XS3 space
characters and exi t
Terminate Listing Tape Routine
IA
@)
BB
0
MJ
0
[30000J
1
2
TV
TP
CT6
XT37
BB2
[30000]
3
RA
CT6
FC6
4
ST
RC1
Q
5
QT
FC32
CT6
6
TP
TC20
Q
Exit
Preset output buffer address
Fast feed 1 & printer stop
~ output buffer
Adv. output buff. add. by 248
(2010) in "un & "v"
# words in partial output buff.
~ !!:u" & !tv!! of Q
# words in partial output buff.
----+ "v" of A & temp. 6
Codeword to write 1 blk. output
7
TJ
FC31
BB13
buff.~Q
1718 > # words
10
RA
Q
FC72
11
RS
CT6
FC56
12
13
14
MJ
TP
0
Q
RJ
TB2
BB7
TH3
TH
TP
RJ
MJ
CA
TC17
TH2
0
BB20
15
16
17
partial output
buffer?
Adv. count b1ks. in part. output
buffer?
Decrease # words part. output
buffer by 1
Parameter ~ G.T.H.
Partial output buffer
tape
TH3
TH
Rewind listing tape
BB
1825
~listing
End Current Listing Tape at End of Page
@@
@
IA
BD
0
1
2
3
TV
CT6
TP
TV
RA
XS
CT6
BD5
BDI
[30000J
BD5
FC5
4
5
RP
TP
30014
XT23
BD6
[30000J
6
RJ
BA
BAI
7
RJ
BB
BB1
10
TP
FC
CT14
11
RJ
BA
BA12
12
TP
FP3l
UP3
13
RJ
UP2
UP
14
MS
0
CA
BD15
Preset avail. output buff. add.
Fast feed 1 ~ output buffer
Preset avail. output buff. add.
Adv .. output buff. add. ~ add. for
MOUNT!::::. NEXT !::::. LISTING Ii TAPE, etc.
}
}
OD5
1826
MOUNT !::::.NEXT !::::. LISTING ~ TAPE ~ ON
~ PRINTER. ,etc. ,~ output buffer
Adv. output buff. add. by 248 (2010)
in HUH & "v"
Terminate current listing tape
and rewind
Reset count of blks. on listing
tape = zero
Fill output buffer with XS3 space
characters
Type: CURRENT LISTING TAl'E FULL
Pur NEW 1500 FT. TAPE ON SERVO_
START TO CONTINUE LISTING.
<
.
Output Control Subroutine
IA
OC
[30000]
0
MJ
0
1
2
IJ
RJ
CT2
BA
OClO
BAl
3
RA
OC
FCI
4
5
TP
TJ
CT7
FC67
A
OC2l no
6
7
10
TV
002
OC
IJ
RC6
0
CTI
11
RJ
BA
BAI
12
13
TP
TJ
CT7
FC70
A
OC17 no
14
RA
OC
FClD
RJ
@
15
16
17
RA
00
0
OC
ODI
OC
FCII
@
20
21
RJ
0
BA
OC
BAl
22
RJ
BA
BAI
23
MJ
CA
0
OC24
OC
@
Are there quan. left this section?
No;adv. output buff. add. by
2010 and line count by 1
Adv. exit add. by 1 in "v" ~ new
section
Line count ~A
Was this 55th line on sheet or
beyond when new @ction next
MJ
MJ
MJ
Set
OC no
switch®~
WaS this last entry in blkt?
No =::::> same blkt. - same sheet exit
Yes; adv. Output buff. add. by
2010 and line count by 1
Line count ~ A
~as this 63rd line on sheet or
beyond when same section next
Yes; adv. exit add. by 2 in "v"
===> new sheet exit
New page heading ~ output buffer
~Exit
Adv. exit add. by 3 in "v" ~ new
blkt.-same sheet exit
Adv.
line
Adv.
line
1827
output buffer by 2010 and
count by 1 (space blkt.)
output buffer by 2010 and
count by 1 (space bIkt.)
Page Heading Control Subroutine
t~
®®
@
IA
00
MJ
TV
[30000]
002
[003]
00
[ODS1
4
RJ
0
RC6
002
0
004
0
1
2
3
RJ
MJ
Set switch ® ~@
SWitch@
Switeh@ B1 = 005
B2 = BD
Adv. page no.
Preset add. 1st seg. no. word =
avail. output buff. add.
5
RJ
NP
6
TV
CT6
NPI
0010
1
10
RP
IP
30002
CT12
OD11 }
[30000J
11
RA
ODIO
FC11
12
13
14
15
TV
RP
RJ
A
30002
CTIO
BA
OD14
OD15
[30000]
BAI
16
RJ
BA
BAI
17
RJ
BA
BAI
MJ
0
OD21
OD
20
TP
CA
}
1828
Segment no. words ~ sheet hdg.
blkt.
22a in "v" adv.~ add. for 1st
page no. word
Preset add. for 1st page no. word
Page
Adv.
line
Adv.
line
Adv.
line
no. words --+ sheet hdg. blkt.
output buff. add. by 2010 and
count by 1 (Sheet hdg.blkt.)
output buff. add. by 2010 and
count by 1 (Space blkt.)
output buff. add. by 20 O and
count by 1 (Space blkt. J
Convert Octal Address to XS3
0
1
2
@
3
4
(@
@
@
~
!A
CA
MJ
0
[0
0
30000
30000
[30000]
30000
30000]
RJ
LT
CA30
6
CA22
CAl
MJ
0
CA30
0
CA
CA22
CAl
0
FC26
CA30
0
CA
6
CA23
CAl
==
Output XS3 address
Input Octal address in "UN
W/zero (octal) fill
Convert address
XS3 add. W/octal zeros on right
~ output
5
6
7
RJ
10
11
12
13
SP
RJ
LT
14
15
RJ
0
CA30
CA
CA22
16
SA
XS5
6
17
LT
0
CAl
TP
LQ
XS3
0
FC
FC34
CA2
CA2
CA
A
CT3
3
25
QA
RC43
A
26
27
SA
LQ
FC74
CT3
6
1
30
QJ
CA24 no [30000]yes
CA
CA31
20
21
22
23
24
LT
MJ
MJ
MJ
TP
TP
XS3 address W/octal zeros on left
~ output
XS3 hyphen
~
rightmost digits AL
Converted address W/hyphen left
~ output
Converted address ~ AL packed
right
Add. close parent. following XS3
address
XS3 address W/close parent.~ 1st
output
Open parent. ~ 2nd output
Zeroize A
Set index = 4
Next digit octal input add.
~ Qop
Add. next digit to be con- Convert
verted ~ Aop
Ad{ Convert digit to XS3 and
ress
shift~AL
{ All 5 digits converted? Yes j
1829
sub-exit. XS3 address in "A"
left packed right
Convert Octal Word to XS3
®
(@
TA
CW
MJ
0
1
2
3
4
5
0
0
0
0
TP
0
30000
30000
30000
30000
FC47
[30000)
30000
30000
30000
30000
CWl
6
7
10
11
12
13
14
TP
TP
TP
TV
TP
RS
SP
FC25
FC25
RC14
FC35
FC46
CW17
CW4
CW2
CW3
CW20
CW17
Q
FC27
3
15
LT
10000
CW4
16
LT
0
A
11
SA
FCll
[30000]
20
[AT
QJ
QJ
RA
CW1]
CW22 yes CW13 no
CW23 no cw yes
FC3
CW20
21
22
23
24
25
TV
MJ
CA
CWI
FC36
0
CW26
CW17
CW13
1830
Output - XS3 Ope code
Output - XS3 "U" add.
Output - XS3 "v" add.
Input - octal computer word
~~~~ W/zero fill ~ 1st word
output
~ W/zero fill ~ 2nd word output
~W/zero fill ~ 3rd word output
Preset add. 1st output word
Preset shift count --+ 148
swi teh ~ Q 130 I 30200 I 00000 I
Decrease shift count by 6
Next octal digit input word ~ 1st
digit AL
Shifted input word (Ar ) ~ input
line
Digit to be converted--+rightmost
digit At
Cony. octal digit --+ XS3 and shift
to position in A
Converted digit ---+ output word
Output word full?
Entire octal input word converted?
1 in HUM & "v" adv. ~ add. next
output word
Reset shift count ~368
Heading Rtn. for Const. Pool,Preface,Sentence and Termination
(@
~
@
@
@
@
(§
IA
He
0
MJ
I
TP
0
XS70
2
TV
CT6
3
4
5
RP
TP
TP
30003
XS63
XS71
6
TV
CT6
7
10
RP
TP
30005
XS63
[30000]
XS65
Setup const. pool sect. hdg. wlo
continued
Preset add. sect. hdg. blkt output buffer
=
HC4
HCll
[30000]
XS65
CONSTANTA POOL ~ sect .. hdg .. blkt ..
Setup Const. Pool sect. hdg. wi
continued
Preset add. sect. hdg. blkt.
output buffer
=
HelO
HCll
[30000]
CONSTANT~
POOL - CONTINUED
sect. hdg. blkt.
Adv. output buff. add. by 4010
(508)
~
11
RJ
OC
12
13
14
15
TV
RP
TP
RJ
CT6
30002
XS56
16
17
20
21
22
23
OC21
BA
HC14
HC15
[30000]
BAl
TV
RP
TP
RJ
CT6
30002
XS6l
OC
HC20
HC21
[30000]
OC21
MJ
TP
0
XS76
HC
XS73
24
TV
CT6
HC26
25
26
27
30
RP
TP
TP
TV
30002
XS72
XS77
CT6
HCll
[30000]
XS73
HC32
31
32
RP
TP
30004
XS72
lICll
[30000]
33
TV
CT6
HC35
34
35
RP
TP
30004
36
TV
CT6
HC40
37
RP
CA
30006
IICil
XT
ADDRESS ~ col. hdg. blkt.
Adv. output buff. add. by 2010
(248)
Underscores ~ output buffer
Adv. output buff. add. by 4010
(508)
Setup Preface sect. hdg. W/O
continued
Preset add. sect. hdg. blkt
put buff. add.
=out-
PREFACE ~ sect. hdg. bikt.
Setup pref. sect. hdg. W/continued
Preset add. sect. hdg. blkt.
output buff. add.
=
PREFACE ~ CONTINUED ~sect. hdg.
blkt.
Preset add. sect. hdg. blkt.
output buff. add.
=
HCll
[30000]
SENTENCE NUMBFB [----~sect. hdg.
bikt.
Preset add. sect. hdg. blkt. =
outp-ut buff .8dd~
HC40
1831
Heading Routine (Cont.)
IA
HC40
40
TP
XT
@
41
TV
CT6
TP
(§
42
43
44
45
RP
TP
XTl5
30005
XT6
TV
CT6
XT12
HCII
[30000]
HC50
46
47
50
TP
RP
TP
XTl6
30006
XT6
XT12
HCll
[30000 ]
51
TP
XT52
XT50
52
TV
CT6
HC54
53
54
RP
TP
30005
XT44
HCll
[30000]
55
56
TP
XT53
CT6
XT50
HC60
57
60
RP
TP
30006
HCII
[30000]
®
@
TV
CA
IT"
SENTENCE NUMBER~---~ CONTINUED
~ sect. hdg. blkt.
Preset add. sect. hdg. blkt.
Output buffer add.
[30000 ]
=
HC44
TERMINATION ~ sect. hdg. blkt.
Preset add. sect. hdg. blkt Output buffer add.
Setup stored hdg. I/continued
TERMINATION (SECTION--l-CONTINUED ~ section
hdg. blkt.
Set up library routine hdg. W/O
continued
Preset add. sect. hdg. blkt.
Output buffer add.
=
=
LIBRARY ROUTINE - - ~ sect. hdg.
blkt.
Set up lib. rtn. hda I/continued
Set add. sect. hdg. blkt. = output
buffer add.
LIBRARY ROUTINE [----J -- CONTINUED
~ sect. hdg. blkt.
HC6l
1832
Heading Routine for Subscripted Variables
IA
HV
MJ
0
XS30
[30000]
XS25
@)
0
1
@
2
3
TP
0
XS32
HV4
XS25
@
4
' TV
CT6
HV6
5
6
RP
TP
30005
XS2l
HV15
[30000]
7
TP
XS3l
XS25
10
11
MJ
TP
0
XS33
HV12
XS25
12
TV
CT6
HV14
13
14
RP
TP
30007
XS2l
HV15
[30000]
15
TO
RC4
HV23
16
17
20
RJ
TP
TV
OC
FC20
CT6
OC21
Q
HV23
21
22
23
RA
RP
TP
HV23
30004
[30000]
FCI
HV24
[300001
24
RA
HV23
FC2l
25
QJ
HV26 ye s HV22 no
26
27
QJ
RJ
HV27 no
BA
HV33 yes
BAI
30
TO
RC5
HV23
31
32
33
34
TP
MJ
RJ
Q
HV20
OC2l
Two space
MJ
FC22
0
OC
0
Column hdg. (or underscores)~ out--.·
put buffer
5 in MV" adv.~add. for next
col. hdg. (or underscores)
All col. hdgs. (or underscores)
~ output buffer?
Underscores transferred yet?
Adv. output buff. add. by 2010
(248)
Preset "uti of TP ~ add. of stored
underscores
Swi tch 104 I 00000 I 00000 I ~Q
HV
~Exit
CA
HV35
'-.J
@
@
@
@
@
TP
MJ
Set up section hdg. for drum initial
Set up section hdg. for core initial
Set add. sect. hdg. blkt. = Output buffer add.
SUBSCRIPTED VARIABLES [lllUM]
CORE
~ section hdg. blkt.
Set up section hdg. for drum W/
continued
Set up section hdg. for Core
W/continued
Set add. sect. hdg. blkt = Output
buffer add.
[~:]
SUBSCR IPTED VARIABLES
- CONTINUED ~out. buffer
Preset "u" of TP ~ add. of stored
col. hdg.
Two space blkts ~ Output Buffer
Swi tch 106 I 00000 I 000001 ~ Q
Preset add. col. hdg. blkt. = Output buffer add.
1 in MV" adv. ~ add. 1st col. hdg.
1833
blkts.~
output buffer
Edit Subs. Var. and Write on Listing Tape
@
@
@
§
@
IA
EV
0
MJ
1
TV
0
CT6
2
RS
EV12
FC5
3
TP
Fell
CT1
4
RA
EV12
FC2l
5
SA
FCI
0
6
7
TV
RJ
A
10
11
SP
SA
XS11
DS2
12
LT
0
[30oooJ
13
TP
A
[30000]
14
RA
EV13
Fe1
15
TV
A
EV20
16
TP
ISI
CA2
17
RJ
CA
CA6
20
21
22
TP
RS
AT
CAl
DS1
DS3
[30000]
FC2
CA2
23
RJ
CA
CAll
24
25
26
RA
TV
EV20
A
CAl
FCI
EV26
[ 30000]
27
30
31
32
RJ
OC
0
0
HV
OCI
EV4
EV
[30000]
0
EV34
EVI
33
TP
MJ
MJ
RJ
MJ
CA
DS
[30000J
EV12
Set assem. b1kt. add. = Output
buff. add.
Dec. assem. b1kt. add.~Preset for
1st sym.
Preset index Cl ~ # variables/
blkt. - 1
Adv. assem. b1kt. add. ~ add. 1st
part next sym.
1 in ltv" adv. ~ add. last part
next symbol
Preset add. for last part symbol
Dimension list rtn. DSl := Add. of
array in "u··
DS2 ~ XS3 sym.
DS3 = modulus
-1 in nu"
XS3 space char. ~ AL
1st part XS3 sy.m.~ AI; last part
sym. --+Ar
1st part XS3 s~.~ output buff.
(assem. blkt.)
Last part ]53 sym.~ output buff.
(assem. blkt.)
1 in "V" adv.~ add. for initial
add. entry
Preset "un of TP ~ add. for init,...
ia1 add. entry
Ini tial add. for array --;. cony.
routine
Cony. add. (CA) W/O hyphen. (CAl=
XS3 add; packed to right)
Add. entry~ assem. blkt.
Init. add. of array - 1~ Au
Final add. of array ~ conv.
routine
Conv. address (CA) tl/hy,ken (CAl:
XS3 add. packed to riGht)
ADv. assem. blkt. add. by 1 in "V"
Next assem. blkt. add. ~ "v" of TP
Last address for array ~ assem.
blkt.
~Output control
Same hlkt.;same sheet
New section
New blkt.; new sht . ~ heading
W/continued ~ output buff.
New blkt.;same sht .
EV13
[30000]
44
22
1834
Edit Coding or Constants Routine
IA
@
@
11
@
@
EC
0
0
MJ
1
2
3
4
5
0
TP
MJ
0
TP
TV
RC31
CT6
0
ED11
RC5
EDll
EC16
6
RA
EC16
Fe!
7
10
TP
ECI
FC33
Q
QT
11
12
13
14
15
16
17
20
TP
ZJ
RJ
TV
TP
TP
TP
TV
[30000]
RC32
Exit next section
Initial running add. this section
Set MJ to by-pass TJ
[30000J
=
CT15
CA2
Eel
ECl3 no EC37 yes
CA
CAl5
EC15
CT6
CA2
[30000]
CAl
CTl5
CT6
[30000]
A
EDl7
Set TJ for input buff. check
Preset add. assem. b1kt.
output
buff. add.
Adv. assem. blkt. add. -+ add. for
add. entry
Running add. 1st word this section
Last digit initial add. ~ Itu"
temp. 2 and A
Ini t. add. ~ input conv. routine
Last digit init. add.
zero?
Convert octal address W/parents.
=
Open parent. (if 5 digit add. W/
parents) or zeros ~ output buffer
XS3 address ~ output buffer
Last octal digit initial add.~ A
Preset aSsem. blkt. add.
output
buffer
4 > last digit ini t. add.?
Zero ~ b1kt. index C4 (i.e. odd
line ~ next line has add.)
Dec. last digit of add. by 4 in "UK
=
21
22
TJ
TP
FC37
FC
EC25 yes
CT4
23
SS
FC37
0
24
25
MJ
0
TP
Fel
EC26
CT4
26
27
30
TP
TJ
RA
Eel
FC40
EDl7
Ee33 yes
FC35
TP
~A
@
@
31
32
33
34
35
36
37
40
Q
FC
eTI
MJ
0
ED6
TJ
RA
FC24
ED17
ED yes
FC76
TP
Fel
MJ
0
RJ
CA
CTI
ED6
CA3
MJ
0
EC41
CA
Set blkt. index C4 ~ I (i.e. even
line ~ next line has no add.)
Init. add. from input ~ Qu
3 > last digit add.?
Adv. assem. blkt. add. ~ Preset
for last entry in blkt.
Preset index for 1 entry in blkt.
2 > last digit add.?
Adv. assem. blkt. add.~ preset
for 3rd entry in blkt.
Set index for 2 entries in b1kt.
Convert octal address W/octal zeros
on right
EC16
1835
Edit Coding or Const. (Cont. )
IA
TJ
RA
ED
FC2
ED17
ED4
FClO
TP
@
2
3
4
RS
FClO
0
ED17
CTI
ED6
FCII
@}
12
5
6
TP
QT
FCII
FC41
CTI
CT15
@
7
RA
ED17
FC21
10
11
12
13
RA
[TJ
RJ
ED14
RC2
TO
RC
FC2
ED14]
m2
ED14
14
TP
[30000]
CW4
15
16
17
RJ
RP
CW
TP
30003
CWI
CW5
ED20
[30000J
20
21
22
23
24
RJ
OC
MJ
MJ
MJ
0
0
IJ
CT4
OCI
ED7
EC
EF
ED46
25
RA
CT15
FC43
26
27
31
TP
QT
ZJ
RJ
FC75
Q
A
A
ED40 no ED31 yes
BA
BAl
32
33
34
RJ
TP
TJ
SA
CT7
FC70
BAl
A
ED40 no
35
RJ
OD
ODl
36
37
TV
EF
ED37
[30000]
@
@
@
0
0
1
30
@
MJ
m
0
RJ
He
CA
ED40
1 > last digi t add.?
Adv. assem. blkt. add.~ Preset
for 2nd entry in blkt.
Set index for 3 entries in blkt.
Dec. assem. blkt. add.~ Preset
for add. 1st entry in blkt.
Set index for 4 entrys in blkt.
1st four digi ts ini t. add. -+ Temp.
2 (add. ctl:..)
Adv. assem. blkt. add. by 5 in "v"
~ add. for next entry
Adv. input buff. add. by one
Limiting value> input buff. add.
Fill input buff. from tape
Preset input buff. add.~ initial
add.
Next word from input buff .~ConY'.
routine.
Convert octal word ~ XS3
XS3 entry ( 3 words) ~ assem.
blkt.
==+ Output control
~ same blkt.-same sheet
New section
New blockette-new sheet
New blockette-same sheet ~ add.
entry required next blkt?
Yes; adv. ctr. (temp. 2) by 10e
in "u"
Mask~ Q
Last 2 digits add.~ A
Last two digits add. = zero?
Adv. output buff. add. by 2010
(24{3) (space blkt. ~ buff.)
Space blkt.--+ output buffer
Line count ~ A
Was 2nd space blkt. 63rd line on
sheet or beyond
New pg. hdg. blkt. ~ output
buff. and reset line count 4~
=
Sect. hdgs. W/continued
buffer
1836
~
output
Edit Coding or Const. (Cont. )
@
@
IA
ED40
40
TV
CT6
ED44
41
RA
ED44
FCI
42
TP
CT15
CA2
43
RJ
CA
CA3
44
45
TP
TP
CAl
FCI
[30000]
CT4
46
TV
CT6
ED17
47
RS
50
51
TP
MJ
CA
ED17
FCII
0
ED52
Preset add. assem. blkt.= output
buff. add.
Adv. assem. blkt. add. --+ add. for
XS3 add. entry
Octal address ---+ input conv.
routine
Convert octal address W/octal
zero on right
XS3 address entry --+ output buffer
Set blkt. index C4 ~ 1 (No add.
entry next blkt.)
Preset assem. blkt. add. = output
buffer add.
Dec. assem. b1kt. add. ~ preset
for add. 1st entry in blkt.
Preset index Cl --+ # entries/blkt.
FCII
CTI
ED7
Edit Coding or Const. (new blkt.-New Sheet Sect.)
@
0
1
2
3
IA
RJ
EF
He
[30000]
IJ
RA
CT4
CT15
ED46 no
FC43
MJ
CA
0
EF4
ED40
Section heading W/continued
---+ Output buffer
Add. entry required next blkt?
Adv. address counter (temp. 2) by
10 in "u"
8
1837
Edit XS3 Variable Symbol for 77's
@
IA
ES
0
1
MJ
0
0
30000
[30000]
30000
2
0
30000
30000
CT3
ESI
6
Output-XS3 symbol packed right
W/OS fill
Input-XS3 symbol packed left
W/778 fill
Set index C3 = 5
Zero ~ output line
Next XS3 symbol~rightmost digi ts of
3
TP
4
TP
5
LQ
FC21
FC
ES2
6
QT
FC12
A
7
10
11
12
13
14
TJ
FC12
0
ESI
ESI
CT3
0
ES15
ESII yes
ES
6
ESI
ES5 no
ES
Q
MJ
LQ
AT
IJ
MJ
CA
1838
Next XS3 symbol ~ rightmost digi ts
of ~
778 > symbol?
Exit on first 778 encountered
Symbol ~ rightmost digits output
All XS3 char. of symbol checked?
Tape Handler Codewords
0
IA
TC
5 0
001
05
LB
Read 1 blk. corrected probe tape
list buffer
Read [0000] blks. corrected probe
tape ~ input buffer
Rewind corrected probe tape
Move forward [0000] blks. corrected
probe tape
Read 1 blk. corrected probe tape
--+ fi Ie buffer
Read [0000] blks. corrected probe
tape--+ dim. list region
Move forward [0000] blks. obj.
prog. tape
Rewind obj. prog. tape
Read 1 blk. obj. prog. tape ~ Input buffer
Read [0000] blks. obj. prog. tape
~ input buffer
Read 9 blks. obj. prog. tape
~ input buffer
Read 7 blks. obj. prog. tape
~ list buffer
Read 5 blks. obj. prog. tape
~ list buffer
Read 1 blk. obj. prog. tape
~ list buffer
Write 4 blks. output buff. on
listing tape
Rewind listing tape
Write 1 blk. output buff. on
listing tape
Object prog. Uniservo 3 for 5
Servo layout
Object prog. Uniservo 6 for 7
Servo layout
Read [0000] blks. corrected probe
tape --+ list buffer
~
1
5[0
000]
05
m
2
3
1 0
3[0
000
000]
05
05
0
0
4
50
001
05
FB
5
5 [0
000]
05
DL
6
3[0
000]
[77]
0
7
10
10
5 0
000
001
[77J
[77]
0
11
5[0
000]
[77]
12
5 0
011
[77]
m
m
m
13
5 0
007
[77J
LB
14
5 0
005
[77]
LB
15
5 0
001
[77]
ill
16
7 4
204
[77]
OB
17
20
1 0
7 4
000
201
[77]
[77]
0
OB
21
7 7
777
03
77777
22
7 7
777
06
77777
23
5 [0
000]
05
LB
CA
TC24
1839
Tape Labels
0
1
2
3
4
5
6
1
10
11
12
13
IA
TL
14
65
31
30
65
61
01
01
26
34
50
26
74147
30324
34463
50210
73412
50342
67503
01675
51213
26512
34265
51506
TL14
CA
(XS3)
47474
73050
00106
15131
55146
65121
42651
03426
00152
73001
12730
56624
Z
Z
Z
Z
Z
Z
Word of Z's
S E G M E N
F I L E ~ 3
E
N
D ~ 0
F
S y M B 0 L
U N I C 0 D
~U N I C 0
1840
~~
C 0
I C
N I
U N
D E
0 D
C 0
C 0
N S
I C
~ P
E ~
D E
T A
Source program
labels
XS3 Codes
IA
XS
o
37
01010
10101
@
1
00
00
00
00000
00000
00000
00004
00014
00017
08 08 08 08 08 Ix
08 08 08 08 08 9
08 08 08 08 08 (x
01414
00000
OA OA OA OA 9
2
3
4
5
00
00000
43
00000
6
00
7
10
37
50
11
O(L
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
52
01
24
01
32
01
66
01
54
01
25
00001
65303
66010
01010
24323
01010
32300
01010
30010
01012
34506
65672
34526
70245
46306
o
02
50
27
27
26
26
01
25
01
30
CA
)~
41414
24130
o
06634
70101
74301
74302
04301
04302
57347
10101
72754
06501
XS3 open
parent
9
08 08 08
XS3 close
parent
08 08 08 9 9 9
N T L}. -
-
-
L}.~L}.~~~
i0101
00104
10152
10403
15224
40303
65150
73027
56526
63027
43424
50117
26515
67302
54674
54674
51543
51543
01016
51460
01242
65653
XS40
Os 08
Fast feed 1
symbol
@SEGME} Segment
o
o
!J. !J. !J. !J.!J.
PAGE~l
L}.L}.L}.L}.L}.P
A G EL}.l 0
~L}.~~PA
G EL}.l 00
~L}.~C 0 N
number
setup
Page
number
setups
TIN U E D
~ SUB S C
RIP TED
~
V A R I A
B L E S L}. (
[-
- - - -
C 0
N
U E
D R U
-]
N T I
DL}.~
: ~ ~)
D R U
COR E )
COR E )
L}.L}.~
B
0
E
S
~ L}.
1841
L
A
S
L}.
-
~D X~)
D R
E
S L}.
Subscripted
Variables
Section
Heading
Setups for
Preceeding
Heading
Subscripted
Variable
Column Headings
XS3 Codes
IA
XS40
01
02
01
02
01
67
52
24
01010
02020
02020
02020
50515
25652
66302
54342
o
o
50
27
30
30
66345
01010
65010
65020
06730
10101
10101
22651
55
56
57
60
61
62
63
64
65
66
67
65
01
27
02
01
02
01
24
73472
01010
27543
02020
01010
02020
26515
50660
55146
10124
06565
20202
10102
20202
06566
15251
50
27
66345
01010
06730
10101
70
71
51
51
46010
46020
10101
22651
OLfl8~8} Setups for
o L - - C 0 Const. Pool
72
73
74
75
76
77
01
52543
03124
50
66345
01010
30010
30020
XSlOO
~ ~ ~ ~ ~ ~l}
40
41
42
43
44
45
46
47
50
51
52
53
54
o
o
o
27
26
26
CA
o
o
~~~b.b.6)
~~
- - -- -~
~ NON - S
20202
10101
20202
20201
00265
65434
70170
42546
U B S
C R
Subscripted
Variable
Underscores
I
PTED~V
Non-Subscripted
Variables
[- -]
Section
HeadN TIN U E
ing
D8~~~~
ES~~~~} Setups for
Preceeding
ESC 0
Heading
A R I A B L
-
S Y M B 0
~ ~
A
~
-
-
-
-
-
-
-
-
L}
l:l A
D D RES S
~ ~ ~ ~
8 CON
Non-Subscripted Variable
} column heading
8 Non-Subscript- ed Variable
S T } Underscores
[~ ~ : ~ ~ ~1
o
N TIN
o 8 ~ 8
U E
/:). /:).
Constant Pool
section heading
Sect. Hdg.
o
06730
10101
10101
22651
N TIN U E
D8~888
Preface Section
Heading
CE8~8~} Setups for
Preface Section
C E - - C 0
Heading
1842
XS3 Codes (Cont.)
IA
o
XT
01
65305
1
50
26300
2
47
25305
300
4
02
02265
5
34
50673
6
01
66305
7
50
24663
10
01
17653
11
0
0
12
0
0
13
66
34506
14
34
51500
15
43
01010
16
43
02022
17
01
01010
20
50
27015
21
46
34656
22
32
01010
23
01
01475
24
66
01503
25
01
46346
26
50
32016
27
30
01515
30
54
34506
31
22
01275
32
51
66012
33
50
32300
34
65
34663
35
01
51310
36
52
30542
37
37
60606
CA
XT40
Ll
06630
15067
40101
SEN T E
NCE~NU
,
M B E R b. b.
[Sent. no. in std. fo~ Sentence
CON T
Section
I N U E D ~
Heading
o
15066
02701
44734
45150
02666
~TERMIl
N AT
10
[Section No.
Nl
~(SECT
o
o
[-
73027
10003
10101
65150
10130
13101
63450
10101
16750
07266
56634
62452
00152
63054
10150
63324
15251
45150
15224
20101
06060
TIN
J
-]
U E
Termination
Section
Headings
D
~~r~~~}
) - - CON
b.b.b.~~E
N D b. 0 F b.
LIS TIN
Setups for
Preceding
heading
G~b.b.b.b.
~b.MOUN
T b. N EXT
b. L I S T I
N G b. TAP
E ~ 0
N ~ P
R I N T E R
• ~D Ob.N
o T ~ C H A
N G Eb.P 0
SIT
ION
b.OF~PA
PER
~ b.
2222!2
1843
printer
Stop
Symbol
1
40
41
42
43
44
45
46
47
50
51
52
53
IA
XT40
01
54
01
50
01
54
66
0
0
66
01
01
CA
01010
51325
46346
32010
46342
73015
34503
0
0
34506
01010
02022
XT54
68/.)./.).6.
10152
42447
56634
10101
55424
45167
00101
0
0
73027
10101
65150
R 0
6.
G R A
L I S T
il
N G6.6.6.
6. L I B R A
R Y
T I
6.
N
R 0
E
[T
~
U
6. 6.
[Routine name.
-r -N -U -E
Heading for
Listing
]
-]
Li brary Routine Heading
D
6. 6.6. b. 6.} Setups for
Lib. Routine
6. - - CON
Heading
1844
F1exowriter Printout
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
IA
FP
00
01
52
22
01
50
52
47
00
01
01
01
01
24
66
50
0
FPl
01010
24656
01010
46346
32015
54513
22010
00
01
01
01
01
46
01
30
00
01
01
01
01
50
66
CA
FPll
01010
01010
01010
52545
47014
34503
01662
0
FP22
01010
01010
01010
26514
24663
26514
66302
FP32
01010
01010
01010
26675
66014
34503
FP40
7
10101
50170
10101
56634
13101
25424
10101
10
10101
10101
10101
13254
63465
20151
45230
0
7
10101
10101
10101
75234
45150
75246
72201
23
10101
10101
10101
45430
63465
20166
~b:.b:.b:.b:.b:.
P A S S ~ V
Codeword
• b:.b:.b:.b:.b:.
8- L I S T I
N G b:. 0 F b:.
P
R 0
M
.b:.b:.b:.b:.
G R A
Codeword
b:.b:.b:.b:.b:.b:.
b:.l:lb:.b:.b:.b:.
b:.b:.b:.b:.b:.b:.
b:. P R 0 G R
A M b:. L I S
T I N G b:. 0
N b:. TAP E
J
[
~b:.~b:.b:.b:.
Servo #
Codeword
b:.b:.b:.8b:.b:.
l:lb:.fll:lb:.b:.
b:. C 0 M P I
L A T I 0 N
~
E
M P L
E
T
D .b:.
C 0
Codeword
8888b:.b:.
b:.8b:.b:.b:.b:.
!:::tb:.Ab:.b:.8
b:. C
R R E
N T 8 L I S
T I N G b:. T
1845
U
F1exowriter Printouts (cont.)
40
41
42
43
44
45
46
47
50
51
52
53
54
55
56
IA
FP40
24
46
66
04
51
52
65
0
65
66
66
46
32
01
01
52300
46220
01503
10030
51660
30015
30547
0
66245
51012
34506
34656
22010
07220
12220
FP57
CA
A P E /J. F
13167
15267
07101
30131
16624
15001
05177
0
46601
65150
73001
63450
10101
10101
10101
L
L
.
~
T /J. N E
1 5 0 o
0 0 T 11
P E /J. 0
S E R V
U
p U
W /J.
11 F
T A
N 11
0 77
[
S
T A R T
T
0 ~ C 0 N
T
I
I
N U E /J.
S T I N
4
• 11 /J. /J. } Optional 11st.6./J.11
ing tape num-
L
d
G • /J.l1/J./J.
~
1846
7
bers for 5 or
7 servo layout
IA
Fe
0
0
0
0
1
0
0
0
.L
.L
2
3
4
5
6
7
0
0
0
0
0
1
1
0
0
24
0
10
0
0
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
40
41
42
43
44
45
46
47
50
51
52
0
0
0
0
0
0
0
0
0
0
7
06
0
0
0
77777
2
0
0
0
0
0
53
54
55
0
04
0
0
01
02
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
30
01
0
0
0
0
0
0
0
0
0
0
7
0
0
0
Zero
1 in ltv"
1 in "u"
1 in "un & "v"
1
0
1
10
4
24
15
2
3
77
7777
77777
67
6667
22
0
5
0
20 10
Mask 1st XS3 digit
Mask 1st & 2nd XS3 digits
Mask 1st, 2nd & 3rd XS3 digits
"u M mask
0
0
0
0
6
30
171
77777
0
0
14
36
4
0
3
77770
0
10
0
0
30200
01010
7700
07777
0
0
167
0
16
11
XS3 space
0
166
10000
0
0
10
167
777
170
0
0
# const. allowed in 1st blk.
Const. Pool on obj. prog. tape (u).
Minimwn # b1ks. preceding lIt
seg. lab. blk. on obj. prog. tape (y).
1
1847
56
57
60
61
62
63
0
65
66
0
0
0
0
0
0
0
0
0
23000
25000
26000
30000
50000
60000
1100
170
30000
0
0
0
0
0
0
0
67
0
0
70
70
0
0
100
71
0
1200
0
72
73
0
0
100
0
0
BL
74
75
76
77
100
101
03
0
0
77
0
10000
0
0
FC102
0
0
7
0
12
303
64
0
0
0
0
CA
0
Max. # b1ks. input buffer
(9 10 or 11a)
Limit for line count when new
section next (5610)
L~it for line count when ,same
section next (6410)
Max. # b1ks. + 1 (1010 or 12a) in
input buffer
Listing tape block l~it (120010
per Univac sys. convention)
1848
Relative Constants
IA
o
o
RC
IB
o
o
08
OB
3
4
o
o
IB2070
OB264
XS34
OB264
HC36
5
o
XS40
HV7
o
004
1
2
6
TP
o
CW4
7
10
o
o
o
XS55
BD
HC45
11
o
XS60
HV11
12
o
o
13
14
15
AT
16
IB170
IB1
CWl
o
CWl
o
o
NLIOOO
o
17
o
NL2000
o
20
o
NL3000
o
21
40
NL3100
o
22
23
24
o
o
DL167
FB170
FD
HC55
TP
NP15
25
o
FL
NP22
26
27
TP
o
SB
FD
30
o
o
31
TJ
32
33
34
o
o
35
TP
36
o
37
o
MJ
RF
o
RC2
o
DL
TB
RB
o
o
Add. stored subs. yare col. hdg.;
ent. add. sent. hdgs W/cont.
Add. stored subs. yare underscores;
ent. add. subs. v~. drum W/cont.
To preset @ ~
To preset ® ~
Add. stored non-subs. yare col.
hdg.;ent. add. term. hdgs W/cont.
Add. stored non-subs. yare underscores;ent. add. subs. yare (core)
hdgs.• W/cont.
Tnt-t. add. XS3 Sym. list
o
NL
o
Init. add. input buff.
Init. add. output buff.
Last add. input buffer + 1
Base add. statements in sent. no.
list
Base add. subs. yare EQ.in sent.
no. list
Base add.non-subs. yare EQ.in sent.
no. list
Base add. pseudo Op~ in sent. no.
list
Base add. lib. rtns. in sent. no.
list (Ind. bit in Ope code)
Add. 1st const. - 1 in input buffer
Q
Init. add. Ope file IV on drum~
Preset one shot jwnp page no. rtn.
Init. add. Ope file IV in core;
Preset one shot jwnp page no. rtn.
Init. add. statement buffer
Init. add. Ope file IV (drum)
buffer in "v"
Init add routine buffer
RB
ED14
ED14
HC5
HC27
RF
Init. add. routine file (drum) in
"v"
SB170
Limit value for statement buff.
{-l3St~
RB170
·add.
+ ·1)
Limit value for routine buff.
(last add. + 1
1849
40
TP
FLI70
CT
41
0
08740
08740
42
43
0
07
CA
LB
DS4
0
0
RC44
Limit value file list (last add.
+ 1 in "u")
Limit value output buff. (last
add. + 1)
Init. add. list buffer
Explanation of Counters, Indexes,Temps.,Etc. (CT)
CTO
[0
0
0]
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
0
0
0
0
0
0
0
0
0
0
0
0
0
[0]
0
0
[0]
[oj
[0]
[0]
[0]
[0]
[0]
0
0
0
0
[0
0
0[0
0
0
0
0
0
0
0
0
000] 00
[0]
RJ
lO]
[0]
0
0
[0]
23
0
Temp. 1 curro subs. var. CWo
running add. etc.
Index Cl
Index C2
Index C3
Index C4
Index C5
Output buff. add. (next avai 1. blktJ
Line count (next avail. line)
1st page no. word
2nd page no. word
1st segment no. word
2nd segment no. word
Count of blocks on listing tape
Temp. 2
Seg. no. (octal)
# blks. in Term.
# full blks. seg. + Pref.
# lines part. blk. and H.S.S. 3rdPref. exit and entry in "u" & 8th
"v"
Lines
# lines preface
seg.
lab.
blk.
0
0
0
0
0
0]
[0]
[0]
0
Pl
1850
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2004:08:07 15:01:04-07:00 Modify Date : 2009:10:01 07:54:25-07:00 Metadata Date : 2009:10:01 07:54:25-07:00 Producer : Adobe Acrobat 9.13 Paper Capture Plug-in Format : application/pdf Document ID : uuid:dff43485-55dc-479c-a1d4-f5049bf95811 Instance ID : uuid:5d3229c6-7141-4340-8b55-17e64693274d Page Layout : SinglePage Page Mode : UseOutlines Page Count : 664EXIF Metadata provided by EXIF.tools