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 PDF.
Page Count: 664

DownloadPX1790_unicod Cmp Tec V3_Apr61 PX1790 Unicod V3 Apr61
Open PDF In BrowserView 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                      : 664
EXIF Metadata provided by EXIF.tools

Navigation menu