PX1790_unicod Cmp Tec V1_Apr61 PX1790 Unicod V1 Apr61
PX1790_unicodCmpTecV1_Apr61 PX1790_unicodCmpTecV1_Apr61
User Manual: PX1790_unicodCmpTecV1_Apr61
Open the PDF directly: View PDF
.
Page Count: 577
| Download | |
| Open PDF In Browser | View PDF |
I~
UNIVAC
TECHNICAL
DOCU MENTATION
for
UNICODE
Automatic Programming System for
Univac Scientific 1103A and 1105
Volume I
April
I
1961
PX 1790
DIVISION
UNIVAC
OF SPERRY RAND CORPORATION
'ARK, ST, 'AUl 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. Trans lators .
. ..
.....
. 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.
GENERATION PHASE
3.
V.
Generators (cont.) . . . . . . . . . . . 1193
ALLOCATION PHASE
1.
2.
3.
Segmentor. . . . . . . . . .
Allocator . . . . . . . .
In i t ial ization Gene rator. .
1461
1551
1607
VI.
PROCESSING PHASE . . . .
1671
VII.
PROGRAM LISTING PHASE.
1747
VOLUME I
TABLE OF CONTENTS
Page
I.
II.
INTRODUCTION
.........................
3
GENERAL
1.
UNICODE SERVICE ROUTINES
A.
2.
Flex
(1)
(2)
(3)
to Excess-Three Routine
Flex to Excess-Three Flow Charts.
1105 Version . . . • . . . .
Changes for 1103A Version •
7
10
17
B.
Compilation Service Routines •••
18
C.
Object Program Service Routines
(1) Flex Code Print . . . • .
(2) Object Program Loaders.
33
35
LIBRARY ROUTINES
A.
UNICODE Librarian Symbolic Listing. . . • . . . . ••
B.
Permanent Library Routines
65
Write-Up. . . • • . • • • • • . . . . . • .
66
Permanent Library Catalog . • • • . . • • • .
Op File I for Permanent Library Routines • . • • . . 67
Region Definitions for Permanent Library Routines . 68
70
Flex Print Routine (50002) • • . • . . . . •
General Power Routine (50012) •••
72
75
Variable Exponent Routine (50022) •.
79
Natural Logarithm Routine (50031)
~
Exponential Routine (50041) . . • •
Square Root Routine (50051) . . . . • . .
85
88
Floating-Point Conversion & Print (50062) •.
"Inner" List Routine (50077)
92
Write-Up . . . . .
94
Flow Charts . . . .
98
Coding . . . . . . .
"Inner" Read Routine
. 102
Notes . . . • .
Flow Charts. .
. . 106
. 113
Coding . . . . . . . .
I-v
49
TABLE OF CONTENTS (cont.)
3.
VOLUME I
UNICODE SYSTEM TAPE PACKAGE
Introduction • • • • • • • • • •
Flow Charts for Five Routines
Regions for System Tape Package
System Tape Package (Parameters) • • • • • • • • • •
Produce Master Tape • • • • • •
Print Digit • • • • • • • • • • •
•• • •
Update System Tape or Reproduce System Tape
Dump System Tape on Servo 3
Compare System Tapes • • • • •
Regions for Read-Write.
Write Magnetic Tape
Read Tape N • • • • •
• • • •
Read Tape
• • • • . • • • •
Read One Block of Tape •
Print
·....
4.
UNICODE SAMPLE CODING
a.
b.
c.
5.
·..
Matrix Inversion by UNICODE • • • • • • •
Floating-Point to Fixed-Point Sub-Program
Linear Programming Application • • • • ••
153
155
156
UNICODE CARD INPUT
Notes
Flow Charts
Coding • • •
6.
123
128
131
132
133
133
135
136
137
139
140
145
147
148
149
163
169
172
STATISTICAL MISCELLANY
a.
b.
c.
Call Words of UNICODE
(1) Regular Call Words
(2 ) Supplementary Call Words and Associated Prelude
Entries •
(3) Use of Call Words to Reference Sub-program
Input List.
•
(4 ) Use of Call Words to Reference Argument List for
Functions •
Fixed Locations During Compilation •
Uniservo Usage.
(1) Five Uniservo Layout
(2 ) Seven Uniservo Layout.
············..
.·············
··· ···········..
· · · · · · · · · ·· · ·
.····
····
·
··
···· ·
I-vi
185
186
189
192
194
195
196
197
TABLE OF CONTENTS (cont.)
d.
e.
III.
VOLUME I
Corrections to UNICODE Manual (U-145l. Rev. 3) • • ••
Use of Second and Third Memory Cores in Object Program
198
199
TRANSLATION AND CORRECTION
1.
UNICODE SENTINEL BLOCKS
Write-Up • • • • • • • • • • • • • • •
Flow Chart • • • • • • • • • • • • • •
UNICODE System Tape Sentinel Blocks • • • •
Check LIB Tape (1103A and 1105) • • • • • • • • • • • •
Check Generation Tape Sentinel (1103A and 1105)
Check "UNICODE Program." Position #5 •
Read n Block s to Storage • • • • • • • • • • • •
2.
TAPE MERGE
.....
Write-Up •••
Flow Chart • • • •
Coding •••
3.
203
204
205
208
209
210
213
217
220
252
TRANSLATION PHASE
a.
Translation Subroutines
(1) Abbreviations Used
291
(2)
General Description •
292
(3)
Core During Translation •
293
(4)
Drum During Translation •
294
(5)
Error Texts of Translation Subroutines
295
(6)
List Formats
(a)
Combination List (CB)
1) Subscripted Variable
•
2) Pseudo Operation
3) Function •
4) Floating-Point or Fixed-Point Variable
5) Library Routine
· ··.
. . . ·· ·· ·· ·· ·· · ·· ·· ·· ··
·
······..····
1- vii
296
297
297
298
298
VOLUME I
TABLE OF CONTENTS (cont.)
(b)
(c)
(d)
(e)
Pseudo Operation Dummy List
1) Subscripted Variable. • • • • • • • ••
2) Function. • • • • • • • . • . • • • ••
3) Floating-Point or Fixed-Point Variable.
Translation List (WL). • . • • • . • • •
Referenced Sentence Numbers (12) • • • • ••
VARY (Variable) List (UL)
• • ••
(~...
"J\RV 1;'; 1
(g)
(h)
Rewind List of Referenced Tape Numbers (WR).
List of Second Sentence of Pseudo Operations
(i)
(j)
Constant Pool for Object Program (CL)
Key Words of UNICODE. • . • • • •
\.L ,/
v ru,l. ....
£'lo
.I..L.Lv
(TTl;''''
'VI.
~
•
•
•
•
•
•
•
•
•
•
(IN) • • • • • • • • • • • •
(7)
298
299
299
299
300
300
~()()
uvv
301
301
301
302
Descriptions of Translation Subroutines
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j )
(k)
(1)
(m)
(n)
(0)
(p)
(q)
(r)
(s)
(t)
(u)
(v)
(w)
(x)
(y)
(z)
Translation Control • . • • • • •
Get Next Sentence (GS)
Get Next Character (GN)
Get Next Symbol (SY) . • • • •
Get Rest of Lower Symbol (RL) ••
Get Rest of Superscript Symbol (RU)
Build Symbol (BS) • • • • • • •
Fill Symbol (FS) • • • • • • •
Delete Spaces (DS) • • • • • •
• •
Send File Back to Combination List (TO)
Add Fi Ie to CB Li st (TC) • • • • •
Get File from CB List (TA) • • • •
Get Call Word from Pseudo Operation Dummy
List (TS) • • • • • • . • • • • • • • • •
Send Call Word to Translation List (EW)
Increase 66XXX, 65XXX, 64XXX Call Word
Counter (TK) • • . • • • • . . • • • .
Increase Sentence Call Word Counter for 26XXX,
27XXX, or 22XXX Type Call Words (XJ) •
Print Error Heading (WA) . • • . •
Error Routine (U2) . . . • . • . • .
Check Floating-Point Constant (RB) • • • ••
Check Fixed-Point Constant (RD). • • • • ••
Print Text (UP) • • • • • • • • •
Put Call Word in List of Referenced Sentence
Numbers • • • • • • • • ••
•••••
Translation Set-Up Subroutines (OT and UB).
Write Translation List on Tape (WT or SS)..
Put Referenced Sentence Number in List 12 (IX)
Excess-Three Decimal to Octal Routine (RS).
I-viii
302
303
303
304
305
305
306
306
306
306
306
306
306
307
307
307
307
307
308
308
308
309
309
310
310
310
TABLE OF CONTENTS
(con~)
(aa)
(ab)
(ac)
(ad)
VOLUME I
Excess-Three Decimal to Floating Point (GG).
Assign Constant Call Word (GW) •
Tape Handlers (TH or GT) ••
Line Number Processor (LN) •
(8)
Region Assignments of Translation Subroutines
(9)
Flow Charts of Translation Subroutines
(ac)
Set-Up Translation Phase •
Translation Control (CT) •
Get Next Sentence (GS) •
• • • • •
Get Next Character (GN) • • • •
Get Next Symbol (SY) • • • • • • • • • •
Get Rest of Lower Symbol (RL) • • • .
Get Rest of Superscript Symbol (RU) •••
Build Symbol (BS) • • . . . • • .
Fill Symbol (FS) • • • • • • •
Delete Spaces (OS) • . • • ••
Send File Back to Combination List.
Add File to CB List (TE) • . . . •
Get File from CB List (TA) • • . . •
Get Call Word from Pseudo Ope Dummy List ••
Send Call Word to Translation List •••
Increase 66XXX, 65XXX, 64XXX Call Word
Counter (TK) • • • • • • • • • • • • •
Increase 26XXX, 27XXX, 22XXX Sentence CW
Counter (XJ) • • • • • • •
• • • • •
Print Error Heading (WA) . .
Error Routine (U2) • • • • • • • • •
Check Floating-Point Constant (RB) •
Check Fixed-Point Constant (RD) ••
Check Variable Type Symbol (RH)
Print Text (UP) •• • • • • • • • • • • • •
Put Call Word in Sentence Number Ref. List (RS)
Rewind All Tapes (RW) • • • • •
• ••.
Tape Handlers (TH) 1105 and 1103A • • • • •
Routine to Set TN Indicator for 5 or 7 (MJI)
Uniservos (OT) • • • • • • • . • • • • • •
Setup Translation Output Tape and Routine WT
or SS (UB) • • • • • • • • • • . • • •
Put Referenced Sentence Number into List 12
(ad)
(ae)
Excess-Three Decimal to Octal . • • •
Excess-Three Decimal to Floating Point (GG).
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j )
(k)
(1)
(m)
(n)
(0)
(p)
(q)
(r)
(s)
(t)
(u)
(v)
(w)
(x)
(y)
(z)
(aa)
(ab)
(IX) . • • • . . . • . . • • . . . •
I-ix
311
312
313
314
318
321
322
324
325
326
327
327
328
328
328
329
329
330
330
331
332
333
334
335
336
336
337
338
339
339
340
341
342
344
345
346
TABLE OF CONTENTS (cont.)
(af)
(ag)
(ah)
(10)
VOLUME I
······
····
····
Assign Constant Call Word (GW) •
Close VARY File (VE) •
Line Number Processor
347
348
349
Coding of Translation Subroutines
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
(k)
(1)
(m)
(n)
(0 )
(p)
(q)
(r)
(s)
(t)
(u)
(v)
(w)
(x)
(y)
(z)
(aa)
(ab)
(ac)
(ad)
(ae)
(af)
(ag)
(ah)
(ai)
(aj)
(ak)
(al)
· · · ··
····
···
········
Setup Translation Phase
Translation Control
Switch to Translator List
Get Next Sentence
Get Next Character •
Get Next Symbol
Bui ld Symbol •
Fill Symbol
Delete Spaces
Constants
Send File Back to CB List
Add File to CB List
Get File from CB List
Get CW from Dummy Pseudo Operation List
Call Word to Translation List
Increase 66, 65, 64 Call Word Counter.
Increase Sentence CW Counter (Output-A or VB4)
26, 27, 22 •
Print Error Heading
Error Routine
Check Floating Point Constant
Check Fixed Point Constant
Check Variable Type Symbol •
Constants
Print Text •
Sentence CW to Reference List IZ •
Rewind All Tapes .
1105 Tape Handler Regions
1105 Tape Handler
Regions for 1103A Tape Handler •
1103A Tape Handler •
Error Prints of Translation Subroutines
Set TN for 5 or 7 Uniservos
Setup Translation Output Tape
Write Translation List on Tape
Put Referenced Sentence Number in List IZ
Excess-Three Decimal to Octal
Excess-Three Decimal to Floating Point
Assign Constant Call Word.
········
·····
····
····
·········
·
.·
···
· · · ·· ·· ·· ·· ·· ·· · · ·
············
····
.······ ··
··········
··········
········
··· ·· ····
······
· ····
·····
·
····
·······
I-x
350
355
358
360
362
364
367
368
368
369
371
371
372
374
376
376
377
378
379
380
381
382
382
383
385
385
386
387
396
397
406
414
414
415
416
417
418
422
VOLUME I
TABLE OF CONTENTS (cont.)
(am)
(an)
(ao)
b.
Close VARY File Item and Variable List File
Item • • • • • • • • • • •
Flex Codes for Print Text
Line Number Processor ••
Translators
•
423
426
428
434
DIMENSION String-Out No. 1
Write-Up
.•••
Flow Charts • • • • • • •
Coding • . • • . • • • •
DIMENSION No. 2 Translator
Write-Up ••
Flow Chart s •
Coding
• • • •
COMPUTE String-out
Write-Up • • • • • • •
Flow Chart s •
• • • • •
Coding
• • • •
READ String-Out
Flow Chart • • • •
Coding • • • • • • • •
435
437
443
····
450
451
454
.····
458
460
467
····
·· · · ·
···
502
503
TYPE String-Out
Write-Up •
Flow Charts
Coding
507
509
514
LIST String-Out
Note s . . • . • • . .
Flow Charts • • . . • •
538
542
I-xi
I. INTRODUCTION
I.
INTRODUCTION
This collection of notes, flow charts and annotated coding has been
gathered together to form a documentation of UNICODE, the automatic programming system for Univac Scientific computers 1103A and 1105.
The material
supplements that contained in the UNICODE Manual (U-145l, Rev. 3).
It is
not needed to operate the UNICODE System but it would be useful to anyone
desiring to modify the System.
Following the flow charts and annotated coding of UNICODE Service Routines which are given in the General section. the coding of the Librarian
is given in Use Compiler form. The use of the Librarian to build up an
Installation Library is explained in Chapter 11 of the UNICODE Manual. More
complete coverage is given here to the Permanent Library Routines described
in the same chapter.
The notes on the System Tape Package explain the use of this bioctal
tape in updating or changing the UNICODE Master Tape. Flow charts and annotated coding of Routines 1-5 are also presented.
UNICODE coding samples given in Section II are a matrix inversion program.
a system of converting floating-point numbers to fixed-point, and a linear
programming application.
Use of UNICODE with card input is also discussed in the General section.
Flow charts and coding are given for a routine which will convert a card-totape converted tape to a UNICODE input tape.
The latter routine may readily
be added to the UNICODE System.
A page of corrections to the UNICODE Manual is included in a miscellaneous
statistical section.
How the compiler can be altered to produce two- and
three-core Object Programs is also explained at the end of the General section.
The remainder of this manual contains notes and flow charts, when available, and the annotated coding of the routines used for compilation from
the beginning processes of correction and translation to the final listing,
by sentence, of the Object Program produced.
3
D. GENERAL
1. UNICODE SERVICE ROUTINES
A.
Flex to Excess-Three Routine
Flow Charts for Flex to Excess-Three Routine
Bootstrap
Program to
Core
Next Frame
to A
Stop
Reader
Initialize Test Parameters,
Set Counters,
Set Addresses,
Etc.
Tape Feed
(00) or
Delete (77)
Load ~ Symbols
into Digit
Hopper and
Block Image
Store Frame in
Next Available
Storage
Location
Read Extra
Frame to
Stora e
Tape Feed
(00) or
(77) ?
Adjust
Storage
Address
No
Stop (43)?
Start Reader
(Free Run)
Store in
FIRST Location
Next Frame
to A from
Stora e
1
Flow Charts for Flex to Excess-Three Routine (Cont.)
Print "Alarm"
and Line No.
Select Upper or Lower
Case List for Subsequent Character
Translations
co
Translate
Character
t E
Store Word
into Next
Word of
Block Image
Store in
Digit
Ho er
Load Digit
Hopper with
al16 symbols
Assemble the Six
Excess-3 Digits in
the Hopper into one
Word
Write One
Block onto
Tape
Load Block
Image with
all D. symbols
s:XV
Flow Charts for Flex to Excess-Three Routine (Cont.)
Advance
Line
Counter
Wri te One
Block
Ta e
Unload Digit Hopper
into Partially Filled
Block Image
Load Block
Image with
a 11 ~ S ymb 0 1s
!\ssemble Digit
and load into
lock Image
Is MJI
On?
Adjust Block Image
Address to First
Word of Next Line
Rewind the
Tape
Is the Block
Image Empty
?
Restore
Parameters
Wri te a
Block onto
Ta e
Flex to Excess-Three Routine
Regions
RE
RE
RE
RE
RE
RE
RE
HE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
BS76300
FC76303
INI
RD42
CD56
ERl02
CS132
WD141
WB156
LC165
UC172
CR177
EX206
MS223
FA255
EA301
FB325
EB400
WS453
S0464
B1472
SF662
10
Flex to Excess-Three Routine (1105 Version)
0
1
2
IN
RO
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
0
1
2
3
4
5
6
7
IA
TP
RP
TP
CA
IA
LT
TP
TP
SP
ZJ
TJ
PR
SP
SA
TP
MS
MJ
MJ
SP
TP
QS
QS
LQ
SP
TJ
TJ
MJ
QS
QS
TP
SP
QS
SP
QS
RP
TP
RP
TP
EF
ER
RJ
EJ
EJ
TP
EJ
RA
BS
FC14
30454
FC
BS3
FC
0
A
Q
WS3
INS
EA6.
0
WS2
WS3
WS4
0
0
0
A
MS5
A
A
MS6
WS4
MS7
Q
0
A
A
MS6
WS4
A
WS4
A
10006
EA23
10170
MS10
0
0
R02
EA10
MS13
A
EA
RD5
~NIN }
WS2
WS3
WS4
0
IN6
IN15
FB32
44
0
Q
IN13
IN
IN
14
Q
MS3
MS4
Q3
30
IN6
IN26
IN6
MS3
MS4
Q
33
MS2
32
WB
1N37
SO
RO
BI
MS
A
R01
R01
R01
SF
ROll
EA23
}
Bootstrap routine to core
Store A
Store Q
(AR)~A
If = 0--.a1arm
If not too 1arge---.IN15
"ptt
}
Restore A & Q
}
Stop
Recycle
Not used
Position Uniservo No. in A
Mask--+Q
Uniservo No. ---+ ef words for writing
and rewinding
TCU mask--+Q
TCU No. ~A
If i11ega1~IN6
I f OK ----+ IN26
j
}
}
TCU No.~ef word for writing, and rewinding
Buffer No. mask~Q
Buffer No.---+A
Buffer No. ef word to "write buffer"
Buffer No.---.A to mod MJ4 command
Modify MJ4 command
Load the digit hopper with
all (00 l)'s
Load the block image with
all l1 t S
Start reader
Frame~A
}
Discard 1st frame
Ignores (00 & 77)
Store frame in image
If stop, ----. ROll
Advance storage address of frame
11
10
11
12
13
CD
CD12
NiSll
CD3
7777
EAI0
MS13
CD12
EJ
EA
10
11
12
TP
RA
MJ
SP
A
RDS
0
EX
SF
EA23
RD
30000
o
13
EJ
EAll
LC
14
IS
16
17
20
21
22
23
EJ
MJ
RJ
EJ
EJ
RP
EJ
EJ
PR
PR
SP
PR
5S
ZJ
TP
TP
TV
TP
DV
TP
RS
IJ
TP
TV
SP
AT
EB23
VC
0
ER
COl
CR
WD
CD23 }
CSI
EX
EA11
EB2S
o
1
2
3
4
5
6
7
ER
o
1
2
3
4
S
6
7
10
11
12
13
14
IS
16
17
20
21
22
23
24
2S
26
27
CS
o
1
2
3
o
RA
IJ
MS
MJ
MJ
TP
SP
ST
AT
M514
0
If not next to last, recycle
Stop reader
Last frame ~7777
Start of image -+RDS
Starting address---.CD12
Advance by One
Test &-. C012
Last frame ~A
TJ
EF
ER
TV
TU
RA
TJ
SP
EJ
EJ
0
CD7
M520
CDlS
EB2S
EB21
40000
30000
EA
0
0
MS17
RDI
MSI
7777
ROS
C012
o
RD
RD
}
ER3
WS
EBS
MS31
~CSI
If a
"lc"
"cr"
stop,~
EX; if i 11egal.,.---+ ER
1:6 }
Q
W5S
ER13
Q
A
EB4Z
Q
A
30000
EA23
ER13
ERII
WSS
EBS
WSS
MS31
ER20
30000 o
ER22
MS12
0
Stop
Store in 1st location
Advance address
Return for another block
Frame--+ A
If shift down~LC
If shift up ----+ UC
To ER if not a shift on 1st frame
Clear the v address of CD14
If carriage return--+ CR
If tab ---.WD
If a digit, character, or symbol,
"Error spIt
0
A
Ignores
o
MSII
ER20
WSS
ER26
0
30000 EX6
COl
0
30000 SO
17
Q
30000 A
CS4
CS
Last 3 decimal digits of line
No.---.storage Cline No. = 1 + No.
of cr executed so far)
Print last three decimal digits
of line No.
ER20
Stop
If MJ3 is on---+exit
If not, ignore the error
Dummy
j, n-r-+CAR)u
Subtract j,n, leaving -r
Add to dummy instr. & store
12
WD
400
o
S
6
RA CS
IJ WSI
EA23
CDI
o
SP
RP
SA
SA
TP
RP
TP
TV
TP
RA
RJ
TJ
TV
SD
20004
SDI
SDS
A
10006
EA23
WD6
FB22
WD4
WD12
MSlS
WB6
i
MJ
EF
RP
EW
EF
RP
TP
TU
TU
TU
TU
MJ
TU
TU
TU
TU
MJ
RA
RJ
TP
AT
TJ
TP
MJ
SP
EJ
RJ
SP
EJ
RJ
MJ
MJ
EF
40000
0
10170
10000
0
10170
MSIO
MS21
MS22
MS23
MS24
0
MS2S
MS26
MS27
MS30
0
WS
WD12
MS16
FB3S
WD4
A
0
WSI
FB22
WD12
WD4
MS16
WBS
10000
0
0
WB
1
2
3
4
S
6
7
10
11
12
13
14
WB
o
1
2
3
4
S
6
LC
o
1
2
3
4
UC
o
1
2
3
4
CR
o
1
2
3
4
S
6
EX
o
1
2
3
4
5
6
7
10
Execute the storage of excess-three
symbol
Advance storage address
Recycle until digit hopper is full;
when full~WD
Form word in AR
D3
}
BI
WD7 }
SD
CS
WSI
EA23
WD13
CDI
WD4
MS2
WB4}
BI
MS3
CDl·}
BI
Store in block image
6-+ digi t hopper
Start at top of digit hopper (in CS)
Reset index counter
Advance block image add
On shut
If not at end of block, recycle
Restore v of WD4 to start a new block
WRITING A BLOCK
Test buffer activity
ef for ··wri te buffer"
Load buffer from image
ef for 1twri te one block"
Load image with all /:1·s and exit to CDI
CD21}
CD22
CS
CS2
CD16
Arrange to take lower case lists
(FB and EB)
CD21}
CD22
CS
CS2
CD16
EA23
WD
Arrange to select upper case lists
(FA and EA)
A
~R3
}
WD4
WD13
o
EX3
WD
o
EX6
WB
EXIO}
EXll
MS4
Advance counter
Store one word and advance storage
Initial word~A
TP A BI
Add No. of words in a line until
word 4 is no longer>
Store in WD4
Check for end of block
Index for hopper
If empty -+EX3
If not, dump into block image
Command to store next word into BI
If block image is empty~EX6
If not, dump the block
If MJl is on, rewind without
interlock
13
MS
FA
EA
11
12
13
14
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
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
0
1
TP
SP
SA
MS
10
10
0
0
0
0
0
1
1
0
PR
0
TP
TP
TP
20
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
WS4
WS2
WS3
0
2
1
0
646
200
1
30000
0
1010
1
0
0
A
A
A
12120
BI167
20053
FB
EB53
MS21
20024
FA
EA24
MS25
WS6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
~4}
BS
0
0
400
0
0
70000
0
0
10101
0
FA1
77
7777
BI170
BI
31204
0
0
0
0
0
0
0
0
0
WS10
4
37
52
74
70
64
62
66
72
60
33
56
44
22
54
27
13
11
46
42
43
17
}
}
Restore Q and A
Stop on entry
(EF) Start reader
(EF) Stop reader
(EF) Write buffer
(EF) Write one block
(EF) Rewind w/o interlock
Uniservo No. mask
TCU and Buffer mask
Min TeU No. (for tj)
All II
u advance
Print 0 (start of 10 dec. digits)
Ignore
For tj
For tj
For the CR routine & the EX routine
"error t1 ••
sf (-1) = BI 167
For I£ routine
For UC routine
For ER routine
UPPER CASE LIST
space
0
1
2
3
4
5
6
7
8
9
D ( I)
/
X (*)
G ( »
L (< )
(
)
)
(
14
FB
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
16
56
64
15
62
0
57
36
75
55
35
41
20
40
61
60
01
04
37
52
74
70
64
62
66
72
60
33
30
23
16
22
20
26
13
05
14
32
36
11
07
06
03
15
35
12
24
01
34
17
31
<
>
*
/
/
9
8
7
6
5
4
3
2
1
0
Superscripts
~
II
0
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
g
h
i
j
k
1
m
n
0
P
q
r
s
t
u
v
w
15
Lower case list
Regular
EB
WS
42
43
44
45
46
47
50
51
52
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
0
1
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
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
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
FC454
27
25
21
56
44
54
46
42
50
42
22
x
Y
z
(lc)
=
+
,
21
,
63
76
02
74
73
+
=
z
y
72
x
71
70
67
66
w
65
54
53
52
51
50
47
46
45
44
34
33
32
31
30
27
26
25
24
14
13
12
11
10
07
06
05
04
03
01
1
5
( lc)
(abs mag)
v
u
t
s
r
q
P
0
n
m
1
k
j
i
h
g
f
e
d
c
b
a
9
8
7
6
5
4
3
2
1
0
A
Line counter
IJ counter for symbols/wd
16
Changes in Flex to Excess-Three Routine
To Produce the 1103A Version
IN33
WB
0
1
2
3
4
5
6
IA
MJ
CA
FC33
0
FC34
IN35
Bypasses setting of MJ4
IA
EF
RP
EW
0
0
RP
TP
CA
FC155
0
10170
10000
0
0
10170
MSIO
FC164
MS3
WB5
BI
0
0
COl
BI
Write one block
1708 extern al writes
}
}
}
Unused area
Load image with all Il 's
17
B.
Compilation Service Routines
This group of routines is used to start compilation and to act as a gobetween for the different phases of Unicode. To begin a new compilation, set
PAK = 77000 and start. In order to continue compilation from allocation on,
set PAK = 77004 and start.
The various phases of Unicode exit to 77010 to read in the next phase
and continue compilation.
Among the routines is a read routine and a print routine. The read
routine reads one block of tape number 1. The parameter is sent to BB2 and an
RJ BB BBI is executed. The parameter has the form:
Op
o
u
N
v
(address)
where N (~1708 ) is the number of words to store and the address is the location of the first word. Words are stored in ascending order. This routine
will reread a block six times in case of parity or sprocket errors and give
an error print-out if all six attempts to read fail.
The print routine prints stored flex codes according to the parameter in
PC2. The parameter has the form:
Op
o
u
(address)
v
N
where N is the number of words of codes to print and the address is the location of the first word. Successive words are picked up in ascending order.
With a start at either 77000 or 77004 the first block of tape 1 is read
and the sentinel (in words 3 to 6) is checked. The first six words on the
system tape are as follows:
read into
7230
7231
7232
7233
7234
7235
Op
MJ
MJ
67
30
30
30
u
0
0
50342
77657
47776
77777
v
7236
7243
65127
36566
62452
77777
18
for 77000 start
for 77004 start
U N I C 0 D
E 77 S y S T
E M 77 T A P
E 77 77 77 77 77
If words 3 to 6 are not as above, tape 1 is rewound and the following print-out
occurs on the typewriter:
MOUNT UNICODE SYSTEM TAPE ON
SERVO 1. ST ART.
and the machine stops with PAK
= 77000.
If the sentinel is correct the service routine jumps to
7230 in case of a 77000 start.
7231 in case of a 77004 start.
A jump to 77010 merely reads one block of Uniservo 1 into 7230-7417 and
jumps to 7230.
In the sentinel checking region the read and the print routines are bootstrapped from drum to core before operating. The read and print routines are
used by the coding in the first two blocks of the system tape and the two
blocks of the Set-up Translation phase.
The tape handler (TH) and the print
text (UP) routines are not in the core at these times.
19
Compilation Service Routine (ZA)
77000 or
77004
77004
Subs to
Core
Restart
Rewind
#1
Subs to
Core
Read Subroutine (BB)
Set Up
Address
Set Up
# Words
Read Block up to
Six Times if
~----~
Parity Error
6 Pari ty
Errors?
Yes
Restart
Print Subroutine (PC)
Set Up
Address
Set Index
Print
Character
res
No
Regional Assignments for Compilation Service Routine
(Both 1103A and 1105)
Drum
Core
ZA77000
CA77014
ZB77054 ---------------~~
B077102
~
P077173
~
YC7070
BB7116
PC7207
ZZ7230
Unicode Compilation Service Routines (1105)
1st entrance
0
1
2
3
Entrance after
stop
4
5
6
7
Merge &
others
10
11
12
13
IA
TP
RJ
RJ
MJ
ZA
ZA3
ZA12
YC
0
0
ZA12
YCI
ZZ
Set up zero
Subs & 1st dri ver --+core
--.lst dri ver
~lst entrance of buffer
TP
RJ
RJ
MJ
ZA3
ZA12
YC
0
0
ZA12
YCI
ZZI
Set up zero
Subs & 1st driver--.core
---+lst driver
~2nd entrance of buffer
RJ
MJ
RP
TP
CA
ZA12
0
30140
ZB
Subs~eore
ZA12
2nd driver--+ core~2nd driver
YC23
(30000)}0 .
YC
rIvers & subs---+core
ZA14
22
Constants (1105)
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 CA
0
170
67 50342
30 77657
30 47776
30 77777
0
0
0
0
1
0
CA15
0
CA27
0
77777
0
2
200
200
1
47 12203
20 12120
46 15301
25 04031
15 12031
01 42574
04 24013
04 26031
20 12203
57 42040
47 07033
04 34061
22 20042
01 20070
15 20040
24 20121
57 52420
24 01301
42 04040
CA CA40
ZZ
65127
36566
62452
77777
77777
1
0
12 }
11
0
10000
10000
02204
31204
21401
20424
63620
24704
01201
20412
02224
40404
40601
41603
42524
40130
30604
70304
40447
20157
40404
I C
77 S y
M 77 T
77 77 77
V mask
V
E
E
E
N
0
S
A
77
0
T
P
77
Print parameter
u mask
Rewind #1 TCU2
Rewi nd #1 TC VI
R E A o
E R R 0 R
(
P A R I
Y II 0 R II
P R 0 C K
T ) ~
II S T A R
II F 0 R II
E R E A 0
A II II
~
M
0 U N
t
II U N I C
0 E II S Y
T E M II T
P E II 0 N
S E R V 0
II II
~ 1
S T A R T
II II II II
t
. t
.
.
.
23
II
II
T
S
E
II
T
R
S
II
T
0
S
A
II
II
t
t
II
1st & 2nd Drivers (1105)
YC
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
IA
MJ
TP
RJ
RP
CC
SP
RP
SA
ZJ
MJ
EF
MJ
EF
TP
RJ
TV
RS
MS
0
TP
RJ
MJ
CA
ZB
0
CA
BB
30004
11)'2
ZZ2
20003
ZZ3
YCII
20000
0
0
0
CAll
PC
YC
YC21
0
0
CA
BB
0
ZB26
(30000)
BB2 }
BBI
Exit
Read 1st blk.
YC5 }
CAl
~CIO
Check Sentinel
YC
YC14
CA14
YC15
CA13
PC2 }
PCl
YC21 }
YC22
(30000)
O.K.---+exit; no~
TC U2 ----. YC 14: reUI.
Rewind #1 TCU1
3
BB2
BBl
ZZ
}
Rewind #1 TCU2
MOUNT UNICODE ON TAPE #1
Set address
Stop while tape changed
Constant
2nd driver
----. blk.
24
Read One Block of Tape #1 (1105)
Parameter Format
Op
00
BB
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
41
50
51
52
IA
MJ
MJ
0
TP
MJ
TP
RP
QS
TP
RP
QS
EF
EF
TV
TP
QS
QT
TP
ST
AT
RJ
ER
ZJ
EF
RJ
ER
ZJ
EF
RJ
ER
ZJ
EF
TP
RJ
MS
EF
MJ
2
2
2
2
2
0
BO
0
0
(30000)
B856
20000
B860
10005
8867
8B57
10005
BB70
0
0
BB2
BB53
BB2
BB2
BB54
Q
BB55
BB65
0
BB27
0
BB65
0
BB3-3
0
BB65
0
BB37
0
CAI0
PC
0
0
0
6<12
14
1
1
1
20000
(30000)
BB3
(30000)
Q
8810
8852
8813 }
8B45
B852
B813 }
BB45
BB51
BB52
8B64
Q
BB63
Q
A
A
BB65
BB62
A
BB43
BB50
BB61
A
BB43
BB47
BB61
A
BB43
8B46
PC2 }
PCl
BB24
BB51
BB
10000
10001
70000
60000
50000
04000
u
(No. words S 1708 ).
Exit
Start
Par. = 0 n address
Mask-+Q
TCDI +; TCU2--.B810
Set bypass #1
Set TCDI
Set bypass #2
Set TCU2
Set normal bias
Bypass #1 or #2
Set address
Mask--+Q
n of repeat
n~Q
1708-+Au
1708 - n-+Au
1708 - n-+RP inst.
Read block
IOA-+A
Parity lo; no~
Set high
Reread
IOA---+A
Parity +
Set low
Reread
IOA-+A
Parity +; no--+
Move back one b1k.
Print PARITY ERROR
Stop for re read
Set normal
Exit
Read one block & stop
Move bwd one blk.
Low gain
High gain
Normal gain
Set bypass
25
v
address
53
54
55
56
57
60
61
62
63
64
65
66
67
70
0
RP
7
0
07777
170
0
0
20000
0
0
(30000)
0
04000
0
10000
04000
0
EF
EF
RP
ER
0
ER
1
2
0
0
1(0000)
10000
0
10000
0
0
CA BD71
8846
B845
BB65 }
(30000)
0
A
Mask
12010
Set up RP
Mask
Bypass #2
Bypass #i
Move bwd. one block
Read one b1k & stop
Read to core
RP 0 eXit} throw
away
0
0
26
read sub.
Print (1105)
PC
0
1
2
3
4
5
6
1
10
11
12
13
14
15
16
11
20
IA
MJ
MJ
0
TP
QT
ST
PD
0
0
(30000)
PC2
CAS
CA6
TV PC2
SP ( 300(0)
PR o
S5 A
ZJ PCI0
RA PC1
IJ PC20
MJ 0
RP 4
PR 0
0 0
CA PD21
(30000)
PC16
0
Q
A45 }
PC20
PC1
52
A
6
PC13
CA1
PC1
PC
PC3
PC4
0
Exit
Start
Par. = 0 address n
Set index
Set address
}
Print one word
Set for next word
Finished
no ~ PC1
Exit
Four carriage returns
Index
+;
}
21
Unicode Compilation Service Routines (1103A)
1st
entrance 0
1
2
3
Entrance
after
stop
4
5
6
7
Merge
and
others
10
11
12
13
IA
ZA
TP
ZA3
ZA12
YC
0
0
ZA12
YC1
ZZ
Set up zero
Subs and 1st dri ver --!It> core
~ 1st driver
~ 1st entrance of buffer
0
ZA12
YC1
MJ
ZA3
ZA12
YC
0
Set up zero
Subs and 1st dri ver -+ core
---+ 1st dri ver
---+2nd entrance of buffer
RJ
MJ
RP
ZA12
0
30140
TP
ZB
ZA12
YC20
(30000)}
YC
CA
ZA14
RJ
RJ
MJ
TP
RJ
RJ
ZZI
Subs -+core
2nd driver --+core ---+ 2nd driver
Dri ver & subs --+ core
28
Constants (1103A)
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
0
67
30
30
30
0
0
0
0
0
0
47
20
46
25
04
04
20
57
47
04
22
01
15
24
57
24
42
2
CA
CA
170
50342
77657
47776
77777
0
0
1
CA13
CA23
77777
12203
12120
15301
42574
24013
26031
12203
42040
07033
34061
20042
20070
20040
20121
52420
01301
04040
200
CA35
ZZ
65127
36566
62452
77777
77777
1
0
10 }
11
0
02204
31204
21401
24704
01201
20412
02224
40404
40601
41603
42524
40130
30604
70304
40447
20157
40404
10000
ZZ probe =
UN I C
E 77 S y
E M 77 T
E 77 77 77
V mask
7230
0 D
S T
A P
77 77
Pr.int parameters
u mask
l' R E A D A
E R R 0 R A
(
P A R I T
y
)
t
.
t
A
A A
A
S T A R T
F 0 R A R
E R E A D S
A
A
t
+
A
D
T
P
S
t
S
.
.
A
0 U N
U N I C
E A S y
E M A T
E A 0 N
E R V o
A A
1
T A R T
M
.
A A
A
T
0
S
A
A
A
+
-¥
A A
Rewind Uniservo 1
29
FLEX
COlES
1st and 2nd Drivers (1103A)
YC
0
I
2
3
4
5
6
7
10
II
12
13
14
15
16
17
20
21
22
IA
MJ
TP
RJ
RP
CC
SP
RP
SA
ZJ
EF
TP
RJ
TV
RS
MS
0
TP
RJ
MJ
CA
ZB
0
CA
BB
30004
ZZ2
ZZ2
20003
ZZ3
YCII
0
CAll
PC
YC
YC16
0
0
CA
BB
0
ZB23
(30000)
BB2 }
BBI
YC5 }
CAl
~CIO
YC
CA34
PC2 "\
PCl J
YC16
YC17
(30000)
3
BB2
BBI
ZZ
}
Exit
Read 1st blk
Check Sentinel
O. K.--+ exi t;
no ~
Rewind tape #1
UNICODE NOT ON TAPE #1
Exi t - 3
Stop while tapes changed
Constant
2nd driver
~blk
30
Read One Block of Tape Ul (1103A)
Parameter Format
Op
u
00
(No. words ~ 1708)
TP (par) BB2
RJ BB
BBI
BB
1
IA
MJ
MJ
2
3
o
BO
0
0
30000
MJ
0
TV
BB2
o
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
Q
2
602
2
2
2
14
1
2
1
10000
10001
70000
60000
50000
o
o
1
07777
170
RP 0
EF 0
EF 0
RP Ie 0000)
ER 10000
o 0
ER 10000
CA B052
Exit
Start
Par.
Set normal bias
Set address
Mas k ---+ Q
n of RP
n ---+ Q
(30000)
BB3
30000
BB4
BB47
TP BB41
QS BB2
QT BB2
TP BB42
ST Q
AT BB43
R.J BB50
ER 0
ZJ BB16
EF 0
RJ BB50
ER 0
ZJ BB22
EF 0
RJ BB50
ER 0
ZJ B826
EF 0
TP CAI0
RJ PC
MS 0
EF 0
MJ 0
B846
Q
A
A
}
inst.
lOA ~A
Pari ty
no ~ BB32
High
Reread
lOA ~A
Pari ty
no ~ BB32
Low
Reread
lOA ----+ A
Parity
Move bwd one blk.
Print parity error
+;
B832
8B37
8B44
A
+
B832
8B36
8B44
A
+
}
BB
o
(30000)
BB35
BB34
BB50 }
(30000)
o
~RP
Rea~ block
A
o
1708 - n ---+ Au
170 - n
B850
B845
B832
BB35
PC2
PCl
8813
BB40
v
address
Stop for reread
Set normal
Exit
Read one blk & stop
Move bwd. one blk.
Low
High
Normal
Mask
120
10
Move bwd one bike
Read one blk. & stop
Read to core
RP 0 eXit-, throwaway
A
31
read
sub.
Print (1103A)
PC
PD
0
2
3
4
5
6
7
10
11
12
1A
MJ
MJ
0
TP
QT
ST
TU
SP
PR
SS
ZJ
13
RA
or7
14
15
16
17
20
1J
MJ
RP
PR
0
CA
PC20
0
4
0
0
1
(30000)
Exit
0
orl/..
(30000)
PC2
CAS
CA6
PC2
(0)
Par. = 0 address n
Q
A45 }
Set index
PC20
PC7
Set address
L
'"'~v
c:::+ ....... +
IJ"QL"
(30000) 52 }
o
A
PCIO
L
'-' •
0
A
6
PC13
.
PC7
rA7
"'.,
PC
PC3
PC4
0
Print one word
C:::o+
IJ .... "
~ft_
..LVL
"o~+
11 .... .110."
~ft~~
nVLU
Finished t; no -+ PC7
Exit
Index
PD21
32
C.
1.
Object Program Service Routines
Flex Code Print-out
Stored at:
Operates at:
77250-77272
750-771
This routine does not preserve all of HSS.
Function
To print out on-line stored Flex codes.
Calling Seguence
a
+1
+2
TP
RJ
L (Parameter)
PR3
PR2
PR
Control returned here
Notes:
No editing is done - therefore all carriage return codes,
etc., should be provided.
Parameter is of form
0 - u - v, where u
= initial
address of stored codes (6 per word)
v
= number
of words to be printed.
This routine is used by the Object Program Loader, Sections 1
and 2 of Initialization, and by some of the generated routines of
the Object Program.
33
Regions for Flex Print Routine
RE
RE
PR77250
RP750
Storage address
Operating area
Flex Print-Out (N.B. - Stored at PR; Operates at RP)
(Core Requirement = 22 Locations)
RP
o
1
2
3
IA PR
RP 30021
TP PR2
MJ
o
TV
TU
4
IJ
5
MJ
6
7
10
11
12
13
14
15
16
17
20
TP
RP2 }
RP
(30000)
0
30000 (30000)
RPI
RP20
RPI
RP6
RP6
RP20
RP
0
(30000) Q
LQ Q
PR 0
QT RP17
RS Q
ZJ RP7
RA RP6
MJ
o
o
o
Operating routine
6
Q
0
RP21
RP21
RP14
RP16
RP4
1
0
0
o
CA PR23
Send down to core
Exit
Parameter
Set up index
o
77
34
2.
Object Program Loaders
These routines, one for the 1103A and one for the 1105, perform the
initial loading of data from magnetic tape on Uniservo 1 to High Speed Storage,
and on recognition of a transfer block, transfer control to an address indicated
on the tape.
The tape format on which these routines depend for proper loading of the
Object Program is prepared by the Initialization Generation Phase according
to the requirements of the problem.
The first word of each block has special significance.
It either contains
the loading address and word count of the block or a transfer address.
In the former case, the u portion holds the word count (at most 1678 ) and
v holds the initial loading address, from which as many words as are specified
by the word count are stored sequentially as read from tape. If the word count
is less than 1678 , but not zero, the remainder of the block is disregarded.
The transfer word is recognized as the first word of a block because its u
field is zero (or a zero word count).
In this case the remainder of the block
is read but disregarded, and control is transferred to the location specified
by the contents of the v field.
For further description of the loading of Object Programs, refer to the
Initialization Generation write-up and its related diagram showing the layout
of the Object Program. tape.
35
Transfer Box 1
From Drum to
HSS
Box 1
Set MJ at O.
Clear Rest of
H
Move Uniservo
1 Back One
Bl
Data Block. Set
up RP-ER to Read
No. Words Specified by Word
Count
Set Index
to Two
Read Data to
Address Sp.ecified by V of
1st Word
Transfer Remainder
of Object Program
Loader From Drum
to HSS
Read 1st
Word of Bloc
Set Transfer Address
from V-Field of 1st
Word into Exit of
Sub rout ine A
Execute
Throwaway Reads
and Check Pari ty
Print .. READ
ERROR ( PARITY) •
START FOR REREADS."
Move
BaCI~
-";'
One BI0CI~
Set to
Normal
Bias
Rewind
Uniservo
Set
to Two
Print Out: "MOUNT
UNICODE OBJECT
PROGRAM ON UNI-
smvo
Read 1st Block
of Object Program
Tape (Uniservo n
Contains Sentinel
& 3 Blkts. of
Tape Handler
Rewind
Uniservo
1. tt
Printout: "READ
ERROR (PARITY).
START FOR REREADS.'
.=
( "'l
o
co+
Regions for 1103A Object Program Loader
RE DA77300
RE PR77250
RE rn1500
RE LE1564
RE LT1624
RE SNl14
Storage address
Flex print routine
~
1
Operating area
Address for loading Sentinel block
Object Program Loader (1103A)
0
1
2
3
0
1
2
3
4
5
6
7
IA DA
RP 30004
TP DA4
RP 30124
TP DAlO
MJ 0
0 0
RP 17776
TP 1
CA DAI0
0
0
W34
ill
2
0
~A2 }
Clear one bank of core
38
ffi
@
@
@
@
(1)
®
@)
@
@
@
LD
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
56
57
60
61
62
63
IA
EF
TP
TP
MJ
EF
ER
QT
ZJ
TV
AT
0
ER
RJ
MJ
TV
TU
RS
RP
ER
ER
ZJ
IJ
TP
RJ
MS
RA
EF
MJ
TP
TP
MJ
EF
EF
RP
ER
ER
ZJ
IJ
TP
MJ
RA
MJ
TP
EJ
TP
RJ
EF
MS
RA
RA
IJ
MJ
CA
DAI0
0
LE
LE7
167
0
10000
LE5
LOIO
Q
LE6
30000
10000
LD24
0
Q
LD3
LD21
0
10000
0
LD25
LTI
LEIO
PR2
0
LT2
0
0
LE
LE7
0
0
0
10170
10000
0
L045
LTI
LEIO
0
LT2
0
( SN24)
( LE32)
LEl1
PR2
0
0
LD52
LD53
LE37
0
DA74
Move back one block
Set to normal bias
Set index
~1
LT2
LTI
L04
LE2
Q
LT
LD16
LD13}
L012
30000}
30000
LD17
LOl
LD24
LD21
LT
LD23
A
Prepare to read one block
Read one word
Save word count
=0 ?
Non-zero 50 set up Read and Repeat
Read info to Loading Address
Check parity and throwaway
Back to read next block
Set transfer address
Determine no. of throwaway words
}
}
~OOOO}
LD31
PR3
PR
LD
LE4
LEI
LD3
LT2
LTI
LD37
LE3
LE2
LD43
SN
A
LD52
L050
PR3
LD55
LE4
LD36
A
LD60
PR3
PR
LE3
D.A
LE36
LE36
LD52
LOI
Throw away
Check parity
}
Print READ ERROR
Change bias
Move back one block
Set to normal bias
Set index
Rewind Uniservo 1
Prepare to Read one block Uniservo 1
Read 1st block, Sentinel + 3 blkts.
of Tape Hand ler.
}
}
Parity error?
}
Print READ ERROR
Change bias
Try again
}
Print MOUNT UNICODE OBJECT PROGRAM
Rewind
}
Increment test instructions
39
LE
IA
02
02
02
DA74
1
14
602
50000
10001
10000
Normal bias
Move Uniservo 1 back one block
Read Uniservo 1 one block
'1
A')
V'
') AA
&:"VV
,AAAA
1.VVVV
n __ ,.. ':_...l
11_.:_,...._.,.'"'
oJ
nCW~JlU
UII~O)CLVU
4
5
6
7
10
11
12
13
14
0
0
RP
0
0
0
45
22
12
0
177
10000
10000
0
LD14
0
2
LE12
LE22
45471
04201
04461
10
10
22030
21203
53012
Change bias
Word count mask
Dummy
Index for parity rereads
Parameter for READ Error
Parameter for wrong tape
CR CR l' R E A
D b. E R R 0
R I:l ( P, A R
0
1
2
1.,)
A, ') t!' A
V1.&:...)<:I
') t!' "'1 A')
1.<:1
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
04
12
04
22
45
06
16
23
15
07
20
52
67
30
26
32
0
0
CA
04472
01042
12201
24574
45470
01043
03222
32201
12031
04030
12170
42040
50342
01512
66015
54244
1
0
DAl34
40130
60312
22030
24545
70334
40614
00403
60104
31230
60424
30457
44545
65127
54430
25451
72201
0
3
,t!'
,
A
&:..oJ.<:I&:..
T
•
rr
~
v
~
I
1
L
..
.I.
I:l I:l t S T A
R T I:l F 0 R
I:l R E R E A
D
CR
N
C
S
CR
t
t
.
M
T b. U
0 D E
B J E C
P R 0 G
M l:l 0 N
E R V 0
Flex
CR CR
0 U
N I
l:l 0
Flex
T l:l
R A
l:l S
l:l
+
l:l l:l CR CR
1
U N I C 0 D
E I:l 0 B J E
] Excess Three
C T II P R 0
G R A M
l:l
u-advance
Index for Sentinel check
40
Transfer Box 1
From Drum
to HSS
Box 1
Set MJ at O.
Clear Rest of
HS
Move Uniservo
1 Back One
Transfer Remainder
of Object Program
Loader from Drum
to HSS
Set Normal
Bias for
TCU
Set Normal
Bias for
B
Set Index
to Two
TCl12
Data Block. Set
up RP-ER to Read
No. Words Specified by Word
Count
Read 1st Word
of Block
Set Transfer
Address from v
field of 1st word
into Exit of
Subroutine
Compute No. of
Throwaway Words
for Bl k
Print: "READ ffiRO
(PARITY OR
SPROCKE:!' .) STAR
FOR REREADS."
Read Data to
Address Specified
by v of 1st Word
Execute Throwaway Reads and
Che k rit
Parity
or Sprocket
Failure?
Yes
Move Tape on
Uniservo 1 Back
One Bl k
Set Tape Parameters for reUl
(Includes Normal
Yes
Read 1st Block of
Object Program
Tape (Uniservo 1 ).
Contains Sentinel
& 3 Blkts. of Tape
Handler
Print Out: "MOUN
UNICODE OBJECT
PROGRAM ON UNISERVO l"
Index
= O?
Set l~f8\
Bypass ~
Set Tape Parameters for TCU2
(Includes Normal
Bias)
Rewind
Servo #1
Set
Bias
Set Index
to Two
Printout: "READ
ERROR (PARITY OR
SPROCKET). START
FOR REREADS. It
N~
Rewind
Uniservo 1
-C"l
o
:s
c-+
No
Change
Bias
Regions for 1105 Object Program Loader
RE DA77300
RE PR77250
RE W1500
RE LE1575
RE LT1645
RE SNl14
Storage address
Flex print routine
}
Operating area
Address for loading Sentinel block
Object Program Loader (1105)
0
1
2
3
IA DA
0 RP 30004
1 TP DA4
2 RP 30145
3 TP DAI0
4 MJ 0
5 0 0
6 RP 17776
7 TP 1
CA DAI0
0
0
I.D40
ill
2
0
~A2 }
Clear one bank of core
43
a5
@
@)
LD
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
@
(j)
@
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
60
61
1A
EF
MJ
TP
MJ
TP
EF
TP
EF
EF
ER
DAIO
LT3
0
20000 LD4
LE
LT2
LD5
0
LE5
LT2
LT2
167
LE15
LTI
LT5
0
LT4
0
Q
10000
LT
QT LE13
ZJ LD14
LD22
TV Q
LD17}
LD16
AT LE14
0 30000 3000'O}
ER 10000 30000
LD23
RJ LD30
MJ 0
LDI
LD30
TV Q
TU LD5
LD25
LT
RS LD25
LD27
RP 0
ER 10000 A
ER 0
ZJ LD31
LD35
1J LTI
PR3
TP LE16
PR
RJ PR2
MS 0
LD
LE12
RA LT2
EF 0
LT3
MJ 0
LD7
MJ 20000 LD43
RP 30005 LD45
LT2
TP LE
RP 30005 LD45
LT2
TP LE5
LTI
TP LE15
LT5
EF 0
LT2
EF 0
LT6
EF 0
LT4
EF 0
RP 10170 LD54
ER 10000 SN
A
ER 0
LD63
ZJ LD56
LD61
1J LTI
PR3
TP LE16
LD66
MJ 0
LE12
RA LT2
Move back one block
TCUI or TCU2?
Set normal bias for TCUI
}
Set normal bias for TC02
Set Bias
Set Index
Set Bypass
Prepare to read one block
Read one word
Set word count into temp.
= O?
Non-zero, so set up Read
and repeat
Read info to load i ng add res s
Check parity and throwaway
Back to read next block
Set transfer address
Determine no. of throwaway words
}
Throwaway
~OOOO}
}
}
}
}
}
Check Pari ty
Parity failure
Print READ ERROR
Change bias
Move back one block
TCUI or TCU2?
Set TCUI parameters
Set TCU2 parameters
Set Index
Set Bypass
Set Bias
Rewind Uniservo 1
Prepare to read first block
Read 1st block, Sentinel + 3 blkts. of
Tape Handler
Pari ty or sprocket error?
READ ERROR
Change bias
44
®
62
63
64
65
66
67
70
71
72
73
74
MJ
TP
EJ
TP
RJ
EF
LD47
0
(SN24) A
( LE42) LD7l
LE17 PR3 }
PR2
0
Try again
Print MOUNT UNICODE OBJECT PROGRAM
PR
LT6
DA
0
RA LD63 LE46 }
RA LD64 LE46
IJ LE47 LD63
MJ 0
LDI
CA DAlO5
Rewind
MS
Increment test instructions
To continue loading
45
LE
0
1
2
IA DAI05
01 1
01 14
01 600
50000
10001
10000
3
0
4000
10000
4
5
6
7
10
11
12
13
14
01 200
02 1
02 14
00 600
0 20000
02 200
0 0
0 177
RP 10000
10000
50000
10001
10000
4000
10000
10000
0
LD20
15
0
0
2
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
0
0
45
22
12
14
04
36
04
12
04
22
45
LE20
LE32
45471
04201
04461
012-5-0
24151
20014
04472
01042
12201
24574
45470
01043
03222
32201
12031
04030
12170
42040
50342
01512
66015
54244
1
0
DA155
12
10
22030
21203
53012
40312
20316
25742
40130
60312
22030
24545
70334
40614
00403
60104
31230
60424
30457
44545
65127
54430
25451
72201
0
06
16
23
15
07
20
52
67
30
26
32
0
0
CA
3
1
Normal bias
Move Uniservo 1 back one block
Read Uniservo 1
RlJffpr 1- -hvnsu:!Ii:
oIr---
------
TeUI
)
Rewind Uniservo 1
Normal bias
Move Uniservo 1 back one blOCk}
TCU2
Read Uniservo 1
Buffer 2 bypass
Rewind Uniservo 1
Change bias
Word count mask
Dummy
Index
Parameter for Read Error
Parameter for Wrong Tape on Uniservo 1
CR CR t REA
D II E R R 0
R II ( P A R
I T y II 0 R
Flex
II S P R 0 C
K E T ) t
II II t s T A
R T II F 0 R
II R E R E A
D S -¥
CR CR
CR CR t M 0 U
Flex
N T II U N I
C 0 D E II 0
B J E C T II
P R 0 G R A
M II 0 N II S
E R V 0 II -¥
II II CR CR
1
XS-3
U N I C 0 D
E
B
E II 0
J
C T II P R 0
/::,.
G R A M
u-advance
Index for Sentinel check
.
.
.
.
46
2. LIBRARY ROUTINES
2.
a.
00004 00004 45
00005 00005 37
00006 00006 45
00007 00007 00
00010 00010 00
00011 00011 00
.£:0.
-.t:>
00012
00013
00014
00015
00016
00017
00020
OD021
00022
00023
00024
00025
00026
00027
00030
00031
00032
00033
00034
00035
00036
00037
00040
00041
00042
00012
00013
00014
00015
00016
00017
00020
00021
00022
00023
00024
00025
00026
00027
00030
00031
00032
00033
00034
00035
00036
00037
00040
00041
00042
55
51
47
75
11
11
II
II
11
23
11
II
23
11
11
11
11
II
75
53
31
37
37
45
54
00000
40005
00012
40007
00000 30000
00000 00000
00000 00000
00000 100000
00420
00007
00042
11130
00421
00422
00423
00424
00425
01510
00426
00427
01700
00422
00430
00431
31006
3!OOO
00015
00017
01316
01342
01343
01506
01507
32000
01676
01677
3!OOO
00432
<12257
31000
00036
00663
00433
10010
00434
00477
00543
00635
<12066
~067
<12256
00000
00533
00622
00000 00046
32000 00006
Library Routines
Unicode Librarian Symbolic Listing
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
II.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
, SUB
, INOur
, MJ
, ALARM , ALARM
, EXIT , MJ
, PARI
, PAR2
, PAR3 ,
, RTN
, EQUALS
, ENrRY ,lO
, QT
, ZJ
,
,
,
,
,
,
,
,
,
,
,
,
,
' SI
RPV
TP
TP
TP
TP
TP
RS
TP
TP
RS
TP
TP
TP
t TP
, TP
, RPV
, QS
t
SP
, RJ
, RJ
, MJ
,LA
,WFUA05
,3
,714
,0
,EN11IY
,UNICODE LIBRARIAN
,FlU
,0
,
,
,0
,
,0
,600(0)B
,Cl
,PARI
,SI
.600
,C2
,C3
.C4
,C5
,C6
,BF+122
,e7
,60(00)B
,ca
,BF+242
,C3
,C9
,CIO
,Cl1
,C12
,8
,C13
,5V
,MTWREX
,MTCHEX
,
, A
,0+6
,A
,L+l
,L+2
,BF
,BF+20
.BF+21
.BF+12 0
.BF+121
.A
.BF+24 0
.,BF+241
.A
,P ARAMETE RS
,
,
,IS INPUf SERVO ZERO
,
,YES-LOAD BUFFER
.BF+360
.BF+361
.BF+480
,BF+481
,
JJ
,SET SERVO NlJI1BERS
.L+2
.Ml'WRIT
.0
,
,
,WRITE DUMMY LIBRARY
.MTWRE 1 ,
.MTCIlEK
,S2
.6
,CHECK DUMMY LIBRARY
,
,SET SERVO NlJI1BERS
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
00043 00043 11
00044 00044 75
00045 00045 53
00046 00046 54
00047 00047 75
00050 00050 53
00051 00051 31
'-1l
0
00433
10004
32000
00007
10004
32000
00474
31000 X
00046 X
00667 X
32014 X
00051 X
00663 X
00000 X
35.
36.
37.
38.
39.
40.
4l.
, S2
,
,
,
,
,
,
,
TP
RPV
QS
LA
RPV
QS
SP
,Q
,L+2
,MTHDFW
,A+12
,L+2
,MTWRIT
,0
$
$
$
$
$
,
$
,READ TAPE AND CATALOGUE $
,MTHEAD
,
00052
00053
00054
00055
00056
00057
00060
00061
00062
00063
00064
00065
00066
00067
00070
00071
00072
00073
00074
00075
00076
00077
00100
00101
00102
00052
00053
00054
00055
00056
00057
00060
00061
00062
00063
00064
00065
00066
00067
00070
00071
00072
00073
00074
00075
00076
00077
00100
00101
00102
37
31
43
11
31
55
61
41
17
17
17
11
45
11
55
51
47
23
55
51
47
21
21
21
11
00565
01342
00422
00436
00477
31000
00000
32000
00000
00000
00000
00437
00000
01510
00007
00440
00073
01510
00010
00440
00077
01510
00521
00522
01510
00555
00000
00067
31000
00000
00006
31000
00057
00660
00670
00665
31000
00005
00520
31014
00521
00074
00474
31014
00522
00100
00474
00504
00504
00523
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
RJ
SP
EJ
TP
, SP
,LQ
, PR
, IJ
,
, ALARM 1 , EF
, EF
, EF
, TP
,
, MJ
, TP
, S3
, LQ
, QT
, ZJ
, RS
, LQ
, QT
, ZJ
, RA
, RA
, RA
t TP
00103
00103
31
00474
00000 X
67.
, SP
,2V
,0
00104
00104
37
00543
00533
68.
, RJ
,MTWREX
,MTWREI
X
,
,
,
,
,C12
.4
,A
,PARI
,4
,A
,2V
.MTRDEX
,BF+20
,C3
,C15
,5V
,Q
•,A
,
,C16
,
,BF+122
,PARI
,C17
,L+l
,BF+122
,PAR2
,C17
,L+l
,BF+122
,T2
,T3
,BF+122
,
(LABErs )
,ALARM IF NO TAPE LABEL
,S3
,Q
,0
,6
,Q
,L-:~
,MTNOBI
,MTINRW
,MTOURW
,Q
,ALARM
,Tl
,Q+12
,T2
,
,STORE WORD COUNT
,REVISE WORD COUNT
,L+~~
,2V
,Q+12
,T3
,L+:~
,2V
,120V
,120V
,T4
,
,STORE REVISED WORD
COUNT
,WRITE TAPE AND
CATALOGUE LABELS
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
c..n
~
00105
00106
00107
00110
00111
00112
00113
00114
00115
00116
00105 31
00106 73
00107 47
00110 21
00111 31
00112 75
00113 11
00114 37
00115 37
00116 55
00520
00504
00110
00520
00520
12000
00421
00565
00115
00007
00000
00520
00111
00473
00000
00114
01316
00555
00116
31030
X
X
X
X
X
X
X
X
X
X
69.
70.
71.
00117
00120
00121
00122
00123
00124
00125
00126
00127
00130
00131
00132
00133
00134
00135
00136
00137
00140
00141
00142
00143
00144
00145
00146
00147
00150
00151
00117
00120
00121
00122
00123
00124
00125
00126
00127
00130
00131
00132
00133
00134
00135
00136
00137
00140
00141
00142
00143
00144
00145
00146
00147
00150
00151
51
47
35
11
11
55
51
47
21
41
11
11
11
11
23
41
37
11
11
11
11
11
11
15
16
11
55
00502
00121
00443
00011
00477
31000
00420
00130
31000
00524
31000
00442
00445
30000
00134
00526
00137
00447
00450
00440
00441
00504
00451
00452
00452
30000
30000
32000
00132
00525
31000
00524
00006
32000
00127
00420
00124
00524
00526
00134
30000
00446
00134
00140
00527
00530
00531
00526
00514
00150
00151
00154
30000
32000
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
72.
73.
74.
75.
76.
77.
78.
t
t
54
• 55
, 56
, 57
,
, 58
, 59
,
,
,
,
,
5P
DV
ZJ
RA
5P
t
RPV
, TP
•, RJ
RJ
, LQ
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
QT
ZJ
AT
TP
TP
LQ
QT
ZJ
RA
IJ
TP
TP
TP
TP
R5
IJ
RJ
TP
TP
TP
TP
TP
TP
TU
TV
TP
,LQ
,Tl
,120V
,L+l
,Tl
,Tl
,1024
,C2
,MTRDEX
,L
,PARI
,
,7V
,A
,56
,T6
,Q
,T5
,6
,A
,L+l
,Cl
,L-4
,T5
,T7
,L+l
,FILL
,C24
,L-2
,L+l
,T8
,T9
,TI0
,T7
,ADDCWD
,59
,L+3
,L+5
,FILL
,A
,L+l
,C21
,PAR3
,5V
tQ
,el
,L+2
,Q
,T5
,Q
,C20
,C23
,FILL
,L-l
,T7
,L
,C25
,C26
,C17
,C18
,120V
,C27
.C28
,C28
,FILL
,FILL
,READ CATALOGUE
,Tl
,L+2
,IV
,
,L+2
,BF
,MTREAD
,L+1
,Q+24
,
,GENERATE CATALOGUE
ITEM
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
,
$
,GENERATE NEW CATALOGUE $
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
CJl
I'-'
00152
00153
00154
00155
00156
00157
00160
00161
00162
00163
00164
00165
00166
00167
00170
00171
00172
00173
00174
00175
00176
00177
00200
00201
00202
00203
00204
00205
00206
00207
00210
00211
00212
00213
00214
00215
00216
00217
00152
00153
00154
00155
00156
00157
00160
00161
00162
00163
00164
00165
00166
00167
00170
00171
00172
00173
00174
00175
00176
00177
00200
00201
00202
00203
00204
00205
00206
00207
00210
00211
00212
00213
00214
00215
00216
00217
43
51
35
51
43
43
21
21
21
37
75
21
37
16
16
11
31
35
16
16
45
21
43
16
75
11
37
37
31
73
47
21
31
37
31
37
11
31
00421
00530
00526
00531
00522
00521
00526
00150
00154
00163
20002
00150
00166
00150
00154
00524
00526
00525
00164
00176
00000
00514
00522
00150
10004
00421
00166
00205
00523
00504
00211
00532
00532
00543
00473
00565
00523
00473
00177
32000
30000
00514
00166
00164
00527
00474
00474
00164
00150
00475
.00167
00171
00173
30000
00000
30000
00163
00166
00160
00527
00167
00203
00204
30000
00166
00206
00000
00532
00212
00473
00000
00535
00000
00555
01320
00000
106.
107.
108.
109.
110.
Ill.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
X 143.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
,
, 510
,
, 511
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
EJ
QT
AT
QT
EJ
EJ
RA
RA
RA
RJ
RPU
RA
RJ
TV
TV
TP
5P
AT
TV
TV
MJ
RA
EJ
TV
RPV
TP
RJ
RJ
5P
DV
ZJ
RA
5P
RJ
5P
RJ
TP
t
SP
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
t
,
t
• 512
,
• 513
,C2
,T9
,T7
,TI0
,T3
,T2
,T7
,59
,59+4
,L
,2
,59
,L
,59
.59+4
,T5
,T7
,T6
,510+4
,L+l
,
,ADDCWD
.T3
.59
,4
,C2
.511
.L
,T4
,120V
.L+1
.Tll
,TIl
,MTWREX
,IV
,MI'RDEX
.T4
,1V
,51:2
,A
,FILL
,ADDCWD
,511
,510+4
,T8
,2V
.2V
,L+l
,59
,2U
,L+l
,L+:2
,L+3
,FILL
,
,
•
,
,FILL
,510+3
,511
,510
,T8
.511+1
,L+:2
,L+:2
,FILL
,511
,L+1
,
,
,
•
,WRITE
NEW CATALOG
,TIl
,L+:2
,IV
,
,MTWRE2
,0
,MTREAD
,BF+2
,0
,
,READ OP FILE LABEL
,
,5ET REVI5ED WORD COUNT
t
WR I'm
(F
FILl& LABEL
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
!
c.n
c..v
00220
00221
00222
00223
00224
00225
00226
00227
00230
00231
00232
00233
00234
00235
00236
00237
00240
00241
00242
00243
00244
00245
00246
00247
00250
00251
00252
00253
00254
00255
00256
00257
00260
00261
00262
00263
00264
00265
00220
00221
00222
00223
00224
00225
00226
00227
00230
00231
00232
00233
00234
00235
00236
00237
00240
00241
00242
00243
00244
00245
00246
00247
00250
00251
00252
00253
00254
00255
00256
00257
00260
00261
00262
00263
00264
00265
37
37
55
51
55
52
11
42
45
55
45
55
55
55
55
55
11
11
15
16
11
11
11
21
21
21
41
37
37
11
16
11
37
37
31
37
31
37
00543
00115
00007
00453
00010
00464
00435
00506
00000
00525
00000
00527
00530
00531
00521
00522
00444
00454
00455
00452
30000
30000
31000
00244
00245
00246
00526
00253
00137
00465
00474
00466
00205
00253
00532
00543
00473
00565
00535
00111
31025
00524
31022
00524
31000
00231
00056
00017
00233
00017
00017
00017
00017
00017
00526
00245
00244
00246
31000
30000
30000
00475
00472
00474
00244
00254
00132
00526
00526
00514
00145
00240
00000
00535
00000
00555
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
, RJ
, RJ
,LQ
•
,
,
,
,
,
,
,
,
QT
LQ
QA
TP
TJ
MJ
LQ
MJ
LQ
,LQ
t
,
, S14
t
,
,
,
,
,
,
,
,
t
LQ
,LQ
,LQ
S15
,
,
,
,
,
•
,
,
,
,
,
,
,
TP
TP
TO
TV
TP
TP
TP
RA
RA
RA
IJ
RJ
RJ
TP
TV
TP
RJ
RJ
SP
RJ
SP
RJ
,MTWREX
,S5
,PARI
,C30
,PAR2
,K7
,C14
,513V
,
,T6
,
,T8
,T9
,T10
,T2
,T3
,C22
,C32
,C33
,C28
,FILL
,FILL
,Q
,L-3
,L-3
,L-3
,T7
,L
,S7
,K8
,2V
,K9
,S13
,S15
,TIl
,MTWREX
,IV
,MTRDEX
,MTWRE2
,S4
,Q+21
,T5
,Q+18
,T5
,
,READ OP FI LE
,GENERATE OP FILE ITEM
,Q
,L+2
,ALARMl-4 ,
,15
,
,S13+22
,GENERATE NEW OP FILE
,15
,15
,15
t 15
,15
,T7
,L+4
,L+2
,L+3
,Q
,FILL
,FILL
,20
,K13
,2V
,L-6
,L+l
,S6
,T7
,T7
,ADDCWD
,S8
,
,S14
,
,WRITE NEW OP FILE
,
,MTWRE2
,READ SUBROUTINE LABEL
,0
,MTREAD
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
CJl
~
00473 00000
00543 00535
00465 00507
00465 00510
00007 31000
X
X
X
X
X
00273
00273
51
00457
00511
X 187.
00274
00275
00276
00277
00300
00301
00302
00303
00304
00305
00306
00307
00310
00311
00312
00313
00314
00315
00316
00317
00320
00321
00322
00323
00324
00325
00326
00327
00330
00331
00274
00275
00276
00277
00300
00301
00302
00303
00304
00305
00306
00307
00310
00311
00312
00313
00314
00315
00316
00317
00320
00321
00322
00323
00324
00325
00326
00327
00330
00331
51
51
11
51
51
51
55
55
21
21
37
31
43
45
31
22
31
32
32
35
55
11
23
11
00460
00462
00010
00457
00463
00464
00511
00514
00511
00514
01222
00507
00514
00000
00513
00000
00512
00510
01317
00461
00512
31000
01317
00515
II 00473
11 00011
11 00477
55 01323
51 00420
47 00333
00512
00513
31000
00514
00515
00516
00033
00033
00466
00466
01141
00000
00312
00354
00025
01317
00003
00000
00000
01316
00030
01321
00516
01320
01322
01323
01324
00006
32000
00332
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
,IV
,MTWREX
,K8
,K8
,PARI
,0
,MTWRE2
t ICWOC
,OCWOC
,Q
, QT
,K2
,DELCWD
,
,
,
,
,
,
,
t K3
,K5
,PAR2
,K2
,K6
,K7
,DELCWD
,ADDCWD
,DELCWD
,ADDCWD
,HSPEX
t ICWDC
,ADDCWD
,INPUTS
tNOWDS
,Q
,ADDCWD
,QNP
,P
,27
,27
9
tK
,K9
,HSPEI
,0
,L+2
,B5
,21
,BF+1
,3
,0
,0
,BF
,24
,BF+3
,P
t BF +2
,BF+4
,BF+5
,BF+6
,6
tA
,L+l
,
,
,
,
,
182.
183.
184.
185.
186.
00266 00266 31
00267 00267 37
00270 00270 11
00271 00271 11
00272 00272 11
SP
RJ
TP
TP
TP
QT
QT
TP
QT
QT
QT
LQ
,LQ
•, Bl
,
,
,
,
,
,
,
,
,
,
f
,
RA
RA
RJ
SP
EJ
MJ
SP
LTL
SP
SA
SA
AT
,LQ
t
, B2
,
,
,
,
,
•
,
,
,
TP
RS
TP
TP
TP
TP
LQ
QT
ZJ
,
,NOWDS
t
,INPUfS
,OCWDC
,BF+l
,K4
,INPUfS
.Q
,BF+l
,QNP
,IV
,PAR3
,5V
,BF+5
,Cl
t L+2
,WRITE S UBROUrINE LABEL
$
$
,PRES ET I NP Uf AND OUfP UT $
, CWD COUNTEIRS
,EXTRACT INFO FROM
$
PARAMETERS
,
$
$
$
$
$
$
$
$
$
$
,
,IS ROUfINE TO BE ADDED
, NO
YES-SET UP PRELUDE
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
~
C..!l
C..!1
,RTN
,NOWDS
,120U
,L+l
,Q
,Q
,MTWREX
,IV
,B2
,Kl
,Q
,B3
,B4
,120U
,L+2
,BF+6
,HSPE2
,L+2
,BF+6
,6U
,Q
,L+2
,IV
,0
,MTWRE2
, SP
, RJ
,IV
,MTRDEX
,0
,MTREAD
00000 X 238.
00407 X 239.
, SP
, EJ
,BF
,CI0
,0
,B7
31000 X 240.
32000 X 241.
00517 X 242.
00365 X 243.
00473 X 244.
00000 X 245.
00401 X 246.
,
,
,
,
,
,
,
TP
QT
DV
ZJ
RA
SP
EJ
,K10
.BF
,120V
,L+1
,TEMPI
,ICWOC
,DELCWD
,Q
,A
,TEMPI
,L+2
,IV
,0
,B6
,
,
,
,
,
,
RA
TP
QS
RA
RJ
RS
.ICWOC
,K11
,OCWDC
,OCWOC
,HSPEX
,TEMPI
,K1
.Q
,BF
,K1
,HSPE2
.IV
00332
00333
00334
00335
00336
00337
00340
00341
00342
00343
00344
00345
00346
00347
00350
00351
00352
00353
00332
00333
00334
00335
00336
00337
00340
00341
00342
00343
00344
00345
00346
00347
00350
00351
00352
00353
21 31000
41 01324
21 00510
11 00462
53 00513
53 00513
21 00341
75 10000
11 00421
37 01222
75 30000
11 60000
21 00513
73 00505
47 00351
21 31000
31 31000
37 00543
00473
00327
00456
31000
00341
00344
00505
00343
01324
01156
00346
01324
00501
31000
00352
00473
00000
00535
X 218.
X 219.
X 220.
X 221.
X 222.
X 223.
X 224.
X 225.
X 226.
X 227.
X 228.
X 229.
X 230.
X 231.
X 232.
X 233.
X 234.
X 235.
,
00354
00355
00354
00355
31
37
00473
00565
00000
00555
X 236.
, B5
X 237.
00356
00357
00356
00357
31
43
01316
00431
00360
00361
00362
00363
00364
00365
00366
00360 11
00361 51
00362 73
00363 47
00364 21
00365 31
00366 43
00467
01316
00504
00364
00517
00507
00511
00367 00367 21 00507 00456 X
00370 00370 11 00470 31000 X
00371 00371 53 00510 01316 X
00372 00372 21 00510 00456 X
00373 00373 37 01222 01156 X
00374 00374 23 00517 00473 X
247.
248.
249.
250.
251.
252.
,
, B3
, B4
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
RA
IJ
RA
TP
QS
QS
RA
RPV
TP
RJ
RPB
TP
RA
DV
ZJ
RA
SP
RJ
,Q
,BF+6
,OCWOC
,KS
,NOWDS
,NOWDS
,B3
,0
,C2
,HSPEX
,
$
$
$
$
$
$
,
$
,FILL BUFFER WITH Z COIES$
$
$
$
$
$
$
$
$
,
$
,WRITE ROUfINE ON OUfPUf $
TAPE
,
$
,READ 1 BLOCK FROM
$
INPUT TAPE
,
$
,IS THIS END OF ENTRY
$
, BLOCK
,NO
$
$
$
$
$
,
$
,IS ROUfINE TO BE
$
DELETED
,NO
$
$
$
$
$
$
00375
00376
00377
00375 37
00376 21
00377 37
00400 00400 45
00401 00401 23
00402 00402 11
00403 00403 53
00404 00404 17
U1
0'
00405
00406
00407
00405 21
00406 45
00407 11
00410
00411
00412
00413
00414
00415
00416
00417
00420
00421
00422
00423
00424
00425
00426
00427
00430
00431
00432
00433
00434
00435
00436
00437
00410
00411
00412
00413
00414
00415
00416
00417
00420
00421
00422
00423
00424
00425
00426
00427
00430
00431
00432
00433
00434
00435
00436
00437
75
11
31
37
17
37
37
45
00
74
01
01
46
26
01
31
65
30
01
00
00
31
00565 00556
00517 00473
00543 00535
X 253.
X 254.
X 255.
00000
00517
00471
00517
00000
X
X
X
X
X
00307
00473
31000
00672
00672
00507 00456
00000 00307
00432 01317
10546
00421
00476
00543
00000
01222
00635
00000
00000
74747
01463
66245
34250
24660
01015
34463
67255
50270
30506
00001
00000
03122
06 03041
31 26343
00412
01320
00000
00535
00670
01250
00622
00006
00077
47474
42501
23001
10101
10101
15201
00104
46650
15131
65473
70000
40000
22404
11423
03762
256.
257.
258.
259.
260.
X 261.
X 262.
X 263.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
,86
, B7
t
, Cl
, C2
, C3
t C4
, C5
, C6
, C7
, C8
, C9
, CI0
, Cll
, C12
, C13
, C14
, C15
,C16
, RJ
, RA
, RJ
,MTRDEX
,TEMPI
,MTWREX
,
,
,
,
,
,
MJ
RS
TP
QS
EF
, RA
, MJ
, TP
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
RPV
TP
SP
RJ
EF
RJ
RJ
MJ
B
B74
BOI
BOI
B46
B26
BOI
B31
B65
B30
001
B
B
B31
B06
B31
,TEMPI
,K12
,TEMPI
,ICWOC
,
,C 11
,358
,C2
.3V
,MTWREX
,
,HSPEX
,MTCHEX
,
,74747
,01463
,66245
,34250
,24660
,01015
,34463
,67255
,50270
,30506
,1
,
,03122
,03041
,26343
,MTHEAD+l ,READ REST OF ROUfINE
,
,IV
,MTWRE2
,WRITE ROUfINE TO OUfPUf
TAPE
,Bl
,IV
tQ
,MVF'WIN
•.MOVE PAST ROLTINE TO
,MVFWIN
BE DELETED
,Kl
,Bl
t
,BF+l
,WRITE END OF ENTRY
BLOCKS TO OUfPUf TAPE
,L+2
,BF+2
,0
.,
,MTWRE2
,MfINRW
,
,HSPE3
,MTCHEK
,CHECK OlITPUf TAPE
,
,EXIT
,77
,CONSTANTS
,47474
,425101
,23001
,J0101
,10101
,15201
,00104
,46650
,151.31
,65473
,70000
,40000
,22404
,11423
,037'62
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
*$$
$
$
Ul
-J
00440 00440 00 00000 07770
00441 00441 00 00000 00200
00442 00442 00 00000 01775
00443 00443 00 00000 50000
00444 00444 00 00000 00776
00445 00445 11 03313 03315
00446 00446 00 00001 00001
00447 00447 00 00000 00010
00450 00450 00 00000 50007
00451 00451 11 01320 01316
00452 00452 00 01321 01317
00453 00453 00 00000 07777
00454 00454 11 01317 01316
00455 00455 00 01316 00000
00456 00456 00 00010 00000
00457 00457 77 70000 00000
00460 00460 00 00000 70000
00461 00461 00 50000 00006
00462 00462 00 07777 00000
00463 00463 00 07777 77777
00464 00464 00 00000 00777
00465 00465 00 00200 00000
00466 00466 00 00170 00000
00467 00467 00 00000 77777
00470 00470 00 07770 00000
00471 00471 00 00000 07777
00472 00472 00 00002 00002
00473 00473 00 00000 00001
00474 00474 00 00000 00002
00475 00475 00 00002 00000
00476 00476 00 00000 00003
00477 00477 00 00000 00005
00500 00500 00 00000 00006
00501 00501 00 00006 00000
00502 00502 00 00000 00007
00503 00503 00 00000 00017
00504 00504 00 00000 00170
00505 00505 00 00170 00000
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
, C17
, C18
, C20
, C21
, C22
, C23
, C24
, C25
, C26
, C27
, C28
, C30
, C32
, C33
, Kl
,K2
• K3
, K4
• K5
• K6
, K7
, K8
, K9
, KI0
, Kll
, K12
, K13
, IV
, 2V
, 2U
, 3V
, 5V
, 6V
, 6U
,7V
, 15V
, 120V
, 120U
, B
, B
, B
, TP
, B
B
,
,BF+I021
,1
,
,
, TP
,BF+2
,BF+3
,
B
, TP
,
,
,
,
,
,
,
,
,
,
•
,
BOO
B77
BOO
BOO
B
B
B
B
B
B
B
B
,
,BF+l
,BF
,00010
.70000
,00000
.50000
,7777
,7777
,
,200
,170
,
,7770
,
,2
,
,7770
,200
,1021
,50000
,510
,BF+I023
,1
,10
,50007
,BF
,BF+1
,7777
,BF
,
,00000
,00000
,70000
,00006
,00000
,77777
,777
,00000
,00000
,77777
,00000
,7777
,2
,1
,2
,2
,
,
,3
,5
,6
.6
,
,120
,
,7
,15
.120
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
c:.n
CP
00506
00507
00510
00511
00512
00513
00514
00515
00516
00517
00520
00521
00522
00523
00524
00525
00526
00527
00530
00531
00532
00533
00534
00535
00536
00537
00540
00541
00542
00543
00544
00545
00546
00547
00550
00551
00552
00553
00506
00507
00510
00511
00512
00513
00514
00515
00516
00517
00520
00521
00522
00523
00524
00525
00526
00527
00530
00531
00532
00533
00534
00535
00536
00537
00540
00541
00542
00543
00544
00545
00546
00547
00550
00551
00552
00553
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
11
11
16
15
17
11
41
17
45
21
21
21
31
75
32
11
75
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00674
00674
00673
00673
00000
32000
00714
00000
00000
00554
00551
00712
00713
20170
30000
32000
10170
01001
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00712
00713
00554
00551
00663
00714
00544
00657
30000
00701
00700
00675
00000
00552
00000
00713
00541
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
I
X
X
X
X
X
X
X
X
X
X
X
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
, 513V
, ICWOC ,
, OCWOC ,
, DELCWD,
, INPlJfS.
, NOWDS ,
, ADDCWD,
,QNP
, P
, TEMPI ,
, Tl
,T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, TI0
,
, TIl
, MTWREl, TP
, TP
, MTWRE2, TV
, TU
, EF
,
, TP
, MTWRI , IJ
,
, EF
, MTWREX, MJ
, MTWR2 , RA
, RA
, RA
, SP
,
, RPU
, MlWR3 , SA
, TP
, RPV
,513
,0
,0
,0
,0
,0
,0
,0
,0
,0
,
,
,MTZERO
,MTZERO
,MTSET
,MTSET
,MTBLKS
,MTSUM
,MTEW
,MTWR3
,MTWRIT
,MTINDI
,MTWR2
,MTSTOP
,FILL
,MT120V
,MT120U
,MTIV
,0
,L+2
,0
,MTSUM
,
,A
,MTINDI
,
,MTEW
,MTWR3
,MTBLKS
,MTSUM
,120
,FILL
,A
,,120
~MTWRI
,
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
,
$
,ENTRY 1 WRITE MAG TAPE $
,
$
,ENTRY 2
$
$
$
$
$
,
$
,EXIT FOR WRITE MJ~G TAPE $
$
$
$
$
$
$
$
$
,TEMPORARI ES
CJ1
-.0
00554
00555
00556
00551
00560
00561
00562
00563
00564
00565
00566
00561
00510
00511
00572
00513
00514
00515
00516
00511
00600
00601
00602
00603
00604
00605
00606
00601
00610
00611
00612
00613
00614
00615
00616
00611
00620
00621
00554
00555
00556
00551
00560
00561
00562
00563
00564
00565
00566
00561
00510
00511
00572
00513
00514
00515
00516
00511
00600
00601
00602
00603
00604
00605
00606
00601
00610
00611
00612
00613
00614
00615
00616
00611
00620
00621
11
16
11
41
11
11
41
11
11
45
21
15
16
16
41
41
15
11
31
21
54
61
44
31
44
11
45
11
21
45
11
21
45
11
23
31
11
45
10000
00613
32000
00560
00000
00611
00114
00000
00000
00000
00510
10110
10000
00000
00513
00115
00110
00103
00104
32000
32000
00000
00603
30000
00062
00000
00000
00000
00606
00000
00000
00606
00000
00000
00606
00611
00000
00000
30000
00510
00114
00565
00661
00115
00566
00651
00660
30000
00101
00511
30000
32000
00561
00605
00603
31000
00044
00105
00006
32000
00600
00044
00600
00611
00601
00661
00616
00611
00662
00616
00611
00660
00100
00620
00661
00561
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
364.
365.
366.
361.
368.
369.
310.
311.
372.
313.
314.
375.
316.
311.
318.
319.
380.
381.
382.
383.
384.
385.
386.
381.
388.
389.
390.
391.
392.
393.
394.
395.
396.
391.
398.
399.
400.
401.
, MTEW ,
, MTREAD.
,
,
,
,
, MTRDI ,
,
,
,
,
, MTRDEX,
, MTRD2 ,
,
, MTER ,
,
,
,
,
,
,
,
,
EWB
TV
TP
ZJ
EF
TP
IJ
EF
EF
MJ
RA
RPV
ERB
ERA
ZJ
IJ
TU
TP
SP
, CC
, MTRD3 ,LA
, PR
, QJ
, SP
, QJ
, MTRD4 , EF
, MJ
, EF
, RA
, MJ
, EF
, RA
t MJ
t
t EF
, RS
t
, MTRD5 , RJ
, EF
, MJ
t
,
,MTSET
,A
,L+l
t
,MT5V
,MTINDI
,
,MTER
,120
,
,L+l
,MTIND2
,MTK6
,MTKI
,MTK2
,A
,A
,
,L+l
,FILL
,ALARM 1
,
,MTRD4+1
,
f
,MTRD4+1
,
,MTRD4+1
L
t
t
,FILL
,MTER
,MTINDI
,MTRDEX
,MTRDFW
,MTIND2
,MTRD2
,MTSTOP
,MTNOBI
,FILL
,MT120V
,L+2
,FILL
,A
,MTRDI
,MTRD4
,MTRD3+3
,Q
,36
,MTK3
,6
,A
,MTRD3
,36
,MTRD3
,MTMVBA
,L+l
,MTHIBI
,MT3V
,MTRD5
,MTLOBI
,MT3V
t MTRD 5
,MTNOBI
,MT6V
,L+l
,MTRDFW
,MTRD2+1
,
,ENTRY TO READ Mf
• FOR READ MT
.EXIT
t
t
,
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
0'
0
00622
00623
00624
00625
00626
00627
00630
00631
00632
00633
00634
00635
00636
00637
00640
00641
00642
00643
00644
00645
00646
00647
00650
00651
00652
00653
00654
00655
00656
00657
00660
00661
00662
00663
00664
00665
00666
00667
00622
00623
00624
00625
00626
00627
00630
00631
00632
00633
00634
00635
00636
00637
00640
00641
00642
00643
00644
00645
00646
00647
00650
00651
00652
00653
00654
00655
00656
00657
00660
00661
00662
00663
00664
00665
00666
00667
75
11
17
11
41
17
17
37
31
47
17
45
31
32
75
34
11
37
75
76
76
47
41
15
45
17
37
17
45
02
02
02
02
02
02
02
02
02
10170
00674
00000
00677
00712
00000
00000
00643
00713
00651
00000
00000
00457
00713
20170
01316
32000
00643
10170
10000
00000
00650
00715
00711
00000
00000
00617
00000
00000
00600
00001
00001
00001
00006
00012
00200
00004
00002
00624
01316
00664
00715
00636
00657
00665
00636
00000
00634
00660
30000
00011
00000
00642
00000
00713
00644
00646
01316
32000
00625
00653
00603
00575
00666
00606
00664
00644
00000
50000
70000
60000
00000
00000
00000
00001
00000
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
, MfCHEK,
,
,
, MTCH2 ,
,
,
,
,
,
,
,
,
• MTCHEX,
,
,
,
,
,
,
, MTCH3 ,
,
,
,
,
•
,
, MTCH5 ,
,
,
,
,
, MTSTOP,
, MTNOBI,
, MTHI BI,
• MTLOBI.
, MfWRIT,
, MTRDBW,
, MTOURW,
, MTMVFW,
, MTRDFW,
RPV
TP
EF
TP
IJ
EF
EF
RJ
SP
ZJ
EF
MJ
SP
SA
RPU
SS
TP
RJ
RPV
ERB
ERA
ZJ
IJ
TU
MJ
EF
RJ
EF
MJ
B02
B02
B02
B02
B02
B02
B02
B02
BOO
,J20
,MTZERO
,
,MT5V
,MTBLKS
,
,MTCH3-1
,MTSUM
,MTCH5-2
,
,K2
,MTSUM
,120
,BF
,A
,L
,120
,
,L+1
,MTIND2
,MTK7
,
,MTRD5
,
,00600
,00001
,00001
.00001
,00006
,00012
,00200
.00004
.00002
,ENTRY TO CHECK MAG TAPE $
,BF
$
,MTHDBW
$
,MTIND2
$
,MTCHEX+1 ,
$
,MTSTOP
$
,MTOURW
$
,MTCHEX+l ,
$
,0
$
.L+l
$
,
,MTNOBI
$
,FILL
,EXIT FOR CHECK MAG TAPE $
,9
$
,0
$
t
,L+2
$
,0
$
,MTSUM
$
,L+l
$
,L+~~
tL+~~
,BF
,A
,MTCH2
,MTCH5
,MTHD3+3
,MTHD3-3
,MTMVFW
,MTHD4+1
,MTHDBW
,MTCH3
,00000
,50000
,70000
,60000
,00000
,001000
.001000
,00001
,00000
,
$
$
$
$
$
$
$
$
$
$
$
$
",.
.;
t
$
$
$
$
$
l
0"~
00670 00670 02 00200
00671 00671 02 00014
00672 00672 02 00004
00673 00673 00 01126
00674 00674 00 00000
00675 00675 00 00000
00676 00676 00 00000
00677 00677 00 00000
00700 00700 00 00000
00701 00701 00 00000
00702 00702 00 00170
00703 00703 00 01006
00704 00704 45 47040
00705 00705 26 30141
00706 00706 12 20302
00707 00707 16 05201
00710 00710 00 00706
00711 00711 00 00707
00712 00712 00 00000
00713 00713 00 00000
00714 00714 00 00000
00715 00715 00 00000
00000
00001
00000
01126
00000
00001
00003
00005
00006
00170
00000
00000
70104
12404
20404
63604
00000
00000
00000
00000
00000
00000
00000
10214
01262
30005
01300
30003
01305
01310
01311
01312
01313
01314
01275
00000
01143
00716
01145
00742
01147
01012
01016
01020
01022
01024
01026
01140
01140 01140 00
01141 01141 75
01142 01142 11
01143 01143 75
01144 01144 11
01145 01145 75
01146 01146 11
01147 01147 11
01150 01150 11
01151 01151 11
01152 01152 11
01153 01153 11
01154 01154 11
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474
475.
476.
477.
, MTINRW, B02
, MTMVBA, 802
, MVFWIN, B02
t MTSET ,
, MTZERO,
, MT1V
, MT3V , B
, MT5V
, MT6V ,
, MT120V,
, MT120U,
, MTK1 , BOO
, MTK2 , B45
, MTK3 , B26
, MTK4 , B12
, MTK5 , B16
, MTK6
, MTK7 ,
, MTBLKS,
t MTSUM ,
, MTINDl,
, MTIND2,
, HSPBKT t RESERV
, HSPBLK, RESERV
, HSPTS , RESERV
, HSPCTR,
, HSPEI , RPV
, TP
, RPB
, TP
, RPB
, TP
, TP
, TP
• TP
, TP
t TP
, TP
,00200
,00014
,00004
,BF-120
,
,120
,01006
,47040
,30141
,20302
,05201
,MfK4
,MTK5
,
,20
,120
,6
,140
,HSPKI
,5
,HSPHDI
,3
,HSPHD2
,HSPHD2+3
,HSPHD2+4
,HSPHD2+5
,HSPHD2+6
,HSPHD2+7
,HSP4V
,00000
,00001
,00000
,BF-120
,0
,1
_,3
,5
,6
,120
,
,00000
,70104
,12404
,20404
,63604
,0
,0
,0
,0
,0
,0
,20
,120
,6
,
,0
,ENTRY 1 HSP LISTING
,L+2
,HSPBKT
,L+2
,HSPBLK
,
,L+2
,HSPBLK+40,
,HSPBLK+44 ,
,HSPBLK+46,
,HSPBLK+48,
,HSPBLK+50 t
,HSPBLK+52 ,
,HSPCTR
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
0"[\j
01155
01156
01157
01160
01161
01162
01163
01164
01165
01166
01167
01170
01171
01172
01173
01174
01175
01176
01177
01200
01201
01202
01203
01204
01205
01206
01207
01210
01211
01212
01213
01214
01215
01216
01217
01220
01221
01222
01155
01156
01157
01160
01161
01162
01163
01164
01165
01166
01167
01170
01171
01172
01173
01174
01175
01176
01177
01200
01201
01202
01203
01204
01205
01206
01207
01210
01211
01212
01213
01214
01215
01216
01217
01220
01221
01222
45
11
51
55
51
36
37
11
11
23
37
11
31
37
11
11
51
55
51
55
51
37
11
31
37
11
31
37
11
21
71
35
75
00
31
43
37
45
00000 01222 X
01316 31000 X
01264 01136 X
31000 00022 X
01263 32000 X
00503 32000 X
01247 01231 X
32000 00716 X
01323 00720 X
01136 01276 X
01247 01231 X
32000 00722 X
01321 00000 X
01247 01231 X
32000 00724 X
01320 31000 X
01263 01136 X
31000 00022 X
01263 01137 X
31000 00011 X
01263 32000 X
01247 01231 X
32000 00730 X
01136 00000 X
01247 01231 X
32000 00732 X
01137 00000 X
01247 01231 X
32000 00726 X
01140 01273 X
01140 01277 X
01265 01216 X
30024 01217 X
00000 00000 X
01140 00000 X
01276 01223 X
01221 01222 X
00000 30000 X
478.
479.
480.
481.
482.
483.
484.
485.
486.
487.
488.
489.
490.
491.
492.
493.
494.
495.
496.
497.
498.
499.
500.
501.
502.
503.
504.
505.
506.
507.
508.
509.
510.
511.
512.
513.
514.
515.
,
,
, HSPE2 ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
•
,
MJ
TP
QT
LQ
QT
ST
RJ
TP
TP
RS
RJ
TP
SP
RJ
TP
TP
QT
LQ
QT
,LQ
,
,
,
,
,
,
,
,
,
,
,
t HSPI
,
,
,
,
,
,
,
,
, HSP2 •
, HSPEX ,
QT
RJ
TP
SP
RJ
TP
SP
RJ
TP
RA
MP
AT
RPB
B
SP
EJ
RJ
MJ
,
,BF
,HSPK3
,Q
,HSPK2
,15V
,HSP5
,A
,BF+5
,HSPTS+4
,HSP5
,A
,BF+3
,HSP5
,A
,BF+2
,HSPK2
.Q
,HSPK2
,Q
,HSPK2
,HSP5
,A
,HSPTS+4
,HSP5
,A
.HSPTS+5
,HSP5
,A
,HSPCTR
,HSPCTR
,HSPK4
,20
,
,HSPCTR
.HSP6V
,L
t
,HSPEX
,Q
,HSPTS+4
,18
,
,ENTRY 2 HSP LISTING
,A
,A
,HSP3
,HSPBKT
,HSPBKT+2 ,
,HSP6V
,HSP3
,HSPBKT+4 ,
,0
,HSP3
,HSPBKT+6 ,
,Q
,HSPTS+4
,18
,HSPTS+5
t
,9
,A
,
,HSP3
,HSPBKT+10,
,0
,
,HSP3
,HSPBKT+12,
,0
,HSP3
,HSPBKT+8 ,
,HSPIV
,HSP20V
,L+2
,L+2
,0
,a
,HSP2A
,L+l
,FILL
,
,EXIT FOR HSP LISTING
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
0"
VJ
01223
01224
01225
01226
01227
01230
01231
01232
01233
01234
01235
01236
01237
01240
01241
01242
01243
01244
01245
01246
01247
01250
01251
01252
01253
01254
01255
01256
01257
01260
01261
01262
01263
01264
01265
01266
01267
01270
01223
01224
01225
01226
01227
01230
01231
01232
01233
01234
01235
01236
01237
01240
01241
01242
01243
01244
01245
01246
01247
01250
01251
01252
01253
01254
01255
01256
01257
01260
01261
01262
01263
01264
01265
01266
01267
01270
17
23
75
77
75
11
75
73
35
23
42
42
42
45
21
21
21
31
75
32
45
75
11
37
31
37
11
11
37
11
45
01
00
00
11
00
00
00
00000 01272
01140 32000
10170 01227
10000 00742
10170 01221
01262 00742
30003 01233
01266 01132
01274 01135
31000 32000
01132 01241
01133 01242
01134 01243
00000 01244
01132 01274
01133 01274
01134 01274
01262 00052
20004 01247
01132 00006
00000 30000
10024 01252
01262 00716
01221 01212
00712 00000
01247 01231
32000 00716
01315 00717
01221 01212
01271 01106
00000 01223
01010 10101
00000 00777
00000 77777
00716 ·00716
00000 01750
00000 00144
00000 00012
x 516.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
517.
518.
519.
520.
521.
522.
523.
524.
525.
526.
527.
528.
529.
530.
531.
532.
533.
534.
535.
536.
537.
538.
539.
540.
541.
542.
543.
544.
545.
546.
547.
548.
549.
550.
551.
552.
553.
, HSP2A , EF
, RS
, RPV
, EWB
, RPV
,
, TP
t HSP3
t RPB
, DV
, AT
, RS
, TJ
, TJ
, TJ
, MJ
, HSP4 , RA
, RA
, RA
, SP
, RPU
, SA
, HSP5 , MJ
, HSPE3 , RPV
, TP
, RJ
, SP
, RJ
, TP
, TP
, RJ
, TP
, MJ
, HSPKI , BOI
, HSPK2 , B
, HSPK3 , B
, HSPK4 , TP
, HSPKS , X
t X
, X
, HspeTR
,120
•,120
.HSPKI
,3
,HSPKS
,HSP2V
,Q
,HSPTS
,HSPTS+l
,HSPTS+2
,
,HSPTS
,HSPTS+l
,HSPTS+2
,HSPKI
,4
,HSPTS
,
,20
,HSPK1
,HSP2
,MTBLKS
,HSP5
,A
,HSPHD3
,HSP2
,HSPK6
,
,01010
,
,HSPBKT
,HSPWR
,A
,L+2
,HSPBLK
,HSP2
,HSPBLK
,L+2
,HSPTS
,HSPTS+3
,A
,HSP4
,HSP4+1
,HSP4+2
,HSP4+3
,HSP2V
,HSP2V
,HSP2V
,42
,L+2
,6
,FILL
•,ENTRY 3 HSP LISTING
,L+2
,HSPBKT
,HSP1
,0
,HSP3
,HSPBKT
,HSPBKT+l ,
,
,HSPI
,HSPBLK+I00,
,HSP2A
,10101
,777
,
,77777
,HSPBLK-20,
,1000
,100
,10
$
$
$
:$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
0"-
~
01271 01271 37
01272 01272 02
01273 01273 00
01274 01274 00
01275 01275 00
01276 01276 00
01277 01277 00
01300 01300 67
01301 01301 30
01302 01302 51
01303 01303 01
01304 01304 54
01305 01305 52
01306 01306 51
01307 01307 01
01310 01310 01
01311 01311 34
01312 01312 01
01313 01313 01
01314 01314 01
01315 01315 25
60010
00646
00000
00000
00000
00000
00000
50342
01656
67663
46342
73010
51653
50010
50244
71515
50526
01010
01010
01010
46512
10101 X 554.
30000 X 555.
00001 X 556.
00002 X 557.
00004 X 558.
00006 X 559.
00024 X 560.
65127 X 561.
72554 X 562.
45030 X 563.
55424 X 564.
10137 X 565.
46634 X 566.
10101 X 567.
73001 X 568.
42765 X 569.
76665 X 570.
15301 X 571.
15001 X 572.
15201 X 573.
64565 X 574.
X 575.
X 576.
, HSPK6 ,
HSPWR ,
• HSP1V ,
, HSP2V ,
• HSP4V ,
• HSP6V ,
, HSP20V,
, HSPHD1,
•
,
,
,
, HSPHD2,
,
•
,
,
,
,
,
, HSPHD3,
, BF
,
,
t
B37
B02
867
B30
B51
B01
854
B52
B51
B01
B01
B34
B01
B01
B01
B25
EQUALS
ENDSUB
,60010
,00646
,10101
,30000
,1
,2
,4
.6
,20
•
.50342
.651'27
,01656
,72554
,67663
,45030
,46342
,55424
.73010
,10137
,46634
.51653
,50010
,10101
,50244
,73001
,71515
,42765
,50526
,76665
,01010
,15301
,01010
,15001
,01010
,15201
,46512
.64565
,HSPHD3+1 ,
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
B.
Permanent Library Routines
The Permanent Library consists of routines required by UNICODE to provide
its Input/Output facilities, and the general exponentiation system. Three
sections of the Master Tape are used to contain the routines and related
information in positions most advantageous to the compiling procedure.
The first such section is the Permanent Library Catalog containing the
names of all routines and their associated UNICODE call words.
This catalog
is read from the Master Tape by the Dimension #2 Translator and is stored
in the Combination List.
It is then available throughout the Translation
phase for recognition and proper handling of references to these routines.
The second section of the Permanent Library appearing on the Master Tape
is Op File I consisting of an item for each routine.
This file gives all the
information that is necessary in allocating storage to those routines used
by the various segments of the Object Program.
The third section is the collection of Permanent Library routines coded
relative to address 01000.
These routines are read from the Master Tape
by the processor and modified according to the Object Program addresses given
by the allocator.
65
Permanent Library Catalog
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
RE
IA
0
31
0
32
0
70
0
46
0
30
0
65
0
31
0
46
0
54
0
34
0
CA
LC7230
LC
0
46307
0
30505
0
24543
0
50777
0
72527
0
53546
0
46662
0
34656
0
30242
0
50662
0
24
25266
50002
25171
50012
07252
50022
77777
50031
77777
50041
67777
50051
67066
50062
65450
50077
75450
50100
67066
50112
No, words following
FLEXPT
GENPOW
VAREXP
LN
EXP
SQRT
FLTC VT
LISTRN
READRN
INTCVT
LC25
66
Op File I for Permanent Library Routines
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
RE
IA
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
74
CA
PF7230
PF
50002
0
50012
0
50002
50022
50051
50022
0
50002
50031
50041
50031
0
50002
50041
0
50002
50051
0
50002
50062
0
50077
0
50100
0
50112
0
74747
PF36
2
41
5
107
0
0
0
5
113
0
0
0
3
67
0
3
77
0
3
53
0
2
203
2
234
2
606
2
73
47474
FLEXPT
GENPOW
VAREXP
LN
EXP
SQRT
FLTCVT
LISTRN
READRN
INTCVT
End Sentinel
67
Region Definitions for Permanent Library Loading
RE
TPI0
50002
1\J..:.
01:'
O'.Tl')nn
1 nt:..vv
oJVV.l~
RE
VP370
50022
RE
L1\l56 0
50031
RE
EX750
50041
RE
SQl140
50051
01:'
IU;'
ur
1 'l'ln
VV.loJoJV
oJVVV"
RE
W11710
50077
RE
NI2270
50100
RE
CI3230
50112
RE
PTI000
50002
RE
GPI000
50012
RE
VEI000
50022
RE
LGI000
50031
RE
XPloo0
50041
RE
SRloo0
50051
R~
CV1000
50062
RE
RE
RE
RE
RE
RE
RE
RE
1W1000
XEl147
RVl157
TZ1200
GT210
B171oo4
BF71oo5
TN71003
50077
RE
RE
RE
RE
RE
RE
1NI0oo
DRI012
BMII01
ST1131
PSl146
SC1233
50100
e::fV\l'l
~nnt...?
68
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
MF1243
TB1252
EP1264
GG1303
CF1473
NT1551
XXI552
CC1557
FX71 000
8U610
GT210
PR77250
RE
ICI000
50112
69
Flex-Print Routine (50002)
Purpose
To print out a stored sequence of Flex codes, with automatic
carriage returns where required.
Calling Sequence
a
TP
L(Parameter 1)
PT3
+1
TP
L(Parameter 2)
PT4
RJ
+3
PTI
PT
Control returned here
Parameter 1 is 00 - L - n, where L = initial loco of stored
Flex codes, and n = no. of words. The characters should be packed
to the left, and filled in with zeros.
Parameter 2 is 00 - x - x, where x = address of an index previously
set to the desired number of characters per line. Each time a
character is printed by this routine, this index is reduced, and when
zero a c.r. is given
and the index reset to 79 10 .
Storage
378 orders and constants
2
erasable locations
70
Flex-Print Routine (50002)
IA
o
o
o
o
o
PT
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
40
31
MJ
RJ
MJ
~TP
TV
TV
TV
TV
IJ
MJ
TP
LQ
PR
Qf
EJ
EJ
TP
50002
45
o
o
6
o
o
46307
25266
PT5
30000
[3000Q]
300001
.3000QJ
PT37
PT37
PT14
PT22}
PT24
PT14
PT2
o
o
30000
o
30000
30000
PT31
PT3
PT3
PT4
PT4
PT37
o
~OOOQ)
Q
o
PT32
PT33
PT34
IJ
~OOOQ]
PR
TP
RS
PT35
ZJ
RA
MJ
o
o
o
o
o
o
CA
o
Q
PT15
PT14
o
o
o
o
o
o
1
TP45
31
2
Q
Call word; No. of lines prelude &
routine
No. of lines for address modification
No. of unmodifiable constants
No. of inputs
No. of outputs
Name (FLEXPT)
EXIT
Parameter; u = init. loc.; v = No. of words
Line index address. u & v = address
Zeroize index
Set it up
Location of 1st word
Set line index addresses
Countdown
Word for printing to Q
6
Q45
PT40
PT25}
PT25
PT25
PT16
[;IDoo~
PT40
PT27
PT36
PT12
o
77
47
57
117
o
Print one character
Save it
Test for non-printing character
Car. ret. (if necessary)
Reset index
Delete character already printed
Modify
and back
Constant
79 decimal
Constant
Erasable (number of words index)
Erasable (Temp. storage for printed
digit code)
71
General Power Routine (50012)
This routine is called from the Permanent Library as a result of thp
appearance in the source program of an expression of the form X POW Y where Y
is unknown during compilation.
The routine tests the values of X and Y during the Object Program to
determine what other routine, if any, of the Permanent Library is needed to
evaluate the expression.
For special cases of X and Y values the expression
is evaluated within this routine.
x
= 0,
y>O; x f 0, y
= O.
These include integral values for Iyl <64;
Other cases are handled by reference to the
Variable Exponent or to the Square Root routines.
72
GENPOW (50012)
GP
0
I
2
3
4
5
6
7
10
II
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
IA
0
0
0
0
0
32
MJ
RJ
MJ
0
0
0
SP
ZJ
EJ
TJ
TP
10
TP
10
TP
RJ
10
MS
TP
10
TP
10
MJ
TP
TP
MJ
TM
ZJ
TP
TP
MJ
EJ
TJ
TP
10
TP
10
RJ
10
PW
50012
0
0
0
126
104
14
2
No. of words for address modification
No. of unmodifiable constants
0
1
30505
0
30000
0
0
25171
GP6
30000
30000
0
0
0
0
GPI0
GP17
GP22
0
0
GP4
GP25
GP5
GP5
GP70
0
GP71
0
GP73
50002
2
0
GP67
0
GP71
0
0
A
A
0
GP5
GP32
GP76
Q
0
GP75
GP77
GP4
0
GP5
0
50022
2
Y
X
Name (GENPOW)
Entry
Exit
Out
In X (base)
In Y (exponent)
}
~0002}
50002
4
GPI06
50002
0
GP2
X = O?
Y = O?
Y > O?
RUN ERROR 2 (X = 0, Y< 0)
Set index
~0002}
50002
RUN ERROR I (X = 0, Y = 0)
4
GP14
Q
GP3
GP2
A
GP27
Q
GP3
GP2
GP40
GP43
50022
}
}
Y
X = 0, Y > 0 => X = 0
X
f:. 0,
Y= 0
~
Y
X = 1
I YI = 1/2?
IYI < 64 ?
4
50022
5
50022
25
Use VAREXP (50022 )
73
37
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
100
101
102
103
104
105
106
MJ
TP
10
RJ
10
MJ
LT
LT
SS
SJ
TV
SP
LT
SP
ZJ
SP
SS
TU
TP
RP
FM
TP
SJ
FD
TP
MJ
0
0
0
0
0
0
20
20
20
45
04
04
45
04
04
CA
0
GP4
0
50051
2
0
10011
0
GP74
GP34
A
Q
0
A
GP34
Q
GP72
A
GP4
30000
Q
GP5
GP64
GP76
Q
0
GPI00
GPI03
GPI06
0
0
0
4000
14000
74000
45471
20121
57524
45471
20121
57744
PW126
GP2
50051
Use SQRT (50051)
4
50051
0
GP62
Q
A
0
GP47
GP50 }
30000
Q
0
GP54
")
0
17
J
GP60
}
Integral part ~Q
If IYI non-integral use VAREXP
l,rI
\1\
X
Q
GP62
GP4
Mantissa of Iyl ~Q35 ... 9
Characteristic + 128 ~ A
Less bias
If characteristic < 0 use VAREXP
Shift mantissa by characteristic
}
_
_
l ' _ __ __
integral so 10rlIl
I" I
III
,
-.1
~Q
Form X Iyl in Q
A
GP65
Q
GP3
GP2
3
3
GPI06
1
117
200
0
0
0
23406
20312
20445
23406
20312
20445
Y < O?
Form reciprocal of (Q) if Y < 0
Store resul t in output line
Parameter for RUN ERROR 1
Parameter for RUN ERROR 2
Index address
1
79
128
1/2 F. P.
1 F.P.
64 F.P.
CR CR l' R U N
~ E R R 0 R
1
~ CR
~ ~
CR CR t R U N
~ E R R 0 R
2
~ CR
~
Temporary
+
74
Vari ab Ie Expone nt Rout i ne (50022)
This routine is referenced directly from the Object Program equations as
a result of the appearance in the Source Program of expressions X POW Y or
a
X , where Y and a are known during compilation, but are neither integers with
magnitude less than 64, nor are they equal in magnitude to 1/2.
As stated previously, this routine may also be referenced by the General
Power routine as a result of the above determinations during the Object Program.
The routine references the Natural Logarithm routine and the Exponential
routine to evaluate the expression.
75
Y
VAREXP (50022) X
IA
VP
n
v
50022
133
rUT.
__ w., No. of lines
0
0
107
0
0
0
0
16
2
No. of words for address modification
No. of unmodifiable constants
0
VE
1
07252
Name (VAREXP)
0
0
70 24543
M.J 0
VE6
Entry
1
RJ
30000
30000
2
MJ
0
30000
3
0
0
0
Exit
Out
4
0
0
0
In
5
6
0
SP
0
VE4
0
In
7
ZJ
VE25
~EIO }
10
EJ
VE5
VE17
= O?
Y = O?
11
TJ
VE5
VE22
Y > O?
12
TP
VE71
50002
10
0
3
13
TP
VE73
50002
RUN ERROR 2
14
10 0
TP VE76
4
VE112
Set index
15
RJ
50002
50002
10 2
17
MS
TP
20
10 0
TP VE73
16
0
VE70
X (base)
Y (exponent)
X
(X
= 0,
Y < 0)
RUN ERROR 1 (X
= 0,
Y
0
VE2
50002
3
50002
4
VE14
22
10 0
MJ 0
TP A
Q
23
TP
A
VE3
24
MJ
0
VE2
21
Prelude & Routine
}
X
76
= 0,
Y> 0
Y
=> X
=0
= 0)
TM
ZJ
TP
TP
MJ
LT
LT
SJ
0
10011
0
VE77
VE45
36
TJ
VE75
VE40
37
40
41
42
43
44
45
46
47
MJ
TV
0
A
os characteristic of IY! S
SP
Q
VE52
VE41
30000
Integral part to Q
S5
VE5
VE32
VEl00
~E27
~E3
25
26
27
30
31
32
33
34
35
Q
Q
ZJ
TP
~E53
~E52
TP
VE45
VE4
VE47
VE72
10
0
50
TP
51
52
10
MJ
LT
VE73
0
0
0
53
QT
VE74
54
TM
10
RJ
10
VE4
56
57
60
61
62
63
64
65
66
67
70
71
72
73
74
75
76
2
FM Q
TP
Q
10
RJ
10
TP
0
50041
SJ
SP
ZJ
TN
0
VEIOI
VEI04
VEI07
VEl12
0
0
0
0
0
0
Is IY! an integer?
Y non-integral, is X > O?
RUN ERROR 3 (X < 0, Y non-i ntegra 1)
VE14
Set (Q) = 0 if Y is even integer or
non-integral
If Y is odd integer set output line to
1 indicator
Q
VE3
5003 I }
~OO31
Compute
VE5
Form Y . LN !X!
~0041}
LN Ixi in Q
Compute
eyeLNIXI
= IX!
Y ~ Q
50041
~E66
~E66
MJ
0
0
0
0
}
27
4
o
Q
}
50002
VE4
VE63
VE3
VE65
Q
XY = 1
~0002}
2
TP
=>
Mantissa of !YI ~Q35"'9
128 + characteristic of IYI ~ A
Less bias
If characteristic of !Y! < 0, Y is
non-integral
Characteristic ~ 28? If so IYI is even
integer
o
A
50031
=0
}
VE36
0
55
= O?
X f 0, IY!
Q
A
LT
0
Is IYI
VE2
SP
SJ
}
Q
VE3
}
}
Is X< O?
Is Y an odd integer?
X< 0 and Y is ojd integer, so form
- IX! Y
-+Q
VE2
3
3
3
VEl12
1
34
117
Parameter for RUN ERROR 1
Parameter for RUN ERROR 2
Parameter for RUN ERROR 3
Index address
1
28
79
77
77
100
101
102
103
104
105
106
107
110
111
112
0
20
45
04
04
45
04
04
45
04
04
CA
0
14000
45471
20121
~
... ,.n ..
::>I::>~q
45471
20121
57744
45471
20121
57704
VP133
200
0
23406
20312
n n. ..
A'"
128
1 F.P.
CR
CR
II
t
E
R
I.
1
~
1\
~Uqq~
'-'
'f
23406
20312
20445
23406
20312
20445
CR
CR ~
R
II
II
E
t
.
R
R
2
CR
CR
t
II
II
E
R
~ 3
Temporary
78
R
R
R
R
.
0
N
R
1\
f"D
U
'-'
Vll.
N
0 R
II CR
U N
0 R
II CR
U
Natural Logarithm Routine (50031)
This routine is adapted from the USE subroutine, WFMR03, Natural
Logarithm - Single Precision Floating Point.
Given X, this routine computes y(x) =*Loge
with accuracy: Iy(x) - Loge x I ~ 2-27
where X ranges: 2- 129 ~ x < 2127
For numerical method see Rand Sheet 42.
*Approximation.
79
X
Natural Logarithm Routine (50031)
IA
LN
50031
o
o
o
o
o
0
0
0
0
77
16
1
1
46
50010
10101
MJ
0
1
RJ
30000
2
MJ
LGO
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
o
o
LQ
TJ
UP
SS
LT
SP
AT
SS
0
LG5
30000
30000
0
0
o
o
LG4
LG57
A
Q
A
11
}
i2
}
LG55
0
LG54
LG56
DV
Q
Q
LT
TP
TP
2
LT
o
RA
TJ
LA
SA
MA
r.:r
Exit
Out
In
LG40
LG3
Q
MP
MP
Cw; No. of lines on tape
No. of lines for address modification
No. of unmodifiable constants
No. of inputs
No. of outputs
Name (LN)
Entry
53
LG47
LG50
Q
2
30000
LG24
LG13
LG66
LG60
Q
0
LG66
x
x > O? If not; alarm
Unpack x
Form and store C-l
Form and store y = (2u - Root 2)/
(2u + Root 2) scaled 34
2
2G4 }
LG24
Q
Form and store y scaled 34
Form (LN2 u-2)/y - (LN 2)/2~Q
scaled J5
LG4
A
30000
LG57
LG22
Al
}
43
~E66 }
Form 2Y + (LN2)/2 scaled
Form
LN2u
scaled
33~
69~A
A
MA
LT
NP
TP
LG3
37
LG3
LG3
LG60 }
LG3
~G6l }
Form and store (C-l)LN2 + LN2uI scaled 28
MJ
0
LG2
LG66
50002
Exit
Set index
TP LG62
TP LG45
10 0
TP LG46
10 0
RJ 50002
10 2
Form and store LN xin floating point
3
50002
RUN ERROR 4
4
50002
o
80
(LN x, x
~
0)
44
45
46
47
50
51
52
53
54
55
56
57
60
61
62
63
64
65
66
MS
0
0
AT
II
14
25
77
13
20
26
0
05
17
0
45
04
04
CA
0
LG63
LG66
LG51
50353
62377
25255
77777
24047
10000
50117
1
42710
70000
0
45471
20121
57644
LN77
LG2
3
LG66
Q
45377}
45540
47723
77445
46320
0
14640
0
27760
0
117
23406
20312
20445
Parameter for RUN ERROR 4
Index address
Dummy command
Rand coefficients scaled 35
Root 2 scaled 33
Bias for input
2 Root 2, scaled 33
LN2, scaled 33
Bias for output
Print index
CR CR t R U N
II E R R 0 R
II
~ 4 . II CR
Temporary
81
Exponential Routine (50041)
This routine is adapted from the USE subroutine, WFMR06, Exponential Single Precision Floating Point.
Given x, this routine computes y(x)
with accuracy:
where x ranges:
I
vex) -
EXP
EXP x
-129 loge2
~
= EXP*
I
x~
2
x
-27
x < 127 loge 2
For numerical method, see Ramo-Wooldridge EXP-2 in ERA Central Exchange
Letter No.8.
*Approximation
82
Exponential Routine (50041)
IA
o
o
o
o
o
XPO
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
30
MJ
RJ
MJ
0
0
TP
UP
LT
AT
TJ
TP
TP
10
TP
10
RJ
10
EX
50041
o
o
107
56
23
o
1
1
o
72520
o
30000
o
o
o
11
~
XP63
XP64
XP72
XP51
o
XP52
o
50002
2
o
XP20
XP65
XP25
TV
A
LA
XP76
XP25
DV
ST
TU
TP
MP
LT
o
XP66
XP67
XP66
XP50
XP53
Q
1
RS
TP
30000
XP35
XPIO
Q
XP76
Q
XP44
XP3
XP3
EJ
A
AT
RA
TJ
NP
LA
AT
SJ
o
o
~P76 }
MS
SA
10101
XP5
30000
30000
XP4
XP76
SJ
SA
SJ
QJ
LT
Cw; no. of lines on tape
No. of lines for address modification
No. of unmodifiable constants
No. of inputs
No. of outputs
Name (EXP)
Entry
MJ
o
0
XP54
XP17
XP76
50002
3
50002
}
Exi t
Out
In X
Unpack X
Form C+8 in A and Q
If C > 34, X is out of range
Set index
RUN ERROR 5 (X is out of range)
4
50002
o
XP2
~P22 }
If C+8 < 0, form C+44 in A
XP22
XP23
30000}
XP26
If C+44
A
<
0, EXP X = 1
Set X in A scaled 35
o
X = K LN2 + R where R ~
XP76
XP3
XP35
Compute EXP R scaled 34
Q
ILN2/2 I
XP3
A
Q
XP70
XP33
XP7l
A33
XP3
Pack and adjust characteristic of EXP X
~P45 }
If characteristic underflow occurs,
EXP X is zero
Q
XP2
XP12
o
EXP X out of range?
Yes, so ALARM
Set-up
83
51
52
53
54
55
56
57
60
61
62
63
64
65
66
67
70
71
72
73
74
75
76
0
0
0
0
0
XP73
XP76
150
1333
10421
3
XP76
35404
23520
01327
0
52525
06225
02
10
17
20
77
0
0
13
26
0
17
0
45
04
04
CA
52525
0
77777
0
77777
25343
271
77777
0
77607
53
44
57737
37677
0
0
5620
13441
1
0
10000
0
45471
20121
57624
EXI07
0
117
23406
20312
20445
Parameter for RUN ERROR Print
Index address
-120
43
36
(LN 2)/2 scaled 35
L1\J 2 sea led 35
CR CR t R U N
II E R R 0 R
II CR
II ~ 5
Temporary
84
Square Root Routine (50051)
This routine is adapted from the USE subroutine, WFMR04, Square Root Single Precision Floating Point.
Given x, this routine computes y (x)
with accuracy:
where x ranges:
y(x)
-..IX
<
= Fx *
2-27
0 ~ x < 2127
The numerical method is by Newton-Raphson approximation.
*Approximation
85
Square Root Routine (50051)
IA SQ
50051
o
o
o
o
o
0
0
0
1
0
1
65
MJ
RJ
MJ
53546
0
30000
60101
SR5
30000
30000
5
6
7
10
TP
SJ
TP
TP
SR4
SR7
SR45
SR43
10
0
11
TP SR44
10 0
RJ 50002
SRO
1
2
0
300
4
0
0
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
o
A7i
SR14
SR52
50002
3
2
o
0
10
SR2
DV
AT
SP
DV
AT
Sf>
DV
AT
SP
SA
NP
TP
MJ
0
0
0
35
A
SR22
Set index
RUN ERROR 6 (SQRT X or X< 0)
50002
4
50002
10
SR17
A
Exit
Out
In X
o
MS
LT
TP
QJ
SA
TP
ZJ
SP
SA
LT
SP
A
Cw; no. of words on tape
No. of lInes for aaaress modiiication
No. of unmodifiable constants
No. of inputs
No. of outputs
SQRT
Entry
63
50
5
i:
If characteristic is odd (even), form
and store y = 2u eu), scaled 35
O}
SR3
SR2
}
If X
= 0,
SQRT
X
=0
A
o
SR46
37
SR52
First approximation is (y+(2 Root 2-1)/
~/2 scaled 31
33
A
Newton-Raphson Iteration
0
SR3
SR52
SR52
SR3
SR52
SR52
SR3
SR52
SR52
SR4
SR5
SR3
SR3
0
SR47
SR52
0
20236
SR52
35
A
SR52
37
A
SR3
o
Form characteristic of Root X
33
A
Q
Pack and exi t
SR2
3
SR52
Para.meter for RUN ERROR 6
Index address
117
31500
(2 Root 2-1)/2, scaled 35
86
47
50
51
52
45
04
04
CA
45471
20121
57664
SQ63
23406
20312
20445
CR CR t RUN
~ ERR
0 R
~ t 6 . ~ CR
Temporary
87
Floating-Point Conversion & Print-Out (50062)
To convert to decimal, and print out on-line, a binary floatingpoint number, with a carriage return depending on the contents of a
specified index.
Calling Sequence
a
TP
L(Number)
+1
TP
L(Parameter)
+2
RJ CV2
+3
CV3
CV4
CV
Control returned here.
The parameter is the same as "Parameter 2" described in the
Flex-print routine.
Storage
176 8
5
orders and constants.
erasable locations.
88
Floating Point to Decimal Print Routine (50062)
IA
o
VC
50062
0
o
o
0
0
0
o
o
CVO
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
4J
41
42
4:\
44
45
46
47
50
51
31
MJ
RJ
MJ
[0
[0
PR
46662
0
30000
0
30000
30000
0
TU CV4
TV CV4
TP CV3
ZJ CVl5
PR 0
RJ CVl37
MJ 0
TP CV142
TM A
SJ CV20
PH
0
RJ
SP
TJ
TJ
FD
RA
SP
TJ
MJ
FM
RS
SP
TJ
TP
CV137
UP
Q
CVl46
CV151
A
CVl76
2
o
67066
CV5
30000
~OOOQ]
30ooQ]
3OO0Ql
eV32
CV36
CVl50
CV162
Test v.
Test v.
Too big,
Increase
o
o
CV36
CV25
CVl50
CV162
A
CV176
Exi t
Quantity for conversion
Line index address
Shift down
Set up line index address
Negative?
Yes, print - sign
Count
CV150
0
Call word; no. of lines prelude + routine
No. of lines for address modification
No. of unmodifiable constants
No. of inputs
No. of outputs
Name (FLTCVT)
Entrance
CVIO
CV134}
CVl36
A57
CVl2
CVl63
CV134
CV2
CVl76
Q56
CV22
CVl6
CVl34
Q
Quantity ~ A
Zero?
Yes Print Zero
Go count
And out
Zeroize dec. expo store
Iql~Q
I q I---+A
MIN. Jump
MAX.+ 1.
divide by
dec. expo
Test v. 10.
Too small, so multiply by 10
Decrease exponent by 1
Q
o
CV32
CVl77
A42
Characteristic~A
55
C-
A
CVl77
CV145
0
HJ CV137
MJ 0
if too small
Jump if O.K.
10
by 1
If < , then O.K.
CV147
SS
TV A
SP CV177
TP A
LT 0
TP CV143
ZJ CV52
PH
204
142
34
If < 1, back again
O. K., in scale now.
Send to erasable
119~Av
CV42
[OJ
CV177
A4
CV200
CV47
CVl63
CVl34
CV57
Position point between AL, ~
Save fractional part
Integral part~Afl
8--.index, as 9 dIgits wanted (in ALL)
Integral part zero?
Yes, so print
Count
Jump to process fractional part
89
52
TU CV140
CVl16
53
54
55
TP CV143
RJ CV127
TP CV200
CV201
CVl13
JO
,-/
5J
vVJI
57
60
61
62
63
64
65
66
67
PR
RJ
SP
ZJ
SA
TP
LT
AT
IQ
CV2
o
CV137
CV177
CV63
CV177
A
o
CV12
30000
~~T~"'7
1
Non-zerg integral part. Start dividing
by 10
9 powers of 10 to be used (.'. 8~index)
Go convert
Now if digit index -ve, no fractional
__
.J
CV37
CV134
2
CV72
1
CV177
A45
CV67
3000Q]
~_.L.
lJcUl-
..l
_ _ ..J
.:
WClJll-~U
dJiU
LL
_____ 4- _
~
_ _
_ ......
;:)u,
VUL.
Otherwise, print decimal point
Go Count
4f
Zero?
No, then digit formed in AL
Preserve remainder
Digit to AR
Form print order
IV
flu
\..I V i.J I
I"'lT'~"'7
I"'lT,':>A
\..IV i.J':I:
r_ ... _+
71
72
73
74
75
76
77
100
101
102
103
104
105
IJ
TP
ZJ
PH
RJ
PR
RJ
PR
RJ
TP
SJ
PR
RJ
TM
TU
TP
CV200
CV176
CV74
CV61
Back for 9 digits in all
How about decimal exponent?
If zero, out.
Print space
Count
Print E
Count
Print space
Count
Exp --.A again
Sign?
Negative, so print
Count
I expl--.A
Start dividing with 10 1
2 powers of 10 (no matter about no. of
digits printed)
Convert exponent
And out.
"'7n
106
107
110
III
112
Integer
conversion 113
114
115
116
117
120
121
122
123
124
125
126
127
nT
0
CV137
0
CV137
0
CV137
CV176
CVI04
0
CV137
CV176
CV141
CV162
RJ CV127
MJ 0
A
CV2
CV44
CV134
CV55
CV134
CV44
CV134
A
CVI07
CV16
CV134
A
CVl16
CV201
CVl13
CV2
TP A
CV202
CV122
TP CV132
SP CV202
o
DV ~000Q] Q
CV202
TP A
RA CVl16 CV175
SP Q
o
U> 30000 300061
[0
30000
3OO0Q]
RJ CV137 CV134
RS CV200 CV162
I J CV201
CVI15
MJ 0
~oooQJ
VVUUI.
Int~working store
Set switch to suppress leading zeros
Prepare to divide
Divide by 10'1
Save remainder
Modify divisor address
Examine qu~tient
ZJ
: AT
CV123
PH
0
Count across line
Count 1 output digit
Count 1 powe r 10
Exit
90
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
171
172
173
174
175
176
177
CV133 C\l122 }
MJ 0
CV122
ZJ CV130 CV126 }
AT CV12
CV123
IJ ~OOOQ) CV137
PR 0
CV65
TP CV144 ~000Q)
MJ 0
~000Q]
0
0 CV152
0 CV161
0
0
0
0
0
0
10
0 0
117
16 70000 0
DE 1.0 A -lAF
DE 1.0AOAF
DE 1.0AIAF
DE 1.0A9AF
0 5753
60400
0
13200
461
0 36
41100
0
03240
3
0
23420
0
0 0
1750
0
0
144
0 0
12
0 0
1
0
0
37
0 0
52
0
0
74
0 0
70
0
0
64
62
0
0
0
0
66
0 0
72
60
0
0
0 0
33
0
0
1
CA VC204
TP
Set switch to commence printing
Instructional constants
Count down on line index
Carriage return
Reset index
And out
8
Address of 10 1
Address of 10
Zero
8
79
119 in ch. field
Min.
1
10
Ma~. +1
10
107
1~
10
104
103
102
10 1
100
0
1
2
3
4
5
6
7
8
Flex codes
9
Dec. exponent }
Fractional part
91
Working space
"Inner" List Routine (50077)
Pu~e
Either: - To convert a binary floating-point number to decimal
XS3 form, and insert in buffer
Or:
- To convert a binary fixed-point number to decimal
XS3 form, and insert in buffer
Or:
- To test buffer for contents, and if anything there,
to dump buffer onto tape, clearing out buffer afterwards.
Calling Sequence
1)
2)
To empty buffer onto tape (.Q.!!.!.x. after some other usage)
a
RJ
+1
~
IW2
Control returned here--+
To write a floating-point number (n)
a
TP
L(n)
A
+1
RJ
IW3
IW
+2
3)
IW3
~
Control returned here ----+
To write a fixed-point number ( i )
a
TP
L(i)
A
+1
RJ
IW3
IWl
+2
~
Control returned here ---+
Initialization
Before the first usage of this routine, we must have:
TV
BI
IW121
where Blv holds the address in the buffer of the first word to be written into.
Each word in binary, when converted, occupies four words in the List buffer.
Each List sentence will use this routine from 1 to 5 times, each time it is
referenced.
After the initializing order above, words will be sequentially
written in the buffer
(thus occupying, at most, one blockette).
92
After all
such references in one List sentence coding, we must increment BI (the buffer
index) so that the next reference starts in the next blockette (i.e., - next
line) at the correct point.
For I variable, increment BI by 4
For 2-5 variables, increment BI by 2010
When this has been done, test the index to see if the buffer needs to
be emptied.
(Test with BF165, where BF is initial address of buffer).
After
any emptying, reset BI, in the case of 2 to 4 variables, in order to space
the XS3 correctly in the middle of the paper.
For 2 variables, increment BI by 6
For 3 variables, increment BI by 4
For 4 variables, increment BI by 2
For I and 5 variables, writing starts at the left side of the paper.
In addition, fixed location TN should hold the current tape number.
93
Floating-Point Conversion
Clear 24 Digit
Code Storages, 1
'r-'--';~ Sign Code Storage,
1 Exponent Storage
Put Point in
12th Digi t
Is Number
Negative?
Is Number
P
Put Negative
Code in Indicator
No
Put Zero in
11th Digit Place
Multiply
Number by 10
Decrease
Exponent
b 1
Yes
Unpack
Number
ITake Absolute
Maunitude of
Number
Store Fractional
Part and Set
Index for 9-Digit
Output
Set up Subroutine
to Start Storing
in 11th Position
as Uni ts Spot
Put Zero Code in
11th Digit
Position
Put Negat:hre
Code, if Any, in
10th Digit Position
~~es~;
~>
Number?
o
[';i vide
~)y 10
[
Find Position
for Sign and
Insert if An
1 Billion
Number
Increase
Exponent
b 1
r
~.
en
~
Obtain Next Digit
of Decimal Conversion by an
SP u 2 Followed
by SA u 1
Set Up Storing
Instruction so
1st Figure of
Fraction Goes to
13th Digit
Position
-I
~~I
Store ExcessThree Code of
Di it
Set Up Next
Storing Address
of Excess-Three
Decimal
Store E Following
Last Decimal Digit
of Converted
Number in Digit
Temporary List
Insert Sign
Code as Needed
Add 3 to Decimal
Digit for ExcessThree Conversion
Clear Sign
Code Ind icator
Integral
Conversion
ake Absolute
Value of
Exponent
Put Excess-Three
Code for Negative
Si n in Indicator
Set Index For
Maximum of 2
Figures
Set Up Loader of
Conversion Subroutine to Units
Position of Exponent
Integral Conversion
Divide by 10 and
Store Quotient for
Next Time Through
Loop
Store Code in
Digit Temporary
Storage
Add 3 to Remainde-r to Form
Excess-Three Code
for Digit
Reduce Storing
Address by 1
Have
been
No
Fixed-Point Conversion
Clear 24 Digi t
Code Storages and
I Si n Code Stora e
Set Up Storing
Instruction of
r-----..,,... Conversi on Subroutine to Initial
18th Units Position
Set Index for a
Maximum of 11
Digits
{Is
Put Zero ExcessThree Code in 18th
Di it Position
Number
~Negative?
Put Negat i ve
Excess-Three Cod
in Tern orary
No
Put Negative Sign
Code, if Present,
in Stora e
Integral
Conversion
Take Absolute
Value of Number
Clearing Buffer
Clearing
uffer Entr
re First 10 Addresses in Buffer
all Zero?
Add Uniservo
No Number to Param.
~ eter Referencing ~ WrIte Buffer ~
Tape Handler
Block on Tape
Clear
Buffer
Yes
~~~~--------------------------------------------------~'
Reset Initial
Buffer Loading
Add ress to Fi rst
~_~~~~\1Xit
-
l.inf>
Packing of Co~dile~s~~~~~====~-----------Initialize Masking
Set Up I ndex for ~ Operate
Instruction
to
on First
.;.. 0 0to 77Q Mask ~ Set Up Index for
5
4 Words
Line of Temporaries
,~ 6 Characters in
Word
&
1
I-+)
o
"'1
rF-
,
Up Address of
Packing Instruction so next Code-=Will Come From
Next Address
Pack a Temporary
with an ExcessThree Code Obtained from Digit
Storage
Has a Word
No
Been Completed?~--------------------~
Yes
No
Have 4 word~ Increase Storing
Store Word
been Stored?
Address for Next ~ in Buffer
Word
n
o
:l
(""I'
Inner List Routine (50077)
IA
Prelude
IW
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
o
WI
50077
o
o
o
o
77
L~6MJ
MJ
MJ
MJ
RP
TP
TP
ZJ
TP
M.T
SJ
TP
TM
TJ
TJ
FD
RA
SP
TJ
MJ
FM
RS
SP
TJ
TP
77777
o
34656
o
o
o
o
10032
RV
RV7
IW12
RV3
o
IW13
RV2
o
65450
IW4
IWIOI
IWl25
30000
IW6 }
TZ
TZl3
IWIO
TZl2
IWll1
IWl5
TZ30
A
A
IW24
IW30
RV16
RVI
Q
o
Test v. Min., jump if too small
Test v. Max. +1, jump if O.K.
Too big, divide by 10
Increase exponent by I
RVl6
IW30
IWl7
RVl6
RVI
If now < 10.0, O. K.
Otherwise, divide again
Too small, multiply by 10
Decrease exponent by 1
Q
o
RV15
IW24
TZ33
If > 1.0, O.K., otherwise back
Now in range
Biased char. ~ACH
Position binary point between
AL and AR
Save fractional part
Integral part to AR
Set index to 8
Or is integral part zero?
Yes, insert zero code
Place sign in position
Go process fractional part
Units position is 11th digit code store
Go convert integral part
Find sign position
And insert it
If A < 0, no fractional digi ts (or exponent)
1st fractional position is 13th digit
code store
A
TZ31
o
A
TZ31
A
TZ33
RV13
TV
SP
TP
LT
TP
ZJ
TP
TP
MJ
TV
RJ
TV
TP
A
SJ
157
21
77775
u is call word
v is number of words in routine plus prelude
Number of lines for address modification
Number of unmodifiable constants
Number inputs (-2 for Processor)
Number outputs
Name (LISTRN)
Entry for floating-point conversion
Entry for fixed-point conversion
Entry for buffer emptying
Exit
Clear 24 digit code stores, one sign
code store, one exponent store
Insert point code
Quantity zero?
Yes, insert zero code
Go pack
Non-zero, test sign
Negative, so note
RV17
RV20
UP
SS
TV
206
TZ33
A
o
RV5
IW44
RV3
TZ30
o
IW41
IW146
IW143
TZ30
IWl11
XE7
A
55
}
IW34
30000
TZ33
A
TZ32
IW41
TZl2
TZII
IW51
IW143
IWl37
IW47
30000
IW51
IW56
98
FixedPoint
Conversion
52
53
54
55
56
57
60
61
62
63
64
65
66
67
70
71
72
73
74
75
76
77
100
101
102
103
104
105
106
107
110
III
112
113
114
115
Packing
of
Codes
Clear
Buffer
116
117
120
121
122
123
124
125
126
127
130
131
132
133
134
135
136
SP
ZJ
SA
LT
AT
RA
1J
TP
ZJ
TV
TP
TP
SJ
TP
SP
SA
TV
TP
TM
RJ
TV
TP
MJ
RP
TP
ZJ
TP
MJ
RJ
TV
TP
TP
TU
TP
TP
LA
QS
RA
1J
TP
RA
1J
MJ
SP
RP
TJ
SP
AT
RJ
RP
TP
TV
MJ
TZ33
IW54
TZ33
44
RV3
1W56
TZ32
TZ31
IW63
IW56
RVI0
RV
IW67
RV2
IW64
RV3
A
RVI
TZ31
IW146
IW143
TZ30
o
10031
RV
1WI06
RV3
o
XE6
IW143
TZ30
RV3
XE7
RVl1
RV4
TZ53
30000
IW116
TZ30
TZ33
IW121
TZ32
o
RV
20012
BF
TN
RV14
GT2
10171
RV
RVl4
o
2
1W6l
1
TZ33
30000
RVl
IW52
Form and
store code
A
~ow
IWlll
IW64
30000
TZ30
IW70 }
TZ30
o
IW135 }
1W130
17
GT3 }
GT
IW135 }
BI
BI
IW3
process decimal exponent
Find address for E
Store E code
Clear sign code temp. store
Note negative sign if wanted
~W143}
TZ32
Q
IW140
IW77 }
30000
IWl11
IWI03 }
TZ
IW104
TZ21
IWIll
XE
IWII0}
30000
TZ32
IWl16
Q
TZ30
6
TZ33
RV12
IW115
30000
RVI
IW114
IW3
Fractional loop
Units position of decimal exponent
is 3 beyond fiE·' store
1 to index
Go count
Insert sign code as required
Jump to pack
Fixed-point entry. Clear 2410 digit
code stores and 1 sign code store
Quantity zero
Yes, so note
Jump to pack
Patch correction
Negative sign in excess three
added, if number is negative
3 to 1st index
Initialize
Mask~Q
5 to 2nd index
Store one word in buffer
Increment buffer address
Jump to exit
If 1st 10 stores not> 0, buffer empty,
so out (but index may be at BF+n)
Tape number to u of A
Send parameter to GTH and write
block on tape
Clear buffer
Reset buffer index
Out
99
137
140
141
Integer
142
Conversion 143
144
145
146
CorrecXEO
tion
1
Patch for
2
Fixed3
Pt. Num4
bers
5
TP
SP
ZJ
DV
AT
RS
6
7
MJ
0
o
o
TZ
RV
0
1
2
3
4
5
6
7
Constants
10
11
12
13
14
15
16
17
20
IJ
A
o
IW142
RV6
RV3
IW143
TZ32
IW146
Q
30000
RVI
IW140
30000
IW143
TZ32
XES
TZ30
MJ
0
TV
TP
SJ
TP
TM
RJ
IWI04
RV6
XE3
RV2
A
IW146
o
o
o
o
o
o
o
o
o
o
16
74
DE
DE
DE
DE
CA
Integer -+Q
Q
Q
0
0
0
0
0
0
0
0
0
0
1
70000
20100
1.0
1.0
1.0
1.0
WI206
A
IW137
30000
TZ14
o
Divide by 10
Form and store code
Exit
units position is 18th temp. store
Set index to 1010
Is number negative?
Yes, put XS3 code in temporary
Take absolute value of number
Go convert
N~
u is beginning address of temporaries
v is location of period for floating pt.
1
2
Negative code
3
5
10
12
22
30
Code for period
Code for E
77
o
o
1005
o F
1
F
-1 F
9 F
119 in ch. field
GTH code
1.0
10.
0.1 (Min.)
Max. + 1
100
Explanation of Temporaries Used
TZ-TZ27 are used for storing the XS3 codes of the 4 words resulting from
anyone number that is listed by the routine.
and the exponent letter E are stored here.
Signs, decimal digits,
If the number is floating-
point, the units position is TZl2 and a period is put in TZl3.
fractional part of a floating-point number starts at TZl4.
The
If the
number is fixed-point, the units position is TZ2l.
TZ30 {Minus XS3 code is stored here, as needed.
Holds index for packing 6 characters in a word.
TZ31
Exponent of floating-point numbers that are to be expressed
in scientific notation is built up here.
Index for 9 digits of fractional part of floating-point number.
TZ32
Index for possible two digits of an exponent.
Index for 4-word output of anyone input number.
Index for maximum 11 decimal digits of an output number.
Floating-point number in a certain range put here temporarily.
TZ33
Fractional part of floating-point number put here
as it is converted to decimal form.
Output words of any number are built up here prior to insertion
in the Output Buffer of the List routine.
101
"Inner" READ Routine (50100)
Purpose
Either:
Or:
To position data tape to beginning of required data
To extract one word of decimally coded data from tape, and convert
to binary floating point.
Calling Sequence
1)
Tape positioning
a
TP
+1
RJ
+2 :
L(Variable Name)
IN
Abnormal ""end of data
I
INl
IN2
return
H
I
+3
Normal return, with tape positioned
~
a + 2 will hold a MJ instruction.
If READ is of type
including
"IF END OF DATA JUMP TO SENTENCE---tt, then the appropriate sentence
CW is filled into v.
Otherwise, we have MJ
0
a
,i.e., to return
to beginning of data, and commence extraction over again.
2)
Data Extraction
a
RJ
IN
+1
+2
TP
RA
Q
+3
+4
[
IN3
[
?
]
Normal return, word in Q
IJ
Abnormal return, insufficient data
If the routine is referenced enough
times to cause the tape to
move onto the next data set, an alarm stop is met.
If START is hit,
remainder of array is filled in with zeros, and exit is made at a + 4.
Initialization
None as such, but FX and FXl must hold the initial location of the
data index, andj n, n describing it, respectively.
Storage
606 8 orders, constants, and temps
+
+
Note:
1708 word buffer (which is termination buffer)
2 fixed locations.
This routine includes the XS3 to Floating-Point conversion routine
from GGO-CF16. (See Section III,3-Translation Subroutines.)
102
A Note on the Mechanism of Tape Positioning
The "data index" is read in and translated into the form shown in the
accompanying diagram.
When a variable is requested by generated READ coding,
the index is searched to find this variable, and hence thet\ape synonym."
is noted, and then scanning continued, to find the first ·'TAPE
tt
-
This
and hence
the containing tape number, and hence the uindicator."
Now, at the start of the problem, the tapes are rewound, and "ADATAA" placed
in the indicator.
If this is seen, we scan the tape forward, searching for
the required tape synonym.
If not, we search the index again, to determine
whether the "indicator" word can be found before the required synonym.
so, we scan the tape forward.
If not, we scan backward.
If
If the tape is at
the extreme end, this also is signified by a special "indicator", and the tape
scanned backward.
When positioning is completed, the synonym is placed in the indicator for
this tape.
103
INDEX FORMAT AND DESCRIPTION
The necessary information to describe the data index is contained in two
(running) fixed locations:
FX
o
L
L
+1
o
J,n
n
Where L is the initial location of the index, J
= 2,
and n
= number
of
locations occupied.
Format
I X
Vtl,l
+1
Stl,l
+2
Vtl ,2
+3
St 1 ,2
+4
I
Vtl,3
Where: V represents the name of the
variable as referenced in the program
S represents the synonym for
this data, as actually written on tape
t represents the octal tape
number containing all preceding information,
back as far as the previous "TAPE" word
~tl' 3
,
etc
it represents the tape synonym
of the data last read in from tape t.
I
I
T AP E
OOOOOOOOOOt
l
(N. B. This word may also hold nLl DATA A 4',
indic2t.ing that this tape is rewound, OR,
t
II ~ END.10· , showing that
the tape is at
the end of all information written thereon.)
Vt2, 1
St2,1
Vt2,2
St2,2
TAP E
OOOOOOOOOOt 2
tt2
I
etc.
V's will be XS-3 coded, pushed to the left of the word, and filled with 77's.
S's will be XS-3 coded, pushed to the right of the word, and filled with space
symbols.
104
"End of Dat a·' Procedure
This example shows three sets of A, each of two blocks, fOllowed by two
sets of B, each of three blocks.
r_ _ _
A
~A~
B
__________A_ _ __ _
Data extracted,
normal exit
1st Read A
v
2nd Read A
Data extracted,
normal exit
Data extracted,
normal exit
3rd Read A
:v
4th Read A (i)
So back up, leaving
B in indicator, take
end-of-data exit
( i i)
( i v)
Then
/'NO
Y-,....-l\,L-/-+----+--+---+-----I
/><;:Jump,
I
then eventually
:
'Re ad B
~'-+---+---'-i__
L-_+y__--1
V '..'
I
or
,
,
"-
Back up to start of A
jump)
I
I
B Sentinel seen
'Read A
105
Read forward, B seen,
go ahead, extract
data
Entry I
START
DATA EXTRACTION
Initialize ST
Routine.
r ~ ~~~ox 3
in®
Clear Input
Lines to Routine
GG (fl. pt.conv.)
Set CC~ 1110
(Index for
Character Extraction)
Enable Routine
GG Only.
K~M
M~~
2010~XX.
(i.e. Ignore 1st
Bloc ket te of any
One Data Set)
N~N3
(Set NC to pick
up NL for Initialization
Entry 2
TAPE POSITIONING
Inner Read Routine
Ini tializatim
for Data
Extraction
Normal
Exit
M
... MI
i . e., Enab Ie
Complementation
of Output from
Conversion
B ~--~--------------~
CC
(Countdown
Index)
CC-I~
on
Inner Read Routine (Cont.)
Scan to End of Field
----------------------------~~--------------------------l
Normal Exi
~
o
co
K~
L
i.e., Enable Output from GG to be
Raised to Appropriate Power
L~
Ll
i . e. As s u me a
Positive Decima
Exponent
I
O~XX4
(Results Store)
1 ~ CC
(Index)
Inner Read Routine (Cont.)
Add in C(XX4)
Times 1010' and
Place Result bac
in XX4
Subtract 3
from Character
L ~
CC-l~
CC
LQ
i.e .• Prepare
for negative
Decimal Exponen
Perform
RP W
i.e. Set NC to
Pick Up NL Routine
Next Time Used.
(To Start New
Bkt. )
FM
Q
L( 10)
Output of
GG~
Q
Perform
RP W
FD Q L(IO)
TN
Q
Q
EXIT
Inner Read Routine (Cont.)
START -..-,.
XX2 -1 ---;. XX2
XX1-1~XXl
(i.e., Decrease
Shift Index by
(Le., Decrease
Word Index by 1)
1)
___t:..___~ End
N~Nr)
of
'L'lne EXl. t
Inner Read Routine (Cont.)
r
+
(Box
--
START XX+20
1~
r
1)
~
5~XX2
XX
Box 1
Send Word from
pth row, rth pOSe
to XX3 (Word for
Current Processing)
6
~XX2
~~~
19
~
Set Normal
Exit
XXI
Shift C(XX3)
Left in Q by 6,
Mask Out 1
Character
Send Word in pth
row, rth pOSe
to XX3
Set
in
Normal
Exit
B~l
~
No
Read 1 Block of
Data from Tape
Referenced by TN,
in Forward
Direction
or 2nd Word
a Sentinel?
O~XX
Yes
ERROR ROUTI NE 2
Inner Read Routine (Cont.)
EXI
Box 2
Box 3
n-6~
START
LA
A n
AT
GGr
GGr
n
in Box 2
CCl-l
r+l+ r, Box 3
~
CCI
5
~ c~ ~30.
n
!lox
:~
EXIT
Inner Read Routine (Cont.)
~----------------------------------------------------------------------------------------.----------~
"Inner" Read Routine (50100)
IA
o
o
o
77
o
1:'\0
1
2
3
4
5
6
7
10
11
DRO
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
54
MJ
[0
~lJ
TP
TP
TP
TV
TV
TP
RJ
RJ
EJ
EJ
EJ
EJ
MJ
TP
TP
MJ
TJ
RJ
RJ
EJ
EJ
EJ
EJ
MJ
~I
50100
o
o
77777
o
30242
o
30000
o
CF13
CFl3
CF3
DR56
DR62
ST14
ST12
BM27
CF3
CF22
CF20
CF23
o
CFl3
CFl3
o
CF1
ST12
BM27
CF3
CF22
CF20
CF23
o
TV
DR64
RJ
EJ
MJ
CF3
TV
TP
TP
RJ
EJ
TJ
ST
SP
SA
AT
RJ
BM27
o
DR63
DR65
CF13
B~27
CF3
CFI
CFl
XX4
XX4
Q
B\127
557
473
56
77775
o
75450
[3000Q)
3000Q]
PS
GG4
}
GG5
CC
DR53 }
DR60
STI }
ST10
BM
B~1
BM
DR6
DR6
D111
XX }
XXI
BM
DR21
ST
BM
DR51
DR25
DR47
DR47
OR12
OR60
BM
BM
ORl5
DR53
DR57
XX4
BM }
BM
DR45
}
L4 }
B~1
Call word; no. of lines prelude & routine
No. of lines for address modification
~o. of unmodifiab1e constants
~o. of inputs (-2 for Processor)
No. of outputs
l'\ame (READRN)
Exit
Input line
Entry for tape positioning
Entry for data extraction
Clear GG input lines
1 to ST word index (2 input lines only)
Set switches for GG conversion only
Initialize ST
Obtain one character
Dis card 1e ad i ng "
Discard E
If,} end line
If;
O.K. or digit
Start new line
Continue search for start
St art. - s i gn?
No, digit, store
Get next character
If /\, out
If E, go process expo
If, } end line, out
If;
Otherwise, go store
- seen. enable complementation
Discard any /\ between - and digits
E Seen, enable exponentiation
Assume +ve exponent
Zeroize exponent store
Discard /\ between E and first expo
character and - and 1st exp.digit
- sign?
:'\0, form exponent
Get next character
113
40
41
42
43
44
TJ
EJ
EJ
EJ
MJ
'T'O
Ll
46
47
50
51
52
53
54
55
56
57
60
61
62
63
64
65
66
BM 0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
5T
0
1
2
3
4
MJ
TP
TP
RJ
TP
MJ
o
DR5l
DR47
DR47
DR5l
DR33
UHVV
UPul
o
DR30
XX
XXI
GG
CFI
CF20
CF23
CF21
no,:..,:..
CFl3
CFl3
GG2
GG3
o
LA
XX4
TU
A
RP
ro
C;'
MJ
[OJ
30000
o
TN
Q
MJ
o
o
o
o
o
FM
FD
1J
1J
1J
Q
Q
XX
XXI
XX2
SP
TN
AT
RJ
TP
EJ
EJ
TP
TP
CF37
GT2
CF26
BF
BFI
CF2
BM21
XX3
XX3
CF23
TU
RA
TP
TP
RA
TP
LQ
QT
EJ
TJ
RP
EJ
MJ
[0
[0
R5
1J
1J
[30ooQ]
BMl6
CF2
BF
CF
CFl3
CF24
20004
CF20
If " or - lout
If, } c 1ear, out
If;
If ., out
Otherwise, back
not::.,
- exp. seen.
Zeroize shift index
Zeroize word index
Go convert
Output -+ Q
Q
[3000Q]
17
DR56
OR60 )
r
~()()()O\
...,V'-v-vV.,J"I
[3000Q)
Q
IN
And out
DR54
DR61
CF25
CF25
BM21
BMl6
BMl3
17
GT3
GT
Jump on shift index
Jump on word index
Jump on line index
}
Z--Z~A
A
EP5
EP5
XX2
XX3
BM16
CF17
XXI
BF
CF4
XX
6
A
Read one block (forward)
}
If Sentinel, go to probable error routine.
(It will be necesaary to back up tape)
5/to line index
Initialize to BF
Inc. by 20 (u)
19 10 ~word index
}
BM
BM27
BM
}
BM27
[30006]
o
30000 (30000)J
(30000) (30000>]
CF27
5T
5Tl2
CCI
5T7
CC
Inc. by 1 (u)
5 ~ shift index
Extract 1 frame
If 00 (i) discard
If < 15S, O.K.
~ 15 - check for permitted , .
E
otherwise reject
Exit
LA A n (or MJ 0 STI2)
AT GGr GGr
Decrease shift by 6
Count down on character index
Insure not more than two words of input
114
5
TP
6
7
MJ
o
RA
TP
TP
CF2
10
11
12
13
14
STI
ST13
o
[30009]
LA
AT
A
36
GG4
SC
SCI
GG4
FXl
FX
INI
SC7
TU
1
TV
2
3
4
5
TP
RJ
TP
TP
6
7
LQ
TO
10
TV
11
12
13
14
15
16
17
20
21
TP
RJ
TP
RA
TV
S5
SA
TV
RA
22
TV
23
24
25
26
27
LQ
TV
TP
EJ
EJ
EJ
RP
EJ
[3006<21
33
34
35
RJ
EJ
MF6
CF35
MJ
2
36
37
40
41
42
43
SP
AT
RJ
RJ
TN
CF40
GT2
TBII
31
32
44
45
46
47
ST
ST12
CF30
CCI
ST
M.J
PS 0
30
FORWARD
ST6
A
SC
A
CC
SC6
CCl
Q
17
SC
SCI
Q
SC6
CF33
SC7
A
Note tape number
Form address of indicator
And set up order
Add 17774 in "u
A
CCI
CF41
o
o
A
CCI
A
Q
PS31
PS35
PS32
Q25
TB6
[3000Q]
A
CF34
PS33
PS55
PS36
PS33
PS36
A
PS25
CC
CF35
[OJ
o
MJ
MJ
o
EJ
Store synonym of variable requested
Save order containing syn. address (TP L
(syn) A)
Set up RP for continued scan
Set up EJ for continued sCan
1\ 1\ TAPE" ~ A
SC
TN
CF4
PS25
SC6
Yes, set entrance skip
And out
Augment u and v, to input 2nd line
Reset index to 5
Reset 1st instruction
Exit
Constant
Constant
Set up RP
Set up EJ
Variable required
MF
EP
PS33
17 }
GT3
GT
TB
PS36
PS46
CF34
MJ
o
EP
PS36
SP
EJ
BF3
CF32
~S51 }
11
tl
,
forming jn for repeat
Increment by 2 in "u" field
Set up subroutine with address of indicator
Indicator syn.~A
= 1\ DATA 1\ ? (i.e., at start of tape?)
= Required Synonym?
= 1\ ENOl\O? (i.e., at end of tape?)
None of these. Scan from L(Syn)~L(TAPE)
If indicator scan, move backward; if not,
forward
Go read forward
Return here if Sentinel seen, but incorrect
one. So test for end of tape, & if not
carryon
Read 1 block backwards
Read 1 block backwards
Return here if ~ Sentinel seen
Return here if correct syn seen, so go
test Set No.
Incorrect syn, check not start of tape
Test for 1st set
115
50
51
52
53
54
INDIC= 55
SYN
56
57
60
61
62
63
64
SC 0
1
2
3
4
5
6
7
MF 0
1
2
3
4
5
6
TB 0
1
2
3
4
5
6
7
10
11
EP 0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
MJ
SP
SA
EF
MJ
RJ
MJ
RA
TP
TP
TP
TP
MJ
RP
EJ
SN
SA
SA
TU
TP
MJ
SP
AT
RJ
RJ
MJ
MJ
MJ
TP
RP
EJ
RA
AT
TP
TP
EJ
[0
MJ
TP
RJ
TP
MS
o
RA
TP
RJ
TP
MS
o
SP
SA
EF
MJ
o
TN
CF36
PS36
14
o
o
o
PS57
iviF6
iviF
o
IN
CF13
CF13
CF2
CF52
o
[OJ
r-~ ~~~~.,
L.juuuuJ
Q
FXl
FX
A
[30000J
o
TN
CF37
GT2
TBII
o
o
o
A
EP13
CF3
XX
XXI
XX2
XX3
IN
~~2
17
~C6
}
}
}
And extract word following that sought
[3000Q]
~~3
GT
TB
MF
PS57
}
[30000J
CF26
A
20002
TBII }
TB3
CF3
TBIO
BF
TBll
CF3
BF2
A
CC
A
~OOO~
TSII
30000
o
3000~
[3000Q]
EP4
CF55
INI
~F53}
o
CF42
IN
EP12
CF55
INI
o
CF46
TN
CF31
o
o
Not 1st set, so go back and read more
Now move 1 block forward
Add in EF code
And execute
Go to normal exit (modified)
Read iorward until next Sentinel
Incorrect syn;:. end of data,,'. abnormal
exit
Normal (modified) exit
Clear shift index
Clear word index
5--+1ine index
Erasable address store to BF24
And out
Scan index as specified
PS
Exit
Read in one block
Go perform tests
No 2 - 2 Sentinel, read more
Required synonym, go modify exit (as usual)
Incorrect synonym - exit
2--2 -+A
If either of 1st two words all 2's,
accept test
Examine syn. of this data, and place in
indicator
= Required synonym?
Exit 3
Exits 1 and 2
Data cannot be found on tape
(DATA INDEX ERROR)
(N.B. - tape may be mounted at this stage)
4
CFl
Inadequate data.
gF53 }
Q
EP13
Print out
Note data
r}
Set abnormal exit
4
IN
Back up tape I block
And exit
116
XS3 to Floating Point Conversion
Routine GGO-CFl6 used here (See Section
III, 3-Translation Subroutines)
CF 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
24
0
0
0
0
0
0
0
0
0
0
0
DE 1.0616F
74
74747
0
0
1
0
02
14
65662
01
66245
01
27246
01
30502
01
4
02
50 00100
60 00100
0
17774
47223
45
04
14062
20121
04
24202
44
47140
45
20
35343
04 22300
24202
04
BF24
0
TP
Q
RJ PR2
MJ 0
CA NI557
0
21
22
30
23
15
~}
XS3 codes
(Also 19
10
)
10 (floating pt)
47474
6
1
1
45466
23001
62401
70151
1
BF
BF167
0
00130
22027
20312
00435
63022
00120
13044
00435
0
PR3
PR
[3000~
z-z
Move bac kward one block
II START
ATAPE A
6 DATA A
II END 110
Move forward one block
Read forward
Re ad bac kward
t
DATA
cr
11 INDEX
A ERROR
. SEE II Q
cr t INAD
EQUATE
A DATA.
I:l SEE II Q
117
PS section error
Integer Conversion & Print-Out Routine C50ll2)
Purpose
To convert to decimal, and printout on-line a positive binary fixedpoint integer, with a carriage return depending upon the contents of a
specified index.
Calling Sequence
a
TP
LCInteger)
+1
TP
LCParameter) IC4
+2
RJ
IC2
+3
IC3
IC
Control returned here.
The parameter is the same as "Parameter 2'\ described in the Flex-Print
routine.
Storage
71e
2
orders and constants
erasable locations
A and Q destroyed
lIe
Integer Conversion and Print-Out Routine (50112)
IA
o
o
o
o
o
CI
50112
o
o
o
o
2
50662
67066
IC5
30000
30000
30000
30000
IC22
IC27}
IC31
A56
IC12
IC34
rCIO
IC72
2
34
MJ
RJ
MJ
3
0
4
5
0
PR
6
TU
7
10
11
12
13
14
TV
TP
SJ
ZJ
PR
o
TM
A
15
16
17
20
21
22
23
24
25
26
27
30
31
32
TP
TP
TV
RA
TP
DV
TP
SP
IC53
IC41
IC16
IC22
IC72
30000
IC 0
1
0
0
IJ
PH
TP
IJ
o
30000
o
30000
30000
o
IC4
IC4
IC3
IC13
IC14
A
Q
30000
30000
3OOQO
o
IC67
IC71
33
MJ
o
34
35
36
37
40
41
42
43
44
45
46
47
TP
TP
A
MJ
PR
AT
ZJ
IC40
o
o
0
0
IC37
IC35
24027
73465
5753
461
36
0
3
11
0
0
77
42
27
o
IC71
IC25
IC22
IC70
A45
Q57
IC72
o
30000
30000
IC32
IC21
30000
IC20
IC2
IC71
IC25 }
IC25
IC55
IC26
IC32
62000
45000
60400
13200
41100
03240
Call word; no. of lines prelude + routine
No. of lines for address modification
No. of unmodifiable constants
No. of inputs
No. of outputs
Name (INTCVT)
Entrance
Exit
Binary Integer Input
Line Index Address
Switch to lower case
Set line index address
Negative?
Zero?
Print minus sign
Non-zero, send positive integer to working
space
Set divide index to 10 decimal
Set switch to suppress zeros
Initialize divide
Prepare for next power of 10
Store remainder
Quotient ----,.A
ZJ IC35 IC32; AT IC37
PR 0 IC55 +n
Test for end of line
Carriage return
Reset index
IC26
To exit
Set divide index to zero
Set switch to commence printing
119
1043
102
10
1001
10
n __
23420
1750
144
12
50
51
52
53
54
0
0
0
0
0
I:::=:
n
v
n
V
oJ.
v
56
57
60
61
62
63
64
65
66
0
0
0
0
0
0
1
2
3
67
0
70
71
72
0
CA
oJ..J
0
0
0
0
0
'l"7
0
0
0
0
0
0
0
52
74
70
64
62
66
72
60
33
0
1
0
0
0
0
0
0
CI77
4
Flex Codes
5
6
7
8
9
117
}
Temps. and index
120
3. UNICODE SYSTEM TAPE PACKAGE
3.
UNICODE SYSTEM TAPE PACKAGE
This package makes possible a reproduction of a UNICODE Master Tape and
a quick comparison by sections with the original to check the accuracy of the
reproduction.
Also an octal copy of the UNICODE Master Tape can be taken for
listing by the High-Speed Printer.
Corrections and/or alterations to the
UNICODE System are facilitated by its use.
There are two versions of this set of subroutines; one for the 1103A and
one for the 1105. High-speed memory usage is confined to the first core bank
of 4096 addresses.
The main routines to perform the functions mentioned above are described
in this write-up as well as a number of subsidiary routines which are used by
the main routines and are also usable by an operator from the console.
A list of these routines follows:
1) Reproduce UNICODE Master Tape
2) Compare Two UNICODE Master Tapes
3) High-Speed Printer Octal Listing of UNICODE Master Tape
4) Read Magnetic Tape
5) Write Magnetic Tape
6) Biocta1 Paper Tape Loader
7) Flex Paper Tape Loader
8) High-Speed Printer Octal Dump on Magnetic Tape
9) Read to Q
10) Write From Q
11) Changed-Word Post Mortem
The package is stored as follows:
40200 - 40330}
40400 _ 40435
Reproduce UNICODE Master Tape
40500 - 40520 High-Speed Printer Octal Listing of UNICODE
Master Tape
40600 - 40746
Compare Two UNICODE Master Tapes
41000 - 41430 Read. Write Magnetic Tape
44600 - 45741
Routines 6-11
The Read and Write Magnetic Tape routines bootstrap themselves into
core addresses 6230-6661.
6227.
They use a read-write buffer located from 5270-
The core is not restored after their use.
123
Compilation with UNICODE or running an Object Program destroys this
package.
On the Master Tape, UNICODE has been divided logically into 23 sections.
Thus a set of 23 parameters is used to read or write a UNICODE Master Tape.
Following is a table giving the sections of UNICODE, their length in blocks
(octal), and their loading addresses in the core or drum.
Section
Number
Number
Blocks
(Octal)
Section Title
1
UNICODE Sentinel Blocks
2
Merge
3
Set-up Translation
4
5
Translation Sub Prints & Translators
Region FC (Flex Codes)
6
Translation Subroutines
7
Dimension Translators No. 1 and No. 2
Fixed Library Catalog
8
2
Addresses
7230-7607
16
2
133
35-3134
7230-7607
50333-75600
1
40001-40100
17
4
21-3316
4400-5267
1
7230-7417
1
66
7230-7417
50212-64731
6
537-2043
1
7230-7417
11
674-2726
10
Set-up Generation
Generators
11
12
Generation Subroutines
Set-up Segmentation
13
Segmentor
14
Op File I for Fixed Library
1
7230-7417
15
Set-up Allocation
1
7230-7417
16
17
Allocation
7
Set-up Initialization
I
674-2403
7230-7417
18
Initialization Generator
16
2000-5057
19
1
7230-7417
20
Set-up Processor
Processor
21
Fixed Library Routines
6
17
653-2172
10-3417
22
Set-up Listing
Listing Routine
1
12
7230-7417
653-3027
9
23
124
Following is a brief description of the routines and their use:
1.
Reproduce UNICODE Master Tapes
The UNICODE Master Tape should be loaded on Uniservo 2 (Tape Control Unit
2, if 1105).
A blank tape should be loaded on Uniservo I (TCrn, if 1105).
MSI is on, a stop occurs after each typing of a section number.
the tape is reproduced without stopping.
If
If MSI is off,
Start with PAK at 40400.
Uniservo 2 is read according to the set of addresses of the first section
and the figure I is typed.
40414.
If MS I is set, the computer stops with PAK at
If this section is to be changed, Flex, bioctal, or magnetic-tape
inputs should be loaded at this point.
40000, Master Clear and Start.
If this loading does not alter address
If address 40000 has been altered, Master
Clear, set PAK at 40414, and Start.
The altered contents of section 1 is
then written on Uniservo 1; Uniservo 2 is read according to the parameter of
the second section; the figure 2 is typed; and the computer stops again on
MSI with PAK at 40414.
Now corrections or changes may be made in section 2
before restarting as explained above.
This procedure continues in a like
manner through the 23 sections of UNICODE.
40400.
2.
The final stop occurs with PAK at
Tapes I and 2 are automatically rewound.
Compare Two UNICODE Master Tapes
Put the UNICODE Master Tapes to be compared on Uniservos 1 and 2.
Set
PAK at 40000 and start.
The routine compares the two tapes and prints out any differences on
the typewriter in changed-word post mortem format.
only the section numbers are typed.
If the tapes are identical,
When comparison is finished, both tapes
are rewound and the computer stops at 40600.
This routine should be run after
every updating to see if the new tape has been properly reproduced.
3.
High-Speed Printer Octal Listing of UNICODE Master Tape
Put the UNICODE Master Tape on Uniservo 1 (TCU2, if on 1105); put a
blank tape on Uniservo 3 (TCU2, if on 1105).
Set PAK at 40500 and start.
The output on Uniservo 3 can be later run off on the High-Speed Printer
to secure the desired listing. Both tapes must be rewound from the console
after the computer stops at 40500.
125
4.
Read Magnetic Tape
Op
Q
= xxy
v
u
First
Address
yyy
Last
Address
where x is any binary digit and yyyy is the binary representation of the
Uniservo number.
If on the 1105, use a Uniservo under Tape Control Unit 2.
With Q set as desired, set PAK at 4i152 and start.
References from within
a program may be made by loading Q as desired and using the instruction, 37
412 17 41152 .
Op
Q
= Zxy
u
yyy
where Z
v
Last
Address
First
Address
= 1,
x is any binary digit,
yyyy is the binary representation of the Uniservo number.
Unit 2 if on the 1105.
Control
Set PAK at 41000 and start.
program by the instruction, 37
6.
Use Tape
This routine may also be referenced from a
41036
41000.
Bioctal Paper Tape Loader
Put the tape in the Ferranti reader, turn the reader on, set PAK at 44601,
and start.
The routine can also be used by the program reference, 37
44636
44601.
7.
Flex Paper Tape Loader
Put the tape in the Ferranti reader, turn the reader on, set PAK at 44602,
and start.
The routine can also be used by the program reference, 37
44602.
8.
High-Speed Printer Octal Dump on Magnetic Tape
Op
Q = zxy yyy
v
u
Last
Address
First
Address
126
44636
where z
z
=0
=1
means use of Tape Control Unit 1
means use of TCU2 if on the 1105. If on the 1103A,
must be set at 1 for any use of the routine.
Z
x = 0 means no rewind of tape
x = 1 means rewind with interlock and printer stop.
yyyy is the binary representation of the Uniservo number.
Set PAK at 44625 and start.
The output tape, when listed on the High-
Speed Printer, will give an octal dump of the storage area between the
addresses specified in u and v.
by the instruction, 37 44636
9.
This routine may be referenced from a program
44625.
Read to Q
Put address which is to be read in A , set PAK at 44603, and start. The
v
content of the address appears in Q and the address in A is increased by 1
v
for a read of the next address, if desired.
The computer stops on 44603.
10. Write from Q
Put address which is to be filled in A , put content that is desired in Q,
v
set PAK at 44604, and start.
The content of Q is stored in the address speci-
fied and the address in A is increased by 1 for another write in the next
v
address, if desired.
The computer stops on 44604.
11. Changed-Word Post Mortem
Q=
Op
u
v
XX
yyyyy
ZZZZZ
where XX = 00
XX f 00
YYYYY is
ZZZZZ is
gives punched paper tape output.
gives typed output.
the first address of the area to be compared.
the first address of the image.
In A should be put the number of words to be compared.
v
44613 and start.
struction, 37
Set PAK at
The routine may be referenced from a program by the in-
44636
44613.
127
Reproduce System Tape (KK)
Print Digit
Set Up
MSl
ON?
Restart
No
Rewind
Tapes
High-Speed Printer Octal Listing of Unicode System Tape (ZB)
Set Up
Write in XS3
acta 1 on Tape
ft:3 Us i ng Dump
Routine
23 Sections
Written?
No
Compare Two Unicode System Tapes
Do Changed Word
Post Mortem on
Typewriter
23 Sections
Read?
No
Rewind
Tapes
Write Magnetic Tape
Set Up
All Words
Written?
Fill Buffer
No
Read Magnetic Tape
Set Up
Transfer Buff.
to Storage
All Words
Read?
No
~
Yes
Regions for System Tape Package
BAT230
CA35
EA50333
FA40001
GA21
HA4400
JAT230
KA50212
LA537
NA674
RA674
TA2000
VA653
WAI0
YA653
BZ7607
CZ3134
EZ75600
FZ40101
GZ3316
HZ5267
JZ7417
KZ64731
LZ2043
NZ2T26
RZ2403
TZ5057
VZ21 T2
WZ3417
YZ3027
GG40200
22
PR40222
10
CE40232
10
CC40242
40
FF40302
27
KK40400
31
C040431
Z041152
M041000
RS40000
EN44600
5
ZB40500
14
CP40514
5
HH40600
102
HJ40702
15
VV40717
30
40747
131
Read
Write
Restart
Other Routines
System Tape Package
(Parameters)
IJNICODE
MASTER
TAPE SECTIONS
1
2
3
4
5
6
7
0
1
2
3
4
5
8
6
7
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
IA
41
4l
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
CA
FF
SA
CA
SA
EA
FA
GA
HA
JA
JA
KA
LA
JA
NA
JA
JA
RA
JA
TA
JA
VA
WA
JA
YA
FF27
1st & 2nd blks.
Merge
Two blks. after merge set-up S.O.S.
S.O. & S.O.S. prints
FC
S.O.S.
Dim. :ttl &:tt2
Lib. r.~t~lnn
------.,
Set-up Generation
Generation
Generation Subs
Seg. Set-up
Segmentation
Ope file 1 for Fixed Library
Set~up Allocation
Allocation
Set-up Initialization
InitializatIon Generation
Processor Set-up
Processor
Fixed Librarv routines
List ing Set-up
Listing
SZ
CZ
SZ
EZ
FZ
GZ
HZ
JZ
JZ
KZ
LZ
JZ
NZ
JZ
JZ
RZ
JZ
TZ
JZ
VZ
WZ
JZ
YZ
132
Produce Master Tape
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
GG
CC
GG5
GG17
GGII
CE4
CE3
GGIO
CE5
RS
CE6
(30000) CE7
PH
PRI
0
EN2
(30000)
GGIO
(30000) Q
M036
MOL
CE
GGII
GG5
CE
CE3
GG4
GG
0
FF
Q
MO
MD36
GG13
0
GG22
1A
TU
TU
TP
TV
TP
TP
RJ
MS
RJ
TP
RJ
RA
RA
1J
MS
TP
RJ
MJ
CA
Set to print ~l
Set address of 1st par.
Set index
Set one shot
Set restart address (40000)
No. to print
Print number
Stop for load
One shot
other params
Write tape
}
Modify
n parameters
Print Digit
0
I
2
3
4
5
6
7
1A
MJ
RP
PR
PR
SP
PH
SS
ZJ
CA
PR
0
2
0
0
CE7
0
A
PR5
PRIO
(30000)
PR3
CE2
CEI
52
A
6
PR
Exi t
Lower carriage
}
Print word
Constants
IA
0
1 0
2 0
3 0
4 0
5 0
0
6 MJ
7 0
CA
CE
1
0
0
0
0
0
0
0
0
57
45
Shift down
Return carriage
Index
Set index
0
26
GG17
GGlO
Set restart
No. to print
0
CElO
133
'*
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
IA
0
52
74
70
64
62
66
72
60
33
52
52
52
52
52
52
52
52
52
52
74
74
74
74
74
74
74
74
74
74
70
70
CA
CC
eCl
0
0
0
0
0
0
0
0
0
37000
52000
74000
70000
64000
62000
66000
72000
60000
33000
37000
52000
74000
70000
64000
62000
66000
72000
60000
33000
37000
52000
CC40
0
0
Flex for 1
0
2
0
3
4
5
6
7
8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
.0
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
134
Update System Tape or Reproduce System Tape
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
IA
TU
TV
TP
TV
MJ
TP
TP
RA
RJ
TP
RJ
MS
TU
RJ
TP
RJ
RA
RA
IJ
EF
EF
MS
TP
RJ
MJ
CA
KK
CC
KK26
CE4
CO
0
COl
(30000)
Q
Z045
(30000)
PR
10000
KK6
KKI5
(30000)
M036
KK6
KKII
CE3
0
0
0
FF
M036
0
KK31
Set to print :It 1
Set address of 1st par.
Set index
Set one shot
Skip
Set restart address
Set to read tape tt2
KKII
KK6
CE3
KKI5
KK5
RS
Q
}
C04
ZO
CE7
PRI
KKI4
KKI6
(30000)
~DI
CE
CE
KKS
CO2
CD3
KK
Read tape
Set print number
Print number
Stop for write
Set write address
One shot
Write tape
}
}
Modify
Rewind :It 1
Rewind :lt2
Stop
Q
MD
KK20
Constants
0
1
2
3
4
IA
0
MJ
2
2
01
CA
CD
0
0
200
200
0
CD5
KK26
KKI4
10000
20000
0
Rewind :It 1
Rewind 1t2
135
Dump System Tape on Servo 3 TCU2
0
1
2
3
4
5
6
7
10
11
12
13
IA
TP
TU
MJ
TP
RJ
TU
TP
RA
RJ
RA
IJ
MS
CA
ZB
CP3
CPl
50000
(30000)
ZD45
ZB3
(30000)
Q
EN36
ZB3
CP2
0
ZB14
CP2
ZB3
ZB2
Q
ZD
Set index
Set par. address
Test buffer.
Par.--+Q
Read Uniservo 1
~B6 }
Par.--+Q
Uniservo 3
Wri te Uniservo 3
Next parameter
23-parameter index
Stop
CP
EN25
CP4
ZB2
ZB
Constants
0
1
2
3
4
IA
2
0
0
0
0
CA
CP
0
FF
0
0
1
TCU2 designator
1st parameter address
Index
Set index
1 in u
0
0
0
26
0
CP5
136
Compare System Tapes
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
56
57
1A
TU
TU
TP
TP
TP
RJ
TU
TP
RA
LT
TV
TP
ST
AT
RJ
TP
RJ
TP
TP
RJ
RA
RA
RJ
1J
TP
RJ
TP
RJ
TP
TP
TP
RJ
TP
RJ
TP
RJ
TP
RJ
TP
RJ
TP
TP
RJ
RA
RA
TP
RJ
1J
HH
CC
VV2·7
VV6
(30000)
Q
Z045
HH3
(30000)
Q
25
A
Q
VV
VV4
Z045
(30000)
PR
VV
VVI
EN36
HH3
HH17
HH26
VV5
FF3
ZD45
CC4
PR
VV7
VVI0
VV17
HJ
VV12
HJ
FF4
Z045
CC5
PR
VV14
ZD45
VV15
VV14
EN36
HH3
HH17
VV17
HH26
VV5
Set to print 1
Set 1st parameter
Set index
HH17
HH3
VV5
Q
Set prog. address
Tape 1--+ storage
VV
ZO
~H7 }
Set parameter in Q
VV2
A
VV
A
A
VVI
ZD
CE7 }
PRI
1st add. of image to Av
Set image address
Last add.~A
Last - 1st ----+ Av
+1 to set A parameter
Read to image (No.2)
Print number
:N13}
Do CWPM
VV23}
VV23
HH27
HH3
Modify
One shot
3 parameters
Read in S. O. from No. 1
Q
}
ZO
CE7 }
PRI
Print 4
H~
H.J3 }
Compare S. o.
HJ4
H.n
HJ2 }
HJl
Q
Last of S.O.
}
Read FC
ZD
CE7 }
PRI
Print 5
}
Read Fe
Q
ZD
(+t! )
( #2)
:N13}
Compare Fe
VVI6}
VV16
VV5
HH3 }
HH56
Set for S.O.S.
Set index
Up to generators
137
60
61
62
63
64
TP
RJ
TP
RJ
TP
FFll
Z045
CC12
PR
VV7
l..c:.
TP
.LL
UUI)f\
~ V""" v
66
67
70
71
72
73
74
75
76
TP
RJ
TP
RJ
RA
RA
TP
RJ
VV4
HJ
VV22
HJ
HH3
HH17
VV24
HH26
VV5
'7'7
EF
EF
MS
CA
U • .J
I
I
100
101
IJ
f\
v
0
0
HHI02
Q
ZO
CE7
PHI
HJ2
J..I
T~
HJ4
HJl
}
}
I
J
HJ2 }
HJl
VV23}
VV23
VV5
HH3 }
HH75
lTlT9
. . _...,c;
VV26
HH
Read generator
(11:1 )
Print 10
Compare gen:
Last generator read
Skip generator parameters
Set index
Do rest of parameters
Rewind
Rewind
138
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
IA
0
0
1
0
0
0
0
2
1
0
2
0
2
1
0
0
1
0
2
0
0
2
2
0
CA
0
1
2
3
4
5
6
7
10
11
12
13
14
IA
MJ
MJ
0
0
0
TP
RJ
TP
TP
RJ
RA
IJ
MJ
CA
VV
0
0
50000
0
0
0
0
1
50333
5120
1
1
Index
Set index
Read 5.0. & gen.
Compare 5.0.
For more reads
Last read of 5.0.
2
5120
1
0
546
0
1
40001
2
0
50212
100
1
0
3
1
0
2260
0
14
10000}
20000
0
1
1
0
200
200
FF
VV30
HJ
0
0
30000
30000
30000
HJ2
Z045
HJ3
HJ2
EN36
HJ3
HJ4
0
HJlS
A for CWPM
Set for image read
Mask
0
0
0
Q for CWPM
0
0
50000
77777
Read FC
Compare FC
Set index
Compare gen.
Last gen. read
Set index
Rewinds
Exit
Start
Read par. & compo par. for A
Compare par. for Q
Index
Read 5.0. or gen.
30000
HJ5
30000
30000
30000
Q
ZD
}
CWPM
:N13}
Modify
N times
Exit
VVII
HJ5
HJ
139
Regions for Read-Write
Core
(Coding for both 1103A and 1105 versions shown)
B55267
1
.J.
Drum
BF5270
740
006230
40
EE6270
14
FF6304
5
WB6311
M041000
40
ME41040
14
MF41054
5
MB41061
Write
MR41106
CR6336
5
5U6343
5
MU41113
4
4
CC6347
20
BG6367
13
2A6402
51
ZB6453
13
ZC6466
40
BB6526
55
CA6603
35
PC6640
21
226661
CN740
CL737
LA6227
CM741
NN432
MC41117
20
MG41137
13
2041152
51
CB41223
13
OC41236
40
OB41276
55
CT41353
35
P041410
21
41431
No. of words
No. of words
Last add. of
No. of words
No. of words
in buffer
-1
buffer
+1
to bootstrap
140
Read
Write Magnetic Tape
DD
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
MJ
RP
TP
0
0
TP
QT
LQ
QT
ST
AT
TP
TJ
TV
TP
QS
TU
RP
TP
TP
SA
SA
LT
RS
ZJ
RJ
RJ
TP
TP
MJ
RJ
MS
CA
MD
0
NN3OO00
MD
30000
30000
Q
CC2
Q
CC2
BG2
CC5
BG5
BG6
DD4
CCll
BG6
D03
30000
30000
004
BG6
BG6
0
BG5
FF
WB
CR
DD4
BG5
0
M036
0
M040
MU
DD5
DD
30000
30000
DD3
BG2
17
BG3
BG4
BG6
A
EE
~D22
--+
}
Setup
Bootstrap
40 1st add. last add.
Par-OO
Next add. in buffer
1st add. ---+ temp.
Last add.~temp.--+A
Last - 1st --+ temp.
Last - 1st + 1
No. left--+A
No --+EE
Room this load t
}
Set RP & TP
D021
0022
0023 }
30000
A
17
25
004
BG6
0031
WB1
CRI
M04
MG5
M036
MD37
MOl
Words -+buffer
}
Update address
Set cells left
no ----+FF
Buffer full
Write tape
Clear
Set drum
--+drum
Exit
Stop
+
}
141
No room this load
EE
0
1
2
3
4
5
6
7
10
11
12
13
IA
TV
TU
TP
QS
RP
TP
RA
TP
RJ
RJ
TP
MJ
CA
ME
DD4
DD3
CCII
BG5
30000
30000
DD3
CC
WB
CR
OD3
0
ME14
EE5
EE ;)
}
Set addresses
Q
}
Set n of RP
}
Fill buffer
Update parameter
Clear number of cells left
Write on tape
Clear
Return to finish parameter
EE4
EE6 }
30000
BG5
BG5
WBI
CHI
Q
DD6
Room & buffer not full
IA
FF
MF
0
TP
003
QJ
RJ
RJ
MJ
CA
Q
I
FF2
0033
WB
CR
0
MF5
WBI
CRI
DD33
2
3
4
}
40 f 00--+ exi t
Write tape
Clear
Exit
142
Write Buffer
WB
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
IA
MJ
TP
ST
DV
ZJ
RS
SP
AT
EF
TV
TP
LQ
QT
TP
QS
EF
RP
EW
RA
IJ
MJ
CA
MB
0
CC14
BG5
CC7
WB6
BG7
BG7
CC6
0
CCIO
DD3
Q
CCl7
CCl7
A
0
10170
10000
WB21
BG7
0
MB25
(30000)
A
A
BG7
WB5
CC6
0
BGI0
CC3
WB21
Q
22
A
Q
CC4
CC4
WB22
(30000)
CCl6
WB17
Exit
}
No.
}
blks.~Q
Index
= No.
blks -I--+BB7
Set bypass (=MJ 0 WHil on II03A)
Set at BF
Set tape No. in code word
BF + n(170)
Write n blks.
Exit
WB
Clear
CR
0
1
2
3
4
IA
MJ
TP
TP
RP
TP
CA
MR
0
CCIO
CCl4
CNIOOOO
CCI
MR5
Exit
= BF
No. of cells left = I buffer load
Buffer = Z's -+exi t
30000
DD4
BG5
CR
BF
}
Set-up
SU
0
1
2
3
IA
RP
TP
RJ
MJ
CA
MU
NN30000 SU2
DD
MD
CRI
CR
DD5
0
MU4
SU in core
Bootstrap
Clear
}
143
Constants
CC
0
I
2
3
4
5
6
7
10
11
12
13
14
15
16
17
IA
0
74
0
0
02
0
MC
0
74747
77777
20000
00606
0
0
170
0
0
0
0
0
0
0
0
0
CA
1
BF
07777
0
2
CN
LA
0
1
Zero
Fill buffer - Z's
u mask
Set bypass mode - TCU2
Write & 128/in-tape ttl
1 in u
1 in v
Words/b lk. in u
1st add. of buffer
fAas k
0
47474
0
04000
0
0
1
0
BF
0
0
2
0
LA
170
70000
Set number of cells left
Last address in buffer
Words/blk. in v
MC20
Explanation of Temporaries and Variables
Core
BG
Drum
MG
0
1
2
3
4
5
6
7
10
11
12
0
0
0
0
0
0
0
0
0
0
0
0
0
u
u
u
u
u
0
0
0
0
0
0
0
0
v
0
0
0
u
0
0
High
Check sum
Low
u is first address
u is last address
u = Last-first
u = No. cells left in buffer
u = Last-first +1
v = No. of blocks -1 (Index)
u = No. of blocks
}
144
Read Tape N
ZA
0
I
2
3
4
5
6
7
10
II
12
13
14
IS
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
IA
TP
MJ
0
LQ
QT
TP
QS
QS
TP
QT
LQ
QT
ST
AT
TJ
TP
RJ
TP
LQ
TV
RP
TP
RA
TP
MJ
TP
LQ
TP
AT
RJ
TP
LQ
TV
TP
QS
RP
TP
RJ
MS
RP
TP
CA
ZD
Q
0
30000
Q
ZB
ZB
ZBl
ZBl
ZA2
ZB2
Q
ZB2
ZB3
ZB4
ZB6
ZB7
ZC
ZA2
Q
Q
CN30000
BF
ZA2
ZA2
0
ZB5
Q
ZBll
Q
ZC
ZA2
Q
Q
Z812
ZB5
30000
BF
Z045
0
NN30000
MD
Z02
ZD47
30000
22
ZBI
Q
BB36
BB37
Q
ZB3
17
A
A
ZB5
ZA31
ZC2
ZCI
Q
25
ZA25
ZA26
(30000)
ZBI0
Q
ZA3
Q
25
A
ZC2
ZCl
Q
25
ZA44
Q
Par.
1st add.
Set tape number
1st add. --+ZB3
Last add. --.. A
Last - 1st + I~ZB5
Fi t ---+ZA31 No+
Fill buffer
}
}
Buffer~storage
Update par.
No.--+ V
}
ZA43
0
Read to buffer
Set address
Mask----.Q
}
Buffer ----+ storage
ZD45
(30000)
Z046
ZO
ZA3
DO
Exit
ZD51
145
last add.
Constants and Variables
ZB
0
1
2
3
4
5
6
7
10
11
12
LA
CR
0
0
0
1
0
77777
0
(
1
o)
Mask
Tape No.
r~as k
1st address
70000
0
0
0
0
0
0
0
0
0
0
0
eN
BF
LA
Standard par. to fi 11 buffer
0
SF
0
CA
07777
CB13
0
BS
0
Other par.
Mask
(
eM
o)
Last - 1st + 1
146
Read Tape
ZC
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
MJ
MJ
0
TP
QT
LQ
QT
ST
AT
LQ
TV
DV
TP
TP
ZJ
RS
TU
RJ
RA
IJ
TP
ZJ
TU
RJ
MJ
0
0
0
0
0
0
0
CA
DC
0
0
30000
ZC2
ZC34
Q
ZC34
ZC35
ZC37
Q
Q
BB45
A
Q
ZC17
ZC33
BB45
BB
BB2
ZC33
ZC32
ZC26
ZC32
BB
0
0
0
0
77777
30000
0
1
DC40
Exit
Start
address
o add ress
1st add. ---+ 35
30000
ZC3
30000
~C35
17
A
A
A
6
BB2
ZC33
ZC32
A
ZC26
ZC36
BB2
BB1
ZC31
}
}
Last - 1st
}
u
Address ---+BB2
No. of blks. --+index
Store remainder
No. of blks. f:. zero t No ----. ZC26
}
Index - 1
No. of words = 170
Read
Increase address
n blks.
Remainder zero ~exi t
ZC'21
A
ZC
BB2
BBI
ZC
170
0
0
0
0
1
+1~A
}
}
Read remainder
Exit
Remainder
No. of blocks
1st address
0
147
,',0 +
~,
Read One Block of Tape
Of)
ULJ
IA
DB
V
A
1'l i1T.,
V
1
2
3
4
5
6
7
10
11
MJ
0
MJ
EF
EF
TV
TP
QS
QT
0
(30000)
0
0
0
BB2
BB44
BB2
BB2
,1")
'T'n
J.':-
OOA!:.
.1"
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
ST
AT
RJ
ER
ZJ
EF
RJ
ER
ZJ
EF
RJ
ER
ZJ
EF
TP
RJ
MS
EF
MJ
2
2
2
2
2
0
0
0
RP
EF
EF
RP
ER
0
ER
CA
A
UU'-iJ
Q
8846
8853
0
8820
0
8853
0
BB24
0
BB53
0
BB30
0
CAIO
PC
0
0
0
602
14
1
1
1
20000
07777
170
0
0
0
10000
10000
0
10000
DB55
(
r. __ !
LX.1"
~
'1AAAA\
\,JVVVV)
BB3
(30000)
BB4
BB43
BB42
BB52
Q
BB51
Q
Par. = 00 n address
(on 1103A = MJ 20000 BB5)
Set bypass (ll03A = MJ 0 BB5)
Set normal bias
Set address
}
"
Set n of RP
n~Q
",,--/\
1 -t'"
.
LIv--,n
1"\
A
8853
8B50
A
8834
8841
8847
A
BB34
BB40
B847
}
170 .,. n--.RP
Read
lOA ----. A
Parity +
Set high
Read
,'Jo--+ 34
IOA~A
Parity ~
Set low
Read
1':o~34
A
IOA~A
BB34
BB37
PC2
PCl
BBI
BB42
SB
10000
10001
70000
60000
50000
04000
0
0
(30000)
BB37
8836
Pari ty ~
Move bac k
Print PARITY
}
BB53
Stop for rereads
Set normal (1103A = MJ 0 BB35)
Exit
Read one blk. fwd.
Move back one blk.
Low
High
Normal
Set bypass
Move back one blk.
Read one bike
}
(30000)
~
RP
Throwaway
BB55 in core
}
148
Print
PC
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
IA
MJ
MJ
0
TP
QT
ST
TU
SP
PH
SS
ZJ
HA
IJ
MJ
HP
PH
0
CA
PD
0
0
30000
PC 2
CAS
CA6
PC2
30000
0
A
PCI0
pC7
PC20
0
4
0
0
PD21
Exit
Start
address n
0
30000
PC16
0
Q
A45
PC20
PC7
52
A
6
PC13
CA7
PC7
PC
PC3
PC4
0
Index
149
Constants
(From 1103A Unicode Service Routines)
IA
CA
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
CT
0
170
ZZ
67
50342
77657
47776
77777
65127 }
30
30
30
0
0
0
0
0
0
47
20
46
25
04
04
20
57
47
04
22
01
15
24
57
24
42
2
CA
0
0
I
CA13
CA23
77777
12203
12120
15301
42574
24013
26031
12203
42040
07033
34061
20042
20070
20040
20121
52420
01301
04040
200
CT35
Sentinel
36566
62452
77777
77777
1
0
10
11
0
02204
31204
21401
24704
01201
20412
02224
40404
40601
41603
42524
40130
30604
70304
40447
20157
40404
10000
Rewind ttl
150
4. UNICODE SAMPLE CODING
4.
a.
UNICODE SAMPLE CODING.
Matrix Inversion by UNICODE
Assume A is the matrix to be inverted and iC is the i-th approximation
to the inverse.
Set
°c
to AT.
Then for the i-th iteration (i=l, 2, •••
f
n
where n is the rank of the matrix)
i
C. k=
J
i-I
for k=i
C. k
1
A. i-lC.
1
1
ie _i-l
i
( i-I )
J'kC'kC
..
A.
Ck
J
J
JI 1
for k "f i
where A. is the i-th row of A and j C.1 is the i-th column of jC.
1
repetitions C
Inverse of A.
n
Next an estimate of the error is made
After n
=
Average error =
IT
.. A. nC,)
(' 11
1
1 -n
2
n
If the average error is greater than the error allowed by the routine,
nC is used as a new value for
°c
and a new approximation is made.
2.7 of the program establishes the error allowed.
Sentence
Reducing ae (allowable
error) to a smaller amount may increase the number of iterations needed to
obtain the desired inversion.
To run the program for a different size matrix, change sentences I, 2.5,
and 3.
In 2.5, n is given the size of the new n x n matrix.
given a numerical value 1 less than n.
In 3, m is
The numerical value of n determines the
new dimensions used for the subscripted variables in sentence 1.
The input matrix A must be prepared on a data tape.
the computer by the Automatic Data Read-In.
153
It is brought into
r,~-~~;.c;.O,,;.2
j.:.::
~-:~2 tl"
'91'O:.;T·::1l;~
=~_ ~.~ril/:;rl
•
s j_ '::rL
2.5
2.7
V-3.YY i. C)
:';.2
~'. 3
L~
V8.1"',"
(1
..... J
c~ ~J ( 1
;~
I
j.-
list 3.(:;_.!;;
~.'..
,1'""",("
'-..' _'_
J. J " . ' t;::>.D::; iJ.
.~f:.'.l
..~-,p~r.-l\:0.c:.)rT-.:.'1.;"~l
(:; ~v-ilP?l
•.")\1 lnl-p.
~ _
v _
,,_._
v
_ , ..
~_~
~/ ~r~~,~ (~
(~) ( 1
s e ~~~i~ e :~lC e .~) t ~~: e ! J. 1<') ,:~ s \)~~>.e t~
,J- -....
"'Y' ,.... ':.i,-'.
J
c ( ~. :.j ) =::1, ( .j ) j_ )
3C~'rtcJ:"'~(~e ~-;
7
7
'.--' t,:-~.l"l.-L 2·;-~
•
se~-~terJ.'2C~ [~ -t~:~l"~t J_'~) .'~:1:2tl ~~'1,l1:".7) to l~_
~
'/
,,
..J_ ...
l 1
..L-i-
J::.'.=C,
lb=2.
21
(1 i\'~r) ·~t",o"+C':>~"CQ'" ..L~ 7 +'l"r'!
I: t..>JPL
v...
\....
__
"/:11'"r .i 0 (1 )!'1 se~ltence l~ t:en re:)Ul.e 1·:)
C (~1 ., 1:) =c (.j ,1=) - ( C C~ )i) ~( T CJ )
j.~' lb = l'r
t.o 2)
la, = 1+2
1b = Fi
22..5
~f .La :} ITt .ju1'(1"9 to 21.~.1
16
-;r.::::>-.v,",'.'
':.k L
2C
~-
." 1....
1',
-,_(-'.I
_
..l-....
;J ....... -
l V
'-' ,~)
'-- J....l.
I
"--I
_
'-'"
jw'ny to sentence: 16
22
1
=
1+1
reSl.~r.1e
7
q=O
vary j. O(l)m se~1te~ce3 2~L2 tl'lr'.l 2!.~.5 then jump to 24.35
vary k O(l)m sentences 2,4.25 tnru 2L~.3 '~hen resune 24.15
vary j O(l)m sentence 24.j then resune 24.2
or
q = q + ((
a i} tl.) oil.
C (.
;)} 1.)
~ '/)
c = (q-n;//-{ .
24.39
tVTIe e •
I') 4 )+
i ~.' i e I, G d.C} . -.J~ 1.)J~.~'8_. to 6. r;
24.5
vary _.. 0(1)n sentcnc2S 24.6 thru 25 t~nen ~juaD to 26
2~·.G
vary 1· G(l)n sentence 25 t1:.en resun2 24.S
25
list c(i,~),i,k, tape 4,
2S
stop .
zzzz3zend of tape •
24.15
2)+.2
24.25
24 • -,)0
24.35
L..
•
:
'
./
154
b.
Floating Point to Fixed Point Sub-Program
This is a method of converting a floating-point number to the
nearest integer.
100 to 106.
The sub-program to do this is shown operating at sentences
Controlling sentences of the main program which reference the
sub-program are given here as sentences 50-51.
Note that the Vary loop shown is never finished.
A jump out is made
to exit sentences when the nearest integer is found.
50.
Compute Fix (Z(J)) 6.
51.
I = KK ~.
100.
Fix
101.
12
102.
Vary KK
103.
If ZZ < 0.5 jump to 104 ~.
104 •
If Q (KA) > = 0 j ump to 106 ~ •
105.
KK
106.
Exit ~ .
(Q( KA)) ~ •
= /Q(KA) r
~
.
o( 1) 999999
wi th ZZ ZZ( -1) -2 Sentence 103 ~ •
= -KK ~ •
155
c.
T'T __
!
__ -1 _ _ _ ..... ___
lJl
UIU \; UUt::
~
Linear Programming Application.
... ..,._
U'd 1. dill
linear program
original dantzig method
1
dimension a(17),x(8,17), z(17), delta(17), c(17), psi(8), p 8), temp(17), work(8)
2
2.1
2.2
start
If = 7
Ig = 16
2.3
g = 16
3.1
read x
3.2
read c
3.3
read psi.
3.4
read p
4
x(O,O) = x(O,O) + 1
5
vary i O(l)lg sentences 6 thru 8
6
z(i)=O.
7
vary j l(l)lf sentence 8 .
z(i) = z(i) + xCj,i) X psiCj)
vary i O(l)lg sentence 10
Note:
Only sentences 1 - 2.3 need be changed
for matrices of different size.
BEGINNING OF CYCLE
8
9
10
11
Cycle Count
.
}
J
de1ta(i) = z(i)-c(i)
temp(O) = 0
12
13
14
15
k = 0
16
vary j l(l)lf sentence 16.1
16.1
if b = p(j), jump to sentence 15
16.2
tempCO)
17
18
k
19
type k
20
21
22
23
24
25
26
temp(O)
1000
vary j l(l)lf sentences 22 thru 29
if x(j,k)G O,jump to sentence 25
temp(j) = -1
resume 21
if xU ,0) L 0, jump to sentence 23
temp(j) = xCj,O)/xCj,k)
27
if tempCj) G= temp(O) jump to sentence 24
0)
z.
1)
z. - c.
1
=8
I I i
.
vary i l(l)lg with b l(l)g sentences 14 thru 17
if temp(O) G delta(i), jump to sentence ]6
resume 13
= delta
Find smallest negative 8
(i)
=i
if k
= 0,
If no negative 8 is found, go
to output
Type k
subscript of incoming
vector
jump to sentence 44
=
=
.
Find mr (position in basis)
for out going vector
156
(Continued)
028
29
temp(O) = temp(j )
mr = j
30
31
type mr
psi(mr) = c(k)
Type mr
3) place coefficient of incoming vector in new position
32
p(mr) = x(O,k)
4)
33
vary j l(l)lf sentence 34
34
ternp(j) = x(j,k)
34.1
35
work(O) = x(mr,k)
vary i O(l)lg sentences 36 thru 42
36
x(mr,i) = x(mr,i)/work(O)
37
if x(mr,i) not= 0, jump to sentence 40
38
resume 35
39
40
resume 40 .
vary j l(l)lf sentences 41 thru 42
41
42
if j = mr, jump to sentence 39
x(j,i) = x(j,i) - x(mr,i) X temp(j)
43
jump to sentence 4
J
.
.
.
place number of incoming
vector in new position
}
Save column k and xrk = a
}
5)
calculate incoming row
}
6)
calculate remaining parts
of matrix by columns
Go to start next cycle
END OF CYCLE - START OUTPUT
44
vary j l(l)lf sentence 45
45
46
list p(j),j,tape 3,«variables in basis»
vary i O(l)lg sentence 47
47
list delta(i),i,tape 3, «delta»
48
49
vary j O(l)lf sentences 49 thru 50
vary i O(l)lg sentence 50
50
list x(j,i),j,i, tape 3 «final tableau»,
(matrix), (row), (column)
51
vary i l(l)lg sentence 52
52
temp (i) = 0
53
vary j l(l)lf sentences 54 thru 56
vary i l(l)lg sentence 55
54
55
56
58
59
}
}
.
.}
List numbers of variables in
basis
List 8's (shadow prices)
List whole final matrix
Find and list values of
variables
if x(O,i) = p(j), jump to sentence 56
temp(i) = x(j,O)
vary i l(l)lg sentence 59
60
list temp(i),i,tape 3, «values of variables»
vary j l(l)lf sentences 61 thru 66
61
read a
62
work (j) = 0
157
lr
Compute and list back solution
(Continued)
63
64
vary i l(l)lg sentences 64 thru 65
work(j) = work(j) + temp(i) x a(i)
65
z(j)
66
list z(j),j,tape 3, ((back solution))"
(deviation), (equation)
67
68
c(O) =
vary i l(l)lg sentence 69
= work(j)
Compute and list back solution
- a(O)
°
l
bY
ceO) = ceo) + temp (i) X c(i)
70
list c(O), tape 3, ((profit function»
71
type c(O)
71.1 list x(O,O), tape 3, ((cycle count»
71.2 type x(O,O)
72
stop
zzzzzzend of tape
J}
Arrangement of the data tape:
A(1)
Y(J,1)
Constant.0(
terms
Constant
term
Compute and type and list
profit function
Type and list cycle count
Coefficient
Coefficient
Coefficient
7 sets of A (rows of original equation)
Cycle
counter
Vector numbers
2
°
1
Xl
Xl 1 Xl 2
x
2 1 x2 2
°
x2 °
3
16
Xl 3·
Xl 16
x
2 16
x23 ·
)-
x 7 0 x 7 1 "7 2 x 73 ·
x7
Coefficient
matrix
16
I ....
° Cl C2 C3 . . . C16
PSI(J) ° 0/2 0/3
P
° PI P2 P3 . P7
C (I)
~l
(J)
~7
coefficients of profit function
coefficients of profit function of the vectors in the basis
vector numbers in basis
The slack variables and artificial variables must be inserted in the data tape.
The starting basis is the unit matrix.
158
fhis column
outside tableau need
not be saved
(for outgoing
vector)
How the new tableau is computed from the preceding one: (Method taken from Charnes, Cooper, Henderson, "An Introduction to Linear PrograDllling".)·
x ik are the values of column k in the old tableau, k being the number of the vector that was selected in the old tableau to enter the base.
xri are the values in the outgoing row.
Ai = xi Dare the coefficients of Po (the constants in the input data).
C.~
J
values
basis vector number
designator
CIO
"'~
P
C
r
P
r
Cl2
P
12
-M
Po (A
-M
P10
i)
Pr
P~
X
x lO 0
lO
- ----" r 0 - - - - - -
__ x
XlO
IO 10
r 10---
__ x
x
12 10
r
r
l2 r
Cl6
Zj
1)
x
x
a
\,o
C12
P l2
6)
C16
P
16
6) x 160 - -;-x 16k
6)
6)
6)
5) --L.!Q
a
5)
6)
r
x
--L.!!
x
5)
6)
6)
6)
6)
6)
6)
6)
6)
6)
6)
a
5)
-E....!
a
5)
a
5)
Z.
J
Z. - C.
J
J
The new tableau is generated in the steps 0 - 1 - 2 - 3 - 4 - 5 - 6.
But watch~: Compute for step 6 only columns, where step 5 gave element # 0 and xik # 0; otherwise column remains unchanged .. In this example the
slack and artificial variables (10-16) are placed before the real variables (1-9). The sequence is unimportant but the constant vector Po must
remain in the first·column. The coded program has in the data tape the variables in their natural order I, 2 ... 10 ... 16.
s.
UNICODE CARD INPUT
5.
UNICODE Card Input
Card input to UNICODE is possible without any change in the UNICODE Master
Tape if a Card-to-Excess-Three Routine is written and added to the UNICODE
Service Routines.
Then the tape produced by this routine with card input may
be used in UNICODE similarly to the tape produced by the Flex-to-Excess-Three
Routine.
Assuming only 48 characters available on cards, certain restrictions in
the writing of the UNICODE programs must be adopted.
Superior figures can be
eliminated by the use of the symbol POW followed by regular figures.
one of the two signs, > and < , can be used.
punch on the cards.
The space is simulated by no
The dash becomes the minus sign.
for the comma and period.
Only
No simulation is needed
Counting the 26 alphabetic, 10 numeric, and the 4
mentioned, only 8 available characters remain.
The operator can obtain the
essential UNICODE characters needed by an arbitrary assignment of characters
which will later be changed by the conversion routine to the excess-three
value desired.
The following is one such possible assignment.
Excess-Three
Character
Card
Character
Card
Punching
/
/
o-
<
@
4 - 8
*
*
X- 4 - 8
+
&
y
=
8
3
y
1
4
8
$
X- 3 - 8
%
o-
4 - 8
In the above assignment, there is no greater than ( > ) sign.
If in
the IF sentence, a term such as "X > y" is wanted, it should be written as
"y < Xu.
S i mil a r 1y, i fat e r m "X >
= y.t
163
is wan ted, its h0 u1d be wr itt e n
tty < = X".
If the converse of the latter is wanted, in addition, in an IF
sentence, it is supplied automatically by a jump to the following sentence
on failure of the <
= relation
to hold.
Further flexibility can be introduced
here by making this next sentence a JUMP sentence.
It can be seen that only
two clauses are now permitted in the IF sentence, but, because of the
possibilities of combining the IF sentence with a subsequent JUMP sentence,
there is no real loss in generality.
Each 80-column card should be considered a complete blockette.
The con-
version routine should use spaces to fill out the remaining 40 characters in
the blockette.
If a sentence overruns from one card to another, care must be taken not
to break a symbol into two parts.
on a divider or a space.
One must always end the punching of a card
Any number of spaces may be put between symbols
of a UNICODE sentence.
Thus, 40 or more spaces between symbols in a sentence
will not cause trouble.
However, putting only part of a symbol on one card
will destroy its meaning.
The first 6 positions of a regular UNICODE program card are reserved for
the line number.
be punched.
The first 6 positions of an overrun program card must not
On an overrun Data card, no indentions are needed.
no figures may be broken at the end of a Data card.
Of course,
Thus, on Data cards,
scientific notation numbers may not be broken into separate parts by use of
spaces because spaces indicate the start of a new figure on Data lists.
On
the other hand, on a program card, the symbols making up a scientific notation
number may be separated by spaces.
Use of a comma following the last figure
on a Data card will save computer time because it stops further analysis of
the blockette and ignores the spaces used to fill the line.
The PRINT sentence, being limited to 6 blockettes, is somewhat limited
in size by the use of cards, but this restriction is easily overcome by
writing two or more PRINT sentences in succession.
The rules of tape preparation explained in the UNICODE Manual must be
simulated when using cards.
Thus, whenever blockettes of spaces are needed
to fill out a block, the right number of blank cards must be inserted.
164
Card input for UNICODE programs and Data can be used at a computer installation which has no direct provision for card input to the computer if
there is available a Card-to-Magnetic Tape Converter.
If the cards have been
properly prepared in accordance with the conventions described here, they can
be run through the Card-to-Magnetic Tape Converter and this output tape then
translated to a UNICODE tape by means of a short conversion routine.
Though this latter routine is at present specifically adjusted to the
arbitrary assignment of characters given earlier in this paper, it can be
readjusted to any other assignment merely by modifying the order or content
of two 8-line tables.
165
Cards to UNICODE Tape
This routine has as input a magnetic tape obtained from cards via the
Card-to-Magnetic Tape Converter.
The characters on this tape are changed,
as needed, to the excess-three equivalents which are recognized by UNICODE.
The space-fill option for no punch should be used in producing the input
tape on the Card-to-Tape Converter.
Further conventions followed in writing
the programs and Data lists and punching the cards are described in the
write-up, UNICODE Card Input.
The arbitrary assignment of card characters
given in the table therein is assumed to be standard.
No special translation
is needed for the first three characters of this table after the Card-to-Tape
conversion.
However, the remaining five characters have to be translated
from one excess-three value to another before they are acceptable to UNICODE.
When it is known that none of these five characters have been used, there
is no need to use this routine. The tape from the Card-to-Tape Converter may
be used directly as an input to UNICODE.
with Data lists.
(=)
This will happen most frequently
If a Data list is preceded by a Data Index, which uses equal
signs, of course, it will still be necessary to run the tape from the Card-
to-Tape Converter through this conversion routine.
Other than the equals sign
which only occasionally occurs in a Data Index, only one character on Data
lists, the semicolon, has no counterpart among the usual card characters. The
semicolon should always be replaced by the comma in Programs or Data lists
using cards.
Thus, many sets of Data list cards, when properly punched and
run through the Card-to-Tape Converter, will produce a tape completely
acceptable to UNICODE.
If a Card-to-Magnetic Tape Converter is available, it will be found a more
economical procedure to prepare all Data lists in this way because of the
greater ease of correction.
This will be true regardless of whether or not
the program has been prepared on cards.
To translate the five characters mentioned
of excess-three values are used in this routine:
166
above, the following two tables
Card-to-Tape Produced Excess-Three Value
00
00
00
00
00
00000
00000
00000
00000
00000
&
00016
00035
00062
00055
00075
#
$
%
UNICODE Accepted Code for Character
00
00
00
00
00
00000
00000
00000
00000
00000
+
00063
00076
00042
00017
00043
=
I
(
)
Each of these tables is contained in an 8-line space.
Thus, they can be
increased in size up to eight lines and altered as needed to produce a
different conversion.
The order within the tables is significant.
Thus,
recognition on an input tape of the third value in the first table would give
a substitution on the UNICODE tape of the third value of the second table.
There are two versions of this routine; one for the 1103A and one for the
1105.
With the 1105 version an MJ2 setting indicates that Tape Control Unit 2
is being used.
No MJ2 setting indicates use of TCUI.
No settings are needed
with the 1103A version.
To operate either version, after checking whether an MJ2 setting is needed,
put the tape produced by the Card-to-Magnetic Tape Converter on any Uniservo.
The number of this Uniservo should be placed in A.
v
In Q put the number
v
of the Uniservo on which the UNICODE tape is to be written.
The octal number
of input blocks must be in Q •
u
Start with beginning address at 77460.
core where it operates from 6300-6736.
of the translation.
The routine transfers itself to
Both tapes are rewound on completion
The computer stops with PAK at 6300, which address, since
the core is not restored, can be used for a start of any additional translation.
No check is made for illegal parameters.
A failure to recover from a parity
error after 5 additional reads with varying bias and direction will cause
a computer stop with the print-out:
PY.
at this point by pushing the START button.
167
Another 6-read trial can be obtained
The flex copy of this routine loads in the drum from 77460-77714.
be added to the bioctal tape of UNICODE Service Routines.
It may
It has not been
included on any of the tapes of the UNICODE System but flow charts and
are
nrr thi
c: TAlritp-1Jn
..,~hntAln
.. "' .... fnllnlAli
.. ..
_ .. -..
-r·
~"'~~"'
~
~
~--~
On both versions of the routine the first table is located at 77675 and
the second table at 77705.
A change in the number of significant values in
the tables would necessitate a change in the repeat instruction that controls
use of the first table.
On the 1103A version this instruction reads 75 20005
06345 and is located at 77515.
20005
On the 1105 version this instruction reads 75
06362 and is located at 77532.
For example, an increase to 8-1ine sets
of significant values in the tables in the 1105 version would require a change
of the content of 77532 to 75
20010
06362.
168
Flow Charts for Routine to Convert Card-To-Tape Converted
Tape to UNICODE Tape (1103A or 1105)
Transfer Routine
From Drum to Core
and Jump to Core
Start
Set Normal
Bias
If on 1105, Set Bypass
of Appropriate Buffer
Read I Block
From Tape to
Input Buffer
in Core
Set up Tape
Paramete rs and
Indexes
Is there a
Parity Error?
Yes
Character One
Those that is
Changed?
Extract a Character from Word
......
-.J
o
L.
-....
Yes
Replace Character by One
Which Unicode
will Recognize
Write Translated
Block to Output
Tape
Set up to Examine
Next Word
~o
Have Number of )
Blocks Been Used
U?
Rewind Input and]
Out put Un i se rvos
_r--~
Read Tape Backward 1 Block
Is There a
Set Low
Bias
I--~~
Read Tape Forward 1 Block
Yes
Parity Reread Routine
Set Normal
Bias
Set Normal
Bias
Move Tape Forward 1 Bloc k
Yes
Read Tape
Backward 1
B
k
Set High
B] as
1-----';::.1
Read Tape Forward 1 Block
Print-out:
PY
Read Tape Backward 1 Block
Regions for 1103A or 1105 Routine To Convert Card-To-Tape
Converted Tape to UNICODE Tape
RE
RE
RE
RE
RE
RE
RE
RE
RE
DH77460
HL6300
BL6377
TC6460
NU6513
BE6522
NE6523
UC6533
T56547
172
1105 Routine to Convert Card-to-Tape Converted Tape to UNICODE Tape
IA DH
RP 30233 HL
HLO
1
TP DH2 HL
LA A 14
TP A UC 6
4
Transfer Routine from drum to core
Number of input Uniservo to UC6 in shifted position.
3
TP Q UC
MJ 20000 HL5
4
~J 0 HLII
Jump to bypass buffer 1
5
M.T 50000 HL5
Is Buffer 2 active?
2
6
TP
7
EF
10
MJ
11
MJ
12
TP
13
EF
14
TP
RP
15
16
17
20
21
22
23
24
25
26
TC 1 UC 13
0 TC 13
0 HL 14
40000 HL 11
TC UC 13
0 TC 12
26
TC
Q
10010 HL17
UC 13 TC 2
QS
SP UC 6 0
AT TC 2 UC
TP TC 32 Q
QT UC 4 UC 12
LQ A 25
ST TC 23 OC 5
TP TC 22 UC 12
TV
u:: 4 UC 12
27
LA UC 12 14
30
TP A UC 4
AT TC 3 UC 1
17 0 TC5
31
32
33
34
17 0 UC
}
75 10170 HL36
35
76 10000 TS
Storing q in UC4
Is MJ2 set,
If so, jump to bypass buffer 2
Set up TCU2 selection
Bypass buffer 2
Is buffer 1 active?
Set up TC Ul se lect i on
Bypass buffer 1
Put reu selection in tape handling parameter
"Read forward 1 block from input servo" set up in UC
u of Initial Q transferred to A
v
Index of number blocks formed in OC5
v of Initial Q transferred to UC4 in shifted
position. This is output servo number
ttWrite 1 block to output servo" set up in UCI
Set normal bias
Read forward 1 block to core
173
36
37
76 0 A
ZJ HL40 HL41
40
RJ BL BLI
41
42
43
44
45
46
47
50
51
52
53
TU TC 21 HL45
TU TC 21 HL47
TP TC 20 UC 3
TP TC 16 UC 2
LQ TS 6
14
TP TC
Q
TS A
RP 20005 HL62
52
EJ NU HL
Ql'
SN
}
Is there a parity error?
Recover from parity error by attempted rereads
at different bias
}
I
?
J
Set up start of analysis of block at 1st address of
buffer, TS
Index of greatest possible (162) number of words
set up. Rest of block words are spaces
Index for number characters in word
Character to A for examination
Is character one of 1st table?
Q 17
r~u
SA HL 50 0
TU A HL61
LQ HL 45 Q25
of substituting command
54
55
56
TV Q HL61
57
RA HL61 TC 15
r + BE to u of Substituting command to get proper
character of 2nd table
60
14
TP TC
Q
}
QS 30000 30000
Character substitution (2nd table char. for 1st
table char.)
IJ UC 2 HL 45
Index jump on no. characters in word
61
62
Location in block to v of substituting command
}
63
64
65
RA HL45 TC 17
66
67
70
71
17 0 UCI
}
75 10170 HL71
72
73
74
75
76
RA HL 47 TC 17
IJ UC 3 HL 44
Set-ups to examine next word
Index jump on number possible
block
non-space words in
Write 1 translated block on Output Uniservo
77 10000 TS
IJ UC 5 HL 33
RA UC 6 TC 4
17 0 UC6
RA UC 4 TC 4
17 0 UC4
MS 0
HL
Index on number of blocks
Rewinds input Uniservo
Rewinds output Uniservo
Stop with core starting address in PAK
174
BL
Pari ty
Reread
Routine
o
MJ 0 30000
1
TV TC
25
24
BL6
Set-up to read from last address of buffer
IO
UC
Index of number of words in buffer to UCIO
2
TP TC
3
5
TP TC 10 A
7
6
AT UC UC
17 0 UC7
6
76 10000 TS 167
7
RS BL6 TC
4
10
23
6
10
IJ UC
11
76 0 A
12
ZJ BL 13 BL52
13
17 0 TC6
14
17 0
15
BL
}
Read backward I block input Uniservo
Providing 170 external reads into descending
addresses
Is there a parity error?
Set low bias
UC
75 10170 BL17
Read forward I block input Uniservo
16
76 10000 TS
17
76 0 A
Is there a parity error?
Set-up to read into last address of buffer
23
ZJ BL21 BL57
TV TC 25 BL24
24
lO
TP TC
UC
17 0 UC 7
24
76 10000 TS167
25
RS BL24 TC 23
26
IJ UC lO BL24
27
76 0 A
20
21
22
31
52
31
ZJ BL
BL
17 0 TC 7
32
17 0 UC
33
75 10170 BL35
34
76 10000 TS
35
76 0 A
30
36
37
40
41
42
43
44
Index of number of words in buffer to UCIO
Read backward I block input Uniservo
Providing 170 external reads
Is there a parity error?
Set high bias
Read forward 1 block input Uniservo
Is there a parity error?
ZJ BL37 BL57
TV Tc2 5 BL42
24
lO
TP TC
OC
17 0 UC 7
Set-ups for reading backward
76 10000 TS167
Read backward 1 block input Uniservo
RS BL42 TC 23
IJ UC IO BL42
175
45
Is there a parity error?
50
76 0 A
{
52
ZJ BL47 BL
75 10003 BL51
PR 0 TC 27
51
MS 0 HL 32
Stop with PAK at complete restart of attempt to read block
Set normal bias
55
17 0 Tc5
ll
TP TC
A
AT UC 6 UC ll
17 0 UC11
56
MJ 0 BL
Exit from parity read
57
60
17 0 TC5
Set normal bias
Exit from parity read
46
47
52
53
54
TC 0
1
Constants 2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
n __
j
}
MJ 0 BL
~
"_-L
_
__ L
tt _ _ . ___ !
_
~
_ _ _ _ ..... ____
._1.
rrlIll UUl (;ctrrlctye relurn
.
TC U1 i nd i cat 0 r
2 0 0
TCU2 indicator
o 602 0
o 646 0
Read forward 1 block & stop
Write 1 block and stop
0
o 1 50000
o 1 60000
o1
70000
o 612 0
o4 1
o 10000 04000
o 20000 04000
o 0 77
o BE
0
005
010
o0
161
o TS
0
rl
Move forward Input servo 1 block
100
o 200
n,'
Rewind tape
Normal bias
Low bias
High bias
Read backward 1 block
Move forward 1 block
Bypass buffer 1
Bypass buffer 2
Mask
Address just before 2d table
Index for characters in a word
Adder
Index for greatest possible number (162)
words in block
Starting address of buffer
000
Zero
001
Adder
Index for number words in block
o0
167
176
25
26
27
30
31
32
NU
0
1
2
3
4
5
6
7
NE
0
1
2
3
4
5
6
7
o0
T5167
7-r 0 0
o 0 45
o 0 15
o 0 25
o 77777
o 0 16
o 0 35
o 0 62
o 0 55
o 0 75
000
Address of last word in block
Mask
Carriage return
P
y
0
&
Mask
First Table Card-to-Tape Produced
Excess-Three Values
#.
$
%
000
000
0063
o0
o0
o0
76
42
17
° 0 43
+
=
Second Table Excess-Three Values
Accepted by Unicode
(
)
000
000
000
CA DH 235
Temporaries Used
UC
0
1
2
3
4
5
6
7
10
11
12
13
Read forward 1 block of tape
Write 1 block on output tape
Index for characters in a word
Index for total words possible in block (162)
HoI dsin i t i a 1 val ue 0 f Q. La t e rho 1d sou t put tape no. s h i f ted
Index for number of blocks
Holds initial Av shifted of input tape number
Read backward 1 block
Index to read backward
Move forward 1 block
Temporary to get output servo no. shifted to right position
Holds Tape Control Unit No. In "Operation" part of word.
T5 Buffer of 1708 lines used for reading into and writing from after
translation to UNICODE characters.
177
1103A Routine to Convert Card-to-Tape Converted
Tape to UNICODE Tape
IA DH
RP vV'-'vv HL
~f'\<) ~~
Transfer routine to core from drum and
jump to start in core
TP DH2 HL
HLO LA A 14
1
Number of input Uniservo to temporary in 5thdigit position
TP A UC 6
2
AT TC OC
3 TP Q UC 4
25
4 TP TC
Q
12
4
5 QT UC UC
6 LQ A 25
7 ST TC 11 UC 5
Parameter for tape read to temporary
Store q in temporary
I
J
10 TP TC 10 UC 12
TV UC 4 UC 12
11
12
15
16
17
17 0 UC
75 10170 HL21
20
76 10000 TS
76 0 A
14
21
22
23
24
25
26
ZJ HL 23 HL24
RJ BL BL 1
TU TC 7 HL30 }
TU TC 7 HL 32
TP TC 6 UC 3
27 TP TC 4 UC 2
30 LQ TS 6
31 TP TC 2 Q
32
33
34
Output tape number in 5th position to temporary
LA UC 12 14
TP A UC 4
AT TC 1 UC I
17 0 TC 13
13
Forming index for number blocks in temporary
QT TS A
RP 20005 HL 45
EJ NU HL35
Forming parameter for tape write in temporary
Set normal bias
Read 1 block of tape
Providing 1708 external reads
Is there a parity error?
Jump to parity reread routine
Set up examining loops to beginning of block
Index for 162R (maximum possible non-space)
words in blocK set up
Index for 6 characters in line set up
Is a character one of those in first table?
178
35
36
SN Q 17
SA HL33 0
Replace character by the corresponding
one in second table
37 TU A HL44
30
40 LQ HL Q25
41
42
TV Q HL44
RA HL44 TC 3
2
43 TP TC Q
44 QS 30000 30000
45 IJ UC 2 HL 30
RA HL30 TC 5
5
47 RA HL32 TC
3
50 IJ UC HL27
46
51
52
53
54
17 0 UCl
75 10170 HL54
77 10000 TS
IJ UC 5 HL16
57
RA UC6 TC 12
17 0 UC6
RA UC 4 TC 12
60
17 0 UC4
61
MS 0 HL
000
55
56
}
Jump back to beginning of loop toexamine
next character in line
Set-ups to examine next line in block
Jump back to loop to examine next line. Is
block used up?
}
Write completely translated block to output
tape
Provide 1708 external writes
Have number of blocks been exhausted?
Rewind input Uniservo
Rewind output Uniservo
Stop with core starting address in PAK
000
000
000
000
000
000
Unused fill lines put in so this routine will occupy
same regions as 1105 counterpart
000
000
000
000
000
000
179
BL 0
Pari ty
Reread
Routine
1
2
MJ 0 30000
TV TC 20 BL6
TP TC 17 UC lO
Set-up to read from last address of buffer
Index of number of words in buffer to temporary
I
5
TP TC 16 A
AT UC 6 UC 7
17 0 UC7
6
76 10000 TS167}
3
4
J
Read backward 1 block of input Uniservo
Providing 1708 external reads into descending
core addresses
10
RS BL6 TC 11
IJ UC lO BL6
11
76 0 A
12
Z.J RL13 BL52
13
17 0 TC14
Set low bias
14
17 0 UC
75 10170 BL17
Read forward 1 block input tape
7
15
16
17
20
21
22
23
24
25
26
27
30
31
32
76 10000 TS
76 0 A
ZJ
TV
TP
17
76
BL21 BL57
TC 20 BL24
TC 17 UC lO
0 UC 7
10000 TS 167
RS BL24 TC II
IJ UC lO BL24
76 0 A
ZJ BL31 BL52
17 0 TC 15
33
17 0 UC
75 10170 BL35
34
76 10000 TS
35
76 0 A
ZJ BL37 BL 57
TV TC 20 BL42
TP TC 17 UC lO
36
37
40
41
42
43
17 0 UC 7
76 10000 TS 167
1
J
Is there a parity error?
170 external reads provided
Is there a parity error?
Read backward 1 block of input tape to
descending core addresses
Is there a parity error?
Set high bias
Reading forward 1 block input tape
Is there a parity error?
Read backward 1 block of input tape to
descending core addresses
RS BL42 TC II
IJ UClO BL42
180
45
50
75 0 A
Z J BL47 BL52
75 10003 BL51
PR 0 rc 22
51
MS 0 HL 15
Stop with PAK at place where read can start all
OiTer
52
17 0 TC 13
21
TP TC
A
AT VC 6 VC ll
17 0 VCll
Set normal bias
46
47
53
54
55
56
57
60
TC
0
Constants 1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
Is there a parity error?
Print-out:
PY
}
Move forward 1 block
MJ 0 BL
17 0 TC13
Set normal bias
MJ 0 BL
2 602 0
Exit
Parameter for reading 1 block forward
2 656 0
Parameter for writing 1 block
o 0 77
o BE 0
Exit from reread routine
Mask
Address of word before 2nd table
005
Index set-up for 6 characters of line
010
o0
161
Index set-up for maximum possible (162 8 )
words in bloc k
o TS 0
000
Beginning address of buffer
001
2 200 0
Rewind parameter
2 1 50000
Normal bias parameter
2 1 60000
Low bias parameter
2 1 70000
High bias parameter
2 612 0
Read backward 1 block
o 0 167
o0
TS167
241
Move forward 1 block parameter
o 0 45
Carriage return
o0
15
0025
o 77777
Address of last word in buffer
P
Y
0
Mask
181
000
000
Dummy fill lines put in to maintain
correspondence with 1105 routine
000
000
J
000
4
o0
o0
o0
o0
o0
5
000
6
000
7
000
NU 0
1
2
3
16
&
35
:n:
62
55
$
75
%
4
o0
o0
o0
o0
o0
5
000
6
000
7
000
NE 0
1
2
3
First table - Card-to-Tape
Produced Excess-Three Values
63
+
76
=
42
I
17
(
43
)
CA DH
Second Table-Excess-Three
Codes Accepted by Unicode
235
Temporaries Used
UC
0
1
2
3
4
5
6
7
10
11
12
13
Read forward 1 block of tape from input Uniservo
Write 1 block on output tape
Index for characters in a word
Index for total words possible in block (162 )
8
Holds initial value of Q. Later holds output tape No. shifted
Index for number of blocks
Holds initial Av shifted of input tape number
Read backward 1 block
Index to read backward
Move forward 1 block
Temporary to get output servo ~~o. shifted to right position
Not used on 1103A version
TS Buffer of 1708 lines used for reading into and writing from after
translation to Unicode characters.
182
6. STATISTICAL MISCELLANY
6.
STATISTICAL MISCELLANY
a.
Call words of UNICODE
1.
Regular call words
7 7
Subscripted variable
7 6 X- -
Subscripted 'dummy' variable for Subprogram - X denotes the
number of subscripts
7 5 - - -
Subscripted 'dummy' variable for functions
6 7 -
Constant (Floating or Fixed Point)
66-
Function (Floating)
65-
Floating point variable
6 4
Fixed point variable
6 3 -
Non-subscripted dummy variable in Subprogram
6 2
Non-subscripted dummy variable for functions
6 1
Dummy function in Subprogram
5 4
X
XX
Library routine - X denotes the number of operands
Pseudo operation - X X denotes the number of operands
2 7 -
Statement of Main Program
2 6 -
VARY statement of Main Program
2 5 -
Equation defining 6 6 - - -, 6 5
variable (before START)
2 4
Equation defining 7 7 - - - type variable (before START)
2 3 -
ENDAOFATAPE
2 2
Sentence of Subprogram (including VARY statement)
7 1-
Absolute address call word for those addresses 1000 thru 1777
185
or 6 4 - - - type
2.
SUPPLEMENTARY CALL WORDS AND ASSOCIATED PRELUDE ENTRIES
The following supplementary call words will be unique only within a given
generated routine.
Call words
10---
Relative constants
20---
Fixed constants
60---
Fixed temporary storage
70---
Working temporary storage
The rightmost three octal digits of the call words specify the relative
running location of the item within the designated region, the first item of
a region being designated by the digits, "000".
Thus, the call word, 10003,
would be used as a relative address to reference the fourth relative constant
in order of increasing memory address.
These call words facilitate the
generation of machine instructions referencing items in the constant or
temporary regions without predetermining the actual addresses of these items
relative to the beginning of the running routine.
Relative constants are those which are relatively coded and must be
modified during processing.
Modifying "10" lines appearing in the Relative
Constant region must not be counted when determining the three call-word digits
specifying the relative location of constants within the region.
Fixed
Constants are those constants which are coded in absolute and are not to be
modified.
Fixed temporaries are those in which information is stored at some
time during the execution of the routine and is retained for the duration of
the routine.
On the other hand, working temporaries* would be those which
are used and reused to store different information during a given execution of
the routine.
The number of entries in each of the constant or temporary regions, exclusive of "10" lines, must be included in the third word of the Prelude for
* NOTE:
Distinguishing between two types of temporary storage was necessary
in the generation of equation routines. In general, this may not be
necessary.
186
the routine.
each.
This word will be divided into four groups of three octal digits
Each group will contain the number of entries in the corresponding
region, packed to the right and filled with zeros within the group.
The word
will be divided as follows:
Number of Fixed
Temporaries
Number of Working
Temporaries
3 octal digits
3 octal digits
Number of Relative
Constants
Number of Fixed
Constants
3 octal digits
3 octal digits
When any of the regions is not used, a corresponding zero entry must be made
in the third word of the Prelude.
An example of the use of supplementary call words in a generated routine
would be:
Relative
Address
Generated Routine
Op
.tu·t
'tv"
--
-00
----- ----I
I
li001:0
I
1
""\
--,--I
021003
__1I__ -
----
._I__ ..J_
1000
45
00000
1001
15
10000 01002
1002
66
30000 20000
1003
11
31000 60000
1004
67 20002
60000
1005
11
31000
70000
1006
65
60000
70000
1007
11
31000
70000
1010
66
60000 20000
1011
64
31000
70000
1012
16
10001
01014
1013
21
01014
20001
1014
11
31000
30000
1015
45
00000
01000
----- --------- ----30000
Prelude
r<
>
v
187
Body of routine
10000
00
77000
00000
10001
00
00000
77005
20000
20
04000
00000
20001
OU
OOOOU
00001
20002
20
54000
00000
~
>
~
----- >
60000
70000
>
}
188
Relative constants
Fixed constants
Fixed temporary
Working temporary
3.
USE OF CALL WORDS TO REFERENCE SUB-PROGRAM INPUT LIST
The inputs for a sub-program are designated by means of dummy variables
appearing in the heading of the sub-program.
These inputs may be floating or
fixed-point single-valued quantities, subscripted variables, or functions.
The dummy variables will be assigned dummy call words depending on the type of
input.
The leftmost two octal digits of the call words indicate the type of
input, the third octal digit specifies the number of subscripts in the case
of subscripted variables, and the rightmost two octal digits indicate the
relative location of the particular entry in the sub-program input list.
These
call words are used in the generated routines of a sub-program to reference
the entries in the sub-program input list.
The input file for a dummy subscripted variable will contain the call word
of the subscripted input variable, and the values of its multipliers, modulus
and subscripts in that order.
The dummy subscripted variable will have a
76--- type call word; the multipliers, modulus, and subscripts will have 63--type call words.
SUBSCRIPTED DUMMY VARIABLE INPUT FILE*
Dummy
Call word
Op
u
v
764--
00
77---
77---
Call word of input variable in u and v
Numerical value of fi rst multiplier
630-630--
"
"
630-630--
tI
630--
tI
..
630--
*Note:
"
"
"
,. third
. ..
II
second
--
first subscript
~,
630--
It
tI
" third
630--
tt
"
" fourth
189
••
modulus
1t
Length of file varies with number of subscripts.
.,
second
"
"
"
The input file for a dummy function will contain the call word for the
input function, and the call word of the equation defining the function.
The
dummy function will have a 61---type call word.
DUMMY FUNCTION INPUT FILE
Dummy
Call word
Op
u
v
61---
00
66---
66---
Call word of input function in"d'and'V'
61---
00
25---
25---
Call word of e0uation defining input
fun c t ion in" u" n(1 " V "
':l
The input file for a dummy floating or fixed-point single-valued variable
contains only the value of the input quantity.
DUMMY
SINGLE~VALUED
Dummy
Call word
Op
VARIABLE INPUT FILE
u
v
Numerical value of input quantity
63---
The files for the inputs for a sub-program must appear consecutively in
the sub-program input list in the order in which the corresponding dummy
variables appear in the sub-program heading; the file for the first (leftmost)
input variable beginning at the initial address of the input list.
Consider the following:
DIMENSION .
.X(2,4)
SUB-PROGRAM REFERENCE .
.Compute INT(X(1,3), F, L, 0.5)
. .INT(W(I,J), G, K, T)
SUB-PROGRAM HEADING
where:
(1)
INT is a Pseudo Operation
(2)
"X" is a subscripted input variable with call word, 77003.
(3)
"F" is an input function with call word, 66001, and a
defining equation with call word, 25005.
(4)
"L" is a fixed-point input variable with value, 2.
(5)
"0.5" is a floating-point constant input.
190
The entries in the sub-program input list and the associated dummy call
words would be:
Dummy
Variable
Dummy
Call word~~
Op
u
v
W
76200
00
77003
77003
Call word of X in "u" and "v"
63001
00
00000
00004
Value of multiplier for 'X"
63002
00
00000
00010
Value of modulus for "X"
I
63003
00
00000
00001
Value of first subscript for "X"
J
63004
00
00000
00003
Value of second subscript for "X"
G
61005
00 66001
66001
Call word of "F" in "u" and
61006
00 25005
25005
Call word of equation for
in "u'" & "v·t
K
63007
00
00000
00002
Value of ttL"
T
63010
20
04000
00000
Floating-point constant "0.5"
tt
v"
"F~'
All sub-program references utilize a common input region, with the current
input list overlaying the previous list during running of the object program.
The total number of entries in the input list for any sub-program reference
must not exceed 100 octal, since only the rightmost two octal digits of the
dummy call words are available for designating the relative location of an
entry within the sub-program input list.
*Note:
The last two octal digits of the dummy call words indicate the relative
location of the entry within the input list.
191
4.
USE OF CALL WORDS TO REFERENCE ARGUMENT LIST FOR FUNCTIONS
The dummy arguments for a function are specified on the left of the
function equation and may be non-subscripted variables or subscripted variables
with only one subscript.
These dummy arguments will be assigned dummy call
words which will be used in the generated routines to reference the arguments
for the function.
Argument files pertinent to the real arguments to be used
in the evaluation of a function will be transferred to an Argument List for
the function by the COMPUTE statement referencing the function.
The rightmost
two octal digits of the dummy call words indicate the relative location of the
particular entry in this Argument List; the leftmost two digits specify the
type of entry, i.e., subscripted or non-subscripted.
The argument file for a dummy subscripted argument will contain the call
word of the real subscripted argument, the value of the modulus for the
argument, and the value of the subscript.
The dummy argument will be assigned
a 75--- type call word, the dummy subscript and modulus 62--- type call words.
SUBSCRIPTED ARGUMENT FILE
Dummy
Call word
Op
u
v
750--
00
77---
77---
620-620--
Call word of subscripted argument in "u" and
t'v"
Numerical value of modulus
Numerical value of subscript
The argument file for a dummy non-subscripted argument will contajn only
the value of the real argument.
The dummy argument will have a 62--- type call
word.
NON-SUBSCRIPTED ARGUMENT FILE
Dummy
Call word
620--
Op
u
v
I --1----- 1----- I Numerical value of real argument
The argument files for a given reference to a function equation must appear
consecutively in the Argument List in the same order as the corresponding dummy
192
arguments appear on the left of the equation; the file for the first (leftmost)
argument beginning at the initial address of the Argument List.
As an example, consider the following:
DIMENSIONS . . . . .
FUNCTION EQUATION
FUNCTION REFERENCE
where:
. 5(10), Y(4)
F(X(I), Z, W, Y(J» - - - - - . . COMPUTE F(S(3), 0.5, T, Y(J»
(3)
T is a float ing- poi nt variable with value, 16. O.
J is a fixed-point variable with value, 2.
5 is a subscripted argument with call word, 77004.
(4)
Y
( I)
(2)
(5)
(6)
is a subscripted argument with call word, 77001.
tt3" is a fixed-point constant.
"0.5" is a floating-point constant.
The entries in the Argument List and the associated dummy call words
would be:
Argument List
Op
u
v
Dummy
Variable
Dummy
Call word
x
75000
00
77004
77004
Call word of "5'" in "u" and "v".
62001
00
00000
00012
Value of modulus for 1'5".
I
62002
00000
00003
Value of subscript for "5".
Z
62003
00
20
04000
00000
Floating-point constant "0.5".
W
62004
20 54000 00000
Y
75005
00
77001
77001
00
00000
J
62006
62007
00
00000
00004
00002
Value of T, i.e., floating-pt
const. 16. O.
Ca II wo rd of "Y" in "u" and v".
4t
Value of modulus for "Y".
Value of Subscript "J".
A common region is used for the Argument Lists for all function equations,
with each list overlaying the previous list during the running of the object
program.
The maximum number of entries in an Argument List is twelve, since a
maximum of four arguments is allowed and the maximum argument file contains
th ree e nt ries .
193
B.
FIXED
ADDRESS
0020000
00006
002 n
s
n =0 # words Dimension List
s =0 # arrays
00007
00
00010
00 2 n
n
n == # words Constant Pool
00011
00 2 n
n
n = If. words Reference List
0
0
n
n == # single-valued
variables
00012
00013
OWI4
GENERATION
TRANSLATION
00005
Fixed Locations During Co.piIation
SEGMENT ATI ON
INITI ALI ZATI ON
GENERATION
ALLOCATION
LISTING
X2 n
n
n = If. words in LIST I
x
00 if n = 0
x = 20 if a II Library Call words
> 50177 (Standard)
x = 40 if all Library Call words
< 5~ 00 (F i xed)
x = 60 if both types occur
s
s
00 2m
00 2n
m = If. words mod ified Di m. List
n = If. words Dimension List
s = If. arrays
0
n
00 x
n
x - J st add ress for single valued
variables
n
If. single-valued variables
If n = 0, X = 0
002 n
n
00
2
n
x
x = 1st address of constants
n = If. constants
If n = 0, X = 10000 (20000,
30(00)
00
OOOOx
a
a = Load i ng add ress
for segments
00
00 OOOOx
x = 0 if
x = I if
x = 2 if
x = 3 if
0
no LIST or READ
LIST only
READ only
both
00
0
n
n = # blocks Corrected
Problem
!!._~_~_~_L
__
= If.
blocks Constant Pool
=#
blocks DIM LIST
w
= If.
blocks Symbol LIST
x
y
= READ, LIST i nd i cator
= If. blocks thru Constant
u
+ Label + End
v
+ Label + End
+ Label + End
00015
PROCESSING
Pool
o 2n
s
0 2m
Description as above
I
s
00
2m
s
00
2m
s
c.
Uniservo Usage
On the following pages are given the two layouts of Uniservo usage
during compilation of a UNICODE program; one using five Uniservos, the other
seven.
These charts show the important contents of each tape at the beginning
of compilation and at the end of each phase.
Entries only appear on the chart
when the preceding phase has added to or changed the contents of the tape.
The bottom line shows the contents of all tapes at the end of compilation.
195
UNICODE COMPILATION - Fi ve Uniservo Layout
UNISERVO 1
UNICODE MASTER
UNISERVO 2
UNISERVO 3
LIBRARY
PROGRAM
UNISERVO 4
(J\JISERVO 5
CORRECTIONS (if any)
PHASE
BLANK
MEHGE
BLANK
BLANK
CORHECTED PROGRAM
TRANSLATION
STRINGOUT
GENEHATION
GENERATED ROUTINES
COR RECTED PROGRAM
OP FILE I
LIST I
DIMI~NSION LIST
CONST ANT POOL
SfM130L LIST
SEGMENTATION
OP FILE II
ALLOCATION
ALL OF PRECEDING
~~E~;,~~
lIIL
TERMINATIONJ
by
segment
INITIALIZATION
GENEHATION
TAPE HANDLER
CONTROL
INITIALIZATION
CONSTANT POOL
PROCESSOR
OBJECT PROGRAM
LISTING
PROGRAM LISTING
I
UNICODE MASTER
LIBRARY
OBJECT PROGRAM
PROGRAM LISTING
CORRECTED PROGRAM
END OF
COMP::LATION
UNICODE COMPILATION - Seven Uniservo Layout
UNISERVO 1
lI'lICODE MASTER
UNISERVO 2
UNISERVO 3
LIBRARY
PROGRAM
UNISERVO 4
UNISERVO 5
CORRECTIONS (If any)
UNISERVO 6
BLANK
BLANK
UNISERVO 7
PHASE
BLANK
~lERGE
CORRECTED PROGRAM
TRANSLATI ON
STRINGOUT
GENERATION
CORRECTED PROGRAM
OP FILE I
LIST I
DIMENSION LIST
CONST ANT POOL
SYMBOL LIST
GENERATED ROUTINES
SEGMENT ATI ON
OP FILE II
ALLOCATION
ALL OF PRECEDING
~~E~~~~
III}
TERMINATION
By
Segme nt
INITIALIZATION
GENERATION
TAPE HANDLER
CONTROL
INITIALIZATION
CONST ANT POOL
PROCESSOR
O.3JECT PROGRAM
LISTING
PROGRAM LISTING
lINICO[)E MASTER
LIBRARY
PROGRAM
CORRECTI ONS (If any)
,
,
CORRECTED PROGRAM
OBJECT PROGRAM
I
~
PROGRAM LISTING
END OF
COMPILATION
d. Corrections to UNICODE Manual
Page 4:
(U-1451 Rev. 3)
Insert after tenth line of first paragraph the following:
This size restriction on fixed-point constants written
in a UNICODE program does not prevent the generation,
use, or output of fixed-point numbers greater than
999999 in the running of an Object Program.
Page 7:
Change first line of third paragraph to read:
Superior symbols available are minus sign, divide sign,
and figures, all superior
Page 10:
Change first two lines of list under first paragraph
opposite "Hierarchy of Operations" title to read as
follows:
1.
2.
Library Functions
Exponentiation
Add paragraph at bottom of page 10:
= sin
such as
sine of
applies
Z
Page 23:
y 2 is interpreted as Z = (sin y)2. A term
sin 2 y causes an error print-out. To get the
y2, one must write sin (y2). Similar usage
to other library functions.
Change second and third line from the bottom of page to read:
DOT
(A(I), B(J))
where A( I) and B( J) are dummy vectors.
No "'dummy" operand in
Also add at the bottom of the page the sentence:
No dummy operand (including subscripts) may have the same
designation as another dummy operand in the same heading,
although different dummies may be equated to the same
real variable by the COMPUTE statement which references
the sub-program.
198
e.
Use of Second and Third Memory Cores in Object Program
To modify the UNICODE Master Tape so that more than one core of 10000
8
addresses is available to the Object Program, update a Master Tape until the
number 13 for the Segmentation Phase has been typed.
Stop the updating at
this point and load into absolute address 2555 the upper threshold desired.
At present this address holds 00 00000 10000. It may be changed to
00 00000 20000 for 2 cores or 00 00000 30000 for 3 cores or any value above
10000 for Object Programs needing more than one core but less than the full
memory_
After this correction, resume the updating of the Master Tape as explained in the System Tape Package write-up by starting at 40414.
Upon
completion of the updating, a changed-word post mortem (start at 40600)
should show only the changing of this one word.
If it does, the updated
Master Tape will now generate Object Programs using the new memory area
designated.
199
III. TRANSLATION AND CORRECTION
1. UNICODE SENTINEL BLOCKS
III.
1.
Translation and Correction
UNICODE Sentinel Blocks (ZZ)
The first two blocks of the system tape contain coding to:
A.
Read in the merge and jump to it (start at 77000)
B.
If start was at 77004, read in:
1.
Flex Codes (FC)
2.
Tape Handler (TH)
3.
Print Text (UP)
4.
Alarm Routine
then move tape on Uniservo 1 forward to Segmentation
Set-Up and check Sentinels on following tapes:
1.
Library
2.
Generated Routines
3.
·'UNICODE Program'"
then move
:tt5
(:tt2)
(:tt4
or
:tt7)
(:tt5)
forward to Ope File I and jump to 77010.
This will read in Segmentation Set-Up and jump to it,
thus initiating Pass III.
203
Unicode Sentinel Blocks (ZZ)
77000
start
Service Rout.
read 2nd hlk.
)------~
Read in merge &
Jump to it
77004
start
Read in TU, UP, FC.
BR and move #1 fwd.
to Seg. setup hlk.
Check sentinels:
LIB tape
GEN tape
"Unicode program"
Position #5
Unicode System Tape Sentinel Blocks
(1105 & 1103A Regions and Coding)
Region
Address
zz
7230
7267
7344
7407
7437
7444
7474
7534
7610
7116
CC
CE
ZU
ZW
ZX
Zy
'l£
TI
BB
TH
TN
UP
OW
FC
ZA
XA
XB
BR
Name
}
21
20
421 }
513
40001
77000
35
3134
537
Sentinel and Reads
Constants
Check Library Sentinel
Move No. 5 forward
Check for 1'Unicode Program"
Check Generated Tape Sentinel
Read N blocks
Tape Image
Read Subroutine
Tape Handler
Indicates 5 or 7 servos
Print text
Flex Codes
Service Routine
Beginning of Merge
End of Merge
Start of Generatio~ subs
205
Unicode System Tape Sentinel Blocks
(1103A)
ZZ
1
OUT
m
...
n
V
~~J..J
2
67
30
30
30
TP
RJ
TP
RJ
MJ
50342
77657
47776
77777
65127
36566
62452
77777
BB2 }
L
3
4
5
6
7
10
11
12
o
CCI
BB
CC2
ZC
o
~
TO
..LL
r
rl
vv L
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
RJ
EF
TP
RJ
RP
TP
TP
RJ
TP
RJ
TP
RJ
TP
RJ
MJ
CA
BB
1
= 7230
IA
MJ
o
.LV
o
CE42
BB
30100
TI
CC4
ZC
CE31
TH2
CE30
TH2
CE27
ZZ6
77000 Start
. . , , . , , , , , AI
'7'7,q
BBI
ZC2 }
zel
XA
DDI)
~i;i
CC3
'\
J
BB2 }
BBI
TH2
ZZ22}
FC
ZC2 }
ZCI
TH3 }
TH
TH3 }
TH
TH3 }
TH
o
ZU
,....
•
IIU\jq
;:)1..arl.
UN
I COD
E 77 S
E M 77
E 77 77
Read in
Y S T
TAP
77 77 77
subs
Read in merge
~ Merge
Read in subs
Move fwd to FC
Read in FC
FC~drum
Read in GTH, UP
Move fwd to BR
Read in BR
Move fwd to seg. setup
~ LIB check
ZZ33
206
Unicode System Tape Sentinel Blocks
(1105)
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
MJ
MJ
67
30
30
30
TP
RJ
TP
RJ
MJ
TP
RJ
MJ
EF
MJ
EF
TP
RJ
RP
TP
TP
RJ
TP
R.J
TP
RJ
TP
RJ
MJ
1
CA
zz
0
0
50342
77657
47776
77777
CCI
BB
CC2
ZC
0
CCI
BB
20000
0
0
0
CE42
BB
30100
TI
CC4
ZC
CE31
TH2
CE30
TH2
CE27
TH2
0
4
ZZ37
ZZ6
ZZ13
65127
36566
62452
77777
BB2
BBI
ZC2
ZCl
XA
BB2
BBI
ZZ20
ZZ36
Z721
CC3
BB2
BBI
ZZ25
FC
ZC2
ZCl
TH3
TH
TH3
TH
TH3
TH
ZU
10153
}
}
}
= 7230
77000 Start
77004 Start
U N I
C 0 D
S T
E 77 S y
E M 77 T A P
E 77 77 77 77 77
Read in subs
Read in merge
~ Merge
Read in subs
TCUI ~
fwd to FC
20
fwd to FC
in FC
TCU2~ZZ20
}
}
}
}
}
}
Move
Skip
Move
Read
FC
~
drum
Read in GTH, UP
Move fwd to BR
Read in BR
Move fwd to seg. setup
~ LIB Check
Move fwd to FC TCUI
207
Check LIB Tape
( 11 03A &. 1105)
2
3
4
5
6
IA
TP
RJ
TP
EJ
MJ
TP
EJ
7
TP
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
RJ
TP
RJ
TP
0
I
MS
ZJ
TP
RJ
TP
DV
ZJ
RA
ZU
CC5
TH2
TI24
CC6
0
TI25
CC7
CCI0
TH2
CC35
UP2
CC
0
ZY
CC5
TH2
TI2
CC12
ZU23
SP
Q
Q
AT
RJ
MJ
CA
CCII
TH2
0
ZU30
TH3
TH
A
ZU5
ZU7
A
ZU16
TH3
TH
UP3
UP
A
ZU15
ZU
TH3
TH
A
Q
ZU24
CC13
25
TH3
TH
Zy
}
}
}
}
}
}
}
Read LIB sent.
Check LIB sent.
Wo rd 2 I = llll LIB II
Word 22 = II TAP E II
Error + O.;K. ~ ZU16
Rewind #2
"LIB on 2"
A= 0
Not required ~ GEN check
Read 2nd blk. of LIB tape
No. blks. in catalog
~
Move past LIB catalog
~ GEN sent. check
208
A
Check Generation Tape Sentinel
(1103A & 1105)
0
1
2
1A
TP
MJ
TP
3
TP
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
AT
RJ
TP
AT
RJ
TP
EJ
TP
MJ
TP
TP
RJ
MS
TP
TP
RJ
RJ
RP
CC
SP
SA
SA
ZJ
TP
RJ
TP
RJ
MS
CA
ZY
CC15
10000
CC
TN
CC16
TH2
CC20
TN
TH2
CC17
T124
CC22
10000
CC21
CC23
UP2
0
T125
CE25
TH2
ZX
30003
CE3
CE3
CE4
CE5
ZY33
CE24
TH2
CE32
UP2
0
ZY40
TN
ZY3
TN
A
TH3
TH
A
TH3
TH
A
ZY21
CC33
ZY16
CC33
UP3
UP
ZY
CE
TH3
TH
ZXl
ZY27
CE6
0
0
0
ZW
TA3
TH
UP3
UP
ZY22
TN = 0 3 0
Five servos ~ 7 ~ ZY3
TN = 0
}
Read GEN sent.
}
Rewind gen. tape
}
}
}
Sent. O.K. ~ZY21 No t
Set for 7 servo print
Fi ve servos ~ 7 ~ ZY16
Set for 5 servo print
"GEN tape not on servo 4 or 7·'
Stop for re-entry
Sent. O. K., store # blk. on 5
Read 1 blk. #5
Pick up Sentinel
Check Sentine 1
}
}
No ~ O.K. ~ ZW
Rewind #5
"Mount Unicode Program #5 etc."
209
Check "Unicode Program"
(1103A & 1105)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
IA
MJ
TV
TV
TP
RP
TP
TP
LQ
QT
EJ
IJ
MJ
SP
AT
TP
IJ
TP
RA
TP
TP
IJ
RA
IJ
MJ
CA
zx
0
CEll
CEll
CC
30004
CEl7
CE20
(30000)
CE23
CC13
CEl5
0
CEl
CE2
CEI
CE16
CEI
ZX20
CC
CE22
CE14
ZX7
CE13
0
ZX30
(30000)
ZX7
ZX20
CEl
ZX6
CEl3
CEl4
6
CE2
}
}
}
Setup
Set indexes
One word index
Char. ~ CE2
~~
ZX24
ZX14
ZX24
6
CEI
CE5
ZX24
( 3(000)
CC13
CEl
CE16
ZX7
CE12
ZX6
ZX
Exit
1\1....
nv
\~
•
}
14 non lJ.'s
}
Collect char. in CEI
~
No~
CEI full ~ No~
Store CEl
Modify
Clear temp
Reset index
One word index
MOdify
20 word index
Exit
Position #5
(1103A & 1105)
0
1
2
3
4
IA
RS
SP
AT
RJ
MJ
CA
zw
CE
A
CE26
TIl2
0
ZW5
CC13
25
TH3
# blocks on 5
Move #5 fwd to op file I
TIl
ZAIO
~
210
seg, setup
Constants and Variables
(1103A & 1105)
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
IA
0
0
0
2
0
50
01
01
10
30
0
0
0
0
50
01
10
07
12
0
47
67
30
54
54
30
65
0
24
0
47
67
30
24
01
01
31
34
01
54
66
66
54
01
54
CA
CC
0
170
XA
4
TH
102
01463
66245
2
2
0
0
0
3
104
01323
4
22010
22010
CC24
51675
50342
01323
24663
51676
65015
30547
0
54662
CC36
51675
50342
01463
54730
65305
05220
01505
25542
54305
30270
01240
01760
51220
01016
66227
0
ZZ170
XB
10153
UW23
TI
42501
23001
0
0
170
1
07777
0
TI
05001
0
16566
16566
11
06601
65127
05030
02701
63450
15001
05101
0
27777
17
06601
65127
42554
15150
47051
10134
10146
45473
36734
16530
15051
17430
10101
56624
77777
Zero
Read in subs
Read in me rge
Move fwd to FC TCU2 & 1103A
Read in GTH, UP, etc.
Read LID sent. & 2nd blk.
66LIB6
6TAPE6
Rewind 112
Move past LIB catalog
Mask
Set TN
Read GEN sent. (4 or 7)
66GEN ~
Rewind GEN (4 or 7)
4 (print with 5 servos)
7 (print with 7 servos)
Par. for print GEN sent. error
M 0 U N T l:l
U N I C 0 0
E l:l G E N E
R A T E 0 l:l
R 0 U T I N
E S l:l 0 N l:l
S E R V 0 l:l
filled in
4 . ~ l:l S T
T
A R
. 77 77
M
U
E
A
66-
F
I
b.
R
T
T
R
b.
R
CC~~
211
0 U N T l:l
N I C 0 0
b. L I B R
R Y b. 0 N
S E R V 0
2 . b. 6- I
b. N 0 l:l L
B R A R Y
R E Q U I
E 0 6- S E
b. A b. N 0
6- = 6- Z E
0
b. b. 66- 6- S T A
T
77 77 77
Constants & Variables (Cont.)
LA
CE
0
0
0
5
6
7
10
0
0
0
0
0
0
67
30
0
11
0
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
0
0
0
0
0
0
0
0
0
0
10
50
30
30
50
30
0
47
67
30
54
01
01
66
0
CA
0
1
2
3
4
0
0
0
50342
52545
0
TI
1
0
0
0
0
0
0
0
0
0
5
105
5
501
101
11001
CE33
51675
50342
01525
24470
65305
10220
24546
170
CE43
(0 )
0
0
3
4
5
65127
13254
02447
CE3
0
0
0
0
0
23
5
16
5
77
0
TI
0
0
BR
0
7
06601
65127
45132
15150
47051
10165
62277
TI
}
}
}
~ blk. servo 5
Bui Id word
Char.
UNIeOD
E PRO G R } bui Id
o 0 0 0 AM
UNICOD
E PRO G R
o 0 0 0 AM
Indexes
Set indexes
Mask
Rewind ~5
Read 1 blk.
Move 11:5 fwd
Move 11:1 fwd
Read in BR
Move 11:1 fwd
U N
U N I C
E ~ P R
R A M ~
~ S E R
~ 5
~
T A R T
Read in FC
M 0
.
212
11:5
n blks. to Op File
to segmentor
to BR routine
T
0
0
0
V
~
.
~
D
G
N
0
S
77
Read n Blocks to Storage
(1103A & 1105)
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
3.5
36
37
40
IA
MJ
MJ
0
TP
QT
LQ
QT
ST
AT
LQ
TV
DV
TP
TP
2J
RS
TU
RJ
RA
IJ
TP
2J
TU
RJ
MJ
0
0
0
0
0
0
0
0
CA
2C
0
0
(30000)
2C2
2C34
Q
2C34
2C35
2C37
Q
Q
2C40
A
Q
2C17
ZC33
ZC40
BB
BB2
2C33
2C32
2C26
ZC32
BB
0
0
0
0
77777
(30000)
0
1
170
ZC41
(30000)
ZC3
(30000)
Exit
Q
ZC35
17
A
A
A
6
BB2
ZC33
ZC32
A
ZC26
ZC36
BB2
BBI
2C31
2C21
A
ZC
BB2
BBI
ZC
170
0
0
0
0
1
0
0
}
o 1st address last address
Par. ~ Q
Store 1st address in u
Last address ~ Qu
Last address ~ Au
Last - 1st + 1 ~ Au
1st add. ~ Qv
Set up 1st address
n/1708 ~ index
Store remainder
}
Quotient = 0
}
Index - 1
No. of words = 1708
Read blk
Address + 1708
n blks
Remainder = 0 ~ exi t
~
2C26
Remainder ~ par.
Read remainder
Exit
Constant
Remainder
Index
Mask
1st address
Constant
213
no ~
no
~
2. TAPE MERGE
2.
Tape Merge
The tape merge routine is used to produce a corrected program tape, or,
if no corrections are desired, to copy the program onto Uniservo 5.
used to determine which of the two options is taken.
tape is produced; if not, the tape is copied.
MJ3 is
If it is set, a corrected
Corrected Tape
Correction tape is read in 168 blocks at a time. While corrections are
being read in, a table is built up which contains an entry for each correction
item.
For a change or insert sentence, the table entry consists of the line
nl~ber
and a directory word which contains the drum address where the item will
be stored, and the number of words the correction contains.
The sign bit of
the directory word is set to negative so that the entry will be recognized
as a change or an insert.
For a delete sentence, the table entry contains the first and last line
number of the group of items to be deleted.
The Line-Number processor is used to process all line numbers in the
table.
The line numbers of insert and change items are processed between read-
in of successive blockettes and the processed line number included in the table
entry.
The line numbers of delete items are processed after 16 blocks have
8
been read in and tape has been stopped.
Since there is not enough time available between blockettes to print out
errors, a modified version of the Line Number Processor is used.
When an er-
ror is encountered, the line number and the type of error are stored so that
errors can be printed out after the tape is stopped.
Also, the output given
by Line-Number Processor for an illegal line number is set to zero so that the
line will not appear on the corrected tape.
After 16 blocks have been read in, the corrections are transferred to the
8
drum, the line numbers of delete items are processed, and any Line-Number Pro~
essor
errors are printed out.
If more corrections remai, to be read in, the routine repeats the process.
217
When all corrections have been read in and all table entries have been
formed, the table is sorted so that the corrections can be brought down from
drum in ascending order. At this time, all table entries with item numbers
oi zero are thrown away.
After the table has been sorted, read-in of program tape is begun. Items
are read in from the program tape seven blocks at a time. Line numbers are
processed between the read-in of successive blockettes.
When seven blocks have been brought in from program tape, the read is
stopped.
Next all change and insert items referring to the program items are
transferred from the drum to the correction buiier.
The iine-number position
of all sentences to be deleted is filled with zero.
Next the routine starts to write the corrected program onto tape 5.
insertions and changes are made as the tape is written.
All
Program items with
line numbers of zero are not written out on corrected tape.
When the last complete block which can be produced from the group of items
in core has been written, the tape is stopped and any remaining blockettes are
stored to be written on the next pass.
items from program tape.
The routine then goes back to read more
When no more program or correction sentences remain to be written, the
routine fills in the final block with END OF TAPE sentences and stops the
tape. Next all tapes are rewound and the routine exits to ZAIO.
Copy Tape
Program tape is read in 248 blocks at a time and written on tape 5
until all of tape has been copied.
to ZAIO.
Then tapes are rewound and routine exits
Print-Outs
If merge is selected, routine prints:
MERGE
CORRECTION TAPE
Following the correction tape print-out t all errors detected on correction
tape are listed. Next the routine prints:
PROGRAM TAPE
218
and all errors occurring on program tape are listed.
When either the merge or the copy tape is completed, the routine prints
PROGRAM NOW ON TAPE 5
If only 5 servos are available, the routine prints
PUT 1500 FT. TAPES ON S. 3 AND 4
and stops so tapes can be changed.
When the computer is restarted, the routine exits to ZAIO.
Error Print-Outs
If an out-of-sequence item appears on the program tape, the line-number
position of the sentence is filled with a zero so that the sentence will be
dropped and the routine prints
SENTENCE
t
t
OUT OF SEQUENCE
Label blocks of both the correction tape and the program tape are checked
to determine whether correct tape is being read.
If label is incorrect,
routine prints:
WRONG TAPE SERVO 3 (or 4) SHOULD BE UNICODE PROGRAM
(or UNICODE CORRECTION)
After the Error print-out, the routine rewinds the tape and stops set to
re-enter after tape has been changed.
If a parity error occurs, and the parity reread routine fails to correct
the error, the routine prints:
PARITY REREAD FAILS.
A NCYr = 0 AND START.
TO REREAD START.
TO IGNORE SET
and stops set to re-enter.
If parity error is ignored, routine prints:
PARITY ERROR IGNORED
repositions tape and goes on with next block.
If more than 300 corrections appear on correction tape, the routine
prints:
TOO MANY CORRECTIONS, 300 IS MAXIMUM
After print-out, routine ignores any remaining corrections and goes on to
write corrected tape.
219
Merge Routine
TCUl or TCU2
TCUl
Set tape
codes for
TCUl
~-.---::iOI
Set bypass
mode
Merge
copy
tape
I Print:
MERGE
'-r----'
Print
CORRECTION
TAPE
Set label check
error print to servo
4 and unicode
correction
Set initial addresses
for Line number
Processor error
Storage
Read 1st
block from
tape 4
Rewind tape
and stop
Wrong
Label
Merge Routine (Cont.)
Start read on Servo 4
Set initial table
address (3073). Set
initial buffer
address (4225).
Set counter for 15
blocks. Set initial
drum address (400001
Set blockette
counter to 5,
Read block
Check
to buffer
parity
Parity
good
Test: does end of
of tape line appear
in thi s block?
Yes
Stop
tape
Merge Routine (Cont.)
Process
b10ckette
Read 1st word of b10ckette to current buffer
Set end of tape
tape?
switch to
)
storage address and to
A
No
0
Read rest of blockette to current
buffer storage
JE-----\
Test blockette counter
fini shed with block?
No
4
Set next buffer
storage address
Merge Routine (Cont.)
End of
tape switch
Is buffer
full?
Yes
~--~
Stop Tape
1---_==-58
No
Transfer contents
of buffer to
drum
Set initial buffer
address into 'process
blockette' routine
Set blockette
index to 5
Start
Head
Reset buffer address to
initial address. Set blockette and block counters.
Set for next drum transfer.
Set for next group of delete
items
Process 'delete
command' item numbers
Set process
blockette
switch to
CD
Merge Routine (Cont.)
Stop
Tape
Set for next
line no.
line no.
to A
Rewind
tape
ransfer
corrections
to drum
Process
blockette
If first table item was
a delete, adjust no. of
in sequence items
counter
Process delete
"
command item numbers
Merge Routine (Cont.)
Set no. of in sequence
items into instruction
which moves data from
Set total no. of
items~
1----:,;..,. O.H.~----:...I buffer tot a b1e
Set no. of in
sequence items
Set exit from sort to
@
t---~
Set addresses
into compare s
A, B, C, D, E, F,
G, H
Set initial switch settings
Is total no. of
items > new no. of
in seq. items
Yes
J.oE-----i
Form new no. of
in seq. items
A~13A
F~21A
K~24A
B~14A
G~22A
L~18A
C~15A
H~16A
M~15A
D --;.19A
I
E~20A
J~23A
~
17A
Merge Routine (Cont.)
~
Set total number of
items into no. compares
index
...,
Fill out table with
largest number
IIi'
-"'"
~
Set exit from
sort to @
Set new number of in
seq' items into no.
...
compares index
~
..,..-
,
12 ..
,-
-
Set initial buffer
address into instruction
which moves data from
buffer to table
\1/
Merge Routine (Cont.)
Com are A
Is item of in
sequence string >
out of sequence item
Store address of
in sequence item
in com are I
Is A of in
sequence i terns
exhausted?
No
Set address of
largest no. in
place of address
in seq. item in
(compare A)
Yes
L -_ _ _ _ _ _
~
Store address of out of
sequence item.
Set address of largest
no. in place of address
of out of seq. item in
(compare A)
l3A
Set Switch A exit
to
@
Compare I
Compare B
Compare two items.
Put address of smalkr
item into compare I.
Put address of largest no. in place of
smaller item.
Merge Routine (Cont.)
Compare 2 items - put
add of smaller item
into compare M.
Put add. of compare
from which item came
into tern 1
Set switch
B exit to
l4A
Compare C
Compare two i terns. Put
address of smaller
item into compare J.
Put address of largest
no. in place of
smaller item above
l5A
Set switch C
exit to
@
Set Switch I
exit to
@
compare M
Compare 2 items - pu
add. of smaller into
~~compare P.
18
Put add. of compare
from which it came
(temp 1 or 2) into
temp 5
Set Switch M
to ~~
Compare 0
Compare two i terns. Put
address of smaller
i tern into compare J.
Put address of largest no. in place of
smaller item address
above
Compare J
Compare 2 items. Put
add. of smaller item
into compare M.
Put address of compare. from which item
came, into temp 2
19A
Set Swi tch 0
exit to
@
Set switch J
exit to
@
Compare K
Compare two items.
Put address of smaller
into compare N. Put
address of compare
from which item came
into temp 3
Compare E
Compare two items.Put
address of smaller
item into compare K.
Put address of largest no. in place of
smaller item address
Compare G
Compare two items.
Put address of smaller
item into compare L.
Put address of largest no. in place of
smaller item address
exit to
\----~
22A
G J----~
Set Switch F
to
@
@
Compare N
Compare two items.
Put add. of smaller
into compare P. Put
add. of compare from
which it came (temp
3 or 4) into temp 6
Set Swi tch G
to
@
l6~A~____~>L_s_e_t
__S_w~i~t_c_h______~~
_ H to @
I -'C/
1_ _ _ _
to
@
Compare L
Compare two items.
Put address of smalle
into compare N.
Put address of compare from which item
came into tern 4
Compare H
Compare two items.
Put address of smaller
item into compare L
Put address of largest no. in place of
smaller item address
Set Switch K
Set Switch E
20A
Compare F
Compare two items
Put address of smaller
item into compare K.
Put address of largest no. in place of
smaller item address
Merge Routine (Cont.)
Set Switch L
to
~
Merge Routine (Cont.)
Compare P
Compare two items.
Put address of smaller
into transfer command
Put address of compa~
from which it came
into exit (temp 5 or 6)
Transfer item from
table to buffer. Set
next buffer address
est: finishe
wi th . thi s group of
Items (no.
ares index)
No
Exit to address
set by compare
P
Yes Transfer sorted
string back to
table
Last
"-
PasS'~
®
Merge Routine (Cont.)
Set parity reread
~_
~.
end of tape test
~ exits to @ and
Set Read commands
for servo 3
t--~,..
Set up tout of se-
Reset label check
quence' counter and
error print for
PR OGRAM TAPE
~
initial address
@
&28
Copy
tape
__
~
I
I
merge
I
__ J
eXIt
\
Print PROGRAM
Set write fill
counter & write fill
temp
Find address of 1st
28 JoE~;"---1
non zero table item
and set into commands
which reference table
Merge Routine (Cont.)
Set up printout
for sentence
OUT OF SEQUENCE
Read one block
from tape 3
Rewind
tape
No ~:t: was
1E------------------4e!l correct
merge
exit 29
/
Yes
Write header
block on tape 5
/
/
Set initial buffer
Start
Read
address into commands which reference buffer
Set end of tape
test counter and
buffer counter.
Set total no. of
blockettes into
tern 1 and 3
copy
tflpe
exit
/
@5
Set address of
1st non zero
table item into
commands which
reference table
Yes
47
Read
Block
Set blockette
counter
Merge Routine (Cont.)
Item no. from
Set test A
buffer to A
counter to 1
Read blockette to next
Test A
buffer location
No
~------------------------~
Is it end
of tape?
Yes
31 tE-~---1 Set end of tape
switch to
@
Store address of end
of tape line.
Store
blockette counter. Set
to bypass end of tape
test on rest of blockettes o
No
Set next
buffer address
Test blockette
Has whole
been read?
Yes
Is it all
Spaces?
No
32
Check
End of tape
switch
Test A
Current item
no. to A
Set test A
counter to 5
Stop
tape
Test buffer counter.
~--'Is buffer full ?
Yes
No
30
Merge Routine (Cont.)
Line no. proeessor output to
buffer & A
Was line no.
output illega 11
Yes
Store in tout of sesequence \ list.
Set output line of line
no. processor to all
spaces.
Set for
next out of se • item
s It ~
previous line
number?
Was it all
spaces?
Yes
Yes
Set Line no. processor output line
to all spaces
Store in previous line :num-ber position
JE---,I
,/
/
Set.for next]
1 tem
-----------
C-YEXit when used as: subroutine
__. . . . . ._ _-.Yes Store last legal
line no. in line
no. processor out~
put line (lN3)
Test 2
Test 1
Is
Line no. of curtable item
to A
Is lN3
A?
=A?
1st time
35~--...--.
/
./
/'
/'
@)
/'
/'
@J
/'
Fill next correction
buffer location with
lar est number
Merge Routine (Cont.)
Is
Equal Switch A
Yes
equal
Set line no. from table
into correction buffer
not equal Use 2nd word of table
item to set up transfer
and transfer rest of item
from drum to correction
buffer
€fSet test 1
test 2
36~---I
N
W
c.n
Set for next
correction buffer
location,
Set
new address into
equal test
Set for next
table item
Are there more
corrections?
Yes
Set transfer exit to
Set to bypass
read in of
corrections
Merge Routine (Cont.)
Extract next item
from buffer~A
~""--~no
No
Is 1st delete
item no. > A?
Yes
Is last delete
item no. > A?
Fill buffer item
no. position with
zero.
No
Finished with
Set for next
all buffer items?K-----------~
buffer item
I Set
for next
buffer item
Next buffer
item no. to
A
Set table so delete
command will be continued on next group of
items
No
Fini shed witli
13111 buffer
items?
Merge Routine (Cont.)
Test next
correction item:
should it be
deleted?
correction
exhausted?
Set for next
correction item
No
L---~39A
Reset table
No
references
Set equal switch
@
A to
Set equa 1 swi tch
B to
§
Set equal switch
B
to
@
Set equal switch
4lH.l--~
A to not equal
condition
Merge Routine (Cont.)
Reset 'fill counter'
from tfill tempt
Start Write
Servo 5
Program item no.
to A
]
r - - - - - - Is it = O?
Is it to be
deleted?
No
Set current program item address
into TM.
Set for
next program item
No
Finished with
all program item?
Set up
and write
Set for next
program item
item =
No
L--_~42C
La st
Set current correction item address into TM.
Set for next
table item
Set up
& wri te
item store
Put address of
current correctio
item into TMI
normal
1r----~44
.....
.....
......
f no'more
L-----------'P. rogram . . . ~
ltems
V
Merge Routine (Cont.)
Set for next
program item
I\..:)
c..v
-..0
Set up and
write
Test: is it
all spaces?
Store "fill counter" in
Store
'fi 11 temp·
address of next write
conunand to be filled
Set for next
program item
Write
Has all of last
block been
No
Transfer unwritten
blockettesto Temp Buff
& reset references to
blockettes
Stop
Tape
Yes
Merge Routine (Cont.)
Compute no. of
blockettes in program buffer and
set counter
Stop Tape
Put largest number
into LN3 and into
line no. position
of End of Tape line
Set exit of last
item store to
Reset all Z·s into
line no. position
of end of tape
line
Write remaInIng
blockett and fill
out block with end
of tape lines
Stop Tape
Are there any
out of sequence
items remaining?
Rewind tapes
3 and 5
Print: PUT 1500
5 servos
FT TAPES ON S.
3 AND 4
7 servos
5 or 7 servo
layout MJl off
Print: PROGRAM
NOW ON TAPE 5
~
Put sentence no.
into print codes
print: SENTENCEOUT OF' SEQUENCE
Merge Routine (Cont.)
Set switch to Band
and write blockette I
Test fill counter.
Has full block been
filled?
Set switch to C and
write blockette 2
Set switch to D and
""
~
......
write blockette 3
Set switch to E and
write blockette 4
Store address in TM in
current write conunand
Set next storage address
Set switch to F and
write blockette 5
Yes
Write blockette 6
Reset block counter
Set switch to A
Set storage address
to blockette I
Merge Routine (Cont.)
Process
Blockette
Find first word in
blockette that is
Is
number all
spaces?
No
not all spaces
No
~---,
Increase no. of
words count for
previous two
No
Is it a delete
sentence which needs
to be ali!}ned?
Yes
Store line number
in table
Store drum address
and no. of words
Store address of
first "out of sequence" line number. Set exit so
subsequent ones
will be ignored.
Yes
~-"""7I
Test: Is line
number out of
sequence?
No
Set for next
blockette
Align delete sentence
and store in temp
Merge Routine (Cont.)
Set to ignore
rest of
corrections
Set end of tape
switch to
Stop
tape
0
Print: TOO MANY
CORRECTIONS 300
IS MAXIMUM
Put delete
command into
temp
Test:
Fill output lines
wi th spaces
No
Find length of line
number; mask out and
store in both
table locations
Yes
Check alignment of
THRU to determine
length of 1st line
no. Mask out line no
and store in table
Shift 2nd line no.
into position, mask
out and store in
table
Set table address of
item into tdelete
list' so line nos.
can be processed
later
Merge
Routine (Cont.)
Process delete
item numbers
Print line no.
errors for
ordinary sentence
T---~H'processor
Get corresponding
line numbers
from table
Process line
numbers
Finished with
No
'-------------f all delete items?
Restore line
nos. to table
r -...........~
Extract
i tern from
delete list
Yes
Pr i nt line nll:""\)--___~~~Xi t /
processor err l
J
V
Merge Routine (Cont.)
Set A not zero to
indicate
label is good
Find 1st word of
blockette that is
not all spaces
Align label so that
1st char. is in
leftmost bit
position
Test:
label
Print
WRONG TAPE SERVO __
SHOULD BE _____ -
Set A to zero to
indicate
error
Par i ty Rereads
Merge Routine (Cont.)
Set addresses
into reread clear
end of tape
switch
Start
read
Yes
Set parity A
exit to
@
Set parity B
exit to ~
Set parity A
exit to
§
Set label block
addresses into
reread
®
Clear end of
tape indicator
Restore
exit to
Parity B
Exit
Parity A
exit
Normal
Ki:\
~'---~)~
----~
-
--~
Set reread switch
to
Set blockette
counter
8
Start Read
backward
~~~
Read blockette into
descending storage
locations
Z's?
Set reread switch
@
to
Set low bias
Set blockette
Yes
counter
Finished
with block?
Start read
Set for next
blockette
forward
Set reread switch
Read blockette into
to
Set high bias
ascending storage
S
locations
Set for next
blockette
54HJ--,..--~
Print: PARITY
REREADS FAIL. TO
REREAD START. TO
IGNORE ERROR SET
A NOT 0 AND START
Clear
A
Merge Routine (Cont.)
Was A set
not zero?
No
Yes
Print:
PARITY
ERROR IGNORED
~-~55A
Merge Routine (Cont.)
Check
Move forward
1 block
Parity
toe
Set reread switch
set normal bias
NG
L-_~
54
Check
Parity
OK
NG
Set end of tape
indicator
Set end of tape
indicator
~-~54F
Reset addresses
for read backward~-~54E
Merge Routine (Cont.)
Set to ignore sub59}---~
sequent lines of Z's
Store address of all Z
~--~
word.
Store blockette
counter.
Set end of
tape switch to
60J---~
Store address of all
Z word. Adjust bkt.
counter and store.
Set exit from parity
r---~
routine to ~
47
Set parity routine
t----~
exi t to
@
J---~54F
Set end of tape switch
to (47)
@ __~>< Reread
Reread
I----~)~
Is buffer
No
full?
Start
read
Yes
~--7(3IC
t---~3IB
~
54G
Merge Routine (Cont.)
Copy
Set end of tape
Tape
65 ....-_ _~ exits for parity
reread to
and (TI)
@
Start read
Servo 3
Set buff er c oun tHr
Set initial read
addresses
Set blockette
I
counter
No
Read
I
blocket~
Set end of tape
I\j
CJl
o
Ok
for Read
Yes
Check line number
position: Is it end
of tape line?
1\10
End of tape
switch for read
Is buffer
full?
Start write
Servo 5
L . -_ _ _ •_ _ _ _
~ Set
for Next
blockette
I
Set buffer
index
Yes
Stop
tape
~--~~6D~------~
Set initial
write addresses
Set
blOC~
counte~ '-.Y
Merge Routine (Cont.)
Write
blockette
Set for next
blockette
Finished
with block?
Is buffer
No
67
Compute new
buffer index for
write
68
Start Write
on Servo 5
End of tape
switch for write
Set end of tape
switch for write
Will)
to
tV
c..n
Stop
empty?
No
Stop
tape
Yes
.......
Set addresses
into reread
End of tape
switch for
parity
Not End of
Tape
End of Tape
Set parity end
of tape switch
to ~
Set parity end
of tape switch
to
@
68A
Is buffer
full?
No
Start
read
TAPE MERGE REGIONS
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
GQ761
PZ3071
ZA77000
UC2507
RQ35
RR52
RS110
LP140
CN147
CX232
XY273
JL375
XX433
VF525
MG543
MN604
NW711
MP770
KW1003
BJ1042
UN1077
NRl164
ET1213
SV1310
1£1374
SR1453
XZ1553
WT1655
252
NZ1736
ZR1766
WX2005
FT2045
PB2105
DL2205
RB2246
LN2340
002353
MR2375
RC2471
WS2534
PA2540
CD2575
UP2653
UQ2675
US2705
UW2745
FC2771
DT40002
BR7635
TM5
BU4225
CB6125
GZ3073
GR5735
1B3073
TAPE MERGE ROUTINE
o
1
2
3
4
5
6
7
10
11
12
13
14
o
1
2
3
4
5
o
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
IA
RJ
EF
MJ
RQ
PZ2
o
30000
PZ
VF14
SV
MJ 0 RQ2 on 1103A tape
Set bypass
If MJ3 is set go to SV from MERGE. If
MJ3 not set take next instruction and copy
tape
Set up tape commands and parity reread
Read label, check and write
Set end of tape exit for parity reread
RJ
RJ
RJ
TV
MJ
ET42
MG14
XYll
RQ13
SR60
MG
RQIO
RS14
XY12
RJ
TV
MJ
0
XY35
RQ13
RR
RS14
XY36
RS2
24
Set end of tape exit for parity reread
Set new exit for parity reread
Go back to finish reread
RQl
VF14
}
30000
PZ4
Test: Is TCU2 to be used?
o
0
o
o
o
CA
RQ15
IA
MJ
TP
RP
CC
03
00
CA
PZ
20000
PZ5
20014
VF
IA
EF
TP
TU
TV
TP
RP
ER
TP
EJ
RA
RA
o
o
10000
PZ6
4000
If so go to RQl
If not, reset tape commands for TCDI
RR
o
RQ14
RR35
RR35
CN4
10024
10000
30000
VF
TM2
RR7
RR6
TM4
RR7
30000
A
RS
CN5
CN12
RR5
IJ
CX6
RR6
RR7
TM4
ER
ZJ
RJ
IJ
o
A
RSll
RR16
TM2
RR16
RR17
RR4
Start read
Set buffer index
}
}
}
}
Set initial read addresses
Set blockette index
Read blockette
Test: Is it end of tape blockette?
go to RS
Set for next blockette
Test: Finished with block?
back to RR5
}
If so
If not go
Check parity
Is buffer full?
253
If not go back to RR4
20
21
22
23
24
",~;)
EF
EF
TP
TV
TP
o
o
RQ14
RR35
CN4
VF10
VF12
TM2
RR26
TM4
RP
lUU~q
, ",,1"\ ..
",nn....,
nn~1
26
27
EW
RA
10000
RR26
30000 J
CN5
30
31
32
33
34
35
IJ
IJ
TM4
TM2
EF
RJ
MJ
RR33
RR25
RR24
VFI0
RR34
RR
GZ
o
o
o
GZ
vii
,..."
nn.:>o
RS
RR16
12
13
14
IA
RJ
EF
TP
ST
EF
RJ
EF
EF
MJ
TV
TU
RJ
RJ
15
16
17
20
21
22
23
TP
ZJ
EF
MJ
TP
RJ
MJ
24
25
26
TP
RJ
MS
o
RS27
27
MJ
CA
o
ZAI0
RS30
o
1
2
3
4
5
6
7
10
11
,
~
If so, stop tape
Start write on Servo 5
Set buffer index
Set initial write address
Set blockette index
Write blockette
Set for next blockette
Finished with block?
Is buffer empty?
If so stop tape
Go back to read more items
nnoJ'
o
RQ14
TM2
o
RR33
o
o
o
RR6
RR7
RR11
VF10
A
TM2
VF12
RR23
VF11
VF2
RS21
XY5
XYIO
XY20
JL26
RS14
RS15
TM2
RS17
o
o
A
RR21
VF
RR16
UP3
CX31
UP2
10000
RS27
XX71
UP3
UP2
UP
UP
}
Stop tape
Set buffer index for write
Start write
S
}
}
}
}
}
Rewind tape 5
Rewind tape 3
Go to RS21
Set addresses into parity reread
Reread
Switch set by parity routine if end of tape
occurred in block
Are more blocks to be read? If not, go to
RR2l to write
If so, start read and go to RR16
Print: PROGRAM NOW ON TAPE 5
If MJl is set, go to exit. If not, take
next instruction
Print: PUT 1500 FT. TAPES ON SERVO 3 AND 4
Stop, set to re-enter after tapes are
changed
Exit
254
o
I
2
3
4
5
6
7
10
II
12
13
14
IS
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
5;3
54
55
56
57
60
61
62
63
IA
TP
RJ
TP
RJ
EF
MJ
TV
MJ
TV
MJ
TV
MJ
TV
TP
TV
RA
RA
TP
MJ
TP
RS
LT
TU
TV
IJ
M.J
TV
TP
RJ
RA
RA
MJ
TP
RP
TP
TV
TV
RJ
MJ
00
00
00
SV
CX40
UP2
CX33
UP2
UP3
UP
UP3
UP
o
VF14
o
SV40
TM
SV47
o
SV15
SV50
TM
I--~>
o
SV15
SV51
TM
o
SV15
SV52
TM
LN4
(30000)
TM
(30000)
SV15
CNI
SV16
CNI
CN52
LN3
o
LN2
SV15
TM
TM
SV55
43
TM
SV54
SV32
SV53
SV33
TM
SV32
o
SV43
(30000) SV34
(30000) m4
LN2
(30000)
SV32
CN14
SV33
CN14
o
SV30
CX36
XXIO
30003 SV43
CX20
XXl3
SV55
SV15
SV54
SV16
SV45
SV46
o
o
o
o
00
o
00
00
TP
TP
RJ
MJ
TP
RJ
MJ
CA
BR
BRI
LN4
CX35
UP2
o
XX24
UP2
o
}
}
Print:
MERGE
Print correction tape
Set bypass if 1105 MJ 0 SV5 on 1103A copy
Out to rest of setup
Set address of error entry
}
Store illegal line number
Store entry for error print
Set for next entry
Set LN3 to zero
Exit
}
Store no. of illegal line no's. in index
}
Set up initial addresses
Finished with all error prints
If so --;. SV 43
Set entry to LNP no. 3
Send line number to LNP no. 3
Go to LNP for error print
}
Set for next print
Go back for remaining items
}
Set print for label check
}
Set initial error entries
}
Line number error print entry addresses
WX
PAll
PA16
PA23
PA30
0
BRI
BR
}
UP3
UP
(30000)
UP3
}
UP
ET7
Print:
SENTENCE - - - (DELETE)
Print: TOO MANY CORRECTIONS
MAXIMUM
SV64
255
300 IS
0
1
2
IA
EF
RP
ER
WX
0
10170
10000
rt
.J
r:.n
I":'n
v
i'\
4
ZJ
TP
TP
RJ
JL.12
CX25
CX30
WX5
lLC3
1£4
LC2
LC
10
11
12
13
ZJ
EF
WX13
MS
0
0
WXll
VF2
SV2
VF
,
'1"lT
5
6
7
A
J.':t
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
0
1
2
3
4
S
6
7
10
11
12
EF
A
0
VF3
WX3
BU
A
nn~rt
J.V
I\U..J..J
nn""
TV
CN22
CN23
CN7
PB4
PB5
TM5
CN46
CN46
CN20
CN20
CN25
CN4
CN24
10170
10000
0
JL21
WX35
MP5
MN25
CX6
0
WX40
PB6
PB7
FT20
CN17
FT5
TM4
FT2
WX31
BU
A
WX33
MP2
TV
TP
TU
TU
TV
TU
TV
TP
TV
RP
ER
ER
ZJ
TV
RJ
TV
EJ
MJ
CA
IA
RJ
ER
TP
EJ
RP
ER
RA
RA
IJ
ER
ZJ
FT
PB35
10000
A
CX6
10023
10000
FT2
ITS
TM4
0
JL
}
Read label
}
Check parity
}
Check label
}
Was label in error?
If so, rewind tape & stop set to re-enter
If not start read
ro,
}
}
Check parity
Check: end of tape
If so ~ ETI
If not, to FT23
MP
MP5
ET1
FT23
PB
A
30000
ET
FT6
30000
CN5
CNS
FT
A
FT13
Set initial buffer storage address
Set block index
Set initial drum address
Read 1 block
}
}
}
Process blockette
Read 1st word
Store 1st word
End of Tape? If so ~ ET
Read rest of blockette
Increment addresses
Finished with block?
Check parity
256
End of tape switch
Last block of group switch
Test: Is buffer full? If not go to FT24
If so, stop tape
Transfer corrections to drum
Out to print errors and process delete
item no's.
Set last block of group switch to exit to
FT23 and go to FT26
Reset first buffer address
Set block index
Go back to IT
Start read
13
14
15
16
17
20
21
RJ
RJ
IJ
EF
RP
TP
RJ
FT13
FT14
TM5
0
33220
BU
ET20
FT14
FT15
FT24
VF10
FT21
30000
ETII
22
RJ
FT14
FT26
23
24
25
26
27
30
31
32
3:3
34
35
36
37
TU
TP
MJ
EF
TV
SP
SA
TV
TP
TP
RA
TV
MJ
CA
FT20
CN4
0
0
WX2
FT2
CN
A
CNIO
CN4
FT20
CN41
0
FT40
PB
TM4
PB
BU
CX7
PB22
A
LN4
5
6
7
IA
TP
EJ
TP
RJ
TP
TP
TP
TJ
LN2
LN3
CN17
30000
30000
LNI
30000
30000
10
11
12
13
14
TU
RA
RA
RA
IJ
PB6
PB6
PB4
PB5
CX26
PB7
CN14
CNI
CNI
PB33
}
Set for next table entry
15
16
17
TV
RA
RJ
PB35
FT
FT13
FT
CN
PB35
}
Have 300 corrections been processed?
If not, go to PB33
If so, set to ignore remaining corrections
Back to read, remainder of block
20
21
22
23
24
25
EF
MJ
TP
AT
TP
EJ
o
o
VFlO
SV61
PB
CN13
PBl
RB62
PB24
o
1
2
3
4
}
FT
VF
FT2
0
0
FT5
TM5
TM4
CNII
RB50
}
Reset initial buffer address
Set buffer index
Set block index
Set for next drum transfer
IT
Sentence number to A
Is it all spaces? If so, go to PB22
A
A
PB74
A
A
DL
}
}
Process line number
Store line no. in table
Store directory word in table
Test: Is item out of sequence?
go to PB74
If so,
Stop tape
Go to SV61 to indicate error
}
}
Set up test
Test: Is the first word of sentence
'DELETEt? If so, go to DL
257
26
27
MJ
SP
0
PB5
PB36
17
30
SS
CN14
0
31
III
A
PB32
32
33
34
35
36
37
RA
RA
RA
30000
PB
CN17
0
PB24
CX7
PB40
CN5
CN12
CN12
30000
PB41
A
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
MJ
TO
TP
CA
IA
RP
TJ
TP
ST
LA
AT
PB40
20020
30000
RB63
Q
TU
A
TP
EJ
RP
EJ
TP
ST
30000
RB62
20005
RB55
RB64
A
PB24
}
A
}
TM
17
PB24
PB47
A
DL
PB27
PB53
A
TM
LA
SA
TM
1
1
TV
A
PB65
TU
PB47
CN37
Dl2
PB64
TM
PB66
PB70
44
30000
30000
CN
PB65
CN13
PB64
RB67
PB7
CN30
TV
MJ
o
SP
SA
TP
RA
30000
30000
TU
RA
IJ
A
PB66
PB64
PB64
TM
MJ
o
TV
TV
PB77
PB4
TV
PB77
MJ
o
CA
PBloo
1
J
PB27
PB42
Q
A
TP
If not, go
~o
PB36
Continuation of last sentence. Increase
word count in directory word
Set for next blockette
Set for next table entry
Exit
Find 1st word that is not all spaces
Set address of 1st word that is not all
spaces into PB24 and PB47
}
}
If word is not delete, test alignment of word
}
Set number of shifts needed to put 1st
significant character at 1st character
position
If word is delete, go to DL
Align sentence and store
Go to RB67
Set to bypass out of sequence test
Set address of 1st out of sequence item
into CN30
RB53
PBIO
258
o
1
2
3
4
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
40
0
1
2
3
4
S
6
7
10
11
12
IA
TU
RP
TP
TV
RP
TP
TP
QT
DL
PB24
30006
30000
PB4
10002
CX7
CNlS
TMIO
EJ
SP
SA
TP
RBS4
TMII
TMIO
A
DLS
TV
TV
TV
RJ
LQ
MJ
TP
MJ
TP
MJ
TP
QS
DLS
PBS
RB44
CNlS
0
DL40
0
DL36
0
DL37
TM12
M.T
o
TV
PB4
PB4
PB4
CNlS
TV
TV
LQ
MJ
77
77
77
CA
o
77770
77777
77000
DUI
DL2
DL3
}
TM6
DLS
}
DL6
30000
~
DL31
44
30
TM12
}
Dl27
}
RB47
RB52
RB40
Q22
DL27
Q
DL27
Q
DL27
Q
30000
RB65
RB5
RB15
RB36
Q22
RB
Test:
Is more than one sentence to be
deleted?
Position sentence number
Set up storage address for line number
Set mask into Q
Set line number into table and into A
Go to RB65
}
Set storage address
Set mask into Q
Go to RB
70000
o
MJ
Q
30000
D15
DU4
TP
ST
TJ
RB64
Q
CN3
A
TM
RB25
TV
Fill output lines in table with spaces
Find length of number
o
RB
TM12
A
2OO0S
CX
CN6
TMIO
PBS
0
IA
QT
TP
RP
EJ
TP
QS
}
Put aligned delete command into TM6-TM13
A
A
RB4
RBIO
}
}
}
Mask out character
Check alignment of THRU to determine
length of 1st number
Character was not T,H,R,U or space. Put
last character of TMIO into table
Set new output storage
Was first character of TM12 a T?
259
13
14
15
16
17
SP
SA
TP
LA
SA
TMII
TMI0
A
TM
TM
44
36
30000
Al
20
21
22
23
24
25
26
27
TV
A
SP
SA
TP
MJ
LA
SA
TM13
TM12
RB22
44
}
30000
TM12
RB6
TV
A
TP
ST
SP
TP
SP
SA
CN3
TM
CN50
TMll
TMIO
QS
A
MJ
CA
0
RB40
IA
TP
RB40
CN2
TM12
30
31
32
33
34
35
36
37
40
41
42
43
4-1
45
46
47
LQ
LQ
A
0
A
TM
A
1
}
1
J
iB32 }
~M
}
If so, align TMIO and TMll
Store 1st line number in table
Set no. of shifts to align second line no.
Align second line no. and put into TM12
Go to RB6
Set no. of shifts to align first line no.
Adjust index in TM
goooo }
Put mask into Q
44
}
36
30000
RB16
Store 1st line no. in table
TM
Set space test index to 3
Go to RB16
Q6
Mask out character and check for space
If space is found, exit
CNI
RB42
30000
}
TP
CN6
CN
RB44
TM
TM12
~OOOO
}
50
TV
PB4
30000
}
51
52
53
54
55
56
57
60
61
62
63
64
65
66
67
70
71
RA
TP
MJ
00
01
01
01
01
01
27
00
00
TP
RB50
TM12
CN
30000
PB74
50000
63066
04630
73046
12730
10127
06630
20017
20005
TM12
RB50
If no space is found, set to check next
character
If no more characters are to np tested,
store all of TM12 in line no. position.
Set table address of delete item into
delete list
Set for next delete item
Store 2nd line number in table
Exit to PB74
QT
EJ
RA
IJ
Q
o
6
27304
01273
01012
01010
01010
30463
o
o
A
MJ
o
TP
TM6
RB62
EJ
MJ
CA
o
RB72
A
DL3
PB27
Constants
Store line number in TM12 and go to RB50
}
Test: Is first word of aligned sentence
'Delete'? If SOt go to DL3. If not, go to
PB27
260
IA
RJ
ET
FT13
o
PB
30000
CX6
PB35
6
7
EF
TV
TP
EJ
RJ
MJ
EF
o
o
PBl
ET2
VF2
10
11
RJ
RJ
FT17
SV45
FT17
SV23
12
13
14
15
16
TP
RS
SP
TV
IJ
RB50
TM3
CN41
TM3
CN4l
17
A
ET22
TM3
ET22
17
RJ
SV45
SV23
Finished with all delete command item
numbers? If not go to ET22
Print Line Number Processor errors
20
21
22
23
24
25
26
RJ
MJ
TP
TV
ET20
ET21
ET70
Exit when used as subroutine
Exit after end of tape has been found
o
1
2
3
4
5
LA
27
TV
TP
TP
30
31
32
33
34
RJ
TP
RA
RA
IJ
35
36
37
RA
MJ
TP
40
41
42
43
44
45
46
47
TP
TP
RP
TP
TP
R.J
TP
TP
o
FT4
VFIO
ET3
A
ET7
30000
A
A
A
A
ET31
17
ET27
CN
30000
TMI
LN2
LN3
~OOO
ET27
ET3l
TMl
ET22
Transfer last group of corrections to drum
Print Line Number Processor Errors for
ordinary sentences
}
}
Set to process delete command item numbers
Set address of item number to be processed
LN4
CN13
CN
ET27
CN52
CN13
ET16
TM17
CN52
CX37
30003
CX15
CX34
UP2
CN4
CN4
TM15
XXlO
ET44
XX13
UP3
UP
TMlO
TM5
o
}
Set end of tape switch to exit to ETI and
go to FT4
Stop tape
Set next line number address
End of tape? If so. go to ET7
If not, process line number
Go back for next item
Rewind tape 4
}
}
}
Process line number and store
Set to process next item no. of delete
command
Finished with both line numbers? If not go
to ET27
If so, set for next delete item and go back
to ET16
Set out of sequence item counter to zero
}
Reset tape label error print for servo 3
and program tape
}
Print:
}
Set up write fill counter and write fill
temp_
261
PROGRAM TAPE
50
51
52
53
54
55
56
57
TU
TP
TP
ZJ
60
61
62
63
64
65
AT
RS
RA
CN
CN43
ET52
ET52
ET52
TU
A
66
RP
onn.no
.)uuu.)
MG
67
TP
CN55
XX:21
70
71
72
73
74
TP
EJ
CN30
CN22
CN51
PB4
A
RA
IJ
SP
SS
TU
TU
TJ
TV
CN46
CN43
30000
ET56
ET52
TMl
ET52
CN46
MJ
o
CA
ET75
IA
o
RA
GQ
CN30
1
MJ
o
CA
GQ2
ET52
TMI
A
ET54
CN14
ET52
TM
TM
MN42
MN63
CN13
MN54
GQ
SR
CN30
Set up printout ior out oi sequence items
and go to MG
}
If 1st table item was a delete adjust number
of in sequence items
CNI
Set new number of in sequence items
sa
7
10101
23022
43026
00166
12277
03201
00165
10177
10
11
12
13
14
15
16
17
01
65
01
01
01
01
65
26
01010
33516
25300
01010
01010
01010
30506
30010
10101
74627
17777
10101
10101
10101
63050
10101
20
21
22
23
17
30
52
47
27304
43010
54513
01662
63066
10101
25424
45230
6
}
Go to SR
01010
30543
51545
34515
52300
54515
24523
54705
5
Set up address of 1st non zero table entry
SR
xx:
2
3
4
)
70
IA
1
Find address of first non zero table entry
o
01
47
26
66
24
71
66
30
o
}
UP parameters & XS3 codes for printouts
}
}
}
}
}
Correction Tape
Wrong Tape Servo ___ Should be __ _
Sentence -----(Delete)
Program Tape
262
24
25
26
27
00
66
50
54
XX25
51510
73012
30266
14724
65154
63451
30
31
32
33
34
35
36
37
50
01
72
52
01
27
65
54
65010
34650
34476
24543
54305
01312
22016
30543
60303
14724
74701
46673
43024
43446
65101
02427
40
41
42
43
44
45
46
47
01
22
32
30
65
50
03
65
65662
01665
50515
54545
30660
51660
01245
66245
45466
10134
43001
15401
12401
17601
02701
46622
50
51
52
53
54
55
56
57
52
01
01
30
00
01
52
47
24543
30545
34325
27227
XX50
01010
54513
01505
46673
45154
05154
77777
10101
25424
17101
60
61
62
63
64
65
51
30
01
52
03
01
01
01
50016
01102
01010
67660
03013
66245
51500
06012
62452
27777
10101
10410
16622
23065
16522
45027
70
71
01
00
CA
07227
XX62
XX72
77777
7
o
IA
TV
RS
SR
PB4
CN43
43
CN30
CN44
43
CN45
CN33
66
67
1
2
3
LT
4
TV
RS
5
LT
6
7
SP
AT
6
Too many corrections 300 is maximum
Parity reread fails: to reread start.
To ignore error set A not = 0 and start
Parity Error ignored
4
CN43
CN22
CN43
CN44
CN22
CN45
20
ZEI0
~~~~~~Program
~~~~~~put
}
}
}
now on tape 5 ..
1500 ft. tapes on s. 3 and 4
Set total number of items
Set number of in sequence items
Set up transfer command
263
10
11
12
13
14
15
16
17
TU
SP
AT
TU
TP
TP
TV
TV
CN46
CN45
XZ
A
XZl
CN37
XZ20
XZ15
XZ
20
A
XZl
TM
TMI
SR21
SR23
TM
A
TM
A
SR21
SR23
TMI
SR70
CN14
30000
CN14
30000
CN35
CN35
A
XZ31
XZ51
XZ71
XZ21
A
XZ41
XZ61
XZIOI
WTIO
A
WT32
WT21
WT43
NZIO
A
20
21
22
23
24
25
26
27
RA
TU
RA
TU
RA
RA
30
31
32
33
34
35
36
37
40
41
42
43
44
45
46
47
TP
AT
AT
AT
TV
TP
AT
AT
AT
TV
TP
AT
TV
TP
XZ4
CN61
CN61
CN61
SR71
XZ21
CNI
CNI
CNI
SR72
WTIO
CN61
SR73
SR74
SR75
CN45
50
51
52
ST
RA
TJ
CN
CN45
CN43
TM
CN47
SR64
53
54
55
56
57
60
61
62
63
64
65
66
67
70
71
TP
CN43
PB4
10036
CN50
ZRIO
SR77
SR76
20005
TMI
SR56
SR57
30000
SR66
XYll
XY35
ET37
VF15
TM!,
CN
IJ
TV
TV
TV
TV
RP
TP
RJ
TV
TV
RP
RS
TP
RS
TV
MJ
0
0
VF
CN45
TMI
CN54
0
0
0
SR20
XZ4
Set addresses into compares
)
Set initial exits of switches
}
Set switch J to WT44
Set switch L to WT46
Set switch M to NZ26
Set no. compares index.
Form new no. of in sequence items
Te st: Is tota 1 no. of items > than new no. of
in sequence items?
}
Fill remainder of table with largest number
}
}
Set parity reread exits for program tape
Reset tape read codes for servo 3
2'R5
XZ
WT
WT51
264
72
73
74
75
76
77
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
0
0
0
0
0
0
CA
0
0
0
0
0
0
SRI00
NZ
WT44
WT46
NZ26
XY65
XY73
1A
TP
TJ
TU
TU
MJ
TU
RA
1J
TU
MJ
TP
TJ
TU
TU
MJ
XZ
30000
30000
XZl
WT50
0
XZ
XZ
TI\1
WT50
0
30000
30000
XZ13
WT50
0
XZ12
WT50
0
30000
30000
XZ23
WT50
0
XZ22
WT50
0
30000
30000
XZ33
WT50
0
XZ32
XZ40
A
XZ5
WTl
XZl
WT
WTl
CN14
XZ4
XZ
XZ4
A
XZ17
WT2
XZ13
XZ21
WT2
XZ12
WT51
A
XZ27
WT12
XZ23
XZ31
WT12
XZ22
WTll
A
XZ37
WT13
XZ33
XZ41
WT13
XZ40
WT50
0
30000
30000
XZ43
WT50
0
XZ42
XZ32
WT53
A
XZ47
WT23
XZ43
XZ51
WT23
TU
TU
MJ
TP
TJ
TU
TU
MJ
TU
TU
MJ
TP
TJ
TU
TU
MJ
TU
CA
1A
40
41
42
43
44
45
46
47
TU
MJ
TP
TJ
TU
TU
MJ
TU
}
Compare A
Switch A
}
Compare B
Swi tch B
}
Compare C
Switch C
}
Compare 0
Switch 0
}
Compare E
265
50
51
52
53
54
55
56
57
60
61
62
63
64
65
TU
MJ
TP
TJ
TU
TU
MJ
TU
WT50
0
30000
30000
XZ53
WT50
0
XZ52
XZ42
WT22
A
XZ57
WT24
XZ53
XZ61
WT24
TU
WT50
0
30000
30000
XZ63
WT50
XZ52
WT55
A
XZ67
WT34
XZ63
XZ71
WT34
66
MJ
TP
TJ
TU
TU
MJ
67
TU
XZ62
70
71
72
73
74
75
76
77
100
101
TU
MJ
TP
TJ
TU
TU
MJ
WT50
0
30000
30000
XZ73
WT50
0
XZ72
WT50
0
XZ102
XZ62
WT33
A
XZ77
WT35
XZ73
XZ101
WT35
XZ72
WT57
WT
XZ4
30000
30000
WT2
XZ20
0
WTl
XZI0
0
XZ31
30000
30000
WT13
XZ40
0
WT12
XZ12
A
WT6
NZI
NZ22
WT10
NZ1
NZ22
NZ
XZ32
A
WT17
NZ2
NZ23
WT21
NZ2
0
1
2
3
4
5
6
7
10
II
12
13
14
15
16
17
TU
TU
MJ
CA
IA
RJ
TP
TJ
TU
TV
MJ
TU
TV
MJ
RJ
TP
TJ
TU
TV
MJ
TU
0
Switch E
}
Compare F
}
Switch F
Compare G
}
Switch G
Compare H
Switch H
Set switch A to exit to WT1 and go to XZ12
}
Compare I
}
Swi tch I
Set Swi tch C to exi t to WT12 and go to XZ32
Compare J
266
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
TV
MJ
RJ
TP
TJ
1U
1V
MJ
ru
TV
MJ
RJ
TP
TJ
TIJ
1V
40
41
42
43
44
45
46
47
MJ
50
51
52
53
54
55
56
57
60
00
0
1
2
3
4
5
6
7
TIJ
1V
MJ
TV
MJ
1V
MJ
XZ30
0
XZ51
30000
30000
WT24
XZ60
0
WT23
XZ50
0
XZ71
30000
30000
WT35
XZIOO
0
WT34
XZ70
0
WTIO
0
WT32
0
CA
CN50
XZ4
0
XZ31
0
XZ51
0
XZ71
0
WT61
TV
MJ
TV
MJ
1V
MJ
1V
MJ
IA
I'll
RJ
TP
TJ
WTIO
30000
30000
TIl
Nl2
Nl23
TV
MJ
0
TIl
1V
Nll
Nl22
Nl23
WT44
XZ52
A
WT30
}
Swi tch J
Set Swi tch E to exit to WT23 and go to XZ52
Compare K
}
Switch K
Set Switch G to exi t to WT34 and go to XZ72
Compare L
}
}
Switch L
Set Swi tch J to exit to NZl and go to
compare K
Set Switch L to exit to Nlll and go to
compare M
}
Compare M
Nl12
NZ24
WT32
NZ12
Nl24
NZll
XZ72
A
WT41
Nl13
Nl25
WT43
Nl13
Nl25
WT46
WT21
WT23
WT43
NZl
0
XZ21
XZ22
XZ41
XZ42
XZ61
XZ62
XZI01
WT1
WT12
A
Nl6
ZR
ZR15
NZ10
ZR
ZR15
267
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
0
1
2
3
4
5
6
7
10
II
12
13
14
15
MJ
RJ
TP
TJ
0
WT32
30000
30000
W
'IV
Nl13
Nl25
MJ
0
W
Nl12
IV
Nl24
MJ
0
0
0
0
0
0
0
0
0
NZ21
0
TV
MJ
CA
IA
TP
TJ
MJ
00
00
CA
IA
EF
RP
ER
ER
ZJ
TP
TP
RJ
ZJ
EF
MS
EF
RP
EW
MG
0
10170
10000
0
JL24
CX24
CX30
LC2
MG13
0
0
0
10170
10000
IV
RP
TP
RA
IJ
RP
TP
TV
IV
WT34
A
NZ17
ZRl
ZRl6
ZR
ZRl
ZRl6
ZR
30000
30000
30000
30000
}
}
NlI0
Nl12
Compare N
{compare
Compare J
I
Storage for return a dd ress
Compare K
.... Compare L
Set Switch M to ZR and go to compare N
Nl30
ZR
30000
30000
ZRl
ZR16
30002
30000
ZR5
1Ml
30000
BU
ZR
ZR15
0
0
0
ZR17
1U
Switch M
Nl26
A
ZR12
ZR5
ZR7
ZR6
30000
CNI
30000
30000
1B
}
Compare P
}
Transfer table item to buffer
}
Set next buffer address
Test: finished with this group of items?
Transfer sorted string back to table
Yes:
ZR5
ZR7
ZR4
30000
30000
VF3
MG3
BU
A
MG5
LC3
LC4
LC
MGll
VF2
MG
VF13
MG16
BU
}
Read label block
}
Check pari ty
}
Check label
Was label correct?
}
If not, rewind tape and stop set to re-enter
}
If so, write label block on tape 5
268
16
17
EF
SP
0
MNI
20
W
A
21
22
23
24
25
SP
CN24
W
1V
1V
A
26
27
30
31
32
33
34
35
36
37
40
TP
TP
TP
TP
TU
1V
W
1V
1V
11]
TU
TP
CA
CN4
CN62
CN62
MN5
MN77
MN5
CN26
NW56
CN26
CN26
CX7
MG41
33
TP
EJ
MN
10170
10000
0
XY52
CN4
BU
CN
NR25
0
10024
10000
BU170
CX6
MN5
0
MN12
MN13
TM4
0
XY55
MN24
1M2
0
CN4
MN5
CN42
30000
CX7
34
TP
A
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
IA
RP
ER
ER
ZJ
TP
MNI
CN24
CN4
TP
TP
RJ
MJ
RP
ER
TP
EJ
RA
MJ
RA
RA
IJ
ER
ZJ
RJ
IJ
EF
TP
W
1V
Start read
VF
17
MN5
17
MN13
MN36
MN12
1M4
Set up initial buffer addresses
Set block index
Set buffer index
1M2
un
1M3
NW23
MN64
KW3
MN63
MN65
KW5
KW6
}
Set No. of blockettes into TMl and 1M3
}
Set initial correction buffer address
into KW5 and KW6
MN must equal MG41
}
}
Read block
LN3
MN2
BU
A
MP
1M4
Check Parity
Set block index
A
1M14
MN33
MNII
MN13
BU
}
Read blockette
~
}
Was line no. all Z's?
CN12
MN17
CN5
CN12
MN5
}
A
}
MN24
MN25
MN4
If so. go to NR
Set for next blockette
Finished with block?
If so. check parity
End of tape switch
Finished filling buffer?
I f so S to pta pe
VFIO
I
'IM14 }
MN32
NR25
Set to process line numbers of last block
~N36
Test: Is line number all spaces?
go to MN36
}
LN4
269
If so,
35
36
37
40
41
42
43
44
45
46
RJ
TP
TP
CA
LN2
LN3
LN3
MN40
IA
ZJ
MN40
TP
nU5
1B
LN3
LN3
MN63
CN50
TP
TJ
EJ
TV
TP
4;
50
51
52
53
54
55
56
57
60
61
62
63
64
65
66
67
70
71
72
73
74
75
76
77
100
101
102
103
104
TV
TV
RJ
EJ
TP
SJ
RJ
NR17
NR23
LN3
A
MN54
MN54
MN46
30000
}
Test: was line number illegal? If so, go
to NR23. If not, go to NR17
Put last legal line number into LN3
Correction item number to A
Test: does correction refer to this group
of program items?
If not, fill next correction buffer location with largest number
Go to NW46
MN52
MN67
MN44
30000
MN64
MN43
MN66
NW
}
Set new exit for drum transfer command
Set new exits for tests at MN43 and MN44
and go to MN66
'ffil
A
MN56
MN56
NW2l
MN57
MN65
lM14
17
}
Test:
TV
CN5l
W
A
TP
RP
TP
SP
1B
30000
30000
MN63
W
A
RA
AT
RA
1U
AT
IJ
MJ
00
MN63
CN
MN42
A
CN13
CN43
0
0
MNlOl
TV
A
NW46
SA
MJ
RJ
RJ
MJ
CA
Process line number
Put processed line number back in buffer
o
A
A
W
LNI
30000
0
NW44
MN56
0
MNl05
Is this a delete sentence?
Equal Switch for drum items
Set drum address into MN65
}
Set number of words into MN64
MN64
30000
MN50 }
30000
17
}
MN53
Item number to correction buffer
Remainder of item from drum to correction
buffer
nn4
Set next correction buffer location
MN65
CN14
MN63
MN54
MN42
LP
MN50
MN14
MN15
MN54
MN56
NW3
}
}
Set address of last item transferred
Set for next table entry
Have corrections been exhausted?
Out to block next correction phase
}
Set to ignore additional lines of Z'
210
S
NW
MN56
NW44
4
IA
RJ
RJ
MJ
RS
AT
5
6
ill
W
7
10
11
12
TP
TJ
RA
IJ
NWlO
CN43
NW14
CN14
NW7
13
MJ
o
LP
14
W
ill
ill
NWI0
NWlO
NWlO
MN54
o
MN42
MN63
MN54
CN13
MN42
W
ill
MN42
MN54
NW24
NW34
TP
TJ
MJ
RA
BU
A
30000
NW26
NW3l
CN12
NW23
o
1
2
3
15
16
17
20
21
22
23
24
25
26
27
30
31
32
RA
MJ
IJ
MJ
LQ
o
MN63
CN
MN54
MN42
1131
1B
o
NW23
1Ml
o
MNI02
NW44
MN72
1M14
MN65
NW7
NWI0
A
MN45
Q25
NW36
NW35
33
TV
W
NW23
Q
NW23
34
35
36
TP
TJ
TP
'ffil
A
30000
CN52
NW44
30000
37
RA
NW35
CN12
40
41
42
RA
RA
NW36
NW23
1Ml
CN5
CN12
NW34
43
44
45
46
47
MJ
RJ
MJ
RJ
MJ
CA
o
NW52
NW45
NW5
SV23
KW
IJ
NW44
o
SV45
o
Set equal switch for drum items
}
}
}
Reset transfer command
Set up test
Test: Is item to be deleted? If not, go
to NW14
If so, set to test next item
Test: Are there any more correction items
to be tested? If so, go to NW7
Out to set end of corrections
}
Reset table addresses
Go to MN42
}
}
}
Test: Is program item greater than 1st
delete address? If not, go to NW26
If so, go to NW3l
Set to test next item
Have all items been tested? If not, go
back to NW23
If so, go to MN45
Set address of item from above into NW35
Last address of delete item to A
Test: Is this program item to be deleted?
Yes, store zero in line number position so
that item will be dropped
Set for next program item
Test: Finished with current group of program i terns? If not, go back to test next item
If so, go to NW52
Print line number processor errors
NW50
271
52
53
54
55
o
1
2
IA
LQ
NW52
NW24
TV
Q
TP
MJ
CN52
0
CA
NW57
IA
TP
AT
KW
Q25
NW54
30000
MN45
}
CN
A
1M7
}
DUO
Set zero as 1st address of delete command
Set up write fill index
EF
0
VF12
3
4
5
TP
ZJ
TJ
30000
KW5
30000
A
KW34
KW23
Start write
Current program item no. to A
Is it to be deleted?
Is current correction item> than current
6
EJ
Is current correction item = to current prO]. item
W
RA
W
30000
KW5
KW5
KW14
7
A
RJ
BJ34
10
11
12
13
14
15
16
17
20
21
22
MJ
o
RA
KW3
TP
IJ
MJ
A
1M3
00
30000
CX7
EJ
MJ
o
o
23
24
25
26
1U
RA
KW3
KW3
TP
IJ
A
1M3
27
30
31
32
MJ
o
1M
CN12
KW6
BJ
KW3
CN12
KW20
KW20
UN32
30000
KW14
KW7
34
35
RA
KW3
IJ
1M3
36
MJ
CA
o
UNI
KW37
33
00
EJ
MJ
BJ34
30000
CX7
o
}
}
TM
CN12
KW3l
KW30
UN
BJ
30000
KW23
KW3
CN12
KW3
RJ
}
Set correction item address into TM·
Set for next correction item
Out to set up and write blockette
Back for next item
Set for next program item
Finished with all program items
If so, go to UN32 to write remainder of
block
Test: Is next program blockette a continuation of last sentence?
If not, go to KW7 to write correction item
Test: finished wi th all progl If.l i terns?
not, go to KW30
If so, go to UN
Set up and write next blockette
Finished with all program items?
go to KW3
If so, go to UNI
272
If
If not,
o
1
2
3
4
5
6
IA
IJ
BJ
1M7
RJ
RJ
RJ
RJ
RJ
RJ
BJI
BJI
BJI
BJI
BJI
BJI
CN53
BJI
10024
10000
10024
10000
10024
10000
10024
10000
10024
10000
10024
10000
BJ25
7
TV
10
RJ
RP
EW
RP
EW
RP
EW
RP
EW
RP
EW
RP
EW
RJ
LQ
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
TV
RA
IJ
TP
MJ
MJ
CA
o
IA
RJ
1
TV
2
3
4
5
6
TP
RJ
IJ
EF
RJ
MJ
7
10
11
12
13
14
15
16
17
TP
TP
TP
RJ
TP
LA
RA
TV
TId
Q
BJ27
1M5
BJ26
Has whole block been set up?
to BJ26
BJll
BJ13
BJ15
BJ17
BJ21
BJ23
BJ27
BJ34
BJ25
30000
BJ25
30000
BJ25
30000
BJ25
30000
BJ25
30000
BJ25
30000
BJ26
Q25
BJ12
CNI
BJ34
}
}
}
}
}
}
Reset store address of 1st write
Reset switch to write 1st b10ckette
Write 1st blockette and go to BJ25 to
up new '1st Blockette'
Write 2nd b10ckette and go to BJ25 to
up new '2nd Blockette'
Write 3rd b10ckette and go to BJ25 to
up new '3rd Blockette'
Write 4th b10ckette and go to BJ25 to
up new '4th Blockette'
Write 5th blockette and go to BJ25 to
up new '5th Blockette'
Write 6th blockette and go to BJ25 to
up new '6th Blockette'
}
Set address from TM into write command
CN4
1M5
o
BJ7
30000
o
If not, go
set
set
set
set
set
set
Set for next write command
Has full block been written?
Reset index
Back to BJ7
Exit
BJ35
UN
BJ34
BJ27
1M5
BJ25
1M5
o
UN56
o
CN52
CN50
CN50
UN33
CX6
CN30
UN64
CN30
BJ
TMll
lMI0
BJ
UN3
VFI0
UN34
MG16
ThH4
LN3
30000
MN42
30000
17
TM5
'D1
}
}
Set up and write last block
Store index and address of next write
command to be set up
Write remainder of block
Stop tape
Transfer unwri tten blockettes to teJlll buffer
Go back to MG16 for next group of program
tape items
}
Put largest number into LN3
Put largest number into end of tape line
Out to bring in remaining corrections
Reset all Z's into end of tape line
}
Set index for remaining block(s)
Set address of end of tape line into 1M
273
20
21
22
23
24
25
26
27
RJ
IJ
EF
IJ
MJ
BJ34
UN64
TP
CX27
1M20
UP2
UP3
30
31
32
33
34
35
RA
MJ
UN26
W
KW5
,)0
/
TV
,... .,1' n.
vl~OU
CN13
UN23
1M
UN
UN37
1M
37
SP
30000
17
40
41
42
43
44
45
TIl
A
RP
TP
RA
RA
IJ
30024
30000
UN37
UN42
'!M
UN42
UN43
30000
CN14
CN5
UN37
46
47
TP
TP
CN60
A
A
BJ12
50
51
52
53
54
55
56
57
AT
AT
AT
AT
AT
TP
MJ
TP
CN5
CN5
CN5
CN5
CN5
1MI0
BJ14
BJ16
BJ20
BJ22
BJ24
1M5
30000
1M20
60
61
62
63
64
TP
RA
RA
MJ
CN52
UN57
'!M17
o
o
o
CA
UN65
....
o
1
2
TP
RJ
o
nn7
o
o
MJ
o
W
CN42
CN4
TP
0
A
IA
NR
TV
MN12
1M4
MN24
TP
RJ
XX20
UP
UN42
LN3
CN
CN
MN36
14
VFIO
A
5
6
DV
CN30
CN54
CN5
7
TP
Q
}
}
}
}
}
}
o
1M3
1Ml
Write remaining block(s)
Stop tape
Are there more out of sequence items?
If not, go to RS6
If so, fill in sentence number and print:
SEN'IE~E - - - OUT OF SEQUE~E
Set for next item
Back to test
Set correction item address into '!M and go
to UN
Set temp buiier address into transfer conunand
Set address of item into transfer command
Move blockette to temp buffer so it will
not be overwritten by next read in
Set for next blockette
Have all blockettes been transferred? If
not, go to UN37
Reset addresses of write commands
Exit
Store sentence no. of out of sequence item
}
CN30
1M16
MNI00
o
EF
TP
SS
3
4
BJ
UN20
VFI0
UN25
RS6
Set a zero into LN3 so item will be deleted
Set for next out of sequence item
Set address of end of tape line into CN30
Store block index
Set End of Tape Switch to exit to NR3 and
go to MNIOO
Stop tape
}
Compute no. of blockettes read in before
end of tape and set into TM3 and TMl
274
10
11
12
13
14
TP
ST
15
16
17
RJ
MJ
EJ
20
21
22
23
24
25
26
CN3
lM16
CN30
CN30
UNI0
A
NR26
CX7
MN30
UNI0
NR23
TJ
nus
UNS7
TP
TP
RA
RA
IJ
MJ
CA
LN3
CX7
MN36
MN32
IA
TV
TV
SJ
o
n114
o
TIl
1
2
3
4
TP
EJ
RA
IJ
MP
MN5
30000
CX6
MPI
1M4
5
RJ
MP2
6
7
EF
LQ
10
TV
11
TP
MJ
CA
o
IA
}
Compute no. of line number left to be
processed
}
Set address of end of tape line
If no line numbers are left to be processed.
go to UNIO
Out to process line numbers
Go to UNIO
Was line number all spaces? If so, go to
NR23
Was previous line number greater than this
line number? If so, go to UNS7
If not. set current line number into 1MlS
Put all spaces into LN3
nus
LN3
CN5
CN12
[MN32]
MN41
}
Set for next line number
Finished with all line numbers
Exi t to MN41
NR27
o
12
TM14
UN12
UN14
NR15
o
MPI
Q
lM4
o
MPI
A
MP6
CN12
MPI
}
If not. set for next line number
Finished with all line numbers? If not. go
to MPI
Exit, end of tape not found
[MN4]
VFIO
Q2S
CN30
lM16
NR4
Set up line number address
Is line number all Z's? If so. go to MP6
}
Stop tape
Set address of end of tape line into CN30
Store block index
Go to NR4
MP13
LP
LP2
LP2
1
TV
TV
2
3
MJ
ZJ
o
4
5
6
TP
RJ
MJ
CA
XX54
UP2
LP4
o
NR26
UN13
MN45
JL30
UP3
UP
XY15
}
Set to bypass correction phase
Is parity error to be ignored? If not, go
to JL30
If so. print: PARITY ERROR IGNORED
Go to XY15 to reposition tape
LP7
27S
Parity Error Routine
IA
1\
JL
'l"ITT
.1 V
rrrvl
V
1
SP
FT2
2
3
W
A
FT13
4
5
RJ
RJ
RJ
r
.1'"
... , .. ,.,..
AI;:)
XY20
JL5
17
XYI0
FT13
JL26
JL6
6
TP
1M5
A
7
ZJ
JL10
FTl7
10
EF
0
VF
11
MJ
0
FTl3
1 ~
rrtT
lalV A
~"
.L V
1V
14
SP
15
16
17
20
21
W
CN24
CN24
A
RJ
RJ
XY20
JL5
M,J
o
RJ
JLll
22
TV
FT12
23
MJ
RJ
MJ
RJ
RJ
RJ
RJ
JL26
JL26
JL26
JL26
TP
CX32
RJ
UP2
CN52
25
26
27
30
31
32
33
34
TP
35
MS
CA
}
o
JL20
o
o
XY5
17
XY10
JL26
}
[30000]
JL
JLll
FT23
JLl3
XY23
XY45
UP3
UP
A
LP3
Clear end of tape indicator
Reread
End of tape?
Buffer index = 0
Set addresses into reread
Reread
Clear end of tape indicator
Exit
Out for set up
JL5
MG5
JL27
XYl
Set addresses into reread
Start read
Exit
Set exit
nA'i
13
24
}
Exit
Out for se1 up
Exit
}
Distributor for reread cycles
}
Print error indication
Set A to 0
Stop set to re-enter
JL36
276
Reread Cycles for Parity Error
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
IA
00
TP
EF
TP
RS
ER
IJ
RS
TP
EJ
IJ
ER
ZJ
EF
RJ
EF
MJ
TV
MJ
EF
TP
XY
0
XYI
11\14
CN4
0
VFl
CN21
Th16
XY5
CN
10000 [30000J
XY4
TIVl6
XYIO
CN12
[30000] A
CX6
1M4
0
JL26
0
JL26
a
ru
0
XY51
0
0
CN4
XY5
XYIO
EF
TP
ER
RA
CN21
10000
XY31
TV
IJ
TP
EJ
RA
IJ
ER
ZJ
TV
TIl
a
'IM6
[30000]
CX6
XY34
TM4
0
XY42
XY31
XY34
MJ
EF
MJ
a
a
a
TV
XY51
MJ
00
XY51
a
XY21
XY3
A
XY15
VF4
JL26
VF5
30000
JL5
XY12
}
}
XY31
A
XY47
CN12
XY30
A
XY16
XY5
XYIO
XYI
VF7
XY24
JL5
XY36
ET2
Finished with block?
Check pari ty
Move forward 1 block
Reset distributor
Set to normal bias
Exit
VF6
TM4
XY31
XY34
VF3
Th16
[30000]
CN
Set block index
Start read backward 1 block
Set blockette index
Reset read command
Read word
Finished with blockette
Set for blockette
End of corrections? (i. e •• line number
all Z's)
}
Set to low bias
Set block index
Set initial addresses
Start read
Set blockette index
Read word
Set for next word
}
}
Finished with blockette
End of corrections
Set for next blockette
Finished with block
Check parity
Pari ty error: Reset addresses
and go back to reread
Set to high bias
Go to reread
277
52
53
54
55
56
RJ
EF
MJ
XY60
XY55
o
o
VF
TV
1U
MNI2
MNI3
57
RJ
XY::!O
60
61
62
63
64
65
66
67
70
RJ
XY60
1M2
XY63
71
72
73
74
75
76
77
100
101
TP
ZJ
EF
MJ
LQ
I
2
3
4
5
6
7
XY34
TV
Q
RJ
NR2
MN24
TV
IV
MJ
XY72
TV
XY5
CN4
1M4
NR2
MN24
XY60
TP
ST
RJ
TV
RA
MJ
CA
o
o
o
IA
MJ
RS
MJ
00
00
TP
1U
o
o
MN4
XY51
XYIO
JL26
XY61
A
MN27
LC
o
1M
o
30000
30000
CX5
LC3
LC5
1M
[30000]
30000
30000
TP
EJ
30000
CX7
20006
CXI0
A
I£ll
1M3
CN13
LCII
LC4
UP2
UP3
UP
o
LCI
CX23
Q
A
TM
CN37
LC55
A
TM
A
1
25
26
27
LA
SA
TV
=0
to indicate error
}
Storage for correct label
}
Find 1st word that is not all spaces
}
}
Determine alignment of 1st word that is
no t a II spa c e s
1M3
II
23
24
Set A
LCII
17
LC47
LC3
TP
1J
XYI02
A
RJ
MJ
TP
ST
EJ
}
1M16
NR2
XY60
CN
XY22
1U
EJ
RA
IJ
Reread
Exit
Test: Is buffer full? If so, go to MN27
If not, take next instruction
Start read
A
SP
RP
}
VF
MN25
Q25
CN30
NRI
XY60
XY35
XY36
CN30
10
12
13
14
15
16
17
20
21
22
Set XY go to exit to NI and go to XY55
Start read
Go to MN4
Set address into end of tape test
LCI5
LCI7
LC22
}
Find 1st word that is not all spaces.
Error - out to print
Set up number of shifts needed to align
sentence
I
LC36
278
30
31
32
33
34
35
36
37
111
LCll
LCl1
A
LC23
CNI
30000
30000
A
LC35
LC35
LC37
TM3
Lc26
CN
30000
30000
0
LC46
LC47
1M3
0
LCll
MJ
CA
LC57
111
RA
TIl
TV
TP
SP
SA
TP
40
1U
41
42
43
44
45
46
47
50
51
52
53
54
55
56
RA
RA
IJ
1U
TP
TP
EJ
MJ
RA
RA
IJ
MJ
a
LC36
CN13
LC35
LC37
1M3
44
30000
30000
LC36
CN13
CN
LC35
LC46
TM3
A
LC51
LC17
CN13
CN13
LC46
LC2
LC46
LC45
}
Set up addresses and index
Align label so that 1st significant
character is to left
}
}
Check a word of label.
Word is incorrect; go to LC17
Set to check next word
All words have been checked and label is OK
Tape Codes
a
1
2
3
4
5
6
7
10
11
12
13
14
15
IA
02
02
02
02
02
00002
00612
00200
00602
00004
[4]0000
[4]0000
[4]0000
[4]0000
[4]0001
02
02
02
02
02
02
02
00
00
CA
00001
00001
00001
00600
200
00146
00746
20000
0
VF16
50000
60000
70000
00000
50000
50000
50000
04000
10000
VF
Read forward
Read backward (stop included)
Rewind
Read forward (stop included)
Move forward 1 block
Set normal bias
Set low bias
Set high bias
Stop tape
Rewind servo 5
Write 1" bkt. 2.4" bk, 128!in-servo 5
Write 1" bkt, (stop included)
Bypa ss buffer
Increment to reset tape codes
279
Excess Three Characters and Words
loR
Til
rov
vA
1
2
3
4
5
6
7
10
54
67
01
33
66
00
74
01
01
00000
00000
00000
00000
00000
00000
74747
01010
67503
11
01
U.lOI;j
u.:>q~O
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
40
01
01
01
67
30
54
67
30
30
00
00
00
00
00
00
00
00
00
00
00
77
77
01016
01010
01010
50342
01525
24470
50342
01265
26663
0
BU
BU
0
XX16
XX5
XX55
XX33
XX2
XX22
XX16
77777
77777
75034
16750
10167
65127
45132
12201
65127
15454
45150
20006
CX15
CX20
454
6
11
5
15
3
2
4
70701
70601
2
CA
CX41
a
a
n,/""'"
xx
00000
00000
00000
00000
00000
00022
47474
10101
42651
r\.6"lAn/
R
U
~
H
T
Period
All Z's
All spaces
tJ.
U
N
A
A
D. D. U
I
C 0
N
I
N
tJ.tJ.tJ.U
tJ. tJ. tJ. tJ.
~ tJ. tJ. tJ.
U N I C
E tJ. P R
R A M tJ.
U N I C
E tJ. C 0
E C T I
C
I
N
u
tJ. U
0 D
0
.
0
G
tJ.
D
R R
0 N
Ta pe label s
Index for no. corrections
To set index
Constants for error print - correction tape
Constants for error print - program tap e
Constants for error print - parity error
Constants for heading print - correction tape
Constants for heading print - program tape
Constant for delete print
f. f. f. f. 4t::,.
f. f. f. f. 3t::,.
280
Constants
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
35
36
37
40
41
42
43
44
45
46
47
50
51
52
53
54
00
00
00
00
00
00
77
00
00
00
00
00
00
00
00
77
00
00
00
00
00
00
00
00
00
00
00
75
00
00
00
00
00
TV
00
00
00
00
TP
00
37
00
00
00
00
CN
1
0
2
0
3
0
4
0
5
0
24
0
0
0
14
0
15
0
3220
0
0
24
0
1
0
2
70000
7
1
1
[30000] 00024
DT
DTI
0
23
0
m
0
TBI
0
BU170
0
BU171
CB
CB
2
2
30000
0
4
4
36
0
30036
SR6
4
0
0
10
0
7
0
6
0
FT21
PB4
1M14
BJ12
M~32
[30000]
0
[30000]
0
[30000]
0
1B
A
0
77777
0
0
17
77777
30000
0
BU12
BU
a
a
Constants
To set buffer index 1st group only
To set buffer index all other groups
Increment for drum transfer
Sequence indicator
Total no. of items
Number of storage locations
Number of in sequence items
281
55
56
57
60
61
62
01
31
30
EW
00
00
CA
51676
01653
50263
10000
0
0
CN63
60151
05367
02277
}
XS3 codes fo r
OUT OF SEQUENCE
GR
11
51
282
Line-Number Processor
0
1
2
3
4
5
6
7
10
11
12
IA
MJ
MJ
MJ
00
00
TV
MJ
TV
MJ
TP
MJ
CA
IA
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
0
1
2
3
4
5
6
7
10
11
TV
TV
RJ
RJ
TP
TP
TP
TV
TV
TV
TV
TV
IJ
RJ
TP
EJ
EJ
MJ
CA
IA
LQ
QT
RP
EJ
EJ
EJ
RP
EJ
TV
TV
LN
0
0
0
30000
30000
RC14
0
RC15
0
LN4
0
LN13
LN5
LN7
30000
30000
30000
PAl
ORO
PAl
OR
LN3
LN2
OR
RC6
OR
MR12
MR43
UC23
UC4
LN4
RCI0
RC13
RC12
RCII
RCI
WS3
OR15
LN3
UC23
UC24
0
OR22
MR27
OR15
MR12
MR43
LN3
WS3
WS
MR3
MR4
MR5
MR7
MR16
MR
30000
A
SV14
SV14
LN2
The remaInIng coding is a modified version
of the Line-number Processor used in the
translation phase. Instructions which have
been changed are noted below. Explana tion
and annotation for non-changed instructions
are to be found in Section III. 3. A Translation Subroutines.
MR
WS
UC20
20004
UC14
UC13
UCI
20011
UC2
RC
RC2
6
A
MR4
30000
30000
30000
ISV61
Exit to store line number and type of
error for later print out
30000
MR16
MR3
283
12
13
14
15
16
,..,
RJ
RJ
RJ
MJ
MJ
MR12
MR12
MR12
0
0
CO"
u1-\
LI~'"
U
20
21
22
23
24
25
26
27
30
TP
MJ
RJ
MJ
TV
A
0
MR21
RJ
RJ
MJ
LN3
30000
MR16
DR14
MR5
MR7
MR16
30000
DR14
'l,
CD
32
33
34
35
36
37
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
SA
SA
AT
MJ
l.1
vl.
TV
oJ!.
TV
TV
TV
TV
MJ
RJ
RJ
MJ
EJ
LA
TP
QS
TP
TP
MJ
LT
TP
MJ
TV
TV
EJ
AT
TP
QS
MJ
TV
TV
TV
TV
MJ
CA
r
1\11)
0
RC3
RC3
MR21
MR27
0
r
Ll,'"
UC13
UC14
UC14
0
RC2
RC5
RC7
RC7
0
MR43
MR43
0
UCI
A
UC21
A
UC
UC20
0
10006
UC22
0
RC4
RC4
UC1
WS1
WS2
WSI
0
RCI0
RC5
Re5
RC5
0
MR74
1\11)
MR13
MR22
MR22
MR24
30000
/
A
U
6
6
LN3
DR14
MR3
MR4
MR5
MR7
MR27
MR44
MR46
MR60
MR55
6
Q
LN3
WSI
WS2
DR14
WS1
WS2
DR14
MR5
MR7
DR14
WSI
Q
LN3
DR14
MR3
MR4
MR5
MR7
DR14
284
0
1
2
3
4
5
6
7
10
11
12
13
14
15
IA
0
0
0
0
0
0
0
0
0
0
0
0
0
0
CA
RC
0
0
0
0
0
0
0
0
0
0
0
0
0
0
RC16
MR17
MR21
MR67
SV10 SV12 SV14 MR31
MR43
DR14
MRIO
MRII
MR36
PA3
PA5
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
IA
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
CA
UC
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1010
1012
UC25
0
3
4
5
6
7
10
11
12
13
14
22
1
77
17
43
77
7700
7777
10100
20101
0
1
2
3
IA
0
0
0
0
CA
WS
30000
30000
30000
30000
WS4
30000
30000
30000
30000
}
Used to set error exits so that line number
and type of error will be stored for later
print out
285
11
12
13
14
15
IA
MJ
MJ
MJ
RJ
MJ
TP
TP
RJ
MJ
RJ
TP
TP
RJ
MJ
0
1
2
3
4
~
u
6
7
10
PA
0
0
0
SV60
0
LN4
CO
UP2
0
16
HJ
17
20
21
22
23
24
25
26
27
30
31
32
33
34
TP
TP
RJ
MJ
RJ
TP
TP
RJ
MJ
RJ
TP
TP
RJ
MJ
CA
PA2
LN4
CD5
UP2
0
PA2
LN4
CD17
UP2
0
PA2
LN4
CD31
UP2
0
PA2
LN4
CD44
UP2
0
PA35
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
IA
00
65
26
01
01
40
34
46
24
34
66
50
01
01
43
40
30
34
24
34
CD
CDI
30506
30010
01010
01017
CD6
46463
01263
26663
50016
30502
67472
77777
01010
77777
CD20
72665
50663
46012
66650
PAl
0
0
SV56
PA2
CD3
UP3
UP
PA2
PA
C015
UP3
UP
LNII
PA
CD27
UP3
UP
LNII
PA
C042
UP3
UP
LNll
PA
CD54
UP3
UP
LNII
Out to print sentence type
4
63050
17777
10101
77777
11
03224
32454
05401
53050
63001
53054
77717
10101
77777
11
42401
03254
73432
13450
286
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
01
50
47
01
43
40
30
31
51
34
34
66
50
01
01
43
40
34
46
30
50
30
67
17
01
43
CA
65305
26300
25305
01010
77777
C032
72665
54242
50244
32346
50016
30502
67472
77777
01010
77777
C045
46463
01653
50263
01653
50263
47253
77777
01010
77777
C056
06630
15067
40117
10101
77777
12
42401
66634
60127
66501
53050
63001
53054
77717
10101
77777
11
03224
05367
00134
05066
00150
05401
77777
10101
77777
287
3. TRANSLATION PHASE
3.
a.
Translation Phase
Translation Subroutines
(1) Abbreviations Used
WL - Translation List (output of translators)
FXX - (where XX is a decimal number) An error number
CB - Combination List
BF - Read in Buffer
CW - Call word
DP - List of Pseudo Operation Dummies
VL - Vary List
VF - Vary File
FC - Flex Codes
12 - List of Referenced Line Numbers
CL - Constant Pool
Vv~B -~
T
}
Variable or Temporary Regions
XS3 - Excess Three Code
SS - Subscripts or Subscripted
Line - Sentence
String Out - Translation or Translation List
S.O. - Translation
291
(2)
General Description
This phase of UNICODE reads the UNICODE Program sentences from tape 5.
assigns call words to symbols, and detects errors in the program. The output
is a list made up in region WL for each sentence. When the space period (fi.)
symbol is encountered. the list in region WL is written on tape 6 (3) to become
the input to the generation phase for the sentence translated.
continues until END OF TAPE is encountered and translated.
This process
The translation subroutines remain in the core and a translator for the
type of sentence encountered is transferred from the drum and referenced by
translation control (CT) which acts as a switch~ Most translators are tra.nsferred into core addresses 4400 to 4400 + Ni where Ni is the length of the
translator. The equation and LIST translators are transferred into 4000-4000 +
Ni. the IF into 4566 to 4566 + Ni, and the JUMP into 4700 to 4700 + Ni.
Each translator uses as many of the translation subroutines as necessary
to make up the translation list (WL). There is no standard format for the
translation list with the exception of the heading (WL-WL3). The heading format
is described in the format of lists section.
292
(3)
Core During Translation (Not all regions mentioned)
Name
1.
2.
Indicates 5 or 7 servos
5 servos - TN
7 servos - TN
Tape Handler
Region
TN
=0
=0
3
Addresses
20
0
lli
21-420
GT
3.
4.
5.
6.
7.
B.
9.
10.
11.
12.
13.
14.
15.
16.
17.
lB.
19.
20.
21.
22.
23.
24.
25.
26.
27.
2B.
29.
30.
31.
32.
33.
34.
35.
Print Text
Print Error Heading
Build Symbol
UP
Translation Control
Delete Spaces
Send Call Word to Translation List
Fill Symbol (with 77 codes)
Switch List (used by control)
Convert Constant to Floating Point
Get Next Character
Get Next Sentence
Assign Constant Call Word
Send Referenced Sentence Number to List
Check and Standardize Sentence Number
Set TN for 5 or 7 servos
Send Sentence Call Word to Reference List
Check Floating Point Constant
Check Fixed Point Constant
Check Variable Type Symbol
Get Rest of Lower Symbol
Decimal to Octal Conversion
Get Rest of Superscript Symbol
Rewind all Tapes
Get Next Symbol
Get File From Combination List
Send File Back to CB List
Add File to CB List
Increase 66, 65, 64 Call Word Counter
Get C.W. from Dummy Pseudo Ope List
Setup Translation Tape
Error Routine
Close Vary File
Send Translation List to Tape
WA
WB
BS
CT
OS
EW
FS
FW
GG
GN
GS
GW
IX
LN
OT
RA
RB
RD
RH
RL
RS
RU
RW
SY
TA
TO
TE
TK
TS
UB
UZ
VE
SS
421-536
537-562
563-602
603-627
714-751
1001-1007
1010-1031
1032-1060
1061-1117
1134-1323
1324-1376
1377-1456
1457-1474
1552-1621
2037-2145
2146-2155
2156-2171
2172-2220
2237-2264
2265-2315
2316-2347
2350-2424
2425-2443
2444-2465
2466-2545
2546-2653
2654-2662
2663-2741
2742-2761
2762-3004
3013-3032
3065-3110
3122-3202
3207-3224
WT
36.
37.
3B.
Increase 26, 27, 22 Sentence Number
Call Word Counter
Read Buffer
Translation List
39. Operating Area for Translators
293
XJ
3225-3245
BF
3317-3506
3507-3757
WL
VN
OR
4000-7777
(4)
Drum During Translation
Name
1.
2.
3.
4.
5.
6.
7.
8.
9.
Flex Codes
Combination List: Dimension List and List
of Library Routines, Pseudo operations and
Variables
Constant Pool
Vary File
Referenced Line Numbers
Pseudo Op Sentence Call Words of 2nd Sentences
Rewind List of Referenced Tape Numbers
List of Pseudo Operation Dummies
Vary List: Variables which cannot be altered
.; ............. ,... .....
.J.J1
10.
Region
.1.QUIjV
,..f!
V.J.
FC
CB
40001-40100
40101-46100
CL
VF
IZ
46101-47100
47101-47245
47246-47721
47722-50022
50023-50045
50046-50177
IN
WR
DP
VL
lTI\OV
vnu.L.
Error Texts (Translation Subroutines)
FA
FB
FD
FE
FF
FG
FH
FI
NO
PA
CD
Translators
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Addresses
50200-50332
50333-50406
50407-50446
50447-50512
50513-50544
50545-50574
50575-50623
50624 -50672
50673 -50721
50722 -50751
50752-51006
51007-51074
Locations
Transferred
COMPUTE
22538
READ
223 8
TYPE
12208
LIST
37538
PRINT
2508
IF
2423 8
VARY
2444 8
RESUME
678
JUMP
1448
STOP
308
END OF TAPE
225 8
EXIT
52 8
START
45 8
Equation
36638
Pseudo Operation Heading
10508
Remainder of drum is service routines
I
294
CP
RE
TL
LM
PS
KP
VY
RV
SJ
SP
EU
EZ
ST
YA
HE
51075-53347
53350-53572
53573-55012
55013-60765
60766-61235
61236-63660
63661-66324
66325-66413
66414-66557
66560-66607
66610-67034
67035-67106
67107-67153
67154-74527
74530-75600
(5)
Error Texts of Translation Subroutines
Fl
Sentence
before START, begins with a key word (VARY, LIST, etc.).
Rest of this sentence not checked.
F2
Sentence - - - - First symbol, - ,does not indicate legal UNICODE
sentence. Rest of this sentence not checked.
F3
More than five errors.
F4
More than 25 errors this program. Reread specifications.
checked beyond sentence - -
F5
More than 512 lines in this program. 513th sentence number is - - - -.
F6
Number of unsubscripted variables plus functions is greater than 512.
513th symbol is - - - -. Working on sentence - - - •
F7
More than 12 characters in floating point constant.
F8
More than one decimal point in constant.
F9
Assumed constant contains a letter.
FlO
More than six characters in fixed point constant. (Const.)
Fll
A decimal point in a fixed point constant.
F12
More than six characters in variable type symbol.
F13
Variable type symbol contains a point.
F14
No sentence number on sentence following - - -
F15
List of variables, Library routines, functions and pseudo operations
has become too long. Working on sentence ________ •
F16
Too many symbols.
F17
No end of sentence symbol.
F18
Incorrect symbol sequence.
F19
Key word, - - - - - , used as variable.
Rest of this sentence not checked.
(Const.)
(Const.)
(Const.)
(Const.)
(sym.)
(sym.)
-lJ.lJ.- - - -
295
Program not
(6)
(a)
List Formats
Combination List (CB)
40101-46100
This list consists of an item for each variable, library routine, and
pseudo operation.
The order in which these items appear in the list is as
follows:
1)
Subscripted Variables, if any (Dimension List)
2)
Library Routines
3)
Unsubscripted Variables (Floating & Fixed Point)
Functions and
Pseudo Operations in the order in which they appear in the program.
Op
v
u
Address CB = 0
where N = the number of words in the CB
2(N)
0
i nr.lllti
i no CB"
l i st not ---N is increased ea.ch time an item is added to the CB list.
--'----;:J
The items have somewhat different formats so each will be described.
Parentheses indicate the extent of the word used.
1.
Subscripted Variable
Op
v
u
00
D )
(
00000
)
S
(
00
O(Z)
o0
o0
o0
(
000
t
\.
M
~
CW
)
N
)
(
(
0
ml
m3
)
)
= The first drum address of this variable in the object program.
S = The XS3 code for the symbol.
CW = The call word (77xxx)
Z = An octal digit with binary representation Zl~Z3
Zl = 1 the variable is defined by an equation before START
~ = I the variable is defined by an equation
Z3 = I the variable appears in a READ sentence
M = The modulUs (the total number of words of storage needed by this
D
variable in the object program).
N
=
ml ,
The number of subscripts.
~,m3
- multipliers used m the manipulation of subscripts
ml
~
m3
= product
of rightmost n-l dimensions
= product of rightmost
= rightmost dimension
296
n-2 dimensions
2.
Pseudo Operation
Op
u
v
s
(
)
000
(
cw
)
O(N)
00000
(
Fl
)
0(2)
N 000 0
(
O(N)
o0
(
0
0
o0
0 0 0
F2 )
etc. )
S
= the
XS3 code for the symbol
CW
= the
call word (4XXYY where YY
function
= the
number of operands;
XX
= pseudo
operation number.)
FIt F , etc.
2
= Operand
formats which read from right to left with the following
codes:
1 - Floating point operand
2 - Fixed point operand
3 - Function
4 - Subscripted variables
For example, the function F (X, Y(I)) would have format: 413.
The subscripted variable
0(1, J, K, L) would have format:
The variable R would have format:
1.
The constant 3.49 would have format:
The constant 75 would have format: 2.
1.
(a constant with a decimal point is
floating point, one without is fixed point.)
= number of commas for a function.
N = number of subscripts for a subscripted
N = 0 for other operands.
N
variable.
2 is the same as 2 described under the subscripted variable.
3.
Function
Op
u
(
o0
o2
S
CW
= XS3
= Ca 11
v
-
)
S
0 0 0 0
(
CW
)
N0 0 0 0
(
F
)
o
4
code of symbol
word (66XXX)
297
= Format as described under
Z = Same as Z described under
N = The number of commas.
F
4.
CW
=
=
subscripted variable.
Floating Point or Fixed Point Variable
Op
u
(
S
o0
o0
oz
S
Pseudo Operation item.
v
)
000
00000
(
CW
o0
)
0 0 0
XS3 code of symbol
Call word (65XXX for floating point, 64XXX for fixed)
Z is described under subscripted variable item.
5.
Library Routine
Op
(
o0
S
CW
=
=
(b)
I
u
S
0 0 000
v
)
(
CW
)
XS3 code of symbol
Call word (5XXXY where Y = number of operands.
XXX = routine number.)
Pseudo Operation Dummy List (DP)
50046-50177
This list is made up by the pseudo operation heading translator. The
entire list is searched for a symbol even if the list is not full since it is
short (1328). The list is cleared before adding the first symbol. The items
in the list are as follows:
1.
Subscripted Variable
Op
u
(
S
o0
S
=
76YXX
I 0 0 000
v
)
7 6 YXX
XS3 code of dummy symbol
= dummy
call word (Y
XX
= number of subscripts,
= variable number.)
298
2.
Function
Op
v
u
(
)
S
o0
000 0 0
oZ
N0 0 0 0
= same as described
X X X = Call word.
S, Z, N, F
6
1
3.
6 1 XXX
under Pseudo operation in combination list.
Floating Point or Fixed Point Variable
Op
v
u
(
)
S
6 3 XXX
1
S
= XS3
(c)
of dummy symbol
= Call word
63XXX
F
(the same for both floating or fixed point)
Translation List (WL)
WL
WLI
= Number
~
of words (includes word WL) in translation list
= Standardized
sentence number.
This is of the form:
where X. is the XS3 code for a decimal digit or XS3 for a space (01).
1
for the point (22) always appears.
2508 •
The XS3
Spaces will not separate digits or a digit
and the point.
WL2 = the sentence type (READ, LIST, DIMENS, etc.) in XS3 code.
Only the
first six codes appear for words of more than six characters and for words of
less than six characters. WL2 is filled on the right with 77 codes. There are
two special cases t the equation and the pseudo operation heading.
For the
equation:
WL2
WL2
= EQUATN
= EQUATI
(XS3) - Before START
(XS3) - After START
For the pseudo operation heading:
WL2 - The XS3 codes for the symbol which represents the pseudo operation.
WL3 - Sentence call word in v address.
2 2 X X X - Sentence within pseudo operation
2 3 0 0 0 - END OF TAPE sentence
2 4 X X X - Equation for S.S. variable (before START)
299
2 5 X X X - Equation for other variables (before START)
2 6 X X X - VARY sentence (not in pseudo op.)
2 7 X X X - Sentence (other than VARY) START or after.
where X is an octal digit;
The rest of the translation list is not standard but depends on the particular translator.
(d)
Referenced Sentence Numbers (12)
Op
(
o
S
CW
u
v
S
0 100000
I
)
I (
CW
I
)
= Standardized Sentence Number
= Sentence call word (26XXX, 27XXX
(e)
VARY (Variable) List (VL)
Op
o0
47246-47721
u
or 22XXX)
50200-50332
v
I VLX
I
VLX
(
Sl
)
(
S2
)
(
~3
)
~-l
)
I
I
(
I
VLX
VLX = Next available address in list
Sl' S2' etc. = XS3 code for symbols which cannot be altered within range
of a VARY sentence.
(f) VARY File (VF) 47101-47245
VF
Op
0 0
2 (
(
Y2
v
u
(
N )
S
CW
l
)
(
M
)
)
(CW
2
an item of file
)
M = Number of words down to first 22XXX VARY sentence. if any.
N
S
= Number
of words in file not including VF
= Standardized sentence number of last sentence in range of VARY.
300
CW I
= Call
CW
= Call
2
word of sentence jumped to or resumed at end of VARY loop (27XXX,
26XXX or 22XXX)
word of the VARY sentence (26XXX or 22XXX)
= Count of number of "with" words.
bits) = Yl 'Y2 where:
Yl = 1 Indicates closed out or completed item.
Y = 0 Item not closed out or completed.
l
12 = 0 Normal jump
Y = 1 Resume jump (either stated or implied)
2
Z (4 bits)
Y (2
(g)
Rewind List of Referenced Tape Numbers (WR)
50023-50045
Op
o0
o0
o0
WR
WRI
etc.
N
= Number
u
2{
v
N
CW
CW
0
)
(
N
)
00000
I
00000
2
of words in list not including WR, CW , CW , etc.
I
2
= Call
words of
tape numbers (67XXX or 64XXX)
This list is used by the STOP object program
so the machine operator may
rewind input and output tapes from the console.
(h)
List of Second Sentences of Pseudo Operations (IN)
Op
IN
o0
o0
o0
v
u
2
(
(
(
47722-50022
N
)
CW
I
CW
2
)
o0
o0
)
00000
0 0 0
000
N = Number of words in list not including IN.
CW l , CW 2 , etc.
pseudo operations.
= Call
words of Sentence numbers of second sentences of
This list is used in generation to check for illegal jumps from one pseudo
operation to another.
(i)
Constant Pool for Object Program (CL) 46101-47100
This is a list of the constants both floating point and fixed point, one
constant per word.
301
address 10 =00 2 ( N ) 0 ( N )
N = Number of constants in list CL.
The constants are assigned call words according to their position in the
list. i.e., the constant in CL has call word 67000, in CLI 67001 and so forth.
(j)
Key Words of nNICODE (Region KB - 1664-1722)
The following words cannot be used as variables in UNICODE.
KB of coding.)
DIMENS
JUMP
~AAT
SIDP
VAAY
COMPUT
END
EXIT
READ
LIST
TYPE
PRINT
IF
RESUME
POW
(7)
(See region
NOT
TAPE
WITH
THEN
AND
Descriptions of Translation Subroutines
(a) Translation Control (CT)
This routine gets the next sentence (GS), gets the first
symbol of the sentence (SY), sets up the translation list (WL) heading,
transfers the proper translator to the core (depending on the first symbol of
the sentence), and jumps to this translator.
After the translator has completed building list WL and found the space
period ( Ll.) of the sentence it writes WL on tape by referencing routine SS.
Then it jumps back to translation control (CT).
302
Sometimes a translator will find a sentence so full of errors that it is a
waste of time to continue checking it.
~.
(CT) before finding the
symbol.
Then the translator will jump to control
Translation control will pick up symbols
until a 1:1. appears in SY2.
This routine is not written as a subroutine and is referenced by:
MJ
(b)
0
CT
Get Next Sentence (GS)
This routine sets the Get Next Character (GN) routine to pick up the first
character of the next sentence, standardizes the sentence number, reads tape if
necessary, and sets up the first two words of the translation heading.
It is
referenced by the instruction.
RJ
GS
GSI
If the sentence number word is all Z's it sets up the entire translation
list for END LiOFLlTAPE ,and goes directly to the end of tape translator.
If the sentence number word is all spaces it checks the entire sentence and if
all spaces proceed to the next sentence.
If the entire sentence is not all
spaces it prints NO SENTENCE NUMBER ON SENTENCE FOLLOWING - - - - -
(Error
F14).
It also clears the indicator of previous print-out in routine EW.
(c)
Get Next Character (GN)
This routine picks up the next character from the raw input, read into BF,
of the corrected problem tape and places the character in the rightmost six bits
of A and GN4.
It is referenced by the return jump.
RJ
GN
GNI
The first time the routine is used, the address where the character is
located must be put in both the u and v addresses of GN2, and a shift count
in GN3.
To explain the shift count, consider the characters of a word to be
numbered from 1 to 6 left to right.
To obtain the first character at the address
in GN2, set the shift equal to zero and perform RJ GNO GNI.
But to obtain the
second character, first left shift word in address at GN2 by 6, and set shift
count equal to 6, then perform the return jump.
all cases:
303
The following table gives
No. of Places to shift
word at address
put in GN2
Set shift count
in GN3 equal to:
1
0
0
2
6
6
3
14 8
148
4
228
5
3°8
368
228
30 8
Character
Number
6
36 8
References after the first are by the return jump only since the routine
automatically sets itself for successive characters.
(d)
Get Next Symbol (SY)
To pick up the next symbol from the raw data, the instruction is used.
RJ
SY
SYI
In picking up the symbol, the routine ignores spaces until a significant
character is encountered, then characters are assembled into a symbol until a
symbol separator character is encountered.
The following characters are
separators:
1.
2.
3.
4.
5.
6.
6.
(
)
+
7.
8.
9.
Any lower case character when building a
superscript symbol.
10.
Any superscript character when building a
lower case symbol.
11.
/
12.
super scr i pt -
13.
super scr i pt I
14.
=
15.
16.
>
17.
<
All of these characters, except I, 9, and 10 are symbols by themselves.
Following is a list of all symbols:
5.
)
2.
6.
+
3.
7.
1.
4.
6. .
(
304
9.
10.
I
11.
superscript /
14.
15.
16.
12.
=
17.
Variable Type Symbol
Constant
18.
Super scr i pt Constant
superscript
-
13.
>
<
A symbol of type 16, 17, or 18 may contain any number of characters, but
the routine will save only the first 18 of these in SY2 - SY4. All symbols are
stored with characters packed to the left, and unused spaces in SY2 - SY4 are
filled with 77 codes.
Op
SY2
x
SY3
77
77
SY4
For example, if the symbol were XYZt SY2 - SY4 would be
u
Y Z 7
77 77
7
77 77
7
v
77777
77777
77777
SY2 is sent to A before exiting.
SY5 = Number of characters
SY6
SY7
SYIO
SYll
SY12
SY13
SY14
The rest of the outputs are:
= Number of decimal points
= Indicator; 1st character a letter
= Indicator; 1st character I, J. K L or
= Indicator; 1st character decimal point
= Indicator; symbol contains a letter
= Indicatori symbol is superscript
= Indicator; space was separator
t
M
or digit
where the indicator is 40 in operation portion of word if condition on right of
semicolon is satisfied.
This routine uses the Get Next'Character, Build Symbol, Fill Symbol, Get
Rest of Lower Symbol, Get Rest of Upper Symbol, and Delete Spaces routines as
subroutines.
(e)
Get Rest of Lower Symbol (RL)
This routine builds the symbol in SY2-SY4 until a separator for a lower
case symbol is encountered.
Reference:
RJ RL RLI
(f)
Get Rest of Superscript Symbol (RU)
This routine huilds the symhol in SY2-SY4 until a separator for a superscript
symbol is encountered.
Reference:
RJ
RU
RUI
305
(g)
Build Symbol (BS)
This routine adds the last character picked up by the Get Next Character
(GN) routine to the symbol in SY2-SY4. Reference:
RJ BS BSI
(h)
Fill Symbol (FS)
This routine fills the symbol in SY2-SY4 on the right with 77 codes.
Reference:
RJ
FS
FSI
(i)
Delete Spaces (OS)
This routine picks up characters until a character other than a space is
encountered.
It sets the indicator in SY14 if a space is encountered so the
Get Next Symbol routine (SY) will recognize the
RJ
OS
OSI
(j)
~.
combination.
Reference:
Send File Back to Combination List (TO)
This routine returns the file of a variable to the CB list when it has
been picked out of the CB list by the Get File from CB List (TA) routine. The
file is located at TA2 up to TA3l. The exact number of words in the file is in
the u address of TA47. The routine is necessary since a file may be altered
after adding it to the list.
(k)
Add file to CB List (TE)
The file of a variable is built in TF up to TF27 with the exact number of
words in both addresses of TF. When the file is complete this routine is
referenced and the file is added to the CB list.
(1)
Get File from CB List (TA)
The file of the variable in SY2 is picked up from the CB list and placed
in TA2-TA3l by this routine if the file is in the CB list. If RJ TA TAl is at
address Y, then the exit is to Y + 1 if the file is not in the list.
If the
file is in the list, the exit is to Y + 2.
(m)
Get Call Word from Pseudo Operation Dummy List (TS)
The pseudo operation heading translator makes up a list of dummy variables
in region OP. The list consists of the XS3 and the dummy call word of each variable which appears in the heading. This routine searches the list for the
variable in SY2 and if it is in the list the output is as follows:
306
TS2
TS3
= XS3
of symbol
= Call word in v address
If RJ TS TSI is at address Y, then the exit is as follows:
Y + 1, if variable is not in list.
Y + 2, if variable is in list.
(n) Send Call Word to Translation List (EW)
This routine transfers the contents of EW2 to the next available location
in the translation list (region WL). The word to go into the translation list
is sent to EW2; then the instruction RJ EW EWI is executed.
(0)
Increase 66XXX, 65XXX, 64XXX Call Word Counter (TK)
This routine is referenced before assigning a variable a 66, 65 or 64
type call word.
The counter is in VBl and is less than or equal to 777 •
8
The
counter is left in A and VBI so that 66000, 65000, or 64000 may be added to it
to obtain the proper call word.
(p)
Reference the routine with RJ TK TKI.
Increase Sentence Call Word Counter for 26XXX, 27XXX, or 22XXX Type Call
Words (XJ)
This routine is exactly like TK (above) except that the counter is in VB4
and A.
(q)
Reference is by RJ XJ XJl.
Print Error Heading (WA)
This routine prints the following on the typewriter:
SENTENCE ~ ~ X ~~ ~ (Y) ~ ~
where:
= sentence number from WLI (1-6 characters),
Y = type of sentence (IF, COMPUTE, etc.). First
X
six characters
from WL2 if more than six, otherwise all characters from WL2.
Reference the routine as follows:
RJ WA WAI If it is desired that the error routine (UZ) be
referenced.
RJ WA WA2 If the error routine (UZ) is not to be referenced.
(r)
Error Routine (UZ)
This routine should be referenced before each error print out.
It will
add up the number of errors and when a maximum of 25 has been exceeded, it
will print F4, rewind all tapes, and stop the computer.
After five errors in a single sentence F3 is printed, the rest of the
sentence is skipped and error checking on following sentences begins.
The Error Routine is referenced by the following instruction:
RJ
UZ
UZI
307
The sum of the errors per program is kept in UZ2, the number of errors
per sentence in U23.
(s)
Check Floating Point Constant (RB)
This routine uses the indicators in SY5-SY13 to check the constant for
errors F8, F9 and F7.
Check Fixed Point Constant (RD)
(t)
This routine uses the indicators in SY5-SY13 to check the constant for
errors F9, FlO, and Fll.
Print Text (UP)
(u)
Send the parameter to UP3 and perform the instruction:
RJ
UP2
UP
The parameter is of the form:
QQ
OP
where X
= address
!!.
X
N
of the first word of six XS3 characters and N is the number
of words in octal to be printed.
If OP
= 00,
the following will precede print-
ing:
If OP
1)
Set to print 8010 characters this line.
2)
Set to print spaces.
3)
Print 4 carriage returns.
= 40,
printing will continue where left off.
When 8010 characters have been printed and N is not exhausted, Print Text
will suppress spaces until a character other than space is encountered.
If
this character is a 77 code, this routine will pick up characters until a code
other than 77 is encountered.
If N is not exhausted by 77 codes or suppressed
spaces, it will:
1)
Print two carriage returns.
2)
3)
Print 1910 spaces.
4)
Set to print 6110 more characters this line.
Print the character.
If one wishes more indentation than 19 spaces, place a 77 code before the desired
number of spaces to be printed in excess of 19.
If N
= ° and
OP
= 00,
four carriage returns will be printed before the exit.
308
X can not be A or Q.
If X is an illegal address, an
The character count is in UW21.
sec
fault will occur.
It is counted down.
The routine assumes a manual jump instruction is at address O.
The routine leaves the Flexowriter in the upper case position.
The XS3 character> is printed "gtr" and < is printed "lsr" but the Print
Text routine only counts each as one character, when actually three are printed.
Hence, if too many of these symbols appear in one line of printing. the character
count of 80 will not be reached before printing runs off the right side of the
paper.
The alternative is to make the user of Print Text count three characters
instead of one for > and < •
(v)
Put Call Word in List of Referenced Sentence Numbers (RA)
This routine searches the list (12) for the sentence number in WLI and
if it is in the list, the call word of the sentence which is in WL3
is put in
the list following the sentence number.
The sentence numbers are put in the list when encountered by the VARY,
JUMP,
(w)
I~
READ and RESUME translators.
Translation Set-Up Subroutines (OT and UB)
When seven Uniservos are to be used for UNICODE, the MJI switch should be
set.
When only five Uniservos are used, this switch should not be set.
Routine OT puts 0
cleared.
3 0 in TN if the MJI switch is set.
Otherwise TN is
Parameters for the generalized tape handler are prepared initially
for the five.Uniservo
layout.
If the same Uniservo is used by a routine.
whether there are five or seven Uniservos available, no alteration is made on
the parameter.
If a different Uniservo is used in these two situations, addition
of TN to the parameter will ensure selection of the proper Uniservo.
This is
true because when a different Uniservo is used with seven Uniservos available,
there is a constant difference of 3 between the logical numbers of the two
Uniservos involved.
Routine DB puts the proper parameter word in WT, the Tape Write routine,
depending upon the assigned value to TN.
block of the string-out tape:
Also this routine writes the title
20 words of Z's; the title, String-Outs; and
the balance of the block in Z's.
309
RJ OT OTI and RJ UB UBI are the instructions needed for these set-up subroutines.
(x)
Write Translation List on Tape (WT or 55)
Instruction RJ WT WTl will cause a completed string-out to be written on
tape if no errors have been recorded in UZ2 previously.
A quick exit with no
tape action results when the Error routine has been referenced.
The routine divides the number of lines by 170 to determine the number
8
of blocks to be written and sets up the proper parameter for use in referencing
the generalized tape handler.
(y)
Put Referenced Sentence Number In List IZ (IX)
Region IZ, the list of line numbers and call words, may expand to 454
addresses.
8
Each line number in IZ is followed either by its call word in the
v position of the next address or by zero.
which keeps track of the size of IZ.
00 20000 00000 is put into 11.
In fixed location 11 is a counter
At the beginning of string-out
Each new line number added to the list increases
11 by 00 00002 00002.
To use routine IX, a referenced line number is first put into proper form
by sending it to the Line Number routine.
The line number in proper form is
then put into A and the routine is set into operation by RJ IX IXI.
First
list IZ is checked to see if the line number is already in the list. Ifit is
there, no further action is taken. If it is not in the list, it is added at
the end and the number in the subsequent address is cleared to zero.
As 11 is increased with each new number, it is checked to see if it exceeds
00 20454 00454.
If this happens, the following error print-out occurs:
- REFERENCED LINES EXCEED 150.
At the same time a return jump is made to the
UZ Error routine and all subsequent referenced line numbers, if not found in
the list, are used merely to increase a count of excess referenced line referrals contained in IX47.
A later subroutine EE of the End of Tape instruction
prints the number in IX47 if it is other than zero.
(z)
Excess-Three Decimal to Octal Routine (RS)
Input to this routine is assumed to be one line of six characters packed
starting at the left.
Numbers are positive integers varying from 0 to 999999.
Decimal fractions are not converted.
A non-digit character in the leftmost
310
position of the input line causes an early exit from the routine with the output line cleared to zero.
RS4 is the input line.
RS3 is the output line.
The instruction of entry
to the routine is RJ RS2 RS.
One reco region, RS, contains all instructions, constants, and workingstorage locations comprising the routine.
This region takes up 55 8 addresses.
Each character of the line of input is masked out and converted from
excess three. Before storing in a common line with other digits, it is checked
to see if it has a value below 0 or above 9.
Such a value causes a termination
of further assembly of characters and, if the count of digits is not zero, the
immediate beginning of octal conversion.
Before starting conversion, the number of digits is subtracted from six
and this difference multiplied by six to determine an initial shift of the line
of digits.
To obtain the index for the loop used in conversion, one is subtracted from
the number of digits.
The conversion-to-octal loop consists of a left Q-shift of the digit line
six places, an SP u 2 command, an SA u 1, and a Q-controlled-add masking
operation setting up the u of the preceding steps for the next loop.
(aa)
Excess-Three Decimal to Floating Point (GG)
The two lines of excess-three input are GG4 and GG5.
starting from the leftmost position.
Numbers are packed,
Positive numbers from .00000000001 to
999999999999 are permissible input to the routine.
Negative numbers may be
converted to floating point by complementing the floating point output.
number starts in GG4.
The output goes to GG3.
routine is RJ GG2 GG.
Three reco regions contain the routine.
Each
The instruction to use the
locations; CF
8
occupies 178 places; and CC, temporary storage, is in 278 addresses. Thus
236
8
GG takes up 170
addresses are needed for its operation.
Each line of input contains six excess-three characters.
number represents each character.
A 6-bit binary
If a character number is less than three or
greater than 12, it acts as an end-of-digits notice to the routine.
The one
exception to this notice is the number representing a first period (or decimal
point) occurring in the input lines.
All characters following an end-of-digits character are ignored by the
routine.
If no significant figures have preceded an end-of-digits number,
311
the output line is cleared to zero.
The routine converts to floating point
only the figures preceding an end-of-digits representation.
Zeros in front of a decimal point when not preceded by a figure greater
than zero are not counted as significant figures. Significant figures. whether
preceding or following a decimal point. are stored after subtracting three in
a set of consecutive registers and converted in a multipying loop to an octal
number stored in two address locations.
This number is divided by 10 to a power equal to the number of original
decimal figures following the decimal point. Before this division the dividend
is shifted left by the number of binary places needed to give a quotient of 10
significant octal figures. Special provision is made in the case of 11 figures
after the decimal point when the divisor lOll overflows a 36-bit register. If
no decimal point was among the original decimal figures. or if no figures
followed the decimal point. this division is bypassed.
In either case. the scale factor command is used in the routine to determine the size of the result and location of the first significant bit. The
number is rounded off to 9 octal places and shifted till it occupies the
positions i 26 ••••• i O in the output. It becomes the mantissa of the floating
point number with i 26 as its first significant bit.
The k of the scale factor command is used to compute the biased characteristic (b) as fOllows: (numbers are in octal)
If k = 45 t both the biased characteristic and mantissa equal zero.
If k > 45, b = k - 110 + 243 + (CC 6) - (CC 5).
I·f k < 45. b = k + 243 + (CC 6) - (CC 5).
(CC 6)
=1
or 0 depending upon whether a round off caused or didn't cause
a carry-over from the first significant bit.
(CC 5)
= shift
of dividend before
division.
(ab)
Assign Constant Call Word (GW)
To use this routine. put the input constant in A and give instruction RJ
GW GWI. Call-word output goes to Au and Qv •
If n of 0 2t n n in absolute address 10 exceeds 10008 t the Error routine
UZ is referenced and the alarm print-out occurs:
TOO MANY CONSTANTS.
The
computer does not stop. A count is kept in FX13 of the number of excess referrals to the routine beyond the maximum. Later an End of Tape subroutine
EA prints out this number if it is other than zero. Call-word number 67777 is
assigned to all constants beyond the maximum.
312
The counter for number of constants, 10, is set at 00 20000 00000 at the
start of translation.
(ac)
Tape Handlers (TH or GT)
There are two Tape Handlers, one for the 1105 and one for the 1103A. They
are essentially the same. The 1105 version operates in the Bypass mode only
but on either tape control unit as follows:
OFF
ON
The 1103A version ignores MJ2.
MJ2
MJ2
TCUl
TCU2
When the routine is entered, a parameter must be present in TH3. This
parameter is not destroyed so that consecutive references to accomplish identical
operations do not require that a parameter be sent to the routine for each
reference.
However, the general calling sequence is
TP
RJ
PM
TH2
TH3
TH
where PM is the address of the parameter.
The parameter has the following form:
R MT N N S S V V V V V
each letter representing one octal digit.
R specifies the operation desired:
R = 1 Rewind
R = 2 Rewind with Interlock
R = 3 Move forward
Move backward
R =4
R = 5 Read forward
R = 6 Read backward
R = 7 Write
R =0
Write ( spec i a 1 ca se, explained later)
M specifies blockette spacing (for write only)
M= 1
M= 2
0.0 inches
0.1 inches
1.2 inches
M= 4
T specifies block spacing and density (for write only)
313
=0
T =1
T =2
T =3
T
1.2 inches
1.2 inches
lower density
higher density
2.4 inches - lower density
2.4 inches - higher density
= number of blocks to be written.
MTNN = number of blocks to be read or moved.
SS = Uniservo number
VVVVV = High speed storage address for read and
NN
write. It specifies the
first location to or from which the first word on tape is read
or written. Thus, successive words on tape correspond to ascending
storage addresses for Read Forward and Write operations. In Read
Backward operations successive words on tape are read into descending storage locations.
If the number of blocks to be moved, read, or written is zero, the Tape
Handler will not cause a move, read or write, except in the case of R = 0 when
one block is written. Hence, it is suggested that R = 0 never be used in a
parameter.
There is a print-out and stop after six reads of a block in which
a parity
sprocket error occurs.
(ad)
~
Line Number Processor (LN)
A Line or Sentence number may be any positive, rational number which re-
quires at most three decimal digits to the left of the decimal point and at
most two to the right.
Every Sentence of a UNICODE Program must be numbered and
each Sentence number must be greater than the Sentence number corresponding to
the preceding Sentence.
According to the above definition, a Line or Sentence number need consist
of at most six characters (five digits and a decimal point).
Hence, if six
characters are allowed for each number and no further restrictions are made,
representation of those Line numbers which have less than five digits will not
be unique. To clarify this statement, consider the following possible representations of Line Number 1.3:
~
(
~
~
~
3
1
0
0
(
1
~
~
3
3
)
~
~
1
1
~
3 0
1
3
1
314
0
)
3
~
The purpose of this routine is to process all input Line numbers so that
each processed number can be represented in one and only one way.
This is done
in such a way that equality and threshold jumps can be used to make direct
comparisons of the numbers.
makes this possible.
The excess-three representation of decimal digits
Because six Unityper codes occupy one 36-bit word, these
comparisons can be single precision comparisons.
Definition of Legal Input to Line Number Processor
Input consists of the six Unityper characters which represent the Line
number.
Let these characters be numbered 1 through 6 from left to right.
To
be legal, an input Line number must obey the following rules:
1.
2.
3.
4.
No Uni typer codes other than those for ( ) b. . 1 0 1 2 3 4 5 6
7 8 9 may appear, (here f denotes the "Nonexisting character" whose
code is 77).
At most one "." code may appear (none is needed if the Line number is
an integer).
At least one non-zero digit code must appear.
An input Line number can not have more than three digits to the left
of the "." or more than two digits to the right of the "." regardless
of whether or not these digits actually contribute something to the
Line number (see examples below).
5.
The four characters (
)
~
• are all considered equivalent and, hence,
are all treated in the same way.
They are ignored (or discarded)
except that none of them can appear between the first and last digit
of the Line number.
Description of Output Line Numbers
The output Line numbers also consist of six Unityper characters.
The out-
put or processed Line number will, of course, satisfy the five conditions given
above.
In addition, it will satisfy the following requirements;
1.
Character 4 will always be the decimal point ".".
2.
In the integral part, only non-zero digits and zero digits which follow
at least one non-zero digit will appear.
3.
In the fractional part only non-zero digits and zero digits which are
4.
followed by at least one non-zero digit will appear.
The integral digits appear in character positions I, 2, 3 and the
fractional digits in character positions 5, 6.
315
5.
All character positions which are not filled with digits or a
fi lIed wi th space (fj) codes.
"
.
II
are
Hence, the effect of this routine operating on a Line number is to shift
if there is none), delete all unnecessary digits, and put
fj
codes in all unused
positions.
Examples:
Legal Input
Line number s
Corresponding Output
Line numbers
123~45
123 .. 45
023.40
003.00
Ll23 .. 4 Ll
LlLl3.LlLl
(tj,lLl~
LlLll. f!lLl
000.01
999.99
!J.LlLl.Ol
999.99
Illegal Inl2ut Line Numbers
A12.3Ll
0000.2
0127.9
1.23.Ll
.004LlLl
9~2.6
4321LlLl
.12000
Ll f:l f:l 0 Ll Ll
Two classes of Line numbers are taken care of by the Line number processor;
those occurring within a UNICODE instruction and those appearing in the lefthand margin in the first six character positions of a Sentence.
For both classes of numbers, the input number is put into LN4 and the outout number is obtained from LN3.
Operation of the routine for those numbers appearing within a UNICODE
instruction is called Case I and is done by instruction RJ LN2 LN.
Case II operation of the routine takes care of Line numbers in the lefthand margin. Instruction RJ LN2 LNI is used for this type of number.
In either case, if there is an error print-out. the output cell, LN3, will
contain the input Line number and the routine sets the error bit by instruction
RJ UZ UZI before the print-out.
Error I2rint-outs, Case I:
In this case the Print Error Heading routine,
316
is used to print the number and type of the sentence in which the illegal
Line number occurred. This is then followed by one of the four possible alarm
comments and the input Line number which gave rise to the alarm.
WAf
Examples of the four different alarm print-outs for Case I follow:
SENTENCE
SENTENCE
SENTENCE
SENTENCE
123.45
123.45
123.45
123.45
(VARY)
(VARY)
(VARY)
(VARY)
ILLEGAL CHARACTER IN SENTENCE NUMBER (ABCDEF)
EXTRA INTEGRAL DIGITS IN SENTENCE NUMBER (1234.0)
EXTRA FRACTIONAL DIGITS IN SENTENCE NUMBER (12.345)
ILLEGAL SEQUENCE IN SENTENCE NUMBER (1.2.3.)
Note that the length of the longest comment is 74 characters plus the number
required by the sentence name.
Error print-outs. Case II:
Because the Line numbers in the left-hand
margin are examined before the type of sentence has been determined. it is not
possible to use the WA routine to give the type of sentence. The illegal
sentence numbers are given twice as shown in the four examples below:
SENTENCE ABCDEF ILLEGAL CHARACTER IN SENTENCE NUMBER (ABCDEF)
SENTENCE 1234.0 EXTRA INTEGRAL DIGITS IN SENTENCE NUMBER (1234.0)
SENTENCE 12.345 EXTRA FRACTIONAL DIGITS IN SENTENCE NUMBER (12.345)
SENTENCE 1.2.3.
ILLEGAL SEQUENCE IN SENTENCE NUMBER (1.2.3.)
317
(8)
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
Region Assignments of Translation Subroutines
TN20
GT21
TH21
UP421
UQ443
US453
UW513
WA537
WB563
BS603
CC630
CF657
CJ676
CT714
DG752
00757
DSIOOI
EWIOIO
FSI032
FWI061
FXl120
GGl134
GNl324
GRl377
GSl406
GUl444
GWl457
GXl475
HA1500
HBl541
IXl552
KAl622
KBl664
KKl723
LL2030
LN2037
MR2052
OT2146
RA2156
RB2172
RC2221
RD2237
RH2265
RL2316
RS2350
RU2425
RW2444
SY2466
SZ2530
Indicates 5 or 7 servos
1
J
Tape Handler
}
Print Text
}
Print Error Heading
Build Symbol
}
Constants
Translation Control
Part of Get Symbol
Delete Spaces
Send Call Word to Translation list
Fill Symbol
Switch List
Part of Constant C.W. routine
XS3 constant to floating point
Get Next Character
}
}
}
}
}
Get Next Sentence
Assign constant C.W
Part of Get Sentence
Part of Trans. Control
Referenced line no. to list
Constants
Part of Get Symbol
Line no. Processor
Set for 5 or 7 servos
Sentence C.W. to Reference List
Check Floating Point Constant
Part of line no. processor
Check Fixed Point Constant
Check Variable Type Symbol
Part of Get Symbol
Decimal to Octal Conversion
Part of Get Symbol
Rewind All Tapes
Get next symbol
318
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
TA2546
'IB2637
1D2654
TE2663
1F2702
TG2732
TK2742
TS2762
UA3005
UB3013
UC3033
UD3060
UM3065
UZ3067
VB3111
VD3116
VE3l22
VG3142
VH317l
VI3176
WS3203
WT3207
SS3207
XJ3225
XM3246
Z03263
ZS3267
BF3317
VN3507
WL3507
FC4000l
CB40l01
CL46101
VF47l01
IZ47246
JN47722
WR50023
DP50046
VL50200
FA50333
FB50407
FD50447
FE505l3
FF50545
FG50575
FH50624
FI50673
N:>50722
PA50752
CD5l007
}
Get File from CB list
Send File back to CB list
J
}
}
}
}
Add File to CB list
Increase 66, 65, 64 C.W. counter
Get C.W. from dummy pseudo OPe List
Part of Trans. Control
Setup Translation Tape
Part of Line no. processor
Part of Get Symbol
Part of Get Symbol
Error Routine
Variables
Close Vary File
Part of line no. processor
Send Translation List to Tape
Increase 26, 27, 22 C.W. counter
Part of Get Symbol
Part of Trans. Control
Part of constant call word routine
Read buffer
Translation List
F lex Codes
Combination List
Constant Pool
Vary File
List of Referenced Line Numbers
2nd lines of Pseudo operations
Rewind List of Referenced tape nos.
List of Pseudo OPe Dummies
Vary List
Error Texts
319
RE
RE
RE
RE
RE
HE
RE
RE
RE
HE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
RE
OA32253
OC30223
OD31220
OE33753
OF30250
OG32423
OH32444
0130067
OJ30144
OK30030
OL30225
OM30052
ON30045
0033663
OP31050
004400
--c:----
OR4000
054566
OU4700
CP51075
RE53350
TL53573
LM55013
PS60766
KP61236
VY63661
RV66325
SJ66414
SP66560
EU66610
EZ67035
ST67107
YA67154
HE74530
Compute
Read
Type
List
Print
If
Vary
Resume
Jump
Stop
End of Tape
Exit
Start
Equation
Pseudo Ope Heading
Most Translators ....
Eq and List
If
Jump
Compute
Read
Type
List
Print
If
Vary
Resume
Jump
Stop
End of Tape
Exit
Start
Equation
Pseudo Ope Heading
3 ( n )
Where n = number
of words to transfer
from drum.
J i~~~~;;" addresses
320
"'t~r'tin(T
1st addresses
of Translators
on drum
(a)
Flow Charts of Translation Subroutines
(a)
Send translators
to drum (1338
blocks) 5033375600
Setup Translation Phase
Flex codes (FC)
to drum 4000140100
Read trans.
subs to core
21-3316
Dimension
translation to
core.
4400-5267
Setup
Subs
Jump to setups
for no dimension
5075
Move #5 fwd.
1 block
Jump to
dimension
translator
4400
Print: PASS I.
TRANSLATION AND
ERROR DETECTION
(b)
Translation Control (CT)
WI2
=
EQUATN
To start
trans.
Var. type
Yes
Sym?
No
To heading
trans.
Yes
No
Key word?
L...-_ _ _
~
To Eq.
trans.
To End
[ trans.
Var. type
symbol?
Yes
Sym
~WL2
In pseudo
o~?
Yes
WL3 =
22XXX
No
WL3 =
27XXX
To translator
for particular
sentence
(c)
Errors/Sent.
=0
Get Next Sentence (GS)
beginning of
blockette
Yes
Char. add.
+ 1
In last
blockette
No
Set Get Char.
routine
No
Sent. no. ]
to WLl
L--.--...r--
to ENE'!
trans.----.J
>
No
7
(d)
Get Next Character (GN)
Char. count
~
Ys
120?
Yes
Shift
=6
Yes
=BF
+
1
No
Shift word
blockette
count + 1
+
add.
Char. count
~---.......
Char.
Char.
add. + 1
No
Shift + 6
blockette
count ~ 5?
t--_~Char.
by 6
add.
1
Char. count
= 6
Char. add.
+ 1
Clear
shift
No
Clear errors
per Sent.
(e) Get Next Symbol (SY)
No
\0------:::..1
Superscr~
Clear
SY2-SYl4
Previous sym.
~S12-SZl4
digit~
Yes
6..~
output
dec.
+ 1
~~~
Yes
pOintsl
No
dec. points
+
1
Set constant
indicator
Set constant
indicator I E - - - - - - J
Set superscript
ind.
~--------------------------------------~
Yes
Superscript
- or I ?
No
Set super-J
script Ind.
It J. K, L
or M?
Yes
SymbOl]
Set Ind.
~A
~
(f)
Get Rest of Lower Symbol
(RL)
o
No. of char.
>17
Yes
Separator?
Yes
(1)
The Get Rest of Superscript Symbol (RU) is the same as above except that the characters
which are separators are somewhat different.
(h)
Build Symbol (BS)
Add character
at GN4 to Symbol
in SY2 - SY4.
(i)
Fill remaining
characters of
SY2 - SY4 with
77 codes
(j)
Char. in A
= l:l ?
Fill Symbol (FS)
~~E~
I_ _
Delete Spaces (OS)
Yes
Set II ind.
1-----..::;.(
---
) NOSW
(k)
Set up RP
inst.
(1)
Send File Back to Combination List (TO)
Transfer
TA2 - TA(n)
Set up add.
to CB list
in CB list
Add File to CB List (TE)
No
CB list
full?
r-----------------~
Yes
Previous
Print?
No
Set Ind. of
print
Transfer
TFI ... TF(n)
to CB list
(m)
Get File from CB List (TA)
Transfer file
'\---::.t
(SY2)
~
A
(n)
Yes
In CB
Ii st
to TA2 - TA31
Exit + 1
No
-V
Get Call Word from Pseudo Operation Dununy List (TS)
XS3
In Pseudo
Op?
~
In List?
No
Yes
~
TS2
CW ~ TS3
Exit + 1
(0)
Send Call Word to Translation List (EW)
Send (EW2)
\---~
Add. in list
+
I
List
No
full?
Yes
Previous
print?
No
Set ind. of
print
Add. in list
- I
to next address
in WL list
(p)
Increase 66XXX, 65XXX, 64XXX
Call Word Counter (TK)
(VBl) + I
~(VBI)
Yes
Previous
print?
No
Set print
ind.
and A
(q)
Increase 26XXX. 27XXX, 22XXX
No
=
Yes
Previous
print?
No
Set print
ind.
Sentence CW Counter (XJ)
(VB4) + 1
~ VB4 and A
(r)
Print Error Heading (WA)
Sent. No. (WLl)
WB3
WAI = RJ UZ UZI
4
'---~
(WL2)
=
COMPUT?
= ~~
(WL2)
DlMENS?
.~
(WI.2 ) -? WB5
Yes
Yes
WB5
= EQUATI
WB6 = ON 7-1
WB5
WB6
= COMPUT
= E 7-7
Yes
WBS = DIME~
WB6 = ION
:J-J
(s)
Error s/Prog.
'r---~
+
1 (U12)
Error Routine (U2)
More than
25?
Yes
Print F4
No
Errors/sent.
+
1 (U23)
More than
5?
Yes
Print F3
Clear
Errors/sent.
(t)
Check Floating Point Constant (RB)
o. of char.
> 12?
I---~
(u)
Check Fixed Point Constant
(RD)
Contain a
of
>
Yes
Yes
Yes
Contain a
letter?
6?
Yes
points?
Yes
letter?
Yes
(v)
of char.
> 6?
Yes
Check Variable Type Symbol
dec.
point?
Yes
(RH)
Key
word?
Yes
(w)
Print Text (UP)
Word to
working sp.
Par. = 00
or 40
All words
printed?
~~
Ye~
00
Set?
Set to print
80
char.
10
No
Cleal Ind.
Print 4
carr. rets.
Yes
No
No
Set Ind.
eCha~?
T
Print CR CR &
19 spaces
8lst char.?
No
6 char.
printed
Yes
6
~---~
Print char.
Set to pr int
80
10 char.
I
Yes
(x)
Put Call Word in Sentence Number Reference List (RA)
Sent. no.
in list?
Yes
Sent. no. CW
from WL3 to
Ii st.
No
(y)
Rewind All Tapes (RW)
5 Servos?
NO
Rewind
1 - 7
Yes
Rewind
1 - 5
(z)
Tape Handlers (TH) 1105 and 1103A
Yes
Set servo no.
and tape bi t
Code word
~VV
No
Yes
Yes
Set index
code word-::;'VV
Read fwd
(bwd)
Build
Write code
Yes
Read, Write
EF
0
VV
Move N
blocks
Write N
blocks
Read b~~
(fwd)nol~
Move fwd
(bwd) 1 blk
No
Yes
Read f\l~
(bwd) }~
No
Read bwd
(fwd) low
Print out
and stop
Yes
Read bwd
(fwd) high
Read fwd
(bwd) low
Yes
(aa)
Routine To Set TN Indicator for 5 or 7 (MJl) Uniservos (OT)
Puts 0000003 00000 into
Is MJl set?
Yes
indicator TN to show
that 7 Uniservos are
to be used
No
Puts zero into indicator
address TN to show that
only 5 Uniservos are
to be used
Routine To Write Title Block of String-Out Tape and Select Proper Parameter for
WT Tape-Write Routine Depending on Value in TN or Availability of 5 or 7 Uniservos (UB)
Using indicator TN,
inserts proper paramete
into WT Tape-Write
Routine so String-Outs
will be written either
on Tape 3 or 6
Fills first blockette of title block
wi th lines of Z's
Puts String-Out:s
on first 2 lines of
2nd blockette of
title block
Fills remail:Jder
of title block
with Z lines
~.-------,
Writes title block
on tape via tape
handler GT
(ab)
Has error
routine been
referenced?
Yes
Translation Tape Write Routine (SS or WT)
No
Calculate no. blocks
from no. lines in
routine. (1708 lines
= 1 block)
Make up parameter
for gen. tape
handler
Reference generalized
tape handler to write
string-out on tape
(ac)
Put Referenced Sentence Number Into List 12 (IX)
s line number
reference
list
Yes
Is line number
reference
list
No
Up count of
excess
referrals
No
Up counter 11
of referenced
lines
Yes
Yes
Start count
of excess line
no. referrals
Yes
Error Print-Out:
Referenced Lines
Exceed 150
Clear subsequent
line in list
Reference
error
routine
Add line number
to next position
in list
(ad)
Excess-Three Decimal to Octal (RS)
Clearing and resetting
working storage
Conversion
from excess 3
Checking for end
of digits signs
Yes
Counting and accumulating digits in one
line
Computing and performing initial
shift on di its
Computing index
of octal conversion
Jump to
exit
Decimal to octal
conversion
No
(ae)
\7
I
Excess-Three Decimal to Floating Point (GG)
Output
I
EJ c:J
Clear and set
storage elements
,~
Conv ert from excess
3, c ount, and store
inte gral portion of
input
Con vert from excess
3, count, and store
fra ctional portion
of input
MJ
Conv ert decimal
numb ers to oetal via
mult iplication and
divi sion
--
""'"-
Add biased characteristic and
mantissa and store
in output
~
Compute biased characteristic and
mantissa
-
(af)
Assign Constant Call Word (GW)
CD
s length of
constant list
1000?
Is constant
in list?
Obtain position
~~~
of constant
in Ii st
Yes
Is constant
in list?
Yes
r---------------~
Add base number
66777 to this
ordinal position
to get call word
for constant
Obtain position
constant
in list.
Put call word
output in Au
andQv
~~------------------~of
No
Up excess
count of
referrals
Giving the fixed
ca 11 word 67777 to
all excess constants
Up count in 10 of
length of
constant list
Add constant to
next position
in list
No
Print-Out:
Too Many
constants
Reference
Error
Routine
Start excess
count of constant
referrals
Obtain ordinal
position of
constant
(ag)
Are there any
unclosed items
in vary file?
~
s current sentenc e
no. > sentence no. in
last unclosed item
of vary file?
Insert call word of
current sentence in Uportion of word at
address given by TempI
(y) -+ a
(y)
Close VARY File (VE)
{3
Insert call word given
by (0:')+1 (V-portion) into U-portion of word at
address given by temp 1
Close last file
in variable
list
Close Vary File item by
inserting "Jump" flag
in word at address given
by Temp 1
Close Vary file item by
inserting "Resume"
flag into word at addre~
given by temp 1
Record address
given by (a)+l into temp 1
Decrease
(a) by two
Is current sentence
number> sentence number
at addre ss given by (~)?
Is word at addressN0
given by (a}+l
8
flagged?
(0) =
({3)
(y)
address of last unclosed item in vary
file.
= address
= address
file
Close Vary File and Variable List
Set index to
number of
"with" words
first unclosed item in vary file
for inserting next item in vary
To what class does this
Ilenotp Switch Sl'ttings.
Heading Alarm Tag
ALAHM PHINT ENTHIES
[' ~ I j ,
[
'n I l' r i
i>flnt ln~~
Ifr
nt
Th.,
rOil tIn j
1S
;ll;Hm
1 17
< 17 t
}
}
Upper case ~ RL23
No ~
Other separator ~RL23
No ~
KKO
RL21
---:.
IH ') 1
,.
.I.1.L...I-...L
KK51
GN4
GN4
KKI04
0
KK57
0
SY6
0
FSO
0
GNO
20015
KKI
20015
KK60
RL60
A
RL17
A
RL17
RLI
SY12
RLl
KK53
RLl
FSl
RLO
GNI
RL30
RL23
RL25
RL23
14 ~ A
Not a digi t
~
RL25
~
RL17
~
RL17
3~A
Not a digi t
Set a letter
No. Pts + 1
F ill symbol
Exi t
Get char.
}
Separator ~ RL23
No. ~ RL25
366
digit ~
Get rest of upper symbol
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
IA
MJ
RJ
TP
TJ
RJ
EJ
RP
EJ
RJ
MJ
RJ
RP
EJ
RA
MJ
CA
RUO
0
BSO
KK75
SY5
GNO
KKI
20012
KK2
FSO
0
GNO
20012
KKI
SY6
0
(30000)
BSI
A
RU12
GNI
RUlS
RUIO
RUI
FSI
RUO
GNI
RUIO
RU12
KKS3
RU1
IA
MJ
MJ
0
0
TP
EJ
EJ
TU
LQ
TP
TV
QS
RA
RA
MJ
TP
TP
MJ
TP
TP
MJ
CA
}
17~RU12
no ~
Get char.
Upper . ~ RU15
Upper digi t ~ RUI
Fill symbo 1
Exit
Get char.
Pts. + 1
RU17
( g)
0
1
2
3
4
5
6
7
10
11
12
13
14
IS
16
17
20
21
22
23
24
}
Exit
Build symbol
Char. count >
BSO
0
0
0
(SY2)
SYS
KK76
KK77
BS3
(30000)
KKS2
BS3
GN4
BS2
SY5
0
KKIOO
KKS4
0
KK101
KKS4
0
BS2S
(30000)
BS4
(0)
(SY2)
A
8S17
BS22
BSI0
6
Q
BS13
(30000)
KK76
KK53
BS
BS3
BS2
BS7
BS3
BS2
BS7
Build Symbol
}
}
}
Exit
Start
Shift
Address of word SY2 - SY4
Char. count = 6 ~BS17
= 12 10 ~ BS22
Left shift by 6
Mask ~Q
Char. ~ sym.
Shift + 6
Char. count + 1
Exit
Set for 2nd word
Clear shift
Return
Set for 3rd word
Clear shift
Return
367
(h)
IA
0
1
2
MJ
oJ
I:J
W
4
LQ
5
6
7
10
TP
IV
11
12
13
14
15
16
17
20
21
22
23
24
25
26
TP
EJ
QS
RA
EJ
MJ
TP
EJ
EJ
TP
TP
MJ
TP
TP
MJ
TP
EJ
MJ
CA
FSO
(30000)
0
A
BS2
KKI02
FS13
BS3
FS4
(30000) 6
KK52
Q
BS3
FS7
(30000)
KK52
KK76
BS2
,
J
}
IA
MJ
EJ
MJ
TP
RJ
EJ
MJ
CA
Exit
Start
Shift = 36 ~ FS13
Shift word by 6
Mask ~Q
77 fill
Shift + 6
KKI02
FS24
Shift
0
BS3
KKI03
KKIOO
KK54
KKI03
0
KK56
KK56
0
BS3
KKIOl
0
FS27
FS4
A
FS21
FS22
BS2
BS3
FSO
SY3
SY4
FS16
A
FS16
FS14
Return
DS
0
CJ13
0
KK57
GN
KK60
0
DS7
= 36
-7
FS24
1st word ~
2nd word ~
Clear shift
Set for 1st word
Exit
Fill 2nd word
Fill 3rd word
}
3rd word
No
(i)
0
1
2
3
4
5
6
Fill Symbo 1
(30000)
DS3
DS
SY14
GNI
DS4
DS
~
~
FS16
FS14
Delete Spaces
Exit
DS3
No ~ exit
Set ~ ind.
Get next char.
~ ~GN
no ~
Exit
~ ~
368
(j)
Constants
SY, BS, FS
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
IA
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
KKO
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
22
62
60
61
40
20
41
35
55
75
36
57
00
15
24
25
26
27
30
31
32
33
34
44
45
46
47
50
51
52
53
54
65
66
67
70
71
72
73
74
02
14
77
.
~
\Y
~
~
~
W
'-.{y
\]/
~
~
"-::/
\j/
A
B
C
D
E
F
G
H
I
J
K
L
M
N
0
P
Q
R
S
T
U
V
W
X
Y
Z
369
53
54
55
56
57
60
61
62
63
64
65
66
67
70
71
72
73
74
75
76
77
100
101
102
103
104
0
0
01
77
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
CA
0
0
22777
77777
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
SY3
SY4
0
SY2
0
KKI05
1
0
77777
77777
0
01
63
02
56
64
23
21
42
76
16
37
17
43
21
6
14
SY3
SY4
44
SY2
03
6.
D
+
*
/
=
>
<
(
)
17 10
12 10
370
(k)
a
1
2
3
4
5
6
IA
MJ
LQ
TV
TP
QS
RP
TP
CA
TO
a
rA3l
Q
(30000)
25
1
2
3
4
5
6
7
10
11
12
13
14
15
16
a
1
2
3
4
5
6
7
IA
MJ
MJ
a
a
1D6
Q
TA47
ID5
(30000) ID
(30000)
TA2
107
a
TF
TP
TB4
TE3
TE
UZ
WLI
FH22
UP2
TB5
a
MJ
CA
TE17
IA
TV
TP
TG
TE2
TB6
QS
TP
QA
RA
RP
TF
TP
CA
~
list
Add File to CB List
(30000)
TE4
(30000) (30000)
SA
TJ
TP
QJ
RJ
RJ
Exit
File
TE
TE2
TP
}
a
a
SP
TP
Exit
1B6
(1)
a
Send File Back to CB list
CB
TF
a
a
a
TG
Q
TEll
UZI
FH46
UP3
UP
TE3
}
OK~TG
}
}
TE2
(30000) TE
(30000)
TFI
TGIO
Prev. print
No ~
no ~
~exit
F15
Set ind.
Exit
TE
TG7
Q
TG6
A
CB
TF
Exit
Start
Next add. in CB list
Ind. of prev. point
Increase address
}
}
}
Set 1st address
Set repeat
Set CB for search
Increase address
Exit
Send file to list
371
(m)
0
1
2
3
4
5
IA
MJ
MJ
CA
TA
0
0
TA2
RJ
MJ
TA
0
TAl
0
M.J
0
0
(30000)
TA32
Exit
(
I
TA32
CB
W
TP SY2
RP (20000)
EJ
CBl
LQ Q
TP CB
ST Q
AT 1132
RS
TA46
TA46
1U
RA
TA
RP
30004
0
0
(0)
0
TP
1137
TP
TA4
11310
QT
EJ
11310
11311
QT
EJ
11312
0
MJ
TA46
TO
RA TA63
RA TA47
RP
30002
TP (30000)
11]
TA46
RA TA70
RA TA47
RP
30023
TP (30000)
CA TA71
not in list
in list
Drum add. in u if from dim.
XS3 of sym
CW
J
31
IA
32
33
34
35
36
37
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
Get File From CB List
TA34
A
TA
TA36
17
A
A
TA46
1133
TA31
TBl
TA50
0
0
TA47
Q
A
TA57
A
TA64
TA
TA63
1137
}
}
Store address
Set up repeat
Sym ~A
No tin 1i s t ~ ex i t
In list ~
Set up address
Store address
Set exit for "in list"
}
}
nn4
TA
TA6
TA70
TB7
TB13
TA
TA6
Format etc.
TA5 - TA31
}
TP CB+
TA2
No. words in file
No. words = 4
CW
CW
=
=
77XXX
4XXXX
~
~
TA57
TA64
Exit
77XXX
Set add. from CB list.
Count + 2
--+ Exit
2 more wds ~ output
4XXXX
Count + 1910
}
19 10 more words
372
~
output
Constants
0
1
2
3
4
5
6
7
10
11
12
13
14
IA
m
RP
0
TA23
1
0
CB
TA2
1
0
CB6000 CB6000
0
0
7777
0
4
0
77000
0
70000
0
40000
0
23
0
0
2
IB15
0
TP
0
0
40
0
0
0
0
0
0
0
CA
Max. of CB list + 1
Ind.
Mask
373
(n)
Get CW From Dummy P.O. Li st
y
y +
y +
0
1
2
3
4
S
6
7
10
11
12
13
14
15
16
17
20
21
22
IA
MJ
MJ
0
0
0
TS TSI
(not in list)
(in list)
1'5
0
0
(30000)
0
0
(0)
0
0
0
TSS
TP
154
Q
QJ
TS7
SY2
20132
DP
TS21
TS
A
TS
TS12
0
17
TS17
TS20
TS
0
1
20131
TS2
TP
RP
EJ
SP
SS
AT
RA
RP
0
0
0
TP
CA
RJ
1
2
Q
TS22
TS
30002
0
0
0
DP
TS23
l
J
}
Exit
Start
XS3
CW
Indicates within P.O.
Not in P.O. ~ exit
in ~
Sym ~A
Not in list ~ exi t
in ~
}
r - 1 ---+ Au
}
Set exit for in list
Exit
File --7 output
J
N- 1
374
Translation Variables
0
I
2
3
4
0
I
2
3
IA
0
77
77
77
77
CA
VB
0
77777
77777
77777
77777
VB5
IA
0
0
0
TP
CA
VD
0
0
0
KAI
37700
77776
77776
77776
77776
Next P.O C. W.
Next 66. 65. 64 C.W.
Not used
Next Dummy in Equation
Next stm't C.W. 26. 27. 22
0
0
0
GN2
No. of STARTS
EXIT indicator
Index
VD4
Explanation of Temporary Build File Area
1F
0
1
2
0
0
0
(0)
(0)
0
0
(0)
0
Words 1F3 - 1F27
No. of word s in file
XS3 of symbol
C.W.
}
Formats. etc.
375
Ca 11 Word
(0)
0
1
2
3
4
5
6
7
10
IA
MJ
MJ
0
0
0
RA
TJ
TF
QJ
II
n"
12
13
14
15
16
17
20
21
nT
TP
RJ
TP
RS
MJ
TV
TP
MJ
CA
EW
(30000)
0
0
EW5
)
(0
0
(30000) (30000)
0
0
EW3
CJ7
CJI0
EW17
EW4
Q
EW15
EWll
,.,,'
nR
FI
UP2
CJ2
EW3
0
EW3
EW2
0
EW22
"lA'
VVl-\.1
UP3
UP
EW4
CJ7
EW
EW20
(30000)
EW
7
10
11
12
13
14
15
16
17
IA TK
MJ
0
MJ
0
0
0
TP VBl
TJ
CJ3
TP 1K2
QJ
TK
RJ
UZ
TP WLI
TP
SY2
TP FD16
RJ
UP2
TP
CJ2
MJ
0
RA
MJ
CA
VBl
0
TK20
J
}
Translation Li st
Exit
Start
C.W.
Address of last C.W.
Ind. one print-out
Add + 1
OK ~ EW17 no ~
Prevo print ~ EW15
No "
F16
Set bit
Add - 1
Exit
CW ~ string
Exit
Increase 66, 65 64 Call Word Counter
(p)
0
1
2
3
4
5
6
}
'\
~
(30000)
TK3
0
A
TK16
Q
TK7
UZI
FD43
FD36
UP3
UP
TK2
TK
CJl
TK
}
}
}
Exit
Start
Indicator
OK ~TK16
No iPrevo Print
No ~
Error
F6
Set indo
~exit
CW + 1
Exit
376
~
exit
(q)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
IA
MJ
MJ
0
0
TP
TJ
TP
QJ
RJ
TP
TP
RJ
TP
TP
MJ
RA
MJ
CA
Increase Sentence C.W. Counter (Output-A or VB4,)
26, 27, 22
XJ
0
0
0
0
VB4
XJ3
XJ2
XJ
UZ
WLI
FD
UP2
VB4
CJ2
0
VB4
0
XJ21
(30000)
XJ4
0
777
A
XJ17
Q
XJI0
UZI
FD15
UP3
UP
A
XJ2
XJ
CJl
XJ
}
}
}
Exit
Start
Indicator
Constant
OK ~ XJ17
No -f
Prev. print
No ~
Set error
F5
CW ...-+ A
Set ind.
Exit
CW + 1 --+ A
Exit
377
~
exit
(r)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
IA
MJ
RJ
TP
TP
TP
TP
EJ
EJ
EJ
EJ
TP
RJ
MJ
TP
TP
MJ
TP
MJ
TP
MJ
CA
WA
0
UZ
WL1
Wl2
A
WB10
WB15
WB11
WB16
WB17
WB
UP2
0
WB11
WB12
0
WB13
0
WB14
0
WA24
(30000)
UZ1
WB3
A
WBS
WB6
WA15
WA16
WA20
WA22
UP3
UP
WA
WB5
WB6
WA12
WB6
WA12
WB6
WA12
Print Error Heading
RJ WA WAI Set Error
WA2 Don't Set Error
Exit
Set error
Line number
}
}
Sentence type ~ A ~ fi Ie
Fill
E Q U A T N
E Q u A T I
C 0 M P U T
D I M E N S
Print heading
Exit
Load E Q u A T I
0 N 77 77 77 77
E
77 77 77 77 77
I
0 N 77 77 77
Constants
IA
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
0
65
26
0
01
0
0
43
77
30
51
30
34
30
26
27
CA
WB
WB1
30506
30010
0
01011
0
0
01017
77777
53672
50777
77777
51507
53672
51475
34473
WB20
7
63050
17777
0
77777
0
0
77777
77777
46634
71777
77777
77777
46650
26766
05065
S E N T E N
C E !J. !J. 77 77
Line U
!J. !J. !J. ( 77 77
)
!J.
!J. 77 77 77
77
fill
E Q u A
0 N 77 77
E 71 77 77
I 0 N 77
E Q u A
C 0 M P
D I M E
378
I
77
77
77
T
77
77
77
T
N
U
N
T
S
(5)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
IA
MJ
MJ
0
0
RA
TJ
RJ
TP
TP
RJ
MS
RA
TJ
RJ
TP
RJ
TP
MJ
CA
UZ
0
0
0
0
U72
CJ14
RW
WLI
FB15
UP2
0
UZ3
CJ15
WA
FB
UP2
UW
0
UZ22
(30000)
UZ4
0
0
CJl
UZ13
RWI
FB37
UP3
UP
UZ
CJl
UZ
WA2
UP3
UP
UZ3
CT
Error Routine
}
Exit
Start
No. of errors for entire project
No. of errors this sentence
Errors + 1
O.K. ~ UZ13 no ~
Rewind tape
F4
Stop on exi t
}
Too many errors
+no~exit
F3
Clear errors/sentence
~ Control
379
(t)
TI\
.Ll"l
o
1
2
3
4
5
6
7
MJ
TP
TJ
RJ
RP
12
TP
TP
RJ
TP
TJ
RJ
13
RP
14
15
16
17
20
21
22
23
24
25
26
TP
TP
RJ
TP
,10,
.L.L
QJ
RJ
RP
Check Floating Point Constant
DO
UU
o
SY5
CJ4
WA
30003
SY2
FE
UP2
SY6
rv..,T~
v
WA
30003
SY2
FE17
UP2
SY12
RB21
WA
30003
TP
TP
RJ
MJ
FF
UP2
CA
RB27
SY2
o
(30000)
A
RBI0
WAI
RB6
FE14
UP3
UP
A
0017
UU.L I
}
}
}
'"
WAI
RBIS
FE27
UP3
UP
}
Q
}
RB
WAI
RB24
FF7
UP3
UP
RB
}
Exit
Start
No. of char. > 12
~
no ~ RBI0
F7
No. pt S >
1
t
no ~ RB17
F8
Contains a letter ~ no ~ exi t
F9
Exit
380
(u)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
IA
MJ
TP
TJ
RJ
RP
TP
TP
RJ
TP
ZJ
RJ
TP
TP
RJ
TP
QJ
RJ
RP
TP
TP
RJ
MJ
CA
RD
0
SY5
CJ6
WA
30003
SY2
FF12
UP2
SY6
RD12
WA
SY2
FG
UP2
SY12
RD20
WA
30003
SY2
FF
UP2
0
RD26
Check Fixed-Point Constant
(30000)
A
RDI0
WAI
RD6
FF25
UP3
UP
A
RD16
WAI
FGI0
UP3
UP
Q
RD
WAI
RD23
FF7
UP3
UP
RD
Exit
}
No. of mar. > 6 ~ no --+ RDIO
}
FlO
}
No. pts. > 0 ~
}
Fll
}
Contains letter ~ no ~ exi t
}
F9
exit
381
no ---+ RD16
(v) Check Variable Type Symbol
IA
RH
0
MJ
0
1
2
3
TP
TJ
RJ
RP
TP
TP
RJ
TP
ZJ
RJ
TP
TP
RJ
MJ
TP
RP
EJ
RP
EJ
RJ
TP
TP
RJ
MJ
CA
SY5
CJ6
WA
30003
SY2
FGll
UP2
SY6
RH12
4
5
6
7
10
11
12
13
l4
15
16
17
20
21
22
23
24
25
26
27
30
A
RHIO
WAI
}
1
RH6
FG24
UP3
UP
A
RH17
WA
t.T" ,
SY2
FH
UP2
0
SY2
20023
KB
20004
KB33
WA
SY2
WB15
UP2
0
RH31
FHI0
UP3
UP
RH
A
RH22
RH24
RH
RH24
WAI
WB20
UP3
UP
RH
IA
0
0
40
0
0
0
0
0
0
0
71
0
0
0
CA
CJ
0
0
0
0
0
0
0
1
WL250
0
0
0
0
0
CJ16
No. of char.
~
> 6
no
~RHIO
F12
J
}
Contains a point
~
no
~
exi t
\
Wi\,!
J
}
}
F13
Exit
Key word
+no
~exit
F19
Exit
(w)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
Exit
(30000)
0
1
0
777
15
2
7
1
WL250
170
WL
01
31
5
Constants
Zero
One
Indicator
RCO
RC1
RC2
Limit of string
Wr it e @0 in
&
128 lines/in
6
Errors/prog.
Errors/sentences
382
(x)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
IA
MJ
0
MJ
0
TV
TV
TP
TV
MP
TP
TP
TU
PR
TP
QJ
TP
RP
PR
CA
IA
RJ
RJ
PR
MJ
RJ
RJ
PR
MJ
CA
IA
0
RA
TP
IJ
PR
MJ
LQ
QT
Print Text
UP
0
UP4
30000 (30000)
(30000)
0
(30000) (30000)
UW1S
UQ
UQ3
UQ4
UW20
UW
UW20
UP3
UW3
UW20
UW20
A
US
UW13
US
UP3
0
UW7
UP3
Q
UP17
US
UW4
UW21
US
4
0
UW11
UP22
UQ
UQ
UQ4
0
0
UQ4
UQ
0
0
UQ10
(30000)
US25
UW7
UQ5
(30000)
US25
UW10
UQl
US
(30000) (30000)
US
UW2
UW5
002
USb
UW20
0
UW7
UP2
0
6
UW23
UW6
UW16
Start
}
}
}
Exit
Par.
Set up switch to UP
Set up N counter
6 char. word pick up
Shift up
Q
00 ~ 40 ~US
Counter = 80 10
4 cr's
Par.~
}
DOWN
Exit
Shift up
Up-down
switch
UP
Exit
Shift down
Six char. pick up
Modify pick up
Set up 5 count
N counter
Shift up
Exit
Uni typer code ~ Q
~A ---+OW1h
383
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
II ' s
77's
33
34
35
36
37
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
EJ
EJ
TV
1J
TP
PR
PH
RP
PH
SP
AT
0
SJ
LA
SS
PH
SS
ZJ
1J
MJ
TP
ZJ
TV
MJ
CA
1A
0
0
0
0
0
0
0
0
0
0
0
TP
UW1
US34
UW6
US36
US35
U537
UW21
US21
UW17
UW21
0
UW11
0
UW11
23
US12
0
UW12
mV16
17
UW14
U523
(30000) (30000)
UQ
UQ4
A
3
A
6
0
A
A
6
US32
US27
US3
UW22
0
us
OW21
A
US12
(DS32)
US17
US35)
0
US32
US40
SP
UW
0
0
1
0
0
0
0
0
0
0
0
(30000)
Fe
0
0
0
0
0
0
0
CA
0
0
30000
30000
30000
30000
004
0
0
1
0
6
120
5
77
47
57
45
4
UW23
44
UQ6
0
75
30000
30000
30000
30000
}
}
~ ~US34
No ~
77 ~ US36
Test for suppress
80 counter
Char. count = 66 10
CR. CR.
19 spaces
XS3 ~
}
}
}
}
Au
Codes
~A
Codes
~
shift 44 0n
posi tion
Print codes
Loop
5 count
~ new word
81st ~ no ---+ US12
Or~US/~
Print
~ 's
Zero
1 in V and ~ code
1 in u
6
8°10
5 counter
Mask and 77 code
Shift up
Shift down
Carriage return
Space code
Pick up dummy
Flex pick up dummy
Set switch
XS3 of char.
61 10
N counter
80 counter
5 counter
Work space
384
Sentence CW to Reference List 12
(y)
0
1
2
3
4
5
6
7
10
11
12
13
IA
MJ
TP
TU
RP
EJ
SN
SA
LT
AT
(0
MJ
TP
CA
RA
(30000)
0
WLI
A
11
RA3
(20000) RA
12
RA5
17
Q
11
25
0
A
RA13
RAIl
0)
0
0
RA
WL3
12
RA14
(z)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
IA
MJ
MJ
20
20
0
0
0
0
TP
TP
TP
ZJ
RA
TP
RJ
RA
IJ
MJ
CA
RW
0
0
1
1
1
0
0
0
RW3
RW6
TN
RW14
RW5
RW2
TH2
RW2
RW5
0
RW22
Exit
Line no.
}
~A
Not in list
In list -¥
11
=0
j
Sentence CW
~
n
~
Exi t
n
list
~Exit
Constant
Rewind all tapes
(30000)
RWI0
0
0
0
0
4
2
RW2
RW5
A
RW15
RW7
TH3
TH
RW4
RW15
RW
}
}
}
Exit
Start
Parameter
Set up parameter
Modifier
Index
Set index
Set parameter
Set index
5 servo s ~ RW15
7 servo s ~ RW14
Increase index
Rewind tapes
Change parameter
Return
Exit
385
(aa)
TH21
1105 Tape Handler Regions
IAIOO
Control Region
Exit
Rewind
Ignore Address
WHIOI
Bui ld Wr i te Code
WWl13
Write
Read Subroutine
EX70
RW73
RRl25
REl43
RF206
Reread If Parity Error
Read Forward
RB214
RW222
Read Backward
MF227
Move Forward
MB240
PC242
Move Backward
WE263
Constants
CC274
CE334
Constants
Rewind Region (Redundant - Not Used)
Print
VV375
Constants
Constants
Constants
Temporaries
CR402
Check for Zero Blocks
CF352
CD365
386
(ab)
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
IA
MJ
MJ
MJ
0
MJ
TP
EF
MJ
MJ
TP
EF
TP
RP
QS
EF
TP
QT
LT
TP
AT
TV
RJ
QT
TP
EJ
EJ
EJ
EJ
EJ
EJ
QT
EJ
EJ
QT
EJ
EJ
EJ
RA
MJ
CA
TH
20000
0
0
30000
50000
CO2
0
0
40000
COl
0
CC27
10005
CD
0
TH3
CE5
41
A
CD
CE15
CR5
CC4
A
CC5
CC6
CC7
CCIO
CCII
CC12
CC27
CC31
CC32
CC30
CC33
CC34
CC35
VV
0
TH47
TH4
THIO
(30000)
30000
TH4
CD
CC3
TH13
THIO
CD
CC2
Q
THl6
CD3
CD5
Q
A
A
VV2
VV
IA
CR
A
A
RW
RW3
MF
MB
RF
RB
A
WB
WB2
A
WB4
WB6
WBIO
CC21
WW
1105 Tape Handler
Start - TCU2
Start - TCUI
Exit
Parameter
Test buffer 2
Set TCU2
Bypass buffer 2
Test buffer 1
Set TCUI
Bypass buffer 1
}
Set leU bit in code words
Set norma 1 bia s
}
}
Servo no. VV2
Servo no. and leU
bit~VV
Set ignore address
~Test for zero blocks
Op code ~A
Rewind ~RW
wi interlock ~RW3
Move fwd ~MF
Move bwd ~MB
Read fwd ~RF
Read bwd ~RB
"A" ~A
A= 2
"A" = 4
B~A
= 1
= 2
= 3
= 0
---+ Wr i te
B
B
B
B
387
Exit
IA
0
1
2
TV
MJ
0
CA
EX
CE15
0
0
EX3
Set ignore
Exit
IA
TH2
RE33
Build Write Code Words
0
1
2
3
4
5
6
7
10
11
IA
RA
MJ
RA
MJ
RA
WB
VV
0
VV
MJ
0
VV
0
VV
0
RA
VV
MJ
0
WB12
MJ
RA
CA
CC25
TH41
CC26
TH41
CC22
WW
CC23
A= 2
sec.
A =4
~ B sec.
B= 1
~B
B
WW
CC24
WW
=2
B= 3
Write
0
1
2
3
4
5
6
7
10
11
IA
RJ
TP
QT
TV
EF
RP
EW
RA
IJ
MJ
CA
WW
RE5
CEll
VV3
TH3
0
10170
10000
WW6
VV3
0
WWl2
REI
Q
VV3
WW6
VV
WW7
(30000)
CE12
WW4
EX
}
}
Set index
Set address
Start writing
Write block
Add. + 1708
No. of blocks
Exit
388
Read Subroutine
0
1
2
3
4
5
6
7
10
11
12
13
14
15
IA
MJ
MJ
CC
0
CC
CC
RJ
TP
EF
ER
0
IJ
ER
MJ
CA
RR
0
0
RR3
30000
VV
(30000)
RR7
CD2
30000
CC36
CD2
RR7
RR12
RR6
CC37
VV4
0
VV
10000 (30000)
(30000) (30000)
VV4
RRII
0
A
0
RR
RR16
Exit
Normal entrance
Reread entrance
RA (RS) RRII CCI
Reverse direction
RA (RS)
One shot exi t
Set index
Start reading
Read
RA (RS) RRll CCI
One block
lOA ~A
Exit
389
Read Fwd (Bwd)
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
IA
TV
TP
QT
SS
LT
RJ
RJ
ZJ
RE
TH3
TH3
CE4
CE6
o
RE5
RR
REIO
RJ
RR
ZJ
EF
REl2
RJ
ZJ
RJ
ZJ
EF
RJ
ZJ
RJ
ZJ
TP
RJ
EF
RJ
RR
RE15
RR
RE17
TV
o
o
RR
RE22
RR
RE24
CF
PC
o
RR6
EX2
Q
A
17
VV3
RE6
RRI
RE41
RR2
RE32
CD6
RR2
RE40
RR2
RE32
CD7
RR2
RE40
RR2
RE32
PC2
PCl
CD5
RR2
IA
RE6
RR2
IA
MS
o
RJ
AT
RR6
CEIO
VV2
VVI
EF
o
A
30000
30000
CD5
RE6
EX
33
TV
34
35
36
37
40
41
42
TP
o
EF
o
IJ
VV3
MJ
o
CA
RE43
Set address
RRII
A
A
}
Index = No. of blocks - I
Exit
Read blk fwd (bwd) (normal)
Pari ty t no ~RE37
Read bwd (fwd) (normal)
Pari ty ~ no ~ RE31
Set high
Read fwd (bwd) (high)
Parity ~ no~RE36
Read bwd (fwd) (high)
Pari ty ~ no-+RE31
Set low
Read fwd (bwd) (low)
Pari ty ~ no ~RE36
Read bwd (fwd) (low)
Pari ty ~ no ~RE31
Print error
}
}
Set norma 1
Set to read fwd (bwd)
Set ignore address
Stop for rereads
Reverse direction
Set ignore add.
Move fwd (bwd) 1 blk
RA (RS) RRII
Set normal
No. blks.
CE12
Read Fwd
o
1
2
3
4
5
IA
RA
TP
TP
TP
TP
MJ
RF
VV
CEI
CEI
CE2
CD3
0
CA
RF6
CC17
RR3
RRl2
RE37
VVI
RE
Set read fwd
}
~ VV
Set for read fwd
390
Read Bwd
0
1
2
3
4
5
IA
RA
TP
TP
TP
TP
MJ
CA
RB
VV
CE
CE
CE3
CD4
0
RB6
CC20
RR3
RR12
RE37
VVI
RE
Set read
}
bwd~VV
Set for read bwd
~Read
Rewinds
0
1
2
3
4
IA
RW
RA
EF
MJ
RA
VV
CC13
0
0
VV
0
RW5
VV
MJ
CA
EX
CC14
RWI
Rewind
Exit
Rewind w!interlock
Move Fwd
IA
0
TO
1
RJ
TV
EF
2
3
4
TP
5
6
7
10
AT
EF
IJ
MJ
CA
MF
CE7
RE5
CE7
0
(30000)
VV
0
VV3
0
MF11
MF4
REI
IA
CD7
A
VV
VV
MF6
EX
Set for fwd
Set index
Set ignore address
Set low gain
Set for fwd (bwd)
Set EF word
Move 1 b1k
n b1ks
Exit
Move Bwd
0
1
IA
MB
MJ
CA
CE10
0
MB2
ro
MF4
MF1
391
Print Out
0
1
2
3
4
5
6
7
IA
MJ
MJ
0
TP
QT
ST
1U
SP
PC
(30000)
0
0
PC16
(30000) (30000)
PC2
Q
CE13
A45
CCI
PC20
PC7
PC2
(30000) 52
10
PR
0
A
11
12
13
14
15
16
17
20
S5
ZJ
RA
IJ
MJ
RP
PR
0
CA
A
PCI0
PC7
PC20
0
4
0
0
PC21
6
PC13
CE14
PC7
PC
PC3
PC4
0
IA
TP
RJ
MS
0
47
01
12
47
57
CA
WE
0
1
2
3
4
5
6
7
10
WE3
PC
0
WE4
16300
04141
20574
12201
42040
WEll
0
1
2
3
4
5
6
7
10
11
12
13
14
IA
0
0
0
0
70
10
20
30
40
50
60
0
0
CC
0
0
10000
20000
0
0
0
0
0
0
0
200
400
PC2
PCl
IA
5
60603
30603
20404
23406
40404
0
1
04000
04000
0
0
0
0
0
0
0
0
0
Exit
Start
Par.= 0 address
}
n
Set index
Set address
\
]
Print one lAJord
Set for next word
no ~ PC7
Exit
4 ers.
F ini shed ~
Index
}
"Can't ignore.
t C A
N
N
Rerun."
0
T
~
I
G N 0
-¥
.
~
6.
R E ~ . ~ ~
t R E R U N
~
~
Zero
One
8ypa ss buff.l
8ypa ss buff. 2
Mask off OPe code
Rewind
Rewind w/inter1ock
Move fwd
Move bwd
Read fwd
Read bwd
Rewind
Rewind w/interlock
392
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
07
0
02
04
0
0
0
0
0
CA
4
14
602
612
606
616
706
716
20
40
0
70000
0
0
10000
20000
30000
10
0
CC40
1
1
0
-0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
167
Move fwd
Move bwd
Read fwd
Read bwd
Write low and stop B = 0
B ::. 1
Write high
B= 2
Write low
B= 3
Write high
A =2
A =4
Mask off A
Mask off B
A =2
A =4
B =1
B =2
B =3
To reverse read
Set index
393
1"
1"
2.4
2.4
blk
blk
blk
blk
Constants
0
1
2
3
4
5
6
7
10
11
12
13
14
15
IA
RS
RA
RA
RS
7
0
0
0
0
0
0
0
0
0
CA
CE
RRII
RRII
RRII
RRII
77700
77
100
CClS
CC16
0
0
0
1
0
CE16
0
1
2
3
4
5
6
7
10
11
12
IA
0
47
20
46
25
15
01
04
04
20
57
CA
CF
CFl
12203
12120
15301
04031
12031
42574
24013
26031
12203
42040
CF13
12
02204
31204
21401
20424
63620
24704
01201
20412
02224
40404
0
1
2
3
4
5
6
7
IA
0
1
2
0
0
0
0
0
CA
CD
0
0
0
4
14
1
1
1
CDI0
0
0
0
1
1
50000
60000
70000
CCI
CCI
CE12
CE12
0
0
0
MF7
RE37
77
170
77777
0
}
}
Set RR3 & RR12
fwd
bwd
Set RE34
fwd
bwd
Mask no. of blocks (read)
Mask off servo no.
Subt. 1 from no. of blks.
Mask
120 10
v mask
1 in u
WE
l' R E A
E R R 0
(
P A R
y !J. 0 R
P R 0 C
D !J.
R !J.
I T
!J. S
K E
T ) ~
l' !J.
!J. S T A R T
!J. F 0 R !J. R
E R E A D
~
.
!J.
!J.
!J.
5
!J.
TeU bi t
Set '!CU bit to 1
Set '!CU bi t to 2
Move fwd 1 blk
Move bwd 1 blk
Set normal
Set high
Set low
394
Variables
0
I
2
3
4
IA
0
0
0
0
0
CA
VV
0
0
0
0
0
VV5
EF code word
Move fwd (bwd) I blk
Tape no.
Index (n blks)
Index I blk
0
0
0
0
0
Check for Zero Blocks
0
I
2
3
4
5
6
7
10
IA
QT
TP
EJ
QT
TP
RP
EJ
70
77
CA
CR
CR7
A
CC4
CRIO
A
20004
CC7
07700
77700
CRll
A
A
EX
A
A
(30000)
EX
0
0
395
(ac)
TH21
RR55
MB75
IAlOO
Regions for 1103A Tape Handler
Control Region
Read Subroutine
Move Backward
Ignore Address
WHlOl
WWl13
Build Wri te Code
RE125
Set Index
RA134
Reread If Parity Error
RF173
Read Forward
RB203
Read Backward
RW2l3
Rewind
MF220
PC231
Move Forward
WE252
CF263
CC276
CE336
CD361
VV371
CR377
Write
Print
Constants
Constants
Constants
Constants
Constants
Temporaries
Check for Zero Blocks
396
(ad)
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
IA
MJ
TV
MJ
0
MJ
TP
QT
LT
TP
AT
TV
RJ
TP
EJ
EJ
EJ
EJ
EJ
EJ
QT
EJ
EJ
QT
EJ
EJ
EJ
RA
MJ
CA
TH
0
CEI5
0
30000
0
TH3
CE5
41
A
CD
CE15
CRIO
A
CC5
CC6
CC7
CCIO
CCll
CC12
CC27
CC3l
CC32
CC30
CC33
CC34
CC35
VV
0
TH34
TH4
IA
(30000)
30000
TH5
Q
A
A
VV2
VV
IA
CR
A
RW
RW3
MF
MB
RF
RB
A
WB
WB2
A
WB4
WB6
WBIO
CC2l
WW
II03A Tape Handler
Start
Set ignore address
Exi t
Parameter
}
Servo no. ~ VV2
Servo no. & tape bit
~VV
Set ignore address
~ Test for ze . . o blocks
Ope code ~A
Rewind ~RW
W/interlock ~ RW3
Move fwd ~ MF
Move bwd ~ MB
Read fwd ~ RF
Read bwd ~ RB
"A" ~ A
A =2
A =4
"B" ~ A
B =1
B =2
B =3
B =0
~Write
397
Build Write Codes
IA
riB
2
RA
MJ
RA
VV
0
VV
0
1
"A" = 2
~B sec.
A= 4
~B sec.
B= 1
CC25
TH26
CC26
TH26
CC22
3
MJ
0
4
5
6
7
10
RA
MJ
RA
MJ
RA
VV
0
WW
VV
0
VV
11
MJ
0
CC23
WW
CC24
WW
CA
WB12
B= 2
B= 3
Write
0
1
2
3
4
5
6
IA
RJ
TP
QT
TV
EF
RP
EW
7
RA
10
11
IJ
MJ
CA
WW
RE
CEll
VV3
TH3
0
10170
10000
WW6
VV3
0
WW12
REI
Q
VV3
WW6
VV
WW7
(30000)
CE12
WW4
THI
}
Set index
Start writing
}
Write blk
Add + 170
No. blks
Exit
398
Read Sub
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
IA
MJ
MJ
CC
CC
CC
0
RJ
TV
TV
TP
EF
ER
0
IJ
ER
MJ
CA
RR
0
0
VV
RR14
RR5
(30000)
RR6
VV5
RR17
CC37
0
10000
(30000)
VV4
0
0
RR20
(30000)
RR7
CC36
CO2
CO2
(30000)
RR7
RR13
IA
VV4
VV
(30000)
(30000)
RR13
A
Exit
Start (normal entrance)
Reverse direction
RA (RS)
RA (RS)
RS (RA) VV5 CC37
One shot
Set address
Set ignore
Set index
Start reading
Read
RA (RS) RR13 CC1
One block
I 0 A~A
Exit
RR
Index to VV3
0
1
2
3
4
5
6
IA
MJ
TV
TP
QT
SS
LT
MJ
CA
RE
0
TH3
TH3
CE4
CE6
0
0
RE7
(30000)
VV5
Q
A
17
VV3
RE
Exit
Set address
}
Index to VV3
Exit
399
Read Fwd. or Bwd.
IA
nil
n}\
0
1
2
3
4
5
6
7
10
RJ
ZJ
RJ
ZJ
EF
RJ
ZJ
RJ
ZJ
RR
RA2
RR
RA4
0
RR
RA7
RR
RAIl
11
EF
u
\JUI
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
RJ
ZJ
RJ
ZJ
TP
RJ
EF
RJ
RR
RA14
RR
RA16
CF
RR2
RA35
RR2
RA24
PC2
PCl
CD5
RR2
IA
RA
RR2
IA
A
A
A
30000
CD5
RA
THl
30000
RA32
TV
MS
RJ
TV
TP
AT
EF
0
EF
IJ
MJ
0
MJ
CA
r'\
PC
0
RR6
CEIO
0
RR6
CE20
VV2
VVI
0
30000
0
VV3
0
30000
0
RA37
Fwd (bwd)
normal
Pari ty ..v no ~ RA35
Bwd (fwd)
normal
Pari ty t no ~ RA24
Set high
Fwd (bwd)
high
Pari ty ..v no ~ RA35
Bwd (fwd)
high
Pari ty ..v no ~ RA24
Set low
Fwd (bwd)
low
Pari ty ..v no - RA35
Bwd (fwd)
low
Pari ty ~ no ~ RA24
RRI
RA35
RR2
RA24
CD6
RR2
RA35
RR2
RA24
"..,.-7
}
}
Print PARITY ERROR
Set normal
Reverse direction
Set ignore address~
Stop for rereads
Reverse direction
Set ignore
:J
Move fwd (bwd) 1 blk
RA (RS) VV5 cel
Set normal
n blks
Exit
RA (RS) VV5 CE12
400
Read Fwd.
0
1
2
3
4
5
6
7
IA
RJ
TP
TP
TP
TP
TP
RA
MJ
CA
RF
RE
CE21
CE
CE2
CE16
C03
VV
0
RFI0
REI
RR5
RR14
RA31
RA35
VVI
CC17
RA
Set index and address
Set for fwd.
Read Bwd.
0
1
2
3
4
5
6
7
IA
RJ
TP
TP
TP
TP
TP
RA
MJ
CA
RB
RE
CE22
CEl
CE3
CE17
CD4
VV
0
RBI0
REI
RR5
RR14
RA31
RA35
VVI
CC20
RA
Set index and address
Set for bwd.
401
Rewinds
0
1
2
3
4
IA
RA
EF
MJ
RA
MJ
CA
RW
VV
0
0
VV
0
CC13
VV
THI
CC14
RWI
Rewind
Exit
Rewind with interlock
RW5
Move Fwd.
IA
0
TIl
1
2
RJ
TV
MJ
TP
AT
EF
IJ
MJ
CA
3
4
5
6
7
10
MF
CE7
RE
CE7
0
(30000)
VV
0
VV3
0
MF4
REI
IA
MF4
A
VV
VV
MF6
THI
Set for fwd.
Set index
Set ignore address
Set for fwd (bwd)
Set EF wd.
Move 1 blk
Y\ blks
Exit
MFll
Move Bwd.
IA
0
TIl
1
MJ
CA
MB
CEIO
0
MF4
MFl
Set for bwd.
~ move fwd.
MB2
402
Print Sub.
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
0
1
2
3
4
5
6
7
10
0
1
2
3
4
5
6
7
10
11
12
IA
MJ
MJ
0
TP
QT
ST
TIJ
SP
PR
SS
ZJ
RA
IJ
MJ
RP
PR
0
CA
IA
TP
RJ
MS
0
47
01
12
47
57
CA
IA
0
47
20
46
25
15
01
04
04
20
57
CA
PC
0
0
30000
PC2
CE13
CCI
PC2
30000
0
A
PCI0
PC7
PC20
0
4
0
0
PC21
(30000)
PC16
30000
Q
A45
PC20
PC7
52
A
6
PC13
CE14
PC7
PC
PC3
PC4
0
Exit
Start
Par. = 0 address
}
n
Set index
Set address
}
Print one word
Next word
Finished ~ no
Exit
~
PC7
Index
WE
WE3
PC
0
WE4
16300
04141
20574
12201
42040
WEll
CF
CFl
12203
12120
15301
04031
12031
42574
24013
26031
12203
42040
CF13
PC2
PCl
IA
5
60603
30603
20404
23406
40404
12
02204
31204
21401
20424
63620
24704
01201
20412
02224
40404
}
Rerun"
"Cannot ignore.
t C A N N
T !:1 I G N
b.
R E ~
t R E R U
.
~
.
b.
N
b.
b. b.
l' R E A
E R R 0
( P A R
y b. 0 R
P R 0 C
T ) ~ .
b. S T A
b. F 0 R
E R E A
b. b.
t
D b.
R b.
.
403
b.
0
0
I
T
b.
S
K
E
t
~
R T
b. R
D
S
b.
~
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
0
0
0
0
70
10
20
30
40
50
60
0
0
0
0
0
0
0
0
0
0
0
0
07
0
02
04
0
0
0
0
0
CA
CC
0
0
10000
20000
0
0
0
0
0
0
0
200
400
4
14
602
612
606
616
706
716
20
40
0
70000
0
0
10000
20000
30000
10
0
CC40
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
IA
RA
RS
RA
RS
7
0
0
0
0
0
0
0
0
0
RA
RS
0
RS
RA
CA
CE
RR13
RR13
VV5
VV5
77700
77
100
CC15
CC16
0
0
0
1
0
VV5
VV5
0
VV5
VV5
CE23
0
Zero
One
Bypa ss no. 1
Bypa ss no. 2
Mask off OPe code
Rewind
Rewind with interlock
Move fwd
Move bwd
Read fwd
Read bwd
Rewind
Rewind with interlock
Move fwd
Move bwd
Read fwd
Read bwd
Write low and stop B = 0 Iff b1k
B = 1 Iff blk
Write high
B = 2 2.4 blk
Write low
B = 3 2.4" blk
Write high
A =2
A =4
Mask off A
Mask off B
A =2
A =4
B =1
B =2
B =3
To reverse read
Set index
1
04000
04000
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
167
CCl
CC1
CC1
CC1
0
0
0
MF7
RA25
77
170
77777
0
t1
}
}
fwd
bwd
fwd
Set RA31
bwd
Mask no. b1ks (read)
Mask servo no.
No. of b1ks - 1 subtractor
Set RR14
Mask
120
10
v mask
1 in u
WE
CE12
CE12
RA31
CC37
CC37
}
Set RA35
fwd
bwd
}
Set RR5
fwd
bwd
404
0
1
2
3
4
5
6
7
IA
2
1
2
2
2
2
2
2
CA
CD
0
0
0
4
14
1
1
1
COlO
0
0
0
1
1
50000
60000
70000
Tape bi t
Move fwd 1 blk
Move bwd 1 blk
Set normal
High
Low
Don't Punch Variables
0
1
2
3
4
5
IA
0
0
0
0
0
0
VV
0
0
0
0
0
0
CA
VV6
EF code word
Move fwd (bwd) 1 blk (read)
Tape no.
Index (n blks)
Index 1 blk
Address
0
0
0
0
0
0
Check for Zero Blocks
0
1
2
3
4
5
6
7
10
11
12
IA
QT
TP
EJ
QT
TP
RP
EJ
QT
MJ
70
77
CA
CR
CRII
A
CC4
CR12
A
20004
CC7
CC4
0
07700
77700
CR13
A
A
THl
A
A
CR7
THI
A
30000
0
0
405
(ae)
Fl
F2
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
IA
0
65
26
0
01
54
54
32
34
45
54
0
43
65
01
01
31
01
50
66
45
0
65
26
0
01
01
46
0
01
65
34
66
24
26
30
30
01
54
31
01
50
66
45
CA
FA
FAI
30506
30017
0
01253
30016
66210
34506
66330
30730
27010
0
22010
66010
01010
01010
01663
65305
26300
01263
30272
FA26
30506
30017
0
31345
65734
21017
0
21012
01505
50273
30014
46016
51273
50663
22010
01010
30656
01663
65305
26300
01263
30272
FA54
Error Prints of Translation Subroutines
24
63050
77777
0
03151
56624
12530
50171
12401
17151
10117
0
15430
10101
10101
10151
33465
06630
15051
33026
27777
26
63050
77777
0
46566
72551
77777
0
75130
16601
42624
63032
75034
00165
05026
10101
10101
60151
33465
06630
15051
33026
27777
S E N T E
C E fj, 77 77
Line no.
fj, fj, B E F
R E fj, S T
R T , fj, B
G I N S fj,
I T H fj, A
K E Y fj, W
R
D
fj,
fj,
fj,
N
77
0
A
E
W
fj,
0
(
Key word
)
S T
fj,
fj,
fj, fj, R
fj, fj, fj,
fj, fj, fj,
fj, fj, fj,
F
fj,
fj,
fj,
fj,
S E
N C
T fj,
T
E
H
N
fj,
I
T
N
C H E
77
K E D
S E N T E
C E fj, 77 77
Line no.
fj, F I
R S
fj, S y M B
fj, 77 77
L
sym.
fj,
fj, D 0
fj,
S
N 0 T
I N D I C
T E fj, L E
A L fj, U N
C 0 D E fj,
E N T E N
fj, fj, fj,
E
t
R E
S T
fj,
fj,
F
T H
I
fj,
fj,
fj,
fj,
fj,
S E N T
C E fj, N
fj, C H E
77
K E D
fj,
N
T
406
E
fj,
fj,
0
S
E
0
C
77
N
77
T
0
77
E
fj,
A
G
I
S
C
fj,
fj,
0
S
E
0
C
77
IA
F3
F4
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
47
33
30
22
66
33
50
01
01
01
26
27
0
47
33
01
65
01
24
30
65
34
50
54
01
33
01
25
01
50
0
CA
IA
F5
0
1
2
3
4
5
6
7
10
11
12
13
14
15
0
47
33
05
30
34
65
54
10
65
26
25
01
0
FB
FBI
51543
24500
54545
01015
01513
34650
66305
50516
01010
01010
33302
22777
FB16
51543
24500
30545
01663
52545
47220
54302
52302
26246
65220
51325
50516
30244
01010
30735
65305
26300
0
FB40
FD
FDI
51543
24500
01653
50263
50016
01525
24472
04066
30506
30015
30540
77777
0
14
00166
11001
15465
43065
10166
16530
02630
60101
10101
10101
64530
77777
22
00166
10510
45154
33465
13254
10154
42701
63431
63451
10152
42447
60126
53027
10101
15027
06630
17777
0
15
00166
11004
05066
06501
63334
45132
20101
63301
63050
06747
13465
77777
0
0
R E
H A N ~
E R R 0
~ ~ R
~
T
5
~
R
E
S
S
T
M
.
T
~
0
F
~
H
N
I S
T E
~
S
~
~
N 0
T
~
~
~
~
~
~
~
C
H E
C
N C
E
E
~
~
~
~
~
~
K
E
D
.
77 77 77 77
M
0
R
E
~
T
~
~
2 5
E R R 0 R
S
~
T
H I
~
P
R
0 G R
H A N
~
A M
E
!:::,.
S
R
A D ~
C I F
A T I 0
!:::,. ~ P
G R A M
0 T ~ C
C K E D
6. !:::,. ~ 6.
E
E
R
P
C
N S
S
I
.
R
0
!:::,.
H
N
E
~
~
D
B E Y 0
N
~
N
T E
~
77 77
S E
N C E
line no.
M 0 R
H A N
2 ~ S
E N C
I N ~
S ~ P
R A M
5 1 3
E
~
T
~
5
1
T
S ~
T H I
E
E
R
.
N
0 G
~
~
T H ~
S E N T E N
C E ~ N U M
B E R ~ I
S
~
77 77 77 77 77
Line no.
407
F6
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
40
41
42
43
0
50
01
65
34
70
46
31
51
01
30
50
01
33
51
34
0
22
45
50
30
0
CA
IA
F7
F8
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
40
47
33
01
26
34
24
52
01
01
01
66
0
0
0
40
47
33
30
47
34
01
24
0
0
0
CA
FD17
67472
51310
67256
52663
24543
30650
67502
50650
32543
54016
01100
01100
01657
46010
65017
0
01017
34503
01653
50263
0
FD44
25
53054
16750
52654
02701
42425
16301
66634
13465
02466
63324
40522
40666
34725
10101
77777
0
15154
20151
05066
00177
0
FE
FEI
51543
24500
26332
66305
50013
66345
51345
01010
01010
01265
24506
0
0
0
FE20
51543
24500
01273
24460
50660
26515
50662
0
0
0
FE32
16
00166
10405
45424
46501
14651
03201
06601
10101
10101
15065
62201
0
0
0
12
00166
15150
02634
15251
13450
06566
20101
0
0
0
M B
E R
N
U
~
0 F
~
S
U
I
V
L
P T
A R
E S
C R
E D ~
I A B
B
U
N
S
~
+
~
F U N C T I
0 N S ~ I S
~
G
R
E R
~
E
T
A
T
H A
~
~
~
5 1 2 .
5 1 3 T
H
~
S
y
M B
0
L
~
~
~
I
S
~
77 77 77
.
~
N
~
Sym.
K I
~
W 0
R
N
G
~
0
N ~ S E N T
E N C E ~ 77
Sent. no.
M
H
0 R E
~
T
A N ~ 1 2
C H A R A
C T E R S ~
I N ~ F L 0
A T I N G ~
P 0 I N T ~
~
11 IJ. 11 11 11 11
11 11 11 11 11 11
~
6 C 0 N S
T
}
A N
.
6
T
Constant
M
H
0 R E
~
A N 6
0 N
E
~
M
A
I N
~ C
A N
}
T
D E C I
~ P 0
L
T
~
.
Constant
408
I
N
0 N S T
~ 6
T
F9
FlO
0
I
2
3
4
5
6
7
10
II
12
13
14
15
16
17
20
21
22
23
24
25
26
27
IA
40
24
27
66
51
65
66
0
0
0
40
47
33
26
66
50
27
66
66
01
01
0
0
0
CA
FF
FFI
65656
01265
24506
50662
01240
66305
0
0
0
FF13
51543
24500
33245
30546
01313
01525
01265
24506
01010
01010
0
0
0
FF30
II
74730
15065
60126
43450
14630
42201
0
0
0
15
00166
11101
42426
50134
47230
13450
15065
62201
10101
10101
0
0
0
A S S
D !:1 C
T A N
0 N T
S !:1 A
T
M E
N S
T !:1 C
U
0
A I
!:1 L
T E R
}
.
N
E
!:1
Constant
M 0
H A
C H
T E
N
D
R E !:1 T
N ~ 6 !:1
A R A C
R S !:1 I
6 F I X E
6 P 0 I N
6 C 0 N S
A N T
6
T
T
6 6
!:1 6
}
.
6
6
6 6
6 6
Constant
409
6
6
Til
r.ro
40
24
47
34
01
01
01
24
0
FGl
01273
24460
50660
31347
52513
26515
50662
0
H\
Fll
..,..,,,
r
.1~
0
1
2
3
4
5
6
7
10
1 1
Af\
l.l.
~v
12
13
14
15
16
17
20
21
22
23
24
25
26
47
33
26
66
50
24
73
47
01
01
0
0
0
CA
fU
L'rl~
l·U.L~
51543
24500
33245
30546
01702
25463
52300
25514
01010
01010
0
0
0
FG27
10
02634
15251
13450
23027
45066
06566
20101
0
A
fj.
D
E
M
I
A L
fj.
N
T
~
fj.
fj.
F
I
X
I
N
fj.
P 0
C 0
.
C I
P 0
I N
E D
N T
S T
fj.
A N T
Constant
fj.
It:=:
"'...,
00166
11101
42426
50134
45434
00166
16573
62201
10101
10101
0
0
0
0 R E
fj. T
N fj. 6 t:.
A R A C
R S fj. I
V A R I
L E fj. T
Y P E fj. S y
fj.
M B 0 L
M
H A
C H
T E
N t:.
A B
.
fj.
fj.
}
fj.
fj.
fj.
fj.
Symbol
410
fj.
fj.
fj.
fj.
fj.
~
IA
F13
F14
F15
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
40
70
46
30
51
66
24
66
0
0
50
66
50
01
50
01
71
0
0
46
31
24
01
54
66
01
34
50
67
30
50
01
30
51
22
45
50
30
0
CA
FH
FHl
24543
30016
01657
46012
24345
01525
22010
0
FH12
51016
30502
67472
51500
66305
31514
34503
0
FH23
34656
01702
25463
46342
73015
34503
31675
51506
27015
27510
54246
65013
25302
01010
01465
01017
34503
01653
50263
0
FH47
10
42425
67352
34725
65150
06501
13450
17777
0
10
53050
63001
53054
16530
02630
64651
20101
0
24
60151
45434
06521
55424
45167
06521
02666
50124
26530
15152
63451
32465
65147
16651
15032
15154
20151
05066
00177
0
R I A B
6 T y P
S y M B
6 C 0 N
I N S ~
P 0 I N
6 ~ 77 77
Symbol
V
A
L E
E 6
0 L
T A
A ~
T
N
T
N
0
~
E
U
N
~
0
N
E
L
I
S
T ~
0
F
~
V
I
A B
~
L
R Y
T I
L
I
A R
E S
B R
R 0
E S
N C
S ~
P S
b.. 0
T I
H A
C 0
6 T
S E
C E
N
~
E
R
S E
N C E
N T
L L 0
~ F 0
W I N G ~ ~
Line no.
~
I
F
0
M B
~
N
U
N
6
N
U
E
N
R A
S ~
6
B
0
0
E
~
0
~
0
E
~
,
A
U
I
T
A
E
P
0
S
M
6
0
L 0 N G
~ ~ W 0
R
K I N G 6 0
N 6 S E N T
E N C E 6 77
Line no.
411
F16
0
1
2
3
F17
4
5
6
7
10
11
F18
12
13
14
15
16
17
20
21
22
23
24
25
26
IA
40
66
50
25
40
50
01
50
01
46
40
34
30
47
30
30
0
0
0
01
0
FI
FIl
51510
73016
51466
FI5
51013
51310
66305
65734
22777
FI13
50265
26660
25514
53673
22010
0
0
0
01777
0
3
14724
57347
52277
5
05027
16530
02630
72551
77777
14
15454
16573
60165
05026
10177
0
0
0
77777
0
0
0
0
0
0
FI27
0
CA
T 0 0
N Y 6
B 0 L
6
N 0
E
6
F 6
N
T
6
S
E
y
L
I N
E C
M B
E Q
E
}
77
N
S
N C
D
E
E
M B 0
77 77 77 77
.
.
M A
y M
S
0
6
C 0
T 6
R
S
R
0
u
L
E
6
S
6
~
6
y
N C
77
1st sym.
6
}
S
6
77 77 77 77
2nd sym.
412
F19
F20
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
IA
I'D
40
45
54
0
01
27
01
25
40
27
34
50
21
66
24
67
01
31
01
01
34
66
50
30
l'D1
30730
27210
0
21016
01246
70245
46302
CA
mIl
34473
51500
66305
01343
01245
54652
65660
01010
34546
01543
51310
65016
30502
51660
26453
1\030
7
17151
17777
0
76530
50124
43424
27777
17
05065
16530
02630
10134
25230
10147
12530
10101
56622
06566
16633
53050
63001
12633
02722
K
R
E
Y
6
, 6
Word
D
W 0
77 77
.
6 U 5 E
6
D 6 A 5 !J. A
6 V A R I A
77 77
B L E
.
D I
I 0
N T
, !J.
T !J.
A R
U 5
!J. !J.
F I
!J. !J.
!J. 0
I S
T E
N 0
E C
413
M
N
E
I
A
5
T
6
R
R
F
!J.
N
T
K
N
5
5
N C
F !J.
P P
, !J.
!J. B
!J. !J.
5 T
E S
!J. T
5 E
C E
6 C
E D
E
E
!J.
E
I
E
M
E
!J.
.
T
H
N
!J.
H
.
(af)
o
I
2
3
4
5
6
7
IA
MJ
OT
MJ
10000
OT7
TP
MJ
TP
MJ
o
o
CA
o
o
Set TN for Five or Seven Uniservos
30000
OT4
Exit
Entry. Jwmp to OT4 if MJl is set~
Puts zero into TN when MJl is not set.
TN
OT
OT6
Puts 0 3 0 into TN when MJl is set.
TN
o
OT
o
3
o
o
OTlO
IA
TN
o
0
CA
TNI
0
(ag) Set up Translation Output Tape
o
I
2
IA
UB
MJ
TP
o
30000
TN
A
AT
UB17
WT13
10024
UB5
3
RP
1
5
6
7
TP
1m,
TP
RP
10
TP
UBI5
U8l6
10142
UB14
WT13
GT2
TP
II
TP
12
13
14
15
16
17
RJ
MJ
74
65
02
71
CA
It
VI.J.L~
o
74747
66543
51676
00103
lT1\l
W11
VN24
VN25
UBII
VN26
GT3
GT
UB
47474
45032
66501
}
~
J
}
}
}
Puts proper parameter into tape-write
routine so that String-Outs will be written
either on tape 3 or tape 6.
Puts 20 lines of zt s into title block
String-Outs goes on beginning of 2nd
blockette of block.
Filling remainder of title block with
lines of Z's.
Writing title block on either tape 3 or
tape 6.
Jump to exi t
S
-
T
0
VN
UB20
414
R
U
I
T
N G
S 6
(ah)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
IA
MJ
TP
ZJ
TP
DV
Write Translation List on Tape (also region SS)
WT
0
UZ2
WT
VN
WT14
WT7
30000
A
WT3
A
Q
LA
Q
Q
AT
RJ
MJ
71
WT13
GT2
0
00103
WT6
WT15
25
GT3
GT
WT
VN
0
0
0
0
170
1
CA
WT16
ZJ
RS
}
}
Has error routine been referenced?
No. of lines to A
No. of blocks to Q
Is remainder zero?
If so, reduce no. of blocks by one.
No. of blocks to rt. position in A
Adding in standard parameter with one block
and using generalized tape handler.
Exit
Standard parameter for use in gen. tape
handler.
No. of lines to a block.
415
(ai)
o
1
2
3
IA
MJ
TP
TP
TJ
4
TP
5
6
Put Referenced Sentence Number in List IZ
IX
o
A
30000
IX46
11
IX40
IX46
20454
IZ
IX47
A
IXll
A
7
RP
EJ
RA
10
MJ
o
IX7
IX
IX36
IX
11
Ttl
11
.lA.lJ
12
13
14
15
16
17
20
21
TP
RP
EJ
IX46
30000
IZ
A
TV
11
11
RA
TJ
TP
IX40
IX34
UP2
UZ
IX36
IX15
IX
IX26
IX37
IX25
UP3
UP
UZI
IX47
23
24
M.l
o
25
26
RA
TP
IX26
IX46
IX33
30000
TV
IX26
IX31
IX35
IX31
IX36
30000
IX
IZ
5
27
30
31
32
33
34
35
36
37
40
41
42
43
44
45
46
47
RA
TP
MJ
o
o
o
o
o
o
o
o
IX41
o
2
2
54
50
34
72
04
20455
30313
26302
50306
26303
10037
455
05430
70146
50130
02701
77777
CA
00000
IX50
o
}
Is 11 S 00 20454 00454?
Is line no. in ref. list?
Counting excess line no. referrals.
Setting up repeHt for
ing to length of IZ.
}
}
~earch
of IZ accord-
Is line no. in ref. list?
No. of lines n in IZ to v of IX26
Adding 0 2 2 to 11.
Is 11 S 0 20454 454?
Error Print-out: Referenced lines
exceed 150.
Referral to string-out error routine
Putting 1 into excess line-referral counter
TX
o
o
o
o
}
..... , , . , f"\
RJ
RJ
TP
22
Line no. to storage.
IZ+n~vofNl
}
Line no. goes to next location at end of
IZ 1 i st
Subsequent address of IZ list is
cleared.
1
o
o
REF ERE
N C E D 6 L
I
N E
S
6
E
X C E E D 6
150111111
416
(aj)
a
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
MJ
RJ
MJ
a
a
TP
TP
TP
TP
TP
LQ
QT
RS
o
a
a
a
a
MP
RS51
RS51
RS51
RS52
RS54
RS4
RS46
RS41
RS20
RS50
RS22
RS42
RS26
RS42
RS43
RS43
RS44
RS45
RS45
TV
A
LQ
RS43
RS42
RS43
RS3
RS3
RS46
RS42
RS
SJ
ST
SJ
TP
ZJ
RA
LQ
RA
IJ
RS
RS
33
LQ
34
35
36
37
40
41
42
SP
SA
QA
IJ
MJ
43
44
45
46
47
50
51
52
53
54
o
o
o
o
a
o
o
o
a
o
Excess-Three Decimal to Octal
RS5
a
30000
a
o
RS3
RS42
RS43
RS44
RS45
6
RS41
RS47
RS16
A
RS20
A
RS2
RS53
6
RS41
RS12
RS42
RS54
RS31
o
RS53
a
a
o
o
o
o
o
o
o
o
o
a
o
o
o
CA
RS55
}
}
}
}
6
2
1
RS3
RS33
RS2
o
}
Below-O end-of-digits check
Above-9 end-of-digits check
Count-of-digits zero check
Count of digits
Accumulation of decimal digits in one line
Computing and performing initial shift on
line of decimal digits.
Computing index of octal conversion
Decimal-to-octal conversion
Jump to exi t
Storage for single decimal digits
Ist-Counter for digits; 2d-Index for octal
conversion
Line of decimal digits is accumulated here.
Set at start to index 5
Set at start to 6
Mask
Subtrahend to convert from excess three
10
10
Zero constant
Index constant
a
o
o
a
77
3
12
a
5
1
6
Entrance
Alarm exit
Exi t
Out put
Input
Clearing output
Clearing digit counter
Clearing decimal number accumulator
Setting index 5
Setting 6 in working storage
Masking out each character and converting
from excess 3.
}
Constants
417
(ak)
T/\
.I.n,
o
GG6
o
o
o
10
TP
TP
TP
CF2
CF3
CF6
11
RP
10006
TP
CC
CCI
CC2
GG13
CC3
GG15
GG33
6
CC12
CFl
GG24
2
3
4
5
6
7
12
13
14
15
16
MJ
RJ
MJ
26
TP
27
ZJ
CF13
GG165
GG164
GG4
CF
CC12
GG21
CC3
CC4
GG66
CF16
GG30
CC3
GG32
30
31
32
33
34
35
36
37
RS
A
SJ
GG32
CC3
CC12
GG33
CC
CCl
40
41
42
43
44
45
46
W
17
20
21
22
23
24
25
Assembly
of digits
after
decima 1
point
GG
o
o
o
o
o
o
1
Assembly
of digits
before
decimal
point
Excess-Three Decimal to Floating Point
47
50
51
52
53
54
1U
TV
LQ
QT
RS
SJ
TP
AT
ZJ
EJ
ZJ
RA
TP
RA
IJ
IJ
MJ
TP
MJ
TP
o
QT
RS
SJ
RS
SJ
RA
TP
a
o
GG166
CF2
o
GG15
o
CF
CC12
GG21
A
GG52
CC4
GG33
a
Entrance
Alarm exit not used
Exit
Floating point output
o
30000
o
o
o
}
}
Input in excess-three decimal
Set indexes
Set divisor at 128
r
}
t162 }
~35
CF6
GG21
CF3
CC13
CF3
GG15
GG40
GG64
GG15
CC
GG15
GG44
}
}
.0<"\'"
t..
V
n
1
<"\
r> .0
co
t-'.LOV"''''
n
+'
V..L
",n ... V ; n rr
"V.L'\'..L"~
+ n ...
rr a
co
<"\
"'l-V.LO~vl
CC3-CCll
Put GG4 in u part of GG15
Put CC13 in v part of GG33
Mask out character and put in CC12
}
GG56
GG26
1
V..L"'U.L
Subtract 3
Below zero end-of-digits check
Test for zero number of significant
digits
Test for decimal point
Test for zero
Zero in CC3 counter causes zero in CC12
to be bypassed as a non-significant zero
in count.
Test for above-9 end-of-digits
character
Count of digits before decimal point
Storage of digits in consecutive addresses
Modify previous v to next address
6-character index jump
2-line index jump
Jump to conversion at end of input
assembly
Set u of GGl5 to GG5 for second input line
Restore 6-character index to 5
Jump to assembly of second input line
o
CC12
CF1
GG50
CF6
GG21
CF3
GG54
a
418
55
56
57
60
61
62
63
64
65
66
Conversion 67
70
of all
digits
71
to an octal 72
number con- 73
tained in
74
CC7 and
75
CC10.
76
77
00
01
102
103
104
105
Computation of
"powerof-10"
divisor
RA
IJ
IJ
MJ
ZJ
EJ
GG33
CC
CCI
0
GG166
CF2
0
CC3
CC4
CF3
CC7
A
CCIO
CC13
0
10000
CC12
CC1
GG72
CC11
GG167
CC4
GGI04
CF7
CF3
GG43
GG61
GG64
GG15
CC
GG43
A
A
CCII
CF6
CCI
CF6
A
CC12
CCIO
A
CC7
CF4
GG67
GG72
A
GG132
GG113
ST
CF3
CCII
IJ
CCII
0
CF6
A
0
CFll
GGIIO
GGl14
CC2
CC2
GGI06
CC2
TO
TP
MJ
TP
AT
ST
MP
TP
MP
AT
LT
LT
TP
AT
RA
IJ
TO
TP
MJ
MP
TP
MJ
TP
}
}
Computing index CCII for octal
conversion
Restoring CC13 to u part of GG72
Test for zero digits after decimal
point
Test for 11 digits after decimal
point
Set index for computation of powerof-lO divisor
101t~
CC2.
10" alone would overflow AR
Computation of dividend shift
needed to get 10 significant figures in quotient.
8
114
115
116
117
120
121
122
123
124
125
126
127
130
131
132
133
134
135
TP
ST
MP
CF6
CC3
CC
A
CC7
CC5
CC10
CC2
CC4
CF7
SP
SA
SF
CC26
CC26
0
CC7
CCIO
A
A
CC
CFl
CC5
44
GG122
0
CC26
A
GG127
GG130
105
A
GG134
44
0
CCI
AT
CFIO
CC
TP
SP
TV
SA
DV
TP
EJ
MJ
LA
TP
MJ
0
419
Octal number
~
A with proper shift.
Division by power of 10
If CC4 = 11, additional shift to
give effect of dividing by 8. See
113 above.
Final converted-to-octal
number~A
Scaling for number size and to put
it in fixed position
Rounding off
RS
RA
CC
GG140
CC
CF3
0
CC
CF12
CC
CC
CC6
CC3
CC3
CCI
A
CCI
CF14
CF14
CC4
GG3
161
162
163
164
165
166
167
MJ
TP
MJ
0
0
0
0
CA
0
CF13
0
0
GG4
GG5
CC13
GG170
IA
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
0
0
0
0
0
0
0
0
0
13
00
0
0
11
0
CA
CF
0
0
0
0
1
0
136
137
140
141
142
143
144
145
146
147
150
151
152
153
154
155
156
157
160
TP
QJ
W
TP
MJ
LQ
TP
QT
TP
TP
RA
RS
SA
TP
TP
EJ
TJ
0
0
0
51035
07777
0
0
0
0
CF17
If round-off caused a carry-over
from first significant digit 1
~ CC6 and shifting is altered.
Q
GG143
33
CC6
GG144
34
Q
CC
GG3
CC3
CF5
CC5
33
CC4
A
GG162
GG160
CF15
CC4
GG2
GG3
GG2
CC13
0
0
0
77
3
5
1
0
243
12
13
200
56400
77777
0
45
0
17
420
Assembly and insertion of mantissa
into output line.
~CC6) + 243 - (CC5) + K] shifted
to position of characteristic and
put into CC4
}
If k = 458, both characteristic
and mantissa = O.
If 458> k, 1108 is subtracted
from CC4
Final assembly of non-zero floating point number.
Jump to exit.
Clearing output line to zero
Exit
Sequential Uses of Working Storage CC
Index 5 for 6 characters in a line of input.
Varying multiplier to determine size of fractional part in quotient.
{ Temporary storage for first parts of result.
o
Index 1 for 2 1 ines of input.
1 Storage for 10·A .
L
{ k of scale factor.
2
Varying product and final divisor.
3{ Number of digits before decimal point.
Used to accumulate characteristic.
4{ Number of digits after decimal point.
Used to accumulate characteristic.
5 Shift to give fractional part in quotient.
6 Used to denote carry-over in round off.
7 AL in octal conversion.
10 AR in octal conversion.
ll{ Varying index for conversion to binary.
Varying index for multiplication in computing divisor.
12-25
For accumulation of first 11 decimal numbers after subtracting 3.
26{ Used for 12th decimal number.
Used for quotient after division.
421
(al)
o
1
2
3
IA
MJ
TP
GW
0
A
TP
10
TJ
4
TP
5
6
7
RP
RA
FX
FXl2
21000
CL
FXl3
10
11
12
13
TP
5P
FX3
FX3
14
5A
MJ
CA
15
EJ
MJ
o
SN
Q
FXII
1
IA
TP
TU
o
o
4
5
5N
Q
5A
10
MJ
o
7
TV
10
11
12
13
RA
10
10
FX
Z527
UP2
14
22
23
24
25
26
27
o
TP
UZ
FX2
MJ
o
RA
TP
5P
AT
QT
Z520
FX12
10
FX4
FX5
LQ
MJ
o
o
o
o
}
Test if constant is in list that is
already 1000 in length.
Count of number of referrals of constants not in list after alarm.
Giving the maximum call word 67777 to
all of these referral constants.
r.
L- J, -
o
,
\n -
"
_,
a
,
r)J~\Afi)u
[- j, (r - n)]
+
[j, nJ
= r-+(Aa)u
ZS22
ZS4
30000
CL
15
16
17
20
21
~7
1
r
J
GW
17
A
ZS2
EJ
TP
A
GW7
GW13
FX2
}
Exi t
Entry. To store constant temporarily
Tesi if number of consianis ~ 1000.
ZS
RP
RJ
RJ
~
FX12
10
2
TJ
30000
FX12
GWl6
3
6
Assign Constant Call Word
Q
FX6
CA
Z530
IA
00
FX
21001
ZS7
}
[- j, - (n - r~ ~(Aa)u
17
r- j.
o
Z522
Z520
FXl
Z517
UP3
UP
UZI
FX13
GWIO
Z526
30000
17
Q
Q
25
GW
CL
3
01001
Constant ~A
Sets up u of Repeat by constant list
count in 10.
Test if constant is in list CL.
}
(r - n)]
+ [j. n]
=r
~ (~ ) u
n ~(ZS20)v
Counter 10 increased by 1.
Is ca 11 word Ii st of constants ~ looO?
Alarm print-out -- too many constants
References error routine.
Starts excess count of referrals in FX13.
(n + cl) ~ (ZS26)v
Constant added to next position in list
n~(~)
(r + 6677¥) ~ q\l
Irrelevant materIal in q masked out.
Call word formed in Au
Call word formed in Qv
Parameter for error print-out:
constants
too many
Threshold constant for check on size of
CL.
422
1
0
2
3
0
0
o
o
67777
4
0
66777
o
5
6
0
66
50
65
77777
51510
73012
66245
21000
o
7
10
11
1
0
0
12
13
o
o
0
CA
(am)
1
1
14724
65150
06665
o
o
o
FX14
Close VARY File Item and Variable List File Item
IA
VE
o
MJ
0
1
SP
VII
o
2
EJ
VI2
VE6
3
TU
VI
4
5
6
SP
TJ
RJ
MJ
30000
WL1
RA
7
10
11
TP
12
13
14
15
16
TV
SP
17
o
Maximum call word. Given to all new
constants exceeding 1000.
Base number from which call words are
determined by adding to position in list
CL.
Mask
TOO lJ. M A
N Y lJ. CON
S TAN T S
TP
TU
TU
RA
MJ
CA
IA
0
VI2
VI2
VI3
WL3
A
VI3
30000
0
30000
~E4
VG6
}
Are there any unclosed items in the Vary
File?
1
Yes. Is the current sentence number >
the sentence number in the last unclosed
item of the Vary File?
No, so reference Routine A and then exit.
RAl
VE
(y)~
VI
VII
(y)~
a
f3
Insert call word of current sentence into u-portion of word at address given by
(temp 1)
Close Vary File item by inserting JUMP
flag (bit 35) in word at address given
by (temp 1)
VE14 }
17
30000
VE16 }
VH3
VE6
VE20
VG
TV
VG21
1
TV
2
SP
VI3
30000
3
4
TU
TU
5
6
7
10
11
12
13
RA
VI3
30000
SP
VI
A
AT
VH
TU
A
SP
LT
RS
30000
VG2
VG3 }
17
30000
VG5
VH4
VI3
oGIl
6
6
VI4
VL
VH2
}
I
Insert call word given by (a) + 1 (v
portion) into u-portion of word at addr.
given by (temp 1)
Close Vary File item by inserting RESUME
flag (bits 35,34) into word given by
(temp 1)
Record address ( a) + 1 into temp 1.
Set index to no. of WITH words.
Close last file of variables
423
CD
@
14
15
16
17
20
21
22
23
24
25
26
IJ
SA
VI4
VI
VII
VH
TO
A
TP
30000
VG15
VI
30000
WLl
0
VG27
RS
TJ
QJ
TU
SP
TJ
MJ
CA
VG13
VHl
VEIO
0
VG21
Q
VG23
VG24
0
VG
VE12
Decrease ( a ) by two
(f3) > ( a )?
1
\.
f
Is word at address given by ( a ) + 1
flagged?
Is the current sentence number>
the sentence number at address given
by (a) ?
No.
424
Glos e VARY F i 1e Item and Variable List File Item (cont.)
0
1
2
3
4
0
1
2
3
4
IA
VH
0
0
0
40
60
1
2
3
0
0
CA
VH5
IA
VI
VFl
VFl
VFl
VFl
VFl
VFl
f3
0
0
0
0
Temp 1
Index
0
0
0
0
0
GA
1
2
3
0
0
JUMP flag
RESUME flag
a
Y
VI5
425
(an)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
<")1:
;:;.u
27
30
31
32
33
34
35
36
37
40
41
42
43
44
45
46
47
50
51
52
53
54
55
IA
5
0
45
43
45
47
47
46
46
46
47
46
43
5
41
4
7
44
44
44
3
2
,
~
2
2
2
1
0
1
6
6
41
7
6
45
4
3
3
1
0
0
0
1
3
1
6
Flex Codes for Print Text
FC
60000
40000
60000
70000
20000
40000
0
40000
20000
60000
20000
0
30000
40000
30112
60000
0
60000
20000
60000
0
30000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
XS3
00 = Superscript minus
01 = Space
02 = minus
03 = 0
04 = 1
05 = 2
06 = 3
07 = 4
10 = 5
11 = 6
12 = 7
13 :z 8
14 = 9
15 = Superscript /
16 = Gtr >
17 = open parenthesis (
20 = Superscript 3
21 = Comma .
22 = Period .
23 = Semicolon
24 = A
25 = B
LfVV\f\
f\
I)t.
uvvvv
20000
0
60000
30000
50000
40000
20000
0
12412
40000
40000
0
20000
20000
60000
10000
70000
60000
30000
50000
50000
20000
60000
v
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
.wV
-
r
v
27 = D
30 = E
31 = F
32 = G
33 = H
34 = I
35 = Superscript 5
36 = Superscript 8
37 = 1 sr <
40 = Superscript 2
41 = Superscript 4
42 =absolute value I
43 =closed parenthesis
44 = J
45 = K
46 = L
47 = M
50 = N
51 = 0
52 = P
53 = Q
54 = R
55 = Superscript 6
426
)
56
57
60
61
62
63
64
65
66
67
70
71
72
73
74
75
76
77
42
3
3
5
4
45
5
2
0
3
1
3
2
2
2
7
44
7
CA
76154
30000
70000
20000
40000
40000
40000
40000
10000
40000
70000
10000
70000
50000
10000
20000
40000
70000
FCI00
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
57
60
61
62
63
64
65
66
67
70
71
72
73
74
75
76
77
427
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
*
Superscript 9
Superscript 0
Superscript I
Superscript
+
/
S
T
U
V
W
X
y
Z
Superscript 7
=
ignore
(ao) Line Number Processor
o
1
2
3
4
5
6
7
10
11
IA
MJ
MJ
MJ
00
LN
o
a
a
LN5
Case -T
LN4
LN7
30000
30000
30000
PAl
DRO
PAl
DR
LN3
Case II entry
Exit
Output
Input
Set alarm switch to Case I
Process line number
Set alarm switch to Case II
Process line number
Enter here after alarm print and put
MJ
CA
a
LN2
Exi t
IA
DR
RC6
MR27
DR15
MR12
MR43
LN3
WS3
WS
MR3
MR4
MR5
MR7
MR16
MR
30000
Preset .ll!:!." one shot swi tch
Preset .!:!'fj" one shot swi tch in driver
Preset 3-point distributor
Preset 2-point distributor
Prestore output word.
Prestore master counter
Set up line number in temporary
Set Exit 1 to master counter
Set Exit 2 to period routine
Set Exit 3 to integral part = 0
Set Exit 4 to integral part ~ 0
Set ADDiNO ADD switch to NO ADD
Master counter
One shot switch to add ".!:!.!:!."
Determine if input line number has at
least one nonzero digit; if not
00
TV
MJ
TV
MJ
TP
30000
30000
RC14
a
RC15
a
innllt
-"l'~-
12
SETUP
AND
DRIVER
o
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
TV
TV
RJ
RJ
TP
TP
TP
TV
TV
TV
TV
TV
IJ
RJ
TP
EJ
EJ
MJ
CA
IA
CODE PICK
UP AND
SORT
INTEGRAL
PART
a
1
2
3
4
5
6
7
10
11
12
13
LQ
QT
RP
EJ
EJ
EJ
RP
EJ
TV
TV
RJ
RJ
an+
... "
v,u '-'.l..J
lin;:•• ,
~-
nlJmhl=>-r
...
••
~
~~~
in
- ..
olltnllt
~~-l'~-
linl=>
..
~-
~.
LN13
DR
MR12
MR43
UC23
UC4
LN4
RCIO
RC13
RC12
RCII
RCI
WS3
DR 15
LN3
UC23
UC24
0
II
II
A
PA30 }
PA30
LN2
ALARM 4
Input line number O.K., exit.
0022
MR
WS
UC20
20004
UC14
UC13
UCI
20011
UC2
RC
RC2
MR12
MR12
6
A
}
Shift line number 6 and pick up next
character in A
MR4
30000
30000
30000
PAll
30000
MR16
MR3
MR13
Exi tIll, 1..1 (. )
Exit 2
Exit 3 0
Alarm 1: ILLEGAL CHARACTER
Exit 4 1, 2, 3, 4, 5, 6, 7, 8, 9
Set ADD/NO ADD switch to ADD
Set Exit 1 to ".6" routine
MR22
I
428
~
3-Point Distributor
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
PERIOD
36
ROlITINE
37
40
41
42
FRACTIONAL 43
PART
44
ROUTINE
45
46
47
50
51
52
53
54
55
SPACE
ROUTINE
RJ
MJ
MJ
SA
TP
MJ
RJ
MJ
TV
TV
RJ
RJ
MJ
SP
SA
SA
AT
MJ
TV
TV
TV
TV
MR12
0
0
LN3
A
0
MR21
0
RC3
RC3
MR21
MR27
0
LN3
UC13
UC14
UC14
0
RC2
RC5
RC7
RC7
MJ
RJ
RJ
MJ
EJ
LA
TP
QS
TP
TP
MJ
LT
UCl
A
UC21
A
UC
UC20
0
10006
56
57
60
61
62
TP
MJ
0
63
64
65
66
67
70
71
72
73
AT
TP
QS
MJ
TV
TV
EJ
TV
'IV
TV
TV
MJ
CA
0
MR43
MR43
0
UC22
RC4
RC4
UCI
WSI
WS2
WSI
0
RCIO
RC5
RC5
RC5
0
MR74
MR22
MR24
30000
~N3
}
30000
MR16
DR14
MR5 }
MR7
MR16
30000
DR14
o
J
II
III
ADD/NO ADD switch
ADDINO ADD SubrouAdd char. to
tine
Output and
exit
I = II Add digit if it is significant.
Jump to master counters
III Set Exit 3 and 4 to Alarm 2
J
Add digit if it is significant.
One shot switch, set initially to MR31
Jump to master counter
Output~A
Add •
Add II
Add ~ and replace in LN3
Jump to master counter
Set Exi t 1 to ~routine
Set Exit 2 to Alarm 4
Set Exit 3 to fracto part
Set Exit 4 to fracto part
Jump to one-s hot add in ".flfl"
6
6
LN3
DR14
MR3
MR4
MR5
MR7
MR27
MR44
MR46
MR60
MR55
6
I } 2-Point Distributor
II
I Is this digit zero? No,~MR47
Shift to 2nd position
X_"
Mask~ Q
Mask digit into LN3 = Output
Clear TEMP
Set Mask
Jump to master counter
Digit is zero: shift to "----X-" and
store in TEMP
Set Mask
Jump to master counter
II }
Set Ex its 3 , 4 to
Alarm 3
Is this digit zero? Yes,-+master
counter
No: add digit to TEMP
Mask ----. Q
Mask digit or digits into Output
Jump to master counter
Set Exit 1 to master counter
Set Exit 2 to Alarm 4
Set Exit 3 to alarm 4
Set Exit 4 to Alarm 4
Jump to master counter
ff _ _ _ _
Q
LN3
WSI
WS2
DR14
WSI
WS2
0014
MR5
MR7
DR14
WSI
Q
LN3
DR14
MR3
MR4
MR5
MR7
0014
429
2
IA
0
0
0
RC
0
0
0
3
0
0
4
0
6
7
10
11
12
13
14
0
0
0
0
0
0
0
0
0
15
0
0
CA
RC16
0
1
2
3
4
5
6
7
10
IA
0
0
0
0
0
0
0
0
0
UC
0
0
0
0
0
0
0
ii
0
0
13
12
13
14
15
16
17
20
21
22
0
0
0
0
14
22
1
77
17
43
77
7700
7777
0
1
5
EXCESSTHREE
CODES
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Sets ADD/NO ADD switch to ADD
Sets ADD/NO ADD switch to NO ADD
Sets Exit 1 to ~ routine
MR17
MR21
MR67
Al::lrm 2 pnt.rv
PA16
PA23
PA30
MR31
MR43
DR14
MRIO
MRl1
MR36
PA3
PA5
Alarm 3 entry
Alarm 4 entry
Sets add ".~~ " one-shot switch
Fractional part routine entry
Sets Exit 1 to master counter
Integral part entry f 0
Integral part entry = 0
Period routine entry
Case I alarm switch
Case II ~~arm switch
0
3
4
5
6
7
10
11
12
0
1
2
3
4
5
6
7
- - -
-
-
---
8
9
~
f-
(
)
}
Masks
430
-
- -- - -
eI
23
24
1
1
CA
IA
1010
1012
UC25
10100
20101
1
0
0
WS
30000
30000
30000
30000
2
0
30000
30000
3
0
CA
30000
WS4
30000
o
IA
RJ
PA
UZO
1
MJ
2
3
MJ
RJ
MJ
TP
TP
RJ
MJ
RJ
TP
TP
RJ
MJ
RJ
TP
TP
RJ
MJ
RJ
TP
o
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
TP
RJ
MJ
RJ
TP
TP
RJ
MJ
CA
UZI
o
o
o
WA
WA2
PA2
CD3
o
LN4
CD
UP2
o
PA2
LN4
CD5
UP2
o
PA2
LN4
CD17
UP2
o
:3 }
PA2
PA
CD15 }
UP3
UP
LNll
PA
CD27 }
UP3
UP
o
LNII
PA2
PA
CD42 }
LN4
CD31
UP2
o
PA2
LN4
CD
UP~
o
UP3
UP
"TEMP" to take apart input line number
Temporary to store fractional part of
digits
Holds mask for inserting fractional part
of digits
Master counter (set to 6)
Reference error routine
Switch to case I or case II
Sub sub-routine exit
Print error heading case I
Exit to print alarm comment
Fill input Line Number in heading case II
Print heading with
Uniprint
Exit to print alarm comment
Print (alarm 1 entrs)
Alarm comment 1
Print (alarm 2 entry)
Alarm comment 2
Print (alarm 3 entry)
Alarm comment 3
LNII
PA
CD54 }
UP
UP
Print (alarm 4 entry)
Alarm comment 4
I.N11
PA35"
431
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
35
36
37
40
41
42
43
44
45
46
47
50
00
65
26
01
01
40
34
46
24
34
66
50
01
01
43
40
30
34
24
34
01
50
47
01
43
40
30
31
51
34
34
66
50
01
01
43
40
34
46
30
50
CD
CD1
30506
30010
01010
01017
CD6
46463
01263
26663
50016
30502
67472
77777
01010
77777
CD20
72665
50663
46012
66650
65305
26300
25305
01010
77777
CD32
72665
54242
50244
32346
50016
30502
67472
77777
01010
77777
CD45
46463
01653
50263
01653
4
Parameter
63050
17777
10101
77777
11
03224
32454
05401
53050
63001
53054
77717
10101
77777
11
42401
03254
73432
13450
06630
15067
40117
10101
77777
12
42401
66634
60127
66501
53050
63001
53054
77717
10101
77777
11
03224
05367
00134
05066
S E
N T
C E 11
~
~
~
~
~
~
~
~
Parameter
I L L E
L !J. c H
A C T E
I N ~ S
T E N C
N U M B
E
N }
Heading
/).
~
Input Line Number
G A
A
Comment 1
R
R /).
E N
E ~
E R
~
(
/). 11
/).
/).
/).
11
Input Line Numoor
)
Parameter
X T R A 11
N T E G R
L /). D I G
T S ~ I N
S E N T E
C E ~ N U
M B E R ~ (
E
Comrnen t 2
I
A
I
11
N
/).
)
/).
/).
/).
/).
~
Input Line Number
Parameter
E
F
X T R A ~
R A C T I
0 N A
I G I
I N l:l
T E N
N U M
L
D
S /).
s E N
C E 11
B E R
T
~
l:l 11
/).
Conunent 3
(
~
11 l:l IJ,.
Input Line Number
)
Parameter
L L E
L l:l s E
E N C E
N l:l s E
1
432
G A
Q U
l:l I
N T
Comment 4
51
52
53
54
55
30
67
17
01
43
CA
50263
47253
77777
01010
77777
CD56
00150
05401
77777
10101
77777
E
N C E
/1
U
M B
R
N
/1
/1 /1 /1 /1
/1
E
(
/1
)
433
Input Line Number
b.
Translators
The two dimension translators are placed first in the group that
follows.
All other translators have been inserted in the order in which
they are stored on the drum.
See the regional assignments of translators
in the preceding subdivision for this order.
434
Dimension String-Out.
Dimension
String-o~No.
1
No. 1
is entered when Dimension Statement occurs as the
1st Sentence of a program. The routine uses the information in the dimension
statement to assign a drum address and call word for each variable, and to
build a file for each variable. Each file is added to the Dimension List.
When End of Sentence is encountered the routine exists to Dimension String-out
No.2.
Successive operands in a sentence are obtained by referencing the Get
Next Symbol routine. Variable name is picked up, assigned the current drum
address, and given a call word of 77 ___ type. Subsaipts are picked up and
used to form modulus and multipliers for the variable.
When closing paren-
thesis is picked up, the file is sent to the Dimension List.
Drum address
for the next variable is formed by adding modulus to old drum address and
next call word is set up for assignment to next variable.
Error Print-outs: This routine references Error Routine (WA) for print-out of
sentence number and sentence type, before all error print-outs. Several types
of errors are detected:
If more than four subscripts are given for a variable, the routine
prints: TOO MANY SUBSCRIPTS FOR VARIABLE t
If a new variable name is picked up before closing parenthesis for
preceding variable is found, routine prints:
IS INCOMPLETE
INFORMATION FOR VARIABLE
t
If more than 512 variables appear in a sentence, the routine prints:
TOO MANY VARIABLES
If available drum storage is exceeded, the routine prints:
VARIABLES
REQUIRE TOO MUCH STORAGE
If a fixed-point variable name is given in a sentence, the routine
prints:
ILLEGAL SYMBOL
If an opening parenthesis or comma between subscripts is missing, the
routine prints:
ILLEGAL SYMBOL SEQUENCE FOR VARIABLE '
If a modulus for a variable is less than 2, the routine prints:
DIMENSION OF VARIABLE t _ _ _ _ _ t IS LESS THAN 2.
435
When an error is found for a variable, the symbols following the variable
are ignored until a new variable name is found.
A file containing only
the variable name, drum address and call word is added to the Dimension List.
436
Dimension String-Out No. 1 Flow Charts - Page 1 of 6
Start
...
Clear TF thru
r----
Set initial
drum address
Set exits A to Al
Set exi ts
~
TF6
2
~
<;
D)
and E to CfY;
B to Bl
Test: Is 1st char.
a letter?
Set initial
call word
~
clear counters
&3
1) 2)
~
Set exit G
to G
Test:
Yes
Exit I
_ _ -AI
No
Exi t A ......
. . . . . -A
Test: Is 1st char.
a decimal point or
digit?
Is
?
symbol
Yes
No
..---~
Exit
G
Exit I
2
is
a t or ; ?
Test: Is
a )
Yes
'B2
Set u & v of
TF to 3
Exit
C
< ....-
....-Dl
"D
Yes Exit
E
2
~
Dimension String-Out No. 1 Flow Charts - Page 2 of 6
Put variable
symbol into file
(TF2)
01L._s_e_:_o_~........::=-·t_G_.....JH Set
::it
A
Set Exit C
to C2
Print:
Bl
Set Exits D and
--:.
to Dl and El
EJ-0
INFORMATION
FOR V~~IABLE • • •
IS INCOMPLETE
Insert name of
variable
and E to 12
exit B to
to
Insert name of
variable (TF2)
Set Exi ts B, C. D,
Hset
Set Exit G to
G2
Test:
~
Pr int : ILLEGAL
SYMBOL SEQUENCE
FOR VARIABLE •••
1
Set Exit A
to Al
~~
~
1st subscript
Distributor 2nd
"
~tl}\
®'-J
11
r----.--~~
Add 1 to
subscript cntr
for
3rd"
~
subscripts
~_______~4_t_h______"_____~
Dimension String-Out
Shift subscript
left 17 places
in A
Store subscript in
temp + 1 and in
No. 1 Flow Charts - Page 3 of 6
Store A in temp.
Increment u & v
Set Exit B to Bl
of TF by 1
and in TF4u
Set exits D and
E to O2 and E2
(Temp) (Temp + 1)
to A
TF5 v
to temp and to TF4u
(Sub scr i pt) (Temp + 1)
to temp + 1 and to
TF5 v
Store subscript in
(Subscript) (Temp +
(Subscript) (Temp)
TF6 v
Insert name of
variable into
print
to TF5 v
1)
Shift subscript left
and in TFSv
17 places in A
(Subscript) (Temp + 2)
to TF5 u
Print: Too many
subscripts for
var iable ...
Store A in temp + 2
(Subscript) (Temp)
to A
Set Exits B,
Set A to
C, D, & E to 12
Al
Dimension String-Out No. 1 Flow Charts - Page 4 of 6
H
<9-1L.._s_e_:O_E_~_i_t_B_ _ _ ~: ~:i ~
t C
Set Exit E
is modulus
~ 2?
Put name of variable into print
Set Exit B
to B2
to E3
Set Exits A &
o
to Al & 0 1
Print: DIMENSION
OF VARIABLE IS
LESS THAN 2
Set Exits 0 and
E to 0 1 and El
Set Exits A, E,
and G to Al,El'Gl
Check: has variable been inserted
into TF2?
Yes
Insert name of
variable into
print
Print: ILLEGAL
SYMBOL SEQUENCE
FOR VAR IABLE ...
SetEx~
to G2~ '--./
Dimension
Set no. of words in
Dim. Li st into loc.
6
Print:
String~ut
~--~
No. 1 Flow Charts - Page 5 of 6
Exit
to CR - Dimension No. 2 Stringout.
ILLEGAL
SYMBOL SEQUENCE
Print:
SYMBOL
Insert illegal
symbol into print
w::...
w::...
~
~
Jump
Illegal
---
Test: has variable been inserted
into TF2?
~
Clear TF4
Set u & v of TF3
to 3
Test: Is no. of
call words < 512?
Yes
Clear
temp.
Add I to no.
of call words
assigned
Add (TF) to no.
of words in Dim.
List
Put no. of subscripts into TF4v
Dimension String-Out
Add temp. to TF1
to form next drum
addr.
Set
u
& u of
TF to 3
No~
1 Flow Charts - Page 6 of 6
Set sub sc,r i pt
distributor
for subscript 1
Is more
space available
in drum?
Clear TF2 and
TF4-6
Print: VARIABLES REQUIRE TOO MUCH STORAGE
Print: TOO MANY
VARIABLES
Clear subscript counter
Set next ; } ® 1 1
19
word into TF3
V
. ___
c_1e_a_r_l -I§'
_ temp. ~
Dimension String-Out No. 1
RE
RE
RE
RE
RE
RE
RE
RE
OY4400
OT4424
OU4502
OV4564
OW4622
OX4643
OZ4707
CR5075
String-Out Subroutine Regions Are Needed to Assemble This Tape
IA
RP
TP
TP
TP
RP
TP
TP
RJ
RJ
RJ
RJ
MJ
TV
TV
TV
MJ
OV
10007
OZ
OZl
DZ2
10003
DZ
DZ22
OX
OX16
OV17
OY2
0
OW16
OW16
OW16
0
OV2
TF
TFI
TF3
DV6
DZ111
TF
OX
DX16
DV14
OY2
OW
OW7
OWIO
OW15
30000
20
21
22
23
24
25
26
27
RJ
RJ
TV
TV
RJ
RJ
TV
OW15
OU
OZ24
OZ24
0
OWl5
OX
OZ24
30000
DU
OWIO
OWl5
OW
30000
DX
OWl5
Set exit E to E2
Set exit B to B2
Set exit 0 to Dl
Set exit E to EI
Back to get next symbol
Set exit E to E3
Set exit A to Al
Set exit E to El
30
31
32
33
34
35
RJ
MJ
RJ
RJ
TV
MJ
CA
OY2
0
OW7
OU
OZ24
0
OV36
OY2
OW
30000
OU
OW7
OW
Set G to Gl
Back to get next symbol
Set exit C to C2
Set exit B to B2
Set exi t C to C1
Back to get next symbol
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
El
E3
C2
MJ
}
}
Clear TF-TF6
Set initial drum address
Set initial call word
Clear counters
Set u & V of TF to 3
Set exit A to Al
Set exit B to Bl
Set exits C, 0 & E to Cl , 01, &E l ·
Set exit G to Gl
Back to get next symbol
443
Gl
G2
IA
MJ
MJ
RJ
RJ
TP
ZJ
TP
TP
DY
0
0
DW13
WA
TF2
DY6
A
DZll
CR
DV
30000
WAI
A
DY13
DZ60
UP3
10
11
12
13
14
15
16
17
RJ
RJ
MJ
TP
RJ
RJ
SP
UP2
DT55
0
DZ12
UP2
0
DW13
DZl12
UP
IJf51
DY17
UP3
UP
DY17
30000
17
20
21
22
23
SA
TU
TV
MJ
CA
Ull17
A
DZl13
0
DY24
0
6
6
DY
2
3
4
5
6
7
IA
TP
TJ
RJ
TP
RJ
MJ
RA
RA
DT
DZl13
DZ20
WA
DZ14
UP2
0
DZl13
DZl12
A
DT6
WA 1
UP3
UP
Uf25
DZ21
TF
10
11
12
13
14
15
16
17
TV
RJ
RA
TJ
MJ
RJ
RA
TP
20
TP
RP
TP
TP
TP
MJ
RJ
0
1
2
3
4
5
6
7
0
1
21
22
23
24
25
26
MJ
02111
TF4
'lE
'lEI
TFI
DZ26
0
DU7
TF3
DZ22
DZl14
DT15
DT45
DU7
DZ21
TF
DZ
10003
DZ
)
DZ
TF2
DT23
TF4
IYllll
IYl
IYll14
0
30000
30000
[)wl0
}
1
J
Exit to Dim. String-out No. 2
Jump to start
Set exit G to Gl
Print Error heading
Test: Has variable name been inserted into
TF2?
If so, insert name of variable into pr into
Print:
ILLEGAL SYMBOL SEQUENCE FOR VARIABLE
Send incomplete file to Combination List
Jump to G
2
Print: ILLEGAL SYMBOL SEQUENCE
Jump to G 2
Set exi t G to G
2
)
Set location 6 No. of words in Dim. List to u
No. of call words to v
Jump to exit
}
.I
}
Test: Have less than 512 call words been
assigned?
If not, print error heading
Print: TOO MANY VARIABLES
Jump to subroutine exit.
Send file to combination list
Clear subscript counter
Clear Temp.
Subroutine exit
444
27
TP
DZl14
A
30
31
TJ
RJ
DZ25
DT25
DT37
DT
32
33
34
35
36
37
RJ
RJ
RJ
TV
MJ
TP
DV25
DX
DY16
DX24
0
TF2
DV25
DX
DY16
DWIO
DW
DZ77
If so, send file to Comb. List & set for
next file
Set exit E to E3
Set exit A to Al
Set exit G to G
Set exit D to D12
Back to get next symbol.
Put name of variable into print
40
41
42
43
44
45
46
47
RJ
TP
RJ
RJ
MJ
RJ
TP
RJ
WA
DZ17
UP2
DT55
0
WA
DZ16
UP2
WAl
UP3
UP
DT51
DT32
WAl
UP3
UP
}
Print error heading
Print: DIMENSION OF VARIABLE ' ---, IS
LESS THAN 2
Send incomplete file to Combination List
Back to set new exits
Print error heading
Print: VARIABLES REQUIRE TOO MUCH STORAGE
50
51
52
53
54
55
MJ
TP
TP
TP
RJ
MJ
CA
0
DT15
TF4
TF
DZl14
DT
30000
1
2
3
4
5
6
7
IA
RJ
RJ
TP
RJ
TP
TJ
RA
RJ
DU
DW16
RD
SY2
RS2
DZ27
DZlll
DZlll
DU7
}
Check fixed pt. symbol
Convert XS3 to octal
10
11
12
13
14
15
16
17
RJ
RJ
RJ
MJ
LA
TP
TV
RA
DU7
DU7
DU7
20
21
22
23
RJ
RJ
RJ
MJ
0
B2
8
DZ
OZ22
I1Z
DT25
0
DT56
0
RS3
A
A
TF
DX16
DV20
DT26
0
30000
RD1
RS4
RS
A
DU51
D221
DUIO
DU14
DU24
DU30
DU42
17
DZ114
TF4
DZ23
DX16
DV20
DT26
DW
}
}
}
Test:
Is modulus
~
2?
Test: Is no. of subscripts ~ 3
If so, add 1 to subscript counter
Distributor for subscripts
}
1st subscript to Temp. and to TF4u
Increment TF
}
Set B to B , E to E , D to D2
1
2
445
11
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
60
61
TP
RS3
RS3
DZl14
IJll15 }
TF5
DZl15
DU15
2nd subscript to temp.+ 1 and to TF5v
MP
DZll4
TP
TU
A
RS3
)
IJll14
TF4
T53 1
3rd subscript
TF4u
TV
MP
MJ
o
A
MP
DZl15
TP
A
A
TV
J
TU
A
MP
IJll14
MJ
o
DU15
TP
RJ
TP
RJ
RJ
RJ
RJ
RJ
TF2
WA
RS3
TV
MP
TV
MP
RS3
DZl15
A
A
o
A
IEl16
UP2
Uf55
DW17
DW17
DV17
DX
DV14
DX
DX30
MJ
o
CA
DU62
1
IA
RJ
TP
2
QJ
3
TP
4
QJ
5
TP
6
QJ
DW
SY
SY7
DW3
SYlO
DW14
SYll
DW16
Exit C
7
EJ
III 3
30000
Exit D
10
11
EJ
EJ
EJ
EJ
IJl4
IJl5
IJl6
IJl7
30000
DW15
o
Exit A
Exit
Exit
Exit
Exit
G
I
12
13
14
E
15
B
16
17
MJ
MJ
MJ
RJ
o
o
o
IJ.\116
}
1
Ill36
WAI
UP3
UP
Uf5l
DZ15
1
02115 ~
TF5
17
IJll16
TF5
DU20
TF6
RS3
TF5
RS3
TF5
T53
LA
TP
TU
MJ
(Temp.) (Temp. + 1) ~ A
}
~OOOO
~7
OW15
30000
DX36
30000
30000
30000
3rd subscript x temp.
TF5 v
and to
1 ~ temp.
and to
3rd subscript to temp. + 2u and TF5 u
4th subscriDt to TF~r
(4th subscript) v:~mp." + 1 ~ TF5 v
(4th subscript) temp. + 2 -+ TF5 u
(4th subscript)
temp.~A
Insert name of variable into print
Print error heading
Print: TOO MANY SUBSCRIPTS FOR
VARIABLE
Send incomplete file to Combination List
Set B to 12
Set C, 0, & E to 12
Set exit A to Al
Get next symbol
Test: Is 1st char. a letter?
SYI
gW5
x tpmp~ -+ tpmp~
}
Te s t :
I sIs t char. I, J, K, L, or M?
}
}
Test: Is 1st char. decimal point or
digit?
Test: Is symbol (?
Test: Is symbol )?
Test: Is symbol,?
Test: Is symbol ;?
Test: Is symbol ~.?
Illegal symbol exit
Set exit B to 12
446
Exit 12
Al
A2
B,C,D,E
@
CD
20
MJ
CA
0
DW2l
0
1
2
3
4
5
6
7
IA
RJ
RJ
TP
RJ
RJ
RJ
RJ
RJ
DX
DW4
RH
SY2
DV32
DX16
IN17
DY2
DW4
10
11
12
13
14
15
16
17
RJ
TP
TP
RJ
RJ
MJ
RJ
RJ
WA
TF2
UllO
UP2
20
21
22
23
24
25
26
27
TP
ZJ
TP
TP
RJ
RJ
RJ
RJ
TF2
DX22
A
Ulll
UP2
30
31
32
33
34
35
36
37
RJ
RJ
MJ
TP
RJ
MJ
TP
RJ
DY16
DX
0
Ul12
UP2
0
SY2
DY16
DX
DW
UP3
UP
DX26
WA
WAI
40
41
42
43
TP
RJ
TP
ZJ
CA
Ul13
UP2
TF2
DX22
DX44
UP3
UP
A
DX26
IA
0
0
0
17
43
0
40001
0
77777
77777
0
1
2
3
4
UI'55
0
11\116
WA
UI'55
DW17
DV17
OW
30000
RHI
TF2
DV32
DX16
DV15
DY2
DW
Set exit A to Al
Check variable symbol
Put variable symbol in file
Set exit C to C2
Set exit B to Bl
S~t exits D and E to Dl and El
Set exit G to Gl
Set exit A to A2 & go to pick up next
symbol
WAI
Print error heading
Insert name of variable into print
Print: INFORMATION FOR VARIABLE
IS INCOMPLETE
Send incomplete file to Combination List
Jump to Al
Set exit B to Bl
Print error heading
Ul45
UP3
UP
DI5l
DXl
30000
WAI
}
A
DX33
Ul60
UP3
UP
UI'51
DW17
W14
}
}
}
Te st: Has variable been inserted into
TF2?
If not, put name of variable into print
Print: ILLEGAL SYM30L SEQUENCE FOR
VARIABLE --Send incomplete file to Co~bination List
Set B to 12
Se t Ct D, an d E to 12
Set G to G2
Set A to Al
Back to get next symbol
Print: ILLEGAL SYMBOL SEQUENCE
Back to
ill
Insert il egal symbol into error print
Print error heading
Ul65
}
Print:
Ul
0
0
77000
77777
77777
447
ILLEGAL SYMBOL
5
6
7
21
23
01
77777
77777
22777
77777
77777
77777
10
11
12
13
14
15
16
17
40
40
40
40
40
40
40
40
DZ40
DZ51
DZ51
DZ62
DZ67
DZ30
DZI03
DZ73
11
11
4
5
4
10
6
10
20
21
22
23
24
25
26
27
0
0
0
0
0
0
0
0
0
0
3
1
0
2
77777
0
1000
1
3
1
DX17
0
0
3
30
31
32
33
34
66
50
65
65
70
51510
73016
26543
01315
24543
14724
56725
45266
15401
42425
1
~
j
U P parameters
for alarm
prints
XS3 code s
TOO MANY SUBSCRIPTS FOR VARIABLES ---
35
46
30014
37777
36
37
01
17
01010
22-777
10101
77777 J
40
41
42
43
44
45
46
47
34
24
31
54
01
01
17
50
50315
66345
51540
34242
43777
01010
01346
26514
15447
15001
17024
54630
77777
10101
50134
75246
50
51
52
53
54
55
56
57
30
34
46
51
67
31
54
01
66302
46463
01657
46016
30502
51540
34242
43777
27777
03224
34725
53053
63001
17024
54630
77777
60
61
62
01
17
34
01010
22777
46463
10101
77777
03224
lNFORMATION F 41
Yes
JA224
JA223
Go thru POsSi:]-1ble Place CW in stringfct. Jump out
out
L
-_ _ _. _ _ _ _
~
COMPUTE String-out (Cont.)
E
Jlinul -
Other
JA45
P lace zero string-out
word with check before
for zero str. already
eo-a .
Setllicolon ;
Yes
level
I
No
JA433
JAn
No
.JA56
L_C_I_o_sl_·n-.:.g_pa~r_._)_ _~ Decrease level
~ter
by 1
Were we inside subscript. variable?
P'---1I--I
RJ to alarm 4 and
No
clearing Leve I ~te~...L...------...L----------l
F
COMPIJfE String-out (Cont.)
J
RJ to make up CW
after check and put
in Comb. List
JA3b7
r;;
TS4 = 407
t----------------.(·~5eudo
op.)
Yes
JA357
JA:365
;C;;t CW
from
~ny List
.---_ _ _ _--oofNot In
List
jG;t
CW from
~Ib. List.
!
Not in Li st
/ Get CW from
l----L-~ Comb. List.
\>
COMPUTE Stringout (Cont.)
JA136
JA 137
in extra
leve 1 meter
~----~
Is extra level
meter>l1
Adv. extra level
meter
Reduce extra level
meter by I
JAl30
JAl26
Was last string.
word zero?
Put XS3
~o
6.
r---~----~
JAl32
RS EW3 fina I
TV A WLO place
- EW 3 beginning
no. of words in
stringout
JAl33
COMPU1E STRINGOUT (Con':.)
Inside
pa rent.
Ou tside
parent.
Inside
parent.
Outside
pa rent.
1
1
Inside
func t.
Inside
subscr., va r.
Inside
pseudo op.
cb
~------------------------~vr------------------------_J
Inside
funct.
Inside
subscr. va r.
I~
5
l
Inside
pseudo op.
,cb
~-------------------------v-----------------------~
Check for combination list
Check for dummy list, then comb. list
A1arm 21
Is first charact.
I,J,K,L or M?
Alann 20
Assign CW fxd. pt.
var. and add to
Comb. List
Are we inside
argum. of sub.var?
Assign CW fltp. var.
and add to Comb. List
vesJ'---_J
~nn19
J
COMPOTE STRINGOUT (Cont.)
Not in Comb. List
77 is next symbol
66
t----t--
( ?
-
65
( ?
M
?
?
4
?
Other"
Not, in comb. list
77
is next symbol
(67) -
2
~-t---
65
64
Other"
""'~Not in Comb. List
~
(67) is nex. symbol
3
64
_..
"
Other"
Not in Comb. List
77 is next symbol
(67) "
4
?
66
65
M
Other"
Assume pseudo operat., make up format and put in comb. list
depending on v of TA5, save 4,3 or 2 addr. and XS3 code and set "inside sub. var" to 1 and set JD22
V
No
alarm 16
..... Yes save CW and XS3 code and ~ of elements in fct., set "ins. funct .... to 1, set 3 in counted ~ of elem. and v of JB253=O
~No alarm 17-1/2
<:Yes alarm 15
No save CW
l? «'Yes: alarm 22
alarm 15
No: save CW
No: save CW
?~Yes
No save CW
?.::Yes alarm 15
No are we ins. subscr. var. as well? <;t Yes: adv. counter for subscr. Is it > l?~Yes: alarm 22
No: save CW
No: alarm 20
alarm 13, go to EXTRA
13," "get next symbol
Generate CW after checks and put it in comb. list
ala rm 15
No adv. counter for subser. Is it > 41 ~ Yes: alarm 22
No: save CW
( 1 4? 4? 4?..zN~~:
alarm 22
save CW
V
VI
VI
COMPUTE STRINGOUT (Cont.)
Not in
Du~ny
or Comb. List alarm since funct. symb. expected
7-7 is next symbol (1
~Yes
dependi ng on v of TA5 save 4,3, c r 2 addr. and XS 3 code t set ~tins. sub:' to 1 and set J022
alarm 16
~Yes
save cw and XS3 code, set "ins. fct~ = 1, set JD22, set v of JB253=0, save ~ of e1em. in fct.
No alarm 17-1/2
~Yes
alarm 15
"4No save CW
~Yes alarm 15
No save CW
..;rYes save CW and xS3 code. set "ins. fct." = I, set v of JB253 = 0, save # of e1em. in fct.
"4No alarm 17
..;rYes alarm 13 go to EXTRA
"4 No
13," " get next symbo 1
v
No
66
"
..
65
64
"
61
"
(1
?
?
other"
"
1
"
?
Not in dummy or comb. list generate cw after checks and put it in comb. list
77 is next symbol { ? ~Yes depending on v of TA5, save 4, ~, or 2 addr. and XS3 code and set "ins. subscr •• =
"4 No alarm 16
76X ..
( ? ~Yes save CW and XS3 code and set "irs. subscr. var." = 1
No alarm 16
alarm 15
(67) ..
l?~Yes: alarm 22
No are we inside subscr. var. as well?
No: save CW
No: save CW
l1~Yes: alarm 22
No are we inside subscr. var. as wel11
No: save GW
alarm 20
No:
alarm 15
~Yes
63
?
alarm 22
11
~Yes:
No are we inside subscr. var. as we] 11
it>
adv.
ct.
for
subscr.
Is
Yes:
save CW
No:
save CW
No:
alarm 13 go to EXTRA
~Yes
Other" "
1
"
No
13, "
" get next symbo 1
~.
<:
6
~
CD
0)
..
..
<
<
Not in dummy or comb. list generate CW after checks and put it in
(67) is next symbol (1 41
..
.AYes Alarm 15
II
64
(1 ~No Adv. counter for subscr. Is it :> 41
..;rYes Alarm 15
63
(? "4No adv. counter for subscr.
Is it > 41
Yes alarm 13 go to EXTRA
Other"
..
(?
" 1 3 , " " get next symbol
..
l?
}
Is next symbol
Restore and go to get next symbol
Reduce extra Level Meter
Jump to check next symbol 8 .?
Before "go to g~t next symbol"
Go to get next symbol
Restore SY and SZ
Go directly to get next symbol
Re s tor e SY an d SZ
Go to "before go to get next symbol"
(used as const. for JB515)
} Is symbol at hand AND?
JA173
}
Is word index
Is Level Meter
RD
= O?
= O?
Yes; warning alarm
2
JA546
JD
~A36
}
JA561
JD
~A26l
~A453
~A46l
JA232
JC21
Go to warning alarm 3
Put 1 in word index
Has symbol at hand a letter?
}
Is next symbol (?
}
Is level
}
~A227 }
~A257 }
JB401
Go to warning alarm 1
Clear word index
Is Leve 1 l'kter = O?
RDI
= O?
Are we not inside subscr. var.?
Adv. counter for subscripts by 1
Are we not inside function?
Is counter of subscripts
>
I?
Save SY2-14 in JD2-14 and put SZ2-14
SY2-14
Check fixed pt. con st. format
~
RJ
~.?
}
470
216
217
220
221
222
223
224
225
226
227
230
231
232
233
234
235
236
237
240
241
242
243
244
245
246
247
250
251
252
Exit When
253
Case ® in 254
Dummy List 255
256
257
TP
RJ
TP
RJ
TP
RJ
MJ
RA
MJ
TP
TJ
MJ
EJ
TP
EJ
TP
TJ
MJ
TV
RJ
RJ
TP
TP
RJ
RJ
TP
MJ
TN
MJ
RJ
QT
SZ2
RS2
RS3
GW
Q
EW
o
JD21
o
JC24
JD20
a
JD17
JC21
JDl
JC20
SZ6
o
JCIOI
JB405
RB
SY2
SY3
GG2
JA246
GG3
o
GG3
o
JB525
JC12
JC43
RS4
RS
}
Convert to octal (fixed point)
A
I
Get CW for const. from Const. List
GWl
EW2
EWl
JB222
JC2l
JA235
>
4?
Are we not inside pseudo?
Is Level ~ter = I?
1A225 }
~A241 }
Has no. a decimal point?
JA214
JB222
JB401
RBI
GG4 }
GG5
GG
JA247
Set jump for exit out of function
Store SY, SZ
Check format floating point constant
Couvert to floating point octal
Inserted for eventual TN GG3 GG3 (?)
Go to assign CW and store it
1A221 }
~A221 }
1:'523 }
JA436
JA317
JA502
JA433
260
MJ
o
JAl60
261
262
263
264
265
EJ
MJ
RJ
TP
MJ
SZ7
JA263
JA476
JB401
266
267
270
271
272
273
274
Not in List 275
In list
276
277
EJ
TV
o
Is countpr of subscr ipt s
JA2l4
JA240
o
JB405
JC20
Jump to possible funct. jump out
Adv. counter of e lemen ts in pse udo
~A257 }
EJ
MJ
RJ
o
Bring CW to string-out
Case of neg. floating point no.
Mask out CW code of CW found in Dummy
List
Is it 61? Case @in Dummy List
No, go to alarm 13
Case fixed pt. const. no. of subscr. ~1,
alarm 5 in RJ
(JA160 OK since coming from JA230, there
was SY2-14 not yet changed)
Is first char. a letter?
~433 }
Store SY -+ JD and SZ -+ SY.
Is Level Meter # O?
Jump to subroutine to check whether VARY
JA274
JB4
JB2
JB
JB4
JB325
TAl
JA302
Are we not in subprogram? (TS4 = O?)
Set jump to alarm 21 in JB4 (JA312)
Set exit in case it is in Dummy List
Get CW from Dummy List or Comb. List
Restore address JB4
Case ® in Comb. List
Get file from Comb. List
Pseudo opere not in list; go to put it
Mask out first digi t of CW---+ A
OK
TV
RJ
TV
MJ
RJ
MJ
TP
QT
TS4
JC64
JC73
JB5
JC63
o
TA
o
JC44
TA4
~
}
471
m
300
301
302
303
304
EJ
MJ
TP
EJ
TP
305
306
307
310
311
312
313
314
315
TP
TP
AT
RJ
MJ
JC45
o
JA3l4
JB303
~45
JC13
JD2
SZ2
TFI
JClll
TF
VB
A
TF2
Is CW 4 ---- type (pse udo)?
Case CD in list
Is next symbol (?
Go to put pseudo oPe in Comb. List
Shortcut: Pseudo OPe without following
}
n::l"'Ant_
r -- '--" .... -.
Case CW
4
P"S;udo Op:-316
Case CW
317
61 _ _ _ 320
321
322
323
324
325
326
327
330
331
TV
MJ
TP
EJ
MJ
TP
EJ
MJ
TP
RJ
TV
JC36
TE
o
JC63
o
JC13
JD2
o
JC23
JBl53
JC20
JC2l
TS2
TS3
MJ
EJ
o
340
341
342
343
344
345
346
MJ
RJ
MJ
EJ
EJ
EJ
o
347
350
351
352
353
354
355
356
357
RJ
MJ
RJ
MJ
TP
EJ
TV
RJ
Case pseudo in list} is next symbol (?
JB470
JB262
JA322
JA524
JID2
JB145
JB253
JD15
JD26
EW2 }
JB221
JA343
"'
336
337
TV
A
A
333
334
335
TV
Bring list in Comb. List
Go again to get list from Comb. List
Restore addr. JB4
Jump to alarm 21
JJJ2
o
o
J017
JC2l
JDl
JD16
JB5
JD16
JB5
o
JD15
JD16
TS4
JC65
JB5
~526}
JA341
JB3
JB317
JA6l0
JA363
JB3
JB360
JA337
JA353
JA351
JB2
JB
o
JB352
JB5
JB3
o
JC101
JC20
TS4
JC74
JB5
Place CW
TEl
JA274
JB4
JA542
JC13
TP
TP
TP
MJ
EJ
TP
EJ
EJ
RJ
332
}
JA350
JB222
A
JA361
JB2
JB
Jump to handlA pse udo wi thout follow ing
parent.
Case CW 61 in Dummy List} is next
symbol (?
No, go to alarm 17
Set counter of elements in funct. to 3
Savp, format of given funct.
Clear shift count
Set index "inside funct." to 1
SaVA XS3 code
Place CW in string-out and go to get
next
Are we not inside pseudo op?
Is Level Meter = l?
(only inside
pseudo?)
Are we inside subscr. variable?
Get file from Comb. List or put it in
when needed
Case @in list
Are we not insidA subscr. var.?
--+ alarm
Go on to check for TS4
Get f~ from Comb. List
Case ~6 in list
Are w ot inside funct.?
Are we not inside subscr. var.?
Is TS4 = O?
Set exit for case it is in Dummy List
~ file
from dummy or Comb. List
Case ~ in list (= 264 case)
Get C~rom Comb. List
Set jump-out for funct. (to JB240)
Put zero~A
Is TS4 = O?
Set exit in case it is in Dummy List
Get CW from Dummy List or Comb. List
472
360
361
362
363
364
365
366
367
370
Exit when
371
case ® in 372
Dummy List 373
374
375
376
377
400
401
402
403
404
405
406
407
410
411
412
413
Alarm
414
Entries
415
416
417
420
421
422
423
424
425
426
427
430
431
432
433
434
435
436
437
440
441
442
443
444
MJ
RJ
MJ
EJ
TV
RJ
MJ
RJ
MJ
TP
(]I
EJ
EJ
MJ
TP
EJ
MJ
TP
TJ
TJ
TJ
MJ
0
TP
EJ
TP
MJ
TP
TU
RJ
MJ
TP
TP
TU
RJ
RJ
MJ
RJ
MJ
TU
RJ
RJ
MJ
TP
TU
RJ
RJ
MJ
TP
TU
RJ
RJ
MJ
0
JB5
0
T54
JC66
JB5
0
JB5
0
T53
JC12
JC42
Jell
0
JC13
JD2
0
JC20
JD15
JD16
JD17
0
0
JC13
JD2
T53
0
5Z2
JI
JB424
0
SZ2
SY2
JJ
JB424
JA423
0
JA423
0
JL
JB424
JA43 1
0
JD27
JM
JB424
JA436
0
JD25
IA
JB424
JA443
0
Case ® in Comb. List
Get CW from Comb. List
Case @ list
Is T54 = 0 ?
Set IlXit to ~when in Dummy List
Get CW from
y List or Comb. List
Casp. ~ in list
Get C rom Comb. List
JB333
JB3
JB3ll
JA367
JB2
JB
JB355
JB3
JB355
Case
e
in list
cod~ -case ® in Dummy List
A
JA376
Is it 76 --- ?
JA407
Is it 63 --- ?
Go to alarm 13
JA502
Is next symbol ( ?
A
JB162
Jump to alarm 16
JA520
Come from JA55 , zero >A
A
When open parenthesis found:
JA157
Am I really inside so~thing?
JA157
JA157
JA576
No, jump to alarm 4
0
Fre~
Is next symbol ( ?
A
JA5l4
TA4
Put CW from dummy result to Comb. result
JB531
JI4
JB420
JB4l5 ) Alarm 1
JAl60
JJ5
JJ7
JB420
Alarm 2
JB4l5
JA424
JA157
JA4l7
Alarm 2.5 or 3
JA43
JB420
JB4l5
Alarm 4
JA432
JA43
JM4
JB420
Alarm 5
JB4l5
JA437
JA43
IA7
JB420
JB4l5
Alarm 6-1/2 or 18.5
JA444
JAI07
Q
}
Mask
}
}
}
}
)
)
)
473
CW
445
446
447
450
451
452
453
454
455
456
457
460
4p1
462
463
464
465
466
467
470
471
472
473
474
475
476
477
500
501
502
503
504
505
506
507
510
511
512
513
514
515
516
517
520
521
522
523
524
525
526
527
530
531
TP
TU
RJ
MJ
RJ
MJ
TP
TP
TU
RJ
TV
MJ
TP
TP
TU
RJ
TV
MJ
RJ
TV
MJ
TP
TU
RJ
MJ
TP
TU
RJ
MJ
TP
TU
RJ
RJ
MJ
TP
TU
RJ
RJ
MJ
TP
TU
RJ
MJ
TP
TU
RJ
MJ
TP
TU
RJ
MJ
TP
MJ
TJ1
JK
JB424
0
JK5
JB420
JB415
JA431
JB424
JA427
JA134
JQ4
JQ5
JB420
JB415
JA246
JA136
JR4
JR5
JB420
JB415
JA246
JA157
JA433
JA246
JA157
Jr6
JB420
JB415
30000
JU6
JB420
JB415
0
JB150
SZ2
JV
JB424
JA505
0
SZ2
JW
.18424
JA512
0
SZ2
JX
.18424
0
SZ2
JY
JB424
0
SZ2
JV4
JB420
.18415
JA506
JB445
JW4
JB420
JB415
JA513
.18445
JX6
.18420
JB415
JA135
JY6
JB420
.18415
JA163
Jl7
.18420
JB415
JA163
IA7
JA441
0
SZ2
SZ3
JQ
JB424
JC102
0
SZ2
SZ3
JR
JB424
JCI02
0
JA436
JC102
0
SZ2
Jr
JB424
0
SZ2
JU
Jl
JB424
0
SZ2
0
JA107
I
Alarm 6-3/4
Alarm 4.5 or 7
J
Alarm 8
Alarm 9
1
J
}
Alarm 5.5 or 10
I
Alarm 12
1
)
Alarm 11
Alarm 13
I)
Alarm 14
Alarm 15
I
I
}
Alarm 16
Alarm 17
Alarm 18
474
532
533
534
535
536
537
540
541
542
543
544
545
546
547
550
551
552
553
554
555
556
557
560
561
562
563
564
565
566
567
570
571
572
573
574
575
576
577
600
601
602
603
604
605
606
607
610
611
612
613
614
615
616
TP
TP
TU
MJ
TP
TP
TU
MJ
TP
TU
RJ
MJ
TP
TP
TU
RJ
MJ
TP
TP
TU
RJ
RJ
MJ
TU
RJ
MJ
TP
TU
MJ
TU
RJ
MJ
TP
TU
RJ
MJ
RJ
MJ
TP
TU
RJ
MJ
TP
TP
TU
MJ
RJ
MJ
TP
TP
SP
QS
MJ
SZ2
JD27
IB
0
SZ2
JD26
IC
0
SZ2
ID
JB424
0
SZ2
SZ3
IF
JB424
0
SZ2
SZ3
IG
JB424
JB400
0
IK
JB424
0
JD26
JO
0
IH
JB424
0
SZ2
JP
JB424
0
JA431
0
SZ2
JS
JB424
0
SZ2
JD27
IE
0
JA431
0
JC1
JC123
SY2
A
0
IB4
IBlO
JB420
JB415
IC4
IClO
JB420
JB415
IDlO
JB420
JB415
JB445
IF6
IF7
JB420
JB425
JA177
IG6
IG7
JB420
JB425
JB371
JA177
JB420
JB425
JA36
J06
JB420
JB415
JB420
JB415
JA134
JP2
JB420
JB415
JB443
JA60
JA72
JS6
JB420
JB415
JA163
IE4
IE10
JB420
JB415
JA60
JA135
JI4
Q
102
JI4
JA4l4
)
I
I
1
Alarm 19
Alarm 19-1/2 Set RJ exit in JB424
Alarm 20
Alarm 20-1/2 Set RJ exit in JB422
Alarm 21
Warning alarm 1
Warning alarm 2
}
}
}
Warning alarm 3
Alarm 5-1/2
Alarm 23
)
Alarm 7 or 12-1/2
1
)
Alarm 6 or 4.55
IJ
1
Alarm 10 or 17-1/2
Alarm 22
Alarm 4-1/10
Alarm entre 1 for neg. sign
475
617 TV
620 TP
621 TO
622 RJ
623 MJ
CA
JB231
SZ2
JI'
JB424
o
JB223
)
JI'6
JB420
JB415
JA135
JA624
476
Alarm 11 1/2
o
1
2
3
4
5
6
IA
RJ
MJ
MJ
RJ
MJ
MJ
TP
JB
TS
0
0
0
30000
TAl
JB6
30000
JC15
Q
JC13
JD2
SZ2
~A542
0
TA
7
10
11
12
13
14
15
16
17
TP
EJ
TP
RP
EJ
TP
EJ
RJ
A
20
RA
21
MJ
22
23
24
25
26
TU
MJ
TP
EJ
MJ
27
30
31
32
qr
TSI
JB3
20005
JCl16
JC20
JD16
JB424
Get file from Dummy List
not in Dummy List
Get file from
Comb. or Dummy
List
RJ-come-back when in Dummy List
Get file from Comb. List
Not in Comb. List: have CW made
RJ-come-back when in Comb. List
Set mask in Q
Add symbol to
Comb. List
Is next symbol (?
}
!
}
JB15
JB24
}
~22
}
Mask out XS3 code of first digit
Is it I, J, K, L, M?
Are We not inside subscr. var.?
JA532
Print alarm (subscript not starting with
JD20
JC21
0
JA161
JC6
JB42
JB35
Adv. No. of subscr. (in order to go on
checking format of subscr. var.)
Go and get next symbol (avoid funct. check
because subscr. not interesting anyway)
Setting for floating point variable.
I, J, K, L, M.
0
JC20
JD16
~30
}
0
JB34
MJ
EJ
0
JB34
JB34
JB422
JC26
33
RJ
TP
MJ
0
JA536
TA4
}
JB220
34
35
36
37
40
41
42
43
TU
TP
TP
TP
RJ
RJ
AT
RJ
JC5
JClll
SZ2
JC20
RH
TK
30000
TE
JB42
TF
TFI
TF3
RHI
TKI
TF2
TEl
44
45
MJ
TP
0
SZ2
JB3
TJl
46
47
RA
TP
VB
A
JC36
TJ2
JD15
}
}
Var. star t wit hI, J, K, L, or M
are We not inside subscr. var.?
We are inside subscr. var.; jump to further
handling.
Free (instr. unused)
We are not inside sub.: are We not inside
funct.?
Print alarm
Put "65000" in TA4 and save it as CW in
string-out (assuming floating point yare was
meant, in order to go on checking the format
of the funct ion. )
We are not inside funct.: make fixed pt. var.
Put 3 in u of TF
Put XS3 code in TFI
Cle ar TF3
Che ck for format
Get CW
Add 64 --- or 65 --- (in u 200 or 2l6)~ TF2
Add new floating point or fixed point variable to Comb. List
Jump to get symbol from Comb. List
Save XS3 repr. of pseudo OPe Pseudo op not
in list.
Make up CW
(This TJ2 used for updating last TF address,
later added to last bit for no. of elements,
JB77)
477
50
51
52
53
TP
TV
RJ
TV
JCllO
JC32
JB400
EW3
TJ
JA157
JB376
JBl17
54
55
TP
TP
JC21
JC20
JD17
JD24
56
57
60
61
62
63
64
65
66
67
70
71
72
73
74
75
76
MJ
RJ
TP
EJ
EJ
MJ
TP
EJ
EJ
MJ
TP
TJ
o
JA161
JA160
JB57
JDl
JC2l
JC20
o
JB64
JB462
JA160
A
A
RA
TV
TP
RA
JC20
SZ6
JC33
JB47
JB47
30000
TJ
77
100
RA
MJ
o
TJ2
101
TU
JC32
JC21
JA160
JB75
102
103
104
105
106
107
110
MJ
RJ
TP
TA
III
TU
QT
EJ
EJ
EJ
MJ
o
JC12
TA4
JC25
JC26
JCIO
o
JC37
112
113
114
115
MJ
SP
AT
o
116
117
MJ
TP
o
120
121
RJ
TE
TV
JC6
122
123
124
TV
TV
MJ
JC6
JC72
TU
TA5
JC24
TF2
o
Only first time: get symbol after parent.
Put level Meter ~ A
Level = 1 ?
Level = 0 ?
Level > 1, go to get next
Level i s 1: put" 40 f) f)" ---+ A
Is symbol at hand alpha-numeric?
Is symbol at hand a number?
For all other symbols go to get next symbol
A
JC14
SZ7
SZll
o
Put 2 in u and v of TFO
Change exit 19
Place zero string-out word for filling later
Save addr. of string-out word for later
placing it
Set index "inside pseudo"
Set index "pseudo was in list" to zero
since it was not
JB104
JB70
JA160
JB101
JB75
JC21
JB75
30000
JC107 }
No. with dec. pt; set address for format
code in JB75
JB73
TAl
Is this used?
Mask out CW
Q
A
JBl12
JBIOl
JB72
JBl14
JB75
JB73
36
TA5
JBl12
30000
TEl
JB57
JA157
JB47
JA160
Has number decimal point?
No, set addr. for format code 2 in JB75
Adv. for next TJ word
Set next TJ word address in JB75
Place next TJ word
Adv. counters in TJ region in u
(adv. count of elements) in v
}
Is CW 66?
Is CW 65?
Is CW 64?
CW 77 left
Case funct. (66)
Bring TA5 in next TF address.
Case subscr. var. (77) set up "No. of
subscr.
~ 4" and store in TA5 (TA5 used
for temp. storage)
Come from JB462/463 (= patch to JB62)
Put CW in saved str. address (set by JB53)
Finish up bringing pseudo op in Comb. List
Restore 120 = JB57 for next pseudo not in
list
Restore exit in "bef. bef. next"
Restore JB47 to TF2 in v
(Could go to 19 or 20 since exit out of 19
is restored)
478
125
126
127
130
131
132
133
134
135
136
137
140
141
142
143
II
III
IV
V
JC13
JD2
TA4
JC12
JC25
JC26
JCIO
JC12
o
TA4
JC12
JC12
JC25
JC26
JCIO
~8136
}
Next symbol ( ?
Q
}
Mask out CW indo
A
30000
30000
30000
JA520
JA502
Q
A
TV
MJ
o
TP
TA3
30000
30000
JA514
JA514
JA502
J8152
JC3
J8151
J8152
J033
J033
30000
J026
155
TP
JC23
JD32
156
157
160
161
162
163
164
165
166
167
170
171
172
173
174
175
RJ
TV
TP
MJ
J8153
JC20
JC21
TP
TP
QT
LQ
MJ
TP
EJ
RA
TJ
RJ
MJ
J8150
J8253
J015
J8220
J016
J027
176
177
200
201
202
203
204
RA
TJ
MJ
TP
TP
TP
QT
1~4
I
TP
EJ
TP
QT
EJ
EJ
EJ
EJ
MJ
TP
QT
EJ
EJ
EJ
EJ
MJ
TU
RA
MJ
TU
145
146
147
150
151
152
153
154
TP
TP
o
TS17
J8152
o
JC37
JC20
30000
o
JC21
TS2
JC75
TS3
J022
o
~D22
~B521
J020
JC7
JC21
J8220
J8174
J027
JD16
o
TA3
JC21
JC40
TA5
}
}
JC21
J8220
JA604 }
JA161
~D22
66?
65?
64?
77?
Others?
Mask out CW indo
77?
66?
65?
64?
Others?
Entry for 61 funct.
No ( following
Wi th
l following
Store given
Entry for 66 funct.
format of
Clear JD33
function
Store format of funct.
Exi t for RJ use
Save XS3 code in funct. XS3 code-storage
Handling 66
Put "3" in format of elements (for format
"funct.")
Go to store given funct. format.
Clear shift count for next counted element
Set "inside funct." to 1
Go to save CW
H-..;...a-nd-1-i-n-g-76-:-:X-----Set inside subscr. to 1.
Save XS3 code in subscr. var. XS3 code
storage
Save no. of elements in v of J022
\r--
36
JA327
JC20
J016
JD20
JC22
JB424
o
}
Subroutine for equali ty jump series
}
Go to save CW
Are we not inside subscript var.? Handl.
subscr.
Adv. counter of subscr. by 1
Is 2 > no. of subscripts? (maximal 1)
Jump to alarm 22 (exit not via possible
funct. jump out, since inside subscripted
var. not of interest for funct. format)
Adv. counter of subscr. by 1
Is 5 > no. of subscripts (max. 4) ?
No, jump to alarm 22 via J8174
Save XS3 code
Set "inside subscr." to 1
Store no. of subscripts
479
VII
205
206
EJ
TJ
JC21
JC24
J8224
J8232
207
210
MJ
TP
0
JC21
J8235
JD17
co, ,
'11n
TA4
JC21
J031
J024
J8220
~11
J.1""
212
213
214
VI
215
216
217
Save 220
1 CW 221
TP
TP
MJ
TP
EJ
MJ
TP
RJ
222
RJ
223
224
225
226
227
230
231
232
233
234
235
236
237
240
MJ
RJ
RA
RJ
TU
TV
MJ
RJ
RA
MJ
RJ
RA
MJ
TU
o
241
242
243
244
245
246
247
250
251
252
253
254
255
256
257
260
261
262
263
TP
QT
EJ
EJ
EJ
EJ
EJ
MJ
RA
TP
JC12
30000
JC13
JC42
JC77
JC26
JCl
264
Save
2
CW t s
Save
3
CW's
Save
4
CW's
Is No. of subscr. = 1 ?
Is 4 > no. of subscr.? (case 2 or 3
subscr.)
Case 4 subscripts
Set "inside pseudo" to 1
LQ
RA
MJ
TU
MJ
TU
MJ
TP
o
JC20
J016
o
TA4
EW
Tnnnn
"'D~~~
J8223
J8220
J8223
JC41
JC41
o
J8223
J8220
o
J8223
J8220
o
EW3
o
J8253
30000
Q
J032
o
A
J8220
J8176
EW2
1
~~~COq
uD~~.J
J
JA163
J8220
JC
J8220
J8220
J8223
JA163
J8220 }
JC
J8224
J8220 1
JC
r
J8232 J
;B242
I
J8256
J8256
J8260
J8260
J8260
J8223
JC23
Q
30000
Q
o
J8223
J8252 }
J8251
J8252 }
J8251
QT
JC67
TA4
2 }
ZJ
JA530
J8220
JC72
o
JC73
storage
Save CW code in pseudo op CW code storage
Set index "pseudo was in list"
Go to save CW
Clear A
Are we not inside subscr. var.?
Jump to IV
Save 1 CW
RJ for exit with funct. (jumps to J8240)
and used by pseudo JB470 as exit,
by JA617
Save 2 CW's
Restore J8220
Restore J8223
Save 3 CW's
Save 4 CW's
Form funct. format for
compo with given one.
Come from JB222 (when funct. jump out
was set)
Mask out CW code of CW just placed in
string-out
77
76
67
65
63
Others (ignore and go on)
Come from J8256 or JB260. Adv. shift count
Put 1 or 4 in Q
Shift (set to 0 when funct. symbol found)
Add code no. to "counter" of element in funct.
Go back to exit of "save CW"
Cases 77, 7', (4)
Cases 67, 65, 63 (1) (when 63 and inside
sub. we skip the funct. jump out)
Come from JA316 (entr. set from v in
JC70) Mask out last 2 digits for pseudo
(to check whether with operands or not)
When last 2 bits = 0, go to put CW in
string-out
480
@
®
@
®
@
Case 63
Case 64
265
266
TP
267
270
271
272
273
274
275
276
277
300
EJ
EJ
EJ
EJ
MJ
TP
301
302
303
304
305
306
307
310
311
312
313
314
315
316
317
320
321
322
323
324
325
326
327
330
331
332
333
334
335
336
337
340
341
342
343
344
345
TV
MJ
RJ
MJ
TV
TV
RJ
MJ
(]f
QT
ZJ
RJ
RJ
TV
TV
TV
TV
TV
MJ
TV
TV
TV
TV
TV
MJ
RJ
MJ
TV
TV
RJ
MJ
TV
TV
TV
TV
TV
MJ
TP
MJ
TP
QT
EJ
JC12
TA4
JC12
JC25
JC26
JC10
0
JC71
TA5
JB273
JB223
JA154
JB302
0
JB467
0
JC52
JC46
JB273
0
JC55
JC54
JC50
JC52
JC55
0
JC54
JC54
Je53
JC52
Je60
0
JB467
0
JC52
JC46
JB273
0
JC55
JC54
JC50
JC52
JC55
0
TS3
0
TA4
JC12
30000
Q
A
}
JB274
JB274
JB274
JB274
30000
Q
A
JA507
JB220
JA6l7
JAl54
JA157
JB464
JB305
JB140
JB141
JB265
JB125
JB13l
JB132
JB133
JB140
JB141
JB125
JB13l
JB132
JB133
JB140
JB141
JB125
JB464
JB327
JB140
JB141
JB265
JB125
JB13l
JB132
JB133
JB140
JB14l
JB125
64
}
}
66
65
64
77
66
}
Not followed by
}
Followed by (
66
65
64
77
66
}
Not followed by
}
Followed by (
(
(
}
}
66, 65, 64
Not followed by (
Free
77
Followed by (
66
Ch~ck whether symbol has special equate
66
65
64
77
66
}
Q
}
A
JB347
Is symbol defined by special equation?
Come from JB141, save CW
Give alarm concerning skipping inside
parent.
Restore exit of alarm
Go to EXTRA. Checks for special equations
66
64}
F"
Not followed by (
ree
77
Followe d by (
66
Check whether symbol has s~cial equat.
Q
JB344
Come from JB307 or JB331
Mask out first 2 bits of symbol at hand
(aft~r it came out of Comb. List)
77
66
65
}
Not followed by
1
Followed by (
Entries for EJ serie s
(
Mask out (dummy) CW code
Mask out CW code
63--- or 64--- (has been set be fore
entering here)
481
o
346
347
350
351
352
353
354
355
356
357
360
361
362
363
364
MJ
TP
EJ
MJ
TU
TV
MJ
TU
365
MJ
o
366
367
370
371
TV
TV
MJ
TU
JC47
JC51
o
372
373
374
375
376
377
400
TP
EJ
RP
TP
TP
RJ
MJ
JC20
30000
10017
JC20
JC20
EW
401
402
403
404
405
406
30013
SY2
30013
SZ2
410
411
412
413
414
415
416
417
420
421
422
423
RP
TP
RP
TP
MJ
RP
TP
MJ
TP
TP
TP
MJ
MJ
TP
RJ
TP
RJ
RJ
TV
424
407
TV
MJ
TV
TV
MJ
TV
TV
JC13
JD2
o
JC46
o
JC46
JC51
o
JC46
JC53
o
JC47
JC50
EW3
o
o
30013
JD2
o
JC20
JC20
JC20
o
o
WLI
UP2
30000
VP2
JB422
JA502
~A514
Jump to alarm 13
Is next symbol ( ?
Jump to alarm 15
}
30000
~~~?
uDJ-.Jl.
1
J
JB343
JB345 }
JB351
JB343
JB345 }
JB351
JB343
JB345 }
JB351
364 or 764
10 t::.O'l
U1JoJVoJ
JB345
JB351
JB503
JB373
}
Was last string-out word a zero?
A
JB400
JB376
JD15
EW2
EWI
30000
Jump first to place TS3 ~ TA4, then
go to further handling.
763
Place zero stringCome fr om JA45
out word
Clear counters and indices and storages
}
JB403]
JD2
JB405
SY2
30000
JB410 }
SY2
30000
JDl
JD21
JD17
30000
JB427
114
Place zero string-out word
Only used in RJ when found, or AND and
Level Meter = O.
Save SY, SZ
Restore SY, SZ
Clear level meter
Clear counter of elements inside pseudo
Clear inside pseudo
Alarm Print
UP
JCIOO
UP3
UP
JB423
JB222
MJ
o
30000
425 TP
426 MJ
o
III
VP3
}
JB416
Exit both when funct. jump out should
not be restored, used by Alarm 20
Restore funct. jump out (in case it was
set)
Exit both (restoring of funct. jump out
does not hurt warning alarms, since they
occur never for alpha-numeric symbols)
Entrance alarm print warning
482
427
430
431
432
433
434
435
436
437
440
441
RJ
UZ
TP
MJ
II
TO
RS
AT
TP
0
442
443
444
445
446
447
450
451
EJ
TP
MJ
TP
EJ
MJ
TP
EJ
452
453
454
455
TP
JC20
30000
A
EJ
TP
RJ
TP
JC20
EW
JC30
MJ
o
EW2
EWI
EW2
30000
RP
TP
30030
TJ
JCI06
JC54
JC54
~117 }
0
TJ
TP
o
o
JOI
JC20
VL
JB441
JCI03
SZ2
o
VLl
JC20
o
UZI
UP3
JB416
}
o
JA331
JB441 }
JB441
JC56
JB441
A
o
}
JA572
A
JA266
o
~A135
}
JA163
SY2
JC13
~A136
}
MJ
o
TO
EW3
JAlS7
JB455
J02
JC13
JB460
}
456
457
460
461
462
463
464
465
466
467
470
MJ
o
RJ
JB222
JB13l }
JB132
JB133
30000
JB210
471
472
TV
RP
JC32
30025
JAlS7
JB474
473
474
475
476
TP
RA
TA4
JB462
JCIIS
TA4
J035
JC22
Q
TJ2
477
500
501
502
RJ
RS
JB124
JC6
JB462
MJ
o
JB56
JB124
JC22
JA160
TV
TV
TV
TP
QT
TV
Entrance alarm print error
Free completely
VARY check
Is Level Meter = 0 ?
Set RP 2(n) JB443
Put XS3 symbo 1 at hand --;. A
Is it equal one in given list? (Concerning VARY
Yes, goto alarm 12-1/2 = 7
All OK, restore A to 0
Go back to routine
Alarm exit when SY stored otherwise
Is next symbol (? If yes, 20 to skip
contents of parent.
Alarm exit when SY not stored otherwise
Is next symbol (? If yes, go to skip
contents of parent.
Place address of last string-out word in
JB455
Clear A
Was last string-out word = zero? If yes,
skip placing another
Place zero-string-out word
Put XS3 code of /).. in EW2
Jump back to routine
Place TJ region in TF region after
pseudo was built up
Patch, come from JB303 or JB325
Setting 66, 65, 64 with no (
Come from JA3l5 jump to do normal handling of pseudo
Set pseudo jump-out in JA157
Store format of all possible CW + 24
operands
Save TA4
Set jump over "bring list in Comb. List"
Put mask 77700 -+ Q
Set first 3 digits of CW in TJ2 (set up
for format)
Go back to routine
Rest JB124 (RJ exit)
Reset jump to bring list in Comb. List
Go to get next symbol
483
503
504
505
506
507
TP
TS3
MJ
TP
TP
o
TA4
}
J8341
J8510
QT
JCl14
JC67
TJ2
VLV
t;l()
RS
U&.IUV
511
512
513
514
ZJ
RA
1J
MJ
JA440
JB510
JD34
515
516
517
520
521
522
523
524
525
526
527
o
goooo
RA
TP
JD21
JC21
JC21 }
530
531
532
MJ
TP
EJ
o
:A334
JC20
JD16
~8220 1
533
MJ
o
JBl72
CA
J8534
Tn~t;
~D34
}
Set dummy CW's aside for storing in
string-out(when found in Dummy List)
Come from JAI04; preset J8510
Set index for no. of operands
(mask ~ () 00077)
P'W'oc:.a+
hu
JJJ
T~t;()t;
1
TJ2
&..L'-'~'-'''
o
J8512
JCI07
JB510
JAI07
Are the values equal?
Adv. to next val.
Are all val. handled?
Test OK, go on in routine;
TP
RJ
RS
JC21
J8410
JDl
JD30
J8406
JC21
Set extra Level Meter = I}
Restore SY, SZ
Special enRestore Level Meter
trance EXTRA
MJ
(\
v
U.rJ...LUI
UI..UU,P
RJ
J6422
JA536
MJ
o
TV
JC63
TS3
JB32
JB4
Jump to alarm 20 for subscr. in funct.
and don't restore funct. jump out
Go to set dummy 65000 in TA4
Patch for JA253; restore exit in JB4
Prepare masking of CW code
Go back
Patch for JA333 (to restore accumulator
after RA) Adv. no. of elements in pseudo
Put 1
accumulator
Go back to routine
Patch for J8351
Clear A
Are we not in subscr. var.? Then save
CWJ case 63 for single valued floating
point var.
We are in subscr. var.: handle case 63
for subscr.
TP
MJ
TJ\1~7
Tllmn
}
1
484
+ ...
I.V
UJJoJVoJ
o'V'+ ......
'-'AI..LU
Compare set
up pseudo op
in TJ2-25
with the
stored given
values
J
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
35
36
37
40
41
42
43
44
45
46
47
50
51
52
53
54
55
56
57
60
61
62
63
a
a
24
a
a
a
a
a
a
a
a
17
40
77
34
50
a
a
a
a
0
a
a
43
01
a
a
0
21
23
a
a
a
a
a
a
a
a
a
a
a
a
a
a
0
a
a
a
a
a
a
a
JC
1
WL3
50277
2
3
JCI0
JC26
a
a
0
a
77777
a
WL3
77777
XS3 code AND
JA251
JA160
5
64000
63000
77000
77777
XS3 (
a
a
a
a
a
a
a
a
a
a
a
a
0
0
1
2
3
4
66000
65000
77777
77777
25
J857
J8135
77777
77777
00100
a
a
a
0
77777
22777
a
JC21
JC22
77777
77777
a
TA5
a
TA4
a
a
a
a
JCI0
JCll
a
a
a
0
a
a
VLl
a
a
a
WL
a
Zero
One
XS3 )
XS3 ~ .
Used by JA113
XS3
XS3
a
77777
JA163
76000
61000
70000
40000
J8154
J8162
J8170
J8176
JB201
J8215
J8220
JA502
a
I
II
III
IV
V
VI
Save 1 CW
For checking VARY range
J8210
J8277
JA124
WL
J86
485
64
65
66
67
70
71
• .L
0
0
0
0
0
0
0
0
0
0
04
0
0
0
0
JC24
JC21
0
JA312
J8363
J8366
00077
J8262
0
TJ2
JA253
JA371
72
73
74
75
76
77
100
101
102
0
0
00700
0
0
0
0
0
103
RP
104
105
106
107
110
02
0
0
0
0
0
0
0
70000
0
0
0
0
20000
77777
77777
0
1
2
3
JC20
JC21
JD35
0
0
0
U
0
0
77777
JC124
0
67000
J8223
J8240
JA247
JB443
77777
77777
JA600
1
2
3
TEl
0
TJ2
77700
0
0
III
112
113
114
115
116
117
12U
121
122
123
RS
0
34
44
45
46
47
0
CA
0
0
0
77777
Lower case
Upper case
Mask
1
C:omn==-ri
----.1
~nn~
-
-
for I,J,K,L,M
J
For neg. sign alarm 1
Alarm 1
0
1
2
3
4
5
6
7
10
11
IA
0
40
65
01
0
01
24
26
30
30
CA
JI
Jll
JI2
73472
77777
0
34464
46013
51475
01653
50263
JI12
0
10
55146
77777
5l-~
0
63032
45001
26766
05066
02201
Symbol [ ] illegal
in compute sentence
Alarm 2
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
IA
0
40
24
JJ
JJI
JJ2
27442
0
15
42630
50
25
0
01
0
01
66016
51466
0
77777
0
47302
32463
34500
52676
01010
30506
30220
JJ17
57347
50177
0
77777
0
45034
06565
12651
63001
10101
63050
17777
50
01
47
01
65
26
CA
Adj acent symbols [ ] [ ]
meaningless in compute sentence
SZ2
SY2
487
Alarm 3
IA
0
0
1
2
40
52
3
4
5
6
7
10
01
66
0
01
51
73
11
30
CA
JK
JKl
JK2
65306
51523
34515
0
33246
51014
01304
50666
JK12
0
10
72751
05424
00177
0
50166
72450
63047
= 6-3/4
Pseudo operation [ ]
has too ma~y elements.
TJ 1
52277
Alarm 4
0
1
2
3
4
5
6
7
IA
0
40
52
33
50
51
01
27
CA
JL
JLl
JL2
24543
30653
51660
52305
52243
22017
JLlO
0
6
05066
06501
15254
44673
45430
77777
Parentheses not properly paired
488
Alarm 5
0
1
2
3
4
5
6
7
10
11
12
IA
0
40
70
46
0
01
50
26
25
01
54
CA
JM
JMl
JM2
24543
30017
0
33246
26515
66015
30540
65672
34526
JM13
0
11
42425
77777
0
50134
45430
06747
15131
56526
66522
Variable [ ] has incorrect
number of subscripts
JD27
Alarm 6 = 5-1/2
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
IA
0
40
24
50
01
34
0
01
66
30
01
01
52
67
32
CA
JO
JOI
J02
54326
66650
31675
51500
0
27510
01243
01713
01010
01010
54307
65016
30220
J017
0
15
74730
15131
02666
17777
0
15051
25430
46633
10101
10101
03451
76524
17777
Arguments of function [ ]
do not agree with previous usage
JD26
489
Alarm 7
IA
01
66
51
27
21
JP
JPl
JP2
0
26245
01253
47526
01333
01653
30
01663
33001
65
26
01
34
01
01
70
66
50
CA
30506
30013
01010
50016
54245
51310
24547
24663
66227
JP22
63050
46501
10101
63330
03230
12401
30165
04730
77777
0
1
0
40
2
0
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
= 12-1/2
0
20
0
SZ2
05051
00126
76630
05430
45026
be computed here,
[since
J Cannot
the sentence is in the
range of a vary sentence.
490
Alarm 8
0
1
2
IA
0
40
26
JQ
JQl
JQ2
51506
0
12
56624
3
4
5
6
7
10
11
12
13
50
0
0
01
46
01
30
30
34
CA
66017
0
0
34650
46517
25730
50015
50663
65227
JQ14
77777
0
0
13151
13027
15152
22454
33065
77777
Constant E3 is followed by
open parenthesis.
SZ2
SZ3
Alarm 9
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
IA
0
40
26
50
0
0
01
54
70
46
25
01
01
26
30
CA
JR
JRl
JR2
51506
66017
0
0
24525
65012
24543
30016
30010
01010
01010
51475
27220
JR17
0
15
56624
77777
0
0
23024
46501
42425
65101
10101
10101
10101
26766
17777
[ J
Constant [ J appears as
variable to be computed
SZ2
SZ3
491
Alarm 10
0
IA
0
1
40
2
3
24
50
01
34
JS
JSl
JS2
54326
66650
31.675
51500
0
0
01
66
24
27510
01245
54227
JS12
4
5
6
7
10
11
CA
0
10
74730
15131
02666
17777
0
15051
25230
77777
= 17-1/2
Arguments of functi on [
do not appear.
J
Alarm 11
0
1
2
3
4
5
IA
0
40
24
50
01
34
JT
JTl
JT2
54326
66650
31675
51500
0
10
74730
15131
02666
17777
6
0
0
0
01
67
67
24543
52305
51676
JT12
08165
43146
52201
7
10
11
CA
Arguments of functi on [ ]
are superfluous
492
Alarm 12
0
1
2
3
4
5
6
7
10
11
12
13
14
15
IA
0
40
24
67
01
46
0
01
34
65
66
01
26
66
CA
JU
JUI
JU2
46523
47305
65734
01777
0
33246
32346
01313
01010
01010
33245
30542
JU16
0
14
32450
43426
72551
77777
0
50127
60124
45465
10101
10101
42426
27777
Alphanumeric symbol [ ]
has digit as first character
SZ2
Alarm 13
0
1
2
3
4
5
6
7
IA
0
40
65
01
0
01
54
01
CA
JV
JVl
JV2
73472
77777
0
34502
30266
67653
JVI0
0
6
55146
77777
0
65154
64673
02722
Symbol[ ] incorrectly used
SZ2
493
Alarm 14
IA
n.
n.
JW
TTlT
~
1"\
V
V
.H'~
V
1
2
3
40
70
46
JW2
24543
30017
11
42425
77777
Variable [ ] is not defined
by an equation
4
0
0
0
SZ2
5
6
7
10
11
1
"
01
66
50
01
67
34650
01273
30270
24500
24663
77777
•••••
JW13
15051
03134
12573
13053
45150
C)
....
c)c)
""
CA
77777
• I I I I
Alarm 15
0
1
2
3
4
5
6
7
10
11
12
13
14
15
IA
0
40
65
01
27
24
0
01
46
01
01
01
52
33
CA
JX
JXl
JX2
34503
70244
01702
25463
0
34650
46517
25730
51523
01010
24543
30653
JX16
0
14
24630
66730
45434
00177
0
13151
13027
12450
05001
10101
05066
46522
Single valued variable [ ]
is followed by an open parenthesis
SZ2
494
Alarm 16
0
1
2
3
4
5
6
7
10
11
IA
0
40
65
34
31
24
0
01
66
24
CA
JY
JYl
JY2
67256
52666
01702
25463
0
27510
01245
54227
JY12
0
10
52654
50151
45434
00177
0
15051
25230
77777
Subscripts of variable [ ]
do not appear
SZ2
Alarm 17
0
1
2
3
4
5
6
7
10
11
12
IA
0
40
24
50
01
01
34
0
01
66
24
CA
JZ
JZl
JZ2
54326
66650
27674
31675
51500
0
27510
01245
54227
JZ13
0
11
74730
15131
74773
02666
17777
0
15051
25230
77777
Arguments of dummy
function [ ] do not
appear
SZ2
495
Alarm 18
IA
{\
v
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
IA
v
..LM..L
TJ\l
0
40
31
01
30
52
51
0
01
50
IA2
51544
51310
67275
30542
50017
0
27513
51660
30300
01010
71346
54307
65016
30220
IA20
16
72466
15265
10151
46634
77777
0
06501
12432
10101
10101
63301
03451
76524
17777
{\
54
01
01
52
67
32
CA
Format of pseudo operation [ ]
does not agree with previous usage
SZ2 for 18; JD25 for 6-1/2
Alarm 19
0
IA
0
IB
IBl
-:tv
A{\
1B2
,t...
.L
~v
""UJJ~\.I~ ~}lt.
65
34
0
01
54
01
0
01
66
30
01
01
71
50
CA
67256
52660
0
51310
34242
77777
0
34650
01525
54467
01010
01010
54346
22017
IB20
52654
17777
not properly written
0
SZ2
,
2
3
4
5
6
7
10
11
12
13
14
15
16
17
0
1'7024
54630
77777
0
15051
45152
30101
10101
10101
66630
77777
c .. \.. .. ~_.:
JD27
496
~ ...
r .J, ~ J!'
L
V~
._~_.: ~\.., ~
r
vaL~aJJ.Lot;;L
,
~
.:
~
~.,
Alarm 20
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
IA
0
40
24
50
0
01
50
01
0
01
54
01
01
01
65
34
CA
IC
ICI
IC2
54326
66017
0
51310
26663
77777
0
24525
65012
01010
01010
01010
67256
52662
IC20
0
16
74730
77777
0
13167
45150
77777
0
23024
46501
10101
10101
10101
52654
27777
Argument [ ] of functi on [
appears as subscript
SZ2
J026
Alarm 21
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
IA
0
40
31
51
65
34
70
46
0
01
51
01
25
54
65
50
27
CA
ID
101
102
67502
50015
67256
52663
24543
30017
0
33246
66010
01010
30305
30703
46730
66345
22017
1021
0
17
66634
15401
52654
02701
42425
77777
0
Function or subscripted
variable [ ] has not been
previously mentioned
SZ2
50150
10101
10101
00152
45167
14730
15030
77777
497
]
Alarm 22
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
IA
IE
0
lEI
0
40
65
34
0
01
54
01
0
01
27
51
01
01
50
01
25
66
IE2
67256
52660
0
51310
34242
77777
0
30722
65012
71302
01010
01010
67472
51310
65265
65220
IE22
20
52654
17777
0
17024
54630
77777
0
63030
44646
70101
10101
10101
53054
16567
43452
17777
CA
Subscript [ J of variable [ ]
exceeds allowed number
of subscripts
SZ2
JD27
498
Alarm 23
0
1
2
3
4
5
6
7
10
11
12
13
IA
0
40
31
65
01
51
30
30
31
54
01
30
CA
IH
IHI
IH2
34546
73472
34650
50322
50663
01505
67546
01010
01010
26453
IH14
0
12
56601
55146
17154
20165
05026
16601
63330
10101
12633
02722
First symbol is wrong.
Sentence is not checked
further
Warning Alarm 1
0
1
2
3
4
5
6
7
10
11
12
13
14
15
IA
0
40
26
24
27
30
0
0
01
54
50
01
01
73
CA
IF
IFI
IF2
51474
65656
01253
30500
0
0
24502
30263
32010
01010
01010
47255
IF16
0
14
72401
74730
06671
17777
0
0
70152
02734
10101
10101
10165
14622
Comma assumed between
[ ] and preceding symbol
[ ]
SZ2
SZ3
499
Warning Alarm 2
1A
A
U
1
2
3
4
5
6
7
10
11
, n
J.'::::
13
1G
V
.1.0.1.
Tr'l
(\
40
41
24
27
30
0
0
01
54
1G2
24502
65656
01253
30500
0
0
24502
30263
cn
12
74101
74730
06671
17777
0
0
70152
02734
JV
32016
vlV"'%1
25
CA
51462
1G14
1"\
v
'MAndt~
E
assumed between
preceding symbol
1and
SZ2
SZ3
~7~A7
20177
Warning Alarm 3
0
1
2
3
4
5
6
7
10
11
1A
0
40
41
34
01
66
01
26
01
26
CA
IKl
1Kl
IK2
24502
50653
52245
33306
54305
30270
01010
51474
1K12
0
10
74101
42730
43050
53065
24624
12573
10101
72422
HAnd- inside parentheses
replaced by comma
Alarm Heading
0
1
2
3
4
5
6
7
10
11
1A
0
0
65
26
0
01
47
01
71
32
CA
II
112
112
30506
30010
0
01011
52676
01777
24545
21010
1112
6
10
63050
17777
0
72651
63043
77777
03450
17777
(real alarm)
(warning)
Sentence
~~
500
[ ]
66
warning, 6 6
~
6
6
(compute)
Temporaries Compute String-out
JD
0
1
2-14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35-61
Word index
Level Meter
Storage for SY
Index ~inside function U
Index ~inside subscr. var.Index inside pseudo opere
Counter of subscripts
Counter of elements in pseudo operation
Stored number of subscripts
Free (?)
Index ·pseudo was in listXS3 represent. of pseudo operation
XS3 represent. of function
XS3 represent. of subscripted variable
Extra level meter
CW pseudo operate (for no. of elements)
Built up format of function
Stored format of function
Index for pseudo operation
Stored CW + operands of pseudo operation
TJ
0-27
Space to build up pseudo operation for
Comb. Li st
501
rlow Chart for
Head
String-Out
RGI
'IF' branch
Yes
Yes
Inspect TA4 list word
to see if it is type
'--_-.--:-_ _--1"77" then put 1 in "30
symbol
bit" of TA5 word
Yes
Put word count in WL.
Put read indicator in
fixed location12.
Put variable count in
WL5.
502
Read String-Out Regions
RE
RE
RE
RE
RE
RG4400
E04474
EP4520
EQ4543
ER4564
String-Out subroutine regions are needed for assembly of this tape.
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
40
41
42
43
44
IA
MJ
RJ
TP
EJ
EJ
EJ
RJ
MJ
MJ
EJ
TP
QJ
RJ
EJ
EJ
MJ
TP
QT
TJ
TP
QS
RJ
TP
RA
RJ
EJ
MJ
RJ
EJ
MJ
RJ
TP
QJ
MJ
TP
RJ
TP
RG
0
SY
EPlO
RG57
RG60
RG6l
TA
0
0
RG6l
SYll
RG42
SY
RG61
RG63
0
TA4
RG64
RG65
RG66
RG66
TO
TA3
RG26
SY
RG62
0
SY
RG70
0
SY
SYll
RG42
0
SY2
LN2
LN3
CT
SYI
WL4
RG33
RGI
RG46
TAl
EPI
RG20
EOI
~G33
Exit to String-Out Control
Get next symbol
Clearing 5th line of output
Is symbol an IF?
Comma test
Space period test.
Get file from Combination List.
Error return from TA
}
Is symbol a space period?
Is symbol a constant?
SYI
RG
RGI
RG14
c~o;e~e;!renthesiS test,!
Q
A
Call word to q
Mask (0
0
XXOOO)
Test for "77 ---'. Type
Put 1 in 30 bit.
Send file back to Combination List
EPI
Q
TA5
TOI
[WL61
RG67
SYI
ERI
RG2
SYI
RG36
RGII
SYI
Q
RG41
E01
LN4
LN
WLA
}
Deleting loop
Open parenthesis detection gives alarm.
Begin IF rout.
Is symbol "SENTEN"?
}
Is symbol a constant?
}
Line number put in standard form and put
in output.
503
45
RJ
IX
IXI
46
47
50
51
,.....,.
TP
SS
ZJ
TP
RG26
RG71
RG51
A
A
0
EQ1
WL5
;),~
"rn
a.l
fi\:1lt:.
53
54
55
56
57
60
61
62
63
QS
RJ
MJ
34
21
01
17
43
/
A
TP
n"...,..,.
Line number put in referenced-line number
list.
TP TA3
to A
~L6J
TP
WL6
TA3
-
Variable count
hIT
WL
~2
RG73
Q
SS
0
31777
77777
22777
77777
77777
SSl
RG
77777
77777
77777
77777
77777
}
Oq
A
U
U
A
""""AAA
65
66
67
70
71
72
73
0
1
0
65
TP
0
0
CA
0
0
0
30506
TA3
0
2
RG74
76777
0
1
63050
WL6
6
0
Put read indicator into 12
Exit procedure
IF
~
(
)
IIUUU
1 in 30 bit
Read Error Print-Out Subroutines
IA
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
MJ
TP
RJ
TP
RJ
MJ
70
46
0
01
30
30
66
34
51
01
01
47
40
CA
IA
0
MJ
EP
0
SY2
WA
EP22
UP2
0
24543
30017
0
50516
50663
27013
33300
47305
50430
01010
65662
30506
EP6
EP23
EQ
0
RG30
EP10
WAI
UP3}
UP
EP
42425
77777
0
60147
45150
45001
11727
06534
10101
10101
46630
62277
14
Set-ups variable for print-out
(Read)
Pr int-out: Sentence
Print-Out shown below.
V A R I
L E ~
A B
~ N 0
T ~
E N T I 0
E D ~ I N
T H E ~ (
I M E N S
0 N ) ~ ~
~
8
~
~
~
M
N
~
D
I
~
~
S T A T E
M E N T . l:J.
~
RG55
504
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
0
1
2
3
4
5
RJ
TP
RJ
MJ
50
65
30
34
47
50
01
54
01
66
50
40
CA
WA
EQ20
UP2
0
51016
26543
27017
24254
30506
30270
66333
30242
01010
24663
66227
EQ5
EQ21
IA
MJ
RJ
ER
0
WA
ER27
UP2
0
67256
52663
24543
30650
01505
46465
01665
70300
01010
54305
66342
30725
65345
34500
01175
43016
30473
77777
ER5
ER30
TP
RJ
MJ
65
34
70
46
30
24
27
24
01
24
30
01
65
01
30
27
66
22
40
CA
IA
MJ
RJ
TP
RJ
MJ
67
EO
0
WA
E023
UP2
0
65345
WAI
UP3
UP
EQ
56725
45266
02454
63001
63451
13450
00117
74301
10165
04730
77777
13
N
S
E
I
M
N
11
R
11
T
N
0 11
C R
0 11
A B
E N
E 0
T H
E A
11 11
A T
T
U
P
V A
L E
T I
11 I
E 11
S
B
I
T
R
11
0
N
(
0
11
11 11 S
E M E
)
RG14
WAI
UP3
UP
ER
52654
02701
42425
12454
16601
17130
10133
10101
10152
06633
62446
25430
15065
16633
43024
56624
05066
77777
22
RG51
WA1
UP3
UP
EO
03201
E 11
0 )
T E
S C
T E 0
R I A
S 11 A
N 0 T
L 0 W
T 0 11
E 11 11
11 11 11
E N T
I C A
X P R
I 0 N
N 11 T
( R E
11 S T
M E N
U S
I
U
P
V A
L E
E 11
A L
0 11
A V
~ 11
A R
E T
11 E
S
I
S
S
11
I
505
B
N
R
11
B
R
11
E
H
11
P
H
L
E
S
H
A
A
T
G 11
6
7
10
11
12
66
54
34
65
54
'1
'l<"l
1
.Lv
14
15
16
17
20
21
22
23
33300
27013
47524
01543
30502
f\l<"lAf\
17151
43101
63430
03130
63450
lAt.~A
v~
VL~"'2V
L"'2VV"'2
50
25
67
01
54
51
27
40
30015
30542
66016
50674
01712
47346
22777
E05
E024
06747
10125
63330
72530
46501
66630
77777
16
CA
H E tJ.
0 II I
I M P L
S ~ R E
R E N C
G 1\ A ~
T
R
L....a
N
E
tJ.
B E R
U T tJ.
N U
~
R II W
0 M I
0
.
506
N
W
F
I
F
I
L
0
tJ.
E
E
N
I
U M
,
~
T
H E
B
E
M B
A S
~
T
E
T
Type String-Out.
The type string-out saves a call word and an excess-three representation
for every symbol of a type sentence even for parentheses, commas and the
like. Space period in excess-three form represents the end of the stringout.
The routine checks for type faults, wrongly chosen symbols and incorrect
number of subscripts of a subscripted variable. Furthermore it checks for all
sorts of errors induced by the combination of several symbols.
When the first symbol of the sentence following the word "type" is
space period, the routine prints an alarm and exits without further checking
of the sentence. This is the only case where the routine skips the rest of
the sentence. In all other cases the sentence is handled up to the very end
(if the number of alarms does not exceed the limit) and only contents of
parentheses may be skipped, where a preceding alarm made the checking of the
symbols inside the parentheses meaningless.
1)
The alarm print-outs are as follows:
Symbol [ ] illegal in type sentence.
2)
3)
4)
First symbol space point. Sentence not further checked.
Adjacent symbols [ J [ ] meaningless in type sentence.
Parentheses not correctly placed.
5)
6)
Subscripted variable ( ] has incorrect number of subscripts.
Alphanumeric symbol [ ] has digit as first character.
7)
appears as function or subscripted variable, but is not previously mentioned in problem.
Floating point variable [ J used as subscript.
Pseudo operation symbol [ J illegal in type sentence.
8)
9)
10)
Subscripts of subscripted variable [ ) are missing.
11)
12)
Library routine symbol [ J illegal in type sentence.
Floating point variable [ ] used as function symbol or as subscripted
13)
14)
15)
variable.
Subscript [ ] appears as function or subscripted variable.
Subscript [ ] used as argument of a function.
Function symbol [ ] appears as subscript.
507
( J
16)
Constant [ J appears as function or subscripted variable.
17)
Constant
18)
Negative subscript [ ] illegal.
E1appears
as variable to be typed.
Warnings.
1)
Comma assumed preceding symbol [ J •.
2)
Typed value of function [ ) may not correspond to stated arguments.
508
MG
TYPE SlliINGOUT
[Entrance from
~S~0~ut ~(~~r~l
Exit
MG13
MGll
r-N~o____________________-y~Clear
word
index
Symbo 1 unde r
consideration
in SZ2-14
MGllO
Replace in SZ2 the
ND by comma
"Next symbol"
to look at
inSY2-14
MB14
MBlO
Wa rni ng ala rm.J space
betw. words replaced by comma
to GO TO
END in jump before
get next symbol
RJ set CW and XS3 for
comma in stringout
ana adv. for next
addr. by 2
Ul
o
to
Alarm 6, alphanumeric symbol starts
with digit
MH
Is first character
a letter?
MH4
Is symbo 1 a
number? SZ12 neg.
Alarm 6A, alphanumeric symbol
starts with digit
Alarm 21, number
used as function
Alarm 22, ~ in type
comm. allowed only
inside parent.
MJ20
MJ2
E
~~--------~
Put CW and XS3 in
stringout and adv.
addr. by 2
TYPE Stringout (Cont.)
M:;71
MG64
Neg. sign
Is SYll
M;66
= 40?
Ye
Is SYl2
MG70
= O?
Ye
Are we inside
va riab Ie?
No
Change jump EJ ...
NUMBER in ALPHNUM+4
to EJ •.• NEC
----'"
Yes
MF77
A lann 23.ncg.
subscr. i llega 1
-~
MF15
comma
----
Alarm 1.
i llega 1 symbo 1 in
type comm.
Other
MG24
Put CW and XS3 in
stringout and adv.
addr. by 2
MG27
I s next symbo 1 )
or, or; ?
No
MG32
I s next
symbo 1 ( ?
----
No
Yes
MF103
Alann 2, symbol for
fct. or subscr. var.
forgotten
;
MG62
Yes
MF20
-B
Alarm 3. nonalphanum.symbol
screwed up
r.r;34
(
Put cw and XS3 in
stringout and adv.
addr. by 2
)
r.r;40
Put CW and XS3 in
stringout and adv.
addr. by 2
H
r.r;36
Yes
MG27
Increase Leve 1
Meter by 1
Is next symbol )
or , or ; ?
H
ftf;42
MG32
No
Is
MG60
F
level~O?
No
Clear Level Meter
and inside funct.
and inside subscr.
var.
MF24
Alarm 4, parent.
not proper ly placed
(neg. leve 1)
E
Is next
symbo 1 ( ?
No
r.r;45
MG47
Decrease Leve 1
Meter by 1
Yes
~
Y~!s
r.r;50
Were we inside
subscr. variable?
No
IRedoce
i"d."~
Ifunct." by 1
Yes
RJ53
Set index "inside
subscr. var." to
zero
MG55
- { Is counter of
subscripts=~ of subscr. (stored)?
I
MG56
JNo
Clear counter of
subscripts
Yes
MG32
Ye~
Is ""xt
symbol
MF26
~
(?
--
~ Al'm 5, s"bso"pted
var. has wrong +t- of
subscripts
~
TYPE Stringout (Cont.)
Put no. of subscr.
and XS3 code of
subscr. var. in
storage
MH30
MH20
Was it subscripted
var.?
77
Set index "inside
subscr. var." to 1
No
Alarm 13, subser.
k-----------------------------------------------~ of subscr. var.
mi ssi ng
MF37
MH36
Are we
scr. variable?
Alarm 14 or 11)
~---------------------~ sin g Ie va 1. va r.
used as subscript
MH16
Was it sing Ie
valued funct.?
65
No
No
MF53
Alarm 15, single val.
fct. used as symbol
for funct. or subscr.
var.
MF56
MH15
MH42
Alarm 16, subscr.
used as symbol for
funct. or subser.
var.
Was it fixed point
~---I var.? (subscript)64
No
MH50
~------------------------~Adv. counter of
subscripts by 1
Are we inside
subsc r. va r. ?
MF61
Alarm 17A, subscr.
k-------------------------J u sed a s a rgume n t 0 f
function
MF64
Alarm 20,
function used as
subscript
MH54
Yes
MH52
Are we inside
subser. var.?
Adv. counter for
sub~cr. by 1
MH17
No
No
MH61
Warning alarm 2,
typed val. of fct.
may not correspond
to stated arguments
Set indo inside
funct. to 1
MF42
Alarm 12, pseudo-oper. Ye
~--------------------------------------------~ symbol illegal in
TYPE sentence
MH23
Wa sit pseudo
oper.?
40
MF45
No
Alarm 12A) Lib.
Rout. illegal in
TYPE sentence
I
L-----------------L-(
511
TYPE StringJut (Cont.)
MH6
MH7
not in comb.
list
found in
comb. Ii st
MHll
Put CW and XS3 code
in stringout and adv.
addr. for next
string. by 2
MIl
Is next symbol
(?
SY2
MF34
Alarm 10, fct. or
subscr. var. not
mentioned in comb.
list
MI3
M 23
Are we inside ar-
No
'--_---'w
gum. of subser. va r.?
MI24
MI21
Add I to counter
of subscripts
re we inside argum. of subscripted
var ?
es
L,oriPts
~o counter of
No
~
~t~or
< single
val. fltp.
var. _
No
Yes
MF1l7
No
MH12
Alarm 11, single
val. fltp. var. used
as subscript
MI6
Assign CW f o g
val. fltp.
var. _
< single
MI30
Add new s i n J g e
< val. var. to Comb.
List
Mill
MF1l5
Alarm 17, subscript
used as argo of fct.
MI17
Put CW and XS3 in
stringout and adv.
addr. by 2
MIl7
Put CW and XS3 code
in stringout and
adv. addr. by 2
MIl7
A:I17
~~------------~-----------~--------~~
TiPE Stringout (Cont.)
MK
MK 1
Put CW and XS 3
SY2 ••• in
Adv. Level Meter
by 1
MKll
0
MG
MKl2
f
Jump to Exi t
Alarm 23~
level not back to
zero
r.t;75
Restore jump in ALPHANUM + 4 from JP ••• NEC
to JP---NUMBER (from
M461 to r.t\17l)
MG76
MGlOl
Blend neg. sign
into XS3 code
Jump back to
routine
(-NU~ER)
c.n
.....
w
MLl
Clear extra
Leve 1 Meter
ML2
Get next
symbo 1
MLll
MLA
Is symbol at
hand (?
Adv. extra
Leve 1 Meter
No
ML5
Is symbol at
ha nd ) ?
No
Yes
MLl6
MLl4
Is extra Level
Meter>l?
No
Yes
Yes
ML20
Reduce extra Level
Meter by 1
Jump to r.t;4 in beginning of routine
to get next symbol
MK
MKl
Adv. Leve 1
meter by 1
Go on in
GO TO END
Type String-Out Regions
RE
RE
RE
MG4400
MH4512
MI4577
fwlJ463 1
MK4656
ML4671
RE
RE
MB4713
MC4773
RE
MF5034
RE
RE
RE
RE
RE
YY5162
YB5175
YC5215
YD5227
YE5244
YF5263
YG5273
YH5312
YI5330
YJ5355
YK5370
YL5406
YM5424
YN5442
Y05464
YP5504
YQ5517
YR5531
YS5552
YT5571
YZ5603
RE
ME 5614
RE
MM6140
RE
MN6240
HE
RE
RE
HE
HE
RE
RE
RE
RE
RE
RE
RE
RE
RE
HE
RE
HE
RE
HE
Program main part
Subroutines
Constants
Alarm entries
String-Out Subroutine ragions are also needed to assemble this tape.
514
IA
o
TP
o
CT
MC36
10025
MC12
EW3
:102}
o
MG6
1
2
RP
3
4
TP
MJ
5
o
o
o
6
RJ
EJ
SY
MCI
MC13
SZ7
SZll
SYI
MB
7
10
TP
11
EJ
EJ
12
NonAlphaNumeric
MJ
MG
13
14
15
16
17
20
21
22
23
Comma
24
25
26
27
30
31
32
33
First Par 34
35
36
37
Last Par 40
41
42
43
44
45
46
TP
TP
EJ
EJ
EJ
EJ
EJ
EJ
MJ
TP
RJ
TP
EJ
EJ
EJ
EJ
MJ
TP
RJ
RA
MJ
TP
RJ
RS
SJ
MC12
SZ2
MC3
MC5
MC4
MC2
MC34
MC35
o
MC26
MB37
SY2
MC2
MC3
MC4
MCS
o
MC
MB37
ME17
o
A
MGI05
MGI05
ME16
A
MG24
MG34
MG40
MG62
MG64
MG64
MF15
ME13 }
MB34
A
MF20
MF20
MF20
MFI03
MG4
ME13 }
MB34
MC14
MG26
ME13 }
MB34
MC14
MG44
TJ
TJ
MC30
MB37
ME17
MG60
MC12
ME20
ME21
47
MJ
o
MG4
50
51
52
53
54
RS
ME21
SY2
MC14
TP
MJ
o
TP
MC12
ME22
TP
RS
A
MG53
MG50
~G32
}
ME20
ME23
Exit
Set EW3
Clear temporaries and go to check
for D. • in start
Come from MGI04 "before get next
symbol"
Free (first RJ SY SYI see in patch,
MGI02)
Get next symbol for SY (later ~ SZ)
Is next symbol ~ . (the end point)?
Put 1'40 0 CJ" --.+A
Is first digit a letter?
Is first digit a number or decimal
point?
Clear word index
Put XS3 code at hand ~ A
Is it, ?
Is it ( ?
Is it) ?
Is it ; ?
Is it neg. sign upper case?
Is it neg. sign lower case?
Illegal non-alph~wmeric symbol in
type command
Fill string-out for comma
Put next symbol ~A
Is it , ?
Is it , ?
Is it ) ?
Is it ( ?
Go to "before get next"
Fill string-out for (
Adv. Level Meter by 1
Do the same error tests as comma
Fill string-out for)
Reduce Level Meter by 1
Is Level Meter ~ O?
Yes, put zero ~A
Are we inside subscr. var.?
No: are we inside function? Only
alternative with level > 0
No: jump to get next symbol (really
not needed; should never occur)
Subtr. 1 from "inside funct" index
Jump to one more error test
Clear index "inside subscr. var."
Subtr. "counted # of subscr." "stored"# of subscr."
515
ZJ
MG56
MG5l
56
TP
MC12
57
MJ
o
ME22
MF26
60
61
RP
TP
10003
MC12
MF24 ')
ME17 1
62
63
TP
55
Semicolon
Negative
64
65
MC3
MJ
o
SZ2 }
MG24
TP
MC13
SYll
A
SY12
MC14
ME20
MC6
MF15
TJ
66
67
70
71
72
73
EJ
TP
EJ
TV
MJ
RA
ME22
MF77
o
74
MJ
o
TV
76
77
SP
SA
MelO
MC30
SZ2
100
101
MJ
,
DT
(V)
.LV;;"
LT
U.U
103
EJ
104
105
106
107
110
MJ
1P
III
EJ
MJ
~77
MH4
MG4
MC14
75
NEC
MF15
o
o
}
MH4
25 }
36
SZ2
MJ
C'V
MF123
o
MG4
SZ2
MC33
A
o
MJ
o
CA
MGl12
~~~ .LLVlU
;~_~~~R \:ICI.
~~?d!!~~:\
~:~~h~~~:
.L.LLA:)l.j"'dO')C I.Udl.
vVIllC
MCI
MC3
Set jump for neg. no.
Jump to "before get next"
No more
Adv. no. of subscr.
used?
Jump to alarm lA
Restore jump to NUMBER
Blend neg. sign (lower case) in
XS3 code
J
.... .1.
TP
Is counted no. of var. of subscr.
var. OK?
Clear counter of subscripts
Jump to alarm 5 (no. of subscripts
not correct)
Come from MG43
Level Meter neg; clear Level Meter
and inside subscr. variable and inside funct. and go to alarm 4
Case; sneak XS3 code of comma in
SZ2 and jump to making string-out
for comma
Put n40c,l c,I"~A
Is next symbol not starting with
decimal pt. or digit?
Contains next symbol a letter?
Are we inside subscr. var.?
MGllO
MH
SZ2
MG13
516
II1U' ,
symbol
Is first symbol ~ .?
Yes, go to alarm.
No, go on in routine
Come from MGll or MGl2
Is symbol "AND"?
No, go on in rout.
Yes. sneak comma in SZ2
Go on in routine
sentence
starts
with ~
patch for
case
"AND" instead of
comma
AlphaNumeric
Tn Comb.
List
IA
TP
TJ
MH
MCl2
MEl6
2
3
TP
4
5
EJ
EJ
MC14
MCl2
SZl2
SZ7
6
RJ
MB21
MBl5
7
RJ
TA
TAl
10
II
MJ
o
MI
RJ
MB33
MB30
RJ
Q
0
I
TP
Put zero ~A
Is word ind. > zero? When yes,
warning alarm I
Put I in word index
Clear A
Has symbol no letter?
With letter: is first character
not a letter?
Write SZ2-14 ~ SY2-14 and save SY2
in ME
Is symbol at hand in Combination
List?
No
Yes, put CW and XS3 code in stringout
Write SY2-14 back in its place
Mask for call word symbol ~ Q
Call word symbol ~ MEl3 and A
Was symbol in Comb. List subscript?
64
Was symbol in Comb. List single val.
variable? 65
Was symbol in Comb. List function?
A
MBIO
MEl6
A
MJ
MB43
12
13
14
15
QT
EJ
MB24
MC22
TA4
MCl7
16
EJ
MC20
MH35
17
EJ
MC21
MH52
20
EJ
MC22
MH25
21
22
23
Subvar 2 24
TP
QT
EJ
MJ
MC31
TA4
MC37
~13}
MF42
TP
MB22
MEl3
MH42
66
25
26
27
30
31
32
33
34
Sinvalf
35
2
36
37
40
41
Sub42
script 2 43
o
TP
EJ
MJ
TP
TP
QT
TP
MGl4
MC23
TA5
TA3
MJ
o
TP
MCl2
ME20
MC5
TJ
TP
EJ
MJ
TP
EJ
MC5
ME
o
ME
o
MC5
ME
44
TP
MCl2
45
46
47
TJ
TJ
MJ
ME20
ME21
o
MF45
~30 }
MF50
ME20
~23
}
ME24
MG4
~63
~53
}
}
MG4
~56
~H50
}
}
MF61
MG4
517
Was symbol in Comb. List subscripted variable? 77
Was symbol in Comb. List pseudo op?
40
Was symbol in Comb. List Library
Routine?
Is next symbol ( ?
No, go to alarm
Put I in "inside subscr. var."
Put no. of subscr. in storage
Put XS3 code of subscr. var. in
storage
Go to "bef. get next"
Are we inside subscr. var.?
No: is next symbol ( ?
No: go to "bef. get next"
Is next symbol ( ?
Are we inside subscr. var.?
No: are we inside funct.?
No: go to get next symbol
Sub50
script 2A 51
RA
ME22
MJ
o
MC14
MG4
52
53
54
TP
EJ
RA
MC12
ME20
ME22
~56
55
56
57
60
61
62
63
MJ
TP
EJ
MJ
TP
MJ
RA
MJ
CA
Function 2
64
Not in
List
~H61
o
MG4
ME21
MF12
MC14
MF37
o
o
}
Are we not inside subscr. var.?
We are inside: adv. counter of
subscr. by I
Go to alarm 20
We are not inside: is next symbol
( ?
Go to l'before get next"
Set "inside funct" to 1
Go to warning alarm 2
Adv. counter of subscr.
Go to alarm 11 or 14
MH65
1
2
3
ME
4
TJ
ME20
MI21
5
TJ
ME21
MFl15
6
RJ
RJ
RH
AT
MC17
RHI
TKI
ME13
RJ
TP
TP
TP
TP
RJ
RJ
MB37
MC27
SZ2
ME13
MC12
11
12
13
14
15
16
17
1
MF64
IA
TP
EJ
TP
EJ
o
7
10
Sinva1f
o
ME22
}
MC14
MC5
ME
MC14
Adv. counter of subscr. by 1
Go to "before get next"
MI
MC5
MC12
SZlO
TK
~34
~I23
}
MB34
TFl
TF }
TF2
TF3
20
MJ
o
21
RA
ME22
22
MJ
o
TEl
MB22
MG4
MC14
MI6
23
24
EJ
RA
ME20
ME22
MI26
MC14
25
26
27
30
MJ
RJ
RJ
o
RH
MF117
RHI
TK
'lK1
AT
MC20
ME13
31
MJ
o
MIll
CA
MI32
TE
MB24
}
Is next symbol ( ? yes: go to
alarm 10
No: is first letter not I,J,K,L,M?
First letter I,J,K,L,M: Are we
inside subscr. var.?
Not inside sub. var.:are we inside
function? Yes, go to alarm 17
No, check format
Get CW no. for 64: 65, 66 type
Add 64 to it and store formed CW
in ME13
Fill string-out, etc.
fJ
3 ~
Add new
XS3 code
CW
file to
Combination
zero
List
Write SY2-14 back in its place
Go to "before get next"
Adv. counter for subscripts
Go to set subscr. in string-out and
Comb. List
ATe we not inside subscr. var.?
We are inside: adv. counter for
subscr.
Jump to alarm
Check format
Get CW No. for 64, 65, 66
Add 65--- and store formed CW in
ME13
Go to set single val. funct. in
String-out and Comb. List
518
Number
2
3
4
IA
TP
EJ
TP
EJ
RJ
MJ
MC5
SY2
MC12
ME17
MB21
~67 }
~73 }
5
6
7
TP
EJ
RA
MC12
ME20
ME22
~23 }
10
11
12
MJ
0
RJ
0
0
RD
MJ12
0
RDI
13
14
15
16
17
20
21
22
23
24
TP
RJ
SZ2
RS2
TS3
RS4
RS
A
GWI
ME13 }
M834
MB22
0
1
Stated
TP
RJ
TP
RJ
RJ
MJ
TP
MJ
CA
GW
Q
MB37
MB24
0
MC16
0
}
}
Is next symbol ( ? Yes, go to
alarm 21
Is level = O? Yes, go to alarm 22
No: store SZ2-14 ~SY2-14 WORKWORK12
Are we not inside subscr. var.?
We are inside sub. var.: add 1 to
counter of subscripts
Jump to over-next instr.
Free
Check format of fixed point constant
Convert XS3 decimal no. to fixed
pt. octal no.
Assign constant CW
:i3}
Put CW and XS3 code in string-out
and adv.
Write SY2-14 back
Go to "before get next"
Assign 75--- CW for funct. subscr.
MB15
MC14
MJ20
MJ25
519
Bef.Go
0
~
Go To
3
End
4
5
6
7
Bef.
Extrif
Extra
MEHR
1OC14
ME13 }
TP
SY2
SZ2
RJ
MB37
MC12
ME17
MB34
A
MF121
TP
TJ
RS
AT
EW3
r.r;40
A
10
TV
11
RJ
WT
12
MJ
CA
MK13
0
1
2
IA
RJ
TP
RJ
TP
EJ
EJ
TP
EJ
o
ML
MB24
MC12
SY
SZ2
1OC5
MC4
SY2
MCl
10
MJ
o
11
12
13
RA
ME15
MJ
o
TP
MC14
14
TJ
ME15
IF
"-',rn
.::)J.~
EJ
MCl
15
16
Most
MK
ME17
MC32
1OC14
A
3
4
5
6
7
NocH
fA
RA
TP
Adv. Level Meter
Wr i te
~
J
WL
WTl
MG
}
ML13
ML2
MC14
ML2
in string-out
Is Level Meter = O?
No, go to alarm 4
1
END
Exit
SYI
~
•
Send string-out to tape
MB22
ME15
~Lll
fj.
}
Restore SY2-14
Put zero in "extra Level Meter"
Get next symbol
Is symbol at hand ( ?
Is symbol at hand ) ?
Is next symbol fj. • ?
Adv. extra Level Meter
~20
}
Is extra Level Meter
A
}
Is next symbol 6 . ?
Go to "bef. get next"
Reduce extra Level Meter by 1
17
MJ
o
MKl
MG4
20
RS
ME15
1OC14
21
MJ
CA
o
ML2
ML22
520
> 1 ?
Subroutines
o
IA
MB
TV
ML16
MG4
MG10
EW2
ME14
EWl
1
MJ
o
2
3
4
TP
TP
RJ
30000
30000
EW
5
TP
RJ
ME14
EW
MJ
o
EW2
EWI
30000
10
RJ
11
TU
TU
MB54
MC25
MG30
MB2
MB3
6
7
12
}
MF
Put "JUMP to EXIT" in place "bef.
get next"
Back to routine
CW
XS3 symbol
Place CW and XS3 code in string-out
and adv. addresses concerned
Warning 1
Go to print warning alarm, and put
string-out for comma in list and go
back to routine.
13
14
15
16
RJ
MJ
RP
17
20
RP
21
MJ
RP
TP
ME
MJ
o
MB21
SY2
30000
MB24
SY2
30000
TP
ST
MC5
SY2
A
A
27
30
31
ZJ
MLl
TU
TU
MG4
MC10
MCll
}
Is next symbol ( ? when no, go to
get next symbol. When yes, come
back to RJ
MB2
MB3
}
Place CW and XS3 code in string-out
when found in Comb. List
32
33
34
35
RJ
MB7
}
Place CW and XS3 code in string-out
when CW placedin ME13
36
RJ
MJ
TP
MB7
o
30013
SY2
MB2
MH2
MB17
Write ttget next symbol" SZ2-14
~SY2-l4 and save SY2-l4 in
ME
MEO-12
22
23
24
25
26
37
40
41
42
43
44
45
TP
30013
SZ2
o
30013
Write SY2-14 back
MB2
MJ
o
30000
TU
TU
MC6
MC7
MB7
MB2
MB3
MB2
o
rooo}
Free
Alpha-numeric symbol with first
char. digit (SY not yet moved, OK)
o
o
o
o
o
o
TP
EJ
MC5
SY2
~105 }
MJ
o
MF31
521
46
47
50
51
52
53
54
55
56
57
RJ
TP
TP
RJ
TP
RJ
RJ
MJ
TP
MJ
CA
UZ
YZ1
WL1
UP2
30000
UP2
MB54
0
yz
0
MB60
UZ1
UP3
YZ4
UP
UP3
UP
MB55
MG4
UP3
MB50 )
Error count
heading printed
Error print
1
text printed
)
Exit for RJ used
Normal exit
Entry for warnings
522
Alarm Entries and Exits
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
56
57
60
IA
TP
TP
TO
MJ
0
0
0
0
0
0
MF
SZ2
SZ3
YY
0
0
0
YYI0
YYll
MB52
MB56
0
0
0
0
TP
0
0
0
SZ2
YB
0
SZ2
YC
0
SZ2
SY2
TIJ
YE
MJ
TP
0
YF
0
ME24
YG
0
SZ2
YH
0
SZ2
YI
0
SZ2
YJ
0
SZ2
0
0
0
YB6
MB52
MB56
YC4
MB52
MB46
YE5
YE7
MB52
MB46
MB52
MB46
YG6
MB52
MB46
YH6
MB52
MB46
TIJ
YK
MJ
TP
0
SZ2
YM
0
SZ2
YL
0
SZ2
YN
0
SZ2
YO
0
TP
TIJ
MJ
TP
TIJ
MJ
TP
TIJ
MJ
TP
TIJ
MJ
TP
TO
MJ
TP
TO
MJ
TP
TO
MJ
TO
MJ
TP
TO
MJ
TP
TU
MJ
TP
TO
MJ
}
Warning alarm 1
Free
}
Warning alarm 2
}
Alarm 1
}
Alarm 3
}
Alarm 4
}
Alarm 5
}
Alarm 6
YI2
MB52 }
MFl13
YJ6 }
MB52
MB46
YK6 }
MB52
MFlll
YM6 }
MB52
MFlll
YLlO }
MB52
MB46
YN6
MB52 }
MFI07
Y04 }
MB52
MFI07
523
Alarm 10
Alarm 11
Alarm 12
Alarm 14 = 12A
Alarm 13
Alarm 15
Alarm 16
61
62
63
64
65
66
67
70
71
72
73
74
75
76
77
100
101
102
103
104
105
106
107
110
III
112
113
114
115
116
117
120
121
122
123
124
125
TP
TO
MJ
TP
TU
MJ
TP
TP
TO
SZ2
YP
0
SZ2
YQ
0
SZ2
SZ3
YR
M.1
TP
TP
TO
MJ
0
SZ2
SZ3
YS
TP
TP
SZ2
SY2
YT
0
MB54
0
SZ2
YH
MB54
0
MB54
TO
MJ
RJ
MJ
TP
TO
RJ
MJ
RJ
0
MJ
0
RJ
MB54
0
MB54
0
MB54
0
MB54
0
YD
MB54
0
MF126
MJ
RJ
MJ
RJ
MJ
RJ
MJ
TO
RJ
MJ
CA
YP4 }
MB52
MB46
YQ5 ~
Alarm 17
Alarm 20
MREl2
~46)
m4
YR5
}
Alarm 21
MB52
MFI07
YS4 }
YS5
MB52
MB46
Alarm 22
YT6 "
YT7 }
Alarm 23
MF20 }
Alarm old 2
MB52
MB46
MLI
= lA
= 3A
YH6
MB52 }
MB46
MLI
MB46 '}
MB25
MB46 )
ML
Alarm 6A
J
MF61 }
MI17
MF37 }
MI17
MF24 }
MG
MB52 }
Alarm 17
Alarm 11
Alarm 2 (first symbol
MB46
JIG
524
~
.)
Warning Alarm 1
0
1
2
3
4
5
6
7
10
11
12
IA
0
40
26
24
27
30
77
77
0
0
01
CA
YY
YYl
YY2
51474
65656
01525
27345
77777
77777
0
0
22777
YY13
0
11
72401
74730
43026
03201
77777
77777
0
0
77777
Comma assumed preceding symbol[ ] .
SZ2
SZ3
Warning Alarm 2
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
IA
0
40
66
70
51
26
0
01
51
01
01
51
51
01
27
47
CA
YB
YB1
YB2
73523
24466
31013
66345
0
47247
66010
01010
01010
54543
50270
65662
01245
30506
YB20
0
16
02701
73001
16750
15001
0
30150
10101
10101
10126
06552
16651
46630
43267
66522
Typed value of function[ ] may not
correspond to stated arguments.
SZ2
525
Alarm 1
0
1
.l
2
3
4
5
6
7
10
11
IA
0
YC
YCl
"1"\
"iV
vrn
65
01
0
01
24
66
30
30
CA
73472
77777
0
34464
46013
73523
50663
22777
YC12
~\J~
0
,A
.LV
55146
77777
0
63032
45001
00165
05026
77777
Symbol [
] illegal
in type sentence.
SZ2
Alarm 2
0
1
2
3
4
5
6
7
10
11
12
13
14
IA
0
40
31
65
01
01
22
30
51
66
01
01
30
CA
YO
Y01
Y02
34546
73472
65522
52513
01653
50263
66013
33305
01010
01010
26453
Y015
0
13
56601
55146
42630
45066
05066
00150
16754
40101
10101
12633
02722
First symbol space point.
Sentence not further checked.
526
Alarm 3
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
IA
0
40
24
50
25
0
01
0
01
50
01
52
01
01
66
CA
YE
YEl
YE2
27442
66016
51466
0
77777
0
47302
32463
34500
30010
01010
01016
30502
YE17
0
15
42630
57347
50177
0
77777
0
45034
06565
16673
10101
lO101
53050
63022
Adj acent symbols [ ] [ ]
meaningless In type
sentence.
SZ2
SY2
Alarm 4
0
1
2
3
4
5
6
7
IA
0
40
52
33
50
54
73
30
CA
YF
YFI
YF2
24543
30653
51660
54302
01524
27227
YFI0
0
6
05066
06501
12651
66646
62426
77777
Parentheses not correctly placed.
527
Alarm 5
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
1A
YG
0
40
65
34
70
46
0
01
50
26
25
01
01
01
54
YGI
YG2
67256
52663
24543
30017
0
33246
26515
66015
30540
01010
01010
65672
34526
YG17
CA
0
15
52654
02701
42425
77777
0
50134
45430
06747
10101
10101
15131
56526
66522
Subscripted variable[ ] has
incorrect number of subscripts.
ME 24
Alarm 6
IA
0
0
1
40
2
3
4
5
6
7
10
11
12
13
14
15
24
67
01
46
0
01
34
65
66
01
01
24
CA
YH
YHl
YH2
46523
47305
65734
01777
0
33246
32346
01313
01010
01010
01263
26663
YH16
0
14
32450
43426
72551
77777
0
50127
60124
45465
10101
10101
32454
05422
Alpha-numeric symbol[ Jhas
digit as first character.
SZ2
528
Alarm 10
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
IA
0
40
0
01
54
24
66
54
26
27
01
01
01
25
67
50
30
46
66
01
51
CA
YI
YIl
YI2
0
24525
65012
01316
34515
01656
54345
01010
01010
01010
70245
46302
66013
51660
70345
73014
34515
34500
25463
YI25
0
23
0
23024
46501
75026
00151
72565
26630
10101
10101
10101
43424
10125
46501
15254
16765
73050
03027
15254
04722
SZ2
[ ] Appears as function or
subscripted variable, but is
not previously mentioned in problem.
Alarm 11
IA
0
1
2
3
4
5
6
7
10
11
12
0
40
31
50
50
34
0
01
24
65
22
CA
YJ
YJl
YJ2
46512
32015
66017
24254
0
67653
65016
26543
77777
YJ13
0
11
46634
25134
02454
63001
0
02701
56725
45266
77777
= Alarm
14
Floating point variable[ ]
used as subscript.
SZ2
529
Alarm 12
0
1
2
3
4
5
6
7
10
IA
YK
0
40
52
01
66
73
0
01
24
YKI
YK2
65306
51523
34515
47255
0
34464
46013
11
66
73523
12
13
14
15
01
01
01
66
CA
01010
01010
01016
30502
YK16
0
14
72751
05424
00165
14601
0
63022
45001
00101
10101
10101
53050
63022
Pseudo operation symbol[ ]
illegal in type sentence.
SZ2
Alarm 13
0
1
2
IA
0
40
65
3
34
4
5
6
7
10
11
12
13
14
15
31
26
27
24
0
01
01
01
01
65
CA
YL
YLI
YL2
67256
52666
01656
54345
01702
25463
0
24543
01010
01010
01010
65345
YL16
0
14
52654
50151
72565
26630
45434
00177
0
00101
10101
10101
14734
03222
Subscripts of subscripted
variable[ J are missing.
SZ2
530
Alarm 14 = 12A
0
1
2
3
4
5
6
7
10
11
12
13
14
15
IA
0
40
46
73
34
47
0
01
24
66
01
01
01
66
CA
YM
YMI
YM2
34255
01545
50300
25514
0
34464
46013
73523
01010
01010
01016
30502
YM16
0
14
42454
16766
16573
60177
0
63032
45001
00101
10101
10101
53050
63022
Library Routine symbol [ ]
illegal in type sentence.
SZ2
Alarm 15
0
1
2
IA
0
40
31
YN
YNI
YN2
46512
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
50
50
34
0
01
24
26
01
01
65
01
01
54
01
25
CA
32015
66017
24254
0
67653
65013
66345
01010
01010
73472
51540
65672
34526
70246
46302
YN22
0
20
46634
25134
02454
63001
0
02701
16750
15001
10101
10101
55146
12465
56526
63027
43424
27777
Flo a tin 9 po in t va ria b1e [ ]
used as function symbol
or as subscripted variable.
SZ2
531
Alarm 16
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
IA
0
40
65
34
0
01
54
31
51
01
01
01
65
34
70
46
CA
YO
YOl
Y02
67256
52660
0
24525
65012
67502
50015
01010
01010
01010
67256
52663
24543
30227
Y020
0
16
52654
17777
0
23024
46501
66634
15401
10101
10101
10101
52654
02701
42425
77777
Subscript [ ] appears as
function or subscripted
variable.
SZ2
532
Alarm 17
0
1
2
3
4
5
6
7
10
11
12
IA
0
40
65
34
0
01
24
67
51
67
50
CA
YP
YPI
YP2
67256
52660
0
67653
65012
47305
31012
50266
22777
YP13
0
11
52654
17777
0
02701
45432
06601
40131
6345J
77777
Subscri pt [ ] used as
argument of a functi on.
SZ2
Alarm 20
0
1
2
3
4
5
6
7
10
11
IA
YQ
0
40
31
51
25
0
01
54
65
34
CA
YQl
YQ2
67502
50016
51460
0
24525
65012
67256
52662
YQ12
0
10
66634
57347
17777
0
23024
46501
52654
27777
Function symbol [ ]
appears as subscript.
SZ2
533
Alarm 21
IA
0
40
26
50
YR
4
0
0
0
5
6
7
10
11
12
13
14
15
16
17
20
0
01
54
31
51
01
01
01
01
65
30
34
CA
0
24525
65012
67502
50015
01010
01010
01010
01016
26543
27017
24254
YR21
0
23024
46501
66634
15401
10101
10101
10101
56725
45266
02454
63022
0
1
2
3
YRl
YR2
51506
66017
0
17
56624
77777
[ ]
Constant [ ] appears as
function or subscripted variable
SZ2
SZ3
Alarm 22
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
IA
0
40
26
50
0
0
01
54
70
46
25
01
01
01
66
CA
YS
YSI
YS2
51506
66017
0
0
24525
65012
24543
30016
30010
01010
01010
01010
73523
YS17
0
15
56624
77777
0
0
23024
46501
42425
65101
10101
10101
10101
10101
02722
Constant ~ ~ appears as
variable to be typed
SZ2
SZ3
534
Alarm 23
IA
0
1
2
3
4
5
6
7
10
11
0
40
50
70
65
01
0
0
01
24
CA
YT
ITI
YT2
30322
30016
26543
77777
0
0
34464
46227
YT12
0
10
46634
56725
45266
77777
0
0
63032
77777
= lA
Negative subscript [
] illegal.
SZ2
SY2
Headings for Warnings and AlarmS'
yz
2
3
4
IA
0
0
65
26
0
YZ2
YZ2
30506
30010
0
7
5
63050
17777
0
5
6
7
10
01
52
71
32
01011
30430
24545
21010
YZll
76673
10177
03450
17777
0
1
CA
Sentence no.
Sentence 6 ~ [ ] ~ ~~
(Type) ~ 6
Warning,
535
~ ~
Constants
o
o
fA
roc
1
o
1
01
23
21
43
17
22777
77777
77777
77777
77777
ME13
SZ2
77777
77777
77777
77777
77777
MG75 }
MG4
TA4
TA3
~J
0
o
o
2
3
4
5
6
7
o
o
10
11
12
13
o
o
14
15
16
17
20
21
22
23
24
25
26
27
o
40
0
o
o
o
o
0
0
0
0
0
0
0
0
o
o
o
o
o
o
o
o
1
2
75000
64000
65000
66000
77000
77777
~26
o
o
0
40
77777
3
o
}
u adv. and CW for (
XS3 corle of {)
XS3 code of
XS3 code of ,
XS3 code of )
XS3 code of (
For symbols with CW in ME13
For symbols found in Comb. List
Zero
Indicator
One
Two
For Dununy CW
For CW fixed point variable
For CW single val.
For CW function
For CW and mask
Mask
Mask
Address of CW for comma
CW for comma
For adv. u
en
'11\
vv
1\
'1
r-
r\
o
For auv.
31
32
33
0
0
24
02
o
o
50277
77777
77777
WL3
Mask for pseudo op
CW for ~
ttand"
tt ___ " XS3 lower case
tt ___ tt XS3 upper case
Constant for EW3
CA
WL
MC4l
70000
120
77777
77777
77777
WL3
40000
WL
34
35
36
37
40
v
o
o
o
0
V
536
u.
ctiiU
l(j:st par.
Temporaries:
ME
0-12
13
14
15
16
17
ME
20
21
22
23
24
Type String-out
Storage for SY2-14
Temp. storage for CW (call word)
Temp. storage for new MB3
Extra Level Meter
Word index
Level Meter
Index "inside subscripted variable"
Index "inside subscripted function"
Counter for subscripts
Stored value for number of subscripts
Stored XS3 code of subscripted variable
537
List String-Out Routine
The List String-Out Routine translates the pseudo code "List" sentences
from the corrected Problem Tape on Uniservo 5 and edits and stores the information in the format prescribed for input to the List Generation routine
(see List Generation write-up). During the translation of the input sentence,
extensive checks are made for strict adherence to the List sentence format
specified
required.
in the Unicode manual, including the proper use of commas where
When an error is detected, a statement describing the error con-
dition is typed on the on-line Flexowriter. Errors are of two types; those
which must be corrected before compilation can continue beyond the string-out
(translation) phase, and those which give rise to a ·warning" typeout on
the Flexowriter to point out the inconsistency, but which do not preclude the
successful compilation and execution of the Object Program.
Errors of the
latter kind include the word "warning" in the Flexowriter typeout.
of all error typeouts are included in the annotated cOding.
The texts
In general, the
errors detected prior to the Title or Column Headings are of the first kind
and those detected within the title or column headings are of the latter kind.
The list which is produced as input to the List Generation routine is
referred to as the List String-out and is written on magnetic tape when it is
completed. During translation, this routine records the call word for each
of the variables to be listed as well as the call word designating the Uniservo on which the listing is to be made during the running of the Object
Program. In addition to the above call words, the List String-out includes a
section containing the headings for the listing and a count of the total
number of words in the headings. The headings are
as they are to be transferred to the listing tape.
stored in the list exactly
The texts of the headings are included just as they appear on the input
tape; however, they are edited for position on the High Speed Printer sheets.
The title is edited so that it is always centered on the page, regardless of
the number of characters it includes. The column headings and/or the names of
the variables are edited so that they are centered on the page, regardless
of the number. In addition, within the four words (23 characters) allowed
for each column heading or variable name, the characters are positioned with
538
respect to the decimal point for floating point quantities or the assumed
point for fixed point quantities.
The assumed point is to the right of fixed
point numbers.
Figure I shows the format of the heading list within the List String-out
when all three sections are
included, i.e., title, column headings and variable
names. It also shows the position of the column headings and/or variable
names within their assigned blockettes, depending on the number of such
column heading and/or variable names.
Figure 2 shows the positions of the XS3 characters within the title
blockette and within the four word items for the column headings and variable
names.
If either the column headings, or title, or both are omitted from the
input tape, the corresponding blockette(s) is omitted from the heading list
in the List String-out, and the succeeding blockette(s) packed upward (see Fig.
1).
The leftmost character of the first word of the heading list is a Fast
Feed 1 symbol.
539
IZ
..C/l
Q
~
:3
0
-C\I
c..:I
IZ4
LZIO
} 4 WORDS
~
IZ14
~
....J
c:o
[220
c..:I
::a::::
TIllE
LZ24
..C/l
Q
~
:3
0
-C\I
C,.Il
~
0
~
E-t
} 1st Col. Hdg. }
LZ30
....J
a:l
1st Col. Hdg.
} 2nd Col. Hdg. }
2nd Col. Hdg. }
I.Z34
2nd Col. Hdg.
} 3rd Col. Hdg. }
LZ40
c..:I
::a::::
~
1st Col. Hdg. }
2nd Col. Hd{;l.
3rd Col. Hdg. }
} 4th Col. Hdg. }
LZ44
lIst Col. Hdg. } 1st
COLUMN
HEADING
3rd Col. Hdg.
4th Col. Hdg.
} 5th Col . Hdg.
LZ50
..-
} 1St Var •
C/l
Q
~
LZ54
--
LZ60
:3
0
C\I
} 2nd Var.
} 3rd Var.
~
LZ64
~
I.Z70
c..:I
::a::::
....J
a:l
} 4th Var.
}
}
}
1st Var.
} 1St Var.
2nd Var.
} 1St Var.
3rd Var.
}
} 2nd Var.
} 3rd Var.
4th Var.
} 5th Var.
Figure 1.
Heading List Format
r
st
VARIABLE
} 2nd Var.
NAME
FORMAT OF EDITED TITLE BLOCKETTE
~-----------------------------------------One
blockette (120 XS3
characters)--------------------------------------~>
The nwmbers in the above diagram indicate positions of the XS3 characters of the title within the
blockette, depending on the total number of characters. If the title has only one character, it appears to
the left of center; if it has two characters, the first appears to the left of center, the other to the
right; if it has three characters, the first two appear to the left of center and the third to the right of
center; etc., only 119 of the 120 characters are allowed for the title.
FORMAT OF EDITED COLUMN HEADINGS OR VARIABLE NAMES
Floating Point Quantities (position about decimal point)
1st Word
C..n
2nd Word
__------A-----_,
3rd Word
__
4th Word
-----A~------_,
_--A---_
;l:::..
......
point of associated floating point numbers
in listing
.~Decimal
Fixed Point Quantities (position about assumed point)
3rd Word
A
Assumed point to right of associated fixed
point numbers in listing
4th Word
~.
The nwmbers in the above diagram indicate positions of the XS3 characters of the column headings or
variable names, depending on the total number of characters in the column heading or variable name.
Figure 2.
Format of Edited Title Blockette, Edited Column Headings or
Variable Names, Fixed Point Quantities
List String-out (Variable Phase)
Yes
SYMBOL ==-~
variable? )- . ' - J
SYMBOL =
comma or
semi-<:olon?
Preset
stringout
No
=-)
SYMBOL
constant?
Alarm 11:1
SYMBOL=open
arenthesis?
No
Alarm #4
No
Advance
parenthesis
level
Gf---1
Alarm #2
~
SYMBOL
==~
space-peri(1~
No
CJl
~
~
SYMBOL
=
Alarm #3
No
Decrease
parenthesis
level
SYMBOL :=
Alarm #5
r
SYMBOL =comma or semi
colon?
Alarm #6
"T;:lpe" on
parenthesis
level zero?
No
~larm #7
O
2
SYMBOL =subscripted
variable?
Check for legal
variable sym.
No
Alarm #8
SYMBOL ==fixed point
variable?
SYMBOL ==pseudo
operation?
SYMBOL
No
Alarm #9
c. n
~
w
Obtain non-subs
variable
call word
SYMBOL ==fixed point
variable?
No
==
SYMBOL
comma or semicolon?
No
Alarm #10
Fixed point var.
file to combinatio
list
Set fix pt. indicator & advance
var. count
Floating pt. var.
to combination
list
Set floating pt.
indicator & advance
var. count
Store XS3 sym~
for heading ed it
Call word
to stringout
=.
Call word
tQ
strlngout
Store XS3
symbol for headin edit
Set floating pt.
indicator & advance var. count
Set subscript
parenthesis level
~
zero
Store XS3 symbol
for heading edit
Number of
subscripts -1
~ Index
SYMBOL
=
Zeroize count
of subsc.ripts
processed
Get next)
symbol
No
§{
A
SYMBOL
Symbol
to
~~ccumu lat or
=
Alarm #11
==
SYMBOL
SYMBOL :::::
close
parenthesis?
variable?
Yes
Alarm3
Alarm #14
Advance Subscript
parenthesis level
by 1
SYMBOL
==
open
parenthesis?
Yes
Alarm
#131
SYMBOL
~~-{
==
comma or semicolon?
VARIABLE ==
Check for legal
variable symbol
"tape"?
SYMBOL ::::=.
Number of
characters in
symbol> 6?
fixed point
variable?
No
Yes
Alarm #15
SYMBOL
==
pseudo operation or
library routine?
No
Alarm U20
Alarm #19
SYMBOL
::::=
floating point
variable?
Yes
Alarm #16
Get next
symbol
SYMBOL
==
pareRfRgsis?
No
Alarm #17
~_Y~e~s~____~
Alarm #17A
SYMBOL
==-
~-~
Alarm :ttlnA
Set
parenthesis
leve 1 = zero
No
SYMBOL ==-
Alarm :tt18
close
parenthesis?
No
Close parenthesis
on level zero?
SYMBOL
==-
SYMBOL ==::.
Decrease
parenthesis
level
SYMBOL -==-
No
open
parenthesis?
Yes
Advance
parenthesis
level by 1
Yes
Alarm :ttIS
Obtain non-subs.
variable call word
Alarm :tt12
SYMBOL
~Yes
fixed point
variable?
No
Alarm :tt16
Alarm
Ul~
18
SYMBOL
==
supe rscript
constant?
Yes
Octal constan
to constant
pool
Convert XS3
constant
oc a \0
Check for fixed
point constant
Advance count of
subscripts
processed
Alarm U21
Store XS3 sym for
heading edit
SYMBOL
SYMBOL
==
SYMBOL -==-
close
parenthesis?
Call word
to stringout
==
Close parenthesis
on level zero?
Store XS3 symbol
for heading edit
No
Alarm #12
Alarm #22
Correct number of
valid subscripts
for subs. var.?
No
Alarm #23
Alarm 1124
No
Alarm #25
Function call
to stringout
Set floating
pt. indicator
& advance
count
Store XS3 symbo
for heading edit
Save
of
O
SYMBOL=::'r
open
parenthesis?
r
I
Yes
argum~~
Alarm U2~J
functl~
7A
Subroutine to Process Arguments of Function (Referenced by Alarms #17A & #26)
Set function
parenthesis level
to zero
SYMBOL
Function Symbol to temp.
storage
=
close
parenthesis?
Decrease
function
parenthesis
level
Close parenthesis
on level zero?
No
SYMBOL
==
SYMBOL
No
No
Advance
function
parenthesis
level by one
Alarm #27
-==-
List String-out (Tape Designation Phase)
Symbol following
word "tape" =
s ace-period?
Yes
Alarm #29
Symbol following
word "tape" =
ccnstant?
Yes
Symbol following
word "'tape" =
variable?
No
Symbol following
'~'
No
word "tape" =
23
( comma or semi-colon?
Yes
trin~ut
Alarm n30
eXlt
\
'-----
~
CJl
CJl
o
Symbol following
word "tape" = open
arenthesis?
Yes
Alarm #31
No
Symbol following
word "tape·' = close~-~ Alarm #33
are nthe~;i s?
Check for legal
variable symbol
Number
characters in
symbol> 6?
SYMBOL==-
No
Yes
Call word to
Accumulator
Alarm 11:36
~'--'""'1
SYMBOL
library
-=-
Symbol ==pseudo operation?
Yes
Alarm 11:34
SYMBOL :::::
fixed point
variable?
No
Alarm 11:36
Obtain non-subs.
variable call word
ixed point
var. file to
Combination
List
Alarm 11:35
SYMBOL==
fixed point
variable?
No
Tape Number
fixed point
2,3,4,5,6,7,8,9,
or 10 ?
Tape Number ==
fixed point one?
Check
point constant
Alarm #37
Stri~7
eXIt
Yes
es
\I
Alarm #56
Convert XS3
constant to
octal
constant
pool
Alarm #57
Tape Number
call word to
string.out
made
previously?
Prin~out
Tape Number
call word i
rewind list?
Yes
w.-------4
oj
Maximum number
call words in rewind list? . .
No
List Stringout (Tape Designation Phase, Cont.)
SYMBOL ==
Tape number
call word to
rewind list
t----~
Yes
Alarm #40
CJI
CJI
SYMBOL=clgse.
parent eSIs?
Yes
SYMBOL -::::.
No
comma 0 r se mi -1-------------.
colon?
Yes
No
=
SYMBOL
open
parenthesis?
Yes
~
Alarm #39
Number of errors
in this sentence
~ accumulator
Have there been
No
Yes
Warning
#41
Alarm #38
List String.out (Heading Phase)
Preset
heading
hase
Current
symbol ~
accumulator
All variable
edi ted?
SYMBOL ==.
space-period?
No
~-~
Variable indicator
word ~ inputof
edi t variable
subroutine
Get. next
Advance assembly
block address to
address for next
variable name
SYMBOL-=-
No
symbol
Yes
I35\-V-
SYMBOL=-
Warning
#.113
zeroizeJ
assembly
block
SYMBOL
==-
~~ning
~--~1:42
Get next
acter
Preset title
section
Store XS3 character
for heading edit
CHARACTER -==-
CHARACTER space (l:l)?
Get next
character
CHARACTER
Close parenthesis
on level zero?
Store XS3 character
for heading edit
No
Advance
pa re nthes i s
level by 1
Warning
#50
Get next
character
Alarm #47
==
List Stringout (Heading Phase, Cont.)
Get next
character
SYMBOL -==open
arenthesis?
Yes
SYMBOL==
comma or
semi-colon?
Yes
~
42
No~MBOL==:
~€,-periOd?
eroize
assembly
block
....;....;..~--~
Warning
#48
WBrning
#49
Preset column
heading section
Store XS3 character
for heading edit
Advance column
heading count
Next character to
accumulator
CHARACTER
space?
CHARACTER
.:=
Yes
Advance
parenthesis
level by 1
List Stringout (Heading Phase, Cont.)
Close parenthesis
on level zero?
Get next
symbol
Get next
character
Edit column
heading
Yes
Warning
SYMBOL ==.
#45
SYMBOL -::::::.
open
parenthesis?
Yes
c..n
C.11
-.J
Warning
#44
Store XS3 character
for heading edit
Get next
character
CHARACTER
== period?
Warning
#46
SYMBOL ==-
End Li st String-out
Is there a
title?
Is there a
title?
CJl
CJl
co
Yes
Heading list (title
es & variable names)
to string.out
Heading list (title,
column headings &
variable names) to
string-out
Set heading
word count
to 6010
Set heading
word count
to 4010
Heading list(column
heading & variable
names) to string-out
Heading list
(variable names)
to strin ut
Set heading
word count
to 2010
Fast feed 1 symbol
to first character
of headings in
string.out
Number of words in
string.out to first
word of stringout
Send string-()ut
to tape
List Subroutine to Send Call Word to Stringout
~---;;..t
Send call word from
"Q" register to input of stringout
subroutine
Stringout subroutine to
send call word to stringout
List Subroutine to Advance and Check Variable or Column Heading Count
C..11
Ul
'"
Preset for
fl9at!ng point
lndlcator
Preset for
floating point
character limit
entrance
entrance
Preset for
fixed point
indicator
Preset for
fixed point
character limit
List Subroutine to Advance and Check Variable or Column Heading Count, Cont.
No
'\---~
Fixed or floating
point indicator to
variable indicator
word
Number of variables Yes
> number of
column headings?
Preset subroutine to
1t s tore XS3 character
for heading edit"
for variable name
Advance column
heading count
by one
Preset subroutine to
"store XS3 character
for heading edit" fo
column heading
Zeroi~~e
character
count
No
Warning
#52
r~:;;-FJ-'
ne
eXIt
Preset
character
shift
L..-_ _ _ _ _
~
Advance
variable
count b I
SYMBOL ==:
Alarm #51
Preset index to check
if assembly block word
is full
Yes
List Subroutine to Store XS3 Character for Heading Edit
Variable
entrance
2310 > number of
characters in
variable name?
Yes
Decrease
shift count
by six
Advance
character
count by 1
Shift character
to position
in accumulator
No
Warning
#53
Decrease
index
Reset entrance
to by-pass
this routine
Current word in
assembly block
full? (check index
Advance current
assembly block
address
Reset shift
count to 3610
Reset index
to five
Column
heading
entrance
310> number
characters in
umn headin
Yes
Warning #54
Reset entrance
to by-pass this
routine
Add character to
current word in
assembly block
List Subroutine to Store XS3 Character for Heading Edit, Cont.
Title
entrance
119 10 > numb:r of
characters In
title?
Advance title or
column heading
character count
by one
No
Warning #55
Reset entrance}8
to by-pass
61
this routine
C-haracter to
register
List Subroutine to Store XS3 Symbol for Heading Edit
,,--~
Number of characters in symbol
to index counter
Store XS3 character for heading
edit
XS3 symbol
to temporary
XS3 character to
"v·t add res s of
Decrease indexl
by one
All characters in
symbol transferred
assembly block?
SUb?
~~rou~ine
eXIt
"
List Subroutine to Edit Title
T--~
Preset heading
list address
(box 3) to middle
address of title
section
Divide number of
characters in title
by 1210~number of
full words in 1/2
title to ~Q" register
Yes
Advance count of
words in 1/2 title
bone
No
Decrease address in
heading list (box 3)
by number words in
1/2 title to get
address for first
word of title in
heading list
Multiply total number of
words in 1/2 title by two
~number of words of ti tIe
when centered in title
section of heading list.
Number of words
less one to index
counter (Box 4)
Number characters in title
= 119 10?
No
Yes
r---~
Transfer 119 10 character title from assembly block to heading
list without further
.
e d·Itlng
List Subroutine 'to Edit Title, Cont.
Add three to the
number of characters
in the title---+A
Divide the
the sum by
two
Preceding
quot ient=numbe r
words in edited
title
Divicle quotient by six.
Remainder equalS number of
. char~lcters to shift in
editing title to center in
title section of heading
list
/Number characters'\
to shift equal
'-zero?
./
7
Yes
0
@
Transfer title from
assembly block to headaddress
ing list without further~__~ Preset
first title word
editing (i.e •• already
in headin list
centered)
67
Preset box I to
Two> number of ~ address of first
characters to shift?
word in assembly
block
Yes
Preset box I to
.... address of second
word in assembly
block
i~
I~
Preset box 2 to
address of second
word in assembly
block
Preset box 2 to
address of third
word in assembly
block
\
Multiply number of
characters to shift
by six to get shift
count for editing
1
Preset shift
count in box 2
~
--
List Subroutine to Edit Title, Cont.
Box 1
Current title word
for editing from
assembly block to
accumulator & shift
left 448
Box 2
Add next word from assembly
block to accumulator &
shift left preset amount
to position edited word in
left half of accumulator
Box 3
Edited title word
to heading list
Advance assembly block
address in box I & box
2 by one and heading
list address in box 3
by one
Box 4
index by
of edited
heading list?
------------------------1
I
I
I
List Subroutine to Edit Variable or Column Heading
'--~~
available
in heading
address for
variable
Yes
I
I
I
64
I
L
_________________ _
Input is variabl
indicator word
Advance
address
list to
next
I
Preset address
for next variable
in heading list
(box 3)
Preset box I to
address -1 of
first variable
word in assembly
block
Preset box 2 to
address -1 of
second variable
word in assembly
block
Number of characters
from variable indicator word to input
line and accumulator
List Subroutine to Edit Variable or Column Heading, Cont.
Number of char-
t------:!M
Preset index counter
(box 4) to one to provide for transferring
two words to heading
list
12 10 > number of
characters?
No
Is this floating
point variable?
Number of characters
in variab Ie Iname (or
column heading) plus
three to accumulator
Advance heading list
address in box 3 by
one
19 10 > number of
characters?
Yes
Preset index counter (box 4)
to two to provide for transferring three words to heading list
Yes
Preset index counter
(box 4) to three to
provide for transferring four words to
heading list
No
Preset index counter
(box 4) to three to
provide for transferring four words to
headin list
Advance heading list
address in box 3 by
one
Divide preceding
sum by two & send
quotient to accumulator
~ist
Subroutine to Edit Variable or Column Heading, Cont.
Preset index counter
(box 4) to one to provide for transferring
two words to heading
list
Advance heading
list address in
box 3 by two
Number of characters to accumulator
No
Number of characters + one to
accumulator
Divide number of
characters in variable name by two
Quotient plus
two to accumulator
Divide contents of
accumulator by six.
Remainder is number
of characters to shift
Number of
characters to
shift = zero?
No
Multiply number of
characters to shift
by six to get shift
count for editing
Preset shift
count in box
Yes
2
Zero to
accumulator
Advance address in box
I by one to address of
first variable word in
assembly block
Advance address in box
2 by one to address of
second variable word in
assembly block
List Subroutine to Edit Variable or Column Heading, Gont.
Box I
Current variable word
for editing from assembly block to accumulator
& shift left 448
Box 2
Add next variable word from
assembly block to accumulator
& shift left preset amount to
position edited word in left
half of accumulator
81
tE--~
Box 3
Edited variable
word to
headin list
Advance assembly block
address in box 1 & box
2 by one and heading
list address in box 3
by one
Box 4
Decrease index
by one
All edited variable~o
words transferred to
79
heading list?
Yes
Preset address of
first variable in
assembly block in
Box 5
Preset address
for first variable word in
heading list
Box-5
,Transfer variable words from
assembly block to heading
Ilist (i.e~ already positioned
lover decimal point)
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:06 01:33:02-07:00 Modify Date : 2009:10:01 05:48:51-07:00 Metadata Date : 2009:10:01 05:48:51-07:00 Producer : Adobe Acrobat 9.13 Paper Capture Plug-in Format : application/pdf Document ID : uuid:b63a75a6-c7fb-4a60-b803-65ba36bb86e8 Instance ID : uuid:5a541c26-c899-441a-8e8a-9744ae2cf135 Page Layout : SinglePage Page Mode : UseOutlines Page Count : 577EXIF Metadata provided by EXIF.tools