Skip to main content

Full text of "univac :: 1103 :: PX1790 unicodCmpTecV1 Apr61"

See other formats


TECHNICAL 
DOCUMENTATION 

for 

UNICODE 



Automatic Programming System for 
Univac Scientific 1103A and 1105 



Volume I 

April , 1961 
PX 1790 



DIVISION OF SPERRY RAND CORPORATION 
UNIVAC PARK, ST FAUl 16, MINNESOTA 



VOLUME I 



VOLUME II 



VOLUME III 



Page 
Table of Contents I-v 

I. INTRODUCTION 3 

II. GENERAL 

1. UNICODE Service Routines 7 

2. Library Routines 49 

3. UNICODE System Tape Package 123 

4. UNICODE Sample Coding 153 

5. UNICODE Card Input 163 

6. Statistical Miscellany 185 

III. TRANSLATION AND CORRECTION 

1. UNICODE Sentinel Blocks 203 

2. Tape Merge 217 

3. Translation Phase 

a. Translation Subroutines 291 

b. Translators 434 

Table of Contents II-v 

III. TRANSLATION AND CORRECTION 

3. Translation Phase 

b. Translators (cont.) 569 

IV. GENERATION PHASE 

1. Generation Set-up and Drum Loader . . . 949 

2. Generation Subroutines 959 

3. Generators 1013 

Table of Contents III-v 

IV. GENERATION PHASE 

3. Generators (cont.) 1193 

V. ALLOCATION PHASE 

1. Segmentor 1461 

2. Allocator 1551 

3. Initialization Generator 1607 

VI. PROCESSING PHASE 1671 

VII. PROGRAM LISTING PHASE 1747 



VOLUME I 

TABLE OF CONTENTS 



Page 



I. INTRODUCTION 3 

II. GENERAL 

1. UNICODE SERVICE ROUTINES 

A. Flex to Excess-Three Routine 

(1) Flex to Excess-Three Flow Charts 7 

(2) 1105 Version 10 

(3) Changes for 1103A Version 17 

B. Compilation Service Routines 18 

C. Object Program Service Routines 

(1) Flex Code Print 33 

(2) Object Program Loaders 35 

2. LIBRARY ROUTINES 

A. UNICODE Librarian Symbolic Listing 49 

B. Permanent Library Routines 

Write-Up 65 

Permanent Library Catalog 66 

Op File I for Permanent Library Routines 67 

Region Definitions for Permanent Library Routines . 68 

Flex Print Routine (50002) 70 

General Power Routine (50012) 72 

Variable Exponent Routine (50022) 75 

Natural Logarithm Routine (50031) 79 

Exponential Routine (50041) 82 

Square Root Routine (50051) 85 

Floating-Point Conversion & Print (50062) 88 

"Inner" List Routine (50077) 

Write-Up 92 

Flow Charts 94 

Coding 98 

"Inner" Read Routine 

Notes 102 

Flow Charts 106 

Coding 113 



I-v 



TABLE OF CONTENTS (cont. ) VOLUME I 



3. UNICODE SYSTEM TAPE PACKAGE 

Introduction 123 

Flow Charts for Five Routines 128 

Regions for System Tape Package 131 

System Tape Package (Parameters) 132 

Produce Master Tape 133 

Print Digit 133 

Update System Tape or Reproduce System Tape .... 135 

Dump System Tape on Servo 3 136 

Compare System Tapes 137 

Regions for Read-Write 139 

Write Magnetic Tape 140 

Read Tape N 145 

Read Tape 147 

Read One Block of Tape 148 

Print 149 

4. UNICODE SAMPLE CODING 

a. Matrix Inversion by UNICODE 153 

b. Floating-Point to Fixed-Point Sub-Program 155 

c. Linear Programming Application 156 

5. UNICODE CARD INPUT 

Notes 163 

Flow Charts 169 

Coding 172 

6. STATISTICAL MISCELLANY 

a. Call Words of UNICODE 

(1) Regular Call Words 185 

(2) Supplementary Call Words and Associated Prelude 

Entries 186 

(3) Use of Call Words to Reference Sub-program 

Input List 189 

(4) Use of Call Words to Reference Argument List for 

Functions 192 

b. Fixed Locations During Compilation 194 

c. Uniservo Usage 195 

(1) Five Uniservo Layout 196 

(2) Seven Uniservo Layout 197 



I-vi 



TABLE OF CONTENTS (cont. ) VOLUME I 



d. Corrections to UNICODE Manual (U-1451, Rev. 3) . . . . 198 

e. Use of Second and Third Memory Cores in Object Program 199 

III. TRANSLATION AND CORRECTION 

1. UNICODE SENTINEL BLOCKS 

Write-Up 203 

Flow Chart 204 

UNICODE System Tape Sentinel Blocks 205 

Check LIB Tape (1103A and 1105) 208 

Check Generation Tape Sentinel (1103A and 1105) . . . 209 

Check "UNICODE Program," Position »5 210 

Read n Blocks to Storage ......... 213 

2. TAPE MERGE 

Write-Up 217 

Flow Chart 220 

Coding 252 

3. 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 296 

2) Pseudo Operation 297 

3) Function 297 

4) Floating-Point or Fixed-Point Variable . 298 

5) Library Routine 298 



I- vii 



TABLE OF CONTENTS (cont.) 



VOLUME I 



(b) 



(c) 
(d) 
(e) 

\ J. / 

(g) 
(h) 

(i) 

(j) 



Pseudo Operation Dummy List 

1) Subscripted Variable 

2) Function ... 

3) Floating-Point or Fixed-Point Variable 

Translation List (WL) 

Referenced Sentence Numbers (IZ) 

VARY (Variable) List (UL) 



Rewind List of Referenced Tape Numbers (WR). 
List of Second Sentence of Pseudo Operations 

(JN) 

Constant Pool for Object Program (CL) . . . 
Key Words of UNICODE 



(7) Descriptions of Translation Subroutines 



(a 
(b 
(c 
(d 
(e 
(f 

(g 

(h 
(i 

(j 
(k 

(1 

(m 

(n 
(o 

Cp 

<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 (TD) . . 

Add File to CB List (TO 

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 (UZ) 

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 IZ (IX) 
Excess-Three Decimal to Octal Routine (RS) . 



298 
299 
299 
299 
300 
300 

301 

301 
301 
302 



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 



I-viii 



TABLE OF CONTENTS (cont) 



VOLUME I 



(aa) Excess-Three Decimal to Floating Point (GG). 

(ab) Assign Constant Call Word (GW) 

(ac) Tape Handlers (TH or GT) 

(ad) Line Number Processor (LN) 

(8) Region Assignments of Translation Subroutines . . 

(9) Flow Charts of Translation Subroutines 



311 
312 
313 
314 

318 



(a 
(b 
(c 
(d 
(e 
(f 

(g 

(h 
(i 

<j 
(k 

(1 

(m 

(n 

(o 

<P 

<q 

(r 
(s 
(t 
(u 
(v 
(w 
(x 

(y 

(z 
(aa 

(ab 

(ac 

(ad 
(ae 



Set-Up Translation Phase 321 

Translation Control (CT) 322 

Get Next Sentence (GS) 324 

Get Next Character (GN) 325 

Get Next Symbol (SY) 326 

Get Rest of Lower Symbol (RL) 327 

Get Rest of Superscript Symbol (RU) 327 

Build Symbol (BS) 328 

Fill Symbol (FS) 328 

Delete Spaces (DS) 328 

Send File Back to Combination List . . . . . 329 

Add File to CB List (TE) 329 

Get File from CB List (TA) 330 

Get Call Word from Pseudo Op. Dummy List . . 330 

Send Call Word to Translation List 331 

Increase 66XXX, 65XXX, 64XXX Call Word 

Counter (TK) 332 

Increase 26XXX, 27XXX, 22XXX Sentence CW 

Counter (XJ) 333 

Print Error Heading (WA) 334 

Error Routine (UZ) 335 

Check Floating-Point Constant (RB) 336 

Check Fixed-Point Constant (RD) 336 

Check Variable Type Symbol (RH) 337 

Print Text (UP) 338 

Put Call Word in Sentence Number Ref. List (RS) 339 

Rewind All Tapes (RW) 339 

Tape Handlers (TH) 1105 and 1103A 340 

Routine to Set TN Indicator for 5 or 7 (MJl) 

Uni servos (OT) 341 

Setup Translation Output Tape and Routine WT 

or SS (UB) 342 

Put Referenced Sentence Number into List IZ 

(IX) 344 

Excess-Three Decimal to Octal 345 

Excess-Three Decimal to Floating Point (GG). 346 



I-ix 



TABLE OF CONTENTS (cont. ) 



VOLUME I 



(af) Assign Constant Call Word (GW) 

(ag) Close VARY File (VE) 

(ah) Line Number Processor . . . . 



(10) Coding of Translation Subroutines 



(a 
(b 
(c 
(d 
(e 
(f 

(g 

(h 
(i 

(J 
(k 

(1 

(m 

(n 

(o 

<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 

Build 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 Uni servos 

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 



347 
348 
349 



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 



I-x 



TABLE OF CONTENTS (cont.) VOLUME I 



(am) Close VARY File Item and Variable List File 

Item 423 

(an) Flex Codes for Print Text 426 

(ao) Line Number Processor 428 

b. Translators 434 

DIMENSION String-Out No. 1 

Write-Up 435 

Flow Charts 437 

Coding 443 

DIMENSION No. 2 Translator 

Write-Up 450 

Flow Charts 451 

Coding 454 

COMPUTE String-Out 

Write-Up 458 

Flow Charts 460 

Coding 467 

READ String-Out 

Flow Chart 502 

Coding 503 

TYPE String-Out 

Write-Up 507 

Flow Charts 509 

Coding 514 

LIST String-Out 

Notes 538 

Flow Charts 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 program- 
ming system for Univac Scientific computers 1103A and 1105. The material 
supplements that contained in the UNICODE Manual (U-1451, 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 Rou- 
tines 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 an- 
notated 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-to- 
tape 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 avail- 
able, 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. 



n. GENERAL 

1. UNICODE SERVICE ROUTINES 



A. Flex to Excess-Three Routine 
Flow Charts for Flex to Excess-Three Routine 



( Start )-> 



Bootstrap 

Program to 

Core 



Initialize - 
Test Parameters, 
Set Counters, 
Set Addresses, 
Etc. 



Load A Symbols 
into Digit 
Hopper and 
Block Image 



-o* 



Start Reader 
(Free Run) 



-© 



(2\-^ Next Frame 
Vl/ to A 




Tape Feed 
(00) or 
Delete (77) 




No 



Store Frame in 
Next Available 
Storage 
Location 




Stop Code 
(43)? 





No/ Next to Last Mes 



Storage Used?, 



•© 




G> 



Stop 
Reader 



Read Extra 
Frame to 
Storage 



-G> 



Adjust 

Storage 
Address 



Next Frame 
to A from 
Storage 




Is this the 
Last Storage?, 



No 







^© 




Tape Feed 

(00) or 
Delete (77)? 





Flow Charts for Flex to Excess-Three Routine (Cont.) 




Shift Up (47) 
or Down (57)? 



No 




Yes 



<b 



Carriage^ 
Return 
(45)? 



No 





Tab (51) 



No, 




Yes 



<b 



Character 



No, 




Yes 



Stop (43) 




Print "Alarm" 
and Line No. 




[Stop 



Yes 



© 



G> 



CD 



Select Upper or Lower 
Case List for Sub*- 
sequent Character 
Translations 



-0 



<5> 



Translate 
Character 
to Excess-3 



Store in 

Digit 

Hopper 




Digit Hopper \— W9 
Full? 




No 



£> 



Assemble the Six 
Excess-3 Digits in 
the Hopper into one 
Word 



-© 



©* 



Store Word 
into Next 
Word of 
Block Image 



Load Digit 
Hopper with 
all Asymbols 




End of Block 
Image? 





Write One 
Block onto 
Tape 



Load Block |/T\ 
Image with \^J 
all A symbols 



Flow Charts for Flex to Excess-Three Routine (Cont.) 



©• 



Advance 

Line 

Counter 



Unload Digit Hopper 
into Partially Filled 
Block Image 




Is this the 
Last Line of 
a BlpcR? 




© 



Yes 



Adjust Block Image 
Address to First 
Word of Next Line 



-0 



®* 



Write One 
Block onto 
Tape 



Load Block 
Image with 
all A Symbols 



>© 



%o 




N°Assemble Digits 
and load into 
Block Image 




14 



Is the Block 
Image Empty 



Yes 





Is MJ1 
On? 



No 



© 



JX 



Rewind the 
Tape 



"K2)^ 



Restore 
Parameters 




Stop 



Flex to Excess-Three Routine 
Regions 

RE BS76300 

RE FC 76303 

RE INI 

RE RD42 

RE CD56 

RE ER102 

RE CS132 

RE WDi4i 

RE WB156 

RE LC165 

RE UC172 

RE CR177 

RE EX206 

RE MS223 

RE FA255 

RE EA301 

RE FB325 

RE EB400 

RE WS453 

RE SD464 

RE BI472 

RE SF662 



10 



Flex to Excess-Three Routine (1105 Version) 





IA 


BS 









TP 


FC14 





1 


1 


RP 


30454 


IN 




2 


TP 
CA 

IA 


FC 
BS3 

FC 


IN 


J 





LT 





WS2 


} 


1 


TP 


A 


WS3 


2 


TP 


Q 


WS4 




3 


SP 


WS3 







4 


ZJ 


IN5 


1N6 




5 


TJ 


EA6* 


IN15 




6 


PR 





FB32 




7 


SP 


WS2 


44 


1 


10 


SA 


WS3 







11 


TP 


WS4 


Q 


J 


12 


MS 





IN13 




13 


MJ 





IN 




14 


MJ 





IN 




15 


SP 


A 


14 




16 


TP 


MS5 


Q 




17 


QS 


A 


MS3 


} 


20 


OS 


A 


MS4 


21 


LQ 


MS6 


Q3 




22 


SP 


WS4 


3e> 




23 


TJ 


MS7 


IN6 


1 


24 


TJ 


Q 


IN26 


> 


25 


MJ 





IN6 


J 


26 


QS 


A 


MS3 


1 


27 


QS 


A 


MS4 


J 


30 


TP 


MS6 


Q 




31 


SP 


WS4 


33 




32 


QS 


A 


MS2 




33 


SP 


WS4 


32 




34 


QS 


A 


WB 




35 


RP 


10006 


1N37 


} 


36 


TP 


EA23 


SD 


37 


RP 


10170 


RD 


} 


40 


TP 


MS10 


BI 





EF 





MS 




1 


ER 





A 




2 


RJ 


RD2 


RD1 




3 


EJ 


EA10 


RD1 


} 


4 


EJ 


MS13 


RD1 


5 


TP 


A 


SF 




6 


EJ 


EA 


RD11 




7 


RA 


RD5 


EA23 





Bootstrap routine to core 



IN u m * "~ l st()re A 

Store Q 

(A R ) >A 

If = — *-alarm 

If not too large — »IN15 
»tp«t 

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 illegal — >IN6 
If OK — >IN26 

TCU No. — »ef word for writing, and re- 

Buffer No. mask— ^Q windin 9 

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 (0 l)*s 
Load the block image with 

all A *s 
RD EF MS Start reader 

Frame — *> A 
Discard 1st frame 

Ignores (00 & 77) 

Store frame in image 

If stop, — ►RDll 

Advance storage address of frame 



11 



CD 



ER 



CS 



10 


TJ 


MS 14 


RD1 


11 


EF 





MSI 


12 


ER 





7777 


13 


TV 


CD7 


RD5 





TU 


MS20 


CD12 


1 


RA 


CDI2 


MS I i 


2 


TJ 


CD3 


CD12 


3 


SP 


7777 





4 


EJ 


EA10 


RD I 
RD J 


o 


EJ 


MS 13 


6 


EJ 


EA 


EX 


7 


TP 


A 


SF 


10 


RA 


RD5 


EA23 


11 


MJ 





RD 


12 


SP 


30000 





13 


EJ 


EAli 


LC 


14 


EJ 


EB23 


UC 


15 


MJ 





ER 


16 


RJ 


CD15 


CD1 


17 


EJ 


EB25 


CR 


20 


EJ 


EB21 


WD 


21 


RP 


40000 


CD23\ 


22 


EJ 


30000 


CS1 J 


23 


EJ 


EA 


EX 





PR 





EA11 


1 


PR 





EB25 


2 


SP 


MS 17 


52 > 


3 


PR 





A 


4 


SS 


A 


6 


5 


ZJ 


ER3 


ER6 


6 


TP 


WS 


Q ^ 


7 


TP 


EB5 


WS5 


10 


TV 


MS31 


ER13 


11 


TP 


Q 


A 


12 


DV 


EB42 


Q 


13 


TP 


A 


30000 


14 


RS 


ER13 


EA23 


15 


IJ 


WS5 


ER11 J 


16 


TP 


EB5 


WS5 ^ 


17 


TU 


MS31 


ER20 


20 


SP 


30000 





21 


AT 


MS 12 


ER22 ) 


22 











23 


RA 


ER20 


MS11 


24 


IJ 


WS5 


ER20 


25 


MS 





ER26 


26 


MJ 


30000 


EX6 


27 


MJ 





CD1 





TP 


30000 


SD 


1 


SP 


Q 


17 


2 


ST 


30000 


A 


3 


AT 


CS 


CS4 



If not next to last, recycle 

Stop reader 

Last frame — >7777 

Start of image — >RD5 

Starting address — *CDl2 

Advance by one 

Test &— >CD12 

Last frame — >A 

Ignores 

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, 
— >CS1 

If a stop, >EX; if illegal-; > ER 

"lc" 



"Error sp" 



Last 3 decimal digits of line 

No. *-storage (line No. = 1 + No, 

of cr executed so far) 



Print last three decimal digits 
of line No. 



Stop 

If MJ3 is on — >exit 

If not, ignore the error 

Dummy 

j, n-r — >(A R ) U 

Subtract j,n, leaving -r 

Add to dummy instr. & store 



12 



WD 



WB 



LC 



UC 



CR 



EX 



5 
6 



1 

2 

3 

4 

5 

6 

7 

10 

11 

12 

13 

14 


1 
2 
3 
4 
5 
6 

1 
2 
3 
4 

1 
2 
3 
4 

1 
2 
3 
4 
5 
6 

1 
2 
3 
4 
5 
6 
7 
10 





RA CS 

IJ WS1 

SP SD 

RP 20004 

SA SD1 

SA SD5 

TP A 

RP 10006 

TP EA23 

TV WD6 

TP FB22 

RA WD4 

RJ WD12 

TJ MS15 

TV WB6 





EA23 
CD1 



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 



10170 

10000 



10170 

MS 10 

MS21 

MS22 

MS23 

MS24 



MS25 

MS26 

MS27 

MS30 



WS 

WD 12 

MS 16 

FB35 

WD4 

A 



WS1 

FB22 

WD12 

WD4 

MS 16 

WB5 

10000 







} 



} 



WB 
MS2 
WB4 
BI 
MS3 
CD1 "\ 
BI J 
CD21>! 
CD22 I 
CS [ 
CS2 ) 
CD16 
CD21>| 
CD22 I 
CS f 
CS2 J 
CD16 
EA23 
WD 
A 

A ) 
CR3 J 

WD4 

WD13 



EX3 

WD 



EX6 

WB 

EXlO^l 

EX11 \ 

MS4 J 



Execute the storage of excess-three 

symbol 
Advance storage address 
Recycle until digit hopper is full; 

when full — >WD 

Form word in Ar 



Store in block image 

A — >digit 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 "write buffer" 

Load buffer from image 

ef for "write one block" 

Load image with allA*s and exit to CD1 

Arrange to take lower case lists 
(FB and EB) 



Arrange to select upper case lists 
(FA and EA) 



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 MJ1 is on, rewind without 
interlock 



13 



MS 



FA 



EA 



11 


TP 


WS4 


Q 




12 


SP 


WS2 


44 > 


Restore Q and A 


13 


SA 


WS3 


o J 




14 


MS 





BS 


Stop on entry 





10 


2 





(EF) Start reader 


1 


10 


1 





(EF) Stop reader 


2 








400 


(EF) Write buffer 


3 





646 





(EF) Write one block 


4 





200 





(EF) Rewind w/o interlock 


5 





1 


70000 


Uniservo No. mask 


6 





30000 





TCU and Buffer mask 


7 


1 








Min TCU No. (for t j ) 


10 


1 


1010 


10101 


All A 


11 





1 





u advance 


12 


PR 





FA1 


Print (start of 10 dec. digits) 


13 








77 


Ignore 


14 


TP 


A 


7777 


For tj 


15 


TP 


A 


BI170 


For tj 


16 


TP 


A 


BI 


For the CR routine & the EX routine 


17 


20 


12120 


31204 


"error A ** 


20 





BI167 





sf (-1) = BI167 


21 





20053 


1 




22 





FB 


i 


For LC routine 


23 





EB53 


1 




24 





MS21 


J 




25 





20024 


"1 




26 





FA 


i 


For UC routine 


27 





EA24 







30 





MS25 


o J 




31 





WS6 


WS10 


For ER routine 











4 


space UPPER CASE LIST 


1 








37 





2 








52 


1 


3 








74 


2 


4 








70 


3 


5 








64 


4 


6 








62 


5 


7 








66 


6 


10 








72 


7 


11 








60 


8 


12 








33 


9 


13 








56 


- 


14 








44 


. 


15 








22 


D (') 


16 








54 


/ 


17 








27 


X (*) 


20 








13 


G ( >) 


21 








11 


L (< ) 


22 








46 


( 


23 








42 


) 











43 


) 


1 








17 


( 



14 



FB 



2 








37 


3 








16 


4 








56 


5 








64 


6 








15 


7 








62 


10 











11 








57 


12 








36 


13 








75 


14 








55 


15 








35 


16 








41 


17 








20 


20 








40 


21 








61 


22 








60 


23 








01 











04 


1 








37 


2 








52 


3 








74 


4 








70 


5 








64 


6 








62 


7 








66 


10 








72 


11 








60 


12 








33 


13 








30 


14 








23 


15 








16 


16 








22 


17 








20 


20 








26 


21 








13 


22 








05 


23 








14 


24 








32 


25 








36 


26 








11 


27 








07 


30 








06 


31 








03 


32 








15 


33 








35 


34 








12 


35 








24 


36 








01 


37 








34 


40 








17 


41 








31 



< 
> 



A 



J 



9 

8 

7 

6 

5 

4 

3 

2 

1 

0j 

A 

A 

1 
2 
3 
4 
5 
6 
7 
8 
9 
a 
b 
c 
d 
e 
f 

g 

h 
i 

.1 
k 

1 
m 
n 
o 
P 

q 

r 
s 
t 
u 

V 

w 



y Superscripts 



Lower case list 



< Regul 



ar 



15 



EB 



WS 



42 








27 


X 






43 








25 


y 






44 








21 


z 






45 








56 


- 


(lc) 




46 








44 


= 






47 








54 


+ 






50 








46 


f 






51 








42 




(lc) 




52 








50 


i 


(abs mag) 













42 


i 






1 








22 


. 






2 








21 


t 






3 








63 


+ 






4 








76 


= 






5 








02 


- 






6 








74 


z 






7 








73 


y 






10 








72 


X 






11 








71 


w 






12 








70 


V 






13 








67 


u 






14 








66 


t 






15 








65 


s 






16 








54 


r 






17 








53 


q 






20 








52 


p 






21 








51 









22 








50 


n 






23 








47 


m 






24 








46 


1 






25 








45 


k 






26 








44 


J 






27 








34 


i 






30 








33 


h 






31 








32 


g 






32 








31 


f 






33 








30 


e 






34 








27 


d 






35 








26 


c 






36 








25 


b 






37 








24 


a 






40 





Q 


14 


9 






41 








13 


8 






42 








12 


7 






43 








11 


6 






44 








10 


5 






45 








07 


4 






46 








06 


3 






47 








05 


2 






50 








04 


1 






51 








03 









52 








01 


A 















1 


Line counter 




1 




CA 




FC454 


5 


IJ 


counter for 


symbols/wd 



16 



Changes in Flex to Excess-Three Routine 
To Produce the 1103A Version 





IA 


FC33 








IN33 


MJ 





IN35 


Bypasses setting of MJ4 




CA 


FC34 










IA 


FC155 








WB 


EF 





MS3 




Write one block 


1 
2 


RP 
EW 


10170 
10000 


WB5 
BI 


} 


I70 fl external writes 


3 
4 














} 


Unused area 


5 
6 


RP 
TP 
CA 


10170 
MS 10 
FC164 


CD1 
BI 


} 


Load image with all A *s 



17 



B. Compilation Service Routines 



This group of routines is used to start compilation and to act as a go- 
between 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 BB1 is executed. The parameter has the form: 



Op 




(address) 



where N (< 170g) is the number of words to store and the address is the lo- 
cation 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 u v 
(address) N 

where N is the number of words of codes to print and the address is the lo- 
cation 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: 



Op u v 

read into 7230 MJ 7236 

7231 MJ 7243 

7232 67 50342 65127 

7233 30 77657 36566 

7234 30 47776 62452 

7235 30 77777 77777 



for 77000 start 
for 77004 start 
U N I C D 
E 77 S Y S T 
E M 77 T A P 
E 77 77 77 77 77 



18 



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. START. 

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 boot- 
strapped 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) 



10 

o 



77000 
77004 



:j 



(Start \ 



Subs to 
Core 



Restart 




Start was 77004 



Start was 
77000 





77010 



Subs to 
Core 



/Tie ad \ 
"~K Block > 
\(BBy 




Read Subroutine (BB) 




BB' 



Start 



Set Up 
Address 



Set Up 
# Words 



Read Block up to 
Six Times if 
Parity Error 



Restart 




6 Parity 
Errors? 



No 




Exit 
BB. 



Yes 




Print Subroutine (PC) 




PC 
'Start 



Set Up 
Address 



Set Index 



Print 
Character 




No 



1 



No 



Last Char, 
of Word? 



Yes 



Last Word 
Printed? 



Yes 




Regional Assignments for Compilation Service Routine 
(Both 1103A and 1105) 



Drum Core 

ZA77000 
CA77014 

ZB77054 > YC7070 

BD77102 > BB7116 

PD771 73 > PC72 07 

ZZ7230 



Unicode Compilation Service Routines (1105) 









IA 


ZA 






1st entrance 





TP 


ZA3 





Set up zero 






1 


RJ 


ZA12 


ZA12 


Subs & 1st driver — >core 






2 


RJ 


YC 


YC1 


— >lst driver 






3 


MJ 





ZZ 


— >lst entrance of buffer 


Entrance 


afte 


r 










stop 




4 


TP 


ZA3 





Set up zero 






5 


RJ 


ZA12 


ZA12 


Subs & 1st driver — >core 






6 


RJ 


YC 


YC1 


— >lst driver 






7 


MJ 





ZZ1 


— >2nd entrance of buffer 


Merge & 














others 




10 


RJ 


ZA12 


ZA12 


Subs — >core 






11 


MJ 





YC23 


2nd driver — *core — >2nd driver 






12 
13 


RP 
TP 


30140 
ZB 


(30000)j Dr . vers & subs _ >core 








CA 


ZA14 







22 



Constants (1105) 





IA 


CA 










170 


ZZ 


1 


67 


50342 


65127 


2 


30 


77657 


36566 


3 


30 


47776 


62452 


4 


30 


77777 


77777 


5 








77777 


6 








1 


7 





1 





10 





CA15 


12 1 
11 J 


11 





CA27 


12 





77777 





13 


2 


200 


10000 


14 


1 


200 


10000 


15 


47 


12203 


02204 


16 


20 


12120 


31204 


17 


46 


15301 


21401 


20 


25 


04031 


20424 


21 


15 


12031 


63620 


22 


01 


42574 


24704 


23 


04 


24013 


01201 


24 


04 


26031 


20412 


25 


20 


12203 


02224 


26 


57 


42040 


40404 


27 


47 


07033 


40601 


30 


04 


34061 


41603 


31 


22 


20042 


42524 


32 


01 


20070 


40130 


33 


15 


20040 


30604 


34 


24 


20121 


70304 


35 


57 


52420 


40447 


36 


24 


01301 


20157 


37 


42 


04040 


40404 




CA 


CA40 





U N I C D 
E 77 S Y S T 
E M 77 T A P 
E 77 77 77 77 77 
V mask 



Print parameter 



u mas 


k 








Rewind #1 TCU2 




Rewind #1 TCU1 




f R 


E 


A 


D 


A 


E R 


R 





R 


A 


( P 


A 


R 


I 


T 


Y A 





R 


A 


S 


P R 





C 


K 


E 


T ) 


I 


. 


t 


A 


A S 


T 


A 


R 


T 


A F 





R 


A 


R 


E R 


E 


A 


D 


S 


i . 


A 


A 


A 


A 


t M 





U 


N 


T 


A U 


N 


I 


C 





D E 


A 


s 


Y 


S 


T E 


M 


A 


T 


A 


P E 


A 





N 


A 


S E 


R 


V 





A 


i 1 




A 


A 


t 


S T 


A 


R 


T 


I 



A A A A A 



23 



1st & 2nd Drivers (1105) 



YC 





IA 


ZB 







MJ 





(30000) 


1 


TP 


CA 


BB2 \ 
BB1 J 


2 


RJ 


BB 


3 


RP 


30004 


YC5 *\ 


4 


CC 


Z02 


CA1 


5 


SP 


ZZ2 


I 


6 


RP 


20003 


YC10 


7 


SA 


ZZ3 


J 


10 


ZJ 


YC11 


YC 


11 


MJ 


20000 


YC14 


12 


EF 





CA14 


13 


MJ 





YC15 


14 


EF 





CA13 


15 


TP 


CA11 


PC2 \ 
PCI j 


16 


RJ 


PC 


17 


TV 


YC 


YC2l\ 
YC22J 


20 


RS 


YC21 


21 


MS 





(30000) 


22 








3 


23 


TP 


CA 


BB2 \ 
BB1 / 


24 


RJ 


BB 


25 


MJ 





ZZ 




CA 


ZB26 





Exit 

Read 1st blk. 



Check Sentinel 

O.K. — > exit j no 4 
TCU2— >YC14j TCU1* 
Rewind #1 TCU1 

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 u v 

00 (No. words < 170 o ) address 



BB 



IA BD 






MJ 





(30000) 


Exit 


1 


MJ 





BB3 


Start 


2 





(30000) 


(30000) 


Par. = n address 


3 


TP 


BB56 


Q 


Mask — >Q 


4 


MJ 


20000 


BB10 


TCU1 | ;TCU2^>BB10 


5 


TP 


BB60 


BB52 


Set bypass #1 


6 


RP 


10005 


BB13\ 
BB45 J 


Set TCU1 


7 


QS 


BB67 




10 


TP 


BB57 


BB52 


Set bypass #2 


11 
12 


RP 
OS 


10005 
BB70 


BB13\ 
BB45J 


Set TCU2 


13 


EF 





BB51 


Set normal bias 


14 


EF 





BB52 


Bypass #1 or #2 


15 


TV 


BB2 


BB64 


Set address 


16 


TP 


BB53 





Mask— >Q 


17 


QS 


BB2 


BB63 


n of repeat 


20 


QT 


BB2 





n-^Q 


21 


TP 


BB54 


A 


1708— >A U 


22 


ST 





A 


170 8 ~ n-^u 


23 


AT 


BB55 


BB65 


170 8 - n->RP inst. 


24 


RJ 


BB65 


BB62 


Read block 


25 


ER 





A 


IOA — >A 


26 


ZJ 


BB27 


BB43 


Parity ^; no — > 


27 


EF 





BB50 


Set high 


30 


RJ 


BB65 


BB61 


Reread 


31 


ER 





A 


IOA — >A 


32 


ZJ 


BB33 


BB43 


Parity j 


33 


EF 





BB47 


Set low 


34 


RJ 


BB65 


BB61 


Reread 


35 


ER 





A 


IOA — >A 


36 


ZJ 


BB37 


BB43 


Parity | ; no — > 


37 


EF 





BB46 


Move back one blk. 


40 

41 


TP 
RJ 


CA10 
PC 


PC2 \ 
PCI ; 


Print PARITY ERROR 


42 


MS 





BB24 


Stop for reread 


43 


EF 





BB51 


Set normal 


44 


MJ 





BB 


Exit 


45 


2 


602 


10000 


Read one block & stop 


46 


2 


14 


10001 


Move bwd one blk. 


47 


2 


1 


70000 


Low gain 


50 


2 


1 


60000 


High gain 


51 


2 


1 


50000 


Normal gain 


52 





20000 


04000 


Set bypass 



25 



53 





07777 





Mask 


54 





170 





120 10 


55 


RP 





(30000) 


Set up RP 


56 


7 








Mask 


57 





20000 


04000 


Bypass *2 


60 





10000 


04000 


Bypass *i 


61 


EF 





BB46 


Move bwd. one block > 


62 


EF 





BB45 


Read one blk & stop 


63 
64 


RP 
ER 


1(0000) 
10000 


BB65 \ 
(30000)/ 


Read to core 


65 











RP exit 1 throw i 
J away J 


66 


ER 


10000 


A 


67 


1 










70 


2 

CA 



BD71 








read sub, 



26 



PC 











Print 


(1105) 




IA 


PD 









MJ 





(30000) 


Exit 


1 


MJ 





PC16 


Start 


2 





(30000) 





Par. = address n 


3 


TP 


PC2 


Q 1 




4 
5 


QT 
ST 


CA5 
CA6 


A45 V 
PC20J 


Set index 


6 


TU 


PC2 


PC7 


Set address 


7 


SP 


(30000) 


52 ^ 




10 
11 


PR 
SS 




A 


A I 
6 f 


Print one word 


12 


ZJ 


PC 10 


PC13 






13 


RA 


PC7 


CA7 


Set for next word 


14 


IJ 


PC20 


PC7 


Finished^; no — >PC7 


15 


MJ 





PC 


Exit 


16 
17 


RP 
PR 


4 



PC3 \ 
PC4 J 


Four carriage returns 


20 











Index 




CA 


PD21 









27 



Unicode Compilation Service Routines (1103A) 
IA ZA 



1st 














entrance 


J 


TP 


ZA3 







Set up zero 




1 


RJ 


ZA12 


ZA12 




Subs and 1st driver — * core 




2 


RJ 


YC 


YC1 




— > 1st driver 




3 


MJ 





zz 




— > 1st entrance of buffer 


Entrance 












after 














stop 


4 


TP 


ZA3 







Set up zero 




5 


RJ 


ZA12 


ZA12 




Subs and 1st driver — -»core 




6 


RJ 


YC 


YC1 




— > 1st driver 




7 


MJ 





zzi 




— >2nd entrance of buffer 


Merge 














and 














others 


10 


RJ 


ZA12 


ZA12 




Subs — >core 




11 


MJ 





YC20 




2nd driver — >core — >2nd driver 




12 


RP 


30140 


(30000)^ 






13 


TP 
CA 


ZB 
ZA14 


YC 


i 


Driver & subs — *core 



28 



Constants (1103A) 





IA 


CA 










170 


ZZ 


1 


67 


50342 


65127 


2 


30 


77657 


36566 


3 


30 


47776 


62452 


4 


30 


77777 


77777 


5 








77777 


6 








1 


7 





1 





10 





CA13 


10 ) 

ii i 


11 





CA23 


12 





77777 





13 


47 


12203 


02204 


14 


20 


12120 


31204 


15 


46 


15301 


21401 


16 


25 


42574 


24704 


17 


04 


24013 


01201 


20 


04 


26031 


20412 


21 


20 


12203 


02224 


22 


57 


42040 


40404 


23 


47 


07033 


40601 


24 


04 


34061 


41603 


25 


22 


20042 


42524 


26 


01 


20070 


40130 


27 


15 


20040 


30604 


30 


24 


20121 


70304 


31 


57 


52420 


40447 


32 


24 


01301 


20157 


33 


42 


04040 


40404 


34 


2 


200 


10000 




CA 


CA35 





ZZ prob. = 7230 
U N I C D 
E 77 S Y S T 
EM 77 T A P 
E 77 77 77 77 77 
V mask 



Print parameters 



u 


mas 


k 








t 


R 


E 


A 


D 


A 


E 


R 


R 





R 


A 


( 


P 


A 


R 


I 


T 


Y 


) 


* 


, 


t 


A 


A 


S 


T 


A 


R 


T 


A 


F 





R 


A 


R 


E 


R 


E 


A 


D 


S 


1 


# 


A 


A 


A 


A 


♦ 


M 





U 


N 


T 


A 


U 


N 


I 


C 





D 


E 


A 


s 


Y 


S 


T 


E 


M 


A 


T 


A 


P 


E 


A 





N 


A 


S 


E 


R 


V 





A 


I 


1 


. 


A 


A 


* 


S 


T 


A 


R 


T 


* 


. 


A 


A 


A 


A 


A 



A 



Rewind Uniservo 1 



J 



FLEX 
CODES 



29 



1st and 2nd Drivers (1103A) 



YC 





IA 


ZB 





MJ 





1 


TP 


CA 


2 


RJ 


BB 


3 


RP 


30004 


4 


CC 


ZZ2 


5 


SP 


ZZ2 


6 


RP 


20003 


7 


SA 


ZZ3 


10 


ZJ 


YC11 


11 


EF 





12 


TP 


CA11 


13 


RJ 


PC 


14 


TV 


YC 


15 


RS 


YC16 


16 


MS 





17 








20 


TP 


CA 


21 


RJ 


BB 


22 


MJ 







CA 


ZB23 



(30000) 


Exit 


BB2 \ 
BBl J 


Read 1st blk 


YC5 ^ 




CA1 
> 


Check Sentinel 


YC10 




J 

YC 


0. K.— *• exit; no v 


CA34 


Rewind tape #1 


PC2 \ 


UNICODE NOT ON TAPE #1 


PCI J 




YC16 


Exit- 3 


YC17 




(30000) 


Stop while tapes changed 


3 


Constant 


BB2 \ 
BBl J 


2nd driver 


ZZ 


— >blk 



30 



Read One Block of Tape #1 (1103A) 

Parameter Format 
Op u 

00 (No. words < 170 Q ) 
TP (par) BB2 
RJ BB BB1 



v 
address 



BB 





IA 


BD 













MJ 





(30000) 


Exit 




1 


MJ 





BB3 




Start 




2 





30000 


30000 




Par. 




3 


MJ 





BB4 




Set normal bias 




4 


TV 


BB2 


BB47 




Set address 




5 


TP 


BB41 


Q 




Mask — > 




6 


OS 


BB2 


BB46 




n of RP 




7 


QT 


BB2 







n ->Q 




10 
11 


TP 
ST 


BB42 
Q 


A 
A 


} 


170(3 - n ~> A u 




12 


AT 


BB43 


BB50 




170o - n — >RP inst. 
Read block 




13 


RJ 


BB50 


BB45 






14 


ER 





A 




IOA — »A 




15 


ZJ 


BB16 


BB32 




Parity i ; no — > BB32 




16 


EF 





BB37 




High 




17 


RJ 


BB50 


BB44 




Reread 




20 


ER 





A 




IOA — >A 




21 


ZJ 


BB22 


BB32 




Parity | ; no — > BB32 




22 


EF 





BB36 




Low 




23 


RJ 


BB50 


BB44 




Reread 




24 


ER 





A 




IOA — >A 




25 


ZJ 


BB26 


BB32 




Parity ^ 




26 


EF 





BB35 




Move bwd one blk. 




27 
30 


TP 
RJ 


CA10 
PC 


PC2 
PCI 


} 


Print parity error 




31 


MS 





BB13 




Stop for reread 




32 


EF 





BB40 




Set normal 




33 


MJ 





BB 




Exit 




34 


2 


602 


10000 




Read one blk & stop 




35 


2 


14 


10001 




Move bwd. one blk. 




36 


2 


1 


70000 




Low 




37 


2 


1 


60000 




High 




40 


2 


1 


50000 




Normal 




41 





07777 







Mask 




42 





170 







120 10 

Move bwd one blk. 




43 


RP 





(30000) 




44 


EF 





BB35 






45 


EF 





BB34 




Read one blk. & stop 


read 


46 
47 
50 


RP 
ER 



1(0000) 

10000 




BB50 \ 
(30000)/ 



Read to core 

RP exit 7 throw away 


l sub. 


51 


ER 
CA 


10000 
BD52 


A 




J 

J 





31 



PC 







Print (1103A) 



IA PD 

MJ 
iwt n 



(30000) 



Exit 



2 





(30000) 


(0) 


Par. = address n 


3 


TP 


PC2 


Q 1 




4 


QT 


CA5 


A45 I 


Set index 


5 


ST 


CA6 


PC20J 




6 


TU 


PC2 


PC7 


Set address 


7 


SP 


(30000) 


52 ^ 




10 
11 


PR 
SS 




A 


" 


Print one word 


12 


ZJ 


PC10 


PC13J 




13 


RA 


DP7 


PAT 


Cat fn« na<is+ *.i/*ws4 


14 


IJ 


PC20 


PC7 


Finished ^ ; no — > PC7 


15 


MJ 





PC 


Exit 


16 


RP 


4 


PC3 




17 


PR 





PC4 




20 



CA 



PD21 





Index 



32 



C. Object Program Service Routines 

1. Flex Code Print-out 

Stored at: 77250-77272 
Operates at: 750-771 

This routine does not preserve all of HSS. 

Function 

To print out on-line stored Flex codes. 

Calling Sequence 

a TP L (Parameter) PR3 
+1 RJ PR2 PR 

+2 Control returned here 

Notes : 

No editing is done - therefore all carriage return codes, 
etc., should be provided. 

Parameter is of form - 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 PR77250 
RE RP750 



Storage address 
Operating area 



RP 



Flex Print-Out (N.B. - Stored at PR; Operates at RP) 
(Core Requirement = 22 Locations) 



Send down to core 





IA 


PR 






RP 


30021 


RP2 \ 
RP 5 




TP 


PR2 





MJ 





(30000) 


1 





30000 


(30000) 


2 


TV 


RP1 


RP20 


3 


TU 


RP1 


RP6 


4 


1J 


RP20 


RP6 


5 


MJ 





RP 


6 


TP 


(30000) 





7 


LQ 


Q 


6 


10 


PR 








11 


QT 


RP17 


RP21 


12 


RS 


Q 


RP21 


13 


ZJ 


RP7 


RP14 


14 


RA 


RP6 


RP16 


15 


MJ 





RP4 


16 





1 





17 








77 


20 













CA 


PR23 





Exit 

Parameter 
Set up index 



> Operating routine 



J 



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 l67 fl ) 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 I67 fl , 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 




Entry 



Transfer Box 1 
From Drum to 
HSS 



Box 1 



Set MJ at 0. 
Clear Rest of 
HSS 



Transfer Remainder 
of Object Program 
Loader From Drum 
to HSS 



-© 



©- 



Move Uni servo 
1 Back One 
Block 



<2> 



Set Index 
to Two 



+(£h 



Read 1st 
Word of Block 




Word Count 
(u field)=0? 




Yes 



to 



©- 




Data Block. Set 
up RP-ER to Read 
No. Words Speci- 
fied by Word 
Count 



Compute No. 
of Throwaway 
Words £or_B]ock 




Ij: Index = 0?Y^* 



N^J) 



Read Data to 
Address Speci- 
fied by V of 
1st Word 




Execute 

Throwaway Reads 
and Check Parity 



Print "READ 
ERROR (PARITY) 
START FOR RE- 
READS." 



©- 



Set Transfer Address 
from V-Field of 1st 
Word into Exit of 
Subroutine ^ 





Move Back 
One Block 



-© 



®- 



Set to 

Normal 

Bias 



Set Index 
to Two 



<!> 



Rewind 
Uni servo 
1 



Read 1st Block 
of Object Program 
Tape (Uniservo 1) 
Contains Sentinel 
& 3 Blkts. of 
Tape Handler 




Parity Failure) ^Uo) 



Yes 



o 
OS 

> 

C/i 

n 

< 

o 

a 

w 

o 
c 







10 



Does Object 
Program Senti 
el Check? 





Yes 



Print Out: "MOUNT 
UNICODE OBJECT 
PROGRAM ON UNI- 
SERVO 1." 



-*©-* 



Rewind 
Uniservo 
_1 





Printout: "READ 
ERROR (PARITY). 
START FOR REREADS, 



-*© 



o 
er 
c_. 

a> 
o 

e* 

TJ 
•-I 

O 
(Q 
>-» 
CO 

3 

r 1 

o 
a 

CL 






O 

o 
9 



Regions for 1103A Object Program Loader 



RE DA77300 

RE PR77250 

RE ID 1500 ^ 

RE LE1564 \ 

RE LT1624 J 

RE SN114 



Storage address 
Flex print routine 

Operating area 

Address for loading Sentinel block 



Object Program Loader (1103A) 







IA 


DA 









RP 


30004 







1 


TP 


DA4 







2 


RP 


30124 


LD34 




3 


TP 


DAIO 


ID 





4 


MJ 





2 


1 


5 











2 


6 


RP 


17776 


DA2 1 


3 


7 


TP 
CA 


1 
DAIO 


2 J 



Clear one bank of core 



38 




@ 



© 

© 
® 

© 



© 



© 



IA DA10 

EF 

1 TP LE 

2 TP LE7 

3 MJ 167 

4 EF 

5 ER 10000 

6 QT LE5 

7 ZJ LD10 

10 TV 

11 AT LE6 

12 30000 

13 ER 10000 

14 RJ LD24 

15 MJ 

16 TV Q 

17 TU LD3 

20 RS LD21 

21 RP 

22 ER 10000 

23 ER 

24 ZJ LD25 

25 IJ LT1 

26 TP LE10 

27 RJ PR2 

30 MS 

31 RA LT2 

32 EF 

33 MJ 

34 TP LE 

35 TP LE7 

36 MJ 

37 EF 

40 EF 

41 RP 10170 

42 ER 10000 

43 ER 

44 ZJ LD45 

45 IJ LT1 

46 TP LE10 

47 MJ 

50 RA LT2 

51 MJ 

52 TP (SN24) A 

53 EJ (LE32) LD60 

54 TP LEU 

55 RJ PR2 

56 EF 

57 MS 

60 RA LD52 

61 RA LD53 

62 I J LE37 

63 MJ 
CA DA74 



} 



LEI 
LT2 
LT1 
LD4 
LE2 


LT 

LD16 
LD13^ 
LD12J 
30000 \ 
30000 J 
LD17 
LD1 
LD24 
LD21 1 
LT J 
LD23 \ 

a ; 

A ) 
30000 J 

LD31 

PR3 

PR 

LD 

LE4 

LEI 

LD3 

LT2 

LT1 

LD37 

LE3 

LE2 

LD43 

SN 

A 

LD52 

LD50 

PR3 

LD55 

LE4 

LD36 



PR3 

PR 

LE3 

DA 

LE36 

LE36 

LD52 

LD1 



Move back one block 
Set to normal bias 
Set index 

Prepare to read one block 

Read one word 

Save word count 

= ? 

Non-zero so set up Read and Repeat 

Read info to Loading Address 

Check parity and throw away 
Back to read next block 
Set transfer address 

Determine no. of throw away words 
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 Handler. 

Parity error? 



Print READ ERROR 

Change bias 
Try again 



Print MOUNT UNICODE OBJECT PROGRAM 
Rewind 

Increment test instructions 



39 



LE 





IA 


DA74 























02 


1 


50000 


No 


rma 


1 bias 








1 


02 


14 


10001 


Move 


Uniservo 


1 bac 


k one block 


2 


02 


602 


10000 


Read 


Uni servo 


1 one 


block 


o 
o 




1 r\r\ 


1WW 


1\CW1I1U UII1SC1VU A 




4 








10000 


Ch 


ange b 


ias 








5 





177 





Word 


count 


mas 


k 




6 


RP 


10000 


LD14 


Dummy 












7 








2 


Index 


for p 


ari 


ty rereads 


10 





LE12 


10 


Parameter f 


or 


READ 


Error 


11 





LE22 


10 


Parameter for 


wrong 


tape 


12 


45 


45471 


22030 


CR CR t 


R 


E 


A 




13 


22 


04201 


21203 


D 


A 


E 


R 


R 







14 


12 


04461 


53012 


R 


A 


( 


P 


A 


R 




t r 
XO 


1 A 

14 


UiiJ4 




T 
4- 


X 


V 

J. 




.1. 

Y 


. 




16 


04 


04472 


40130 


A 


A 


t 


S 


T 


A 




17 


12 


01042 


60312 


R 


T 


A 


F 





R 


Flex 


20 


04 


12201 


22030 


A 


R 


E 


R 


E 


A 




21 


22 


24574 


24545 


D 


S 


1 


, 


CR 


CR 




22 


45 


45470 


70334 


CR 


CR 


t 


M 





U 




23 


06 


01043 


40614 


N 


T 


A 


U 


N 


I 




24 


16 


03222 


00403 


C 





D 


E 


A 







25 


23 


32201 


60104 


B 


J 


E 


C 


T 


A 


Flex 


26 


15 


12031 


31230 


P 


R 





G 


R 


A 




27 


07 


04030 


60424 


M 


A 





N 


A 


S 




30 


20 


12170 


30457 


E 


R 


V 





A 


+ 




31 


52 


42040 


44545 


1 


, 


A 


A 


CR 


CR 




32 


67 


50342 


65127 


U 


N 


I 


C 





D 


~ 


} 


33 


30 


01512 


54430 


E 


A 





B 


J 


E 




r Excess Three 


34 


26 


66015 


25451 


C 


T 


A 


P 


R 









35 


32 


54244 


72201 


G 


R 


A 


M 


. 


A 


J 


36 





1 





u- 


advance 








37 








3 


Index 


for Sentinel 


check 




CA 


DA134 





















40 



( Entry W 



Transfer Box 1 
From Drum 
to HSS 



Box 1 



Set MJ at 0. 
Clear Rest of 
HSS 



Transfer Remainder 
of Object Program 
Loader from Drum 
to HSS 



<D 



0* 



Move Uniservo 
1 Back One 
Block 



^q™ 



No 



Yes 



Set Normal 

Bias for 

TCU1 




Set Normal 
Bias for 
TCU2 



Set Index 
to Two 



-© 



©- 



Read 1st Word 
of Block 




Word Count 
(u field)=0? 



No 



0- 



Set Transfer 
Address from v 
field of 1st word 
into Exit of 
Subroutine 



& 




Data Block. Set 
up RP-ER to Read 
No. Words Speci- 
fied by Word 
Count 



Read Data to 
Address Specified 
by v of 1st Word 




Compute No. of 
Throwaway Words 
for Block 



Execute Throw- 
away Reads and 
Check Parity 




Parity 
or Sprocket 
Failure? 




Yes 



& 




Index = 0? 



tfes 




Print : M READ ERROR 
(PARITY OR 

SPROCKET.) START! 

FOR REREADS." 




©- 



Move Tape on 
Uniservo 1 Bad 
One Block 



-© 



o 

Oi 

CO 
CD 

< 
o 

CD 

33 
O 

c 

c+ 

M» 

3 

CD 



O 
or 

C_i. 
CD 

o 

c+ 

*t 
O 
CQ 
■-» 

03 

3 

t- 
o 

03 

a. 

CD 



o 

o 

3* 

03 




TCU2? 



No 



Set Tape Param- 
eters for TCU1 
(Includes Normal 
Bias) 



<A 



Yes 



Set Tape Para- 
meters for TCU2 
(Includes Normal 
Bias) 



Set Index 
to Two 



Set 
Bypass 



*© 



©- 



Set 
Bias 



Rewind 
Servo #1 



Read 1st Block of 
Object Program 
Tape (Uniservo 1 ). 
Contains Sentinel 
& 3 Blkts. of Tape 
Handler 




Parity or 
Sprocket 
Failure? 





to 




Does Object 

Program 
e n tin el Check 

Yes 





Print Out: "M0UN* 
UNICODE OBJECT 
PROGRAM ON UNI- 
SERVO 1" 



^S> 



Rewind 
Uniservo 1 





Printout: "READ 
ERROR (PARITY OR 
SPROCKET). START 
FOR REREADS." 



-© 



© 

Ol 

in 

< 

o 

CD 

50 
O 

£ 



o 



o 

iQ 

i-» 
Q> 

3 

r 1 

o 

03 
Q. 
CD 



o 

09 



O 

O 



Regions for 1105 Object Program Loader 

RE DA77300 Storage address 

RE PR77250 Flex print routine 

RE LD1500 

RE LE1575 } Operating area 

RE LT1645 

RE SN114 Address for loading Sentinel block 



Object Program Loader (1105) 





LD40 

LD 

2 









IA 


DA 







RP 


30004 




1 


TP 


DA4 




2 


RP 


30145 




3 


TP 


DA10 





4 


MJ 





1 


5 








2 


6 


RP 


17776 


3 


7 


TP 


1 






CA 


DA10 



DA2 1 

2 \ Clear one bank of core 



43 



© 



© 





IA 


DA10 


LD 


EF 





1 


MJ 


20000 


2 


TP 


LE 


3 


MJ 





4 


TP 


LE5 


5 


EF 


167 


6 


TP 


LE15 


7 


EF 





10 


EF 





11 


ER 


10000 


12 


QT 


LE13 


13 


ZJ 


LD14 


14 


TV 





15 


AT 


LE14 


16 





30000 


17 


ER 


10000 


20 


RJ 


LD30 


21 


MJ 





22 


TV 





23 


TU 


LD5 


24 


RS 


LD25 


25 


RP 





26 


ER 


10000 


27 


ER 





30 


ZJ 


LD31 


31 


IJ 


LT1 


32 


TP 


LE16 


33 


RJ 


PR2 


34 


MS 





35 


RA 


LT2 


36 


EF 





37 


MJ 





40 


MJ 


20000 


41 


RP 


30005 


42 


TP 


LE 


43 


RP 


30005 


44 


TP 


LE5 


45 


TP 


LE15 


46 


EF 





47 


EF 





50 


EF 





51 


EF 





52 


RP 


10170 


53 


ER 


10000 


54 


ER 





55 


ZJ 


LD56 


56 


IJ 


LT1 


57 


TP 


LE16 


60 


MJ 





61 


RA 


LT2 



LT3 
LD4 
LT2 
LD5 
LT2 
LT2 
LT1 
LT5 
LT4 

Q 

LT 

LD22 

LDm 

LD16J 

30000\ 

30000J 

LD23 

LD1 

LD30 

LD25 "\ 

LT J 

LD27 

A 

A ) 

30000J 

LD35 

PR3 

PR 

LD 

LE12 

LT3 

LD7 

LD43 

LD45 

LT2 

LD45 

LT2 

LT1 

LT5 

LT2 

LT6 

LT4 

LD54 

SN 

A 

LD63 

LD61 

PR3 

LD66 

LE12 



} 



} 



} 



Move back one block 

TCU1 or TCU2? 

Set normal bias for TCU1 

Set normal bias for TCU2 
Set Bias 
Set Index 
Set Bypass 

Prepare to read one block 
Read one word 
Set word count into temp. 
= 0? 

Non-zero, so set up Read 
and repeat 

Read info to loading address 

Check parity and throw away 
Back to read next block 
Set transfer address 

Determine no. of throw away words 

Throw away 

Check Parity 
Parity failure 
Print READ ERROR 



Change bias 

Move back one block 

TCU1 or TCU2? 

Set TCU1 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 

Parity or sprocket error? 

READ ERROR 
Change bias 



44 



® 



62 


MJ 





LD47 


63 


TP 


<SN24) 


A 


64 


EJ 


(LE42) 


LD71 


65 


TP 


LE17 


PR3 "1 


66 


RJ 


PR2 


PR J 


67 


EF 





LT6 


70 


MS 





DA 


71 


RA 


LD63 


LE46\ 
LE46J 


72 


RA 


LD64 


73 


IJ 


LE47 


LD63 


74 


MJ 





LD1 




CA 


DA105 





Try again 

Print MOUNT UNICODE OBJECT PROGRAM 
Rewind 

Increment test instructions 
To continue loading 



45 



LE 





IA 


DA105 







01 


1 


50000 


1 


01 


14 


10001 


2 


01 


602 


10000 


3 





10000 


4000 


4 


01 


200 


10000 


5 


02 


1 


50000 


6 


02 


14 


10001 


7 


02 


602 


10000 


10 





20000 


4000 


11 


02 


200 


10000 


12 








10000 


13 





177 





14 


RP 


10000 


LD20 


15 








2 


16 





LE20 


12 


17 





LE32 


10 


20 


45 


45471 


22030 


21 


22 


04201 


21203 


22 


12 


04461 


53012 


23 


14 


01250 


40312 


24 


04 


24151 


20316 


25 


36 


20014 


25742 


26 


04 


04472 


40130 


27 


12 


01042 


60312 


30 


04 


12201 


22030 


31 


22 


24574 


24545 


32 


45 


45470 


70334 


33 


06 


01043 


40614 


34 


16 


03222 


00403 


35 


23 


32201 


60104 


36 


15 


12031 


31230 


37 


07 


04030 


60424 


40 


20 


12170 


30457 


41 


52 


42040 


44545 


42 


67 


50342 


65127 


43 


30 


01512 


54430 


44 


26 


66015 


25451 


45 


32 


54244 


72201 


46 





1 





47 








3 




CA 


DA155 





TCU1 



Normal bias 

Move Uniservo 1 back one block 

Read Uniservo 1 

Riiffpr 1 hvnass 

- -- f j 

Rewind Uniservo 1 ' 

Normal bias "\ 

Move Uniservo 1 back one block I 

Read Uniservo 1 > TCU2 

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 R E A 



Flex 



D A 


E 


R 


R 







R A 


( 


P 


A 


R 




I T 


Y 


A 





R 




A S 


P 


R 





C 




K E 


T 


) 


i 


. 




A A 


t 


S 


T 


A 




R T 


A 


F 





R 




A R 


E 


R 


E 


A 




D S 


1 


. 


CR CR 




CR CR t 


M 





U 




N T 


A 


U 


N 


I 




C 


D 


E 


A 







B J 


E 


C 


T 


A 




P R 





G 


R 


A 




M A 





N 


A 


S 




E R 


V 





A 


I 




1 . 


A 


A 


CR CR 




U N 


I 


C 





D 




E A 





B 


J 


E 




C T 


A 


P 


R 







G R 


A 


M 


• 


A 




u-advance 








Index 


for Sent 


inel 


check 



Flex 



XS-3 



46 



2. LIBRARY ROUTINES 



2. Library Routines 
a. Unicode Librarian Symbolic Listing 
















X 
X 


1 
2 


00004 


00004 


45 


00000 


00012 


X 


3 


00005 


00005 


37 


40005 


40007 


X 


4 


00006 


00006 


45 


00000 


30000 


X 


5 


00007 


00007 


00 


00000 


00000 


X 


6 


00010 


00010 


00 


00000 


00000 


X 


7 


00011 


00011 


00 


00000 


00000 


X 
X 
X 


8 

9 

10 


00012 


00012 


55 


00420 


31006 


00013 


00013 


51 


00007 


32000 


X 


11 


00014 


00014 


47 


00042 


00015 


X 


12 


00015 


00015 


75 


11130 


00017 


X 


13 


00016 


00016 


11 


00421 


01316 


X 


14 


00017 


00017 


11 


00422 


01342 


X 


15 


00020 


00020 


11 


00423 


01343 


X 


16 


00021 


00021 


11 


00424 


01506 


X 


17 


00022 


00022 


11 


00425 


01507 


X 


18 


00023 


00023 


23 


01510 


32000 


X 


19 


00024 


00024 


11 


00426 


01676 


X 


20 


00025 


00025 


11 


00427 


01677 


X 


21 


00026 


00026 


23 


01700 


32000 


X 


22 


00027 


00027 


11 


00422 


02066 


X 


23 


00030 


00030 


11 


00430 


02067 


X 


24 


00031 


00031 


11 


00431 


02256 


X 


25 


00032 


00032 


11 


00432 


02257 


X 


26 


00033 


00033 


11 


00433 


31000 


X 


27 


00034 


00034 


75 


10010 


00036 


X 


28 


00035 


00035 


53 


00434 


00663 


X 


29 


00036 


00036 


31 


00477 


00000 


X 


30 


00037 


00037 


37 


00543 


00533 


X 


31 


00040 


00040 


37 


00635 


00622 


X 


32 


00041 


00041 


45 


00000 


00046 


X 


33 


00042 


00042 


54 


32000 


00006 


X 


34 



ALARM 

EXIT 

PARI 

PAR2 

PAR3 

RTN 

ENTRY 



SI 



SUB 


.WFUA05 


,714 


t UNICODE LIBRARIAN 


$ 


INOOT 


.3 


,0 




$ 


MJ 


t 


.ENTBY , 




$ 


ALARM 


t 


t i 




$ 


MJ 


t 


.FILL 




$ 




t 


,0 


.PARAMETERS 


$ 




t 


.0 




$ 




t 


.0 




$ 


EQUALS 


,60000)B 


,60000)B , 




$ 


LQ 


.CI 


.(H* 


IS INPUT SERVO ZERO 


$ 


QT 


,PAR1 


•A 




$ 


ZJ 


,S1 


tL+1 




$ 


RPV 


,600 


tL+2 , 


YES-LOAD BUFFER 


$ 


TP 


f C2 


.BF 




$ 


TP 


,C3 


.BF+20 




$ 


TP 


,C4 


.BF+21 




$ 


TP 


,C5 


3F+120 




$ 


TP 


,C6 


.BF+121 , 




$ 


RS 


.BF+122 


•A 




$ 


TP 


,C7 


.BF+240 




$ 


TP 


,C8 


♦BF+241 




$ 


RS 


.BF+242 


»A 




$ 


TP 


,C3 


.BF+360 




$ 


TP 


,C9 


.BF+361 




$ 


TP 


,C10 


»BF+480 




$ 


TP 


,C11 


.BF+481 




$ 


TP 


f Cl2 


A 


SET SERVO NUMBERS 


$ 


RPV 


.8 


rL+2 




$ 


OS 


,C13 


,MTWRIT 




$ 


SP 


,5V 


rO 


r WRITE DUMMY LIBRARY 


$ 


RJ 


t MTWREX 


JtfTWRE 1 




$ 


RJ 


.MTCHEX 


,MTCHEK 


,CHECK DUMMY LIBRARY 


$ 


MJ 


, 


•S2 




$ 


LA 


, A 


6 


|SET SERVO NUMBERS 


$ 



o 



00043 


00043 


11 


00433 


31000 


X 


35. , 


00044 


00044 


75 


10004 


00046 


X 


36. , 


00045 


00045 


53 


32000 


00667 


X 


37. , 


00046 


00046 


54 


00007 


32014 


X 


38. , 


00047 


00047 


75 


10004 


00051 


X 


39. , 


00050 


00050 


53 


32000 


00663 


X 


40. , 


00051 


00051 


31 


00474 


00000 


X 


41. , 


00052 


00052 


37 


00565 


00555 


X 


42. f 


00053 


00053 


31 


01342 


00000 


X 


43. , 


00054 


00054 


43 


00422 


00067 


X 


44. , 


00055 


00055 


11 


00436 


31000 


X 


45. , 


00056 


00056 


31 


00477 


00000 


X 


46. , 


00057 


00057 


55 


31000 


00006 


X 


47. , 


00060 


00060 


61 


00000 


31000 


X 


48. t 


00061 


00061 


41 


32000 


00057 


X 


49. f 


00062 


00062 


17 


00000 


00660 


X 


50. , 


00063 


00063 


17 


00000 


00670 


X 


51. , 


00064 


00064 


17 


00000 


00665 


X 


52. , 


00065 


00065 


11 


00437 


31000 


X 


53. , 


00066 


00066 


45 


00000 


00005 


X 


54. , 


00067 


00067 


11 


01510 


00520 


X 


55. , 


00070 


00070 


55 


00007 


31014 


X 


56. , 


00071 


00071 


51 


00440 


00521 


X 


57. t 


00072 


00072 


47 


00073 


00074 


X 


58. , 


00073 


00073 


23 


01510 


00474 


X 


59. , 


00074 


00074 


55 


00010 


31014 


X 


60. , 


00075 


00075 


51 


00440 


00522 


X 


61. t 


00076 


00076 


47 


00077 


00100 


X 


62. t 


00077 


00077 


21 


01510 


00474 


X 


63. f 


00100 


00100 


21 


00521 


00504 


X 


64. , 


00101 


00101 


21 


00522 


00504 


X 


65. , 


00102 


00102 


11 


01510 


00523 


X 


66. , 


00103 


00103 


31 


00474 


00000 


X 


67. , 


00104 


00104 


37 


00543 


00533 


X 


68. , 



S2 



ALARM 1 



S3 



TP 


,C12 


,Q 




$ 


RPV 


.4 


,L+2 




$ 


QS 


,A 


t MTRDFW 




$ 


LA 


,PAR1 


f A+l2 




$ 


RPV 


,4 


,L+2 




$ 


OS 


»A 


t MTWRIT , 




$ 


SP 


,2V 


,0 


READ TAPE AND CATALOGUE 
(LABELS) 


$ 


RJ 


,MTRDEX 


.MTREAD , 




$ 


SP 


,BF+20 


t i 


ALARM IF NO TAPE LABEL 


$ 


EJ 


,C3 


,S3 , 




$ 


TP 


,C15 


,0 




$ 


SP 


t 5V 


,o 




$ 


LO 


,Q 


,6 




$ 


PR 


* 


,Q 




$ 


IJ 


,A 


,L-2 




$ 


EF 


i 


,MTNOBI 




$ 


EF 


i 


.MTINRW , 




$ 


EF 


i 


,MTOURW , 




$ 


TP 


,C16 


,Q 




$ 


MJ 


i 


.ALARM , 




$ 


TP 


.BF+122 


,T1 , 


STORE WORD COUNT 


$ 


LQ 


,PAR1 


,0+12 


REVISE WORD COUNT 


$ 


QT 


,C17 


,T2 




$ 


ZJ 


,L+1 


,L+2 




$ 


RS 


f BF+l22 


,2V 




$ 


LQ 


,PAR2 


,0+12 , 




$ 


QT 


,C17 


,T3 , 




$ 


ZJ 


,L+1 


,L+2 




$ 


RA 


,BF+l22 


,2V 




$ 


RA 


,T2 


,120V 




$ 


RA 


,T3 


f l20V 




$ 


TP 


t BF+122 


,T4 


r STORE REVISED WORD 


$ 



SP 



RJ 



,2V 



,0 



•MTWREX ,MTWRE1 



COUNT 
WRITE TAPE AND 
CATALOGUE LABELS 



Oi 



00105 


00105 


31 


00520 


00000 


X 


69. , 




SP 


iTl 


* i 


READ CATALOGUE $ 


00106 


00106 


73 


00504 


00520 


X 


70. , 




DV 


,120V 


»T1 


$ 


00107 


00107 


47 


00110 


00111 


X 


71. , 




ZJ 


,L+1 


,L+2 , 


$ 


00110 


00110 


21 


00520 


00473 


X 


72. , 




RA 


,T1 


,1V 


$ 


00111 


00111 


31 


00520 


00000 


X 


73. , 


S4 , 


SP 


,T1 


, i 


$ 


00112 


00112 


75 


12000 


00114 


X 


74. , 




RPV 


,1024 


,L+2 , 


$ 


00113 


00113 


11 


00421 


01316 


X 


75. , 




TP 


,C2 


,BF 


$ 


00114 


00114 


37 


00565 


00555 


X 


76. , 




RJ 


.MTRDEX 


.MTREAD , 


$ 


00115 


00115 


37 


00115 


00116 


X 


77. , 


S5 


RJ 


tL 


,L+1 , 


$ 


00116 


00116 


55 


00007 


31030 


X 


78. , 




LQ 


.PARI 


,Q+24 


GENERATE CATALOGUE $ 
ITEM 


00117 


00117 


51 


00502 


32000 


X 


79. , 




QT 


»7V 


,A 


$ 


00120 


00120 


47 


00121 


00132 


X 


80. , 




ZJ 


,L+1 


,S6 


$ 


00121 


00121 


35 


00443 


00525 


X 


81. , 




AT 


,C2l 


,T6 


$ 


00122 


00122 


11 


00011 


31000 


X 


82. , 




TP 


f PAR3 


,0 


$ 


00123 


00123 


11 


00477 


00524 


X 


83. , 




TP 


,5V 


,T5 


$ 


00124 


00124 


55 


31000 


00006 


X 


84. , 




LQ 


tQ 


,6 


$ 


00125 


00125 


51 


00420 


32000 


X 


85. , 




QT 


tCl 


,A 


$ 


00126 


00126 


47 


00130 


00127 


X 


86. , 




ZJ 


,L+2 


,L+1 , 


$ 


00127 


00127 


21 


31000 


00420 


X 


87. , 




RA 


.Q 


,C1 


$ 


00130 


00130 


41 


00524 


00124 


X 


88. , 




IJ 


•T5 


,L-4 


$ 


00131 


00131 


11 


31000 


00524 


X 


89. , 




TP 


•Q 


,T5 


$ 


00132 


00132 


11 


00442 


00526 


X 


90. , 


S6 ! 


TP 


,C20 


,T7 , 


GENERATE NEW CATALOGUE $ 


00133 


00133 


11 


00445 


00134 


X 


91. , 




TP 


,C23 


,L+1 , 


$ 


00134 


00134 


11 


30000 


30000 


X 


92. , 




TP 


.FILL 


.FILL , 


$ 


00135 


00135 


23 


00134 


00446 


X 


93. , 




RS 


iL-1 


,C24 


$ 


00136 


00136 


41 


00526 


00134 


X 


94. , 




IJ 


,T7 


,L-2 , 


$ 


00137 


00137 


37 


00137 


00140 


X 


95. , 


S7 


RJ 


,L 


,L+1 , 


$ 


00140 


00140 


11 


00447 


00527 


X 


96. , 




TP 


,C25 


,T8 , 


$ 


00141 


00141 


11 


00450 


00530 


X 


97. , 




TP 


,C26 


,T9 , 


$ 


00142 


00142 


11 


00440 


00531 


X 


98. , 




TP 


,C17 


,T10 , 


$ 


00143 


00143 


11 


00441 


00526 


X 


99. , 




TP 


,C18 


,T7 


$ 


00144 


00144 


11 


00504 


00514 


X 


100. 




, TP 


,120V 


.ADDCWD 


$ 


00145 


00145 


11 


00451 


00150 


X 


101. 


\ S8 


, TP 


,C27 


,S9 


$ 


00146 


00146 


15 


00452 


00151 


X 


102. 




, TU 


,C28 


,L+3 


$ 


00147 


00147 


16 


00452 


00154 


X 


103. 




r TV 


,C28 


,L+5 


$ 


00150 


00150 


11 


30000 


30000 


X 


104. 


! S9 


, TP 


.FILL 


.FILL 


$ 


00151 


00151 


55 


30000 


32000 


X 


105. 




r LQ 


.FILL 


,A 


$ 



to 



00152 


00152 


43 


00421 


00177 


X 


106. ♦ , 


EJ 


f C2 


,S12 


00153 


00153 


51 


00530 


32000 


X 


107. , , 


QT 


,T9 


.A 


00154 


00154 


35 


00526 


30000 


X 


108. , , 


AT 


,T7 


f FILL , 


00155 


00155 


51 


00531 


00514 


X 


109. , , 


QT 


t T10 


f ADDCWD t 


00156 


00156 


43 


00522 


00166 


X 


no. » , 


EJ 


,T3 


♦Sll ♦ 


00157 


00157 


43 


00521 


00164 


X 


111. t , 


EJ 


t T2 


♦S10+4 ♦ 


00160 


00160 


21 


00526 


00527 


X 


112. f S10 , 


RA 


,T7 


,T8 , 


00161 


00161 


21 


00150 


00474 


X 


113. , 


RA 


,S9 


.2V 


00162 


00162 


21 


00154 


00474 


X 


114. , 


RA 


f S9+4 


♦2V 


00163 


00163 


37 


00163 


00164 


X 


115. , 


RJ 


,L 


,L+1 , 


00164 


00164 


75 


20002 


00150 


X 


116. , , 


RPU 


,2 


.S9 


00165 


00165 


21 


00150 


00475 


X 


117. , 


RA 


.S9 


t 2U t 


00166 


00166 


37 


00166 


00167 


X 


118. t Sll , 


t RJ 


,L 


,L+1 t 


00167 


00167 


16 


00150 


00171 


X 


119. , , 


TV 


tS9 


,L+2 ♦ 


00170 


00170 


16 


00154 


00173 


X 


120. , , 


TV 


♦S9+4 


,L+3 ♦ 


00171 


00171 


11 


00524 


30000 


X 


121. f 


TP 


»T5 


,FILL , 


00172 


00172 


31 


00526 


00000 


X 


122. . 


SP 


t T7 


t ♦ 


00173 


00173 


35 


00525 


30000 


X 


123. , , 


AT 


,T6 


,FILL , 


00174 


00174 


16 


00164 


00163 


X 


124. , 


TV 


.S10+4 


.S10+3 , 


00175 


00175 


16 


00176 


00166 


X 


125. , 


TV 


,L+1 


♦Sll , 


00176 


00176 


45 


00000 


00160 


X 


126. t 


MJ 


» 


,S10 , 


00177 


00177 


21 


00514 


00527 


X 


127. , S12 , 


RA 


♦ADDCWD 


»T8 t 


00200 


00200 


43 


00522 


00167 


X 


128. t 


EJ 


»T3 


♦Sll+1 , 


00201 


00201 


16 


00150 


00203 


X 


129. , 


, TV 


.S9 


♦ L+2 f 


00202 


00202 


75 


10004 


00204 


X 


130. , , 


RPV 


,4 


,L+2 t 


00203 


00203 


11 


00421 


30000 


X 


131. , , 


t TP 


,C2 


♦FILL t 


00204 


00204 


37 


00166 


00166 


X 


132. , , 


RJ 


.Sll 


♦Sll ♦ 


00205 


00205 


37 


00205 


00206 


X 


133. , S13 , 


t RJ 


• L 


tL+1 . 


00206 


00206 


31 


00523 


00000 


X 


134. , , 


SP 


»T4 


»1 


00207 


00207 


73 


00504 


00532 


X 


135. t 


► DV 


,120V 


.Til , 


00210 


00210 


47 


00211 


00212 


X 


136. t , 


, ZJ 


♦L+l 


,L+2 t 


00211 


00211 


21 


00532 


00473 


X 


137. , , 


RA 


♦Til 


♦ IV 


00212 


00212 


31 


00532 


00000 


X 


138. t 


► SP 


♦Til 


* ♦ 


00213 


00213 


37 


00543 


00535 


X 


139. » , 


, RJ 


♦MTWREX 


♦MTWRE2 , 


00214 


00214 


31 


00473 


00000 


X 


140. , 


, SP 


♦ IV 


.0 


00215 


00215 


37 


00565 


00555 


X 


141. , 


t RJ 


♦NTTRDEX 


f MTREAD , 


00216 


00216 


11 


00523 


01320 


X 


142. , 


, TP 


|T4 


t BF+2 , 


00217 


00217 


31 


00473 


00000 


X 


143. , 


SP 


,iv 


.0 



WRITE NEW CATALOG 



READ OP FILE LABEL 

SET REVISED WORD COUNT 
WRITE OP FILE LABEL 





00220 


00220 


37 


00543 


00535 


X 


144. , 


RJ 


,MTWREX 


.MTWRE2 


$ 




00221 


00221 


37 


00115 


00111 


X 


145. , 


r RJ 


,S5 


,S4 


READ OP FILE $ 




00222 


00222 


55 


00007 


31025 


X 


146. t , 


r LQ 


.PARI 


tQ+21 


GENERATE OP FILE ITEM $ 




00223 


00223 


51 


00453 


00524 


X 


147. , 


» QT 


♦C30 


,T5 


$ 




00224 


00224 


55 


00010 


31022 


X 


148. , , 


LQ 


,PAR2 


,Q+18 


$ 




00225 


00225 


52 


00464 


00524 


X 


149. , 


r QA 


tK7 


,T5 


$ 




00226 


00226 


11 


00435 


31000 


X 


150. , 


TP 


,C14 


,Q 


$ 




00227 


00227 


42 


00506 


00231 


X 


151. , 


TJ 


,513V 


,L+2 


$ 




00230 


00230 


45 


00000 


00056 


X 


152. , 


, MJ 


t 


.ALARM1-4 


$ 




00231 


00231 


55 


00525 


00017 


X 


153. , 


r LQ 


.T6 


,15 


$ 




00232 


00232 


45 


00000 


00233 


X 


154. , 


, MJ 


» 


.S13+22 


$ 




00233 


00233 


55 


00527 


00017 


X 


155. , 


i LQ 


,T8 


,15 


GENERATE NEW OP FILE $ 




00234 


00234 


55 


00530 


00017 


X 


156. , 


r LQ 


»T9 


,15 


$ 




00235 


00235 


55 


00531 


00017 


X 


157. , 


r LQ 


,T10 


,15 


$ 




00236 


00236 


55 


00521 


00017 


X 


158. , 


, LQ 


,T2 


,15 


$ 




00237 


00237 


55 


00522 


00017 


X 


159. , 


► LQ 


,T3 


,15 


$ 




00240 


00240 


11 


00444 


00526 


X 


160. , S14 


, TP 


,C22 


,T7 


$ 




00241 


00241 


11 


00454 


00245 


X 


161. , 


, TP 


,C32 


,L+4 


$ 


en 


00242 


00242 


15 


00455 


00244 


X 


162. , 


, TU 


,C33 


,L+2 


$ 


CO 


00243 


00243 


16 


00452 


00246 


X 


163. f 


t TV 


,C28 


.L+3 


$ 




00244 


00244 


11 


30000 


31000 


X 


164. t 


, TP 


.FILL 


,Q 


$ 




00245 


00245 


11 


30000 


30000 


X 


165. , 


, TP 


.FILL 


.FILL 


$ 




00246 


00246 


11 


31000 


30000 


X 


166. , 


, TP 


.Q 


f FILL 


$ 




00247 


00247 


21 


00244 


00475 


X 


167. , 


, RA 


.L-3 


,2U 


$ 




00250 


00250 


21 


00245 


00472 


X 


168. t 


, RA 


,L-3 


,K13 


$ 




00251 


00251 


21 


00246 


00474 


X 


169. t 


RA 


,L-3 


.2V 


$ 




00252 


00252 


41 


00526 


00244 


X 


170. , 


IJ 


,T7 


,L-6 


$ 




00253 


00253 


37 


00253 


00254 


X 


171. , S15 


RJ 


• L 


,L+1 


$ 




00254 


00254 


37 


00137 


00132 


X 


172. t 


RJ 


,S7 


,S6 


$ 




00255 


00255 


11 


00465 


00526 


X 


173. . , 


TP 


,K8 


,T7 


$ 




00256 


00256 


16 


00474 


00526 


X 


174. , , 


TV 


,2V 


,T7 , 


$ 




00257 


00257 


11 


00466 


00514 


X 


175. , 


TP 


• K9 


.ADDCWD , 


$ 




00260 


00260 


37 


00205 


00145 


X 


176. , 


RJ 


,S13 


,S8 


$ 




00261 


00261 


37 


00253 


00240 


X 


177. t , 


RJ 


,S15 


,S14 


$ 




00262 


00262 


31 


00532 


00000 


X 


178. f , 


SP 


,T11 


t < 


WRITE NEW OP FILE $ 




00263 


00263 


37 


00543 


00535 


X 


179. , , 


RJ 


.MTWREX 


.MTWRE2 


$ 




00264 


00264 


31 


00473 


00000 


X 


180. t 


SP 


,1V 


,0 


READ SUBROUTINE LABEL $ 




00265 


00265 


37 


00565 


00555 


X 


181. t 


RJ 


.MTRDEX 


t MTREAD , 


$ 





00266 


00266 


31 


00473 


00000 


X 


182. , 


SP 


,1V 


.0 


WRITE SUBROUTINE LABEL $ 




00267 


00267 


37 


00543 


00535 


X 


183. , 


RJ 


.MTWREX 


f MTWRE2 


$ 




00270 


00270 


11 


00465 


00507 


X 


184. , 


TP 


t K8 


.ICWDC , 


PRESET INPUT AND OUTPUT $ 




00271 


00271 


11 


00465 


00510 


X 


185. , 


TP 


f K8 


t 0CWDC 


CWD COUNTERS 




00272 


00272 


11 


00007 


31000 


X 


186. , 


TP 


.PARI 


,Q 


EXTRACT INFO FROM $ 
PARAMETERS 




00273 


00273 


51 


00457 


00511 


X 


187. , 


QT 


,K2 


, DELCWD 






00274 


00274 


51 


00460 


00512 


X 


188. f 


QT 


r K3 


.INPUTS 


$ 




00275 


00275 


51 


00462 


00513 


X 


189. , 


QT 


,K5 


.NOWDS , 


$ 




00276 


00276 


11 


00010 


31000 


X 


190. , , 


TP 


,PAR2 


.0 


$ 




00277 


00277 


51 


00457 


00514 


X 


191. f 


QT 


f K2 


f ADDCWD , 


$ 




00300 


00300 


51 


00463 


00515 


X 


192. , 


QT 


,K6 


,QNP 


$ 




00301 


00301 


51 


00464 


00516 


X 


193. , 


QT 


,K7 


,P 


$ 




00302 


00302 


55 


00511 


00033 


X 


194. , 


LQ 


.DELCWD 


,27 


$ 




00303 


00303 


55 


00514 


00033 


X 


195. , , 


LQ 


.ADDCWD 


.27 


$ 




00304 


00304 


21 


00511 


00466 


X 


196. , 


RA 


.DELCWD 


f K9 


$ 




00305 


00305 


21 


00514 


00466 


X 


197. , 


RA 


.ADDCWD 


,K9 


$ 


Ul 


00306 


00306 


37 


01222 


01141 


X 


198. , 


RJ 


.HSPEX 


t HSPEl , 


$ 


tU 


00307 


00307 


31 


00507 


00000 


X 


199. f Bl 


SP 


.ICWDC 


,0 


$ 




00310 


00310 


43 


00514 


00312 


X 


200. , 


EJ 


.ADDCWD 


,L+2 , 


IS ROUTINE TO BE ADDED $ 




00311 


00311 


45 


00000 


00354 


X 


201. , 


MJ 


t 


,B5 


NO $ 




00312 


00312 


31 


00513 


00025 


X 


202. , 


SP 


t N0WDS 


,21 


t YES -SET UP PRELUDE $ 




00313 


00313 


22 


00000 


01317 


X 


203. t 


LTL 


, 


,BF+1 


$ 




00314 


00314 


31 


00512 


00003 


X 


204. , 


SP 


.INPUTS 


.3 


$ 




00315 


00315 


32 


00510 


00000 


X 


205. f 


SA 


t 0CWDC 


,0 


$ 




00316 


00316 


32 


01317 


00000 


X 


206. , 


SA 


,BF+1 


.0 


$ 




00317 


00317 


35 


00461 


01316 


X 


207. , 


AT 


,K4 


,BF 


$ 




00320 


00320 


55 


00512 


00030 


X 


208. , , 


LQ 


.INPUTS 


,24 


$ 




00321 


00321 


11 


31000 


01321 


X 


209. , 


TP 


,Q 


.BF+3 , 


$ 




00322 


00322 


23 


01317 


00516 


X 


210. , , 


RS 


,BF+1 


,P 


$ 




00323 


00323 


11 


00515 


01320 


X 


211. , 


TP 


.QNP 


,BF+2 , 


$ 




00324 


00324 


11 


00473 


01322 


X 


212. , , 


TP 


,1V 


,BF+4 


$ 




00325 


00325 


11 


00011 


01323 


X 


213. , 


TP 


f PAR3 


t BF+5 


$ 




00326 


00326 


11 


00477 


01324 


X 


214. , 


TP 


,5V 


,BF+6 , 


$ 




00327 


00327 


55 


01323 


00006 


X 


215. , B2 


LQ 


,BF+5 


.6 


$ 




00330 


00330 


51 


00420 


32000 


X 


216. , 


QT 


,C1 


,A 






00331 


00331 


47 


00333 


00332 


X 


217. , 


, ZJ 


f L+2 


»L4-1 


, $ 





00332 


00332 


21 


31000 


00473 


X 


218. t 


t RA 


.0 


.IV 


$ 




00333 


00333 


41 


01324 


00327 


X 


219. , 


r IJ 


,BF+6 


,B2 


$ 




00334 


00334 


21 


00510 


00456 


X 


220. , , 


, RA 


, OCWDC 


.Kl 


$ 




00335 


00335 


11 


00462 


31000 


X 


221. t , 


TP 


,K5 


.0 


$ 




00336 


00336 


53 


00513 


00341 


X 


222. , 


OS 


.NOWDS 


,B3 


$ 




00337 


00337 


53 


00513 


00344 


X 


223. , 


QS 


.NOWDS 


,B4 


$ 




00340 


00340 


21 


00341 


00505 


X 


224. , , 


RA 


,B3 


,120U 


$ 




00341 


00341 


75 


10000 


00343 


X 


225. f B3 , 


RPV 


,0 


,L+2 


,FILL BUFFER WITH Z CODES$ 




00342 


00342 


11 


00421 


01324 


X 


226. , 


TP 


f C2 


,BF+6 , 


$ 




00343 


00343 


37 


01222 


01156 


X 


227. , 


RJ 


.HSPEX 


.HSPE2 , 


$ 




00344 


00344 


75 


30000 


00346 


X 


228. , B4 , 


RPB 


t 


,L+2 , 


$ 




00345 


00345 


11 


60000 


01324 


X 


229. , 


TP 


f RTN 


,BF+6 


$ 




00346 


00346 


21 


00513 


00501 


X 


230. , , 


RA 


,NOWDS 


t6U 


$ 




00347 


00347 


73 


00505 


31000 


X 


231. . 


DV 


,120U 


.0 


$ 




00350 


00350 


47 


00351 


00352 


X 


232. . 


f ZJ 


,L+1 


,L+2 , 


$ 




00351 


00351 


21 


31000 


00473 


X 


233. , 


RA 


.Q 


»1V 


$ 




00352 


00352 


31 


31000 


00000 


X 


234. , 


r SP 


.0 


,0 


$ 




00353 


00353 


37 


00543 


00535 


X 


235. , 


RJ 


.MTWREX 


.MTWRE2 


r WRITE ROUTINE ON OUTPUT $ 


Ol 






















TAPE 


(SI 


00354 


00354 


31 


00473 


00000 


X 


236. t B5 


SP 


,1V 


,0 


$ 




00355 


00355 


37 


00565 


00555 


X 


237. , 


RJ 


t MTRDEX 


.MTREAD 


r READ 1 BLOCK FROM $ 
INPUT TAPE 




00356 


00356 


31 


01316 


00000 


X 


238. . 


r SP 


,BF 


,0 


$ 




00357 


00357 


43 


00431 


00407 


X 


239. , 


EJ 


,C10 


,B7 


r IS THIS END OF ENTRY $ 
, BLOCK 




00360 


00360 


11 


00467 


31000 


X 


240. , 


TP 


,K10 


.0 


NO $ 




00361 


00361 


51 


01316 


32000 


X 


241. , 


QT 


,BF 


•A 


$ 




00362 


00362 


73 


00504 


00517 


X 


242 . , 


DV 


t l20V 


.TEMPI 


$ 




00363 


00363 


47 


00364 


00365 


X 


243. , 


ZJ 


,L+1 


,L+2 


$ 




00364 


00364 


21 


00517 


00473 


X 


244. f 


RA 


.TEMPI 


.IV 


$ 




00365 


00365 


31 


00507 


00000 


X 


245. , 


SP 


.ICWDC 


,0 


$ 




00366 


00366 


43 


00511 


00401 


X 


246. , 


, EJ 


.DELCWD 


,B6 


,IS ROUTINE TO BE $ 
DELETED 




00367 


00367 


21 


00507 


00456 


X 


247. , 


r RA 


.ICWDC 


• Kl 


,N0 $ 




00370 


00370 


11 


00470 


31000 


X 


248. , 


, TP 


,K11 


.0 


$ 




00371 


00371 


53 


00510 


01316 


X 


249. , 


i OS 


.OCWDC 


iBF 


$ 




00372 


00372 


21 


00510 


00456 


X 


250. , 


, RA 


.OCWDC 


.Kl 


$ 




00373 


00373 


37 


01222 


01156 


X 


251. , 


RJ 


.HSPEX 


.HSPE2 


$ 




00374 


00374 


23 


00517 


00473 


X 


252. , , 


RS 


.TEMPI 


,1V 


$ 






00375 


00375 


37 


00565 


00556 


X 


253. , 




RJ 


,MTRDEX 


,MTREAD+1 , 


READ REST OF ROUTINE 


$ 


00376 


00376 


21 


00517 


00473 


X 


254. , 




RA 


t TEMPl 


,iv 




$ 


00377 


00377 


37 


00543 


00535 


X 


255. , 




RJ 


,MTWREX 


,MTWRE2 , 


WRITE ROUTINE TO OUTPUT 
TAPE 


$ 


00400 


00400 


45 


00000 


00307 


X 


256. , 




MJ 


t 


,B1 




$ 


00401 


00401 


23 


00517 


00473 


X 


257. , 


B6 ! 


RS 


♦TEMPI 


.IV 




$ 


00402 


00402 


11 


00471 


31000 


X 


258. , 




TP 


,K12 


»Q 




$ 


00403 


00403 


53 


00517 


00672 


X 


259. , 




QS 


,TEMP1 


,MVFWIN , 




$ 


00404 


00404 


17 


00000 


00672 


X 


260. , 




EF 


t 


,MVFWIN , 


MOVE PAST ROUTINE TO 
BE DELETED 


$ 


00405 


00405 


21 


00507 


00456 


X 


261. , 




RA 


.ICWDC 


,K1 




$ 


00406 


00406 


45 


00000 


00307 


X 


262. , 




MJ 


t 


,B1 , 




$ 


00407 


00407 


11 


00432 


01317 


X 


263. , 


B7 , 


TP 


♦Cll 


.BF4-1 , 


WRITE END OF ENTRY 

BLOCKS TO OUTPUT TAPE 


$ 


00410 


00410 


75 


10546 


00412 


X 


264. , 




RPV 


,358 


,L+2 , 




$ 


00411 


00411 


11 


00421 


01320 


X 


265. , 




TP 


,C2 


,BF42 , 




$ 


00412 


00412 


31 


00476 


00000 


X 


266. , 




SP 


,3V 


,0 




$ 


00413 


00413 


37 


00543 


00535 


X 


267. , 




RJ 


t MTWREX 


,MTWRE2 , 




$ 


00414 


00414 


17 


00000 


00670 


X 


268. , 




EF 


t 


,MTINRW , 




$ 


00415 


00415 


37 


01222 


01250 


X 


269. , 




RJ 


.HSPEX 


,HSPE3 




$ 


00416 


00416 


37 


00635 


00622 


X 


270. , 




RJ 


,MTCHEX 


,MTCHEK , 


CHECK OUTPUT TAPE 


$ 


00417 


00417 


45 


00000 


00006 


X 


271. , 




MJ 


, 


,EXIT 




$ 


00420 


00420 


00 


00000 


00077 


X 


272. , 


CI ! 


B 


t 


,77 


CONSTANTS 


$ 


00421 


00421 


74 


74747 


47474 


X 


273. , 


C2 


B74 


,74747 


,47474 , 




$ 


00422 


00422 


01 


01463 


42501 


X 


274. , 


C3 , 


B01 


,01463 


,42501 , 




$ 


00423 


00423 


01 


66245 


23001 


X 


275. , 


C4 


B01 


,66245 


,23001 




$ 


00424 


00424 


46 


34250 


10101 


X 


276. , 


C5 


B46 


,34250 


,10101 , 




$ 


00425 


00425 


26 


24660 


10101 


X 


277. , 


C6 


B26 


,24660 


,10101 , 




$ 


00426 


00426 


01 


01015 


15201 


X 


278. , 


C7 


B01 


,01015 


,15201 , 




$ 


00427 


00427 


31 


34463 


00104 


X 


279. , 


C8 


B31 


,34463 


,00104 , 




$ 


00430 


00430 


65 


67255 


46650 


X 


280. , 


C9 


B65 


,67255 


,46650 




$ 


00431 


00431 


30 


50270 


15131 


X 


281. , 


CIO , 


B30 


,50270 


,15131 , 




$ 


00432 


00432 


01 


30506 


65473 


X 


282. , 


Cll 


BOl 


,30506 


,65473 






00433 


00433 


00 


00001 


70000 


X 


283. , 


C12 , 


B 


,1 


,70000 , 




$ 


00434 


00434 


00 


00000 


40000 


X 


284. 


, C13 


r B 


t 


,40000 




$ 


00435 


00435 


31 


03122 


22404 


X 


285. 


, C14 


, B31 


,03122 


,22404 




$ 


00436 


00436 


06 


03041 


11423 


X 


286. 


, C15 


, B06 


,03041 


,11423 




$ 


00437 


00437 


31 


26343 


03762 


X 


287. 


,C16 , 


r B31 


,26343 


,03762 , 




$ 



-J 



00440 


00440 


00 


00000 


07770 


X 


288. 


, C17 


r B 




,7770 


00441 


00441 


00 


00000 


00200 


X 


289. 


, C18 


r B 




,200 


00442 


00442 


00 


00000 


01775 


X 


290. 


, C20 






,1021 


00443 


00443 


00 


00000 


50000 


X 


291. 


, C21 


, B 




,50000 


00444 


00444 


00 


00000 


00776 


X 


292. 


, C22 






,510 


00445 


00445 


11 


03313 


03315 


X 


293. 


, C23 


TP 


,BF+1021 


,BF+1023 , 


00446 


00446 


00 


00001 


00001 


X 


294. 


C24 




,1 


,1 


00447 


00447 


00 


00000 


00010 


X 


295. 


C25 


B 




.10 


00450 


00450 


00 


00000 


50007 


X 


296. , 


C26 


t B 




,50007 


00451 


00451 


11 


01320 


01316 


X 


297. , 


C27 


TP 


,BF+2 


,BF 


00452 


00452 


00 


01321 


01317 


X 


298. 


C28 , 




,BF+3 


.BF+1 


00453 


00453 


00 


00000 


07777 


X 


299. , 


C30 


B 




,7777 


00454 


00454 


11 


01317 


01316 


X 


300. , 


C32 


TP 


,BF+1 


,BF 


00455 


00455 


00 


01316 


00000 


X 


301. , 


C33 




rBF 


, , 


00456 


00456 


00 


00010 


00000 


X 


302. 


Kl 


BOO 


,00010 


,00000 , 


00457 


00457 


77 


70000 


00000 


X 


303. 


K2 


B77 


,70000 


,00000 , 


00460 


00460 


00 


00000 


70000 


X 


304. 


K3 


BOO 


,00000 


,70000 


00461 


00461 


00 


50000 


00006 


X 


305. 


K4 


BOO 


,50000 


,00006 


00462 


00462 


00 


07777 


00000 


X 


306. 


K5 


B 


,7777 


,00000 


00463 


00463 


00 


07777 


77777 


X 


307. 


K6 


B 


,7777 


,77777 


00464 


00464 


00 


00000 


00777 


X 


308. 


K7 


B 




,777 


00465 


00465 


00 


00200 


00000 


X 


309. 


K8 


B 


,200 


,00000 , 


00466 


00466 


00 


00170 


00000 


X 


310. 


K9 


B 


,170 


,00000 , 


00467 


00467 


00 


00000 


77777 


X 


311. 


K10 , 


B 




,77777 


00470 


00470 


00 


07770 


00000 


X 


312. , 


Kll 


B 


'7770 


,00000 , 


00471 


00471 


00 


00000 


07777 


X 


313. , 


K12 , 


B 




,7777 


00472 


00472 


00 


00002 


00002 


X 


314. , 


K13 




,2 


.2 


00473 


00473 


00 


00000 


00001 


X 


315. , 


IV 






,1 


00474 


00474 


00 


00000 


00002 


X 


316. , 


2V , 






.2 


00475 


00475 


00 


00002 


00000 


X 


317. , 


2U 




2 


t t 


00476 


00476 


00 


00000 


00003 


X 


318. , 


3V 






,3 


00477 


00477 


00 


00000 


00005 


X 


319. , 


5V 






.5 


00500 


00500 


00 


00000 


00006 


X 


320. , 


6V 






,6 


00501 


00501 


00 


00006 


00000 


X 


321. 


. 6U 




^6 


? 1 


00502 


00502 


00 


00000 


00007 


X 


322. 


r 7V 






,7 


00503 


00503 


00 


00000 


00017 


X 


323. 


, 15V 






,15 


00504 


00504 


00 


00000 


00170 


X 


324. 


, 120V 






.120 


00505 


00505 


00 


00170 


00000 


X 


325. , 


120U , 




'l20 


1 , 



$ 
$ 

$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 



CD 



00506 00506 


00 


00000 01001 X 326. 


, 513V 






,513 


$ 


00507 00507 


00 


00000 00000 X 327. 


, ICWDC 






,0 


TEMPORARIES $ 


00510 00510 


00 


00000 00000 X 328. 


, OCWDC 






.0 


$ 


00511 00511 


00 


00000 00000 X 329. 


, DELCWD 






,0 


$ 


00512 00512 


00 


00000 00000 X 330. 


, INPUTS, 






,0 


$ 


00513 00513 


00 


00000 00000 X 331. 


, NOWDS 






,0 


$ 


00514 00514 


00 


00000 00000 X 332. 


, ADDCWD 






,0 


$ 


00515 00515 


00 


00000 00000 X 333. 


i QNP 






,0 


$ 


00516 00516 


00 


00000 00000 X 334. 


i P i 






,0 


$ 


00517 00517 


00 


00000 00000 X 335. 


, TEMPI 






,0 


$ 


00520 00520 


00 


00000 00000 X 336. 


, Tl 






» 


$ 


00521 00521 


00 


00000 00000 X 337. 


• T2 , 






i 


$ 


00522 00522 


00 


00000 00000 X 338. 


r T3 , 






t \ 


$ 


00523 00523 


00 


00000 00000 X 339. 


. T4 






i 


$ 


00524 00524 


00 


00000 00000 X 340. 


» T5 , 






t 


$ 


00525 00525 


00 


00000 00000 X 341. 


» T6 






t 


$ 


00526 00526 


00 


00000 00000 X 342. 


, T7 






t 


$ 


00527 00527 


00 


00000 00000 X 343. 


, T8 






i 


$ 


00530 00530 


00 


00000 00000 X 344. 


, T9 






t 


$ 


00531 00531 


00 


00000 00000 X 345. 


, T10 






t 


$ 


00532 00532 


00 


00000 00000 X 346. 


, Til 






t \ 


$ 


00533 00533 


11 


00674 00712 X 347. 


, MTWRE1 


TP 


r MTZERO 


.MTBLKS 


.ENTRY 1 WRITE MAG TAPE $ 


00534 00534 


11 


00674 00713 X 348. 




, TP 


r MTZERO 


f MTSUM 


$ 


00535 00535 


16 


00673 00554 X 349. 


, MTWRE2 


TV 


r MTSET 


f MTEW 


r ENTRY 2 $ 


00536 00536 


15 


00673 00551 X 350. 




, TU 


r MTSET 


t MTWR3 


$ 


00537 00537 


17 


00000 00663 X 351. 




r EF 




f MTWRIT , 


$ 


00540 00540 


11 


32000 00714 X 352. 




TP 


!a 


f MTINDl 


$ 


00541 00541 


41 


00714 00544 X 353. 


, MTWR1 , 


IJ 


MTINDl 


,MTWR2 , 


$ 


00542 00542 


17 


00000 00657 X 354. 




EF 




.MTSTOP , 


$ 


00543 00543 


45 


00000 30000 X 355. 


, MTWREX, 


MJ 




.FILL 


EXIT FOR WRITE MAG TAPE $ 


00544 00544 


21 


00554 00701 X 356. 


, MTWR2 


RA 


r MTEW 


,MT120V 


$ 


00545 00545 


21 


00551 00702 X 357. 




, RA 


,MTWR3 


,MTl20U 


$ 


00546 00546 


21 


00712 00675 X 358. 




RA 


,MTBLKS 


,MT1V 


$ 


00547 00547 


31 


00713 00000 X 359. 




SP 


,MTSUM 


,0 


$ 


00550 00550 


75 


20170 00552 X 360. 




r RPU , 


120 


iL+2 , 


$ 


00551 00551 


32 


30000 00000 X 361. 


j MTWR3 


SA 


,FILL 


.0 


$ 


00552 00552 


11 


32000 00713 X 362. 




TP , 


,A 


,MTSUM , 


$ 


00553 00553 


75 


10170 00541 X 363. , 




RPV 


120 


,MTWRl 


$ 






00554 


00554 


77 


10000 


30000 


X 


364 


00555 


00555 


16 


00673 


00570 


X 


365 


00556 


00556 


11 


32000 


00714 


X 


366 


00557 


00557 


47 


00560 


00565 


X 


367 


00560 


00560 


17 


00000 


00667 


X 


368 


00561 


00561 


11 


00677 


00715 


X 


369 


00562 


00562 


41 


00714 


00566 


X 


370 


00563 


00563 


17 


00000 


00657 


X 


371 


00564 


00564 


17 


00000 


00660 


X 


372 


00565 


00565 


45 


00000 


30000 


X 


373 


00566 


00566 


21 


00570 


00701 


X 


374 


00567 


00567 


75 


10170 


00571 


X 


375 


00570 


00570 


76 


10000 


30000 


X 


376 


00571 


00571 


76 


00000 


32000 


X 


377 


00572 


00572 


47 


00573 


00561 


X 


378 


00573 


00573 


41 


00715 


00605 


X 


379 


00574 


00574 


15 


00710 


00603 


X 


380 


00575 


00575 


11 


00703 


31000 


X 


381 


00576 


00576 


31 


00704 


00044 


X 


382 


00577 


00577 


27 


32000 


00705 


X 


383 


00600 


00600 


54 


32000 


00006 


X 


384 


00601 


00601 


61 


00000 


32000 


X 


385 


00602 


00602 


44 


00603 


00600 


X 


386 


00603 


00603 


31 


30000 


00044 


X 


387 


00604 


00604 


44 


00062 


00600 


X 


388 


00605 


00605 


17 


00000 


00671 


X 


389 


00606 


00606 


45 


00000 


00607 


X 


390 


00607 


00607 


17 


00000 


00661 


X 


391 


00610 


00610 


21 


00606 


00676 


X 


392 


00611 


00611 


45 


00000 


00617 


X 


393 


00612 


00612 


17 


00000 


00662 


X 


394 


00613 


00613 


21 


00606 


00676 


X 


395 


00614 


00614 


45 


00000 


00617 


X 


396 


00615 


00615 


17 


00000 


00660 


X 


397 


00616 


00616 


23 


00606 


00700 


X 


398 


00617 


00617 


37 


00617 


00620 


X 


399 


00620 


00620 


17 


00000 


00667 


X 


400 


00621 


00621 


45 


00000 


00567 


X 


401 



MTEW 
MTREAD 



MTRD1 



MTRDEX 
MTRD2 

MTER 



MTRD3 



MTRD4 



MTRD5 



EWB , 




,FILL , 


TV , 


f MTSET 


,MTER ,1 


TP , 


A 


.MTIND1 , 


ZJ , 


L+l 


,MTRDEX , 


EF , 




,MTRDFW , 


TP , 


MT5V 


,ivrriND2 , 


IJ , 


MTIND1 


,MTRD2 , 


EF , 




.MTSTOP , 


EF , 




,MTNOBI t 


MJ , 




t FILL «1 


RA 


MTER 


.MT120V , 


RPV , 


120 


tL+2 , 


ERB , 




f FILL t 


ERA , 




♦A 


ZJ , 


L+l 


,MTRD1 t 


IJ . 


MTIND2 


♦MTRD4 ♦ 


TU , 


( MTK6 


.MTRD3+3 , 


TP , 


,MTK1 


tO 


SP 


( MTK2 


t36 ♦ 


CC , 


A 


,MTK3 , 


LA , 


»A 


,6 


PR 




.A 


QJ 


,L+1 


,MTRD3 , 


SP 


►FILL 


t36 


QJ 


.ALARM 1 


,MTRD3 , 


EF , 




.MTMVBA , 


MJ , 




,L+1 , 


EF , 




f MTHIBI , 


RA , 


f MTRD4+l 


,MT3V , 


MJ , 




t MTRD5 , 


EF , 




,MTLOBI , 


RA 


MTRD4+1 


t MT3V , 


MJ , 




,MTRD5 , 


EF , 




.MTNOBI , 


RS 


r NTTRD4+l 


,MT6V , 


RJ , 


t L 


iL+1 , 


EF , 




.MTRDFW , 


MJ , 




.MTRD2+1 , 



ENTRY TO READ MT 



EXIT FOR READ MT 



© 



00622 


00622 


75 


10170 


00624 


X 


402 


00623 


00623 


11 


00674 


01316 


X 


403 


00624 


00624 


17 


00000 


00664 


X 


404 


00625 


00625 


11 


00677 


00715 


X 


405 


00626 


00626 


41 


00712 


00636 


X 


406 


00627 


00627 


17 


00000 


00657 


X 


407 


00630 


00630 


17 


00000 


00665 


X 


408 


00631 


00631 


37 


00643 


00636 


X 


409 


00632 


00632 


31 


00713 


00000 


X 


410 


00633 


00633 


47 


00651 


00634 


X 


411 


00634 


00634 


17 


00000 


00660 


X 


412 


00635 


00635 


45 


00000 


30000 


X 


413 


00636 


00636 


31 


00457 


00011 


X 


414 


00637 


00637 


32 


00713 


00000 


X 


415 


00640 


00640 


75 


20170 


00642 


X 


416 


00641 


00641 


34 


01316 


00000 


X 


417 


00642 


00642 


11 


32000 


00713 


X 


418 


00643 


00643 


37 


00643 


00644 


X 


419 


00644 


00644 


75 


10170 


00646 


X 


420 


00645 


00645 


76 


10000 


01316 


X 


421 


00646 


00646 


76 


00000 


32000 


X 


422 


00647 


00647 


47 


00650 


00625 


X 


423 


00650 


00650 


41 


00715 


00653 


X 


424 


00651 


00651 


15 


00711 


00603 


X 


425 


00652 


00652 


45 


00000 


00575 


X 


426 


00653 


00653 


17 


00000 


00666 


X 


427 


00654 


00654 


37 


00617 


00606 


X 


428 


00655 


00655 


17 


00000 


00664 


X 


429 


00656 


00656 


45 


00000 


00644 


X 


430 


00657 


00657 


02 


00600 


00000 


X 


431 


00660 


00660 


02 


00001 


50000 


X 


432 


00661 


00661 


02 


00001 


70000 


X 


433 


00662 


00662 


02 


00001 


60000 


X 


434 


00663 


00663 


02 


00006 


00000 


X 


435 


00664 


00664 


02 


00012 


00000 


X 


436 


00665 


00665 


02 


00200 


00000 


X 


437 


00666 


00666 


02 


00004 


00001 


X 


438 


00667 


00667 


02 


00002 


00000 


X 


439 



MTCHEK 



MTCH2 



MTCHEX 



MTCH3 



MTCH5 



MTSTOP 
MTNOBI 
MTHIBI 
MTLOBI 
MTWRIT 
MTRDBW 
MTOURW 
MTMVFW 
MTRDFW 



RPV , 


,120 


,L+2 ,1 


TP 


r MTZERO 


•BF 


EF 




f MTRDBW , 


TP , 


W5V 


,MTIND2 , 


IJ , 


MTBLKS 


,MTCHEX+1 , 


EF , 




,MTSTOP f 


EF , 




,MTOURW , 


RJ , 


MTCH3-1 


,MTCHEX+1 f 


SP 


MTSUM 


»o 


ZJ 


MTCH5-2 


fL+1 , 


EF , 




t MTNOBI , 


MJ , 




.FILL ,1 


SP , 


K2 


,9 


SA , 


MTSUM 


,0 


RPU , 


120 


,L+2 


SS , 


BF 


.0 


TP , 


A 


.MTSUM , 


RJ , 


L 


.L+l , 


RPV , 


120 


,L+2 


ERB , 




,BF 


ERA , 




.A 


ZJ , 


L+l 


.MTCH2 , 


IJ 


MTIND2 


.MTCH5 , 


TU , 


MTK7 


.MTRD3+3 , 


MJ , 




.MTRD3-3 , 


EF , 




.NnravFW , 


RJ , 


MTRD5 


.MTRD4+1 , 


EF 




.MTRDBW , 


MJ , 




.MTCH3 , 


B02 , 


00600 


,00000 , 


B02 , 


00001 


,50000 , 


B02 


,00001 


,70000 


B02 


►00001 


,60000 , 


B02 


,00006 


,00000 , 


B02 


,00012 


,00000 , 


B02 


►00200 


.00000 


B02 


,00004 


,00001 , 


B02 


,00002 


,00000 



ENTRY TO CHECK 



EXIT FOR CHECK 



MAG TAPE $ 

$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
MAG TAPE $ 

$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 

$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 

$ 
$ 
$ 
$ 
$ 



a- 



00670 


00670 


02 


00200 


00000 


X 


440. 


MTINRW 


, B02 , 


00200 


,00000 t 


00671 


00671 


02 


00014 


00001 


X 


441. , 


MTMVBA, 


B02 , 


00014 


,00001 


00672 


00672 


02 


00004 


00000 


X 


442. , 


MVFWIN 


t B02 , 


00004 


,00000 


00673 


00673 


00 


01126 


01126 


X 


443. , 


MTSET 




BF-120 


,BF-120 , 


00674 


00674 


00 


00000 


00000 


X 


444. , 


MTZERO , 









00675 


00675 


00 


00000 


00001 


X 


445. , 


MT1V , 






1 , 


00676 


00676 


00 


00000 


00003 


X 


446. , 


MT3V 


i B , 




r3 


00677 


00677 


00 


00000 


00005 


X 


447. , 


MT5V 






r5 , 


00700 


00700 


00 


00000 


00006 


X 


448. , 


MT6V 






r6 . 


00701 


00701 


00 


00000 


00170 


X 


449. , 


MT120V 






,120 


00702 


00702 


00 


00170 


00000 


X 


450. , 


MT120U 




120 




00703 


00703 


00 


01006 


00000 


X 


451. 


MTK1 


, BOO , 


01006 


,00000 , 


00704 


00704 


45 


47040 


70104 


X 


452. , 


MTK2 


, B45 , 


f 47040 


,70104 , 


00705 


00705 


26 


30141 


12404 


X 


453. , 


, MTK3 


, B26 


30141 


,12404 » 


00706 


00706 


12 


20302 


20404 


X 


454. , 


MTK4 


, B12 , 


20302 


,20404 , 


00707 


00707 


16 


05201 


63604 


X 


455. , 


MTK5 


, B16 , 


05201 


,63604 


00710 


00710 


00 


00706 


00000 


X 


456. , 


MTK6 




MTK4 


>o 


00711 


00711 


00 


00707 


00000 


X 


457. , 


MTK7 




MTK5 





00712 


00712 


00 


00000 


00000 


X 


458. , 


MTBLKS 






,0 


00713 


00713 


00 


00000 


00000 


X 


459. , 


MTSUM 






rO , 


00714 


00714 


00 


00000 


00000 


X 


460. , 


MTIND1 






, 


00715 


00715 


00 


00000 


00000 


X 


461. , 


MTIND2 






rO 












X 


462. , 


HSPBKT 


[ RESERV , 


20 


,20 , 












X 


463. , 


HSPBLK 


r RESERV 


120 


,120 , 












X 


464. , 


HSPTS 


RESERV , 


6 


,6 


01140 


01140 


00 


00000 


00000 


X 


465. , 


HSPCTR 






, 


01141 


01141 


75 


10214 


01143 


X 


466. , 


HSPE1 


r RPV , 


140 


L+2 t 


01142 


01142 


11 


01262 


00716 


X 


467. 




r TP 


HSPK1 


,HSPBKT t 


01143 


C1143 


75 


30005 


01145 


X 


468. , 




RPB , 


5 


,L+2 , 


01144 


01144 


11 


01300 


00742 


X 


469. , 




TP , 


HSPHD1 


,HSPBLK , 


01145 


01145 


75 


30003 


01147 


X 


470. , 




, RPB , 


3 


,L+2 f 


01146 


01146 


11 


01305 


01012 


X 


471. 




, TP 


r HSPHD2 


.HSPBLK+40, 


01147 


01147 


11 


01310 


01016 


X 


472. 




, TP 


r HSPHD2+3 


.HSPBLK+44 , 


01150 


01150 


11 


01311 


01020 


X 


473. 




, TP 


,HSPHD2+4 


,HSPBLK+46 , 


01151 


01151 


11 


01312 


01022 


X 


474 




, TP 


,HSPHD2+5 


,HSPBLK+48, 


01152 


01152 


11 


01313 


01024 


X 


475. 




, TP 


,HSPHD2+6 


,HSPBLK+50, 


01153 


01153 


11 


01314 


01026 


X 


476. 




, TP 


,HSPHD2+7 


.HSPBLK+52 , 


01154 


01154 


11 


01275 


01140 


X 


477. , 




, TP 


r HSP4V 


,HSPCTR , 



.ENTRY 1 HSP LISTING 



to 



01155 


01155 


45 


00000 


01222 


X 


478. , 


, MJ 


t 


t HSPEX , 


01156 


01156 


11 


01316 


31000 


X 


479. , HSPE2 


, TP 


,BF 


•0 


01157 


01157 


51 


01264 


01136 


X 


480. , 


r QT 


,HSPK3 


.HSPTS+4 , 


01160 


01160 


55 


31000 


00022 


X 


481. f 


. LQ 


.0 


,18 


01161 


01161 


51 


01263 


32000 


X 


482. , 


r QT 


,HSPK2 


,A 


01162 


01162 


36 


00503 


32000 


X 


483. , 


, ST 


,15V 


tA 


01163 


01163 


37 


01247 


01231 


X 


484. , 


, RJ 


,HSP5 


,HSP3 , 


01164 


01164 


11 


32000 


00716 


X 


485. , 


, TP 


• A 


.HSPBKT , 


01165 


01165 


11 


01323 


00720 


X 


486. , 


, TP 


,BF+5 


,HSPBFCT+2 , 


01166 


01166 


23 


01136 


01276 


X 


487. , 


, RS 


.HSPTS+4 


,HSP6V , 


01167 


01167 


37 


01247 


01231 


X 


488. , 


RJ 


,HSP5 


f HSP3 , 


01170 


01170 


11 


32000 


00722 


X 


489. , 


, TP 


,A 


,HSPBKT+4 , 


01171 


01171 


31 


01321 


00000 


X 


490. , 


SP 


,BF+3 


t0 


01172 


01172 


37 


01247 


01231 


X 


491. , 


, RJ 


,HSP5 


,HSP3 , 


01173 


01173 


11 


32000 


00724 


X 


492. t 


TP 


,A 


t HSPBKT+6 , 


01174 


01174 


11 


01320 


31000 


X 


493. , 


r TP 


,BF+2 


.Q 


01175 


01175 


51 


01263 


01136 


X 


494. , 


, QT 


.HSPK2 


.HSPTS+4 , 


01176 


01176 


55 


31000 


00022 


X 


495. , 


i LQ 


♦Q 


,18 


01177 


01177 


51 


01263 


01137 


X 


496. , 


r QT 


,HSPK2 


f HSPTS45 , 


01200 


01200 


55 


31000 


00011 


X 


497. , 


LQ 


.0 


,9 


01201 


01201 


51 


01263 


32000 


X 


498. t 


QT 


,HSPK2 


,A 


01202 


01202 


37 


01247 


01231 


X 


499. , 


RJ 


,HSP5 


,HSP3 , 


01203 


01203 


11 


32000 


00730 


X 


500. , 


TP 


tA 


,HSPBKT+10, 


01204 


01204 


31 


01136 


00000 


X 


501. , 


» SP 


,HSPTS+4 


,0 , 


01205 


01205 


37 


01247 


01231 


X 


502. t 


RJ 


,HSP5 


t HSP3 


01206 


01206 


11 


32000 


00732 


X 


503. , 


, TP 


tA 


.HSPBKT+12 , 


01207 


01207 


31 


01137 


00000 


X 


504. , 


, SP 


.HSPTS+5 


,0 , 


01210 


01210 


37 


01247 


01231 


X 


505. , 


RJ 


,HSP5 


,HSP3 


01211 


01211 


11 


32000 


00726 


X 


506. , 


TP 


.A 


f HSPBKT+8 t 


01212 


01212 


21 


01140 


01273 


X 


507. f HSP1 


RA 


.HSPCTR 


,HSP1V , 


01213 


01213 


71 


01140 


01277 


X 


508. t 


r MP 


,HSPCTR 


,HSP20V , 


01214 


01214 


35 


01265 


01216 


X 


509. , 


t AT 


,HSPK4 


,L+2 , 


01215 


01215 


75 


30024 


01217 


X 


510. , 


, RPB 


,20 


»L+2 , 


01216 


01216 


00 


00000 


00000 


X 


511. , 


t B 


, 


t0 , 


01217 


01217 


31 


01140 


00000 


X 


512. , 


i SP 


.HSPCTR 


,0 , 


01220 


01220 


43 


01276 


01223 


X 


513. , 


, EJ 


.HSP6V 


,HSP2A 


01221 


01221 


37 


01221 


01222 


X 


514. , HSP2 


> RJ 


,L 


,L+1 , 


01222 


01222 


45 


00000 


30000 


X 


515. , HSPEX , 


MJ 


♦ 


.FILL , 



.ENTRY 2 HSP LISTING 



.EXIT FOR HSP LISTING 



$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 

$ 



a- 

CO 



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 17 

01224 23 

01225 75 

01226 77 

01227 75 

01230 11 

01231 75 

01232 73 

01233 35 

01234 23 

01235 42 

01236 42 

01237 42 

01240 45 

01241 21 

01242 21 

01243 21 

01244 31 

01245 75 

01246 32 

01247 45 

01250 75 

01251 11 

01252 37 

01253 31 

01254 37 

01255 11 

01256 11 

01257 37 

01260 11 

01261 45 

01262 01 

01263 00 

01264 00 

01265 11 

01266 00 

01267 00 
01270 00 



00000 
01140 
10170 
10000 
10170 
01262 
30003 
01266 
01274 
31000 
01132 
01133 
01134 
00000 
01132 
01133 
01134 
01262 
20004 
01132 
00000 
10024 
01262 
01221 
00712 
01247 
32000 
01315 
01221 
01271 
00000 
01010 
00000 
00000 
00716 
00000 
00000 
00000 



01272 
32000 
01227 
00742 
01221 
00742 
01233 
01132 
01135 
32000 
01241 
01242 
01243 
01244 
01274 
01274 
01274 
00052 
01247 
00006 
30000 
01252 
00716 
01212 
00000 
01231 
00716 
00717 
01212 
01106 
01223 
10101 
00777 
77777 
00716 
01750 
00144 
00012 



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 



516. 
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 



HSP3 



HSP4 



HSP5 
HSPE3 



HSPK1 
HSPK2 
HSPK3 
HSPK4 
HSPK5 



EF 




,HSPWR , 


RS 


, HSPCTR 


,A 


RPV 


,120 


,L+2 , 


EWB 




.HSPBLK , 


RPV 


,120 


,HSP2 , 


TP 


HSPK1 


t HSPBLK f 


RPB 


,3 


,L+2 , 


DV 


HSPK5 


,HSPTS 


AT 


,HSP2V 


♦HSPTS+3 , 


RS 





.A 


TJ , 


,HSPTS 


f HSP4 


TJ , 


HSPTS+1 


,HSP4+1 


TJ 


HSPTS+2 


f HSP4+2 , 


MJ , 




,HSP4+3 , 


RA 


HSPTS 


,HSP2V 


RA , 


HSPTS+1 


,HSP2V , 


RA 


HSPTS+2 


.HSP2V 


SP 


HSPK1 


,42 


RPU 


4 


,L+2 , 


SA , 


HSPTS 


,6 


MJ , 




,FILL t 


RPV 


,20 


,L+2 ,1 


TP 


HSPK1 


.HSPBKT , 


RJ 


HSP2 


,HSP1 t 


SP 


MTBLKS 


,0 


RJ 


HSP5 


,HSP3 , 


TP 


A 


, HSPBKT , 


TP 


HSPHD3 


.HSPBKT+1 , 


RJ 


,HSP2 


,HSP1 


TP 


,HSPK6 


♦HSPBLK+100 


MJ 




,HSP2A , 


B01 


,01010 


,10101 


B 




,777 


B 




,77777 


TP 


,HSPBKT 


t HSPBLK-20, 


X 




,1000 


X 




.100 


X 




,10 



ENTRY 3 HSP LISTING 



$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 






01271 


01271 


37 


60010 


10101 


X 


554. , 


HSPK6 


, B37 


,60010 


,10101 , 


01272 


01272 


02 


00646 


30000 


X 


555. , 


HSPWR 


B02 , 


00646 


,30000 , 


01273 


01273 


00 


00000 


00001 


X 


556. , 


, HSP1V 






.1 


01274 


01274 


00 


00000 


00002 


X 


557. 


HSP2V 






.2 


01275 


01275 


00 


00000 


00004 


X 


558. 


HSP4V 






.4 


01276 


01276 


00 


00000 


00006 


X 


559. 


HSP6V 






,6 


01277 


01277 


00 


00000 


00024 


X 


560. 


, HSP20V 






i20 


01300 


01300 


67 


50342 


65127 


X 


561. 


HSPHD1 


' B67 


50342 


,65127 , 


01301 


01301 


30 


01656 


72554 


X 


562. 




B30 , 


,01656 


,72554 


01302 


01302 


51 


67663 


45030 


X 


563. 




B51 , 


67663 


,45030 , 


01303 


01303 


01 


46342 


55424 


X 


564. 




B01 


46342 


,55424 , 


01304 


01304 


54 


73010 


10137 


X 


565. , 




» B54 , 


73010 


,10137 , 


01305 


01305 


52 


51653 


46634 


X 


566. 


, HSPHD2 


B52 


,51653 


,46634 


01306 


01306 


51 


50010 


10101 


X 


567. , 




t B51 , 


50010 


,10101 , 


01307 


01307 


01 


50244 


73001 


X 


568. , 




B01 


50244 


,73001 


01310 


01310 


01 


71515 


42765 


X 


569. , 




B01 , 


71515 


,42765 , 


01311 


01311 


34 


50526 


76665 


X 


570. , 




B34 , 


50526 


,76665 


01312 


01312 


01 


01010 


15301 


X 


571. , 




B01 , 


01010 


,15301 , 


01313 


01313 


01 


01010 


15001 


X 


572. , 




B01 , 


01010 


,15001 , 


01314 


01314 


01 


01010 


15201 


X 


573. , 




y B01 


01010 


,15201 


01315 


01315 


25 


46512 


64565 


X 


574. , 


HSPHD3 


r B25 


46512 


,64565 












X 


575. , 


r BF , 


EQUALS , 


HSPHD3+1 


t » 












X 


576. 




ENDSUB , 




i , 



$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 



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 OlOOO. These routines are read from the Master Tape 
by the processor and modified according to the Object Program addresses given 
by the allocator. 



bi> 



Permanent Library Catalog 





RE 


LC7230 








IA 


LC 















24 


No words following 


1 


31 


46307 


25266 


FLEXPT 


2 








50002 




3 


32 


30505 


25171 


GENPOW 


4 








50012 




5 


70 


24543 


07252 


VAREXP 


6 








50022 




7 


46 


50777 


77777 


LN 


10 








50031 




11 


30 


72527 


77777 


EXP 


12 








50041 




13 


65 


53546 


67777 


SQRT 


14 








50051 




15 


31 


46662 


67066 


FLTCVT 


16 








50062 




17 


46 


34656 


65450 


LISTRN 


20 








50077 




21 


54 


30242 


75450 


READRN 


22 








50100 




23 


34 


50662 


67066 


INTCVT 


24 



CA 



LC25 


50112 





66 



Op File I for Permanent Library Routines 





RE 


PF7230 








IA 


PF 












50002 


2 


FLEXPT 


1 








41 




2 





50012 


5 


GENPOW 


3 








107 




4 





50002 







5 





50022 







6 





50051 







7 





50022 


5 


VAREXP 


10 








113 




11 





50002 







12 





50031 







13 





50041 







14 





50031 


3 


LN 


15 








67 




16 





50002 







17 





50041 


3 


EXP 


20 








77 




21 





50002 







22 





50051 


3 


SQRT 


23 








53 




24 





50002 







25 





50062 


2 


FLTCVT 


26 








203 




27 





50077 


2 


LISTRN 


30 








234 




31 





50100 


2 


READRN 


32 








606 




33 





50112 


2 


INTCVT 


34 








73 




35 


74 
CA 


74747 
PF36 


47474 


End Sentinel 



67 



Region Definitions for Permanent Library Loading 



RE 


TPIO 


nc 

11L 


rvtto nr\ 


RE 


VP370 


RE 


LN560 


RE 


EX750 


RE 


SQ1140 


DP 


V \J lOOV 


RE 


WI1710 


RE 


NI2270 


RE 


CI 32 30 


RE 


PT1000 


RE 


GP1000 


RE 


VE1000 


RE 


LG1000 


RE 


XP1000 


RE 


SR1000 


RE 


CV1000 


RE 


IW1000 


RE 


XE1147 


RE 


RV1157 


RE 


TZ1200 


RE 


GT210 


RE 


BI71004 


RE 


BF71005 


RE 


TN71003 


RE 


IN1000 


RE 


DR1012 


RE 


BM1101 


RE 


ST1131 


RE 


PS1146 


RE 


SC1233 



50002 

crwviO 

50022 
50031 
50041 
50051 

e;nr»A9 

50077 
50100 
50112 
50002 
50012 
50022 
50031 
50041 
50051 
50062 
50077 



50100 



68 



RE 


MF1243 


RE 


TB1252 


RE 


EP1264 


RE 


GG1303 


RE 


CF1473 


RE 


NT1551 


RE 


XX1552 


RE 


CC1557 


RE 


FX71000 


RE 


BU610 


RE 


GT210 


RE 


PR77250 


RE 


IC1000 



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 [/Parameter 1) PT3 
+1 TP [.(Parameter 2) PT4 
-1-2 rj PT2 PT 

+3 Control returned here 

Parameter 1 is 00 - L - n, where L = initial loc. 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 «. 

Storage 

37 fl orders and constants 
2 erasable locations 



70 



Flex-Print Routine (50002) 



PT 





IA 


TP 









50002 


45 










31 










6 










2 















31 


46307 


25266 





MJ 





PT5 


1 


RJ 


30000 


30000 


2 


MJ 





[30000 


3 


r° 


30000 


30000 


4 


Lo 


30000 


30000 


5 


TP 


PT31 


PT37 


6 


TV 


PT3 


PT37 


7 


TU 


PT3 


PT14 


10 


TU 


PT4 


PT22\ 
PT24J 


11 


TV 


PT4 


12 


IJ 


PT37 


PT14 


13 


MJ 





PT2 


14 


TP 


[30000) 


Q 


15 


LQ 


Q 


6 


16 


PR 





Q45 


17 


QT 


PT32 


PT40 


20 


EJ 


PT33 


PT25\ 
PT25J 


21 


EJ 


PT34 


22 


IJ 


(30000] 


PT25 


23 


PR 





PT16 


24 


TP 


PT35 


[30000] 


25 


RS 


Q 


PT40 


26 


ZJ 


PT15 


PT27 


27 


RA 


PT14 


PT36 


30 


MJ 





PT12 


31 











32 








77 


33 








47 


34 








57 


35 








117 


36 





1 





37 


CA 


TP45 




40 









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 

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 the 
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. These include integral values for jy| <64; 
x = 0, y >0; x f- 0, y = 0. Other cases are handled by reference to the 
Variable Exponent or to the Square Root routines. 



72 



GENPOW (50012) X 



GP 





IA 


PW 









50012 


126 










104 










14 










2 










1 




32 


30505 


25171 





MJ 





GP6 


1 


RJ 


30000 


30000 


2 


MJ 





30000 


3 











4 











5 











6 


SP 


GP4 


° \ 
GP10 J 


7 


ZJ 


GP25 


10 


EJ 


GP5 


GP17 


11 


TJ 


GP5 


GP22 


12 


TP 


GP70 


50002^ 




10 





3 I 


13 


TP 


GP71 


50002 f 




10 





4 J 


14 


TP 


GP73 


GP106 


15 


RJ 


50002 


50002 




10 


2 





16 


MS 





GP2 


17 


TP 


GP67 


50002^ 




10 





3 i 


20 


TP 


GP71 


50002 f 




10 





4 


21 


MJ 





GP14 


22 


TP 


A 


) 
GP3 J 


23 


TP 


A 


24 


MJ 





GP2 


25 


TM 


GP5 


A ) 


26 


ZJ 


GP32 


GP27 I 


27 


TP 


GP76 


Q 1 


30 


TP 


Q 


GP3 J 


31 


MJ 





GP2 


32 


EJ 


GP75 


GP40 


33 


TJ 


GP77 


GP43 


34 


TP 


GP4 


50022^ 




10 





4 


35 


TP 


GP5 


50022 I 




10 





5 f 


36 


RJ 


50022 


50022 




10 


2 


25 J 



No. of words for address modification 
No. of unmodifiable constants 



Name (GENPOW) 
Entry 

Exit 

Out 

In X (base) 

In Y (exponent) 

X = 0? 

Y = 0? 

Y > 0? 

RUN ERROR 2 (X = 0, Y< 0) 



Set index 



RUN ERROR 1 (X = 0, Y = 0) 



X = 0, Y>0 => X = 



X^O, Y = => X = 1 



IYI = 1/2? 
!Yl < 64 ? 



Use VAREXP (50022) 



73 



37 


MJ 





GP2 


40 


TP 


GP4 


50051 




10 





4 > 


41 


RJ 


50051 


50051 




10 


2 





42 


MJ 





GP62 


43 


LT 


10011 





44 


LT 





A 


45 


SS 


GP74 





46 


SJ 


GP34 


GP47 


47 


TV 


A 


GP50 \ 
30000 J 


50 


SP 


Q 


51 


LT 





Q 


52 


SP 


A 


° ) 
GP54 J 


53 


ZJ 


GP34 


54 


SP 





1 


55 


SS 


GP72 


it ; 


56 


TU 


A 


GP60 


57 


TP 


GP4 


Q 


60 


RP 


30000 


GP62 \ 
GP4 J 


61 


FM 





62 


TP 


GP5 


A 


63 


SJ 


GP64 


GP65 


64 


FD 


GP76 





65 


TP 





GP3 


66 


MJ 





GP2 


67 





GP100 


3 


70 





GP103 


3 


71 





GP106 


GP106 


72 








1 


73 








117 


74 








200 


75 


20 


4000 





76 


20 


14000 





77 


20 


74000 





100 


45 


45471 


23406 


101 


04 


20121 


20312 


102 


04 


57524 


20445 


103 


45 


45471 


23406 


104 


04 


20121 


20312 


105 


04 


57744 


20445 


106 


CA 


PW126 





Use SQRT (50051) 



Mantissa of lYl ->Q35- . .9 
Characteristic + 128 -> A 
Less bias 
If characteristic < use VAREXP 

Shift mantissa by characteristic 

Integral part ->Q 

If |Y| non-integral use VAREXP 



iYi integral so form iYi -1 



X-*Q 
Form X 



IYI 



in Q 



Y < 0? 

Form reciprocal of (Q) if Y < 

Store result in output line 



Paramete 


r f 


or 


RUN ERROR 1 


Paramete 


r f 


or 


RUN ERROR 2 


Index addre 
i 


SS 




i 

79 








128 








1/2 F.P. 








1 F.P. 








64 F.P. 








CR CR * 


R 


U 


N 


A E R 


R 





R 


A 4 1 


m 


A 


CR 


CR CR t 


R 


U 


N 


A E R 


R 





R 


A I 2 


, 


A 


CR 


Temporar 


y 







74 



Variable Exponent Routine (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 

g 

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 



VAREXP (50022) X 



IA VP 



VE 









133 










107 










16 










2 










1 




70 


24543 


07252 





MJ 





VE6 


1 


RJ 


30000 


30000 


2 


MJ 





30000 


3 











4 











5 











6 


SP 


VE4 


° ) 


7 


ZJ 


VE25 


VE10 J 


10 


EJ 


VE5 


VE17 


11 


TJ 


VE5 


VE22 


12 


TP 


VE71 


50002 ' 




10 





3 


13 


TP 


VE73 


50002 




10 





4 , 


14 


TP 


VE76 


VE112 


15 


RJ 


50002 


50002 




10 


2 





16 


MS 





VE2 


17 


TP 


VE70 


50002 > 




10 





3 


20 


TP 


VE73 


50002 




10 





4 , 


21 


MJ 





VE14 


22 


TP 


A 


o 1 


23 


TP 


A 


VE3 J 


24 


MJ 





VE2 



Cw* No. of lines Prelude & Routine 
No. of words for address modification 
No. of unmodifiable constants 



Name (VAREXP) 
Entry 

Exit 

Out 

In X (base) 

In Y (exponent) 

X = 0? 

Y = 0? 

Y > 0? 



RUN ERROR 2 (X = 0, Y < 0) 



Set index 



RUN ERROR 1 (X = 0, Y = 0) 



X = 0, Y>0 



X = 



76 



25 


TM 


VE5 


A 


26 


ZJ 


VE32 


VE27 


27 


TP 


VE100 





30 


TP 


Q 


VE3 


31 


MJ 





VE2 


32 


LT 


10011 


Q 


33 


LT 





A 


34 


SS 


VE77 





35 


SJ 


VE45 


VE36 



36 TJ VE75 



37 
40 
41 
42 
43 
44 
45 
46 
47 

50 

51 
52 



MJ 
TV 
SP 
LT 
SP 
ZJ 
TP 
SJ 
TP 
10 
TP 
10 
MJ 
LT 





A 


o 

A 

VE45 

VE4 

VE47 

VE72 



VE73 









53 QT VE74 



VE40 

VE52 
VE41 
30000 


° ] 
VE53 J 

A \ 
VE52 J 

50002S 

3 I 
50002 f 

4 J 
VE14 


VE3 




Is |Y| = 0? 
X t 0, IY| = 



Mantissa of I Y I — ^ Q35. . .9 

128 + characteristic of |Y| -> A 

Less bias 

If characteristic of |Y| < 0, Y is 

non-integral 
Characteristic > 28? If so |Y| is even 

integer 

0< characteristic of lYl<27 

Integral part to Q 
Is lYl an integer? 

Y non-integral, is X > 0? 



RUN ERROR 3 (X< 0, Y non-integral) 



Set (Q) - if Y is even integer or 

non-integral 
If Y is odd integer set output line to 

1 indicator 

Compute LN IXl in Q 



Form Y • LN |X| 

Compute Y'LNIXI = | X | Y 



Is X<0? 

Is Y an odd integer? 

X<0 and Y is odd integer, so form 
- 1X1 Y ->Q 

Parameter for RUN ERROR 1 

Parameter for RUN ERROR 2 

Parameter for RUN ERROR 3 

Index address 

1 

28 

79 



77 



77 








200 


128 










100 


20 


14000 





1 F 


.P. 








101 


45 


45471 


23406 


CR 


CR f 


R 


U 


N 


102 


04 


20121 


20312 


A 


E R 


R 





R 


103 


04 




r\ r\ * Al- 


A 


V J- 


# 


A 


PD 


104 


45 


45471 


23406 


CR 


CR f 


R 


u 


N 


105 


04 


20121 


20312 


A 


E R 


R 





R 


106 


04 


57744 


20445 


A 


* 2 


# 


A 


CR 


107 


45 


45471 


23406 


CR 


CR f 


R 


u 


N 


110 


04 


20121 


20312 


A 


E R 


R 





R 


111 


04 


57704 


20445 


A 


I 3 


# 


A 


CR 


112 


CA 


VP133 




Temporary 









78 



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) ~^og e x 

I 1-27 

with accuracy: |y(x) - Log e x | ^ 2 

. -l29 < ^ 127 

where x ranges: 2 < x < 2 

For numerical method see Rand Sheet 42. 



*Approximation. 



79 



Natural Logarithm Routine (50031) 





IA 


LN 











50031 


77 


Cw; No. of lines on tape 










53 


No. of lines for address modification 










16 


No. of unmodifiable constants 










1 


No. of inputs 










1 


No. of outputs 




46 


50010 


10101 


Name (LN) 


LGO 


MJ 





LG5 


Entry 


1 


RJ 


30000 


30000 




2 


MJ 





30000 


Exit 


3 











Out 


4 











In x 


5 


LQ 


LG4 


A 




6 


TJ 


LG57 


LG40 


x > 0? If not, alarm 


7 


UP 





A 


Unpack x 


10 
11 


SS 
LT 


LG55 



11 

LG3 . 


r Form and store C-l 


12 


SP 





7 1 




13 


AT 


LG54 





Form and store y = (2u - Root 2)/ 


14 


SS 


LG56 


42 


> (2u + Root 2) scaled 34 


15 


DV 


Q 


LG66 j 




16 
17 


MP 
LT 



2 


Vp 4 \ Form and store y scaled 34 


20 


TP 


LG47 


LG24 ^ 


Form (LN2 u -2)/y - ( LN 2)/2 — >Q 


21 


TP 


LG50 





scaled 35 


22 


MP 


Q 


LG4 


I 


23 


LT 


2 


A 


f 


24 





30000 


30000 




25 


RA 


LG24 


LG57 J 




26 


TJ 


LG13 


LG22 




27 


LA 


LG66 


Al 1 


1 Form 2Y + (LN2)/2 scaled 69— -» A 


30 


SA 


LG60 


43 ; 


31 


MA 


Q 


LE66 \ Form LN2„ scaled 33 — >A 


32 


LT 





A J 




33 


MA 


LG3 


LG60 1 


1 Form and store (C-DLN2 + LN2.., scale 


34 


LT 


37 


LG3 J 


35 


NP 


LG3 


LG61 ^ 


Form and store LN xin floating point 


36 


TP 


LG3 


/ 


37 


MJ 





LG2 


Exit 


40 


TP 


LG62 


LG66 


Set index 


41 


TP 


LG45 


50002>| 






10 





3 




42 


TP 


LG46 


50002 


RUN ERROR 4 (LN x, x < 0) 




10 





4 


43 


RJ 


50002 


50002 






10 


2 


J 





80 



44 


MS 





LG2 




45 





LG63 


3 


Parameter for RUN ERROR 4 


46 





LG66 


LG66 


Index address 


47 


AT 


LG51 





Dummy command 


50 


11 


50353 


45377 ^ 




51 


14 


62377 


45540 


Rand coefficients scaled 


52 


25 


25255 


47723 


> 


53 


77 


77777 


77445 




54 


13 


24047 


46320 


Root 2 scaled 33 


55 


20 


10000 





Bias for input 


56 


26 


50117 


14640 


2 Root 2, scaled 33 


57 





1 







60 


05 


42710 


27760 


LN2, scaled 33 


61 


17 


70000 





Bias for output 


62 








117 


Print index 


63 


45 


45471 


23406 


CR CR t R U N 


64 


04 


20121 


20312 


A ERROR 


65 


04 


57644 


20445 


A I 4 . A CR 


66 


CA 


LN77 




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) = EXP* x 

-27 



with accuracy: 



y(x) - EXP x 



EXP x 



<2 



where x ranges: -129 log rt 2 < x < 127 loa 2 

For numerical method, see Ramo-Wooldridge EXP-2 in ERA Central Exchange 
Letter No. 8. 



*Approximation 



82 



Exponential Routine (50041) 





IA 


EX 











50041 


107 


Cw; no. of lines on tape 










56 


No. of lines for address modification 










23 


No. of unmodifiable constants 










1 


No. of inputs 










1 


No. of outputs 




30 


72520 


10101 


Name (EXP) 


PO 


MJ 





XP5 


Entry 


1 


RJ 


30000 


30000 




2 


MJ 





30000 


Exit 


3 











Out 


4 











In X 


5 
6 


TP 
UP 


XP4 
XP76 


XP76 
A 


f Unpack X 


7 
10 


LT 
AT 


11 
XP63 


A 
Q 


| Form C+8 in A and Q 


11 


TJ 


XP64 


XP17 


If C > 34, X is out of range 


12 


TP 


XP72 


XP76 


Set index 


13 


TP 


XP51 


50002^1 






10 





3 




14 


TP 


XP52 


50002 


RUN ERROR 5 (X is out of range) 




10 





4 


> 


15 


RJ 


50002 


50002 






10 


2 







16 


MS 





XP2 j 




17 


SJ 


XP20 


XP22 


1 If C+8 < 0, form C+44 in A 


20 


SA 


XP65 





21 


SJ 


XP25 


XP22 


If C+44 < 0, EXP X = 1 


22 


TV 


A 


XP23 




23 


LA 


XP76 


30000" 


I 


24 


QJ 


XP25 


XP26 


> Set X in A scaled 35 


25 


LT 





A 


1 


26 


SA 


XP66 





X = K LN2 + R where R < | LN2/2 | 


27 


DV 


XP67 


XP76 




30 


ST 


XP66 


XP3 




31 
32 


TU 
TP 


XP50 
XP53 


XP35^\ 
Q 


Compute EXP R scaled 34 


33 


MP 


Q 


XP3 




34 


LT 


1 


A 


^> 


35 


AT 


30000 


Q 




36 


RA 


XP35 


XP70 




37 


TJ 


XP10 


XP33 




40 


NP 


Q 


XP71 


Pack and adjust characteristic of EXP 


41 


LA 


XP76 


A33 




42 


AT 


Q 


XP3 




43 


SJ 


XP44 


XP45 1 

A J 


> If characteristic underflow occurs, 


44 


RS 


XP3 


1 EXP X is zero 


45 


TP 


XP3 


Q 




46 


EJ 


A 


XP2 


EXP X out of range? 


47 


MJ 





XP12 


Yes, so ALARM 


50 





XP54 





Set-up 



83 



51 





XP73 


3 


52 





XP76 


XP76 


53 





150 


35404 


54 





1333 


23520 


55 





10421 


01327 


56 





52525 


06225 


57 


02 


52525 


25343 


60 


10 





271 


61 


17 


77777 


77777 


62 


20 








63 


77 


77777 


77607 


64 








53 


65 








44 


66 


13 


5620 


57737 


67 


26 


13441 


37677 


70 





1 





71 


17 


10000 





72 








117 


73 


45 


45471 


23406 


74 


04 


20121 


20312 


75 


04 


57624 


20445 


76 


CA 


EX107 





Parameter for RUN ERROR Print 
Index address 



-120 

43 

36 

(LN 2)/2 scaled 35 

LN 2 scaled 35 



CR CR f R U N 

A E R R R 

A i 5 . A CR 
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) = -/x * 

,-27 



with accuracy: 



y(x) --s/T 



< 2 



127 
where x ranges: < x < 2 

The numerical method is by Newton-Raphson approximation. 



*Approximation 



85 



Square Root Routine (50051) 





IA 


so 









50051 


63 










50 










5 










1 










1 




65 


53546 


60101 


SRO 


MJ 





SR5 


1 


RJ 


30000 


30000 


2 


MJ 





30000 


3 











4 











5 


TP 


Sk4 


A7i 


6 


SJ 


SR7 


SR14 


7 


TP 


SR45 


SR52 


10 


TP 


SR43 


50002^ 




10 





3 


11 


TP 


SR44 


50002 




10 





4 


12 


RJ 


50002 


50002 




10 


2 


J 


13 


MS 





SR2 


14 


LT 


10 


SR4 "1 


15 


TP 


A 


1 


16 


QJ 


SR17 


SR20 f 


17 


SA 


A 


o J 


20 


TP 


A 


SR3 \ 


21 


ZJ 


SR22 


SR2 J 


22 


SP 


A 


1 


23 


SA 


SR46 


37 ) 


24 


LT 





SR52 J 


25 


SP 


SR3 


33 S 


26 


DV 


SR52 


A 


27 


AT 


SR52 


SR52 


30 


SP 


SR3 


35 


31 


DV 


SR52 


A 


32 


AT 


SR52 


SR52 


33 


SP 


SR3 


37 


34 


DV 


SR52 


A 


35 


AT 


SR52 


SR3 ^ 


36 


SP 


SR4 


1 


37 


SA 


SR5 


33 j 


40 


NP 


SR3 


A 1 


41 


TP 


SR3 





42 


MJ 





SR2 , 


43 





SR47 


3 J 


44 





SR52 


SR52 


45 








117 


46 


35 


20236 


31500 



Cw; no. 


of words on tape 


No. of 


lines for address modification 


No. of 


unmodif iable constants 


No. of 


inputs 


No. of 


outputs 


SQRT 




Entry 




Exit 




Out 




In X 




Set index 



RUN ERROR 6 (SQRT X or X<0) 



If characteristic is odd (even), form 
and store y = 2u (u), scaled 35 



If X = 0, SQRT X = 

First approximation is (y+(2 Root 2-1)/ 
2)/2 scaled 31 

Newton-Raphson Iteration 



Form characteristic of Root X 



Pack and exit 

Parameter for RUN ERROR 6 
Index address 

(2 Root 2-D/2, scaled 35 



86 



47 45 45471 23406 CR CR f R U N 

50 04 20121 20312 A E R R R 

51 04 57664 20445 A | 6 . A CR 

52 CA SQ63 Temporary 



87 



Floating-Point Conversion & Print-Out (50062) 



To convert to decimal, and print out on-line, a binary floating- 
point number, with a carriage return depending on the contents of a 
specified index. 

Calling Sequence 

a TP L(Number) CV3 

+1 TP L(Parameter) CV4 

+2 RJ CV2 CV 

+3 Control returned here. 

The parameter is the same as "Parameter 2" described in the 
Flex-print routine. 

Storage 

176q orders and constants. 
5 erasable locations. 



88 



Floating Point to Decimal Print Routine (50062) 





IA 


VC 









50062 


204 










142 










34 










2 















31 


46662 


67066 


cvo 


MJ 





CV5 


1 


RJ 


30000 


30000 


2 


MJ 





[30000] 


3 


Co 


30000 


3000(3 


4 


[o 


30000 


30000] 


5 


PR 





CV10 


6 


TU 


CV4 


CV134\ 
CV136J 


7 


TV 


CV4 


10 


TP 


CV3 


A57 


11 


ZJ 


CV15 


CV12 


12 


PR 





CV163 


13 


RJ 


CV137 


CV134 


14 


MJ 





CV2 


15 


TP 


CV142 


CV176 


16 


TM 


A 


Q56 


17 


SJ 


CV20 


CV22 


20 


PR 





CV16 


21 


RJ 


CV137 


CV134 


22 


SP 








23 


TJ 


CV146 


C.V32 


24 


TJ 


CV151 


CV36 


25 


FD 


A 


CV150 


26 


RA 


CV176 


CV162 


27 


SP 








30 


TJ 


CV150 


CV36 


31 


MJ 





CV25 


32 


FM 


A 


CV150 


33 


RS 


CV176 


CV162 


34 


SP 








35 


TJ 


CV147 


CV32 


36 


TP 


A 


CV177 


37 


UP 


CV177 


A42 


40 


SS 


CV145 


55 


41 


TV 


A 


CV42 


42 


SP 


CV177 


K3 


43 


TP 


A 


CV177 


44 


LT 





A4 


45 


TP 


CV143 


CV200 


46 


ZJ 


CV52 


CV47 


47 


PR 





CV163 


50 


RJ 


CV137 


CV134 


51 


MJ 





CV57 



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 

Exit 

Quantity for conversion 
Line index address 
Shift down 

Set up line index address 

Quantity — > A 

Zero? 

Yes Print Zero 

Go count 

And out 

Zeroize dec. exp. store 

|q| — o 

Negative? 

Yes, print - sign 

Count 

|q|-»A 

Test v. MIN. Jump if too small 
Test v. MAX. + 1. Jump if O.K. 
Too big, divide by 10 
Increase dec. exp. by 1 

Test v. 10. If < , then O.K. 

Too small, so multiply by 10 
Decrease exponent by 1 



If < 1, back again 
O.K. , in scale now. 
Characteristic— »A 
C - 119 — »A V 



Send to erasable 



Position point between A,, Ap 

Save fractional part 

Integral part — ^A 

8— >dndex, as 9 digits wanted (in ALL) 

Integral part zero? 

Yes, so print 

Count 

Jump to process fractional part 



89 



52 


TU 


CV140 


CV116 


53 


TP 


CV143 


CV201 


54 


RJ 


CV127 


CV113 


55 


TP 


CV200 


A20 "I 

r>irp»7 1 


r- / 


r* t 


pirn 


DO 


OJ 


OV£ 


V^V J 1 J 


57 


PR 





CV37 


60 


RJ 


CV137 


CV134 


61 


SP 


CV177 


2 


62 


ZJ 


CV63 


CV72 


63 


SA 


CV177 


1 


64 


TP 


A 


CV177 


65 


LT 





A45 


66 


AT 


CV12 


CV67 


67 


B 


30000 


30000] 


Tr» 


n T 


nir 1 OT 


c\t -i o a 


IU 


no 


V/Vidl 


VyV idl 


71 


IJ 


CV200 


CV61 


72 


TP 


CV176 


A 


73 


ZJ 


CV74 


CV2 


74 


PR 





CV44 


75 


RJ 


CV137 


CV134 


76 


PR 





CV55 


77 


RJ 


CV137 


CV134 


100 


PR 





CV44 


101 


RJ 


CV137 


CV134 


102 


TP 


CV176 


A 


103 


SJ 


CV104 


CV107 


104 


PR 





CV16 


105 


RJ 


CV137 


CV134 


106 


TM 


CV176 


A 


107 


TU 


CV141 


CV116 


110 


TP 


CV162 


CV201 


111 


RJ 


CV127 


CV113 


112 


MJ 





CV2 


Integer 








conver- 








sion 113 


TP 


A 


CV202 


114 


TP 


CV132 


CV122 


115 


SP 


CV202 





116 


DV 


[30000] 





117 


TP 


A 


CV202 


120 


RA 


CV116 


CV175 


121 


SP 


Q 





122 


G> 


30000 


3000Q] 


123 


[o 


30000 


30000) 


124 


RJ 


CV137 


CV134 


125 


RS 


CV200 


CV162 


126 


IJ 


CV201 


CV115 


127 


MJ 





[30000] 



;ero integral part. Start dividing 
10 8 



Non-zen 

by 

9 powers of 10 to be used ( .'. 8— >index) 
Go convert 
Now if digit index -ve, no fractional 

part wanted and if so, out 
Otherwise, print decimal point 
Go Count 
4f 

Zero? 

No, then digit formed in Al 
Preserve remainder 
Digit to Ar 
Form print order 



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 

jexp| — >A 

Start dividing with 10 1 

2 powers of 10 (no matter about no. of 

digits printed) 
Convert exponent 
And out. 



Int— -^working store 

Set switch to suppress leading zeros 

Prepare to divide 

Divide by 10" 

Save remainder 

Modify divisor address 

Examine quotient 

ZJ i AT CV123 

PR 

Count across line 

Count 1 output digit 

Count 1 power 10 

Exit 



90 



130 


TP 


CV133 


CV1221 
CV122J 


131 


MJ 





132 


ZJ 


CV130 


CV126\ 
CV123J 


133 


AT 


CV12 


134 


IJ 


[30000] 


CV137 


135 


PR 





CV65 


136 


TP 


CV144 


Soooo) 


137 


MJ 





[30000] 


140 





CV152 





141 





CV161 





142 











143 








10 


144 








117 


145 


16 


70000 





146 


DE 


1.0 A 


-1AF 


147 


DE 


1.0A0AF 


150 


DE 


1.0 A 1 AF 


151 


DE 


1.0A9 


AF 


152 





5753 


60400 


153 





461 


13200 


154 





36 


41100 


155 





3 


03240 


156 








23420 


157 








1750 


160 








144 


161 








12 


162 








1 


163 








37 


164 








52 


165 








74 


166 








70 


167 








64 


170 








62 


171 








66 


172 








72 


173 








60 


174 








33 


175 





1 





176 


CA 


VC204 




177 









Set switch to commence printing 

Instructional constants 

Count down on line index 
Carriage return 
Reset index 
And out o 



Address of 10 

Address of 10 

Zero 

8 

79 

119 in ch. field 

Min. 

1 

10 

Max. 

10 8 

10° 

10 4 
103 
10 2 



+1 



10 



> 



Flex codes 



100 

o^ 

1 

2 
3 
4 
5 
6 
7 
8 

9 J 



Dec. exponent 
Fractional part 



} 



Working space 



91 



'Inner" List Routine (50077) 



Purpose 



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) To empty buffer onto tape ( only after some other usage) 

a RJ IW3 IW2 

+1 < — Control returned here — ► 

2) To write a floating-point number (n) 

a TP L(n) A 

+1 RJ IW3 IW 

+2 < — Control returned here — > 

3) To write a fixed-point number (i) 

a TP L(i) A 

+1 RJ IW3 IW1 

+2 < — Control returned here — > 

Initialization 

Before the first usage of this routine, we must have: 

TV BI IW121 

where BI V 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). After all 



92 



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 1 variable, increment BI by 4 

For 2-5 variables, increment BI by 20.^ 

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 1 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 
Sign Code Storage, 
1 Exponent Storage 



Put Point in 
12th Digit 
Place 




Is Number 
Zero? 



(2\^ Multiply 
viy Number by 10 



©- 



Unpack 
Number 



Decrease 
Exponent 
by 1 




Is Number 
Negative? 



Yes 



Yes 



Put Zero in 
11th Digit Place 




Put Negative 
>|Code in Indi- 
cator 



No 



Take Absolute 
Magnitude of 
Number 



^5 



Is 1 \ Yes 
> Number? 



ISQ 



/Oj!f/iT.i> 

\ts \Number? 




Store Fractional 
Part and Set 
Index for 9-Digit 
Output 



Is Integral \_^fs 



Part Zero? 



Put Zero Code in 

11th Digit 

Position 



No 



Set up Subroutine 
to Start Storing 
in 11th Position 
as Units Spot 



ilk 



©21 



Is 1 Billion 

> Number? 



Put Negative 
Code, if Any, in 
10th Digit Po- 
sition 



/integral 
I Conv ersion 



Find Position 
for Sign and 
Insert, if Any 



lave 11 Digits\y 
.been Stored? 



,1^0 



~J\o 



Divide Number 
by 10 



Increase 

Exponent 

by 1 




Is 10> Number? 



No 



© 



Yes 

© 



(D~* 



Set Up Storing 
Instruction so 
1st Figure of 
Fraction Goes to 
13th Digit 
Position 




Is Fraction or 
Remaining 
Fractional Part 
ero? 





Obtain Next Digit 
of Decimal Con- 
version by an 
SP u 2 Followed 
by SA u 1 



Add 3 to Decimal 
Digit for Excess- 
Three Conversion 



Store Excess- 
Three Code of 
Digit 



Q£ 



Set Up Next 
Storing Address 
of Excess-Three 
Decimal 
* 
'Have 9 Digits> 
Been Stored? 



Yes 



sO 




Is Exponeni 
Zero? 



No 



Yes 




Store E Following 
Last Decimal Digit 
of Converted 
Number in Digit 
Temporary List 



<b 



Clear Sign 
Code Indicator 



Is 

Exponent 
Jegative^ 



Yes 



No 



Put Excess-Three 
Code for Negative 
Sign in Indicator 



*6 



©^ 



Insert Sign 
Code as Needed 



Integral |<- 
Conversion 



Take Absolute 
Value of 
Exponent 



Set Index For 
Maximum of 2 
Figures 



Set Up Loader of 
Conversion Sub- 
routine to Units 
Position of Ex- 
ponent 



y— • 
O 

o 

QJ 



O 



V) 

o 

O 

3 



Integral Conversion 




Is Number or 
Quotient Zero^ 





Divide by 10 and 
Store Quotient for 
Next Time Through 
Loop 



Add 3 to Re- 
mainder to Form 
Excess-Three Code 
for Digit 



Store Code in 
Digit Temporary 
Storage 



Reduce Storing 
Address by 1 



cr- 



Fixed-Point Conversion 




Have 11 Digits> 
been Stored? j 



No 




Clear 24 Digit 
Code Storages and 
1 Sign Code Storage 



Is Number 
Zero? 



No 



©- 



Yes 



Put Zero Excess- 
Three Code in 18th 
Digit Position 



Set Up Storing 
Instruction of 
^Conversion Sub- 
routine to Initial 
18th Units Position 



Set Index for a 
Maximum of 11 
Digits 

Is Number 
Negative? 



Put Negative Sign 

Code, if Present, 

in Storage 




Integral 
Conversion 




No 



5* 



Put Negative 
Excess-Three Code 
in Temporary 



o 

o 

rr 

03 



o 



o 
o 

3 



Take Absolute 
Value of Number 



/^"N Set Up Index for 
\ 5 fn 4 Words 



-4 






Clearing Buffer 




re First 10 Ad- 
dresses in Buffer 
all Zero? 



No 



Yes 



Add Uniservo 
Number to Param- 
eter Referencing 
Tape Handler 



Write Buffer 
Block on Tape 



Clear 
Buffer 



t 



Packing of Codes 



Reset Initial 
Buffer Loading 
Address to First 
Line 



Exit 




Initialize Masking 
Instruction to 
Operate on First 
Line of Temporaries 



77 Mask 
to Q 



^9" 




Set Up Index for 
6 Characters in 
Word 



6* 



Up Address of 
Packing Instruc- 
tion so next Code 
Will Come From 
Next Address 



Pack a Temporary 
with an Excess- 
Three Code Ob- 
tained from Digit 
Storage 



i— « 
O 

O 
=r 

r+ 



o 



c 



en 



O 

o 

3 



Has a Word \ No 
Been Completed?) 



No 



Have 4 Words 
been Stored? 




Increase Storing 
Address for Next 
Word 



Yes 



Store Word 
in Buffer 



Inner List Routine (50077) 



IW 





IA 


WI 









50077 


206 










157 


< 








21 


de 


77 


77777 


77775 















^46 


34656 


65450 





MJ 





IW4 


1 


MJ 





IW101 


2 


MJ 





IW125 


3 


MJ 





30000 


4 


RP 


10032 


IW6 \ 


5 


TP 


RV 


TZ ] 


6 


TP 


RV7 


TZ13 


7 


ZJ 


IW12 


IW10 


10 


TP 


RV3 


TZ12 


11 


MJ 





IW111 


12 


SJ 


IW13 


IW15 


13 


TP 


RV2 


TZ30 


14 


TM 


A 


A 


15 


TJ 


RV17 


IW24 


16 


TJ 


RV20 


IW30 


17 


FD 


A 


RV16 


20 


RA 


TZ31 


RV1 


21 


SP 








22 


TJ 


RV16 


IW30 


23 


MJ 





IW17 


24 


FM 


A 


RV16 


25 


RS 


TZ31 


RV1 


26 


SP 


Q 





27 


TJ 


RV15 


IW24 


30 


TP 


A 


TZ33 


31 


UP 


TZ33 


A 


32 


ss 


RV13 


55 "| 


33 


TV 


A 


IW34 \ 


34 


SP 


TZ33 


30000J 


35 


TP 


A 


TZ33 


36 


LT 





A 


37 


TP 


RV5 


TZ32 


40 


ZJ 


IW44 


IW41 


41 


TP 


RV3 


TZ12 


42 


TP 


TZ30 


TZ11 


43 


MJ 





IW51 


44 


TV 


IW41 


IW143 


45 


RJ 


IW146 


IW137 


46 


TV 


IW143 


IW47 


47 


TP 


TZ30 


30000 


50 


SJ 


IW111 


IW51 


51 


TV 


XE7 


IW56 



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 

Test v. Min., jump if too small 
Test v. Max. +1, jump if O.K. 
Too big, divide by 10 
Increase exponent by 1 

If now < 10.0, O.K. 
Otherwise, divide again 
Too small, multiply by 10 
Decrease exponent by 1 

If > 1.0, O.K., otherwise back 
Now in range 
Biased char. — >Ach 

Position binary point between 
A, and An 

Save fractional part 
Integral part to A R 
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 digits (or exponent) 
1st fractional position is 13th digit 
code store 



98 



Fixed- 
Point 
Con- 
version 



Packing 

of 

Codes 



Clear 
Buffer 



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 

j 104 

\ 105 

106 

107 

110 

112 
113 
114 
115 
i 116 
> 117 
120 
121 
122 
123 
U24 
ri25 
126 
127 
130 
131 
132 
133 
134 
135 
U36 



< 



SP 


TZ33 


2 


ZJ 


IW54 


IW61 


SA 


TZ33 


1 


LT 


44 


TZ33 


AT 


RV3 


30000 


RA 


IW56 


RV1 


IJ 


TZ32 


IW52 


TP 


TZ31 


A 


ZJ 


IW63 


IW111 


TV 


IW56 


IW64 


TP 


RV10 


30000 


TP 


RV 


TZ30 


SJ 


IW67 


IW70 \ 
TZ30 / 


TP 


RV2 


SP 


IW64 


i 


SA 


RV3 


t 


TV 


A 


IW143J 


TP 


RV1 


TZ32 


TM 


TZ31 


Q 


RJ 


IW146 


IW140 


TV 


IW143 


IW77 \ 
30000 J 


TP 


TZ30 


MJ 





IW111 


RP 


10031 


IW103 \ 


TP 


RV 


TZ J 


ZJ 


IW106 


IW104 


TP 


RV3 


TZ21 


MJ 





IW111 


RJ 


XE6 


XE 


TV 


IW143 


IW110\ 
30000 ] 


TP 


TZ30 


TP 


RV3 


TZ32 


TU 


XE7 


IW116 


TP 


RV11 


Q 


TP 


RV4 


TZ30 


LA 


TZ33 


6 


QS 


30000 


TZ33 


RA 


IW116 


RV12 


IJ 


TZ30 


IW115 


TP 


TZ33 


30000 


RA 


IW121 


RV1 


IJ 


TZ32 


IW114 


MJ 





IW3 


SP 


RV 





RP 


20012 


IW1351 
IW130J 


TJ 


BF 


SP 


TN 


17 


AT 


RV14 


GT3 \ 
GT J 


RJ 


GT2 


RP 


10171 


IW135\ 
BI J 


TP 


RV 


TV 


RV14 


BI 


MJ 





IW3 



^ 



Form and 
store code 



Fractional loop 



Now process decimal exponent 

Find address for E 

Store E code 

Clear sign code temp, store 

Note negative sign if wanted 

Units position of decimal exponent 
is 3 beyond "E" store 

1 to index 

Go count 

Insert sign code as required 

Jump to pack 

Fixed-point entry. Clear 24io 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 





ML37 


TP 


A 


Q 




140 


SP 


Q 







141 


ZJ 


IW142 


IW146 


Integer 
Conversion' 


142 


DV 


RV6 





143 


AT 


RV3 


30000 




144 


RS 


IW143 


RV1 




145 


IJ 


TZ32 


IW140 




J.46 
XEO 


MJ 





30000 


Correc- 


TV 


IV 104 


IW143 


tion 


1 


TP 


RV6 


TZ32 


Patch for 


2 


SJ 


XE3 


XE5 


Fixed- i 


3 


TP 


RV2 


TZ30 


Pt. Num- 


4 


TM 


A 


A 


bers 


5 


RJ 


IW146 


IW137 




^ 6 


MJ 





30000 




^ 7 





TZ 


TZ14 


RV 


C ° 













1 








1 




2 








2 




3 








3 




4 








5 




5 








10 




6 








12 




7 








22 


Constants< 


10 








30 




11 








77 




12 





1 







13 


16 


70000 







14 


74 


20100 


1005 




15 


DE 


1.0 


F 




16 


DE 


1.0 


1 F 




17 


DE 


1.0 


-1 F 




1^20 


DE 
CA 


1.0 
WI206 


9 F 



Integer 



Divide by 10 

Form and store code 



Exit 

No, units position is 18th temp, store 

Set index to IOjo 

Is number negative? 

Yes, put XS3 code in temporary 

Take absolute value of number 

Go convert 

u is beginning address of temporaries 
v is location of period for floating pt 



Negative code 



Code for period 
Code for E 



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 
any one number that is listed by the routine. Signs, decimal digits, 
and the exponent letter E are stored here. If the number is floating- 
point, the units position is TZ12 and a period is put in TZ13. The 
fractional part of a floating-point number starts at TZ14. If the 
number is fixed-point, the units position is TZ21. 



TZ30 



TZ31 



Minus XS3 code is stored here, as needed. 
Holds index for packing 6 characters in a word. 

Exponent of floating-point numbers that are to be expressed 
in scientific notation is built up here* 



/ 



TZ32 < 



Index for 9 digits of fractional part of floating-point number. 

Index for possible two digits of an exponent. 

Index for 4-word output of any one 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: To position data tape to beninnirm of required data 

Or : To extract one word of decimally coded data from tape, and convert 
to binary floating point. 

Calling Sequence 

1) Tape positioning a j TP [/Variable Name) INI 

+1 j RJ IN IN2 

+2 j Abnormal "end of data" return 

+3 j 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 ", then the appropriate sentence 

CW is filled into v. Otherwise, we have MJ a , i.e., to return 
to beginning of data, and commence extraction over again. 



2) Data Extraction 



a 


RJ 


+1 


TP 


+2 


RA 


+ 3 


IJ 


+4 


Ab 



IN IN3 

|_ ? J Normal return, word in Q 



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 FX1 must hold the initial location of the 

data index, andjn, n describing it, respectively. 

Storage 



606q orders, constants, and temps 
I70o word buffer ( 
+ 2 fixed locations. 



+ I70 fi word buffer (which is termination buffer) 



Note: This routine includes the XS3 to Floating-Point conversion routine 
from GG0-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 the "tape synonym." This 
is noted, and then scanning continued, to find the first "TAPE" - and hence 
the containing tape number, and hence the "indicator." 

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. If 
so, we scan the tape forward. If not, we scan backward. 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 ] L L 
+1 | J,n n 

Where L is the initial location of the index, J = 2, and n = number of 
locations occupied. 



r ormat 



X 


v tl ,i 


+1 


S t 1§ l 


+2 


Vti.2 


+3 


S ti,2 


+4 


Vt 1§ 3 




St 1 

i 


etc 


TAPE 




OOOOOOOOOOt 




s 




V t2.1 




s t 2 ,l 




Vt 2 .2 




St 2 . 2 




TAPE 




OOOOOOOOOOt, 




it 2 




etc. 



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 

it represents the tape synonym 
of the data last read in from tape t. 

(N.B. This word may also hold *\ADATA4 M , 
indicating that this tape is rewound, OR, 
••£ ENDAO", showing that the tape is at 
the end of all information written thereon.) 



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 Data" Procedure 

This example shows three sets of A, each of two blocks, followed by two 
sets of B, each of three blocks. 



1st Read A 



_/v_ 



-Y- 



H !~ 



B 



_/^_ 



Data extracted, 
normal exit 



2nd Read A 



y 



Data extracted, 
normal exit 



3rd Read A 



X 



Data extracted, 
normal exit 



4th Read A (i) 



IV- 



B Sentinel seen 



(ii) 



t 



So back up, leaving 
B in indicator , take 
end-of-data exit 




(iv) y v | | 



(No jump) 



Then 



/ - Jump, 
/ then eventually 
! Read B 



or 



"Read A 



\l—l 



Back up to start of A 



Read forward, B seen, 
go ahead, extract 
data 



105 



START 



Entry 1 



DATA EXTRACTION 



Clear Input 
Lines to Routine 
GG (fl. pt.conv. ) 



Set CC^> 11 10 
(Index for 
Character Ex- 
traction) 



Enable Routine 
GG Only. 

K -> M 

*2 



M 



o 



Initialize ST 
Routine. 

r -> 4 Box 3 
infer 




20 



10 



XX. 



(i.e. Ignore 1st 
Blockette of any 
One Data Set) 



N 



N, 



(Set NC to pick 
up NL for In- 
itialization 



<0 



Initialization 
for Data 
Extraction 



Entry 2 

TAPE POSITIONING 



Inner Read Routine 



o 
-J 




+" SeenM^r- M Seen?\J!2/r 



Yes 



6 



Yes 



■>Mi 



M- 

i.e., Enable 
Complementation 
of Output from 
Conversion 





CC-l-> CC 
(Countdown on 
Index) 




CC < ? 




Yes 



Inner Read Routine (Cont.) 



o 

CD 



Scan to End of Field 

^"S 




Normal Exi 




," Seen? 



.No 




"/" Seen? 



Yes 



End 




Yes 



Of 



LineJtExit 

© 



<b 



©* 



K-> L 

i.e. , Enable Out- 
put from GG to be 
Raised to Appro- 
priate Power 


-> 


L -> L x 

i.e., Assume a 

Positive Decimal 

Exponent 






—=> 


0->XX4 
(Results Store) 







1 -» cc 

(Index) 




Normal 
Exit 1 * 



^/^SeeT?Vo_jVH- Seeli?N N 0> / <rTseen?\ N %( T) 



Yes 



Yes 



Yes 



Inner Read Routine (Cont.) 



o 




." SeenAJJo/n/- S een?\-^ 



Yes 



Yes 







O* 



i.e. 


Set I 


MC to 




Pick 


Up NL Rout 


ine 


Next 


Time 


Used. 




(To 


Start 


New 




Bkt. 


) 







<!> 



Subtract 3 
from Character 



Add in C(XX4) 
Times lO^g, and 
Place Result back 
in XX4 



CC-l-> CC 



(7> 



i.e. , Prepare 
for negative 
Decimal Exponent 



U0 




Output of 
GG — > Q 




CC< 0? 



No 




I Yes 




Perform 

RP W 

FM Q L(10) 



Perform 

RP W - 

FD L(10) 



V y 




m 



TN 



->(§) 



EXIT 



Inner Read Routine (Cont.) 




NC 



START 




N — >N 



-® 



&* 



XX2-1— >XX2 
(i.e., Decrease 
Shift Index by 
1) 



-5/ XX2 < 0? 



Yes 



No 



XXI- 1 =*XX1 

(i.e. , Decrease 
Word Index by 1) 



XXK 0?^^ N->N r) 



y 



End of 
Line Exit 



No 



6 



Inner Read Routine (Cont.) 



Box 1 



0- 











Send Word from 
P th row, r th pos. 
to XX3 (Word for 
Current Proc- 
essing) 


(<0 




■ 


Shift C(XX3) 
Left in Q by 6, 
Mask Out 1 
Character 


r + l-> r 
(Box 1) 


— ^ 


5->XX2 


J> 


Set Normal 
Exit 


*\ 















Normal 
Exit 




START 



Read 1 Block of 
Data from Tape 
Referenced by TN, 
in Forward 
Direction 









->- 


Send Word in p 
row, r tn pos. 
to XX3 






6 ->XX2 


— > 


' 

19->XX1 




Set Box 1 
in (NC) 

















EXIT 




Yes 



ERROR ROUTINE 2 



Inner Read Routine (Cont.) 


















Box 2 


Rn,^ ^ 












L»U A O 




n-6 -> n 




















/^ ^\ v «. 




START 


LA A n 


~> 


AT GGr 


GGr 


>* 


in Box 2 


— > 


CCl-l-> CC1 


K CCK 


A ie5 > 






OV J 














9 














-> 


r+l-> r, 


Box 3 






5 -> CC1 


-3 


n->30, Box 2 


— ^ EXIT 












Inner Read Routine (Cont.) 



•Inner" Read Routine (50100) 





IA 


NI 









50100 


557 










473 










56 




77 


77777 


77775 















54 


30242 


75450 


I NO 


MJ 





[30000] 


1 


Co 


30000 


3000§] 


2 


MJ 





PS 


3 


TP 


CF13 


GG4 \ 


4 


TP 


CF13 


GG5 j 


5 


TP 


CF3 


CC 


6 


TV 


DR56 


DR53 \ 


7 


TV 


DR62 


DR60 J 


10 


TP 


ST14 


ST1 1 


11 


RJ 


ST12 


ST10 J 


DRO 


RJ 


BM27 


BM 


1 


EJ 


CF3 


BM 


2 


EJ 


CF22 


BM 


3 


EJ 


CF20 


DR6 


4 


EJ 


CF23 


DR6 


5 


MJ 





D.311 


6 


TP 


CF13 


XX \ 


7 


TP 


CF13 


XXI J 


10 


MJ 





BM 


11 


TJ 


CF1 


DR21 


12 


RJ 


ST 12 


ST 


13 


RJ 


BM27 


BM 


14 


EJ 


CF3 


DR51 


15 


EJ 


CF22 


DR25 


16 


EJ 


CF20 


DR47 


17 


EJ 


CF23 


DR47 


20 


MJ 





DR12 


21 


TV 


DR64 


DR60 


22 


RJ 


BM27 


BM \ 


23 


EJ 


CF3 


BM j 


24 


MJ 





DR15 


25 


TV 


DR63 


DR53 


26 


TP 


DR65 


DR57 


27 


TP 


CF13 


XX4 


30 


RJ 


BM27 


BM ^ 
BM J 


31 


EJ 


CF3 


32 


TJ 


CF1 


DR45 


33 


ST 


CF1 


Q ^ 


34 


SP 


XX4 


2 I 


35 


SA 


XX4 


1 f 


36 


AT 





XX4 J 


37 


RJ 


BM27 


BM 



Call word; no. of lines prelude & routine 

No. of lines for address modification 

No. of unmodifiable constants 

No. of inputs (-2 for Processor) 

No. of outputs 

Name (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 
Discard leading/^ 
Discard E 
If,) 

if; J 

0. K. - . or digit 



end line 



Start new line 

Continue search for start 

Start. - sign? 

No, digit, store 

Get next character 

If A , out 

If E, go process exp. 

If, S end line, out 

if; J 

Otherwise, go store 

- seen, enable complementation 

Discard any A between - and digits 



E Seen, enable exponentiation 

Assume +ve exponent 

Zeroize exponent store 

Discard A between E and first exp. 

character and - and 1st exp. digit 
- sign? 

No, form exponent 

Get next character 



113 



TJ 
EJ 
EJ 
EJ 

MJ 

TD 

L I 

MJ 
TP 
TP 
RJ 
TP 
MJ 
LA 
TU 



40 
41 
42 
43 
44 

AC 

46 
47 
50 
51 
52 
53 
54 
55 
56 
57 
60 
61 
62 
63 
64 
65 
66 
BM 

1 

2 

3 

4 

5 

6 

7 
10 
11 
12 
13 
14 
15 
16 
17 
20 
21 
22 
23 
24 
25 
26 
27 
ST CO 

1 [0 

2 RS 

3 U 

4 IJ 



CF1 DR51 

CF20 DR47 

CF23 DR47 

CF21 DR51 

DR33 





CF13 

CF13 

GG2 

GG3 



XX4 

A 



DR30 
XX 
XXI 
GG 



[30000] 
17 

DR56 
DR60 \ 
3000$ i 

BOOOOlT 


IN 

DR54 

DR61 

CF25 

CF25 

BM21 

BM16 

BM13 

17 

GT3 

GT 

A 

EP5 \ 

EP5 J 

XX2 

XX3 

BM16 

CF17 

XXI 

BF 

CF4 

XX 

6 * } 

BM 

BM27 
BM \ 
BM27 J 
C3000Q) 
30000 (30000)] 
(30000) (30000)] 
ST CF27 
CC1 ST 12 
CC ST7 



RP 


Co] 




30000 


MJ 





TN 


Q 


MJ 

















FM 





FD 





U 


XX 


U 


XXI 


U 


XX2 


SP 


TN 


AT 


CF37 


RJ 


GT2 


TP 


CF26 


EJ 


BF 


EJ 


BF1 


TP 


CF2 


TP 


BM21 


TU 


XX3 


RA 


XX3 


TP 


CF23 


TP 


[30000] 


RA 


BM16 


TP 


CF2 


LQ 


BF 


QT 


CF 


EJ 


CF13 


TJ 


CF24 


RP 


20004 


EJ 


CF20 


MJ 






} 



If 


A 


or - 


, out 




If, 

if; 


} 


clear, 


out 




if 




out 






Oth 


erwise, b 


ack 




■ Cji 


;p. 


SCC u . 


OC 1/ 1 U 



Zeroize shift index 
Zeroize word index 
Go convert 
Output — >Q 



[Exp] 



->A, 






And out 



Jump on shift index 
Jump on word index 
Jump on line index 

Read one block (forward) 



■A 



If Sentinel, go to probable error routine, 

(It will be necessary to back up tape) 
5 to line index 
Initialize to BF 

Inc. by 20 (u) 
I9io-> w0r d index 

Inc. by 1 (u) 
5 — > shift index 

Extract 1 frame 

If 00 (i) discard 

If < 15a, O.K. 

> 15 - check for permitted , . ; E 

otherwise reject 
Exit 

LA A n (or MJ ST12) 
AT GGr GGr 
Decrease shift by 6 
Count down on character index 
Insure not more than two words of input 



114 



5 


TP 


ST6 


ST 


6 


MJ 





ST12 


7 


RA 


ST1 


CF30 


10 


TP 


CF2 


CC1 


11 


TP 


ST13 


ST 


12 


MJ 





[3000(5] 


13 


LA 


A 


36 


14 


AT 


GG4 


GG4 


PS 


TU 


FX1 


SC 


1 


TU 


FX 


SCI 


2 


TP 


INI 


A 


3 


RJ 


SC7 


SC 


4 


TP 


A 


CC 


5 


TP 


SC6 


CC1 


6 


LQ 


Q 


17 


7 


TU 





SC 


10 


TU 


SC6 


SCI 


11 


TP 


CF33 


A 


12 


RJ 


SC7 


SC 


13 


TP 


A 


TN 


14 


RA 


SC6 


CF4 


15 


TU 


A 


PS25 


16 


SS 


CC1 





17 


SA 


CF41 





20 


TU 


A 


PS31 


21 


RA 


CC1 


PS35 


22 


TU 


A 


PS32 


23 


LQ 


PS25 


Q25 


24 


TV 





TB6 


25 


TP 


[30000] 


A 


26 


EJ 


CF34 


PS33 


27 


EJ 


CC 


PS55 


30 


EJ 


CF35 


PS36 


31 


RP 


Co] . 


PS 33 


32 


EJ 


[30000] 


PS36 


FORWARD 33 


RJ 


MF6 


MF 


34 


EJ 


CF35 


EP 


35 


MJ 


2 


PS33 


36 


SP 


TN 


17 ) 


37 


AT 


CF40 


GT3 J 


40 


RJ 


GT2 


GT 


41 


RJ 


TB11 


TB 


42 


MJ 





PS36 


43 


MJ 





PS46 


44 


EJ 


CF34 


EP 


45 


MJ 





PS36 


46 


SP 


BF3 


] 


47 


EJ 


CF32 


PS51 J 



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 

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 
" A A TAPE" > A 

Note tape number 

Form address of indicator 

And set up order 

Add 17774 in "u", forming jn for repeat 

Increment by 2 in "u" field 



Set up subroutine with address of indicator 

Indicator syn. — >k 

= a DATA A ? (i.e., at start of tape?) 

= Required Synonym? 

= AENDAO? (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 

carry on 

Read 1 block backwards 
Read 1 block backwards 

Return here if no. 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 


MJ 





PS36 


51 


SP 


TN 


14 


52 


SA 


CF36 





53 


EF 





A 


54 


MJ 





PS57 


NDIC= 55 


RJ 


MF6 


MF 


SYN 56 


MJ 





EP13 


57 


RA 


IN 


CF3 \ 


60 


TP 


CF13 


XX J 


61 


TP 


CF13 


XXI 


62 


TP 


CF2 


XX2 


63 


TP 


CF52 


XX3 


64 


MJ 





IN 


SC 


RP 


pa 


EP } 


i 


EJ 


[30000] 


SC2 j 


2 


SN 





17 ^ 


3 


SA 


FX1 





4 


SA 


FX 





5 


TU 


A 


SC6 


6 


TP 


[30000] 


A J 


7 


MJ 





[30000] 


MF 


SP 


TN 


17 1 


1 


AT 


CF37 


GT3 \ 


2 


RJ 


GT2 


GT J 


3 


RJ 


TB11 


TB 


4 


MJ 





MF 


5 


MJ 





PS57 


6 


MJ 





[30000] 


TB 


TP 


CF26 


A 


1 


RP 


20002 


TB11 ^ 
TB3 J 


2 


EJ 


BF 


3 


RA 


TB11 


CF3 


4 


AT 


CF3 


TB10 


5 


TP 


BF2 


A 


6 


TP 


A 


[30000] 


7 


EJ 


CC 


TB11 


10 


Co 


30000 


30000] 


11 


MJ 





[3000(3] 


EP 


TP 


EP4 


Q ^ 


1 


RJ 


CF55 


CF53 


2 


TP 


INI 


Q r 


3 


MS 





PS 


4 





CF42 


4 J 


5 


RA 


IN 


CF1 


6 


TP 


EP12 


\ 
CF53 J 


7 


RJ 


CF55 


10 


TP 


INI 


Q 


11 


MS 





EP13 


12 





CF46 


4 


13 


SP 


TN 


14 1 


14 


SA 


CF31 


f 


15 


EF 





A J 


16 


MJ 





IN 



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 forward until next Sentinel 

Incorrect syn;,'. end of data,,', abnormal 

exit 
Normal (modified) exit 
Clear shift index 
Clear word index 
5 — >line index 

Erasable address store to BF24 
And out 

Scan index as SDecified 



And extract word following that sought 

Exit 

Read in one block 

Go perform tests 

No Z Z Sentinel, read more 

Required synonym, go modify exit (as usual) 
Incorrect synonym - exit 

Z Z — >A 

If either of 1st two words all Z'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) 

Inadequate data. Set abnormal exit 
Print out 
Note data 



Back up tape 1 block 
And exit 



116 



y 



XS3 to Floating Point Conversion 
Routine GG0-CF16 used here (See Section 
III, 3-Translation Subroutines) 



CF 17 





24 













20 








21 


.1 




21 








22 


. \ XS3 codes 




22 








30 


E 






23 








23 


♦ J 


(Also l c 


V 


24 








15 




25 


DE 


1.0A1AF 




10 (floating pt) 




26 


74 


74747 


47474 


z — Z 




27 








6 






30 





1 


1 






31 


02 


14 


1 


Move backward one 


1 block 


32 


01 


65662 


45466 


A START 




33 


01 


66245 


23001 


A TAPE A 




34 


01 


27246 


62401 


A DATA A 




35 


01 


30502 


70151 


A END A 




36 


02 


4 


1 


Move forward one 


block 


37 


50 


00100 


BF 


Read forward 




40 


60 


00100 


BF167 


Read backward 




41 





17774 









42 


45 


47223 


00130 


cr f DATA"! 




43 


04 


14062 


22027 


A INDEX 1 


PS sec 


44 


04 


20121 


20312 


A ERROR 






45 


44 


24202 


00435 


. SEE AQ 






46 


45 


47140 


63022 


cr f INAD *< 




47 


20 


35343 


00120 


EQUATE 1 




50 


04 


22300 


13044 


A DATA. 






51 


04 


24202 


00435 


A SEE A 






52 





BF24 





J 


• 


53 


TP 


Q 


PR3 






54 


RJ 


PR2 


PR 






55 


MJ 





[3000q] 








CA 


NI557 













117 



Integer Conversion & Print-Out Routine (50112) 



Purpose 



To convert to decimal, and printout on-line a positive binary fixed- 
point integer, with a carriage return depending upon the contents of a 
specified index. 

Calling Sequence 

L( Integer) IC3 
L(Parameter) IC4 
IC2 IC 
Control returned here. 

The parameter is the same as "Parameter 2", described in the Flex-Print 
routine. 



a 


TP 


+1 


TP 


+2 


RJ 


+3 


( 



Storage 



71q orders and constants 
2 erasable locations 

A and Q destroyed 



118 



Integer Conversion and Print-Out Routine (50112) 





IA 


CI 









50112 


77 










42 










27 










2 















34 


50662 


67066 


IC 


MJ 





IC5 


1 


RJ 


30000 


30000 


2 


MJ 





30000 


3 





30000 


30000 


4 





30000 


30000 


5 


PR 





IC22 


6 


TU 


IC4 


IC27\ 
IC31J 


7 


TV 


IC4 


10 


TP 


IC3 


A56 


11 


SJ 


IC13 


IC12 


12 


ZJ 


IC14 


IC34 


13 


PR 





TC10 


14 


TM 


A 


IC72 


15 


TP 


IC53 


IC71 


16 


TP 


IC41 


IC25 


17 


TU 


IC16 


IC22 


20 


RA 


IC22 


IC70 


21 


TP 


IC72 


A45 


22 


DV 


30000 


Q57 


23 


TP 


A 


IC72 


24 


SP 








25 





30000 


30000 


26 





30000 


30000 


27 


IJ 


30000 


IC32 


30 


PR 





IC21 


31 


TP 


IC67 


30000 


32 


IJ 


IC71 


IC20 


33 


MJ 





IC2 


34 


TP 


A 


IC71 


35 


TP 


IC40 


IC25\ 
IC25J 


36 


MJ 





37 


PR 





IC55 


40 


AT 


IC37 


IC26 


41 


ZJ 


IC35 


IC32 


42 


11 


24027 


62000 


43 





73465 


45000 


44 





5753 


60400 


45 





461 


13200 


46 





36 


41100 


47 





3 


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 IC26 

PR IC55 +n 

Test for end of line 

Carriage return 

Reset index 

To exit 

Set divide index to zero 

Set switch to commence printing 



10, 
lOj 
10. 

io; 

10, 



10 



119 



50 








23420 


10!: 




51 








1750 


10, 

10 i 
10 o 

10 


52 








144 


53 








12 


54 








] 


JO 






Q7 
O 1 




56 








52 


1 




57 








74 


2 




60 








70 


3 




61 








64 


4 


^ Flex Codes 


62 








62 


5 


63 








66 


6 




64 








72 


7 




65 








60 


8 




66 








33 


9^ 


A7 

\J 1 




n 


117 




70 





1 







71 
72 


CA 


CI77 


•> 


i 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 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 



Reproduce UNICODE Master Tape 

Compare Two UNICODE Master Tapes 

High-Speed Printer Octal Listing of UNICODE Master Tape 

Read Magnetic Tape 

Write Magnetic Tape 

Bioctal Paper Tape Loader 

Flex Paper Tape Loader 

High-Speed Printer Octal Dump on Magnetic Tape 

Read to Q 

Write From Q 

Changed-Word Post Mortem 



The package is stored as follows: 

40400 - 40435} Re P roduce MCODE 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. They use a read-write buffer located from 5270- 
6227. 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. 



Sec- 




Num- 




tion 




ber 




Num- 


Section Title 


Blocks 


Addresses 


ber 




(Octal) 




1 


UNICODE Sentinel Blocks 


2 


7230-7607 


2 


Merge 


16 


35-3134 


3 


Set-up Translation 


2 


7230-7607 


4 


Translation Sub Prints & Translators 


133 


50333-75600 


5 


Region FC (Flex Codes) 


1 


40001-40100 


6 


Translation Subroutines 


17 


21-3316 


7 


Dimension Translators No. 1 and No. 2 


4 


4400-5267 


8 


Fixed Library Catalog 


1 


7230-7417 


9 


Set-up Generation 


1 


7230-7417 


10 


Generators 


66 


50212-64731 


11 


Generation Subroutines 


6 


537-2043 


12 


Set-up Segmentation 


1 


7230-7417 


13 


Segmentor 


11 


674-2726 


14 


Op File I for Fixed Library 


1 


7230-7417 


15 


Set-up Allocation 


1 


7230-7417 


16 


Allocation 


7 


674-2403 


17 


Set-up Initialization 


1 


7230-7417 


18 


Initialization Generator 


16 


2000-5057 


19 


Set-up Processor 


1 


7230-7417 


20 


Processor 


6 


653-2172 


21 


Fixed Library Routines 


17 


10-3417 


22 


Set-up Listing 


1 


7230-7417 


23 


Listing Routine 


12 


653-3027 



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 1 (TCU2, if 1105). If 
MSI is on, a stop occurs after each typing of a section number. If MSI is off, 
the tape is reproduced without stopping. Start with PAK at 40400. 

Uniservo 2 is read according to the set of addresses of the first section 
and the figure 1 is typed. If MS 1 is set, the computer stops with PAK at 
40414. If this section is to be changed, Flex, bioctal, or magnetic-tape 
inputs should be loaded at this point. If this loading does not alter address 
40000, Master Clear and Start. 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. The final stop occurs with PAK at 
40400. Tapes 1 and 2 are automatically rewound. 

2. Compare Two UNICODE Master Tapes 

Put the UNICODE Master Tapes to be compared on Uniservos 1 and 2. Set 
PAK at 40600 and start. 

The routine compares the two tapes and prints out any differences on 
the typewriter in changed-word post mortem format. If the tapes are identical, 
only the section numbers are typed. 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 u v 

n _ First Last 

y xxy yyy Address 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 41152 and start. References from within 
a program may be made by loading Q as desired and using the instruction, 37 
41217 41152. 

«j . h J. x u c mdi|iicbxvj lapc 

Op U V 

n - 7 First Last 

V ^xy yyy Address Address 

where Z = 1, 

x is any binary digit, 

yyyy is the binary representation of the Uniservo number. Use Tape 

Control Unit 2 if on the 1105. 

Set PAK at 41000 and start. This routine may also be referenced from a 
program by the instruction, 37 41036 41000. 

6. 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 44636 
44602 . 

8. High-Speed Printer Octal Dump on Magnetic Tape 

Op u v 

First Last 

g - zxy yyy Address Address 



126 



where z = means use of Tape Control Unit 1 

z = 1 means use of TCU2 if on the 1105. If on the 1103A, z 
must be set at 1 for any use of the routine. 

x = 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. This routine may be referenced from a program 
by the instruction, 37 44636 44625. 

9. Read to Q 

Put address which is to be read in A , set PAK at 44603, and start. The 
content of the address appears in Q and the address in A is increased by 1 
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, 
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 
address, if desired. The computer stops on 44604. 

11. Changed-Word Post Mortem 

Op u v 

Q = XX YYYYY ZZZZZ 

where XX = 00 gives punched paper tape output. 

XX ^ 00 gives typed output. 

YYYYY is the first address of the area to be compared. 

ZZZZZ is the first address of the image. 

In A should be put the number of words to be compared. Set PAK at 
44613 and start. The routine may be referenced from a program by the in- 
struction, 37 44636 44613. 



127 



Reproduce System Tape (KK) 



ro 

CD 




Start 



Set Up 




Print Digit 



No 



23 Sections 
Written? 



± 



Yes 




Restart 



Rewind 
Tapes 



( Stop ) 



High-Speed Printer Octal Listing of Unicode System Tape (ZB) 



(start V-* Set U P 




Write 


in 


XS3 


Oct 


,al 


on 


Tape 


#3 


Us 


ing 


Dump 




Routine 




23 Sections 
Written? 




hi Stop J 



No 



Compare Two Unicode System Tapes 







Do Changed Word 
Post Mortem on 
Typewriter 




23 Sections 
Read? 



Yei 



Rewind 
Tapes 



No 




Write Magnetic Tape 




Set Up 



Fill Buffer 
* 




All Words 
Written? 



No 



Yes 




o 




ZD> 



tart 



Set Up 



Read Magnetic Tape 




Transfer Buff 
to Storage 




) 



All Words >| Yes 
Read? 



No 




7 



Regions for System Tape Package 



BA7230 


BZ7607 






CA35 


CZ3134 






EA50333 


EZ75600 






FA40001 


FZ40101 






GA21 


GZ3316 






HA4400 


HZ5267 






JA7230 


JZ7417 






KA50212 


KZ64731 






LA537 


LZ2043 






NA674 


NZ2726 






RA674 


RZ2403 






TA2000 


TZ5057 






VA653 


VZ2172 






WA10 


WZ3417 






YA653 


YZ3027 






GG40200 








22 








PR4G222 




ZD41152 


Read 


10 




MD41000 


Write 


CE40232 




RS40000 


Restart 


10 




EN44600 


Other Routines 


CC40242 








40 








FF40302 








27 








KK40400 








31 








CD40431 








5 








ZB40500 








14 








CP40514 








5 








HH40600 








102 








HJ40702 








15 








VV40717 








30 








40747 









131 



System Tape Package 
(Parameters) 



UNICODE 












MASTER 












TAPE SECTIONS 




IA 


FF 






1 





41 


BA 


BZ 


1st & 2nd blks. 


2 


1 


41 


CA 


CZ 


Merge 


3 


2 


41 


BA 


BZ 


Two blks. after merge set-up S.O.S 


4 


3 


41 


EA 


EZ 


S.O. & S.O.S. prints 


5 


4 


41 


FA 


FZ 


FC 


6 


5 


4.1 


GA 


GZ 


S.O.S. 


7 


6 


41 


HA 


HZ 


Dim. »1 & #2 


8 


7 


41 


JA 


JZ 


Lib. Catalo ff 


9 


10 


41 


JA 


JZ 


Set-up Generation 


10 


11 


41 


KA 


KZ 


Generation 


11 


12 


41 


LA 


LZ 


Generation Subs 


12 


13 


41 


JA 


JZ 


Seg. Set-up 


13 


14 


41 


NA 


NZ 


Segmentation 


14 


15 


41 


JA 


JZ 


Op. file 1 for Fixed Library 


15 


16 


41 


JA 


JZ 


Set-up Allocation 


16 


17 


41 


RA 


RZ 


Allocation 


17 


20 


41 


JA 


JZ 


Set-up Initialization 


18 


21 


41 


TA 


TZ 


Initialization Generation 


19 


22 


41 


JA 


JZ 


Processor Set-up 


20 


23 


41 


VA 


VZ 


Processor 


21 


24 


41 


WA 


wz 


Fixed Librarv routines 


22 


25 


41 


JA 


JZ 


Listing Set-up 


23 


26 


41 
CA 


YA 
FF27 


YZ 


Listing 



132 



Produce Master Tape 





IA 


GG 











TU 


CC 


GG5 




Set to print *1 


1 


TU 


GG17 


GG11 




Set address of 1st par. 


2 


TP 


CE4 


CE3 




Set index 


3 


TV 


CE5 


GG10 




Set one shot 


4 


TP 


CE6 


RS 




Set restart address (40000) 


5 


TP 


(30000) 


CE7 




No. to print 


6 


RJ 


PR 


PR1 




Print number 


7 


MS 





EN2 




Stop for load 


10 


RJ 


GG10 


(30000) 




One shot other params \ 


11 
12 


TP 
RJ 


(30000) 
MD36 


MD1 \ 




Write tape 


13 


RA 


GG11 


CE I 






14 


RA 


GG5 


CE > 




Modify 


15 


IJ 


CE3 


GG4 




n parameters 


16 


MS 





GG 






17 


TP 


FF 


Q 






20 


RJ 


MD36 


MD 






21 


MJ 
CA 

IA 



GG22 

PR 


GG13 


Print 


Digit 





MJ 





(30000) 




Exit 


1 


RP 


2 


PR3 






2 


PR 





CE2 






3 


PR 





CE1 




Lower carriage 


4 


SP 


CE7 


52 "I 






5 


PR 





A \ 




Print word 


6 


SS 


A 


6 J 






7 


ZJ 
CA 


PR 5 
PR 10 


PR 














Constants 





IA 


CE 










1 





1 








57 


2 








45 


3 











4 








26 


5 








GG17 


6 


MJ 





GG10 


7 













CA 


CE10 





Shift down 
Return carriage 
Index 
Set index 

Set restart 
No. to print 



133 



Constants 





IA 


CC 










CC1 





1 


52 








2 


74 








3 


70 








4 


64 








5 


62 








6 


66 








7 


72 








10 


60 








11 


33 








12 


52 


37000 





13 


52 


52000 





14 


52 


74000 





15 


52 


70000 





16 


52 


64000 





17 


52 


62000 





20 


52 


66000 





21 


52 


72000 





22 


52 


60000 





23 


52 


33000 





24 


74 


37000 





25 


74 


52000 





26 


74 


74000 





27 


74 


70000 





30 


74 


64000 





31 


74 


62000 





32 


74 


66000 





33 


74 


72000 





34 


74 


60000 





35 


74 


33000 





36 


70 


37000 





37 


70 


52000 


.0 




CA 


CC40 





Flex for 1 
2 
3 
4 
5 
6 
7 
8 
9 

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 





IA 


KK 









TU 


CC 


KK11 


Set to print #1 


1 


TU 


KK26 


KK6 


Set address of 1st par 


2 


TP 


CE4 


CE3 


Set index 


3 


TV 


CD 


KK15 


Set one shot 


4 


MJ 





KK5 


Skip 


5 


TP 


CD1 


RS 


Set restart address 


6 


TP 


(30000) 


Q 1 
CD4 J 


Set to read tape #2 


7 


RA 







10 


RJ 


ZD45 


ZD 


Read tape 


11 


TP 


(30000) 


CE7 


Set print number 


12 


RJ 


PR 


PR1 


Print number 


13 


MS 


10000 


KK14 


Stop for write 


14 


TU 


KK6 


KK16 


Set write address 


15 


RJ 


KK15 


(30000) 


One shot 


16 


TP 


(30000) 


) 
MD1 J 


Write tape 


17 


RJ 


MD36 




20 
21 


RA 
RA 


KK6 
KK11 


CE \ 
CE J 


Modify 


22 


IJ 


CE3 


KK5 




23 


EF 





CD2 


Rewind #1 


24 


EF 





CD3 


Rewind #2 


25 


MS 





KK 


Stop 


26 


TP 


FF 







27 


RJ 


MD36 


MD 




30 


MJ 
CA 



KK31 


KK20 


Constants 





IA 


CD 













KK26 


1 


MJ 





KK14 


2 


2 


200 


10000 


3 


2 


200 


20000 


4 


01 










CA 


CD5 





Rewind #1 
Rewind #2 



135 



Dump System Tape on Servo 3 TCU2 





IA 


ZB 







TP 


CP3 


CP2 


1 


TU 


CP1 


ZB3 


2 


MJ 


50000 


Z62 


3 


TP 


(30000) 


Q 


4 


RJ 


ZD45 


ZD 


5 


TU 


ZB3 


ZB6\ 
J 


6 


TP 


(30000) 


7 


RA 


Q 


CP 


10 


RJ 


EN36 


EN25 


11 


RA 


ZB3 


CP4 


12 


IJ 


CP2 


ZB2 


13 


MS 





ZB 




CA 


ZB14 





Set index 

Set par. address 

Test buffer. 

Par. — >Q 

Read Uniservo 1 

Par. — »Q 

Uniservo 3 
Write Uniservo 3 
Next parameter 
23-parameter index 
Stop 



Constants 





IA 


CP 







2 








1 





FF 





2 











3 








26 


4 





1 







CA 


CP5 





TCU2 designator 

1st parameter address 

Index 

Set index 

1 in u 



136 



Compare System Tapes 





IA 


HH 











TU 


CC 


HH17 


t 


Set to print 1 


1 


TU 


VV2-7 


HH3 




Set 1st parameter 


2 


TP 


VV6 


VV5 




Set index 


3 


TP 


(30000) 









4 


TP 





VV 




Set prog, address 


5 


RJ 


ZD45 


ZD 




Tape 1 — > storage 


6 


TU 


HH3 


HH7 


1 




7 


TP 


(30000) 





\ 


Set parameter in Q 


10 


RA 





VV2 


J 




11 


LT 


25 


A 




1st add. of image to A 
Set image address 


12 


TV 


A 


VV 




13 


TP 





A 




Last add. — >A 


14 


ST 


VV 


A 




Last - 1st — >A V 


15 


AT 


VV4 


Wl 




+1 to set A parameter 


16 


RJ 


ZD45 


ZD 




Read to image (No. 2) 


17 
20 


TP 
RJ 


(30000) 
PR 


CE7 
PR1 


} 


Print number 


21 


TP 


VV 





1 




22 


TP 


VV1 


A 


\ 


Do CWPM 


23 


RJ 


EN36 


EN12 


fj 




24 
25 


RA 
RA 


HH3 
HH17 


VV22 
VV22 


!} 


Modify 


26 


RJ 


HH26 


HH27 


t 


One shot 


27 


IJ 


VV5 


HH3 




3 parameters 


30 
31 


TP 
RJ 


FF3 
ZD45 



ZD 


} 


Read in S.O. from No. 1 


32 
33 


TP 
RJ 


CC4 
PR 


CE7 
PR1 


} 


Print 4 


34 


TP 


VV7 


HJ2 


1 




35 


TP 


VV10 


HJ3 


I 


Compare S.O. 


36 


TP 


VV17 


HJ4 


r 




37 


RJ 


HJ 


HJ1 


J 




40 
41 


TP 
RJ 


VV12 
HJ 


HJ2 
HJ1 


} 


Last of S.O. 


42 
43 


TP 
RJ 


FF4 
ZD45 



ZD 


} 


Read FC (#1) 


44 
45 


TP 
RJ 


CC5 
PR 


CE7 
PR1 


} 


Print 5 


46 
47 


TP 
RJ 


VV14 
ZD45 


Q 
ZD 


} 


Read FC (#2) 


50 


TP 


VV15 





1 




51 
52 


TP 
RJ 


VV14 
EN36 


A 

EN12 


,} 


Compare FC 


53 
54 


RA 
RA 


HH3 
HH17 


VV16 
VV16 


:} 


Set for S.O.S. 


55 


TP 


VV17 


VV5 




Set index 


56 
57 


RJ 
IJ 


HH26 

VV5 


HH3 
HH56 


.} 


Up to generators 



137 



60 


TP 


FF11 


) 
ZD J 


61 


RJ 


ZD45 


62 


TP 


CC12 


CE7 \ 
PR1 J 


63 


RJ 


PR 


64 


TP 


VV7 


HJ2 S 


U.J 


j. i 


\T\rOn 

v v fa* v 


66 


TP 


VV4 


HJ4 ( 


67 


RJ 


HJ 


HJI J 


70 


TP 


VV22 


HJ2 \ 

hji ; 


71 


RJ 


HJ 


72 


RA 


HH3 


W23\ 
VV23J 


73 


RA 


HH17 


74 


TP 


VV24 


VV5 


75 


RJ 


HH26 


HH3 \ 
HH75J 


76 


IJ 


VV5 


T7 
i i 


EF 


n 


VY25 


100 


EF 





VV26 


101 


MS 





HH 




CA 


HH102 





Read generator (#1) 
Print 10 

r.nmnarp n(*r\ . 

Last generator read 

Skip generator parameters 

Set index 

Do rest of parameters 

Rewind 
Rewind 



138 





IA 


vv 
















1 











2 


1 


50000 


50000 


3 








77777 


4 








1 


5 











6 








2 


7 


2 


1 


5120 


10 


1 


50333 


1 


11 





5120 





12 


2 


1 


546 


13 











14 


2 


1 


100 


15 


1 


40001 


1 


16 





2 





17 








3 


20 


1 


50212 


1 


21 











22 


2 


1 


2260 


23 





1 





24 








14 


25 


2 


200 


100001 
2 0000 J 


26 


2 


200 


27 





FF 







CA 


VV30 






IA 


HJ 







MJ 





30000 


1 


MJ 





HJ5 


2 





30000 


30000 


3 





30000 


30000 


4 





30000 


30000 


5 


TP 


HJ2 


Q ) 
ZD J 


6 


RJ 


ZD45 


7 


TP 


HJ3 


Q I 


10 


TP 


HJ2 


A t 


11 


RJ 


EN36 


EN13J 


12 


RA 


HJ3 


VV11 


13 


IJ 


HJ4 


HJ5 


14 


MJ 





HJ 




CA 


HJ15 





Q for CWPM 

A for CWPM 

Set for image read 

Mask 

Index 

Set index 

Read S.O. & gen. 

Compare S.O. 

For more reads 

Last read of S. 0. 

Read FC 
Compare FC 

Set index 
Compare gen. 

Last gen. read 

Set index 
Rewinds 



Exit 

Start 

Read par. & comp. par. for A 

Compare par. for Q 

Index 

Read S.O. or gen. 



CWPM 

Modify 
N times 
Exit 



139 



Regions for Read-Write 
Core (Coding for both 1103A and 1105 versions shown) 
BS5267 



BF5270 














Drui 


740 
















DD6230 














MD41000 


40 














40 


EE6270 














ME41040 


14 














14 


FF6304 














MF41054 


5 














5 


WB6311 














MB41061 


OK 














OS 


CR6336 














MR41106 


5 














5 


SU6343 














MU41113 


4 














4 


CC6347 














MC41117 


20 














20 


BG6367 














MG41137 


13 














13 


ZA6402 














ZD41152 


51 














51 


ZB6453 














CB41223 


13 














13 


ZC6466 














DC41236 


40 














40 


BB6526 














DB41276 


55 














55 


CA6603 














CT41353 


35 














35 


PC6640 














PD41410 


21 














21 


ZZ6661 














41431 


CN740 


No. 


of 


wo 


rds 


in 


buffer 




CL737 


No. 


of 


wo 


rds 


-1 






LA6227 


Last add. 


of 


buffer 




CM741 


No. 


of 


wo 


rds 


+1 






NN432 


No. 


of 


wo 


rds 


to 


bootst 


rap 



Write 



Read 



140 



Write Magnetic Tape 



DD 





IA 


MD 





MJ 





1 


RP 


NN30000 


2 


TP 


MD 


3 





30000 


4 





30000 


5 


TP 





6 


QT 


CC2 


7 


LQ 





10 


QT 


CC2 


11 


ST 


BG2 


12 


AT 


CC5 


13 


TP 


BG5 


14 


TJ 


BG6 


15 


TV 


DD4 


16 


TP 


ecu 


17 


QS 


BG6 


20 


TU 


DD3 


21 


RP 


30000 


22 


TP 


30000 


23 


TP 


DD4 


24 


SA 


BG6 


25 


SA 


BG6 


26 


LT 





27 


RS 


BG5 


30 


ZJ 


FF 


31 


RJ 


WB 


32 


RJ 


CR 


33 


TP 


DD4 


34 


TP 


BG5 


35 


MJ 





36 


RJ 


MD36 


37 


MS 







CA 


MD40 



MU 


— » Setup 


DD5 \ 
DD J 
30000 


Bootstrap 

40 
Par- nn 1st add. last add. 

Next add. in buffer 


30000 


DD3 




BG2 


1st add. — >temp. 


17 




BG3 


Last add. — >temp. — >A 


BG4 


Last - 1st — >temp. 


BG6 


Last - 1st + 1 


A 


No. left — >A 


EE 


Room this load I No >EE 


DD22 1 




Q I 


Set RP & TP 


DD21 f 




DD22 J 




DD23 \ 
30000/ 


Words — ►buffer 


A 1 




17 I 


Update address 


25 ( 




DD4 J 




BG6 


Set cells left 


DD31 


Buffer full i no — *FF 


WB1 


Write tape 


CR1 


Clear 


MD4 \ 
MG5 / 


Set drum 


MD36 


— *drum 


MD37 


Exit 


MD1 


Stop 



141 



No room this load 



EE 





IA 


ME 









TV 


DD4 


EE5 


\ 


1 


TU 


DD3 


EE5 


I 


2 


TP 


ecu 


Q 


} 


3 


QS 


BG5 


EE4 


4 


RP 


30000 


EE6 


»} 


5 


TP 


30000 


30001 


6 


RA 


DD3 


BG5 




7 


TP 


CC 


BG5 




10 


RJ 


WB 


WB1 




11 


RJ 


CR 


CR1 




12 


TP 


DD3 


Q 


\ 


13 


MJ 
CA 




ME14 


DD6 


s 



Set addresses 
Set n of RP 

Fill buffer 

Update parameter 

Clear number of cells left 

Write on tape 

Clear 

Return to finish parameter 



Room & buffer not full 



FF 





IA 


MF 







TP 


DD3 


Q 


1 


QJ 


FF2 


DD33 


2 


RJ 


WB 


WB1 


3 


RJ 


CR 


CR1 


4 


MJ 





DD33 




CA 


MF5 





40 I 00 — >exit 

Write tape 

Clear 

Exit 



142 



Write Buffer 





IA 


MB 




WB 


MJ 





(30000) 


1 


TP 


CC14 


A 


2 


ST 


BG5 


A 


3 


DV 


CC7 


BG7 


4 


ZJ 


WB6 


WB5 


5 


RS 


BG7 


CC6 


6 


SP 


BG7 





7 


AT 


CC6 


BG10 


10 


EF 





CC3 


11 


TV 


CC10 


WB21 


12 


TP 


DD3 





13 


LQ 





22 


14 


QT 


CC17 


A 


15 


TP 


CC17 





16 


QS 


A 


CC4 


17 


EF 





CC4 


20 


RP 


10170 


WB22 


21 


EW 


10000 


(30000) 


22 


RA 


WB21 


CC16 


23 


IJ 


BG7 


WB17 


24 


MJ 





WB 




CA 


MB25 





Exit 

No. blks. — >-Q 

Index = No. blks -1 — >BB7 



Set bypass (=MJ WB11 on 1103A) 
Set at BF 



Set tape No. in code word 



BF + n(l70) 

Write n blks. 
Exit 



Clear 



CR 



SU 





IA 


MR 







MJ 





30000 


1 


TP 


CC10 


DD4 


2 


TP 


CC14 


BG5 


3 


RP 


CN 10000 


CR \ 


4 


TP 


CC1 


BF J 




CA 


MR5 







IA 


MU 







RP 


NN 30000 


SU2 


1 


TP 


MD 


DD 


2 


RJ 


CR 


CR1 


3 


MJ 





DD5 




CA 


MU4 





Exit 
= BF 
No. of cells left = 1 buffer load 

Buffer = Z's — >exit 



Set-up 

SU in core 

Bootstrap 

Clear 



143 



Constants 





IA 


MC 




CC 











1 


74 


74747 


47474 


2 





77777 





3 





20000 


04000 


4 


02 


00606 





5 





I 





6 








1 


7 





170 





10 





BF 


BF 


11 





07777 





12 











13 





2 


2 


14 





CN 





15 





LA 


LA 


16 








170 


17 





1 


70000 




CA 


MC20 





Zero 

Fill buffer - Z's 

u mask 

Set bypass mode - TCU2 

Write & 128/in-tape #1 

1 in u 

1 in v 

Words/blk. in u 

1st add. of buffer 

Mask 



Set number of cells left 
Last address in buffer 
Words/blk. in v 



Explanation of Temporaries and Variables 



Core 


Drum 






BG 


MG 
















1 











2 





u 





3 





u 





4 





u 





5 





u 





6 





u 





7 








V 


10 





u 





11 











12 












} 



Check sum 



High 

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 




IA 


ZD 








ZA 


TP 





ZD2 






1 


MJ 





ZD47 






2 





30000 


30000 




Par. 1st add. 


3 


LQ 





22 ^ 






4 


QT 


ZB 


ZB1 






5 


TP 


ZB 





> 


Set tape number 


6 


QS 


ZB1 


BB36 


f 




7 


QS 


ZB1 


BB37 






10 


TP 


ZA2 


o 1 




1st add. — >ZB3 


11 


QT 


ZB2 


ZB3 1 






12 


LQ 





17 J 






13 


QT 


ZB2 


A 




Last add. — >A 


14 
15 


ST 
AT 


ZB3 
ZB4 


A 1 
ZB5 J 


Last - 1st + 1 — »ZB5 


16 


TJ 


ZB6 


ZA31 




Fit — *ZA31 Noj 


17 
20 


TP 
RJ 


ZB7 
ZC 


ZC2 \ 
ZC1 ; 


Fill buffer 


21 


TP 


ZA2 


Q 1 






22 


LQ 





25 






23 


TV 





ZA25 


> 


Buffer — >s tor age 


24 


RP 


CN30000 


ZA26 






25 


TP 


BF 


(30000) 






26 


RA 


ZA2 


ZB10 




Update par. 


27 


TP 


ZA2 









30 


MJ 





ZA3 






31 


TP 


ZB5 


Q 


\ 




32 


LQ 


Q 


25 , 


f 


No. — >V 


33 


TP 


ZB11 


A ] 


1 




34 


AT 


Q 


ZC2 


> 


Read to buffer 


35 


RJ 


ZC 


ZC1 j 






36 


TP 


ZA2 









37 


LQ 





25 






40 


TV 


Q 


ZA44 




Set address 


41 


TP 


ZB12 


^ 




Mask — >Q 


42 


QS 


ZB5 


ZA43 


1 




43 


RP 


30000 


ZD45 


} 


Buffer ►storage 


44 


TP 


BF 


(30000), 






45 


RJ 


ZD45 


ZD46 




Exit 


46 


MS 





ZD 






47 


RP 


NN30000 


ZA3 






50 


TP 
CA 


MD 
ZD51 


DD 







last add. 



145 



Constants and Variables 



TA 



CR 



ZB 



70000 



1 











2 





77777 





3 





( ) 





4 





1 





5 





( ) 





6 





CM 





7 





BF 


LA 


10 





CN 





11 





BF 


BS 


12 





07777 







CA 


CB13 





Mask 

Tape No. 

Mask 

1st address 

Last - 1st + 1 

Standard par. to fill buffer 

Other par. 
Mask 



146 













Read Tape 




IA 


DC 








ZC o 


MJ 





3000C 


► 


Exit 


1 


MJ 





ZC3 




Start 


2 





30000 


3000C 


> 


address address 


3 

4 


TP 
QT 


ZC2 
ZC34 



ZC35 


} 


1st add. — >35 


5 
6 


LQ 
QT 



ZC34 


17 
A 




Last - 1st +1 >A 


7 


ST 


ZC35 


A 


f 


10 


AT 


ZC37 


A 


J 




11 
12 


LQ 
TV 






6 
BB2 


} 


Address — >BB2 


13 


DV 


BB45 


ZC33 




No. of blks. — >index 


14 


TP 


A 


ZC32 




Store remainder 


15 


TP 
ZJ 


Q 
ZC17 


A 
ZC26 


} 




16 


iNO, oi oiks, f zero v r*o ^ 


17 


RS 


ZC33 


ZC36 




Index - 1 


20 


TU 


BB45 


BB2 




No. of words = 170 


21 


RJ 


BB 


BB1 




Read 


22 


RA 


BB2 


ZC31 




Increase address 


23 


IJ 


ZC33 


ZC21 




n blks. 


24 
25 


TP 
ZJ 


ZC32 
ZC26 


A 
ZC 


} 


Remainder zero — >exit No 


26 
27 


TU 
RJ 


ZC32 
BB 


BB2 
BB1 


} 


Read remainder 


30 


MJ 





ZC 




Exit 


31 








170 






32 













Remainder 


33 













No. of blocks 


34 





77777 









35 





30000 







1st address 


36 








1 






37 



CA 


1 
DC40 










147 



Read One Block of Tape 





IA 


DB 








U 


Al T 




C i r\r\t\r\\ 

\ o\j\j\j\jj 


Ml t 


1 


MJ 





BB3 






2 





(30000) 


(30000) 


Par. = 00 n address 


3 


MJ 





BB4 




(on 1103A = MJ 20000 BB5) 


4 


EF 





BB43 




Set bypass (1103A = MJ BB5) 


5 


EF 





BB42 




Set normal bias 


6 


TV 


BB2 


BB52 




Set address 


7 
10 


TP 
QS 


BB44 
BB2 



BB51 


} 


Set n of RP 


11 


QT 


BB2 


Q 




n— *Q 


)1 

it 


Tn 
xr 


DO A C 

UU4J 


A 




1 7ft %^ A 

1 I \J — — **n 


13 

14 


ST 
AT 


Q 
BB46 


A 
BB53 


} 


170 i- n — >RP 


15 


RJ 


BB53 


BB50 




Read 


16 


ER 





A 




IOA— >A 


17 


ZJ 


BB20 


BB34 




Parity | :lo — ► 34 


20 


EF 





BB41 




Set high 


21 


RJ 


BB53 


BB47 




Read 


22 


ER 





A 




IOA — >A 


23 


ZJ 


BB24 


BB34 




Parity 1 v o *• 34 


24 


EF 





BB40 




Set low 


25 


RJ 


BB53 


BB47 




Read 


26 


ER 





A 




IOA — >A 


27 


ZJ 


BB30 


BB34 




Parity J, 


30 


EF 





BB37 




Move back 


31 
32 


TP 
RJ 


CA10 
PC 


PC2 
PCI 


} 


Print PARITY 


33 


MS 





BB1 




Stop for rereads 


34 


EF 





BB42 




Set normal (1103A = MJ BB35) 


35 


MJ 





BB 




Exit 


36 


2 


602 


10000 




Read one blk. fwd. 


37 


2 


14 


10001 




Move back one blk. 


40 


2 


1 


70000 




Low 


41 


2 


1 


60000 




High 


42 


2 


1 


50000 




Normal 


43 





20000 


04000 




Set bypass 


44 





07777 









45 





170 









46 


RP 





(30000) 




47 


EF 





BB37 




Move back one blk. 


50 


EF 





BB36 




Read one blk. 


51 


RP 


10000 


BB53 






52 


ER 


10000 


( 30000 )[ 




53 











} 


RP 


54 


ER 


10000 


A 


Throwaway 




CA 


DB55 






BB55 in core 



148 



Print 



PC 





IA 


PD 











MJ 





30000 


Exit 




1 


MJ 





PC16 


Start 




2 





30000 





address 


n 


3 


TP 


PC 2 









4 


QT 


CA5 


A45 






5 


ST 


CA6 


PC20 






6 


TU 


PC2 


PC7 






7 


SP 


30000 


52 






10 


PR 





A 






11 


SS 


A 


6 






12 


ZJ 


PC10 


PC13 






13 


RA 


PC7 


CA7 






14 


IJ 


PC20 


PC7 






15 


MJ 





PC 






16 


RP 


4 


PC3 






17 


PR 





PC4 






20 



CA 



PD21 





Index 





149 



Constants 
(From 1103A Unicode Service Routines) 



UA 





IA 


CT 












170 


zz 




1 


67 


50342 


65127 ^ 




2 


30 


77657 


36566 


v Sentinel 


3 


30 


47776 


62452 




4 


30 


77777 


77777 ^ 




5 








77777 




6 








1 




7 





1 







10 





CA13 


10 




11 





CA23 


11 




12 





77777 







13 


47 


12203 


02204 




14 


20 


12120 


31204 




15 


46 


15301 


21401 




16 


25 


42574 


24704 




17 


04 


24013 


01201 




20 


04 


26031 


20412 




21 


20 


12203 


02224 




22 


57 


42040 


40404 




23 


47 


07033 


40601 




24 


04 


34061 


41603 




25 


22 


20042 


42524 




26 


01 


20070 


40130 




27 


15 


20040 


30604 




30 


24 


20121 


70304 




31 


57 


52420 


40447 




32 


24 


01301 


20157 




33 


42 


04040 


40404 




34 


2 
CA 


200 
CT35 


10000 


Rewind #1 



150 



4. UNICODE SAMPLE CODING 



4. UNICODE SAMPLE CODING, 
a. Matrix Inversion by UNICODE 

Assume A is the matrix to be inverted and C is the i-th approximation 

T 
to the inverse. Set C to A . Then for the i-th iteration (i=l, 2, .... n 

where n is the rank of the matrix) 



C. , = C .. for k=i 
jk ]k 

A.^C. 
l l 



^..^C.-V.U. 1 " 1 ^) for k t i 
jk jk ji i k 

where A. is the i-th row of A and *^C. is the i-th column of J C. After n 
l i 

repetitions C = Inverse of A. 

v n 

Next an estimate of the error is made 

^A n C 
Average error = ( i i i i )-n 

2 
n 

If the average error is greater than the error allowed by the routine, 
C is used as a new value for C and a new approximation is made. Sentence 
2.7 of the program establishes the error allowed. 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 1, 2.5, 
and 3. In 2.5, n is given the size of the new n x n matrix. In 3, m is 
given a numerical value 1 less than n. 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. It is brought into 
the computer by the Automatic Data Read-In. 



153 



nnxeoae urogram . 
matrix inversion 



o . i 

7 

7.S 



dimension a(lC,IC-),c(lO,lc),r(10) 



p a -j- -3 v»-i- 

2 . 5 n=10 . 

2.7 ae=C.0I 

s.l vary i 0(l)ri sentences 3-2 thrn i«3 

5.2 vary j 0(l)m sentence ;;. 3 then resume 3.1 

^ . o j-ibi a v .l , ( : ; , j. , , . , t-.. o - '-• . 

1-!- vary i 0(l)m sentences 5 thni 6 then jump to 5.5 

5 varv j 0(l)n sentence 5 then resume 4 

5 c(i,o)=a(.i,i) . 

vary i 0(l)m sentences 7.3 thrn 24 . 

vary k 0(l)ri sentences thrn 10 then jump to II 

Q varv :\ o(l)m sentence 10 then resume " 7 .p 

11 varv ,i 0(l)m sentence 12 then jumo to 1; 

12 c(j,i)=c(j ; i}'r(i} . 

14 la=G . 

15 To=l . 

16 vary k la(l)ib sentences I 7 thru Is then juun to 19 
j. 7 vary .1 0(i)n sentence 10 then resume 15 

IB c(j',k)=c(j,k)-(c(j,i) X r(k)) . 

19 if lb = m jumn to 23 

20 la =1+2 . 

21 lb = m . 

21.5 if la m jump to 24.1 . 

22 junro to sentence 16 

23 1 = 1+1 . 

24 resume 7 

24.1 q=0 . 

24.15 vary i 0(l)m sentences 24.2 thru 24.5 then jump to 24.35 

24.2 vary k 0(l)m sentences 24. 25 thru 24.3 then resume 24.15 
2^.25 vary j 0(1 )m sentence 24.5 then resume 24.2 . 

24.30 q = q + (a(i,j) X c(j,k)) . 

24.35 e = (q-n)/n ;::: . 

24.39 type e . 

24.4 ±? \e\ G ae, jump to 6.5 . 

24.5 vary i 0(l)m sentences 24.6 thru 25 then jump to 26 
2k. 5 vary k 0(l)m sentence 25 then resume 24.5 

25 list c(i,k),i,k, tape 4, 

26 stop . 
zzzzzzend of tape . 



154 



b. Floating Point to Fixed Point Sub-Program 

This is a method of converting a floating-point number to the 
nearest integer. The sub-program to do this is shown operating at sentences 
100 to 106. 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)) A. 

51. I = KKA. 

100. Fix (Q(KA))A. 

101. ZZ = |Q(KA) I A . 

102. Vary KK 0(1) 999999 with ZZ ZZ(-l) -2 Sentence 103A. 

103. If ZZ < 0.5 jump to 104 A . 

104. If (KA) > = jump to 106 A . 

105. KK = -KKA. 

106. Exit A. 



155 



c. Linear Programming Application. 



1 

2 

2.1 

2.2 

2.3 

3.1 

3.2 

3.3 

3.4 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

16.1 

16.2 

17 

18 



linear program 
original dantzig method 

dimension a(17), x(8, 17), z(17), delta(17), c(17), psi(8), p 8), temp(17), work(8) 
start 



If = 7 . 
lg = 16 . 
g = 16 . 
read x 
read c 
read psi . 
read p . 



x(0,0) = x(0,0) + 1 . 

vary i 0(1 )lg sentences 6 thru 8 . 

z(i) = . 

vary j 1(1 )lf sentence 8 . 

z(i) = z(i) + x(j,i) X psi(j) . 

vary i 0(1 )lg sentence 10 

delta(i) = z(i)-c(i) . 

temp(O) = . 

k = . 

vary i 1(1 )lg with b l(l)g sentences 14 thru 17 

if temp(O) G delta(i), jump to sentence 16 • 

resume 13 

vary j l(l)lf sentence 16.1 

if b = p(j), jump to sentence 15 

temp(O) = delta (i) . 

k = i . 

if k = 0, jump to sentence 44 



Note: Only sentences 1 - 2.3 need be changed 
for matrices of different size. 



19 type k . 

20 temp(O) = 1000 . 

21 vary j 1(1 )lf sentences 22 thru 29 . 

22 if x(j,k) G 0, jump to sentence 25 

23 temp(j) = -1 . 

24 resume 21 

25 if x(j,0) L 0, jump to sentence 23 

26 temp(j) = x(j ,0)/x(j ,k) . 

27 if temp(j) G= temp(O) jump to sentence 24 



-\ 



BEGINNING OF CYCLE 
Cycle Count 

0) z. 



1) 



= 8 



z. - c, 
111 



>• Find smallest negative 8 



If no negative 8 is found, go 
to output 

Type k = subscript of incoming 
vector 



> 2) = 



mi 



in X j 



1 x., 
lk 



Find mr (position in basis) 
for out going vector 



156 



28 


temp(0) = 


temp(j ) 


29 


mr = j . 




30 


type mr 




31 


psi(mr) = 


c(k) • 



32 



p(mr) = x(0,k) . 



33 vary j l(l)lf sentence 34 . 

34 temp(j) = x(j ,k) . 
34.1 work(O) = x(mr,k) . 

35 vary i 0(1 )lg sentences 36 thru 42 . 

36 x(rar,i) = x(mr,i)/work(0) . 

37 if x(mr,i) not= 0, jump to sentence 40 . 

38 resume 35 . 

39 resume 40 . 

40 vary j 1(1 )lf sentences 41 thru 42 . 

41 if j = mr, jump to sentence 39 . 

42 x(j,i) = x(j,i) - x(mr,i) X temp(j) . 

43 jump to sentence 4 . 

44 vary j 1(1 )lf sentence 45 . 

45 list p(j),j,tape 3, ((variables in basis)) 

46 vary i 0(1 )lg sentence 47 . 

47 list delta(i),i,tape 3, ((delta)) . 

48 vary j 0(1 )lf sentences 49 thru 50 . 

49 vary i 0(1 )lg sentence 50 . 

50 list x(j,i),j,i, tape 3 ((final tableau)), 

(matrix), (row), (column) 

51 vary i 1(1 )lg sentence 52 . 

52 temp (i) = . 

53 vary j 1(1 )lf sentences 54 thru 56 . 

54 vary i 1(1 )lg sentence 55 

55 if x(0,i) = p(j), jump to sentence 56 

56 temp(i) = x(j ,0) 

58 vary i KDlg sentence 59 

59 list temp(i), i.tape 3, ((values of variables)) 

60 vary j 1(1 )lf sentences 61 thru 66 . 

61 read a 

62 work (j) = 



(Continued) 



Type mr 

3) place coefficient of in- 
coming vector in new position 

4) place number of incoming 
vector in new position 



Save column k and x . = a 



► 5) calculate incoming row 



J 



) 



6) calculate remaining parts 
of matrix by columns 

Go to start next cycle 

END OF CYCLE - START OUTPUT 

List numbers of variables in 
basis 

List S's (shadow prices) 



List whole final matrix 



Find and list values of 
variables 



Compute and list back solution 



157 



vary i 1(1 )lg sentences 64 thru 65 

work(j) = work(j) + temp(i) X a(i) . 

z(j ) = work(j ) - a(0) . 

list z(j),j,tape 3, ((back solution)^ 

(deviation), (equation) . 

c(O) = . 

vary i 1(1 )lg sentence 69 . 

c(0) = c(0) + temp (i) X c(i) . 

list c(0), tape 3, ((profit function)) . 

type c(0) 



63 
64 
65 
66 

67 
68 
69 
70 

71 _ rfr . 

71.1 list x(0,0), tape 3, ((cycle count)) 

71.2 type x(0,0) 

72 stop 
zzzzzzend of tape 



(Continued) 



>• Compute and list back solution 



Compute and type and list 
profit function 



Type and list cycle count 



Arrangement of the data tape ; 
A(I) 7 sets of A (rows of original equation) 
Y(J,I) 



Cycle 
counter 




Vector numbers 


1 


2 


3 


16 



Con- 
stant^ 
terms 



1 



L 2 



7 



X l 1 X l 2 X l 3 
X 2 1 X 2 2 X 2 3 



X 7 1 X 7 2 X 7 3 



1 16 



2 16 



H 16 



Constant Coef- Coef- Coef- 
term ficient ficient ficient 



"0 



L 2* 



16 



Coefficient 
matrix 



C (I) Cj c 2 c 3 . 



. C,, coefficients of profit function 
PSKJ) ^ \\f^ uV 3 . . . u/^ coefficients of profit function of the vectors in the basis 
P (J) p x p 2 p 3 . 



P~ 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 



en 



This column 
outside tab- 
leau 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 Programming".)* 

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. 

x . are the values in the outgoing row. 

^i = X i are the coe f f * cients of p ^ tne constants in the input data). 



C. — > basis vec- 
J tor number 
values designator P Q ( X i ) 




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 # and x^ ^ 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 P must 
remain in the first column. The coded program has in the data tape the variables in their natural order 1, 2... 10... 16. 



5. 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. Only 
one of the two signs, > and < , can be used. The space is simulated by no 
punch on the cards. The dash becomes the minus sign. No simulation is needed 
for the comma and period. 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 Card Card 

Character Character Punching 

/ / 0-1 

< @ 4-8 

* * X - 4 - 8 

+ & Y 

» 3-8 

I : y - 4 - 8 

( $ X - 3 - 8. 

) % 0-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 < X". Similarly, if a term "X > = Y" is wanted, it should be written 



163 



"Y < = 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. One must always end the punching of a card 
on a divider or a space. 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. The first 6 positions of an overrun program card must not 
be punched. On an overrun Data card, no indentions are needed. Of course, 
no figures may be broken at the end of a Data card. 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 in- 
stallation 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. 



lbo 



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. This will happen most frequently 
with Data lists. 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 above, the following two tables 
of excess-three values are used in this routine: 



166 



Card-to-Tape Produced Excess-Three Value 

00 00000 00016 & 

00 00000 00035 * 
00 00000 00062 

00 00000 00055 $ 

00 00000 00075 % 

UNICODE Accepted Code for Character 

00 00000 00063 + 
00 00000 00076 

00 00000 00042 | 

00 00000 00017 ( 

00 00000 00043 ) 

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 TCUl. 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 . In put the number 

r v v v r 

of the Uniservo on which the UNICODE tape is to be written. The octal number 

of input blocks must be in . 
r v u 

Start with beginning address at 77460. The routine transfers itself to 

core where it operates from 6300-6736. Both tapes are rewound on completion 

of the translation. 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. Another 6-read trial can be obtained 

at this point by pushing the START button. 



167 



The flex copy of this routine loads in the drum from 77460-77714. It may 
be added to the bioctal tape of UNICODE Service Routines. It has not been 
included on any of the tapes of the UNICODE System but flow charts and 
annotated codin™ for it are shown following this write— u n . 

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. On the 1105 version this instruction reads 75 
20005 06362 and is located at 77532. For example, an increase to 8-line 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 



If on 1105, Set Bypass 
of Appropriate Buffer 



Set up Tape 
Parameters and 
Indexes 



-© 






©-* 



Set Normal 
Bias 



^J)^ 



Read 1 Block 
From Tape to 
Input Buffer 
in Core 




Is there a 
Parity Error? 



Yes 



'Read Block 5 Time! 
or Less, as Needed^ 
in Varying Direction 
and Bias 



©- 



Extract a Char- 
acter from Word 




Is Character One 
of Those that is to 
Be Changed? 



Yes 




Replace Char- 
acter by One 
Which Unicode 
will Recognize 



-© 



-4 

O 




Is Word of Char- 
acters Used Up? 



Yes 
— >( 



Set up to Examine 
Next Word 





Is Block of Words\Yes 
Used Up? 




Write Translated 
Block to Output 
Tape 




Have Number of 
Blocks Been Used 
Up? 



Yes 



Rewind Input and 
Output Uniservos 




-J 




ntn 



Read Tape Back- 
ward 1 Block 



Parity Reread Routine 




Is There a 
Parity Error? 



Yes 





Is There a 
Parity Error?/ 



LYejL 




Set Low 
Bias 



Set Normal 
Bias 



Move Tape For- 
ward 1 Block 




Set High 
Bi as 



Read Tape For- 
ward 1 Block 



Read Tape For- 
ward 1 Block 



Is There a \Yes 



iParity Error? 



Read Tape Back- 
ward 1 Block 




Set Normal 
Bias 



/is There a \ Yes/ ^\ 
~^t Parity Error?/ *\_J 





0- 



Read Tape 
Backward 1 
BiQCk 



Is There a 
.Parity Error' 




L Yes 



Print-out 
PY 




Regions for 1103A or 1105 Routine To Convert Card-To-Tape 
Converted Tape to UNICODE Tape 



RE DH77460 
RE HL6300 
RE BL6377 
RE TC6460 
RE NU6513 
RE BE6522 
RE NE6523 
RE UC6533 
RE TS6547 



172 



1105 Routine to Convert Card-to-Tape Cohverted Tape to UNICODE Tape 



HLO 
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 DH 

RP 30233 HL 
TP DH 2 HL 
LA A 14 
TP A UC 6 
TP Q UC 4 
MJ 2000 ° HL 5 
MJ ° HL 11 
HJ 5000 ° HL 5 

1 1 ? 

TP TC UC i0 
EF ° TC 13 
MJ ° HL 14 
MJ 40000 HL 11 



TP TC UC 



13 



12 
EF TC 

TP TC 26 Q 

RP 1001 ° HL 17 

QS UC i0 TC 

SP UC 6 ° 

AT TC 2 UC 

^2 
TP TC Q 

4 12 

QT UC^ UC 



LQ A 



25 



21 5 
ST TC UC 

22 12 > 
TP TC UC A 

4 12 
TV UC UC 



LA UC 



12 14 



TP A UC 

AT TC 3 UC 1 
17 TC 5 

170 UC 

75 10170 HL' 



36 



Transfer Routine from drum to core 

Number of input Uniservo to UC6 in shifted position. 

Storing q in UC4 

Is MJ2 set? If so, jump to bypass buffer 2 

Jump to bypass buffer 1 

Is Buffer 2 active? 

Set up TCU2 selection 

Bypass buffer 2 

Is buffer 1 active? 
Set up TCUl selection 
Bypass buffer 1 

Put TCU selection in tape handling parameter 

"Read forward 1 block from input servo" set up in UC 

u of Initial transferred to A 

v 

Index of number blocks formed in UC5 



v of Initial Q transferred to UC4 in shifted 
position. This is output servo number 



'Write 1 block to output servo" set up in UCl 

Set normal bias 

Read forward 1 block to core 



35 76 10000 TS J 



173 



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 
74 
75 
76 



76 A 

ZJ HL 40 HL 41 



RJ BL BL 



TU TC 21 HL 45 

21 47 
TU TC l HI7' 

20 3 
TP TC UC 

TP TC 16 UC 2 

LQ TS 6 

14 
TP TC Q 

QT TS A 

20005 rlr 62 



RP 

EJ NU HL 
17 



HL V 
52 



SN 
SA HL 



50 
61 



TU A HL 

45 25 
LQ HL 40 

TV Q HL 61 

RA HL 61 TC 15 



TP TC 14 Q 



QS 



30000 30000 



2 45 
IJ UC HL^° 

45 17 
RA HL ° TC 

47 17 
RA HL q/ TC 1 

3 44 
IJ UC HL * 



17 ° UC 1 

75 10170 HL 71 



77 10000 



TS 
33 



IJ UC° HL 

RA UC 6 TC 4 
17 uc 6 

4 4 
RA UC TC 

17 ° UC 4 

MS ° HL 



Is there a parity error? 

Recover from parity error by attempted rereads 
at different bias 

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? 



r — >u of substituting command 



Location in block to v of substituting command 

r + BE to u of Substituting command to get proper 
character of 2nd table 

Character substitution (2nd table char, for 1st 
table char. ) 

Index jump on no. characters in word 

Set-ups to examine next word 

Index jump on number possible non-space words in 
block 

Write 1 translated block on Output Uniservo 



Index on number of blocks 
Rewinds input Uniservo 

Rewinds output Uniservo 

Stop with core starting address in PAK 



174 



BL 



Parity 
Reread 
Routine 




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 



MJ 



30000 



TV TC 25 BL 6 

TP TC 24 UC 10 

TP TC 10 A 

AT UC 6 UC 7 

17 ° UC 7 

76 10000 ^167' 

RS BL 6 TC 23 

IJ UC 10 BL 6 
76 0, 

ZJ BL 13 BL 52 
17 TC 6 

170 UC 

75 10170 nI 17 

76 10000 

76 . 



BL 
TS 



ZJ BL 21 BL 57 

25 24 
TV TC ° BL q 

TP TC 24 UC 10 
17 uc 7 

76 10000 ^167" 

RS BL 24 TC 23 

IJ UC 10 BL 24 

760 A 

ZJ BL 31 BL 52 
17 TC 7 

l70 UC 

75 10170 „ r 35 

76 10000 

76 . 



BL 
TS 



ZJ BL 37 BL 57 

TV TC 25 BL 42 

TP TC 24 UC 10 

17 ° UC 7 

76 10000 TS 167 

42 2? 
RS BL^ TC 

IJ UClO BL 42 - 



Set-up to read from last address of buffer 
Index of number of words in buffer to UC10 

Read backward 1 block input Uniservo 



Providing 170 external reads into descending 
addresses 

Is there a parity error? 



Set low bias 

Read forward 1 block input Uniservo 

Is there a parity error? 

Set-up to read into last address of buffer 
Index of number of words in buffer to UC10 
Read backward 1 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? 
Set-ups for reading backward 

Read backward 1 block input Uniservo 



175 



76 



45 


A 


46 


ZJ BL 47 BL 52 


47 


75 10003 BL 51 


50 


PR ° TC 27 


51 


MS ° HL 32 


52 


17 TC 5 


53 


TP TC 11 A 


54 


AT UC 6 UC 11 


55 


17 uc ll 


56 


MJ ° BL 


57 


17 TC 5 


60 


MJ ° BL 


TC 


1 


1 


2 


onstants 2 


602 


3 


646 


4 


200 


5 


1 50000 


6 


1 60000 


7 


1 70000 


10 


612 


11 


4 1 


12 


10000 04000 


13 


20000 04000 


14 


77 


15 


°BE° 


16 


5 


17 


1 


20 


161 


21 


°TS° 


22 





23 


1 


24 


167 



Is there a parity error? 



Print out "car riaye return 1 * PY 



Stop with PAK at complete restart of at- 
tempt to read block 

Set normal bias 



Move forward Input servo 1 block 

Exit from parity read 

Set normal bias 

Exit from parity read 

TCU1 indicator 

TCU2 indicator 

Read forward 1 block & stop 

Write 1 block and stop 

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 

Zero 

Adder 

Index for number words in block 



176 



25 





Tg 167 


26 


77 


27 





45 


30 





15 


31 





25 


32 





77777 


NU 





16 & 


1 





35 # 


2 





62 


3 





55 * 


4 





75 0/ 

/o 


5 








6 








7 








NE 





63 + 


1 





76 = 


2 





42 | 


3 





17 ( 


4 





43 } 


5 








6 








7 






™235 



Address of last word in block 

Mask 

Carriage return 

P 

Y 

Mask 

First Table Card-to-Tape Produced 

Excess-Three Values 



Second Table Excess-Three Values 
Accepted by Unicode 



CA DH' 



Temporaries Used 

UC Read forward 1 block of tape 

1 Write 1 block on output tape 

2 Index for characters in a word 

3 Index for total words possible in block (162) 

4 Holds initial value of Q. Later holds output tape no. shifted 

5 Index for number of blocks 

6 Holds initial A v shifted of input tape number 

7 Read backward 1 block 

10 Index to read backward 

11 Move forward 1 block 

12 Temporary to get output servo no. shifted to right position 

13 Holds Tape Control Unit No. in "Operation" part of word. 

TS Buffer of I70 fl 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 ^ 
TP 
HLO LA 

1 TP A UC 



HL 



DH 2 HL 

. 14 



AT 
TP 
TP 
QT 
LQ 
ST 



10 TP 

11 TV 

12 LA 

13 TP 

14 AT 

15 17 
16 
17 
20 
21 
22 ZJ 



TC UC 

4 

UC 

25 
TC ° Q 

UC 4 uc 12 
A 25 
TC 11 UC 5 

TC 10 UC 12 ^ 

4 12 
UC UC 



UC 



12 14 



17 
75 
76 
76 



A UC^ 
TC 1 U( 

o TC i: 
°uc 

10170 
10000 

. 



HL 
TS 



21 



HL 23 HL 24 



23 RJ BL BL 

24 TU 

25 TU 

26 TP 



7 SO 
TC HL° U 

7 12 
TC HL 

TC 6 UC 3 



4 2 
TC UC 



27 TP 

30 LQ 

31 TP 

32 QT 

33 RP 

34 EJ NU HL 



TS 

2 

TC Q 

TS A 
20005 



HL 
35 



^ 



45 



Transfer routine to core from drum and 
jump to start in core 

Number of input Uni servo to temporary in 5th- 
digit position 

Parameter for tape read to temporary 

Store q in temporary 

Forming index for number blocks in temporary 



Output tape number in 5th position to temporary 



Forming parameter for tape write in temporary 
Set normal bias 
Read 1 block of tape 

Providing 170o external reads 

Is there a parity error? 

Jump to parity reread routine 

Set up examining loops to beginning of block 

Index for 162 R (maximum possible non-space) 
words in blocfc set up 

Index for 6 characters in line set up 



Is a character one of those in first table? 



178 



35 SN 

36 SA HL 



17 



>k 



33 
44 



37 TU A HL 

40 LQ HL 30 Q 25 

44 

41 TV Q HL 

44 3 

42 RA HL TC 

43 TP TC 2 Q 



44 QS 



30000 30000 



J 



9 30 
45 IJ UC HL ou 



30 =» 

46 RA HL ou TC 

32 5 

47 RA HL° TC 

3 91 
50 IJ UC HL^' 



51 170 UC 1 



52 



75 10170 HL 54 



53 77 1000 ° TS 

54 IJ UC 5 HL 16 

55 RA UC 6 TC 12 



56 



17 uc 6 



4 12 
57 RA UC TC 

60 170 UC 4 

61 MS ° HL 

000^1 























Oj 



Replace character by the corresponding 
one in second table 



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 
Provide I70 fi external writes 

Have number of blocks been exhausted? 
Rewind input Uniservo 



Rewind output Uniservo 

Stop with core starting address in PAK 



.Unused fill lines put in so this routine will occupy 
same regions as 1105 counterpart 



179 



Parity 
Reread 
Routine 



BL 

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 



MJ 



30000 



TV TC 20 BL 6 

TP TC 17 UC 10 

TP TC 16 A 

AT UC 6 UC 7 

17 ° UC 7 

76 10000 TS 167 

RS BL 6 TC 11 

IJ UC 10 BL 6 
76 A 

ZJ BL 13 BL 52 
17 TC 14 

170 UC 

75 10170 

76 10000 
76 , 



BL 
TS 



17 



21 57 
ZJ BIT 1 BL°' 

20 24 
TV TC BL 

TP TC 17 UC 10 
17 uc 7 

76 10000 TS 167 

24 11 
RS BL TC 

IJ UC 10 BL 24 
76 A 

ZJ BL 0i BL d ^ 
17 TC 15 

17 



UC 

75 10170 

76 10000 



BL 
TS 



35 



76 



A 



Z J BL37 BL 57 

20 42 

TV TC BL 

TP TC 17 UC 10 
17 uc 7 

76 10000 TS 167 

42 1 1 
RS BL TC 

i j ucio BL42 J 



Set-up to read from last address of buffer 
Index of number of words in buffer to temporary 

Read backward 1 block of input Uniservo 



Providing I70 fi external reads into descending 
core addresses 



Is there a parity error? 

Set low bias 

Read forward 1 block input tape 

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 



180 



75 



45 




A 


46 


47 ^2 
ZJ BL*' BL° 


47 


It 


» 10003 BL 51 


50 


PF 


t°TC 22 


51 


MS 


, ° HL 15 


52 


11 


' TC 13 


53 


TF 


21 
TCT A 


54 


AT 


1 uc 6 uc 11 


55 


17 uc ll 


56 


MJ ° BL 


57 


11 


' ° TC 13 


60 


MJ ° BL 


TC 


2 


602 


Constants 1 


2 


656 


2 





77 


3 





BE ° 


4 





5 


5 





1 


6 





161 


7 





TS ° 


10 








11 





1 


12 


2 


200 


13 


2 


1 50000 


14 


2 


1 60000 


15 


2 


1 70000 


16 


2 


612 


17 





167 


20 





Tg l67 


21 


2 


4 1 


22 





45 


23 





15 


24 


25 


25 





77777 



Is there a parity error? 



Print-out: PY 

Stop with PAK at place where read can start all 
over 

Set normal bias 



Move forward 1 block 

Exit from reread routine 

Set normal bias 

Exit 

Parameter for reading 1 block forward 

Parameter for writing 1 block 

Mask 

Address of word before 2nd table 

Index set-up for 6 characters of line 



Index set-up for maximum possible (162q) 
words in block 

Beginning address of buffer 



Rewind parameter 
Normal bias parameter 
Low bias parameter 
High bias parameter 
Read backward 1 block 

Address of last word in buffer 

Move forward 1 block parameter 

Carriage return 
P 

Y 
Mask 



181 















> 












NU 


16 & 


1 


35 # 


2 


62 : 


3 


55 $ 


4 


75 % 


5 





6 





7 





NE 


63 + 


1 


76 = 


2 


42 1 


3 


17 ( 


4 


43 ) 


5 





6 





7 






Dummy fill lines put in to maintain 
correspondence with 1105 routine 



First table - Card-to-Tape 
Produced Excess-Three Values 



Second Table-Excess-Three 
Codes Accepted by Unicode 



CA DH 



235 



Temporaries Used 

UC Read forward 1 block of tape from input Uniservo 

1 Write 1 block on output tape 

2 Index for characters in a word 

3 Index for total words possible in block (162 R ) 

4 Holds initial value of Q. Later holds output tape No. shifted 

5 Index for number of blocks 

6 Holds initial A v shifted of input tape number 

7 Read backward 1 block 

10 Index to read backward 

11 Move forward 1 block 

12 Temporary to get output servo No. shifted to right position 

13 Not used on 1103A version 

TS Buffer of 170q 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) 

6 6 - - - Function (Floating) 

6 5 - - - 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 - - - X Library routine - X denotes the number of operands 

4 XX Pseudo operation - X X denotes the number of operands 

2 1--- Statement of Main Program 

2 6 - - - VARY statement of Main Program 

2 5 - - - Equation defining 66---, 65---, or 64 - type 

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 



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, ex- 
clusive 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. This word will be divided into four groups of three octal digits 
each. 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 Number of Working Number of Relative Number of Fixed 
Temporaries Temporaries Constants Constants 



3 octal digits 



3 octal digits 



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 Generated Routine 
Address Op *V 



1000 
1001 
1002 
1003 
1004 
1005 
1006 
1007 
1010 
1011 
1012 
1013 
1014 
1015 



— 





"^ 


00 


_ _ 

liooilo 

1 1 
J L 


02I003 

_J 


45 


00000 


30000 


15 


10000 


01002 


66 


30000 


20000 


11 


31000 


60000 


67 


20002 


60000 


11 


31000 


70000 


65 


60000 


70000 


11 


31000 


70000 


66 


60000 


20000 


64 


31000 


70000 


16 


10001 


01014 


21 


01014 


20001 


11 


31000 


30000 


45 


00000 


01000 

U 



Prelude 



Body of routine 



187 



10000 
10001 
20000 
20001 
20002 
60000 
70000 



00 
00 
20 
00 
20 



77000 
00000 
04000 
00000 
54000 



00000 
77005 
00000 
00001 
00000 



Relative constants 

Fixed constants 

Fixed temporary 
Working temporary 



188 



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 

764— 
630— 
630— 
630— 
630— 
630— 
630— 
630— 
630— 



Op 


u 


V 


00 


77 


77 


1 1 1 1 
1 1 1 1 









Call word of input variable in u and v 
Numerical value of first multiplier 
" " " second " 

« third 
*' " " modulus 
" " n first subscript 
" ** " second " 
" third 
" fourth 



*Note: Length of file varies with number of subscripts. 



189 



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 

61 — 
61 — 



Op 



00 
00 


66 

25 


66 

25 



Call word of input function inVand'V 

Call word of equation defining input 
function in "u" ?n^ "?" 



The input file for a dummy floating or fixed-point single-valued variable 
contains only the value of the input quantity. 

DUMMY SINGLE^VALUED VARIABLE INPUT FILE 



Dummy 
Call word 

63 



Op 


U 


V 


— 









Numerical value of input quantity 



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) 

SUB-PROGRAM HEADING INT(W(I,J), G, K, T) 

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 

W 



K 
T 



Dummy 
Call word* 

76200 
63001 
63002 
63003 
63004 
61005 
61006 

63007 
63010 



Op 


u 


V 


00 


77003 


77003 


00 


00000 


00004 


00 


00000 


00010 


00 


00000 


00001 


00 


00000 


00003 


00 


66001 


66001 


00 


25005 


25005 


00 


00000 


00002 


20 


04000 


00000 



Value of multiplier for 'X" 

Value of modulus for "X" 

Value of first subscript for "X" 

Value of second subscript for "X' 

Call word of "F" in "u" and r V 

Call word of equation for "F" 
in "u" & "v M 

Value of "L M 

Floating-point constant M 0.5" 



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 dibits of the dumm 17 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 

750— 

620— 
620— 



Op 



00 


77 


77 



Call word of subscripted argument in "u" and 

"v" 

Numerical value of modulus 
Numerical value of subscript 



The argument file for a dummy non-subscripted argument will contain 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 



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 S(10), Y(4) . 

FUNCTION EQUATION F(X(I), Z, W, Y(J)) = . 

FUNCTION REFERENCE COMPUTE F(S(3), 0.5, T, Y(J)) . 

where: (1) T is a floating-point variable with value, 16.0. 

(2) J is a fixed-point variable with value, 2. 

(3) S is a subscripted argument with call word, 77004. 

(4) Y is a subscripted argument with call word, 77001. 

(5) "3" is a fixed-point constant. 

(6) "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 



Value of modulus for 1, S M . 

Value of subscript for "S". 

Floating-point constant "0.5". 

Value of T, i.e., floating-pt 
const. 16.0. 

Call word of "Y" in "u" and 'V*. 

Value of modulus for "Y". 

Value of Subscript "J". 



Dummy 
Variable 


Dummy 
Call word 


X 


75000 




62001 


I 


62002 


Z 


62003 


w 


62004 


Y 


75005 




62006 


J 


62007 



00 


77004 


77004 


00 


00000 


00012 


00 


00000 


00003 


20 


04000 


00000 


20 


54000 


00000 


00 


77001 


77001 


00 


00000 


00004 


00 


00000 


00002 



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 
three entries. 



193 



B. Fixed Locations During Compilation 



FIXED 
ADDRESS 



00006 



00007 






00013 



00015 



TRANSLATION 



00 20000 



00 2 n s 

n = * words Dimension List 
s r: * arrays 



00 n 

n - * single-valued 

variables 



00 2 n n 

n = * words Constant Pool 



00 2 n n 
n = * words Reference List 



00 n 
n = * blocks Corrected 
Problem 



X 2 n n 
n = * words in LIST I 
x 00 if n = 
x =20 if all Library Call words 

> 50177 (Standard) 
x = 40 if all Library Call words 

<50200 (Fixed) 
x = 60 if both types occur 



00 2 n 



00 OOOOx 
x = if no LIST or 
x = 1 if LIST only 
x = 2 if READ only 
x = 3 if both 



w 



* blocks Constant Pool 
+ Label + End 

* blocks DIM LIST 
+ Label + End 

» blocks Symbol LIST 
+ Label + End 
READ, LIST indicator 

* blocks thru Constant Pool 



SEGMENTATION 



x = 1st address for single valued 

variables 
n = s single-valued variables 
If n = 0, x = 

00 2 n x 

x = 1st address of constants 
n = 8 constants 

If n = 0, x = 10000 (20000, 

30000) 



00 OOOOx a 

a = Loading address 
for segments 



ALLOCATION 



INITIALIZATION 

GENERATION 



PROCESSING 



LISTING 



00 2m s 00 2n 

m = » words modified Dim. List 
n = # words Dimension List 
s = * arrays 



00 2m s 



00 2m 



2n s 2m 

Description as above 



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 - Five Uniservo Layout 



UNISERVO 2 



UNICODE MASTER 



vO 



UNISERVO 3 



STRINGOUT 



OP FILE II 



TAPE HANDLER 
CONTROL 
INITIALIZATION 
CONSTANT POOL 



OBJECT PROGRAM 



UNISERVO 4 
CORRECTIONS (if any) 



GENERATED ROUTINES 



PROGRAM LISTING 



UNISERVO 5 



CORRECTED PROGRAM 



CORRECTED PROGRAM 
OP FILE I 
LIST I 

DIMENSION LIST 
CONSTANT POOL 
SYMBOL LIST 



ALL OF PRECEDING 
OP FILE II l) 
PREFACE \ by 
TERMINATION) se 9 ment 



PHASE 



TRANSLATION 



SEGMENTATION 



INITIALIZATION 
GENERATION 



PROCESSOR 



UNICODE MASTER 



V 

LIBRARY 



OBJECT PROGRAM 



PROGRAM LISTING 



CORRECTED PROGRAM 



END OF 
COMPILATION 



UNICODE COMPILATION - Seven Uniservo Layout 



UNISERVO 2 



UNISERVO 3 



UNICODE MASTER 



UNISERVO 4 
CORRECTIONS (If any) 



-4 



UNISERVO 5 
BLANK 



CORRECTED PROGRAM 



UNISERVO 6 
BLANK 



UNISERVO 7 



CORRECTED PROGRAM 
OP FILE I 
LIST I 

DIMENSION LIST 
CONSTANT POOL 
SYMBOL LIST 



GENERATED ROUTINES 



ALL OF PRECEDING 
OP FILE 
PREFACE 
TERMINATI 



'"I 

riON J 



By 
Segment 



TAPE HANDLER 
CONTROL 
INITIALIZATION 
CONSTANT POOL 



OBJECT PROGRAM 



PROGRAM LISTING 



TRANSLATION 



SEGMENTATION 



ALLOCATION 



INITIALIZATION 
GENERATION 



PROCESSOR 



UNICODE MASTER 



LIBRARY 



if 

PROGRAM 



CORRECTIONS (If any) 



CORRECTED PROGRAM 



OBJECT PROGRAM 



PROGRAM LISTING 



END OF 
COMPILATION 



d. Corrections to UNICODE Manual (U-1451 Rev. 3) 



Page 4: 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. Library Functions 

2. Exponentiation 



Add paragraph at bottom of page 10: 

Z = sin y ^ is interpreted as Z = (sin y) . A term 

such as sin^ y causes an error print-out. To get the 

sine of y^, one must write sin (y^). Similar usage 

applies to other library functions. 



Page 23: Change second and third line from the bottom of page to read: 

DOT (Ad), 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 IOOOOq 
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 ex- 
plained 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. 



L99 



III. TRANSLATION AND CORRECTION 

1. UNICODE SENTINEL BLOCKS 



III. Translation and Correction 

1. 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) 

2. Generated Routines (#4 or #7) 

3. "UNICODE Program" (#5) 

then move #5 forward to Op. 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 




Start 



Service Rout\ 
read 2nd blk. 




Read in merge & 
Jump to it 




O 



77004 
star 



o 




Start 




Read in TH t UP, FC t 
BR and move #1 fwd. 

to Seg» setup blk. 



Check sentinels: 

LIB tape 
GEN tape 
"Unicode program" 
Position #5 




Unicode System Tape Sentinel Blocks 
(1105 & 1103A Regions and Coding) 



Region Address Name 

ZZ 7230 Sentinel and Reads 

CC 7267 



I 



Constants 



CE 7344 

ZU 7407 Check Library Sentinel 

ZW 7437 Move No. 5 forward 

ZX 7444 Check for "Unicode Program" 

ZY 7474 Check Generated Tape Sentinel 

ZC 7534 Read N blocks 

TI 7610 Tape Image 

BB 7116 Read Subroutine 

TH 21 Tape Handler 

TN 20 Indicates 5 or 7 servos 



UP 421 

UW 513 



} 



Print text 



FC 40001 Flex Codes 

ZA 77000 Service Routine 

XA 35 Beginning of Merge 

XB 3134 End of Merge 

BR 537 Start of Generation subs 



205 



Unicode System Tape Sentinel Blocks 
(1103A) 





IA 


ZZ 







MJ 





ZZ6 


1 


»/r t 


r\ 


T7 1 O 


X 


mu 


\J 


L>LiLO 


2 


67 


50342 


65127 


3 


30 


77657 


36566 


4 


30 


47776 


62452 


5 


30 


77777 


77777 


6 


TP 


CC1 


BB2 \ 
BB1 J 


7 


RJ 


BB 


10 


TP 


CC2 


ZC2 \ 
ZC1 J 


11 


RJ 


ZC 


12 


MJ 





XA 


1 Q 


TD 


rr i 


ddO "N 


J.O 


XL 


ys\j x 


BB1 J 


14 


RJ 


BB 


15 


EF 





CC3 


16 


TP 


CE42 


BB2 1 
BB1 / 


17 


RJ 


BB 


20 


RP 


30100 


ZZ22\ 
FC / 


21 


TP 


TI 


22 


TP 


CC4 


ZG2 \ 
ZC1 / 


23 


RJ 


ZC 


24 


TP 


CE31 


TH3 \ 
TH J 


25 


RJ 


TH2 


26 


TP 


CE30 


TH3 \ 
TH J 


27 


RJ 


TH2 


30 


TP 


CE27 


TH3 \ 
TH J 


31 


RJ 


TH2 


32 


MJ 





ZU 




CA 


ZZ33 





= 7230 


77000 Start 


77004 Start 


U N 


I C D 


E 77 


S Y S T 


E M 


77 T A P 


E 77 


77 77 77 77 


Read 


in 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 



206 



Unicode System Tape Sentinel Blocks 
(1105) 





IA 


ZZ 







MJ 





ZZ6 


1 


MJ 





ZZ13 


2 


67 


50342 


65127 


3 


30 


77657 


36566 


4 


30 


47776 


62452 


5 


30 


77777 


77777 


6 


TP 


CC1 


BB2 


7 


RJ 


BB 


BB1 


10 


TP 


CC2 


ZC2 


11 


RJ 


ZC 


ZC1 


12 


MJ 





XA 


13 


TP 


CC1 


BB2 


14 


RJ 


BB 


BB1 


15 


MJ 


20000 


ZZ20 


16 


EF 





ZZ36 


17 


MJ 





ZZ21 


20 


EF 





CC3 


21 


TP 


CE42 


BB2 


22 


RJ 


BB 


BB1 


23 


RP 


30100 


ZZ25 


24 


TP 


TI 


FC 


25 


TP 


CC4 


ZC2 


26 


RJ 


ZC 


ZC1 


27 


TP 


CE31 


TH3 


30 


RJ 


TH2 


TH 


31 


TP 


CE30 


TH3 


32 


RJ 


TH2 


TH 


33 


TP 


CE27 


TH3 


34 


RJ 


TH2 


TH 


35 


MJ 





ZU 


36 


1 


4 


10153 




CA 


ZZ37 





= 7230 






77000 Start 






77004 Start 






U N I C 





D 


E 77 S Y 


S 


T 


EM 77 T 


A 


P 



E 77 77 77 77 77 
Read in subs 

Read in merge 

— > Merge 

Read in subs 

TCU2-»ZZ20 TCU1 i 
Move fwd to FC 
Skip 20 
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 

Move fwd to FC TCUl 



207 



Check LIB Tape 
(1103A & 1105) 





IA 


zu 







TP 


CC5 


TH3 


1 


RJ 


TH2 


TH 


2 


TP 


TI24 


A 


3 


EJ 


CC6 


ZU5 


4 


MJ 





ZU7 


5 


TP 


TI25 


A 


6 


EJ 


CC7 


ZU16 


7 


TP 


CC10 


TH3 


10 


RJ 


TH2 


TH 


11 


TP 


CC35 


UP3 


12 


RJ 


UP2 


UP 


13 


TP 


CC 


A 


14 


MS 





ZU15 


15 


ZJ 


ZY 


ZU 


16 


TP 


CC5 


TH3 


17 


RJ 


TH2 


TH 


20 


TP 


TI2 


A 


21 


DV 


CC12 


Q 


22 


ZJ 


ZU23 


ZU24 


23 


RA 





CC13 


24 


SP 





25 


25 


AT 


ecu 


TH3 


26 


RJ 


TH2 


TH 


27 


MJ 





ZY 




CA 


ZU30 





Read LIB sent. 

Check LIB sent. 
Word 21= AALIBA 
Word 22= ATAPE A 
Error i O.K. — > ZU16 

Rewind #2 

"LIB on 2" 
A = 

Not required — > GEN check 
Read 2nd blk. of LIB tape 



No. blks. in catalog - 

Move past LIB catalog 
— > GEN sent, check 



208 



Check Generation Tape Sentinel 
(1103A & 1105) 





IA 


ZY 







TP 


CC15 


TN 


1 


MJ 


10000 


ZY3 


2 


TP 


CC 


TN 


3 


TP 


TN 


A 


4 


AT 


CC16 


TH3 


5 


RJ 


TH2 


TH 


6 


TP 


CC20 


A 


7 


AT 


TN 


TH3 


10 


RJ 


TH2 


TH 


11 


TP 


CC17 


A 


12 


EJ 


TI24 


ZY21 


13 


TP 


CC22 


CC33 


14 


MJ 


10000 


ZY16 


15 


TP 


CC21 


CC33 


16 


TP 


CC23 


DP3 


17 


RJ 


UP2 


UP 


20 


MS 





ZY 


21 


TP 


TI25 


CE 


22 


TP 


CE25 


TH3 


23 


RJ 


TH2 


TH 


24 


RJ 


ZX 


ZX1 


25 


RP 


30003 


ZY27 


26 


CC 


CE3 


CE6 


27 


SP 


CE3 





30 


SA 


CE4 





31 


SA 


CE5 





32 


ZJ 


ZY33 


ZW 


33 


TP 


CE24 


TH3 


34 


RJ 


TH2 


TH 


35 


TP 


CE32 


UP3 


36 


RJ 


UP2 


UP 


37 


MS 





ZY22 




CA 


ZY40 





TN = 3 

Five servos I 7 — > ZY3 

TN = 

Read GEN sent. 
Rewind gen. tape 

Sent. O.K. — >ZY2l No I 

Set for 7 servo print 
Five servos v 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 Sentinel 

No I O.K. — >ZW 
Rewind #5 

"Mount Unicode Program #5 etc." 



209 



Check "Unicode Program' 
(1103A & 1105) 





IA 


7Y 











MJ 





(30000) 


\ 


Exit 


1 


TU 


CE11 


ZX7 


\ 




2 


TV 


CE11 


ZX20 


\ 


Setup 


3 


TP 


CC 


CE1 


J 




4 
5 


RP 
TP 


30004 
CE17 


ZX6 
CE13 


} 


Set indexes 


6 


TP 


CE20 


CE14 




One word index 


7 
10 


LQ 
QT 


(30000) 
CE23 


6 
CE2 


} 


Char. — »CE2 


11 


EJ 


C-C13 


2X24 




A— > No v L 


12 


IJ 


CE15 


ZX14 


} 


14 non A's — > 


13 


MJ 





ZX24 


No-> 


14 


SP 


CE1 


6 


1 




15 


AT 


CE2 


CE1 




Collect char, in CE1 


16 


TP 


CE1 


CE5 


J 


| 


17 


IJ 


CE16 


ZX24 




CE1 full * No — > 


20 


TP 


CE1 


(30000) 




Store CE1 


21 


RA 


ZX20 


CC13 




Modify 


22 


TP 


CC 


CE1 




Clear temp 


23 


TP 


CE22 


CE16 




Reset index 


24 


IJ 


CE14 


ZX7 




One word index 


25 


RA 


ZX7 


CE12 




Modify 


26 


IJ 


CE13 


ZX6 




20 word index 


27 


MJ 
CA 



ZX30 


zx 




Exit 








Position 


*5 








(1103A & 1105) 




IA 


zw 











RS 


CE 


CC13 




* blocks on 5 


1 


SP 


A 


25 






2 


AT 


CE26 


TH3 




Move #5 fwd to op file I 


3 


RJ 


TH2 


TH 






4 


MJ 
CA 



ZW5 


ZA10 




— > seg, setup 



210 



Constants and Variables 
(1103A & 1105) 





IA 


CC 
















1 





170 


ZZ170 


2 





XA 


XB 


3 


2 


4 


10153 


4 





TH 


UW23 


5 


50 


102 


TI 


6 


01 


01463 


42501 


7 


01 


66245 


23001 


10 


10 


2 





11 


30 


2 





12 








170 


13 








1 


14 








07777 


15 





3 





16 


50 


104 


TI 


17 


01 


01323 


05001 


20 


10 


4 





21 


07 


22010 


16566 


22 


12 


22010 


16566 


23 





CC24 


11 


24 


47 


51675 


06601 


25 


67 


50342 


65127 


26 


30 


01323 


05030 


27 


54 


24663 


02701 


30 


54 


51676 


63450 


31 


30 


65015 


15001 


32 


65 


30547 


05101 


33 











34 


24 


54662 


27777 


35 





CC36 


17 


36 


47 


51675 


06601 


37 


67 


50342 


65127 


40 


30 


01463 


42554 


41 


24 


54730 


15150 


42 


01 


65305 


47051 


43 


01 


05220 


10134 


44 


31 


01505 


10146 


45 


34 


25542 


45473 


46 


01 


54305 


36734 


47 


54 


30270 


16530 


50 


66 


01240 


15051 


51 


66 


01760 


17430 


52 


54 


51220 


10101 


53 


01 


01016 


56624 


54 


54 


66227 


77777 




CA 


CC55 





Zero 

Read in subs 

Read in merge 

Move fwd to FC TCU2 & 1103A 

Read in GTH, UP, etc. 

Read LIB sent. & 2nd blk. 

A A L I B A 

A T A P E A 
Rewind «2 
Move past LIB catalog 



Mask 










Set TN 








Read 


GEN 


sent. 


(4 or 7) 


AAGEN A 






Rewind GEN 


(4 


or 7) 


4 (pr 


int 


wi 


th 


5 servos) 


7 (pr 


int 


wi 


th 


7 servos) 


Par. 


for 


print 


GEN sent, error 


M 


U 


N 


T 


A 


U N 


I 


C 





D 


E A 


G 


E 


N 


E 


R A 


T 


E 


D 


A 


R 


U 


T 


I 


N 


E S 


A 





N 


A 


S E 


R 


V 





A 


4 . 


A 


A 


S 


T filled in 


A R 


T 


• 


77 


77 


M 


U 


N 


T 


A 


U N 


I 


C 





D 


E A 


L 


I 


B 


R 


A R 


Y 


A 





N 


A S 


E 


R 


V 





A 2 


m 


A 


A 


I 


F A 


N 





A 


L 


I B 


R 


A 


R 


Y 


A R 


E 





U 


I 


R E 


D 


A 


s 


E 


T A 


A 


A 


N 





T A 


= 


A 


Z 


E 


R 


m 


A 


A 


A 


A A 


A 


S 


T 


A 


R T 


m 


77 


' 77 


77 



211 



Constants & Variables (Cont.) 





I A 


CE 













(0) 


1 











2 











3 








3 


4 








4 


5 








5 


6 


67 


50342 


65127 


7 


30 


52545 


13254 


10 








02447 


11 





TI 


CE3 


12 





1 





13 











14 











15 











16 











17 








23 


20 








5 


21 








16 


22 








5 


23 








77 


24 


10 


5 





25 


50 


105 


TI 


26 


30 


5 





27 


30 


501 





30 


50 


101 


BR 


31 


30 


11001 





32 





CE33 


7 


33 


47 


51675 


06601 


34 


67 


50342 


65127 


35 


30 


01525 


45132 


36 


54 


24470 


15150 


37 


01 


65305 


47051 


40 


01 


10220 


10165 


41 


66 


24546 


62277 


42 





170 


TI 




CA 


CE43 





# 


blk. 


. servo 


Bui: 


Ld 


word 


Char. 








U N 


I 


C 





D 


E 


P 


R 





G 


R 














A 


M 


U 


N 


I 


C 





D 


E 


P 


R 





G 


R 














A 


M 



build 



Indexes 



Set indexes 



Mask 

Rewind #5 

Read 1 blk. *5 

Move #5 fwd n blks. to Op File 

Move #1 fwd to segmentor 

Read in BR 

Move #1 fwd to BR routine 



M 


U 


N 


T 


A 


U N 


I 


C 





D 


E A 


P 


R 





G 


R A 


M 


A 





N 


A S 


E 


R 


V 





A 5 


# 


A 


A 


S 


T A 


R 


T 


, 


77 


Read 


in 


FC 







212 



Read n Blocks to Storage 
(1103A & 1105) 





IA 


zc 







MJ 





(30000) 


1 


MJ 





ZC3 


2 





(30000) 


(30000) 


3 


TP 


ZC2 





4 


QT 


ZC34 


ZC35 


5 


LQ 





17 


6 


QT 


ZC34 


A 


7 


ST 


ZC35 


A 


10 


AT 


ZC37 


A 


11 


LQ 


Q 


6 


12 


TV 


Q 


BB2 


13 


DV 


ZC40 


ZC33 


14 


TP 


A 


ZC32 


15 


TP 


Q 


A 


16 


ZJ 


ZC17 


ZC26 


17 


RS 


ZC33 


ZC36 


20 


TU 


ZC40 


BB2 


21 


RJ 


BB 


BB1 


22 


RA 


BB2 


ZC31 


23 


IJ 


ZC33 


ZC21 


24 


TP 


ZC32 


A 


25 


ZJ 


ZC26 


ZC 


26 


TU 


ZC32 


BB2 


27 


RJ 


BB 


BB1 


30 


MJ 





ZC 


31 








170 


32 











33 











34 





77777 





35 





(30000) 





36 








1 


37 





1 





40 





170 







CA 


ZC41 





Exit 

1st address last address 

Par. -> 

Store 1st address in u 

Last address — > Q u 

Last address — > A„ 



Last - 1st + l — > 

1st add. — > Qv 
Set up 1st address 
n/1708 — > index 
Store remainder 



u 



Quotient = 

Index - 1 
No. of words 
Read blk 
Address + 170 
n blks 



►ZC26 
170 8 



no y 



8 



Remainder = — > exit no | 



Remainder — > par, 

Read remainder 

Exit 

Constant 

Remainder 

Index 

Mask 

1st address 

Constant 



213 



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. MJ3 is 
used to determine which of the two options is taken. If it is set, a corrected 
tape is produced; if not, the tape is copied. 

C orrected Tape 

Correction tape is read in l6 fl 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 
number 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 l6 fl blocks have 
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 I6 fl blocks have been read in, the corrections are transferred to the 
drum, the line numbers of delete items are processed, and any Line-Number Proc- 
essor errors are printed out. 

If more corrections remain 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 
of 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 buffer. The line-number position 
of all sentences to be deleted is filled with zero. 

Next the routine starts to write the corrected program onto tape 5. All 
insertions and changes are made as the tape is written. 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. The routine then goes back to read more 
items from program tape. 

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 24 ft blocks at a time and written on tape 5 
until all of tape has been copied. Then tapes are rewound and routine exits 
to ZAIO. 

Print-Outs 

If merge is selected, routine prints: 

MERGE 
CORRECTION TAPE 

Following the correction tape print-out, 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 ZA10. 

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 ' » 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. TO REREAD START. TO IGNORE SET 
A NOT = AND START. 

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 




TCU1 or TCU2 

MJ2 on — TCU2 
MJ2 off— TCU1 





TCU1 



Set tape 
codes for 
TCU1 



Set bypass 
mode 



lerge or copy tape 

MJ3 on > Merge 

MJ3 off — => copy tape 



10 
ro 

o 




Merge 



copy 
tape 



© 



Print: 
MERGE 



0- 



Print 

CORRECTION 
TAPE 



G>* 



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 




Check 
parity 



NG 



Rewind tape 
and stop 



© 



Wrong 



Label 



Parity good ^/ ^N 



Check 
label 




<b 



Label 
OK 



Merge Routine (Cont.) 



0- 



Start read on Servo 4 
Set initial table 
address (3073). Set 
initial buffer 
address (4225). 



Set counter for 15 
blocks. Set initial 
drum address (40000). 
Set blockette 
counter to 5. 



Read block 
to buffer 



Parity 
good 




to 
to 



(£> 



No 




Test: does end of 
of tape line appear 
in this block ? 



Yes 




Stop 
tape 



® 



Merge Routine (Cont.) 



CO 

ro 
to 



G> 



Process 
blockette 



Read 1st word of block- 
ette to current buffer 
storage address and to 
A 



_/f End of tape?V^ 
— ^all Z's ) J > 



No 



Set end of tape 
switch to — > ^ 





G> 



Yes 



f Test blockette counter 
.finished with block? 



No 



& 



Read rest of block- 
ette to current 
buffer storage 



Set next buffer 
storage address 



Merge Routine (Cont.) 




Check \ 
Parity /q£ 



End of 
tape switch 



NG 




Process 

blockette 
switch 




Is buffer 
full? 







Set initial buffer 
address into 'process 
blockette" routine 



ro 

ro 



Set blockette 
index to 5 



V 





No 



Yes 



Stop Tape 



Transfer contents 
of buffer to 
drum 



/Process 'delete 
(command* item numbers 



Set process 
blockette 
switch to (V) 



Gh* 



Start 
Read 



Reset buffer address to 
initial address. Set block- 
ette and block counters. 
Set for next drum transfer. 
Set for next group of delete 
items 



-*© 



Merge Routine (Cont.) 



to 
ro 



(tVJ stop 

Tape 



-©- 



Set for next 



/7T\^ Set * or ne 
— -'^ line no. 



line no. 
to A 




Is it A Yes /T\ 
all Z^s?)— H!> 



Process 
blockette 




Rewind 
tape 




ransfer \ 
corrections V 
%o drum / 



®* 



If first table item was 
a delete, adjust no. of 
in sequence items 
counter 



^ Process delete \ 
command item numbers / 



Merge Routine (Cont.) 



Set total no. of 

items. 

Set no. of in 

sequence items 



Set no. of in sequence 
items into instruction 
which moves data from 
buffer to table 

Set exit from sort to 



Set addresses 
into compares 

A, B, C, D, E, F, 
G, H 



10 
ro 

en 



®* 



No 



Is total no. of 
items > new no. of 
in seq. items 





Yes 



Form new no. of 
in seq. items 



Set initial switch settings 
A-h>13A F-»21A K-^24A 
B-^>14A G-»22A L->18A 
C-^>15A H-^16A M— =>15A 
D-^19A I-»17A 
E->20A J-^23A 



Merge Routine (Cont.) 



Set total number of 
items into no. compares 
index 



Fill out table with 
largest number 



Set exit from 
sort to @ 



-$l 



to 
o 



©* 



Set new number of in 
seq* items into no, 
compares index 



Set initial buffer 
address into instruction 
which moves data from 
buffer to table 



Merge Routine (Cont. ) 




Compare A 



Is item of in 
sequence string > 
out of sequence item 




Yes 



ro 
-4 



Store address of 
^\in sequence item 
in compare I 




Is A of in ^ 

sequence items 

exhausted? J 



Yes 



Store address of out of 
sequence item. 
Set address of largest 
no. in place of address 
of out of seq. item in 
(compare A) 



No 



Set address of 
largest no. in 
place of address 
in seq. item in 
(compare A) 




Compare B 



Compare two items. 
Put address of smaller 
item into compare I. 
Put address of larg- 
est no. in place of 
smaller item. 




Compare C 



<SH 



to 

to 

CD 



Compare two items. Put 
address of smaller 
item into compare J. 
Put address of largest 
no. in place of 
smaller item above 



Compare D 



©- 



Compare two items. Put 
address of smaller 
item into compare J. 
Put address of larg- 
est no. in place of 
smaller item address 
above 



Switch B 




16^ 



14A 




15A 




Switch D 



17 



19A 



Compare I 



Compare 2 items - put 
add of smaller item 
into compare M. 
Put add* of compare 
from which item came 
into temp 1 



Merge Routine (Cont.) 




Switch I > < 



Set switch 

B exit to (16 



Set switch C 
exit to 



: © -*© 



Compare J 




Compare 2 items . Put 
add. of smaller item 
into compare M. 
Put address of com- 
pare, from which item 
came, into temp 2 




Set Switch I 
exit to U8i 



compare M 



Compare 2 items - put 
add. of smaller into 
compare P. 

Put add. of compare 
from which it came 
(temp 1 or 2) into 
temp 5 



:L 



Switch M 



v 



25A 



Set Switch M 
to (26) 



Switch 



,23A 



Set switch J 
exit to (\q 



Set Switch D 
exit to 117] 



-© 



©- 



ro 



Compare E 

Compare two items.Put 
address of smaller 
item into compare K. 
Put address of larg- 
est no. in place of 
smaller item address 




Compare F 



Compare two items 
Put address of smaller 
item into compare K. 
Put address of larg- 
est no. in place of 
smaller item address 



Compare G 



Compare two items. 
Put address of smaller 
item into compare L. 
Put address of larg- 
est no. in place of 
smaller item address 



Compare H 



Compare two items. 
Put address of smaller 
item into compare L. 
Put address of larg- 
est no. in place of 
smaller item address 



Switch E 




23^ 



20A 




Switch F 



2 « 123 




Switch G 



22A 




Switch H 




24 



16A 



Compare K 



Compare two items. 
Put address of smaller 
into compare N. Put 
address of compare 
from which item came 
into temp 3 




Merge Routine (Cont.) 



N 24A 

Switch K) >i 



Set Switch E 
exit to (23) 



-»@ 



Set Switch F 
to (2? 



-© 



Set Switch G 
to (24) 



Compare L 



Compare two items. 
Put address of smaller 
into compare N. 
Put address of com- 
pare from which item 
came into temp 4 




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 




c . + . r \ 18A 
Switch L ) ^ 



Set Switch L 
to (S) 



Set Switch 
H to (24) 



■M16 



Merge Routine (Cont.) 



Compare P 



©— 



Compare two items. 
Put address of smaller 
into transfer command. 
Put address of compare 
from which it came 
into exit (temp 5 or 6) 



Transfer item from 
table to buffer. Set 
next buffer address 




to 

CO 

o 



est: finishec 
with this or o up of 
items (no. 
compares index) . 



No 



Exit to address 
set by compare 
P 



Yes 



Transfer sorted 
string back to 
table 



^ _ 



Last Pass\: 



Merge Routine (Cont.) 



co 





Set parity reread 
end of tape test 
exits to (59) and 








Set up *out of se- 
quence* counter and 




Reset label check 


) ., 




Set Read commands 


error print for 


} ■* 




for servo 3 




initial address 




PROGRAM TAPE 




















1 
Copy 1 








(28^ 


tape | 
exit 


merge 








v 




Print PROGRAM 








Set write fill 








counter & write fill 








temp 




v 




Find address of 1st 






® 


L^- 


non zero table item 
and set into commands 




















which reference table 



Merge Routine (Cont.) 



Set up printout 
for sentence 
OUT OF SEQUENCE 




28A 



Read one block 
from tape 3 



Check 
Parity 




/STOP \ 
set to 
re.-enter 



10 
w 
to 




Set initial buffer 
address into com- 
mands which ref- 
erence buffer 



Rewind 
tape 



Set end of tape 
test counter and 
buffer counter. 
Set total no, of 
blockettes into 
temp 1 and 3 



No 



NG 



-€) 



No 



Test: was > 
label correct^ 



merge 
exit 



copy 
tape 
exit 



/ 



Yes 



Write header 
block on tape 5 



/ 



Set address of 
-H 1st non zero 
table item into 
commands which 
reference table 



Read 
Block 



Test item nos/^\ 
Does end of tape \ 
line appear in this)* 
block? J 



Yes 



© 




ro 

co 



Set blockette 
counter 



Set next 
buffer -address 



Yes 



Is it all 
spaces? 




Merge Routine (Cont.) 



Item no. from 
buffer to A 



Set test A 
counter to 1 



Test A 



Read blockette to next 
buffer location 



No 




Is it end 
of tape? 



Set end of tape 
switch to (47) 



Yes 



Store address of end 
of tape line. Store 
blockette counter. Set 

to bypass end of tape 
test on rest of block- 
ettes D 



No 



Test blockette 
'counter Has whole 
block been read? 




ok /^End of tape 
V switch 




3 IB} 



Current item 
no. to A 



Test A 
K — (31A 




Set test A 
counter to 5 




31C 



Stop 
tape 



Yes / Test buffer counter^ 
[Is buffer full ? 



No 



No 






Merge Routine (Cont.) 




Line no. proc- 
essor output to 
buffer & A 




Was line no.A No 
output illegal?/ 



Was it all 
spaces? 



No 



Is it > > 

previous line 
number? V 



No 





Process 
line no. 



Yes 



Yes 



Yes 



Store in *out of se~ 
sequence* list . 
Set output line of line 
no. processor to all 
spaces. Set for 
next out of seq. item 



Store in pre- 
vious line num- 
ber position 



Set Line no. proc- 
essor output line 
to all spaces 



a 



s 



Set for next 
item 



Exit when used as subroutine 



Yes 



r Finished 
with all 



Store last legal 



id ^^ line no. in line 
L items/"* no* processor out- 
/ put line (LN3) 

No ' 




33A] 



Line no. of cur- 
rent table item 
to A 



Test 1 



Test 2 




Test : 
LN3 > 



@ 



®i 



1st time 




Is LN3 



No 



=A? 



/ 



/ 



/ 



1st time 



Yes 




/ 



<& 



/ 



/ 



©* 



Fill next correction 
buffer location with 
largest number 



Merge Routine (Cont.) 



ro 



equal tes t 

Is (A) = to 
line no. of last 
item transferred? 




Test next word 
of table item* 
Is it a delete? 



Yes 




Equal Switch a \ not e( * ual : 



© 



Yes 



equal 



Set line no, from table 
into correction buffer 
Use 2nd word of table 
item to set up transfer 
and transfer rest of item 
from drum to correction 
buffer 



Set test 1 exit to (< 
test 2 exit to (J 

Set transfer exit to 



(36)- 



Set for next 


correction 


buffer 


location. 


Set 


new address 


into 


equal test 





-3^6Bj — > 



Set for next 
table item 



<Are there more 
corrections? 

Yes 




Set to bypass 
read in of 
corrections 



— *(j33B) 



Merge Routine (Cont.) 



to 

CO 



Extract next item 
no from buffer ->A 



No 



/Finished with ^\ 
(all buffer items?K 



Yes 




Is 1st delete 
item no. > A? 



Yes 



Set for next 
buffer item 



No 



Is last delete 
item no. > A? 



No 



Yes J Fill buffer item 
* no. position with 
zero. 



Next buffer 
item no. to 
A 



No 



Set for next 
buffer item 



Finished witlr 
all buffer 
items? > 



Yes 



®-» 



Set table so delete 
command will be contin- 
ued on next group of 
items 



—*(33^ 



Merge Routine (Com.) 




Test next 
correction itemizes 
should it be 
deleted? 



No 



Set for next 
correction item 



Reset table 
references 



<Have corrections^ y e s /q AA \ 
"!" exhausted? U ~ M 



•^S) 



No 



to 



(40Y-* 



Set 


equal 


switch 


A to 


®> 




Set 


equal 


switch 


B to 


©> 





-*© 




Set equal switch 
A to not equal 
condition 



Merge Routine (Cont.) 



to 

CO 



(5H 



Reset 'fill counter* 
from *fill temp* 



Start Write 
Servo 5 



-^42A) — > 



Program item no, 
to A 



'Is it = 0? 

Is it to be 
V deleted? 




No 



Is correction 
item > A? 



No 



Is correction 
item = to A? 




Yes 



Yes 



W42B 



Set current cor« 
rection item ad- 
dress into TM . 
Set for next 
table item 



Set current pro- 
gram item address 
into TM. Set for 
next program item 




Finished with 
all program item? 



Yes 



Set for next 
program item 




Finished with 
all program 
items? 




Set up 
& write 




Yes 




Set up 
and write 



v© 



Is next program 
item no. all spaces?\ Y /rrj\ 
(i.e. continuation ' Xes J ^ a} 
of last sentence) 



No 



Last item store 



Put address of 
current correction 
item into TM 



normal 



*@ 



If no^ore^^ 
program Vji fa8j 
items — 



Merge Routine (Cont.) 



Set for next 
program item 



Test: is ir 
all spaces? 



Yes 



No 



Set for next 
program item 



"Finished X 
with all pro- ] Yes J45 
gram items? J 



No 







44 



Set up and 
write 




45^ 



Store "fill counter" in 
'fill temp* Store 
address of next write 
command to be filled 



Write 




Has all of last ^Yes 
block been written?/ 



No 



©- 



Transfer unwritten 
blockettesto Temp Buff 
& reset references to 
blockettes 



Stop 
Tape 



Merge Routine (Cont.) 



(47V->Stop Tape —^7^ 



Compute no. of 
blockettes in pro- 
gram buffer and 
set counter 




est: are any 
line nos. left 
to be processed?/ 




Test A 



Put largest number 
into LN3 and into 
line no. position 
of End of Tape line 



Set exit of last 
item store to (48 



to 

o 



®- 



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 




Are there any 
out of sequence 
items remainingj 




Put sentence no. 
into print codes 
print: SENTENCE- 
OUT OF' SEQUENCE 



Stop 





Print: PUT 1500 
FT TAPES ON S. 
3 AND 4 



5 servos 



7 servos 



r 5 or 7 servo 
layout MJ1 off or on 



Rewind tapes 
3 and 5 




Print: PROGRAM 
NOW ON TAPE 5 



0^ 




Test fill counter. 

Has full block been 

filled? 




Merge Routine (Cont.) 



-©- 



-0- 



r©- 



Set switch to B and 
and write blockette 1 



Set switch to C and 
write blockette 2 



Set switch to D and 
write blockette 3 



*®- 



Set switch to E and 
write blockette 4 



~*®~* 



Set switch to F and 
write blockette 5 



k!>- 



Write blockette 6 



Store address in TM in 
current write command 
Set next storage address 



Finished with 
block? 



No 



Yes 



Reset block counter 
Set switch to A 
Set storage address 

to blockette 1 




Process 
Blockette 



Merge Routine (Cont.) 



ro 
ro 




Test: Is line^ 
number all 
spaces? 



Yes /Is next 

word delete? 



No 



No 



Process 
line number 



Store line number 
in table 



Store drum address 
and no. of words 
in table 




Yes 



Exit 




Store address of 
first "out of se- 
quence" line num- 
ber. Set exit so 
subsequent ones 
will be ignored. 



Yes 



/Test: Is line 
■^[number out of 
V sequence? 




Find first word in 
blockette that is 

not all spaces 




Increase no. of 
words count for 
previous two 



Is it \No 
delete? ) 



Yes 



© 



No 



Set for next 
blockette 




Test: have 

300 items been 

processed? 



Yes 



© 



Is it a delete 
sentence which needs 
to be aligned? 



Yes 



J!l 



Align delete sentence 
and store in temp 




Merge Routine (Cont.) 



©- 



Set to ignore 
rest of 
corrections 



Set end of tape 
switch to ( B 



Exit 




©- ? 



Stop 
;ape 



Print: TOO MANY 
■M CORRECTIONS 300 
IS MAXIMUM 



<2) 






Put delete 
command into 
temp 



Fill output lines 
with spaces 



Test: Is more 
than one line speci- 
fied in delete command?] 



No 



Yes 



Check alignment of 
THRU to determine 
>) length of 1st line 
no. Mask out line no. 
and store in table 



Find length of line 
number; mask out and 
store in both 
table locations 



Shift 2nd line no. 
into position, mask 
out and store in 
table 



Set table address of 

item into 'delete 

list* so line nos, 

can be processed 
later 



-*© 



Merge Routine (Cont.) 



Process delete 
item numbers 




Print line no. 
processor errors for 
ordinary sentence 



CO 



Extract 
item from 
delete list 



No 



Get corresponding 
H line numbers 
from table 



/'Finished with 
■(all delete items? 



Yes 



/Print line no. 
processor errors 



Process line 
numbers 




Restore line 
nos» to table 




Merge Routine (Cont.) 



ro 




Find 1st word of 
blockette that is 
not all spaces 



Align label so that 
1st char, is in 
leftmost bit 
position 



Set A not zero to 

indicate 

label is good 




Test: Is ^ 
label correct?. 



No. 



Print 

WRONG TAPE SERVO 

SHOULD BE 



Set A to zero to 
indicate 
error 




Parity Rereads 



@H 



Set addresses 
into reread clear 
end of tape 
switch 



Merge Routine (Cont.) 




Reread 



^End of Tape?\j^/l s index = 0?\jJp_^ 



*® 



Start 
read 



Yes^(5B) 



Parity B 
Exit 



Normal 



~~ ^--^h 



to 



Set parity A 
(SlV-^ exit to (lA) 



Set label block 
addresses into 
reread 




Reread 




Clear end of 
tape indicator 



Parity A 
exit 






Set parity B 
exit to fSi^ 



(52\— > exit to (SijJ) — *(So) 



Restore parity B 
exit to u>A 



-© 



Set parity A 
(53)—* exit to (281^ 



-© 



-4 




Set reread switch 

to ^4 

Set blockette 

counter 



reread swucn 

@ -^54E) 



— *&4h- 



Start Read 
backward 



Set reread switch 
->| to (54C) 
Set low bias 



Set reread switch 
54CJ j[ t0 (^ 

Set high bias 



Set blockette 
counter 



Start read 
forward 




Read blockette into 
descending storage 
locations 



&> 



Y , -s line no. 
le ^— ( position all Z's?) 






Yes 



No 



^Finished 
with block? 




Set for next 
blockette 



Read blockette into 
*| ascending storage 
locations 



Is line no. "\ No 
[position all Z's?)— -^^ 4{j) 



Yes 



r&—-- 

(n)< ' 



Set for next 
blockette 



Print: PARITY 
REREADS FAIL. TO 
REREAD START. TO 
IGNORE ERROR SET 
A NOT AND START 




Was A set 
not zero? 



Yes. 



Print: PARITY 
ERROR IGNORED 



No 



Merge Routine (Cont.) 



Merge Routine (Cont») 



CD 




r 55 



56 



Check 

Parity 



OK 



NG 



*® 




Finished 
with block? 



Yes. 



No 



Set end of tape 
indicator 



Move forward 
55A — sJ i block 



Check \0K 
Parity ) 



NG 



-W54F 



Set reread switch 
TT^\ to (54^) 

set normal bias 



Exit 




Reset addresses 
for read backward 



®- 



Set end of tape 
indicator 



Merge Routine (Cont.) 



Set to ignore sub- 
sequent lines of Z's 



Store address of all Z 
word. Store blockette 
counter. Set end of 
tape switch to (47) 



Set exit from parity 
routine to (47A) 



ro 



Store address of all 
Z word . Adjust bkt, 
*| counter and store. 



Set end of tape switch 
to (47) 



Set parity routine 
exit to (47A} 



Reread 



Start 
read 



to 

o 



Merge Routine (Cont.) 



Copy 
Tape 



66 



Set end of tape 
exits for parity 
reread to (70 
and (n) 



-^5A)- 




No 



Finished 
with block? 




(End of tape 
switch for read 



Is buffer 
full? 



Yes 



Stop 
tape 



No 



Start read 
Servo 3 



Set buffer counter 
Set initial read 
addresses 



^^5B)- 



Start write 
Servo 5 



Set buffer 
index 



^6A) > 



Set end of tape 
switch for Read 

to m) 



,Yes 



Set initial 
write addresses 



Set blockette 
counter 




65C 



Read 
blockette 



Check line number 
position: Is it end 
of tape line? 



No 



Set for Next 
blockette 



-^^) — > 



Set blockette 
counter 



-® 



Write 
blockette 



Set for next 
blockette 



Merge Routine (Cont.) 




Finished 
with block? 




No 



© 



Is buffer 
empty? 



No 



Yes 



Stop 
Tape 



End of tape 
switch for write 



Not End 
of Tape 



(48B) 



Cn 



Stop 
tape 



*& 



Compute new 
^buffer index for 
write 



Start Write 
on Servo 5 



Set end of tape 
switch for write 
to ^8B) 



Set addresses 
into reread 



Set parity end 
of tape switch 
to ^8dj) 



Reread 




End of tape 
switch for 
parity 



Not End of 



Tape 



End of Tape 



Is buffer 
full? 



No 



Start 
read 



Set parity end 
of tape switch 

to &8A) 



TAPE MERGE REGIONS 



RE GQ761 
RE PZ3071 
RE ZA77000 
RE UC2507 
RE RQ35 
RE RR52 
RE RSllO 
RE LP140 
RE CN147 
RE CX232 
RE XY273 
RE JL375 
RE XX433 
RE VF525 
RE MG543 
RE MN604 
RE NW711 
RE MP770 
RE KW1003 
RE BJ1042 
RE UN1077 
RE NR1164 
RE ET1213 
RE SV1310 
RE LCI 374 
RE SR1453 
RE XZ1553 
RE WT1655 



RE NZ1736 
RE ZR1766 
RE WX2005 
RE FT2045 
RE PB2105 
RE DL2205 
RE RB2246 
RE LN2340 
RE DR2353 
RE MR2375 
RE RC2471 
RE WS2534 
RE PA2540 
RE CD2575 
RE UP2653 
RE DQ2675 
RE US2705 
RE UW2745 
RE FC2771 
RE DT40002 
RE BR7635 
RE TM5 
RE BU4225 
RE CB6125 
RE GZ3073 
RE GR5735 
RE TB3073 



252 



TAPE MERGE ROUTINE 





IA 


RQ 







RJ 


PZ2 


PZ 


1 


EF 





VF14 


2 


MJ 


30000 


SV 


3 


RJ 


ET42 


SR60 


4 


RJ 


MG14 


MG 


5 


RJ 


XY11 


RQ10 


6 


TV 


RQ13 


RS14 


7 


MJ 





XY12 


10 


RJ 


XY35 


RR 


11 


TV 


RQ13 


RS14 


12 


MJ 





XY36 


13 








RS2 


14 








24 




CA 


RQ15 






IA 


PZ 







MJ 


20000 


RQ1 


1 


TP 


PZ5 


VF14 


2 


RP 


20014 


30000 


3 


CC 


VF 


PZ4 


4 


03 








5 


00 


10000 


4000 




CA 


PZ6 






IA 


RR 







EF 





VF 


1 


TP 


RQ14 


TM2 


2 


TU 


RR35 


RR7 


3 


TV 


RR35 


RR6 


4 


TP 


CN4 


TM4 


5 


RP 


10024 


RR7 


6 


ER 


10000 


30000 


7 


TP 


30000 


A 


10 


EJ 


CX6 


RS 


11 


RA 


RR6 


CN5 


12 


RA 


RR7 


CN12 


13 


IJ 


TM4 


RR5 


14 


ER 





A 


15 


ZJ 


RS11 


RR16 


16 


RJ 


RR16 


RR17 


17 


IJ 


TM2 


RR4 



MJ 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 



Set end of tape exit for parity reread 
Set new exit for parity reread 
Go back to finish reread 



Test: Is TCU2 to be used? If so go to RQ1 
If not, reset tape commands for TCUl 



Start read 

Set buffer index 

Set initial read addresses 
Set blockette index 

Read blockette 



Test: Is it end of tape blockette? If so 
go to RS 

Set for next blockette 

Test: Finished with block? If not go 
back to RR5 

Check parity 

Is buffer full? If not go back to RR4 



253 



20 


EF 





VF10 


21 


EF 





VF12 


22 


TP 


RQ14 


TM2 


23 


TV 


RR35 


RR26 


24 


TP 


CN4 


TM4 


o r- 


nr 




Kit*: / 


26 


EW 


10000 


30000 


27 


RA 


RR26 


CN5 


30 


IJ 


TM4 


RR25 


31 


IJ 


TM2 


RR24 


32 


EF 





VF10 


33 


RJ 


RR33 


RR34 


34 


MJ 





RR 


35 





GZ 


GZ 




/-« A 


r»r»o/ 

nnoo 






IA 


RS 







RJ 


RR16 


RR11 


1 


EF 





VF10 


2 


TP 


RQ14 


A 


3 


ST 


TM2 


TM2 


4 


EF 





VF12 


5 


RJ 


RR33 


RR23 


6 


EF 





VF11 


7 


EF 





VF2 


10 


MJ 





RS21 


11 


TV 


RR6 


XY5 


12 


TU 


RR7 


XY10 


13 


RJ 


XY20 


JL26 


14 


RJ 


RS14 


RS15 


15 


TP 


TM2 


A 


16 


ZJ 


RS17 


RR21 


17 


EF 





VF 


20 


MJ 





RR16 


21 


TP 


CX31 


UP3 


22 


RJ 


UP2 


UP 


23 


MJ 


10000 


RS27 


24 


TP 


XX71 


UP3 


25 


RJ 


UP2 


UP 


26 


MS 





RS27 


27 


MJ 





ZA10 




CA 


RS30 





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 



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 
RR21 to write 

If so, start read and go to RR16 

Print: PROGRAM NOW ON TAPE 5 

If MJ1 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 





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 
TP 
RJ 
TP 
RJ 
EF 
MJ 
TV 
MJ 
TV 
MJ 
TV 
MJ 
TV 
TP 
TV 
RA 
RA 
TP 
MJ 
TP 
RS 
LT 
TU 
TU 
IJ 
MJ 
TV 
TP 
RJ 
RA 
RA 
MJ 
TP 
RP 
TP 
TV 
TV 
RJ 
MJ 
00 
00 
00 
00 
00 
00 
TP 
TP 
RJ 
MJ 
TP 
RJ 
MJ 
CA 



SV 

CX40 

UP2 

CX33 

UP2 





SV47 



SV50 



SV51 



SV52 

LN4 

TM 

SV15 

SV16 

CN52 



SV15 

TM 

43 

SV54 

SV53 

TM 



(30000) 

(30000) 

LN2 

SV32 

SV33 



CX36 

30003 

CX20 

SV55 

SV54 

SV45 











BR 

BR1 

LN4 

CX35 

UP2 



XX24 

UP2 



SV64 



UP3 

UP 

UP3 

UP 

VF14 

SV40 

TM * 



Print: MERGE 



Print correction tape 



SV15 
TM H 



SV15 
TM H 



SV15 
TM * 



(30000) 

(30000) 

CN1 

CN1 

LN3 

LN2 

TM 

SV55 

TM 

SV32 

SV33 

SV32 

SV43 

SV34 

LN4 

(30000) 



Set bypass if 1105 MJ SV5 on 1103A copy 
Oat 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— ->SV43 

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 



Print: SENTENCE (DELETE) 



Print: TOO MANY CORRECTIONS 300 IS 

MAXIMUM 



255 





IA 


wx 







EF 





VF3 


1 


RP 


10170 


WX3 


2 


ER 


10000 


BU 


o 


r?r» 




A 

H 


4 


ZJ 


JL12 


WX5 


5 


TP 


CX25 


LC3 


6 


TP 


CX30 


LC4 


7 


RJ 


1X2 


LC 


10 


ZJ 


WX13 


WX11 


11 


EF 





VF2 


12 


MS 





SV2 


13 


EF 





VF 


1 A 


rr^T 

JL V 


rtnen 
l\UOO 


r»r»»* 

TDI 


15 


TV 


CN22 


PB4 


16 


TV 


CN23 


PB5 


17 


TP 


CN7 


TM5 


20 


TU 


CN46 


PB6 


21 


TU 


CN46 


PB7 


22 


TV 


CN20 


FT20 


23 


TU 


CN20 


CN17 


24 


TV 


CN25 


FT5 


25 


TP 


CN4 


TM4 


26 


TV 


CN24 


FT2 


27 


RP 


10170 


WX31 


30 


ER 


10000 


BU 


31 


ER 





A 


32 


ZJ 


JL21 


WX33 


33 


TV 


WX35 


MP2 


34 


RJ 


MP5 


MP 


35 


TV 


MN25 


MP5 


36 


EJ 


CX6 


ET1 


37 


MJ 





FT23 




CA 


WX40 





} 



Read label 
Check parity 
Check label 

Was label in error? 

If so, rewind tape & stop set to re-enter 

If not start read 



Set initial buffer storage address 

Set block index 

Set initial drum address 

Read 1 block 
Check parity 

Check: end of tape 
If so -> ET1 
If not, to FT23 





IA 


FT 







RJ 


PB35 


PB 


1 


ER 


10000 


A 


2 


TP 


A 


30000 


3 


EJ 


CX6 


ET 


4 


RP 


10023 


FT6 


5 


ER 


10000 


30000 


6 


RA 


FT2 


CN5 


7 


RA 


FT5 


CN5 


10 


IJ 


TM4 


FT 


11 


ER 





A 


12 


ZJ 


JL 


FT13 



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 



13 


RJ 


FT13 


FT 14 


14 


RJ 


FT14 


FT15 


15 


IJ 


TM5 


FT24 


16 


EF 





VF10 


17 


RP 


33220 


FT21 


20 


TP 


BU 


30000 


21 


RJ 


ET20 


ET11 


22 


RJ 


FT14 


FT26 


23 


TU 


FT20 


PB 


24 


TP 


CN4 


TM4 


25 


MJ 





FT 


26 


EF 





VF 


27 


TV 


WX2 


FT2 


30 


SP 


FT2 





31 


SA 


CN 





32 


TV 


A 


FT5 


33 


TP 


CN10 


TM5 


34 


TP 


CN4 


TM4 


35 


RA 


FT20 


CN11 


36 


TV 


CN41 


RB50 


37 


MJ 





FT 




CA 


FT40 





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 FT 

Start read 

Reset initial buffer address 

Set buffer index 

Set block index 

Set for next drum transfer 





IA 


PB 







TP 


BU 


A 


1 


EJ 


CX7 


PB22 


2 


TP 


A 


LN4 


3 


RJ 


LN2 


LN1 


4 


TP 


LN3 


30000 


5 


TP 


CN17 


30000 


6 


TP 


30000 


A 


7 


TJ 


30000 


PB74 


10 


TU 


PB6 


PB7 


11 


RA 


PB6 


CN14 


12 


RA 


PB4 


CN1 


13 


RA 


PB5 


CN1 


14 


IJ 


CX26 


PB33 


15 


TV 


PB35 


FT 


16 


RA 


FT 


CN 


17 


RJ 


FT13 


PB35 


20 


EF 





VF10 


21 


MJ 





SV61 


22 


TP 


PB 


A 


23 


AT 


CN13 


PB24 


24 


TP 


PB1 


A 


25 


EJ 


RB62 


DL 



Sentence number to A 

Is it all spaces? If so, go to PB22 

Process line number 

Store line no. in table 
Store directory word in table 

Test: Is item out of sequence? If so, 
go to PB74 



Set for next table entry 

Have 300 corrections been processed? 
If not, go to PB33 

If so, set to ignore remaining corrections 

Back to read, remainder of block 

Stop tape 

Go to SV61 to indicate error 

Set up test 

Test: Is the first word of sentence 
•DELETE 1 ? If so, go to DL 



257 



26 


MJ 





PB36 


27 


SP 


PB5 


17 


30 


ss 


CN14 





3i 


TU 


A 


PB32 


32 


RA 


30000 


CN5 


33 


RA 


PB 


CN12 


34 


RA 


CN17 


CN12 


35 


MJ 





30000 


36 


TU 


PB24 


PB41 


37 


TP 


CX7 


A 




CA 


PB40 





If not, go to PB36 

Continuation of last sentence. Increase 
word count in directory word 

Set for next blockette 
Set for next table entry 
Exit 





IA 


PB40 




40 


RP 


20020 


PB27 


41 


TJ 


30000 


PB42 


42 


TP 


RB63 


A 


43 


ST 





TM 


44 


LA 


A 


17 


45 


AT 


PB24 


PB24 


46 


TU 


A 


PB47 


47 


TP 


30000 


A 


50 


EJ 


RB62 


DL 


51 


RP 


20005 


PB27 


52 


EJ 


RB55 


PB53 


53 


TP 


RB64 


A 


54 


ST 





TM 


55 


LA 


A 


1 


56 


SA 


TM 


1 


57 


TV 


A 


PB65 


60 


TU 


PB47 


PB64 


61 


TP 


CN37 


TM 


62 


TV 


DL2 


PB66 


63 


MJ 





PB70 


64 


SP 


30000 


44 


65 


SA 


30000 


30000 


66 


TP 


A 


30000 


67 


RA 


PB66 


CN 


70 


TU 


PB64 


PB65 


71 


RA 


PB64 


CN13 


72 


IJ 


TM 


PB64 


73 


MJ 





RB67 


74 


TV 


PB77 


PB7 


75 


TV 


PB4 


CN30 


76 


TV 


PB77 


RB53 


77 


MJ 





PB10 




CA 


PB100 





J 



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 delete, go to DL 

If word is not delete, test alignment of word 



Set number of shifts needed to put 1st 
significant character at 1st character 
position 



Align sentence and store 



Go to RB67 

Set to bypass out of sequence test 

Set address of 1st out of sequence item 

into CN30 



258 





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 



IA 
TU 
RP 
TP 
TV 
RP 
TP 
TP 
QT 

EJ 
SP 
SA 
TP 
TV 
TV 
TV 
RJ 
LQ 
MJ 
TP 
MJ 
TP 
MJ 
TP 
QS 

MJ 
TV 
TV 
TV 
LQ 
MJ 
77 
77 
77 
CA 



DL 

PB24 

30006 

30000 

PB4 

10002 

CX7 

CN15 

TM10 

RB54 

TM11 

TM10 

A 

DL5 

DL5 

PB5 

RB44 

CN15 



DUO 



DL36 



DL37 

TM12 



PB4 

PB4 

PB4 

CN15 



77770 

77777 

77000 

DL41 




Put aligned delete command into TM6-TM13 



Fill output lines in table with spaces 



Test: Is more than one sentence to be 
deleted? 

Position sentence number 



Set up storage address for line number 
Find length of number 



30000 

RB65 

RB5 

RB15 

RB36 

022 

RB 



70000 





»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 





IA 


RB 







QT 


TM12 


A 


1 


TP 


A 


A 


2 


RP 


20005 


RB4 


3 


EJ 


CX 


RB10 


4 


TP 


CN6 





5 


OS 


TM10 


30000 


6 


TV 


PB5 


DL5 


7 


MJ 





DL14 


10 


TP 


RB64 


A 


11 


ST 





TM 


12 


TJ 


CN3 


RB25 



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 TM10 into table 

Set new output storage 



Was first character of TM12 a T? 



259 



13 


SP 


TM11 


44 


14 


SA 


TM10 


36 


15 


TP 


A 


30000 


16 


LA 


TM 


Al 


17 


SA 


TM 


1 


20 


TV 


A 


RB22 


21 


SP 


TM13 


44 


22 


SA 


TM12 


30000 


23 


TP 


A 


TM12 


24 


MJ 





RB6 


25 


LA 


A 


1 


26 


SA 


TM 


1 


27 


TV 


A 


RB32 


30 


TP 


CN3 


A 


31 


ST 


TM 


TM 


32 


SP 


CN50 


30000 


33 


TP 


A 





34 


SP 


TM11 


44 


35 


SA 


TM10 


36 


36 


QS 


A 


30000 


37 


MJ 





RB16 




CA 


RB40 






IA 


RB40 




40 


TP 


CN2 


TM 


41 


LQ 


TM12 


06 


42 


LQ 


Q 


6 


43 


QT 


CN6 


A 


44 


EJ 


CN 


30000 


45 


RA 


RB44 


CN1 


46 


IJ 


TM 


RB42 


47 


TP 


TM12 


30000 



50 TV PB4 



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 
MJ 
TP 
EJ 
MJ 
CA 



RB50 

TM12 



6 

27304 

01273 

01012 

01010 

01010 

30463 





A 



TM6 

RB62 



RB72 



30000 

CN 

30000 

PB74 

50000 ^ 

63066 

04630 

73046 

12730 

10127 

06630 

20017 

20005 

TM12 

RB50 

A 

DL3 

PB27 



> 



J 



If so, align TM10 and TM11 
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 
Put mask into Q 

Store 1st line no. in table 
Go to RB16 

Set space test index to 3 

Mask out character and check for space 
If space is found, exit 

If no space is found, set to check next 

character 

If no more characters are to b* 1 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 



Constants 



Store line number in TMl2 and go to RB50 



Test: Is first word of aligned sentence 
'Delete*? If so, go to DL3. If not, go to 
PB27 



260 





IA 


ET 







RJ 


FT13 


FT4 


1 


EF 





VF10 


2 


TU 


PB 


ET3 


3 


TP 


30000 


A 


4 


EJ 


CX6 


ET7 


5 


RJ 


PB35 


PB1 


6 


MJ 





ET2 


7 


EF 





VF2 


10 


RJ 


FT17 


FT 17 


11 


RJ 


SV45 


SV23 


12 


TP 


RB50 


TM3 


13 


RS 


TM3 


CN41 


14 


SP 


CN41 


17 


15 


TU 


A 


ET22 


16 


IJ 


TM3 


ET22 



17 RJ SV45 



SV23 



Set end of tape switch to exit to ET1 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 

Transfer last group of corrections to drum 
Print Line Number Processor Errors for 
ordinary sentences 

Set to process delete command item numbers 



Finished with all delete command item 

numbers? If not go to ET22 

Print Line Number Processor errors 



20 


RJ 


ET20 


ET21 


21 


MJ 





ET70 


22 


TP 


30000 


A 


23 


TV 


A 


ET31 


24 


LA 


A 


17 


25 


TU 


A 


ET27 


26 


TP 


CN 


TM1 


27 


TP 


30000 


LN4 


30 


RJ 


LN2 


LN 


31 


TP 


LN3 


30000 


32 


RA 


ET27 


CN13 


33 


RA 


ET31 


CN 


34 


IJ 


TM1 


ET27 


35 


RA 


ET22 


CN13 


36 


MJ 





ET16 


37 


TP 


CN52 


TM17 


40 


TP 


CN52 


TM15 


41 


TP 


CX37 


XX10 


42 


RP 


30003 


ET44 


43 


TP 


CX15 


XX13 


44 


TP 


CX34 


UP3 


45 


RJ 


UP2 


UP 


46 


TP 


CN4 


TM10 


47 


TP 


CN4 


TM5 



Exit when used as subroutine 

Exit after end of tape has been found 

Set address of item number to be processed 



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: PROGRAM TAPE 

Set up write fill counter and write fill 
temp. 



261 



50 TU CN46 

51 TP CN43 

52 TP 30000 

53 ZJ ET56 

54 RA ET52 

55 IJ TMi 

56 SP ET52 

57 SS CN46 

60 AT CN 

61 RS CN43 

62 TU ET52 

63 TU ET52 

64 RA ET52 

65 TU A 

oo nr ovkjvo 

67 TP CN55 



70 

71 
72 
73 
74 




1 
2 
3 
4 
5 
6 
7 

10 
11 
12 
13 
14 
15 
16 
17 

20 

21 
22 
23 



TP 

EJ 
TJ 
TV 
MJ 
CA 



IA 

RA 

1 MJ 
CA 



IA 
01 
47 
26 
66 
24 
71 
66 
30 

01 
65 
01 
01 
01 
01 
65 
26 

17 
30 
52 
47 



CN30 

CN22 

CN51 

PB4 



ET75 

GQ 

CN30 

GQ2 

XX 

01010 

30543 

51545 

34515 

52300 

54515 

24523 

54705 

01010 
33516 
25300 
01010 
01010 
01010 
30506 
30010 

27304 
43010 
54513 
01662 



ET52 

TMI 

A 

ET54 

CN14 

ET52 



70 

TM 

TM 

MN42 

MN63 

CN13 

MN54 

MG 

XX21 

A 

GQ 

SR 

CN30 

SR 



CN1 



10101 
23022 
43026 
00166 
12277 
03201 
00165 
10177 

10101 
74627 
17777 
10101 
10101 
10101 
63050 
10101 

63066 
10101 
25424 
45230 



> Find address of first non zero table entry 






Set up address of 1st non zero table entry 



oet up printout ior out oi sequence items 
and go to MG 



If 1st table item was a delete adjust number 
of in sequence items 

Go to SR 



Set new number of in sequence items 

UP parameters & XS3 codes for printouts 
AAAAAAMerge. 
Correction Tape 

Wrong Tape Servo Should be 



Sentence (Delete) 



Program Tape 



262 



24 


00 


XX25 


6 


25 


66 


51510 


14724 


26 


50 


73012 


65154 


27 


54 


30266 


63451 


30 


50 


65010 


60303 


31 


01 


34650 


14724 


32 


72 


34476 


74701 


33 


52 


24543 


46673 


34 


01 


54305 


43024 


35 


27 


01312 


43446 


36 


65 


22016 


65101 


37 


54 


30543 


02427 


40 


01 


65662 


45466 


41 


22 


01665 


10134 


42 


32 


50515 


43001 


43 


30 


54545 


15401 


44 


65 


30660 


12401 


45 


50 


51660 


17601 


46 


03 


01245 


02701 


47 


65 


66245 


46622 


50 


52 


24543 


46673 


51 


01 


30545 


45154 


52 


01 


34325 


05154 


53 


30 


27227 


77777 


54 


00 


XX50 


4 


55 


01 


01010 


10101 


56 


52 


54513 


25424 


57 


47 


01505 


17101 


60 


51 


50016 


62452 


61 


30 


01102 


27777 


62 


01 


01010 


10101 


63 


52 


67660 


10410 


64 


03 


03013 


16622 


65 


01 


66245 


23065 


66 


01 


51500 


16522 


67 


01 


06012 


45027 


70 


01 


07227 


77777 


71 


00 


XX62 


7 




CA 


XX72 






IA 


SR 







TV 


PB4 


CN43 


1 


RS 


CN43 


CN22 


2 


LT 


43 


CN43 


3 


TV 


CN30 


CN44 


4 


RS 


CN44 


CN22 


5 


LT 


43 


CN45 


6 


SP 


CN45 


20 


7 


AT 


CN33 


ZR10 



-\ 



Too many corrections 300 is maximum 



Parity reread fails: to reread start. 
To ignore error set A not = and start 



Parity Error ignored 



AAAAAAProgram now on tape 5, 



AAAAAAput 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 


TU 


CN46 


XZ 


11 


SP 


CN45 


20 


12 


AT 


XZ 


A 


13 


TU 


A 


XZ1 


14 


TP 


XZ1 


TM 


15 


TD 

-L M. 


r\n7 


TMl 


16 


TV 


XZ20 


SR21 


17 


TV 


XZ15 


SR23 


20 


RA 


TM 


CN14 


21 


TU 


A 


30000 


22 


RA 


TM 


CN14 


23 


TU 


A 


30000 


24 


RA 


SR21 


CN35 


25 


RA 


SR23 


CN35 


OA 


T T 


TMl 


QROn 


27 


TV 


SR70 


XZ4 n 


30 


TP 


XZ4 


A 


31 


AT 


CN61 


XZ31 


32 


AT 


CN61 


XZ51 


33 


AT 


CN61 


XZ71 


34 


TV 


SR71 


XZ21 


35 


TP 


XZ21 


A 


36 


AT 


CN1 


XZ41 


37 


AT 


CN1 


XZ61 J 


40 


AT 


CN1 


XZ101 


41 


TV 


SR72 


WT10 


42 


TP 


WT10 


A 


43 


AT 


CN61 


WT32 


44 


TV 


SR73 


WT21 


45 


TV 


SR74 


WT43 


46 


TV 


SR75 


NZ10 


47 


TP 


CN45 


A 1 


50 


ST 


CN 


TM J 


51 


RA 


CN45 


CN47 


52 


TJ 


CN43 


SR64 


53 


TP 


CN43 


TMl 


54 


TV 


PB4 


SR56 


55 


RP 


10036 


SR57 ) 


56 


TP 


CN50 


30000 J 


57 


RJ 


ZR10 


SR66 


60 


TV 


SR77 


XY11 ) 


61 


TV 


SR76 


XY35 j 


62 


RP 


20005 


ET37 ^ 


63 


RS 


VF 


VF15 J 


64 


TP 


CN45 


TMl, 


65 


RS 


TMl 


CN 


66 


TV 


CN54 


3?5 


67 


MJ 





XZ 


70 








WT 


71 








WT51 



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 

Test: Is total 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 



264 



72 








NZ 


73 








WT44 


74 








WT46 


75 








NZ26 


76 








XY65 


77 








XY73 




CA 


SR100 






IA 


XZ 







TP 


30000 


A 


1 


TJ 


30000 


XZ5 


2 


TU 


XZ1 


WT1 


3 


TU 


WT50 


XZ1 


4 


MJ 





WT 


5 


TU 


XZ 


WT1 


6 


RA 


XZ 


CN14 


7 


IJ 


TM 


XZ4 


10 


TU 


WT50 


XZ 


11 


MJ 





XZ4 


12 


TP 


30000 


A 


13 


TJ 


30000 


XZ17 


14 


TU 


XZ13 


WT2 


15 


TU 


WT50 


XZ13 


16 


MJ 





XZ21 


17 


TU 


XZ12 


WT2 


20 


TU 


WT50 


XZ12 


21 


MJ 





WT51 


22 


TP 


30000 


A 


23 


TJ 


30000 


XZ27 


24 


TU 


XZ23 


WT12 


25 


TU 


WT50 


XZ23 


26 


MJ 





XZ31 


27 


TU 


XZ22 


WT12 


30 


TU 


WT50 


XZ22 


31 


MJ 





WT11 


32 


TP 


30000 


A 


33 


TJ 


30000 


XZ37 


34 


TU 


XZ33 


WT13 


35 


TU 


WT50 


XZ33 


36 


MJ 





XZ41 


37 


TU 


XZ32 


WT13 




CA 


XZ40 






IA 


XZ40 




40 


TU 


WT50 


XZ32 


41 


MJ 





WT53 


42 


TP 


30000 


A 


43 


TJ 


30000 


XZ47 


44 


TU 


XZ43 


WT23 


45 


TU 


WT50 


XZ43 


46 


MJ 





XZ51 


47 


TU 


XZ42 


WT23 



Compare A 
Switch A 



} 



Compare B 



} 



Switch B 
Compare C 



Switch C 
Compare D 



Switch D 
Compare E 



265 



50 


TU 


WT50 


XZ42 


51 


MJ 





WT22 


52 


TP 


30000 


A 


53 


TJ 


30000 


XZ57 


54 


TU 


XZ53 


WT24 


55 


TU 


WT50 


XZ53 


56 


MJ 





XZ61 


57 


TU 


XZ52 


WT24 


60 


TU 


WT50 


XZ52 


61 


MJ 





WT55 


62 


TP 


30000 


A 


63 


TJ 


30000 


XZ67 


64 


TU 


XZ63 


WT34 


65 


TU 


WT50 


XZ63 


66 


MJ 





XZ71 


67 


TU 


XZ62 


WT34 


70 


TU 


WT50 


XZ62 


71 


MJ 





WT33 


72 


TP 


30000 


A 


73 


TJ 


30000 


XZ77 


74 


TU 


XZ73 


WT35 


75 


TU 


WT50 


XZ73 


76 


MJ 





XZ101 


77 


TU 


XZ72 


WT35 


100 


TU 


WT50 


XZ72 


101 


MJ 





WT57 




CA 


XZ102 






IA 


WT 







RJ 


XZ4 


XZ12 


1 


TP 


30000 


A 


2 


TJ 


30000 


WT6 


3 


TU 


WT2 


NZ1 


4 


TV 


XZ20 


NZ22 


5 


MJ 





WT10 


6 


TU 


WT1 


NZ1 


7 


TV 


XZ10 


NZ22 


10 


MJ 





NZ 


11 


RJ 


XZ31 


XZ32 


12 


TP 


30000 


A 


13 


TJ 


30000 


WT17 


14 


TU 


WT13 


NZ2 


15 


TV 


XZ40 


NZ23 


16 


MJ 





WT21 


17 


TU 


WT12 


NZ2 



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 



Switch I 

Set Switch C to exit to WT12 and go to XZ32 

Compare J 



266 



20 


TV 


XZ30 


NZ23 


21 


MJ 





WT44 


22 


RJ 


XZ51 


XZ52 


23 


TP 


30000 


A 


24 


TJ 


30000 


WT30 


25 


TU 


WT24 


NZ12 


26 


TV 


XZ60 


NZ24 


27 


MJ 





WT32 


30 


TU 


WT23 


NZ12 


31 


TV 


XZ50 


NZ24 


32 


MJ 





NZ11 


33 


RJ 


XZ71 


XZ72 


34 


TP 


30000 


A 


35 


TJ 


30000 


WT41 


36 


TU 


WT35 


NZ13 


37 


TV 


XZ100 


NZ25 


40 


MJ 





WT43 


41 


TU 


WT34 


NZ13 


42 


TV 


XZ70 


NZ25 


43 


MJ 





WT46 


44 


TV 


WT10 


WT21 


45 


MJ 





WT23 


46 


TV 


WT32 


WT43 


47 


MJ 





NZ1 


50 


00 


CN50 





51 


TV 


XZ4 


XZ21 


52 


MJ 





XZ22 


53 


TV 


XZ31 


XZ41 


54 


MJ 





XZ42 


55 


TV 


XZ51 


XZ61 


56 


MJ 





XZ62 


57 


TV 


XZ71 


XZ101 


60 


MJ 





WT1 




CA 


WT61 






IA 


NZ 







RJ 


WT10 


WT12 


1 


TP 


30000 


A 


2 


TJ 


30000 


NZ6 


3 


TU 


NZ2 


ZR 


4 


TV 


NZ23 


ZR15 


5 


MJ 





NZ10 


6 


TU 


NZ1 


ZR 


7 


TV 


NZ22 


ZR15 



Switch J 

Set Switch E to exit to WT23 and go to XZ52 

Compare K 



Switch K 

Set Switch G to exit to WT34 and go to XZ72 

Compare L 



Switch L 

Set Switch J to exit to NZl and go to 

compare K 

Set Switch L to exit to NZ11 and go to 

compare M 



Compare M 



267 



10 


MJ 





NZ26 


11 


RJ 


WT32 


WT34 


12 


TP 


30000 


A 


13 


TJ 


30000 


NZ17 


14 


TU 


NZ13 


ZR1 


15 


TV 


NZ25 


ZR16 


16 


MJ 





ZR 


17 


IU 


NZ12 


ZR1 


20 


TV 


NZ24 


ZR16 


21 


MJ 





ZR 


22 








30000 


23 








30000 


24 








30000 


25 








30000 


26 


TV 


NZ21 


NZ10 


27 


MJ 





NZ12 




CA 


NZ30 






IA 


ZR 







TP 


30000 


A 


1 


TJ 


30000 


ZR12 


2 


TU 


ZR1 


ZR5 


3 


TV 


ZR16 


ZR7 


4 


RP 


30002 


ZR6 


5 


TP 


30000 


30000 


6 


RA 


ZR5 


CN1 


7 


IJ 


TM1 


30000 


10 


RP 


30000 


30000 


11 


TP 


BU 


IB 


12 


IU 


ZR 


ZR5 


13 


TV 


ZR15 


ZR7 


14 


MJ 





ZR4 


15 


00 





30000 


16 


00 





30000 




CA 


ZR17 






IA 


MG 







EF 





VF3 


1 


RP 


10170 


MG3 


2 


ER 


10000 


BU 


3 


ER 





A 


4 


ZJ 


JL24 


MG5 


5 


TP 


CX24 


LC3 


6 


TP 


CX30 


LC4 


7 


RJ 


LC2 


LC 


10 


ZJ 


MG13 


MG11 


11 


EF 





VF2 


12 


MS 





MG 


13 


EF 





VF13 


14 


RP 


10170 


MG16 


15 


EW 


10000 


BU 



Switch M 
Compare N 



{Compare I 
Compare J 
Compare K 
Compare L 

Set Switch M to ZR and go to compare N 



Compare P 



Transfer table item to buffer 

Set next buffer address 

Test: finished with this group of items? 

Yes: Transfer sorted string back to table 



Read label block 



Check parity 



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 


EF 





VF 


17 


SP 


MM 


17 


20 


TO 


A 


MN5 


21 


SP 


CN24 


17 


22 


TO 


A 


MN13 


23 


TV 


MN1 


MN36 


24 


TV 


CN24 


MN12 


25 


TP 


CN4 


TM4 


26 


TP 


CN4 


3M2 


27 


TP 


CN62 


TM1 


30 


TP 


CN62 


BJ3 


31 


TU 


MN5 


NW23 


32 


TV 


MN77 


MN64 


33 


TU 


MN5 


KW3 


34 


TV 


CN26 


MN63 


35 


TV 


NW56 


MN65 


36 


TU 


CN26 


KW5 


37 


TU 


CN26 


KW6 


40 


TP 


CX7 


LN3 




CA 


MG41 






IA 


MN 







RP 


10170 


MN2 


1 


ER 


10000 


BU 


2 


ER 





A 


3 


ZJ 


XY52 


MP 


4 


TP 


CN4 


TM4 


5 


TP 


BU 


A 


6 


TP 


CN 


TM14 


7 


RJ 


NR25 


MN33 


10 


MJ 





MN11 


11 


RP 


10024 


MN13 


12 


ER 


10000 


BU 


13 


TP 


BUI 70 


A 


14 


EJ 


CX6 


NR 


15 


RA 


MN5 


CN12 


16 


MJ 





MN17 


17 


RA 


MN12 


CN5 


20 


RA 


MN13 


CN12 


21 


IJ 


IM4 


MN5 


22 


ER 





A 


23 


ZJ 


XY55 


MN24 


24 


RJ 


MN24 


MN25 


25 


IJ 


TM2 


MN4 


26 


EF 





VF10 


27 


TP 


CN4 


TM14 


30 


TU 


MN5 


MN32 


31 


TV 


CN42 


NR25 


32 


TP 


30000 


A 


33 


EJ 


CX7 


MN36 


34 


TP 


A 


LN4 



Start read 

Set up initial buffer addresses 

Set block index 

Set buffer index 

Set No. of blockettes into TM1 and TM3 



Set initial correction buffer address 
into KW5 and KW6 
MN must equal MG41 



Read block 



Check Parity 
Set block index 



Read blockette 

Was line no. all Z's? If so, go to NR 

Set for next blockette 

Finished with block? 

If so, check parity 

End of tape switch 
Finished filling buffer? 
If so, stop tape 

Set to process line numbers of last block 

Test: Is line number all spaces? If so, 
go to MN36 



269 



35 


RJ 


LN2 


LN1 


36 


TP 


LN3 


30000 


37 


TP 


LN3 


A 




CA 


MN40 






IA 


MN40 




40 


ZJ 


NR17 


NR23 


41 


TP 


IM15 


LN3 


42 


TP 


IB 


A 


43 


TJ 


LN3 


MN54 


44 


EJ 


LN3 


MN54 


45 


TV 


MN63 


MN46 


46 


TP 


CN50 


30000 



41 



MJ 



i\W4t> 



50 


TV 


MN52 


MN64 


51 


TV 


MN67 


MN43 


52 


RJ 


MN44 


MN66 


53 


EJ 


30000 


NW 


54 


TP 


TBI 


A 


55 


SJ 


MN56 


NW21 


56 


RJ 


MN56 


MN57 


57 


TU 


A 


MN65 


60 


TV 


A 


IM14 


61 


SA 


CN51 


17 


62 


TU 


A 


MN64 


63 


TP 


IB 


30000 


64 


RP 


30000 


MN50 


65 


TP 


30000 


30000 


66 


SP 


MN63 


17 


67 


1U 


A 


MN53 


70 


RA 


MN63 


TM14 


71 


AT 


CN 


MN65 


72 


RA 


MN42 


CN14 


73 


1U 


A 


MN63 


74 


AT 


CN13 


MN54 


75 


IJ 


CN43 


MN42 


76 


MJ 





LP 


77 


00 





MN50 


100 


TV 


MN101 


MN14 


101 


MJ 





MN15 


102 


RJ 


NW44 


MN54 


103 


RJ 


MN56 


MN56 


104 


MJ 





NW3 




CA 


MN105 





} 



} 



Process line number 

Put processed line number back in buffer 



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 loca- 
tion with largest number 
Go to NW46 

Set new exit for drum transfer command 
Set new exits for tests at MN43 and MN44 
and go to MN66 

Test: Is this a delete sentence? 

Equal Switch for drum items 
Set drum address into MN65 

Set number of words into MN64 



Item number to correction buffer 
Remainder of item from drum to correction 
buffer 

Set address of last item transferred 
Set next correction buffer location 

Set for next table entry 

Have corrections been exhausted? 
Out to block next correction phase 

Set to ignore additional lines of Z' s 



270 





IA 


NW 







RJ 


MN56 


MN102 


1 


RJ 


NW44 


NW44 


2 


MJ 





MN72 


3 


RS 


MN63 


TM14 


4 


AT 


CN 


MN65 


5 


TU 


MN54 


NW7 


6 


TO 


MN42 


NW10 


7 


TP 


TBI 


A 


10 


TJ 


IB 


NW14 


11 


RA 


NW10 


CN14 


12 


IJ 


CN43 


NW7 


13 


MJ 





LP 


14 


IU 


NW10 


MN42 


15 


TO 


NW10 


MN63 


16 


TO 


NW10 


MN54 


17 


RA 


MN54 


CN13 


20 


MJ 





MN42 


21 


TO 


MN42 


NW24 


22 


TO 


MN54 


NW34 


23 


TP 


BU 


A 


24 


TJ 


30000 


NW26 


25 


MJ 





NW31 


26 


RA 


NW23 


CN12 


27 


IJ 


TM1 


NW23 


30 


MJ 





MN45 


31 


LQ 


NW23 


Q25 


32 


TV 


Q 


NW36 


33 


TO 


NW23 


NW35 


34 


TP 


TBI 


A 


35 


TJ 


30000 


NW44 


36 


TP 


CN52 


30000 



37 RA NW35 



} 



CN12 



40 


RA 


NW36 


CN5 


41 


RA 


NW23 


CN12 


42 


IJ 


TM1 


NW34 


43 


MJ 





NW52 


44 


RJ 


NW44 


NW45 


45 


MJ 





NW5 


46 


RJ 


SV45 


SV23 


47 


MJ 





KW 




CA 


NW50 





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 NW31 

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 pro- 
gram items? If not, go back to test next item 
If so, go to NW52 



Print line number processor errors 



271 





IA 


NW52 




52 


LQ 


NW24 


Q25 


53 


TV 


Q 


NW54 


54 


TP 


CN52 


30000 


55 


MJ 





MN45 


KJKJ 




n 


TBI 




CA 


NW57 






IA 


KW 







TP 


TM10 


A 


1 


AT 


CN 


TM7 


2 


EF 





VF12 


3 


TP 


30000 


A 


4 


ZJ 


KW5 


KW34 


5 


TJ 


30000 


KW23 


6 


EJ 


30000 


KW14 


7 


TO 


KW5 


IM 


10 


RA 


KW5 


CN12 


11 


TO 


A 


KW6 


12 


RJ 


BJ34 


BJ 


13 


MJ 





KW3 


14 


RA 


KW3 


CN12 


15 


TP 


A 


KW20 


16 


IJ 


TM3 


KW20 


17 


MJ 





UN32 


20 


00 


30000 


30000 


21 


EJ 


CX7 


KW14 


22 


MJ 





KW7 


23 


TO 


KW3 


TM 


24 


RA 


KW3 


CN12 


25 


TP 


A 


KW31 


26 


IJ 


TM3 


KW30 


27 


MJ 





UN 


30 


RJ 


BJ34 


BJ 


31 


00 


30000 


30000 


32 


EJ 


CX7 


KW23 


33 


MJ 





KW3 


34 


RA 


KW3 


CN12 


35 


IJ 


TM3 


KW3 


36 


MJ 





UNI 




CA 


KW37 





Set zero as 1st address of delete command 



} 



} 



Set up write fill index 

Start write 

Current program item no. to A 

Is it to be deleted? 

Is current correction item > than current 

r% *• r\ rt v «-i vn -i + nm9 
miuv^i qui x u\^m. 

Is current correction item = to current prog* item 
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 contin- 
uation of last sentence? 
If not, go to KW7 to write correction item 



Test: finished with all progi =r.i items? If 

not, go to KW30 

If so, go to UN 

Set up and write next blockette 



Finished with all program items? If not, 

go to KW3 

If so, go to UNI 



272 





IA 


BJ 







IJ 


TM7 


BJ26 


1 


RJ 


BJ1 


BJ11 


2 


RJ 


BJ1 


BJ13 


3 


RJ 


BJ1 


BJ15 


4 


RJ 


BJ1 


BJ17 


5 


RJ 


BJ1 


BJ21 


6 


RJ 


BJ1 


BJ23 


7 


TV 


CN53 


BJ27 


10 


RJ 


BJ1 


BJ34 


11 


RP 


10024 


BJ25 


12 


EW 


10000 


30000 


13 


RP 


10024 


BJ25 


14 


EW 


10000 


30000 


15 


RP 


10024 


BJ25 


16 


EW 


10000 


30000 


17 


RP 


10024 


BJ25 


20 


EW 


10000 


30000 


21 


RP 


10024 


BJ25 


22 


EW 


10000 


30000 


23 


RP 


10024 


BJ25 


24 


EW 


10000 


30000 


25 


RJ 


BJ25 


BJ26 


26 


LQ 


TM 


Q25 


27 


TV 


Q 


BJ12 


30 


RA 


BJ27 


CN1 


31 


IJ 


TM5 


BJ34 


32 


TP 


CN4 


IM5 


33 


MJ 





BJ7 


34 


MJ 





30000 




CA 


BJ35 






IA 


UN 







RJ 


BJ34 


BJ 


1 


TV 


BJ27 


IM11 


2 


TP 


TM5 


TM10 


3 


RJ 


BJ25 


BJ 


4 


IJ 


TM5 


UN3 


5 


EF 





VF10 


6 


RJ 


UN56 


UN34 


7 


MJ 





MG16 


10 


TP 


CN52 


IM14 


11 


TP 


CN50 


LN3 


12 


TP 


CN50 


30000 


13 


RJ 


UN33 


MN42 


14 


TP 


CX6 


30000 


15 


LA 


CN30 


17 


16 


RA 


UN64 


TM5 


17 


TU 


CN30 


TM 



Has whole block been set up? If not, go 
to BJ26 



Reset store address of 1st write 

Reset switch to write 1st blockette 

Write 1st blockette and go to BJ25 to set 

up new '1st Blockette 1 

Write 2nd blockette and go to BJ25 to set 

up new '2nd Blockette' 

Write 3rd blockette and go to BJ25 to set 

up new '3rd Blockette' 

Write 4th blockette and go to BJ25 to set 

up new '4th Blockette' 

Write 5th blockette and go to BJ25 to set 

up new '5th Blockette' 

Write 6th blockette and go to BJ25 to set 

up new '6th Blockette' 

Set address from TM into write command 

Set for next write command 
Has full block been written? 
Reset index 
Back to BJ7 
Exit 



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 unwritten blockettes to temp 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 TM 



273 



20 


RJ 


BJ34 


BJ 


21 


IJ 


UN64 


UN20 


22 


EF 





VF10 


23 


IJ 


TM17 


UN25 


24 


MJ 





RS6 


25 


TP 


CX27 


UPS 


26 


TP 


TM20 


XX20 


27 


RJ 


UP2 


UP 


30 


RA 


UN26 


CN13 


31 


MJ 





UN23 


32 


TU 


KW5 


TM 


33 


MJ 





UN 


34 


TU 


CN42 


UN37 


35 


TP 


CN4 


TM 


oo 


mtr 


V^lVOU 


UN42 


37 


SP 


30000 


17 


40 


TU 


A 


UN42 


41 


RP 


30024 


UN43 


42 


TP 


30000 


30000 


43 


RA 


UN37 


CN14 


44 


RA 


UN42 


CN5 


45 


IJ 


TM 


UN37 


46 


TP 


CN60 


A 


47 


TP 


A 


BJ12 


50 


AT 


CN5 


BJ14 


51 


AT 


CN5 


BJ16 


52 


AT 


CN5 


BJ20 


53 


AT 


CN5 


BJ22 


54 


AT 


CN5 


BJ24 


55 


TP 


TM10 


TM5 


56 


MJ 





30000 


57 


TP 


A 


TM20 


60 


TP 


CN52 


LN3 


61 


RA 


UN57 


CN 


62 


RA 


TM17 


CN 


63 


MJ 





MN36 


64 








14 




CA 


UN65 






IA 


NR 







TV 


MN12 


CN30 


1 


TP 


IM4 


TM16 


2 


RJ 


MN24 


MN100 


3 


EF 





VF10 


4 


TP 


CN30 


A 


5 


SS 


CN54 





6 


DV 


CN5 


TM3 


7 


TP 





TM1 



J 



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: 
SENTENCE OUT OF SEQUENCE 



Set for next item 

Back to test 

Set correction item address into TM and go 

to UN 



set temp Duner aaaress into tr an si er command 

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 

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 MN100 

Stop tape 

Compute no. of blockettes read in before 
end of tape and set into TM3 and TM1 



274 



10 


TP 


CN3 


A 


11 


ST 


TM16 


TM14 


12 


TV 


CN30 


UN12 


13 


TV 


CN30 


UN14 


14 


SJ 


UN10 


NR15 


15 


RJ 


NR26 


MN30 


16 


MJ 





UN10 


17 


EJ 


CX7 


NR23 



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 UN10 

Out to process line numbers 

Go to UN10 

Was line number all spaces? If so, go to 

NR23 



20 



TJ TM15 



UN57 



21 


TP 


LN3 


TM15 


22 


TP 


CX7 


LN3 


23 


RA 


MN36 


CN5 


24 


RA 


MN32 


CN12 


25 


IJ 


TW14 


[MN32] 


26 


MJ 





MN41 




CA 


NR27 






IA 


MP 







TO 


MN5 


MP1 


1 


TP 


30000 


A 


2 


EJ 


CX6 


MP6 


3 


RA 


MP1 


CN12 


4 


IJ 


TM4 


MP1 


5 


RJ 


MP2 


[MN4] 


6 


EF 





VF10 


7 


LQ 


MP1 


Q25 


10 


TV 


Q 


CN30 


11 


TP 


IM4 


IM16 


12 


MJ 





NR4 




CA 


MP13 






IA 


LP 







TV 


LP2 


NR26 


1 


TV 


LP2 


UN13 


2 


MJ 





MN45 


3 


ZJ 


LP4 


JL30 


4 


TP 


XX54 


UP3 


5 


RJ 


UP2 


UP 


6 


MJ 





XY15 




CA 


LP7 





Was previous line number greater than this 
line number? If so, go to UN57 
If not, set current line number into TM15 
Put all spaces into LN3 

Set for next line number 

Finished with all line numbers 
Exit to MN41 



Set up line number address 

Is line number all Z' s? If so, go to MP6 

If not, set for next line number 

Finished with all line numbers? If not, go 

to MP1 

Exit, end of tape not found 

Stop tape 

Set address of end of tape line into CN30 

Store block index 
Go to NR4 



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 



275 



Parity Error Routine 
IA JL 





nmr 


r j.£ 




1 


SP 


FT2 


17 


2 


TU 


A 


XY10 


3 


RJ 


FT13 


FT13 


4 


RJ 


XY20 


JL26 


5 


RJ 


JL5 


JL6 


6 


TP 


TM5 


A 


7 


ZJ 


JL10 


FT17 


10 


EF 





VF 


11 


MJ 





FT13 




J. V 


IlTV A 




13 


TV 


CN24 


XY5 


14 


SP 


CN24 


17 


15 


TU 


A 


XY10 


16 


RJ 


XY20 


JL26 


17 


RJ 


JL5 


JL5 


20 


MJ 





T 30000] 


21 


RJ 


JL11 


JL 


22 


TV 


FT12 


JL11 


23 


MJ 





FT23 


24 


RJ 


JL20 


JL13 


25 


MJ 





MG5 


26 


RJ 


JL26 


JL27 


27 


RJ 


JL26 


XY1 


30 


RJ 


JL26 


XY23 


31 


RJ 


JL26 


XY45 


32 


TP 


CX32 


UP3 


33 


RJ 


UP2 


UP 


34 


TP 


CN52 


A 


35 


MS 





LP3 




CA 


JL36 





} 



Set addresses into reread 

Clear end of tape indicator 

Reread 

End of tape? 

Buffer index = 

Start read 
Exit 
Set exit 

Set addresses into reread 

Reread 

Clear end of tape indicator 

Exit 

Out for set up 

Exit 

Out for set up 

Exit 

Distributor for reread cycles 



Print error indication 

Set A to 

Stop set to re-enter 



276 



Reread Cycles for Parity Error 





IA 


XY 







00 





XY1 


1 


TP 


CN4 


TM4 


2 


EF 





VF1 


3 


TP 


CN21 


TM6 


4 


RS 


XY5 


CN 


5 


ER 


10000 


[30000] 


6 


IJ 


TM6 


XY4 


7 


RS 


XY10 


CN12 


10 


TP 


[30000] 


A 


11 


EJ 


CX6 


XY21 


12 


IJ 


TM4 


XY3 


13 


ER 





A 


14 


ZJ 


JL26 


XY15 


15 


EF 





VF4 


16 


RJ 


JL26 


JL26 


17 


EF 





VF5 


20 


MJ 





30000 


21 


TV 


XY51 


JL5 


22 


MJ 





XY12 


23 


EF 





VF6 


24 


TP 


CN4 


TM4 


25 


TV 


XY5 


XY31 


26 


TU 


XY10 


XY34 


27 


EF 





VF3 


30 


TP 


CN21 


TM6 


31 


ER 


10000 


[30000] 


32 


RA 


XY31 


CN 


33 


IJ 


TM6 


XY31 


34 


TP 


[30000] 


A 


35 


EJ 


CX6 


XY47 


36 


RA 


XY34 


CN12 


37 


IJ 


TM4 


XY30 


40 


ER 





A 


41 


ZJ 


XY42 


XY16 


42 


TV 


XY31 


XY5 


43 


TU 


XY34 


XY10 


44 


MJ 





XY1 


45 


EF 





VF7 


46 


MJ 





XY24 


47 


TV 


XY51 


JL5 


50 


MJ 





XY36 


51 


00 


XY51 


ET2 



} 



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) 

Finished with block? 
Check parity 

Move forward 1 block 
Reset distributor 
Set to normal bias 
Exit 



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 



Parity error: Reset addresses 
and go back to reread 

Set to high bias 
Go to reread 



277 



52 


RJ 


XY60 


XY55 


53 


EF 





VF 


54 


MJ 





MN4 


55 


TV 


MN12 


XY51 


56 


TU 


MN13 


XY10 


bY 


RJ 


XY20 


JL26 


60 


RJ 


XY60 


XY61 


61 


TP 


TM2 


A 


62 


ZJ 


XY63 


MN27 


63 


EF 





VF 


64 


MJ 





MN25 


65 


LQ 


XY34 


Q25 


66 


TV 





CN30 


67 


RJ 


NR2 


NR1 


70 


TV 


MN24 


XY60 


7i 


TV 


XY72 


XY35 


72 


MJ 





XY36 


73 


TV 


XY5 


CN30 


74 


TP 


CN4 


A 


75 


ST 


TM4 


TM16 


76 


RJ 


NR2 


NR2 


77 


TV 


MN24 


XY60 


100 


RA 


XY60 


CN 


101 


MJ 





XY22 




CA 


XY102 






IA 


LC 







MJ 





LC5 


1 


RS 


TM 


TM 


2 


MJ 





[30000] 


3 


00 


30000 


30000 


4 


00 


30000 


30000 


5 


TP 


CX5 


TM3 


6 


TU 


LC3 


LC11 


7 


SP 


LC3 


17 


10 


TU 


A 


LC47 


11 


TP 


30000 


A 


12 


EJ 


CX7 


LC15 


13 


RP 


20006 


LC17 


14 


EJ 


CX10 


1X22 


15 


RA 


LC11 


CN13 


16 


IJ 


TM3 


LC11 


17 


TP 


LC4 


UP3 


20 


RJ 


UP2 


UP 


21 


MJ 





LCI 


22 


TP 


CX23 


A 


23 


ST 


Q 


TM 


24 


EJ 


CN37 


LC55 


25 


LA 


A 


1 


26 


SA 


TM 


1 


27 


TV 


A 


LC36 



Set XY go to exit to NI and go to XY55 

Start read 

Go to MN4 

Set address into end of tape test 

Reread 

Exit 

Test: Is buffer full? If so, go to MN27 

If not, take next instruction 

Start read 



Set A - to indicate error 
Storage for correct label 



Find 1st word that is not all spaces 

Determine alignment of 1st word that is 
not all spaces 

Find 1st word that is not all spaces. 



Error - out to print 



Set up number of shifts needed to align 
sentence 



278 



30 


IU 


LC11 


LC36 


31 


RA 


LC11 


CN13 


32 


TO 


A 


LC35 


33 


TV 


LC23 


LC37 


34 


TP 


CN1 


IM3 


35 


SP 


30000 


44 


36 


SA 


30000 


30000 


37 


TP 


A 


30000 


40 


IU 


LC35 


LC36 


41 


RA 


IX 35 


CN13 


42 


RA 


LC37 


CN 


43 


IJ 


TM3 


LC35 


44 


TU 


LC26 


LC46 


45 


TP 


CN 


IM3 


46 


TP 


30000 


A 


47 


EJ 


30000 


LC51 


50 


MJ 





LC17 


51 


RA 


LC46 


CN13 


52 


RA 


LC47 


CN13 


53 


IJ 


IM3 


LC46 


54 


MJ 





LC2 


55 


IU 


LC11 


LC46 


56 


MJ 





LC45 




CA 


LC57 





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 





IA 


VF 







02 


00002 


[4] 0000 


1 


02 


00612 


[4]0000 


2 


02 


00200 


[430000 


3 


02 


00602 


[4] 0000 


4 


02 


00004 


[4]0001 


5 


02 


00001 


50000 


6 


02 


00001 


60000 


7 


02 


00001 


70000 


10 


02 


00600 


00000 


11 


02 


200 


50000 


12 


02 


00146 


50000 


13 


02 


00746 


50000 


14 


00 


20000 


04000 


15 


00 





10000 




CA 


VF16 





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) 

Bypass buffer 

Increment to reset tape codes 



279 



Excess Three Characters and Words 





T A 









54 


00000 


00000 


1 


67 


00000 


00000 


2 


01 


00000 


00000 


3 


33 


00000 


00000 


4 


66 


00000 


00000 


5 


00 


00000 


00022 


6 


74 


74747 


47474 


7 


01 


01010 


10101 


10 


01 


67503 


42651 






UIO <i) 


ao /in/ 


12 


01 


01016 


75034 


13 


01 


01010 


16750 


14 


01 


01010 


10167 


15 


67 


50342 


65127 


16 


30 


01525 


45132 


17 


54 


24470 


12201 


20 


67 


50342 


65127 


21 


30 


01265 


15454 


22 


30 


26663 


45150 


23 


00 





20006 


24 


00 


BU 


CX15 


25 


00 


BU 


CX20 


26 


00 





454 


27 


00 


XX16 


6 


30 


00 


XX5 


11 


31 


00 


XX55 


5 


32 


00 


XX 33 


15 


33 


00 


XX2 


3 


34 


00 


XX22 


2 


35 


00 


XX16 


4 


36 


77 


77777 


70701 


37 


77 


77777 


70601 


40 





XX 


2 




CA 


CX41 





R 






U 






A 






H 






T 






Period 






All Z's 






All spaces 






A U N I 


C 





A A U N 


I 


C 


A A A u 


N 


I 


A A AA 


U 


N 


A A A A 


A 


U 


U N I C 





D ^ 


E A P R 





G 


R A M A 


. 


A 


U N I C 





D 


E A C 


R 


R 


E C T I 





N J 



> Tape labels 



Index for no. corrections 
To set index 

Constants for error print - correction tape 
Constants for error print - program tape 
Constants for error print - parity error 
Constants for heading print - correction tape 
Constants for heading print - program tape 
Constant for delete print 

t t t t 4 a 
t t t t 3 a 



280 



Constants 





IA 


CN 







00 





1 


1 


00 





2 


2 


00 





3 


3 


00 





4 


4 


00 





5 


5 


00 





24 


6 


77 








7 


00 





14 


10 


00 





15 


11 


00 





3220 


12 


00 


24 





13 


00 


1 





14 


00 


2 





15 


00 


7 


70000 


16 


00 


1 


1 


17 


77 


[30000] 


00024 


20 


00 


DTI 


DT 


21 


00 





23 


22 


00 





TB 


23 


00 





TBI 


24 


00 





BUI 70 


25 


00 





BU171 


26 


00 


CB 


CB 


27 


00 


2 


2 


30 


00 





30000 


31 


00 


4 


4 


32 


00 


36 





33 


75 


30036 


SR6 


34 


00 


4 





35 


00 





10 


36 


00 





7 


37 


00 





6 


40 


00 





FT21 


41 


TV 


PB4 


TM14 


42 


00 


BJ12 


MN32 


43 


00 





[30000] 


44 


00 





[30000] 


45 


00 





[30000] 


46 


TP 


TB 


A 


47 


00 





17 


50 


37 


77777 


77777 


51 


00 





30000 


52 


00 








53 


00 





BU12 


54 


00 





BU 



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 


01 


51676 


60151 


56 


31 


01653 


05367 


57 


30 


50263 


02277 


60 


EW 


10000 


GR 


61 


00 





11 


62 


00 





51 




CA 


CN63 





XS3 codes for 
OUT OF SEQUENCE 



282 



Line-Number Processor 





IA 


LN 







MJ 





LN5 


1 


MJ 





LN7 


2 


MJ 





30000 


3 


00 


30000 


30000 


4 


00 


30000 


30000 


5 


TV 


RC14 


PA1 


6 


MJ 





DRO 


7 


TV 


RC15 


PA1 


10 


MJ 





DR 


11 


TP 


LN4 


LN3 


12 


MJ 





LN2 




CA 


LN13 






IA 


DR 







TV 


RC6 


MR27 


1 


TV 


DR 


DR15 


2 


RJ 


MR 12 


MR12 


3 


RJ 


MR43 


MR43 


4 


TP 


UC23 


LN3 


5 


TP 


UC4 


WS3 


6 


TP 


LN4 


WS 


7 


TV 


RC10 


MR 3 


10 


TV 


RC13 


MR4 


11 


TV 


RC12 


MR5 


12 


TV 


RC11 


MR7 


13 


TV 


RC1 


MR16 


14 


IJ 


WS3 


MR 


15 


RJ 


DR15 


30000 


16 


TP 


LN3 


A 


17 


EJ 


UC23 


SV14 


20 


EJ 


UC24 


SV14 


21 


MJ 





LN2 




CA 


DR22 






IA 


MR 







LQ 


WS 


6 


1 


QT 


UC20 


A 


2 


RP 


20004 


MR4 


3 


EJ 


UC14 


30000 


4 


EJ 


UC13 


30000 


5 


EJ 
RP 

EJ 


UC1 
20011 

UC2 


30000 


6 


SV6 


7 


30000 


10 


TV 


RC 


MR16 


11 


TV 


RC2 


MR 3 



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. Explanation 
and annotation for non-changed instructions 
are to be found in Section III, 3, A - 
Translation Subroutines. 



Exit to store line number and type of 
error for later print out 



283 



12 


RJ 


MR12 


MR13 


13 


RJ 


MR 12 


MR22 


14 


RJ 


MR 12 


MR22 


15 


MJ 





MR24 


16 


MJ 





30000 


1 -7 
JL 1 


o ^ 
on 


r mO 
L.IW 




20 


TP 


A 


LN3 


21 


MJ 





30000 


22 


RJ 


MR21 


MR 16 


23 


MJ 





DR14 


24 


TV 


RC3 


MR 5 


25 


TV 


RC3 


MR7 


26 


RJ 


MR21 


MR 16 


27 


RJ 


MR27 


30000 


30 


MJ 





DR14 




CD 


r mo 




32 


SA 


UC13 


6 


33 


SA 


UC14 


6 


34 


AT 


UC14 


LN3 


35 


MJ 





DR14 


36 


TV 


RC2 


MR 3 


37 


TV 


RC5 


MR4 


40 


TV 


RC7 


MR 5 


41 


TV 


RC7 


MR7 


42 


MJ 





MR27 


43 


RJ 


MR43 


MR44 


44 


RJ 


MR43 


MR46 


45 


MJ 





MR60 


46 


EJ 


UC1 


MR 55 


47 


LA 


A 


6 


50 


TP 


UC21 





51 


OS 


A 


LN3 


52 


TP 


UC 


WS1 


53 


TP 


UC20 


WS2 


54 


MJ 





DR14 


55 


LT 


10006 


WS1 


56 


TP 


UC22 


WS2 


57 


MJ 





DR14 


60 


TV 


RC4 


MR 5 


61 


TV 


RC4 


MR7 


62 


EJ 


UC1 


DR14 


63 


AT 


WS1 


WS1 


64 


TP 


WS2 


Q 


65 


QS 


WS1 


LN3 


66 


MJ 





DR14 


67 


TV 


RC10 


MR 3 


70 


TV 


RC5 


MR4 


71 


TV 


RC5 


MR 5 


72 


TV 


RC5 


MR7 


73 


MJ 





DR14 




CA 


MR 74 





284 





IA 


RC 













MR17 


1 








MR21 


2 








MR67 


3 








SV10 — 


4 








SV12 — 


5 








SV14 — 


6 








MR31 


7 








MR43 


10 








DR14 


11 








MR 10 


12 








MRU 


13 








MR 36 


14 








PA3 


15 








PA5 




CA 


RC16 






IA 


UC 
















1 








3 


2 








4 


3 








5 


4 








6 


5 








7 


6 








10 


7 








11 


10 








12 


11 








13 


12 








14 


13 








22 


14 








1 


15 








77 


16 








17 


17 








43 


20 








77 


21 








7700 


22 








7777 


23 


1 


1010 


10100 


24 


1 


1012 


20101 




CA 


UC25 






IA 


WS 










30000 


30000 


1 





30000 


30000 


2 





30000 


30000 


3 





30000 


30000 




CA 


WS4 





Used to set error exits so that line number 
and type of error will be stored for later 
print out 



285 





IA 


PA 







MJ 





PA1 


1 


MJ 








2 


MJ 








3 


RJ 


SV60 


SV56 


4 


MJ 





PA2 




TP 


LN4 


CD3 


6 


TP 


CD 


UP3 


7 


RJ 


UP2 


UP 


10 


MJ 





PA2 


11 


RJ 


PA2 


PA 


12 


TP 


LN4 


CD15 


13 


TP 


CD5 


UP3 


14 


RJ 


UP2 


UP 


15 


MJ 





LN11 


16 


KJ 


PA 2 


PA 


17 


TP 


LN4 


CD27 


20 


TP 


CD17 


UP3 


21 


RJ 


UP2 


UP 


22 


MJ 





LN11 


23 


RJ 


PA2 


PA 


24 


TP 


LN4 


CD42 


25 


TP 


CD31 


UP3 


26 


RJ 


UP2 


UP 


27 


MJ 





LN11 


30 


RJ 


PA2 


PA 


31 


TP 


LN4 


CD54 


32 


TP 


CD44 


UP3 


33 


RJ 


UP2 


UP 


34 


MJ 





LN11 




CA 


PA35 






IA 


CD 







00 


CD1 


4 


1 


65 


30506 


63050 


2 


26 


30010 


17777 


3 


01 


01010 


10101 


4 


01 


01017 


77777 


5 


40 


CD6 


11 


6 


34 


46463 


03224 


7 


46 


01263 


32454 


10 


24 


26663 


05401 


11 


34 


50016 


53050 


12 


66 


30502 


63001 


13 


50 


67472 


53054 


14 


01 


77777 


77717 


15 


01 


01010 


10101 


16 


43 


77777 


77777 


17 


40 


CD20 


11 


20 


30 


72665 


42401 


21 


34 


50663 


03254 


22 


24 


46012 


73432 


23 


34 


66650 


13450 



Out to print sentence type 



286 



24 


01 


65305 


06630 


25 


50 


26300 


15067 


26 


47 


25305 


40117 


27 


01 


01010 


10101 


30 


43 


77777 


77777 


31 


40 


CD32 


12 


32 


30 


72665 


42401 


33 


31 


54242 


66634 


34 


51 


50244 


60127 


35 


34 


32346 


66501 


36 


34 


50016 


53050 


37 


66 


30502 


63001 


40 


50 


67472 


53054 


41 


01 


77777 


77717 


42 


01 


01010 


10101 


43 


43 


77777 


77777 


44 


40 


CD45 


11 


45 


34 


46463 


03224 


46 


46 


01653 


05367 


47 


30 


50263 


00134 


50 


50 


01653 


05066 


51 


30 


50263 


00150 


52 


67 


47253 


05401 


53 


17 


77777 


77777 


54 


01 


01010 


10101 


55 


43 


77777 


77777 




CA 


CD56 





287 



3. TRANSLATION PHASE 



3. Translation Phase 



a. 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 

IZ - List of Referenced Line Numbers 
CL - Constant Pool 
VB - > 

VD - > Variable or Temporary Regions 
TF - J 

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 (A.) 
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. This process 
continues until END OF TAPE is encountered and translated. 

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 ants as a switch- Most translators are trans- 
ferred into core addresses 4400 to 4400 + Nj where Nj 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 + Nj. 

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 


Region 


Addresses 


1. 


Indicates 5 or 7 servos 

5 servos - TN = 

7 servos - TN = 3 


TN 


20 


2. 


Tape Handler 


GT 
UP 


21-420 


3. 


Print Text 


421-536 


4. 


Print Error Heading 


WA 


537-562 


5. 


Build Symbol 


WB 


563-602 






BS 


603-627 


6. 


Translation Control 


CT 


714-751 


7. 


Delete Spaces 


DS 


1001-1007 


8. 


Send Call Word to Translation List 


EW 


1010-1031 


9. 


Fill Symbol (with 77 codes) 


FS 


1032-1060 


10. 


Switch List (used by control) 


FW 


1061-1117 


11. 


Convert Constant to Floating Point 


GG 


1134-1323 


12. 


Get Next Character 


GN 


1324-1376 


13. 


Get Next Sentence 


GS 


1377-1456 


14. 


Assign Constant Call Word 


GW 


1457-1474 


15. 


Send Referenced Sentence Number to List 


IX 


1552-1621 


16. 


Check and Standardize Sentence Number 


LN 


2037-2145 


17. 


Set TN for 5 or 7 servos 


OT 


2146-2155 


18. 


Send Sentence Call Word to Reference List 


RA 


2156-2171 


19. 


Check Floating Point Constant 


RB 


2172-2220 


20. 


Check Fixed Point Constant 


RD 


2237-2264 


21. 


Check Variable Type Symbol 


RH 


2265-2315 


22. 


Get Rest of Lower Symbol 


RL 


2316-2347 


23. 


Decimal to Octal Conversion 


RS 


2350-2424 


24. 


Get Rest of Superscript Symbol 


RU 


2425-2443 


25. 


Rewind all Tapes 


RW 


2444-2465 


26. 


Get Next Symbol 


SY 


2466-2545 


27. 


Get File From Combination List 


TA 


2546-2653 


28. 


Send File Back to CB List 


TD 


2654-2662 


29. 


Add File to CB List 


TE 


2663-2741 


30. 


Increase 66, 65, 64 Call Word Counter 


TK 


2742-2761 


31. 


Get C.W. from Dummy Pseudo Op. List 


TS 


2762-3004 


32. 


Setup Translation Tape 


UB 


3013-3032 


33. 


Error Routine 


UZ 


3065-3110 


34. 


Close Vary File 


VE 


3122-3202 


35. 


Send Translation List to Tape 


SS 
WT 
XJ 


3207-3224 


36. 


Increase 26, 27, 22 Sentence Number 


3225-3245 




Call Word Counter 






37. 


Read Buffer 


BF 


3317-3506 


38. 


Translation List 


WL 

VN 
OR 


3507-3757 


39. 


Operating Area for Translators 


4000-7777 



293 



(4) Drum During Translation 



Name 


Region 


Addresses 


1. 


Flex Codes 


FC 


40001-40100 




combination List; Dimension List and List 
of Library Routines, Pseudo operations and 
Variables 




40101-46100 


3. 


Constant Pool 


CL 


46101-47100 


4. 


Vary File 


VF 


47101-47245 


5. 


Referenced Line Numbers 


IZ 


47246-47721 


6. 


Pseudo Op Sentence Call Words of 2nd Sentences 


JN 


47722-50022 


7. 


Rewind List of Referenced Tape Numbers 


WR 


50023-50045 


8. 


List of Pseudo Operation Dummies 


DP 


50046-50177 


9. 


Vary List: Variables which cannot be altered 








J.H i anyc \sj. ini>i, 


VL 


50200-50332 


10. 


Error Texts (Translation Subroutines) 


FA 


50333-50406 






FB 


50407-50446 






FD 


50447-50512 






FE 


50513-50544 






FF 


50545-50574 






FG 


50575-50623 






FH 


50624-50672 






FI 


50673-50721 






NO 


50722-50751 






PA 


50752-51006 






CD 


51007-51074 




Translators 


Locations 
Transferred 






11. 


COMPUTE 


22538 


CP 


51075-53347 


12. 


READ 


223 8 


RE 


53350-53572 


13. 


TYPE 


1220 8 


TL 


53573-55012 


14. 


LIST 


3753s 


LM 


55013-60765 


15. 


PRINT 


2508 


PS 


60766-61235 


16. 


IF 


2423 8 


KP 


61236-63660 


17. 


VARY 


24448 


VY 


63661-66324 


18. 


RESUME 


67 8 


RV 


66325-66413 


19. 


JUMP 


144 8 


SJ 


66414-66557 


20. 


STOP 


30 8 


SP 


66560-66607 


21. 


END OF TAPE 


225 8 


EU 


66610-67034 


22. 


EXIT 


52 8 


EZ 


67035-67106 


23. 


START 


45 8 


ST 


67107-67153 


24. 


Equation 


3663 8 


YA 


67154-74527 


25. 


Pseudo Operation Heading 


1050 8 


HE 


74530-75600 


26. 


Remainder of drum is service routines 

i 







294 



(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. Rest of this sentence not checked. 

F4 More than 25 errors this program. Reread specifications. Program not 
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. (Const.) 

F8 More than one decimal point in constant. (Const.) 

F9 Assumed constant contains a letter. (Const.) 

F10 More than six characters in fixed point constant. (Const.) 

Fll A decimal point in a fixed point constant. (Const.) 

F12 More than six characters in variable type symbol, (sym. ) 

F13 Variable type symbol contains a point, (sym.) 

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. -AA 

F19 Key word, ----- f used as variable. 



295 



(6) List Formats 
(a) 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 
Address CB = q 



u v 
2(N) 



where N = the number of words in the CB 
list not including CB ; N is increased each time an item is added to the CB list. 



The items have somewhat different formats so each will be described. 

Parentheses indicate the extent of the word used. 

1. Subscripted Variable 

Op u v 



00 


( D ) 





( 


s 


) 


00 





( CW ) 


0(Z) 


M 


N 





( mg ) 


( m x ) 








( m 3 ) 



D = 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 Z,ZpZ~ 

Z = 1 the variable is defined by an equation before START 
Zp = 1 the variable is defined by an equation 
Z„ = 1 the variable appears in a READ sentence 

M = The modulus (the total number of words of storage needed by this 
variable in the object program). 

N = The number of subscripts. 

m , nu, m„ - multipliers used in the manipulation of subscripts 
m = product ofrightmost n-1 dimensions 
nu = product ofrightmost n-2 dimensions 
m„ = rightmost dimension 



296 



2. Pseudo Operation 
Op u 



( 


S 


) 





OOOOO 


( CW ) 


O(N) 





( F l ) 


O(Z) 


N 


( F 2 ) 


O(N) 


OOOOO 


( etc. ) 



function 



S = the XS3 code for the symbol 
CW = the call word (4XXYY where YY = the number of operands; XX = pseudo 
operation number.) 
F , Fp, etc. = 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 U(I t J, K, L) would have format: 4 

The variable R would have format: 1. 

The constant 3.49 would have format: 1. 

The constant 75 would have format: 2. (a constant with a decimal point is 

floating point, one without is fixed point.) 

N = number of commas for a function. 

N = number of subscripts for a subscripted variable. 

N = for other operands . 

Z is the same as Z described under the subscripted variable. 

3. Function 



Op 


u 


V 




( 


s 




) 








( CW 


) 


z 


N 


( F 


) 



S = XS3 code of symbol 
CW = Call word (66XXX) 



297 



F = Format as described under Pseudo Operation item. 
Z = Same as Z described under subscripted variable. 
N = The number of commas. 

4. Floating Point or Fixed Point Variable 
Op u v 



( 


s 


) 








( CW ) 


z 









s = 

CW = 



XS3 code of symbol 

Call word (65XXX for floating point, 64XXX for fixed) 

Z is described under subscripted variable item. 

5. Library Routine 



Op 


u 


V 




( 




S 
| 


( CW 


) 
) 



S = XS3 code of symbol 
CW = Call word (5XXXY where Y = number of operands, 
XXX = routine number.) 

(b) 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 (132g). The list is cleared before adding the first symbol. The items 
in the list are as follows: 

1. Subscripted Variable 



Op 


u 


V 


( 




S 



) 

7 6 Y X X 



S = XS3 code of dummy symbol 

76YXX = dummy call word (Y = number of subscripts, 

XX = variable number.) 



298 



2. Function 



Op 


u 




V 


( 


s 




) 








6 


1 X X X 


z 


N 




F 



S f Z, N, F = same as described under Pseudo operation in combination list. 
6 1 X X X = Call word. 

3. Floating Point or Fixed Point Variable 



Up 




u 


V 


( 


1 


S 


) 

6 3 X X X 



S = XS3 of dummy symbol 

63XXX = Call word (the same for both floating or fixed point) 

(c) Translation List (WL) 

WL - Number of words (includes word WL) in translation list < 250 fl . 

WL1 = Standardized sentence number. This is of the form: 



X l X 2 X 3 



X 4 X 5 



where X. is the XS3 code for a decimal digit or XS3 for a space (01). The XS3 
for the point (22) always appears. 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, the equation and the pseudo operation heading. For the 
equation: 

WL2 = EQUATN (XS3) - Before START 
WL2 = EQUATI (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 - 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 dinit. 
The rest of the translation list is not standard but depends on the partic- 
ular translator. 

(d) Referenced Sentence Numbers (IZ) 47246-47721 



Op 


u 




V 




( 




S 



( 


cw 


) 
) 



S = Standardized Sentence Number 
CW = Sentence call word (26XXX, 27XXX or 22XXX) 

(e) VARY (Variable) List (VL) 50200-50332 





Op 


u 


V 


VL 





| VLX | 


VLX 


VL 1 


( 


S l 


) 


V ^ 


( 
( 


s 2 

?3 

1 


) 
) 


1 


( 


1 


) 


VLX 









VLX = Next available address in list 

S, , Sp, etc. = XS3 code for symbols which cannot be altered within range 

of a VARY sentence, 
(f) VARY File (VF) 47101-47245 



Op 



VF 






2 ( N ) 


( M ) 




( 


S 


) 


| 


Y Z 


( cw 1 ) 


( cw 2 ) 


J 



an item of file 



M = Number of words down to first 22XXX VARY sentence, if any. 

N = Number of words in file not including VF 

S = Standardized sentence number of last sentence in range of VARY. 



300 



CW = Call word of sentence jumped to or resumed at end of VARY loop (27XXX, 

26XXX or 22XXX) 
CW 2 = Call word of the VARY sentence (26XXX or 22XXX) 
Z (4 bits) = Count of number of "with" words. 
Y (2 bits) = Y ,Y 2 where: 

Y = 1 Indicates closed out or completed item. 

Y = Item not closed out or completed. 

Yp= Normal jump 

Yp= 1 Resume jump (either stated or implied) 

(g) Rewind List of Referenced Tape Numbers (WR) 

50023-50045 





Op 




u 


V 


WR 





2( 


N ) 


( N ) 


WR1 







cw x 





etc. 







cw 2 






N = Number of words in list not including WR, CW. , CWp, etc. = 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 (JN) 47722-50022 

JN 



Op 


u 




V 





2 ( N 


) 








( CW 


) 








( cw 2 


) 






N = Number of words in list not including JN. 

CW, , CWp, etc. = Call words of Sentence numbers of second sentences of 
pseudo operations. 

This list is used in generation to check for illegal jumps from one pseudo 
operation to another. 

(i) Constant Pool for Object Program (CD 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 ) ( 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 CL1 67001 and so forth. 

(j) Key Words of UNICODE (Region KB - 1664-1722) 

The following words cannot be used as variables in UNICODE. (See region 
KB of coding.) 

DIMENS JUMP 

START STOP 

VARY END 

COMPUT EXIT 

READ POW 

LIST NOT 

TYPE TAPE 

PRINT WITH 

IF THEN 

RESUME AND 



(7) 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 ( Z\.) 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. Then the translator will jump to control 
(CT) before finding the A. symbol. Translation control will pick up symbols 
until a A. appears in SY2. 

This routine is not written as a subroutine and is referenced by: 
MJ CT 

(b) 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 GS1 

If the sentence number word is all Z's it sets up the entire translation 
list for END40FATAPE , 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 GN1 

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 GN1. 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. The following table gives 
all cases: 



303 



No. of Places to shift 
Character word at address Set shift count 

Number put in GN2 in GN3 equal to: 

1 

2 6 6 

3 14 8 14 8 

4 22 8 22 8 

5 30 8 30 8 

6 36 8 369 

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 SY1 
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: 

9. Any lower case character when building a 
superscript symbol, 

10. Any superscript character when building a 
lower case symbol. 

11. / 

12. superscript - 

13. superscript / 

14. = 

15. I 

16. > 

17. < 

All of these characters, except 1, 9, and 10 are symbols by themselves. 
Following is a list of all symbols: 

1. A. 5. ) 

2. 6. + 

3. ; 7. - 

4. ( 8. * 



304 



1. 


A 


2. 


t 


3. 


• 


4. 


( 


5. 


) 


6. 


+ 


7. 


- 


8. 


* 



9. / 

10. superscript - 

11. superscript / 

12. = 

13. | 



14. > 

15. < 

16. Variable Type Symbol 

17. Constant 

18. Superscript Constant 



Op 


u 


V 


X 


Y Z 7 


77777 


77 


77 77 7 


77777 


77 


77 77 7 


77777 



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. For example, if the symbol were XYZ, SY2 - SY4 would be 

SY2 
SY3 
SY4 

SY2 is sent to A before exiting. The rest of the outputs are: 
SYS = Number of characters 
SY6 = Number of decimal points 

1st character a letter 
1st character I, J, K, L or 1 
1st character decimal point or digit 
symbol contains a letter 
symbol is superscript 
space was separator 

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 RL1 

(f) Get Rest of Superscript Symbol (RU) 

This routine builds the symbol in SY2-SY4 until a separator for a superscript 
symbol is encountered. Reference: 

RJ RU RU1 



SY7 = 


= Indicator 


SY10 = 


= Indicator 


SY11 = 


= Indicator 


SY12 = 


= Indicator 


SY13 = 


= Indicator 


SY14 = 


: Indicator 



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 BS1 

(h) Fill Symbol (FS) 

This routine fills the symbol in SY2-SY4 on the right with 77 codes. 
Reference: 

RJ FS FS1 

(i) Delete Spaces (DS) 

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 A. combination* Reference: 

RJ DS DS1 

( j ) Send File Back to Combination List (TD) 

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 TA31. 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-TA31 by this routine if the file is in the CB list. If RJ TA TA1 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 DP. The list consists of the XS3 and the dummy call word of each vari 
able 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 = XS3 of symbol 
TS3 = Call word in v address 
If RJ TS TS1 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 EW1 is executed. 

(o) 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 VB1 and is less than or equal to 777 fl . The 
counter is left in A and VB1 so that 66000, 65000, or 64000 may be added to it 
to obtain the proper call word. Reference the routine with RJ TK TK1. 

(p) 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. Reference is by RJ XJ XJ1. 

(q) Print Error Heading (WA) 

This routine prints the following on the typewriter; 

SENTENCE AAX AAA(Y)AA 

where: X = sentence number from WL1 (1-6 characters), 

Y = type of sentence (IF, COMPUTE, etc.). First six characters 
from WL2 if more than six, otherwise all characters from WL2. 

Reference the routine as follows: 

RJ WA WA1 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 UZ1 



307 



The sum of the errors per program is kept in UZ2, the number of errors 
per sentence in UZ3. 

(s) Check Floating Point Constant (RB) 

This routine uses the indicators in SY5-SY13 to check the constant for 
errors F8, F9 and F7. 

(t) Check Fixed Point Constant (RD) 

This routine uses the indicators in SY5-SY13 to check the constant for 
errors F9, F10, and Fll. 

(u) P rint Text (UP) 

Send the parameter to UP3 and perform the instruction: 

RJ UP2 UP 
The parameter is of the form: 

Op u v 

OP X N 
where X = address 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: 

1) Set to print 80 ]0 characters this line. 

2) Set to print spaces. 

3) Print 4 carriage returns. 

If OP = 40, printing will continue where left off. 

When 80. ft 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) Print 19 spaces. 

3) Set to print 61 _ more characters this line. 

4) 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 SCC fault will occur. 

The character count is in UW21. It is counted down. 

The routine assumes a manual jump instruction is at address 0. 

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) P ut Call Word in List of Referenced Sentence Numbers (RA) 

This routine searches the list (IZ) for the sentence number in WL1 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, IF, READ and RESUME translators. 

(w) Translation Set-Up Subroutines (OT and UB) 

When seven Uni servos are to be used for UNICODE, the MJ1 switch should be 
set. When only five Uniservos are used, this switch should not be set. 

Routine OT puts 3 in TN if the MJ1 switch is set. Otherwise TN is 
cleared. Parameters for the generalized tape handler are prepared initially 
for the f ive-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 UB puts the proper parameter word in WT, the Tape Write routine, 
depending upon the assigned value to TN. Also this routine writes the title 
block of the string-out tape: 20 words of Z's; the title, String-Outs; and 
the balance of the block in Z's. 



309 



RJ OT OT1 and RJ UB UB1 are the instructions needed for these set-up sub- 
routines. 

(x) Write Translation List on Tape (WT or SS) 

Instruction RJ WT WT1 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 fi to determine the number 
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 fi 
addresses. Each line number in IZ is followed either by its call word in the 
v position of the next address or by zero. In fixed location 11 is a counter 
which keeps track of the size of IZ. At the beginning of string-out 
00 20000 00000 is put into 11. 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 1X1. First 
list IZ is checked to see if the line number is already in the list. If it 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 re- 
ferrals contained in 1X47. A later subroutine EE of the End of Tape instruction 
prints the number in 1X47 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 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 out- 
put 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 working- 
storage locations comprising the routine. This region takes up 55 fi 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 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. Numbers are packed, 
starting from the leftmost position. 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. Each 
number starts in GG4. The output goes to GG3. The instruction to use the 
routine is RJ GG2 GG. 

Three reco regions contain the routine. GG takes up 170 fl locations; CF 
occupies 17q places; and CC, temporary storage, is in 27 fi addresses. Thus 
236 fi addresses are needed for its operation. 

Each line of input contains six excess-three characters. A 6-bit binary 
number represents each character. 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 10 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 de- 
termine 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 2 /.....i n in the output. It becomes the mantissa of the floating 
point number with ip, as its first significant bit. 

The k of the scale factor command is used to compute the biased character- 
istic (b) as follows: (numbers are in octal) 

If k = 45, both the biased characteristic and mantissa equal zero. 

If k > 45, b = k - 110 + 243 + (CC 6) - (CC 5). 

If k < 45, b = k + 243 + (CC 6) - (CC 5). 

(CC 6) = 1 or 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 GW1. Call-word output goes to A and Q . 

If n of 2, n n in absolute address 10 exceeds IOOOq, 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 re- 
ferrals 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: 

MJ2 OFF TCU1 
MJ2 ON TCU2 
The 1103A version ignores MJ2. 

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 PM TH3 
RJ TH2 TH 
where PM is the address of the parameter. 
The parameter has the following form: 

RMTNNSSVVVVV 
each letter representing one octal digit. 
R specifies the operation desired: 
R = 1 Rewind 

R = 2 Rewind with Interlock 
R = 3 Move forward 
R = 4 Move backward 
R = 5 Read forward 
R = 6 Read backward 
R = 7 Write 
R = Write (special case, explained later) 

M specifies blockette spacing (for write only) 

M = 1 0.0 inches 

M = 2 0.1 inches 

M = 4 1.2 inches 
T specifies block spacing and density (for write only) 



313 



T = 1.2 inches - lower density 

T = 1 1.2 inches - higher density 

T = 2 2.4 inches - lower density 

T = 3 2.4 inches - higher density 

NN = number of blocks to be written . 
MTNN = number of blocks to be read or moved. 
SS = Uni servo number 

VVWV = High speed storage address for read and 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 de- 
scending 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 = when 
one block is written. Hence, it is suggested that R = never be used in a 
parameter. There is a print-out and stop after six reads of a block in which 
a parity or 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 rep- 
resentations of Line Number 1.3: 

A A A 1 . 3 
( A 1 . 3 ) 
1 . 3 A A A 
1.30 
(1.30) 
A A 1 . 3 A 



314 



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. The excess-three representation of decimal digits 
makes this possible. 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. No Unityper codes other than those for ( )A. ?0 123456 
7 8 9 may appear, (here % denotes the "Nonexisting character" whose 
code is 77). 

2. At most one "." code may appear (none is needed if the Line number is 
an integer). 

3. At least one non-zero digit code must appear. 

4. 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 ( ) A . 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; 



i» it 



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 
followed by at least one non-zero digit will appear. 

4. The integral digits appear in character positions 1, 2, 3 and the 
fractional digits in character positions 5, 6. 



315 



5. All character positions which are not filled with digits or a 
filled with space (A) codes. 



are 



Hence, the effect of this routine operating on a Line number is to shift 

4-Ua T -5 n *-\ viiimKnt* nnf i 1 + 1* r* j-I <r\ /» -i wi o 1 r\Ai m+ io -i*i rtAC-i f i An A I -i v» o *-» %• -fr «-i ^aa imfil nm 11 + 
l/!iC? U1UC 11U1UJJUX UUtlX 1/ilV^ Vl\^V^ J.111CI X pUillt Id JL11 ^UQ1|/1V/U t VJ-UO^X L> Q Vi^V/XIUMA pviilb 

if there is none), delete all unnecessary digits, and put A codes in all unused 
positions. 



Examples: 



Legal Input 
Line numbers 

123.45 

023.40 

003.00 

(A1AA) 

000.01 

999.99 



Corresponding Output 

Line numbers 

123.45 

A23,4A 

AA3.AA 

AA1.AA 

AAA.01 

999.99 



Illegal Input Line Numbers 

A12.3A 0127.9 1.23. A 

0000.2 .004 A A 93A2.6 

4321AA .12000 AAA0AA 

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 left- 
hand margin in the first six character positions of a Sentence. 

For both classes of numbers, the input number is put into LN4 and the out- 
out 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 left- 
hand margin. Instruction RJ LN2 LN1 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 UZ1 before the print-out. 

Error print-outs. Case I: In this case the Print Error Heading routine, 



316 



WA, 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. 

Examples of the four different alarm print-outs for Case I follow: 

SENTENCE 123.45 (VARY) ILLEGAL CHARACTER IN SENTENCE NUMBER (ABCDEF) 

SENTENCE 123.45 (VARY) EXTRA INTEGRAL DIGITS IN SENTENCE NUMBER (1234.0) 

SENTENCE 123.45 (VARY) EXTRA FRACTIONAL DIGITS IN SENTENCE NUMBER (12.345) 

SENTENCE 123.45 (VARY) 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) Region Assignments of Translation Subroutines 



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 



TN20 

GT21 

TH21 

UP421 

DQ443 

DS453 

DW513 

WA537 

WB563 

BS603 

CC630 

CF657 

CJ676 

CT714 

DG752 

DR757 

DSlOOl 

EWIOIO 

FS1032 

FW1061 

FX1120 

GG1134 

GN1324 

GR1377 

GS1406 

GU1444 

GW1457 

GX1475 

HA1500 

HB1541 

1X1552 

KA1622 

KB1664 

KK1723 

LL2030 

LN2037 

MR2052 

0T2146 

RA2156 

RB2172 

RC2221 

RD2237 

RH2265 

RL2316 

RS2350 

RD2425 

RW2444 

SY2466 

SZ2530 



i 



Indicates 5 or 7 servos 
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 


TA2546 


RE 


IB2637 


RE 


ID2654 


RE 


TE2663 


RE 


IF2702 


RE 


TG2732 


RE 


1K2742 


RE 


TS2762 


RE 


UA3005 


RE 


UB3013 


RE 


UC3033 


RE 


UD3060 


RE 


UM3065 


RE 


UZ3067 


RE 


VB3111 


RE 


VD3116 


RE 


VE3122 


RE 


VG3142 


RE 


VH3171 


RE 


VI3176 


RE 


WS3203 


RE 


WT3207 


RE 


SS3207 


RE 


XJ3225 


RE 


XM3246 


RE 


Z03263 


RE 


ZS3267 


RE 


BF3317 


RE 


VN3507 


RE 


WL3507 


RE 


FC40001 


RE 


CB40101 


RE 


CL46101 


RE 


VF47101 


RE 


IZ47246 


RE 


JN47722 


RE 


WR50023 


RE 


DP50046 


RE 


VL50200 


RE 


FA50333 


RE 


FB50407 


RE 


FD50447 


RE 


FE50513 


RE 


FF50545 


RE 


FG50575 


RE 


FH50624 


RE 


F I 50673 


RE 


N050722 


RE 


PA 50752 


RE 


CD51007 



} 



Get File from CB list 

Send File back to CB list 

Add File to CB list 

Increase 66, 65, 64 C.W. counter 

Get C.W. from dummy pseudo op. 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 

Flex 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 op. Dummies 

Vary List 



Error Texts 



319 



RE 


0A32253 


RE 


0C30223 


RE 


0D31220 


RE 


0E33753 


RE 


0F30250 


RE 


0G32423 


RE 


0H32444 


RE 


0130067 


RE 


0J30144 


RE 


0K30030 


RE 


0L30225 


RE 


0M30052 


RE 


0N30045 


RE 


0033663 


RE 


0P31050 


RE 


004400 


RE 


0R4000 


RE 


0S4566 


RE 


0U4700 


RE 


CP51075 


RE 


RE53350 


RE 


TL53573 


RE 


LM55013 


RE 


PS60766 


RE 


KP61236 


RE 


VY63661 


RE 


RV66325 


RE 


SJ 66414 


RE 


SP66560 


RE 


EU66610 


RE 


EZ67035 


RE 


ST67107 


RE 


YA67154 


RE 


HE74530 



Compute > 

Read 

Type 

List 

Print 

If 

Vary 

Resume 

Jump 

Stop 

End of Tape 

Exit 

Start 

Equation 

Pseudo Op. 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 Op. Heading^ 



3 ( n ) 

Where n = number 

of words to transfer 

from drum. 



^tartinn aHHrpccPc 

in core 



1st addresses 
of Translators 
^on drum 



320 



(a) Flow Charts of Translation Subroutines 
(a) Setup Translation Phase 



( Start V 



00 



Send translators 
to drum (133q 

blocks) 50333- 
75600 



Jump to setups 
for no dimension 
5075 



MJ Dimens? 



Yes 



Jump to 
dimension 
translator 

4400 



Flex codes (FC) 
to drum 40001- 
40100 



Read trans, 
subs to core 
21-3316 




Move #5 fwd, 
1 block 



Dimension 
translation to 

core, 
4400-5267 



Setup 
Subs 



Print: PASS I. 
TRANSLATION AND 
ERROR DETECTION 



(b) Translation Control (CT) 



GO 

to 




CT 



WL2 - N No 
PRINT? Y— ~ 



Yes 



To heading 
trans. 



Yes /^Pseudo 
*— ( op.? 




No 



7|\ 



Yes 




DIMENS? \ No J Before? \ No 




<D 



Yes 



WL2 = 
EQUATN 



© 



K Yes / Start? 



Yes/var. type 
I Sym? 



) 



No 




No /Error 
F2 



Yes/In CB 
V list? 



No 



No 



To Eq. 
trans. 



Key word? 



CT 



Yes 




END? 



No 




Yes 



To End 
trans. 




G> 








Var. type 
symbol? 



Yes 



Sym 



■> WL2 



No 



WL3 = 
27XXX 




No 



<D 




WL3 = 
22XXX 



To translator 
for particular 
sentence 




CT 



(c) Get Next Sentence (GS) 



00 




Errors/Sent, 

= 




beginning of 
blockette 



Yes 



Char, add, 
+ 1 



GS 



No ( In last 
blockette 



yes 



No 



Set Get Char, 
routine 



Sent. no. 
A's? 



Yes 




Yes/ all 



A f s? 







Z's? V No 



Sent. no. 
to WL1 



Yes 



to END 
trans. 



f Service\ 
routine | 







(d) Get Next Character (GN) 




Start/ 
.GN 




Char, count 
> 120? 



Yes 



blockette 
count > 5? 



Yes 



TH 



No_/ S ^£ ? Vfe^ 



No 



No 



blockette 
count + 1 



Shift = 6 



Shift + 6 









Char. 
+ 1 


add. 


> 


f 




> 


t 


Char. add. 

= BF 


— > 


Char, count 

= 6 



Clear 
shift 



Char. add. + 1 



Char, count 
+ 1 



Shift word 
by 6 




1st 6 charsA Yp* 
A's? V^ 



Char. add. 
+ 1 




Clear errors 
per Sent. 



*© 




CT 



(e) Get Next Symbol (SY) 



H No 




Previous synu 
-> SZ2-SZ14 



Clear 
SY2-SY14 




Period? 



No 



0- 



Yes 



a ^ ^ Yes /A indicator^ 
A.-^ output K^ ? 



©* 



Set superscript 
ind. 





RL 



dec. points 
+ 1 



No 



Set constant 
indicator 



Yes 



4 y+ Superscript \_^ 



Letter? 



No 



digit? 



Jo/I. J, K, L 
* » or M? 



Yes 



Set letter 
ind. 



Set constant 
ind. 



Yes 



Set ind. 




<D 



Superscript 
period? 



No 



Superscript 
digit? 



Yes 



dec, points 
+ 1 



Set constant 
indicator 



Yes 




Set super- 
script ind, 




Symbol 
— >A 




Exit 
SY, 



(f) Get Rest of Lower Symbol (RL) 



-4 




if) 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) 




BS 
Start x 



Add character 
at GN4 to Symbol 

in SY2 - SY4» 




(i) Fill Symbol (FS) 



00 

to 

CD 




Fill remaining 
characters of 
SY2 - SY4 with 
77 codes 




(j) Delete Spaces (DS) 




Char, in A \ Yes 
= A ? P^ 





(k) Send File Back to Combination List (TD) 



Set up RP 
inst. 



Set up add. 
in CB list 



Transfer 
TA2 - TA(n) 
to CB list 



(1) Add File to CB List (TE) 




to 




Previous 
Print? 



Set ind. of 
print 



No 





Transfer 
TF1 - TF(n) 
to CB list 




(m) Get File from CB List (TA) 



o 




(SY2) -» A 



In CB 
list 



Yes 



Transfer file 
to TA2 - TA31 
Exit + 1 




7 



No 




(n) Get Call Word from Pseudo Operation Dummy List (TS) 




In Pseudo 
Op? 



Yes / In List? 



Yes 



No 




No 



XS3 -> TS2 
CW -> TS3 
Exit + 1 




Exit 
TS 



Exit 
TS 




CO 
CO 



(o) Send Call Word to Translation List (EW) 




Add, in list 
+ 1 



Exit 
EW/ Yes 



List 



No 



full? 



Yes 



Send (EW2) 

to next address 

in WL list 



Previous 
print? 




Set ind, of 
print 



Add. in list 
- 1 





vExit 
EW/ 



(p) Increase 66XXX, 65XXX, 64XXX Call Word Counter (TK) 






(VB1) = 777 Q ? ) No ^ 




(VB1) + 1 
->(VB1) and A 




Exit 
TK 



(q) Increase 26XXX, 27XXX, 22XXX Sentence CW Counter (XJ) 



CO 




*kv: 



(VB4) = 777 8 ? 




Yes 



Previous 
print? 




Set print 
ind. 




No 



(VB4) + 1 
h> VB4 and A 




(r) Print Error Heading (WA) 




GO 
00 



Sent. No. (WLl) 

-> WB3 

WA1 = RJ UZ UZ1 

(WL2)-^>WB5 




(WL2) = 
EQUATN? 
EQUATI? 



No 



Yes 



WB5 = EQUATI 
WB6 = ON 7—7 





(WL2) = 
COMPUT? 



No 



Yes 



WB5 = COMPUT 
WB6 = E 7 7 



(WL2) = 
DIMENS? 



No 



Yes 



WB5 = DIMENS 
WB6 = ION 7—7 



jy 



(s) Error Routine (UZ) 




'UZ 
StarO 



00 
00 

en 



Errors/Prog, 
+ 1 (UZ2) 



More than 
25? 



No 



Errors/sent. 
+ 1 (UZ3) 




More than 
5? 




Yes 



Print F3 



Clear 
Errors/sent. 







(t) Check Floating Point Constant (RB) 




< Contain a 
letter? 




Yes 



No 



Ex1T7 
RB 



\ Exit 



CO 



(u) Check Fixed Point Constant (RD) 




No. of char 
> 6? 




Any dec. \ No 
points? / 



-9 



Yes 



Contain a 
letter? 




Yes 




Exit 
RD 



(v) Check Variable Type Symbol (RH) 



00 



(w) Print Text (UP) 



CO 

co 

CD 



'UP 
Start 



'Par. =00 \ 
^ or 40 ) 


j 


00 

v 


Set to print 
80- char. 


v 


Print 4 


carr. 


rets. 


S 



(7>JNL9_ 



A 40 n\ J W ° rd t0 1 /y\ /All words 
J v^~~* workin 9 S P* ~~ *W~^l printed? 



Yes 



Clear Ind. 



6 char, 
printed 



<k 



Yes 




No 



A code? 



Yes 



No 



Yes / 77 code? 



No 



% i 



Set Ind. 



81st char.?\ y e <; 



Ind. Set? U£& 



No 



}Y 



No 



81st char.? 



Yes 



Print CR CR & 
19 spaces 



Set to print 
10 char. 



No 



Print char. 



lY 



(x) Put Call Word in Sentence Number Reference List (RA) 




Sent, no. 
*\ in list? 



No 




Yes 



Sent. no. CW 
from WL3 to 
list. 




00 
00 

sO 



(y) Rewind All Tapes (RW) 




5 Servos? 



Yes 



Rewind 
1-5 




Exit 
RW, 



NO 



Rewind 
1-7 




(z) Tape Handlers (TH) 1105 and 1103A 



o 




TH 
Start 



Set servo no, 
and tape bit 



^Read, Write 
or move zero 
v blks? 



Yes 




No 




Rewind s?^ No J Moves? ^ No ( Reads? \_Yes 



Yes 



Code word 

— ->w 



EF W 




Exit 
TH 




Yes 



Set index 
code word— >W 



Move N 
blocks 




No 



Parity? 



No 



Build 
Write code 



Write N 
blocks 




Read bwd 
(fwd) low 



Yes 



Print out 
and stop 



Read fwd 

(bwd) normal 

% 

No 



All read? | c No ( Parity? 



Yes 




Yes 



Read bwd 
(fwd) normal 



Move fwd 
(bwd) 1 blk 



^/Parity? 



Yes 



Read fwd 
(bwd) high 



No 



Parity? 



_^ 



No 



Yes I Parity? 



Yes 



Read bwd 
(fwd) high 



Read fwd 
(bwd) low 



< YeS (Parity? 



No 



•© 



(aa) Routine To Set TN Indicator for 5 or 7 (MJ1) Uniservos (OT) 



oo 




Puts zero into indicator 
address TN to show that 
only 5 Uniservos are 
to be used 



Puts 0000003 00000 into 
indicator TN to show 
that 7 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 Uni servos (UB) 




Entry 



ro 



Using indicator TN, 

inserts proper parameter 
into WT Tape-Write 

Routine so String-Outs 

will be written either 

on Tape 3 or 6 



Fills first block- 
ette of title block 

with lines of Zs 



Puts String-Outs 
on first 2 lines of 
2nd blockette of 
title block 



Fills remainder 
of title block 
with Z lines 



Writes title block 
on tape via tape 
handler GT 




(ab) Translation Tape Write Routine (SS or WT) 



00 




Has error 
routine been 
referenced? 




No 



Calculate no, blocks 
from no. lines in 
routine. (170q iines 
= 1 block) 



Make up parameter 
for gen. tape 
handler 



Reference generalized 
tape handler to write 

string-out on tape 



Exit 




(ac) Put Referenced Sentence Number Into List IZ (IX) 







/'Are number of 
^(referenced lines 
V > 150? 




Yes 



Is line number 
in reference 
list 



No 



Up count of 

excess 

referrals 



Exit 




s line number 
in reference 
list 




No 



Up counter 11 
of referenced 
lines 




Error Print-Out: 
Referenced Lines 

Exceed 150 




Are number of 
referenced lines] 
>150? 



Yes 



Start count 
of excess line 
no. referrals 



Reference 
error 
routine 



Exit 




Clear subsequent 
line in list 



Add line number 
to next position 
in list. 



(ad) Excess-Three Decimal to Octal (RS) 




Clearing and resetting 
working storage 



9* 



00 



Conversion 
from excess 3 




Jump to 
exit 



Checking for end 
of digits signs 



Yes 



Counting and accumu- 
lating digits in one 
line 



Computing and per« 
forming initial 
shift on digits 



Computing index 
of octal conversion 



Decimal to octal 
conversion 



No 



(ae) Excess-Three Decimal to Floating Point (GG) 









Clear and set 
storage elements 



MJ 



Add biased charac- 
teristic and 
mantissa and store 
in output 



Compute biased char- 
acteristic and 
mantissa 



Convert from excess 
3, count, and store 

integral portion of 

input 



Convert from excess 
3, count, and store 
fractional portion 
of input 



Convert decimal 
numbers to octal via 
multiplication and 

division 



(af ) Assign Constant Call Word (GW) 



© 




s length of 
constant list 
1000? 




Is constant 
in list? 



Ye: 



Obtain position 
of constant 
in list 



Y- 



es 



Is constant 
in list? 



Yes 



00 



Obtain position 
of constant 
in list. 



Add base number 
66777 to this 
ordinal position 
to get call word 
for constant 



Put call word 

output in Au 

andQv 



No 



Up excess 
count of 
referrals 



© 



Exit 




Giving the fixed 
call word 67777 to 
all excess constants 



Up count in 10 of 
length of 
constant list 




Is length of 
list < 1000? 



Ye; 




Add constant to 
next position 
in list 



No 



Print-Out: 
Too Many 
constants 



Obtain ordinal 
position of 
constant 



Reference 

Error 

Routine 



Start excess >— 
count of constant — >f 3J 
referrals 



(ag) Close VARY File (VE) 




Are there any 

>i unclosed items 

in vary file? 

No~ 




s current sentence 



-j no. > sentence no. in 
^ las 

of vary 



last .unclosed item 



Yes 



© 




(£>- 



CD 



(r) 
(r) 



-© 



&~ 



Insert call word given 
by (QO-t-l (V-portion) in- 
to U-portion of word at 
address given by temp 1 



Insert call word of 
current sentence in U- 
portion of word at 
address given by Tempi 



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 address 
given by temp 1 



-0 



© 



Record address 
given by («)+l in- 
to temp 1 



Set index to 
number of 
"with" words 



&~ 



Close last file 
in variable 
list 




Index = 0?^\y e 
(decrease) 



Is current sentence 
number > sentence number 
,at address given by (<*)? 





Decrease 
(°) by two 




(B)>(o)? 



N / Is word at address 
-*[ given by (a)+l 

flagged? > 



Yes 



© 



No 



*© 



Yes 



Close Vary File and Variable List 



(«) 


= address 
file. 


of last unclosed item in vary 


OS) 


= address 


first unclosed item in vary file 


(y) 


= address 
file 


for inserting next item in vary 



CO 




(10) Coding of Translation Subroutines 

(a) Regions Setup Translation 

(Translation Subroutine Regions necessary also) 



ZZ7230 

40 
CE7270 

41 
ZY7331 

44 
ZC7375 

41 
7436 

BB7116 

CR5075 Entrance dim #2 

0Q4400 Entrance dim #1 - 1 

0V37020 No. wds in buffer for RP3 

0Z75413 = FA + 3 x (no. wds in buffer) 

0Y30165 No. wds in last blk of translators 

TI7610 Tape image 



350 



Setup Translation Phase 
(the 2 blocks after the merge) 





IA 


ZZ 







TP 


CE32 


BB2 


1 


RJ 


BB 


BB1 


2 


TP 


CE36 


CE35 


3 


TV 


CE37 


ZZ7 


4 


TP 


CE3 


ZC2 


5 


RJ 


ZC 


ZC1 


6 


RP 


OV 


ZZ10 


7 


TP 


1 


(30000) 


10 


RA 


ZZ7 


CE40 


11 


IJ 


CE35 


ZZ4 


12 


TP 


CE4 


ZC2 


13 


RJ 


ZC 


ZC1 


14 


RP 


OY 


ZZ16 


15 


TP 


1 


OZ 


16 


TP 


CE33 


BB2 


17 


RJ 


BB 


BB1 


20 


RP 


30100 


ZZ22 


21 


TP 


TI 


FC 


22 


TP 


CE5 


ZC2 


23 


RJ 


ZC 


ZC1 


24 


TP 


CE34 


TH3 


25 


RJ 


TH2 


TH 


26 


RJ 


ZY 


ZY1 


27 


TP 


CE6 


TH3 


30 


RJ 


TH2 


TH 


31 


RJ 


GS 


GS1 


32 


RJ 


SY 


SY1 


33 


EJ 


CE7 


ZZ35 


34 


MJ 





CR 


35 


TP 


SY2 


WL2 


36 


RJ 


SS 


SSI 


37 


MJ 





0Q1 




CA 


ZZ40 





7230 

Read in 2nd blk 

Set index 
Set address 



Read 30^ of S.O. 



Increase address 



drum 



Read 90 1Q blks 



► drum 
Last of S.O. — >drum 



FC 



drum 



Read in S.O.S. 

Read in dim. * 1 & * 2 

Setup S.O.S. 

Move * 5 fwd 1 blk 
Get sentence 
Get sym — > A 
DIMENS — » ZZ35 no l 
— >Dinu* 2 
WL2 = DIMENS 
Send S.O. — > tape 
— >dim. # 1 



351 



Constants 





IA 


CE 
















I 








1 


2 





1 





3 





1 


7020 


4 





1 


165 


5 





TH 


ZS27 


6 


30 


105 





■7 
• 


IT 

L. 1 


Q/1/I7Q 


\J<J\J\JxJ 


10 








37700 


11 





20000 





12 


77 


77777 


77776 


13 





CB1 


CB1 


14 





BF165 


BF165 


15 


01 


22777 


11111 


16 





VL1 


VL1 


17 





CE20 


12 


20 


01 


01010 


10101 


21 


52 


24656 


50134 


22 


22 


01010 


10101 


23 


01 


66542 


45065 


24 


46 


24663 


45150 


25 


02 


02305 


45451 


26 


54 


01273 


06630 


27 


26 


66345 


15001 


30 


24 


50270 


17124 


31 


54 


50345 


03265 


32 





170 


ZZ170 


33 





170 


TI 


34 


50 


00401 


OQ 


35 











36 








2 


37 








FA 


40 








7020 




CA 


CE41 





Zero 

One in V 

One in U 

S.O. parameters 30 ]0 blks 

Last S.O. par. 

S.O.S. par. 

Move # 5 fwd 1 blk 

n T VI F M c 

u x. ill t-t u vj 

VBO 

VB1 - VB4 



A . 



A A 


A 


A 


A 


A 


P A 


S 


S 


A 


I 


. A 


A 


A 


A 


A 


A T 


R 


A 


N 


S 


L A 


T 


I 





N 


- 


E 


R 


R 





R A 


D 


E 


T 


E 


C T 


I 





N 


A 


A N 


D 


A 


W 


A 


R N 


I 


N 


G 


S 


Read 


2nd 


blk 




Read 


in 


FC 






Dim. 


# 1 


& 


# 2 


par 


Inde> 










Set i 


ndex 







352 



Setup Translation Subroutines 





IA 


ZY 









MJ 





(30000) 


Exit 


1 


TP 


CE10 


VB 


Start, VB = 37700 


2 


RP 


10004 


ZY4 \ 




3 


TP 


CE12 


VB1 J = -1 


4 


TP 


CE13 


1E2 


TE2 = CB1 CB1 


5 


TP 


CE11 


CB 


CB = 20000 


6 


TP 


CE14 


GN2 


GN2 = BF165 BF165 


7 


RP 


10004 


ZY11 ) 
GN3 J 




10 


TP 


CE 


= 


11 


TP 


CE15 


SY2 


SY2 = A. 


12 


TP 


CE 


EW4 "\ 




13 


TP 


CE 


IE3 




14 


TP 


CE 


TS4 




15 


TP 


CE 


UZ2 


> -o 


16 


TP 


CE 


UZ3 




17 


TP 


CE 


TK2 




20 


TP 


CE 


XJ2 




21 


TP 


CE 


VD 


= 


22 


RP 


10017 


ZY24 ] 


\ =0 


23 


TP 


CE 


1 J 


24 


RP 


10005 


ZY26 1 
5 J 


> = 20000 


25 


TP 


CE11 




26 


TP 


CE 


7 


= 


27 


TP 


CE 


VD1 


= 


30 


RJ 


OT 


0T1 1 
UB1 J 


Set upTN, write headi 


31 


RJ 


UB 


* 


32 


TP 


CE1 


13 


No. blks = 1 


33 


TP 


CE17 


UP3 1 
UP J 


Print "Pass I etc." 


34 


RJ 


UP2 




35 


TP 


CE16 


VL 


VL = VL1 VL1 


36 


TP 


CE11 


JN 


JN = 20000 


37 


TP 


CE11 


WR 


WR = 20000 


40 


TP 


CE 


FX13 


= 


41 


TP 


CE 


1X47 


= 


42 


TP 


CE11 


VF 


= 20000 


43 


MJ 
CA 



ZY44 


ZY 





353 



Read n blks to storage 





IA 


ZC 







MJ 





(30000) 


1 


MJ 





ZC3 


2 





30000 


30000 


3 


TP 


ZC2 





4 


QT 


ZC34 


ZC35 


5 


LQ 





17 


6 


QT 


ZC34 


A 


7 


ST 


ZC35 


A 


10 


AT 


ZC37 


A 


11 


LQ 





6 


12 


TV 


Q 


BB2 


13 


DV 


ZC40 


ZC33 


14 


TP 


A 


ZC32 


15 


TP 





A 


16 


ZJ 


ZC17 


ZC26 


17 


RS 


ZC33 


ZC36 


20 


TU 


ZC40 


BB2 


21 


RJ 


BB 


BB1 


22 


RA 


BB2 


ZC31 


23 


IJ 


ZC33 


ZC21 


24 


TP 


ZC32 


A 


25 


ZJ 


ZC26 


ZC 


26 


TU 


ZC32 


BB2 


27 


RJ 


BB 


BB1 


30 


MJ 





ZC 


31 








170 


32 











33 











34 





77777 





35 





(30000) 





36 








1 


37 





1 





40 





170 







CA 


ZC41 





Exit 

1st address last address 

Par. — >Q 

Store 1st address in u 

Last address — > Q u 

Last - 1st + 1 — >A 



1st add — >Q V 

Set up 1st add, 

n/l70 fl — > index 

Store remainder 

Quotient = 

no y 

Index - 1 

No. wds = 170 

Read blk 

Address + 170 o 
o 



ZC26 



8 



n blks 

Remainder = — 

no y 
Remainder — > par 
Read remainder 
Exit 
120io 
Remainder 
Index 



exit 



354 



(b) Translation Control 





IA 


CT 







TP 


WL2 


A 


1 


EJ 


KB10 


CT6 


2 


TP 


SY2 


A 


3 


EJ 


KK55 


CT6 


4 


RJ 


SY 


SY1 


5 


MJ 





CT3 


6 


RJ 


GS 


GS1 


7 


RJ 


SY 


SY1 


10 


EJ 


KB 


ZO 


11 


TP 


VD 


A 


12 


ZJ 


HA 


CT13 


13 


TP 


SY2 


A 


14 


TP 


KB27 


WL2 


15 


TP 


SY7 





16 


QJ 


CT17 


UA 


17 


EJ 


KB1 


FW30 


20 


RP 


20023 


CT22 


21 


EJ 


KB 


CT24 


22 


RP 


20004 


HA33 


23 


EJ 


KB33 


CT24 


24 


RJ 


UZ 


UZ1 


25 


TP 


WL1 


FA3 


26 


TP 


SY2 


FA13 


27 


TP 


FA 


UP3 


30 


RJ 


UP2 


UP 


31 


TP 


SY2 


A 


32 


EJ 


KB16 


FW24 


33 


MJ 





CT2 


34 


RP 


30004 


FW24 


35 


TP 


KA20 


WL 




CA 


CT36 






IA 


ZO 







RJ 


WA 


WA1 


1 


TP 


N010 


UP3 


2 


RJ 


UP2 


UP 


3 


MJ 





CT2 




CA 


Z04 





PRINT — > CT6 




no ^ 




A. — >CT6 


no I 


Sym — *-A 




Get sent. 1 




Sym — > A 




D I M E N S - 


— > ZO 


After START - 


->HA 


Before 1 




Sym — > A 




WL2 = E Q U A 


T N 



Var. type \ no — > UA 
STARTS FW30 no b 



Key word ^ no — > HA33 



Fl 



Sym — ■> A 

END — > FW24 no \ 

Return 

END heading — > string 



F20 



Control 



355 



After START Control 





IA 


HA 









RJ 


XJ 


XJ1 




1 


TP 


SY7 


Q 


} 


2 


QJ 


HA3 


UA 


3 


TP 


SY2 


A 


\ 


4 


TP 


A 


WL2 


J 


5 


EJ 


KB2 


HB 




6 


TP 


VB4 


A 




7 


TP 


TS4 


Q 


\ 


10 


QJ 


HAH 


HA13 


) 


11 


AT 


KB25 


WL3 




12 


MJ 





HAH 




13 


AT 


KB24 


WL3 




14 


RJ 


VE 


VE1 




15 


TP 


SY2 


A 




16 


EJ 


KB3 


FW 




17 


EJ 


KB4 


FW2 




20 


EJ 


KB6 


FW4 




21 


EJ 


KB7 


FW6 




22 


EJ 


KB10 


FW10 




23 


EJ 


KB11 


FW12 




24 


EJ 


KB12 


FW14 




25 


EJ 


KB13 


FW16 




26 


EJ 


KB14 


FW20 




27 


EJ 


KB15 


FW22 




30 


EJ 


KB 16 


FW24 




31 


EJ 


KB17 


FW26 




32 


EJ 


KB1 


FW30 




33 


RJ 


XA 


TA1 




34 


MJ 





FW32 




35 


TP 


TA4 


Q 


} 


36 


QT 


KB30 


A 


37 


EJ 


KB31 


FW34 




40 


MJ 
CA 



HA41 


FW32 





Stm' t CW + 1 

VAR, P.O., LIB if no — > UA 

Sym — » A — sheading 

VARY -> HB 

Stm't CW count — > A 

In P.O. I no — > HAH 

CW = 22XXX 

Skip HA13 

CW = 27XXX 

Routine A 

Sym — > A 

Compute 

Read 

Type 

List 

Print 

If 

Replace 

Resume 

Jump 

Stop 

End 

Exit 

START 

Check CB list 

Not in CB list — >Eq. in I 

CW. — > A 

P.O. > heading translator 

no Eq. 



356 





IA 


UA 







RJ 


UZ 


UZ1 


1 


TP 


WL1 


FA 30 


2 


TP 


SY2 


FA34 


3 


TP 


FA25 


UP3 


4 


RJ 


UP2 


UP 


5 


MJ 





CT2 




CA 


UA6 





Not variable type symbol 



F2 



Control 



Vary 





IA 


HB 







TP 


VB4 


A 


1 


TP 


TS4 





2 


QJ 


HB3 


HB5 


3 


AT 


KB25 


WL3 


4 


MJ 





HB6 


5 


AT 


KB26 


WL3 


6 


RJ 


VE 


VE1 


7 


MJ 





FW14 




CA 


HB10 





In P.O. — HB3 I 

No — ■» HB5 
CW = 22XXX 

CW = 26XXX 
Rout A. 

— > Vary 



357 



(c) Switch to Translator List 





IA 


FW 







RP 


OA 


0Q1 


1 


TP 


CP 


OQ 


2 


RP 


OC 


0Q1 


3 


TP 


RE 


OQ 


4 


RP 


OD 


0Q1 


5 


TP 


TL 


OQ 


6 


RP 


OE 


0R1 


7 


TP 


LM 


OR 


10 


RP 


OF 


0Q1 


11 


TP 


PS 


00 


12 


RP 


OG 


OS 


13 


TP 


KP 


0Q17 


14 


RP 


OH 


0Q1 


15 


TP 


VY 


OQ 


16 


RP 


01 


0Q1 


17 


TP 


RV 


OQ 


20 


RP 


OJ 


0U1 


21 


TP 


SJ 


ou 


22 


RP 


OK 


OQ 


23 


TP 


SP 


OQ 


24 


RP 


OL 


0Q1 


25 


TP 


EU 


OQ 


26 


RP 


OM 


OQ 


27 


TP 


EZ 


OQ 


30 


RP 


ON 


OQ 


31 


TP 


ST 


OQ 


32 


RP 


00 


0R1 


33 


TP 


YA 


OR 


34 


MJ 





FW35 


35 


RP 


OP 


0Q1 


36 


TP 


HE 


OQ 




CA 


FW37 





Compute 
Read 

Type 

List 

Print 

If 

Vary 

Resume 

Jump 

Stop 

End 

Exit 

Start 

Equation 

Pseudo op. heading 



358 



Translation Control Constants 





IA 


KB 







27 


34473 


05065 


1 


65 


66245 


46677 


2 


70 


24547 


37777 


3 


26 


51475 


26766 


4 


54 


30242 


77777 


5 


46 


34656 


67777 


6 


66 


73523 


07777 


7 


46 


34656 


67777 


10 


52 


54345 


06677 


11 


34 


31777 


77777 


12 


46 


34656 


67777 


13 


54 


30656 


74730 


14 


44 


67475 


27777 


15 


65 


66515 


27777 


16 


30 


50277 


77777 


17 


30 


72346 


67777 


20 


52 


51717 


77777 


21 


52 


51717 


77777 


22 


50 


51667 


77777 


23 








1 


24 








27000 


25 








22000 


26 








26000 


27 


30 


53672 


46650 


30 








70000 


31 








40000 


32 


40 








33 


66 


24523 


07777 


34 


71 


34663 


37777 


35 


66 


33305 


07777 


36 


24 


50277 


77777 




CA 


KB 37 





D 


I 


M 


E 


N 


S 


T 


A 


R 


T 


V 


A 


R 


Y 




C 





M 


P 


U 


R 


E 


A 


D 




L 


I 


S 


T 




T 


Y 


P 


E 




L 


I 


S 


T 




P 


R 


I 


N 


T 


I 


F 








L 


I 


S 


T 




R 


E 


S 


U 


M 


J 


U 


M 


P 




S 


T 





P 




E 


N 


D 






E 


X 


I 


T 




P 





W 






P 





w 






N 





T 







E Q U A T N 



TAPE 
WITH 
THEN 
AND 



359 



(d) Get Next Sentence 





IA 


GS 







MJ 





(30000) 


1 


TP 


KA12 


UZ3 


2 


TP 


GN2 


A 


3 


RP 


20006 


GS7 


4 


EJ 


KA34 


GS5 


5 


RA 


GN2 


KA31 


6 


MJ 





GS15 


7 


TP 


KA15 


A 


10 


TJ 


GN2 


GR 


11 


SP 


GN6 


17 


12 


AT 


VD3 


GS13 


13 











14 


RA 


GN6 


KA16 


15 


TP 


KA12 


GN3 


16 


TP 


KA13 


GN5 


17 


TU 


GN2 


GS21 


20 


RS 


GS21 


KA14 


21 


TP 


(30000) 


A 


22 


EJ 


KA7 


GU 


23 


TP 


KA17 





24 


QT 


A 


A 


25 


EJ 


KA10 


CT34 


26 


TO 


GS21 


GS27 


27 


TP 


(30000) 


LN4 


30 


RJ 


LN2 


LN1 


31 


TP 


KA24 


WL 


32 


TP 


LN3 


WL1 


33 


TP 


KA12 


EW4 


34 


RJ 


GN 


GN1 


35 


MJ 





GS 




CA 


GS36 






IA 


GR 







TP 


KA6 


TH3 


1 


RJ 


IH2 


TH 


2 


RA 


13 


KA16 


3 


RP 


10004 


GR5 


4 


TP 


KA12 


GN3 


5 


TP 


KA 


GN2 


6 


MJ 





GS16 




CA 


GR7 





1 



1 

) 



Clear no. errors/sentence 

Not special case — > GS7 

Special case ^ beg. of blockette 

Address + 1 

In last blkette — > GR 
No * 

Address in GN2 = 2nd word of blkette. 
TP KA1 + GN2 

Blkette count + 1 
Clear shift 
Char, count = 6 

Line no. — > A 

A* s ->GU no | 

Z's — »CT34 

no ^ 

Standardize line no. 

Word count = 4 

Line no. — > WL1 

Clear print ind. in EW. 

Get char. 

Exit 



Read 1 blk of tape. 
Count blks. 
Set GN 



360 





IA 


GX 







RA 


GU2 


KA14 


1 


IJ 


VD2 


GU2 


2 


MJ 





GS2 




CA 


GX3 






IA 


GU 







TP 


KA33 


VD2 


1 


TO 


GN2 


GU2 


2 


TP 


(30000) 


A 


3 


EJ 


KA7 


GX 


4 


RJ 


uz 


UZ1 


5 


TP 


WL1 


FH21 


6 


TP 


FH11 


UP3 


7 


RJ 


UP2 


UP 


10 


TP 


KA7 


WL1 


11 


TP 


KA24 


WL 


12 


MJ 





GS33 




CA 


GU13 





A's within line 
Check 19 n words for A's 

— > Get next sentence 



A 1 s as line # 
Set index 

A ' s -» GX 

No I 

Set error 

F14 

A f s — » line » 
Count = 4 
— > Exit 



361 



(e) Get Next Character 





IA 


GN 











MJ 





(30000] 


i 


Exit 


1 


MJ 





GN7 






2 





(0) 


(0) 




Address in buffer 


3 








(0) 




Shift 


4 








(0) 




Last character 


5 








(0) 




Character count 


6 








(0) 




Blockette count 


7 


TP 


KA26 


A 




119 10 -^ A 


10 


TJ 


GN5 


GN21 




Char, count ^ 120 -> 


11 


TP 


KA32 


A 




35 10 -^ A 


12 


TJ 


GN3 


GN42 




Shift > 36 1Q -^GN42 


13 


RA 


GN3 


KA13 




Shift + 6 


14 


RA 


GN5 


KA16 




Char, count + 1 


15 


TD 


GN2 


GN16 


} 


Shift word by 6 


16 


LQ 


(30000) 


6 




17 


QT 


KA30 


GN4 




Char. — > A — > GN4 


20 


MJ 





GN 




Exit 


Char. 21 


TP 


KA24 


A 




4 — »A 


Count^22 


TJ 


GN6 


GN45 




Blkette i 5 — > GN45 


120 23 


RA 


GN6 


KA16 




Blkette count + 1 


24 


RA 


GN2 


KA31 




Address + 1 


25 


TP 


KA13 


GN5 




Char, count = 6 


26 


TP 


KA12 


GN3 




Clear shift 


27 


TD 


GN2 


GN30 


} 


Line no. — > A 


30 


TP 


(30000) 


A 




31 


EJ 


KA7 


GN40 




No line nos. — > GN40 


32 


RJ 


WA 


WA2 


) 




33 


TP 


FI4 


DP3 


\ 


F17 


34 


RJ 


DP2 


UP 


) 




35 


TP 


KA12 


DZ3 




Clear errors/sentence 


36 


RA 


UZ2 


KA16 




Errors + 1 


37 


MJ 





CT6 




— » Control 


No. 40 


RA 


GN2 


KA31 




Address + 1 


Line 41 


MJ 





GN13 






Inos.1 42 


TP 


KA13 


GN3 




Shift = 6 


Shifts 43 


RA 


GN2 


KA31 




Address f 1 


36 44 


MJ 





GN14 




— >Get char. 


block- 45 


TP 


KA12 


GN6 






ette^ 46 


TP 


KA6 


TH3 


} 


Read 1 blk. of raw dai 


5 47 


RJ 


TH2 


TH 




50 


TP 


KA34 


GN2 




Address = BF BF 


51 


RA 


13 


KA16 




Count blks 


52 


MJ 
CA 



GN53 


GN25 




— > Return 



GN21 



yes 



362 



Constants 

Get next sentence and 

Get next character 





IA 


KAO 










BF1 


BF1 


1 





BF25 


BF25 


2 





BF51 


BF51 


3 





BF75 


BF75 


4 





BF121 


BF121 


5 





BF145 


BF145 


6 


50 


00105 


BFO 


7 


01 


01010 


10101 


10 


00 


74747 


47400 


11 








2 


12 











13 








6 


14 





1 





15 





BF144 


BF144 


16 








1 


17 


00 


77777 


77700 


20 








4 


21 


74 


74747 


47474 


22 


30 


50277 


77777 


23 








23000 


24 








4 


25 





23 


23 


26 








167 


27 








44 


30 








77 


31 





1 


1 


32 








43 


33 








22 


34 





BFO 


BFO 


35 





BF24 


BF24 


36 





BF50 


BF50 


37 





BF74 


BF74 


40 





BF120 


BF120 


41 





BF144 


BF144 




CA 


KA42 





2nd address 
2nd address 
2nd address 
2nd address 
2nd address 
2nd address 
Read 1 blk. 
A f s 
Z Z Z 

Zero 



of 1st blockette 
of 2nd blockette 
of 3rd blockette 
of 4th blockette 
of 5th blockette 
of 6th blockette 
of corr. tape 

Z 



Mask 
Count 
Z's 
Sentinel END 

C.W. 



\ 



END 

string-out 

corr. 



119 10 changed from 120 

36 10 

Mask 

Changed from BFO BFO 



363 



(f) Get Next Symbol 





IA 


SY 













MJ 





(30000) 




Exit 




1 


MJ 





SY15 




Start 




2 











] 






3 











\ 


Symbol 




4 











J 






5 













No. of characters 


6 













No. of decimal 


points 


7 













1st char, a letter 


10 













1st char. I, J 


, K, L, M 


11 













If a constant 




12 













If symbol contains a letter 


13 













If symbol is superscript 


14 













Space indicator 


15 


RP 


30013 


SY17 


} 


Sym — » XZ2 




16 


TP 


SY2 


SZ2 






17 


RP 


10013 


SY21 


} 


Clear output 




20 


TP 


KK54 


SY2 






21 


TP 


GN4 


A 




Char. — >A 




22 


RJ 


DS 


DS1 




Delete spaces 




23 


EJ 


KK 


XM 




Period — >XM 




24 


EJ 


KK1 


UD 




Upper decimal | 


pt. — >UD 


25 


RP 


20012 


SY27 


} 


Upper digit — > 


•UD1 


26 


EJ 


KK2 


UD1 






27 


EJ 


KK14 


UM 


} 


Upper - or / — 


»UM 


30 


EJ 


KK15 


UM 






31 


RP 


20032 


SY33 


} 


Letter — > LL 




32 


EJ 


KK16 


LL 


No 1 




33 


TP 


KK50 


A 


} 


Digit — > DG 




34 


TJ 


GN4 


DG 


No vp 




35 


RJ 


BS 


BS1 




Build sym 




36 


RJ 


FS 


FS1 




Fill sym 




37 


RJ 


GN 


GN1 




Get character 




40 


TP 


SY2 


A 




Sym — > A 




41 


MJ 
CA 



SY42 


SY 




Exit 





Digit 





IA 


DG 







TP 


KK51 


A 


1 


TJ 


GN4 


SY35 


2 


TP 


KK57 


SY11 


3 


RJ 


RL 


RL1 


4 


MJ 





SY40 




CA 


DG5 





Not a digit — > return 

Yes I 

Set constant 

Get rest of lower 

Exit 



364 



Lower Period or Point 





IA 


XMO 











TP 


SY14 





} 


A ind. set — > XM 


1 


QJ 


XM2 


XM11 




2 


TP 


KK55 


SY2 


^ 


A. — > output 


3 


TP 


KK56 


SY3 


\ 




4 


TP 


KK56 


SY4 


J 




5 


TP 


KK50 


SY5 


^ 




6 


TP 


KK54 


SY14 


\ 


Rest of output 


7 


TP 


KK53 


SY6 


J 




10 


MJ 





SY40 




Exit 


11 


TP 


KK57 


SY11 




Set constant 


12 


RA 


SY6 


KK53 




Pts + 1 


13 


RJ 


RLO 


RL1 




Get rest of lower 


14 


MJ 
CA 

IA 



XM15 

UD 


SY40 


Uppe 


Exit 
r Point 





RA 


SY6 


KK53 




Pts + 1 


1 


TP 


KK57 


SY11 




Set constant 


2 


RJ 


RUO 


RU1 




Rest of upper 


3 


TP 


KK57 


SY13 




Set upper 


4 


MJ 
CA 



UD5 


SY40 




Exit 








Upper - 


and slash 




IA 


UM 











TP 


KK57 


SY13 




Set upper 


1 


MJ 
CA 



UM2 


SY35 







Letter 





IA 


LL 







TP 


KK57 


SY7 


1 


TP 


KK57 


SY12 


2 


RP 


20005 


LL5 


3 


EJ 


KK26 


LL4 


4 


TP 


KK57 


SY10 


5 


RJ 


RL 


RL1 


6 


MJ 





SY40 




CA 


LL7 





Set 1st char, a letter 
Set letter 

I JKLI J no-^LL5 

Set IJ. . .bit 

Get rest of lower 

Exit 



365 



Get rest of lower Symbol 





IA 


RLO 











MJ 





(30000) 




Exit 


1 


RJ 


BSO 


BS1 




Build symbol 


2 


TP 


KK75 


A 


} 


No. char.> 17 — > RL25 


3 


TJ 


SYS 


RL25 


< 17 i 


4 


RJ 


GNO 


GN1 






5 


RP 


20015 


RL7 


} 


Upper case — > RL23 


6 


EJ 


KK1 


RL23 


No 4> 


7 


RP 


20015 


RL11 


} 


Other separator — > RL23 


10 


EJ 


KK60 


RL23 


No 4r 


11 


EJ 


KKO 


RL21 




—> RL21 


12 


TP 


KK51 


A 




14 -> A 


13 


TJ 


GN4 


RL17 




Not a digit -> RL17 


14 


TP 


GN4 


A 




3— >A 


15 


TJ 


KK104 


RL17 




Not a digit — > RL17 digit I 


16 


MJ 





RL1 






17 


TP 


KK57 


SY12 




Set a letter 


20 


MJ 





RL1 






21 


RA 


SY6 


KK53 




No. Pts + 1 


22 


MJ 





RL1 






23 


RJ 


FSO 


FS1 




Fill symbol 


24 


MJ 





RLO 




Exit 


25 


RJ 


GNO 


GNI 




Get char. 


26 


RP 


20015 


RL30 


1 




27 


EJ 


KK1 


RL23 


I 


Separator — > RL23 


30 


RP 


20015 


RL25 




No . — > RL25 


31 


EJ 
CA 


KK60 
RL60 


RL23 


J 





366 



Get rest of upper symbol 





IA 


RUO 











MJ 





(30000) 




Exit 


1 


RJ 


BSO 


BS1 




Build symbol 


2 


TP 


KK75 


A 


} 


Char, count > 17 — >RU12 


3 


TJ 


SY5 


RU12 


no ^ 


4 


RJ 


GNO 


GN1 




Get char. 


5 


EJ 


KK1 


RU15 




Upper . — >RU15 


6 


RP 


20012 


RU10 


} 


Upper digit ->RU1 


7 


EJ 


KK2 


RU1 




10 


RJ 


FSO 


FS1 




Fill symbol 


11 


MJ 





RUO 




Exit 


12 


RJ 


GNO 


GN1 




Get char. 


13 


RP 


20012 


RU10 






14 


EJ 


KKl 


RU12 






15 


RA 


SY6 


KK53 




Pts. + 1 


16 


MJ 
CA 



RU17 


RU1 












(g) Builc 


I Symbol 




IA 


BSO 











MJ 





(30000) 




Exit 


1 


MJ 





BS4 




Start 


2 








(0) 




Shift 


3 





(SY2) 


(SY2) 




Address of word SY2 - SY4 


4 


TP 


SY5 


A 


} 


Char, count = 6 — > BS17 


5 


EJ 


KK76 


BS17 




6 


EJ 


KK77 


BS22 




= 12 10 -> BS22 


7 


TU 


BS3 


BSlO 


} 


Left shift by 6 


10 


LQ 


(30000) 


6 




11 


TP 


KK52 


Q 




Mask — >Q 


12 


TV 


BS3 


BS13 


} 


Char. — > sym. 


13 


QS 


GN4 


(30000) 




14 


RA 


BS2 


KK76 




Shift + 6 


15 


RA 


SY5 


KK53 




Char, count + l 


16 


MJ 





BS 




Exit 


17 


TP 


KK100 


BS3 




Set for 2nd word 


20 


TP 


KK54 


BS2 




Clear shift 


21 


MJ 





BS7 




Return 


22 


TP 


KK101 


BS3 




Set for 3rd word 


23 


TP 


KK54 


BS2 




Clear shift 


24 


MJ 
CA 



BS25 


BS7 




Return 



367 



(h) Fill Symbol 





JLA 


r au 











MJ 





(30000) 




Exit 


1 


TP 


BS2 


A 




Start 


2 


EJ 


KK102 


FS13 




Shift = 36 -> FS13 


o 
O 


TU 


BS3 


FS4 




Shift word by 6 


4 


LQ 


(30000) 


6 




5 


TP 


KK52 


Q 




Mask — >Q 


6 


TV 


BS3 


FS7 


} 


77 fill 


7 


QS 


KK52 


(30000) 




10 


RA 


BS2 


KK76 




Shift + 6 


ii 


EJ 


KK102 


FS24 




Shift = 36 -^FS24 


12 


MJ 





FS4 




Return 


13 


TP 


BS3 


A 






14 


EJ 


KK103 


FS21 




1st word — > 


15 


EJ 


KK100 


FS22 




2nd word — > 


16 


TP 


KK54 


BS2 




Clear shift 


17 


TP 


KK103 


BS3 




Set for 1st word 


20 


MJ 





FSO 




Exit 


21 


TP 


KK56 


SY3 




Fill 2nd word 


22 


TP 


KK56 


SY4 




Fill 3rd word 


23 


MJ 





FS16 






24 


TP 


BS3 


A 


} 


3rd word ->FSl6 


25 


EJ 


KK101 


FS16 




26 


MJ 
CA 



FS27 


FS14 




No — > FS14 



(i) Delete Spaces 





IA 


DS 









MJ 





(30000) 


Exit 


1 


EJ 


CJ13 


DS3 


A — * DS3 


2 


MJ 





DS 


No — > exit 


3 


TP 


KK57 


SY14 


Set A ind. 


4 


RJ 


GN 


GN1 


Get next char. 


5 


EJ 


KK60 


DS4 


A ^GN no i 


6 


MJ 
CA 



DS7 


DS 


Exit 



368 



(j) Constants 



SY, BS, FS 





IA 


KKO 













22 


1 








62 


2 








60 


3 








61 


4 








40 


5 








20 


6 








41 


7 








35 


10 








55 


11 








75 


12 








36 


13 








57 


14 








00 


15 








15 


16 








24 


17 








25 


20 








26 


21 








27 


22 








30 


23 








31 


24 








32 


25 








33 


26 








34 


27 








44 


30 








45 


31 








46 


32 








47 


33 








50 


34 








51 


35 








52 


36 








53 


37 








54 


40 








65 


41 








66 


42 








67 


43 








70 


44 








71 


45 








72 


46 








73 


47 








74 


50 








02 


51 








14 


52 








77 






A 
B 
C 
D 
E 
F 
G 
H 
I 
J 
K 
L 
M 
N 

P 

Q 

R 
S 
T 
U 
V 
W 
X 
Y 
Z 



369 



53 








1 


54 











55 


01 


22777 


77777 


56 


77 


77777 


77777 


57 


40 








60 








01 


61 








63 


62 








02 


63 








56 


64 








64 


65 








23 


66 








21 


67 








42 


70 








76 


71 








16 


72 








37 


73 








17 


74 








43 


75 








21 


76 








6 


77 








14 


100 





SYS 


SY3 


101 





SY4 


SY4 


102 








44 


103 





SY2 


SY2 


104 








03 




CA 


KK105 





A 

+ 



l_ 

> 

< 

( 
) 

17 10 
12 10 



370 



(k) Send File Back to CB list 





IA 


TD 











MJ 





(30000) 




Exit 


1 


LQ 


IA31 


25 






2 


TV 





ID6 






3 


TP 


TB6 









4 


QS 


IA47 


TD5 






5 


RP 


(30000) 


ID 


} 


Exit 


6 


TP 


IA2 


(30000) 


File — > list 




CA 


TD7 














(1) Add Fj 


Lie to CB List 




IA 


TE 











MJ 





(30000) 




Exit 


1 


MJ 





TE4 




Start 


2 





(30000) 


(30000) 




Next add. in CB list 


3 













Ind. of prev. point 


4 


SP 


TE2 





} 


Increase address 


5 


SA 


TF 







6 


TJ 


TB4 


TG 




OK — > TG no ^ 


7 


TP 


TE3 


Q 


} 


Prev. print -»exit 


10 


QJ 


TE 


TEH 


No * 


11 


RJ 


UZ 


DZ1 


1 




12 


TP 


WL1 


FH46 




F15 


13 


TP 


FH22 


UP3 


f 




14 


RJ 


DP2 


DP 


J 




15 


TP 


TB5 


TE3 




Set ind. 


16 


MJ 
CA 

IA 



TE17 

TG 


TE 




Exit 





TV 


TE2 


TG7 




Set 1st address 


1 


TP 


TB6 


Q 


} 


Set repeat 


2 


QS 


TF 


TG6 




3 


TP 


CB 


A 


} 


Set CB for search 


4 


QA 


TF 


CB 




5 


RA 


TE2 


TF 




Increase address 


6 


RP 


(30000) 


TE 


} 


Exit 


7 


TP 


TFl 


(30000) 


Send file to list 




CA 


TG10 









371 



(m) Get File From CB List 



RJ TA TA1 
NIJ 
M.T 



not in list 
in list 



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 
64 
65 
66 
67 
70 



IA 
MJ 
MJ 
CA 



TA 


TA2 



(30000) 
TA32 



( ) 



IA 

1U 

TP 

RP 

EJ 

LQ 

TP 

ST 

AT 

RS 

TU 

RA 

RP 





TP 

TP 

QT 

EJ 

QT 

EJ 

MJ 

TO 

RA 

RA 

RP 

TP 

TU 

RA 

RA 

RP 

TP 

CA 



TA32 
CB 
SY2 

(20000) 
CB1 

Q 
CB 

Q 

IB2 

TA46 

TA46 

TA 

30004 


(0) 

IB7 

IA4 

TB10 

IB10 

IB11 

IB12 



TA46 

TA63 

TA47 

30002 
(30000) 

TA46 

TA70 

TA47 

30023 
(30000) 

TA71 



IA34 

A 

TA 

1A36 

17 

A 

A 

TA46 

IB3 

TA31 

TBI 

TA50 





TA47 

Q 

A 

TA57 

A 

IA64 

IA 

TA63 

TB7 

TB14 

TA 

TA6 

TA70 

TB7 

TB13 

TA 

TA6 



Exit 

Drum add. in u if from dim. 
XS3 of sym 

CW 

Format etc. 
IA5 - IA31 

Store address 
Set up repeat 
Sym — >A 

Not in list — > exit 
In list ^ 



Set up address 



Store address 

Set exit for "in list" 

TP CB4- TA2 
No. words in file 
No. words =4 



CW = 77XXX — > TA57 
CW = 4XXXX — > IA64 

Exit 

77XXX 

Set add. from CB list. 

Count + 2 

— > Exit 

2 more wds — > output 

4XXXX 

Count + 19io 

l9j^Q more wor d s —> output 



372 



Constants 





IA 


IB 









RP 





IA23 




1 








1 




2 


IP 


CB 


IA2 




3 





1 







4 





CB6000 


CB6000 


Max. of CB list + 1 


5 


40 








Ind. 


6 





7777 





Mask 


7 





4 







10 








77000 




11 








70000 




12 








40000 




13 





23 







14 



CA 


2 
IB 15 








373 



(n) Get CW From Dummy P.O. List 



Y RJ 


TS TS1 


Y + 1 


(not in list) 


Y + 2 


(in list) 





IA 


TS 











MJ 





(30000) 




Exit 


1 


MJ 





TS5 




Start 


2 













XS3 


3 








(0) 




CW 


4 













Indicates within P.O. 


5 


TP 


TS4 





\ 


Not in P.O. — > exit 


6 


QJ 


TS7 


TS 


J 


in * 


7 


TP 


SY2 


A 




Sym -»A 


10 


RP 


20132 


TS 


} 


Not in list — » exit 


11 


EJ 


DP 


TS12 


in | 


12 


SP 


TS21 





\ 




13 


SS 





17 


\ 


r - 1 -»A U 


14 


AT 


TS22 


TS17 


J 




15 


RA 


TS 


TS20 




Set exit for in list 


16 


RP 


30002 


TS 


} 


Exit 


17 











File — » output 


20 








1 






21 








20131 




J N - 1 


22 


TP 
CA 


DP 
TS23 


TS2 







374 



Translation Variables 





IA 


VB 













37700 


1 


77 


77777 


77776 


2 


77 


77777 


77776 


3 


77 


77777 


77776 


4 


77 


77777 


77776 




CA 


VB5 






IA 


VD 
















1 











2 











3 


TP 


KA1 


GN2 




CA 


VD4 





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 



No. of SIARTS 
EXIT indicator 
Index 



Explanation of Temporary Build File Area 

IF (0) (0) No. of words in file 

10 XS3 of symbol 

2 (0) C.W. 

Words 1F3 - IF27 1 

J Formats, etc. 



375 



(o) Call Word > Translation List 





1A 


cw 











MJ 





(30000) 




Exit 


1 


MJ 





EW5 




Start 


2 








(0 ) 




C.W. 


3 





(30000) 


(30000) 




Address of last C.W 


4 













Ind. one print-out 


5 


RA 


EW3 


CJ7 




Add + 1 


6 


TJ 


CJ10 


EW17 




OK — >EW17 no ^ 


7 


TP 


EW4 





} 


Prev. print — >EW15 


10 


QJ 


EW15 


EW11 


No* 


1 1 


r» -w 


III A 


III A 1 

WHJ. 


\ 

1 




12 


TP 


FI 


UP3 




F16 


13 


RJ 


UP2 


UP 


J 




14 


TP 


CJ2 


EW4 




Set bit 


15 


RS 


EW3 


CJ7 




Add - 1 


16 


MJ 





EW 




Exit 


17 


TV 


EW3 


EW20 


) 


CW — > string 


20 


TP 


EW2 


(30000) 


\ 




21 


MJ 
CA 



EW22 


EW 


) 


Exit 



(p) Increase 66, 65 64 Call Word Counter 





TA 


TK 









MJ 





(30000) 


Exit 


1 


MJ 





TK3 


Start 


2 











Tndicator 


3 


TP 


VB1 


A I OK— >TK16 


4 


TJ 


CJ3 


TK16 J 


No * 


5 


TP 


TK2 


Q \ Prev. Print 


6 


QJ 


TK 


TK7 J 


No * 


7 


RJ 


DZ 


UZ1 ^ 


Error 


10 


TP 


WL1 


FD43 




11 


TP 


SY2 


FD36 


> F6 


12 


TP 


FD16 


DP3 




13 


RJ 


DP2 


DP ) 




14 


TP 


CJ2 


TK2 


Set ind. 


15 


MJ 





TK 


— > exit 


16 


RA 


VB1 


CJ1 


CW + 1 


17 


MJ 
CA 



TK20 


TK 


Exit 



exit 



376 



(q) Increase Sentence C.W. Counter (Output-A or VB4,) 

26, 27, 22 





IA 


XJ 











MJ 





(30000) 




Exit 


1 


MJ 





XJ4 




Start 


2 













Indicator 


3 








777 




Constant 


4 


TP 


VB4 


A 


} 


OK — -> XJ17 


5 


TJ 


XJ3 


XJ17 


No * 


6 


TP 


XJ2 





} 


Prev. print 


7 


QJ 


XJ 


XJ10 


No * 


10 


RJ 


UZ 


UZ1 


) 


Set error 


11 


TP 


WL1 


FD15 


I 




12 


TP 


FD 


UP3 


f 


F5 


13 


RJ 


UP2 


UP 


) 




14 


TP 


VB4 


A 




CW ->A 


15 


TP 


CJ2 


XJ2 




Set ind. 


16 


MJ 





XJ 




Exit 


17 


RA 


VB4 


CJ1 




CW + 1 — > A 


20 


MJ 
CA 



XJ21 


XJ 




Exit 



exit 



377 



(r) Print Error Heading 

RJ WA WA1 Set Error 

WA2 Don't Set Error 





IA 


WA 

















MJ 





(30000) 


Exit 










1 


RJ 


uz 


UZ1 


Set error 








2 


TP 


WL1 


WB3 


Line number 








3 


TP 


WL2 


A 












4 


TP 


A 


WB5 


Sentence 


type - 


->A - 


H>f 


5 


TP 


WB10 


WB6 


Fill 










6 


EJ 


WB15 


WA15 


E Q U 


A 


T 


N 




7 


EJ 


WB11 


WA16 


E Q U 


A 


T 


I 




10 


EJ 


WB16 


WA20 


COM 


P 


U 


T 




11 


EJ 


WB17 


WA22 


DIM 


E 


N 


S 




12 


TP 


WB 


UP3 


\ Print headi] 


fig 






13 


RJ 


UP2 


UP 


J 










14 


MJ 





WA 


Exit 










15 


TP 


WB11 


WB5 


\ Load E 
J 


Q 


u 


A T 


I 


16 


TP 


WB12 


WB6 


N 


77 


77 77 


77 


17 


MJ 





WA12 












20 


TP 


WB13 


WB6 


E 


77 


77 


77 77 


77 


21 


MJ 





WA12 












22 


TP 


WB14 


WB6 


I 





N 


77 77 


77 


23 


MJ 
CA 

IA 




WA24 

WB 


WA12 


Constants 
















WB1 


7 












1 


65 


30506 


63050 


SEN 


T 


E 


N 




2 


26 


30010 


17777 


C E A 


A 


77 


77 




3 











Line * 










4 


01 


01011 


77777 


AAA 


( 


77 


77 




5 





















6 





















7 


43 


01017 


77777 


) A A 


77 


77 


77 




10 


77 


77777 


77777 


77 f 


ill 








11 


30 


53672 


46634 


E Q U 


A 


T 


I 




12 


51 


50777 


77777 


N 77 


77 


77 


77 




13 


30 


77777 


77777 


E 77 77 


77 


77 


77 




14 


34 


51507 


77777 


ION 


77 


77 


77 




15 


30 


53672 


46650 


E Q D 


A 


T 


N 




16 


26 


51475 


26766 


COM 


P 


D 


T 




17 


27 
CA 


34473 
WB20 


05065 


DIM 


E 


N 


S 





file 



378 



(s) Error Routine 





IA 


UZ 









MJ 





(30000) 


Exit 


1 


MJ 





UZ4 


Start 


2 











No. of errors for entire project 


3 











No. of errors this sentence 


4 


RA 


UZ2 


CJ1 


Errors + 1 


5 


TJ 


CJ14 


UZ13 


O.K. — > UZ13 no * 


6 


RJ 


RW 


RW1 


Rewind tape 


7 


TP 


WL1 


FB37 "| 




10 


TP 


FB15 


UP3 V 


F4 


11 


RJ 


UP2 


UP J 




12 


MS 





UZ 


Stop on exit 


13 


RA 


UZ3 


CJ1 




14 


TJ 


CJ15 


UZ 


Too many errors ^ no —> exit 


15 


RJ 


WA 


WA2 "| 




16 


TP 


FB 


UP3 f 


F3 


17 


RJ 


UP2 


UP J 




20 


TP 


UW 


UZ3 


Clear errors/sentence 


21 


MJ 
CA 




UZ22 


CT 


— > Control 



379 



(t) Check Floating Point Constant 




1 
2 
3 

4 

5 

6 

7 

10 
1 1 

J. JL 

12 
13 
14 
15 
16 
17 
20 
21 
22 
23 
24 
25 
26 



MJ 
TP 
TJ 
RJ 
RP 
TP 
TP 
RJ 
TP 

TT 

RJ 
RP 
TP 
TP 
RJ 
TP 
QJ 
RJ 
RP 
TP 
TP 
RJ 
MJ 
CA 





SY5 

CJ4 

WA 

30003 

SY2 

FE 

UP2 

SY6 
r -rr 

VO«J 

WA 

30003 

SY2 

FE17 

UP2 

SY12 

RB21 

WA 

30003 

SY2 

FF 

UP2 



RB27 



(30000) 
A 
RB10 

WA1 

RB6 

FE14 

UP3 

UP 

A 

DDT "7 
11UJL I 

WA1 

RB15 

FE27 

UP3 

UP 

Q 

RB 

WA1 

RB24 

FF7 

UP3 

UP 

RB 



Exit 

Start 

No. of char. > 12 I no 



F7 



RB10 






I. v« ^ noi n 

Y jiu — ^ ivui I 



F8 



Contains a letter \ no -> exit 



F9 



Exit 



380 



(u) Check Fixed-Point Constant 





IA 


RD 







MJ 





(30000) 


1 


TP 


SY5 


A 


2 


TJ 


CJ6 


RD10 


3 


RJ 


WA 


WA1 


4 


RP 


30003 


RD6 


5 


TP 


SY2 


FF25 


6 


TP 


FF12 


UP3 


7 


RJ 


UP2 


UP 


10 


TP 


SY6 


A 


11 


ZJ 


RD12 


RD16 


12 


RJ 


WA 


WA1 


13 


TP 


SY2 


FG10 


14 


TP 


FG 


UP3 


15 


RJ 


UP2 


UP 


16 


TP 


SY12 


Q 


17 


QJ 


RD20 


RD 


20 


RJ 


WA 


WA1 


21 


RP 


30003 


RD23 


22 


TP 


SY2 


FF7 


23 


TP 


FF 


UP3 


24 


RJ 


UP2 


UP 


25 


MJ 





RD 




CA 


RD26 





Exit 

No. of char. > 6 i no — > RD10 

F10 

No. pts.> | no — > RD16 

Fll 

Contains letter \ no — » exit 

F9 

exit 



381 



(v) Check Variable Type Symbol 





IA 


RH 







MJ 





(30000) 


1 


TP 


SY5 


A 


2 


TJ 


CJ6 


RH10 


3 


RJ 


WA 


WA1 


4 


RP 


30003 


RH6 


5 


TP 


SY2 


FG24 


6 


TP 


FG11 


UP3 


7 


RJ 


UP2 


UP 


10 


TP 


SY6 


A 


11 


ZJ 


RH12 


RH17 


12 


RJ 


WA 




13 


TP 


SY2 


FH10 


U 


TP 


FH 


UP3 


15 


RJ 


UP2 


UP 


16 


MJ 





RH 


17 


TP 


SY2 


A 


20 


RP 


20023 


RH22 


21 


EJ 


KB 


RH24 


22 


RP 


20004 


RH 


23 


EJ 


KB33 


RH24 


24 


RJ 


WA 


WA1 


25 


TP 


SY2 


WB20 


26 


TP 


WB15 


UP3 


27 


RJ 


UP2 


UP 


30 


MJ 





RH 




CA 


RH31 





exit 

No. of char. > 6 ^ no->RH10 

F12 

Contains a point I no — » exit 
F13 

Exit 

Key word ^ no — >exit 
F19 

Exit 



(w) Constants 





IA 


CJ 


















Zero 


1 








1 


One 


2 


40 








Indicator 


3 








777 




4 








15 


RCO 


5 








2 


RC1 


6 








7 


RC2 


7 





1 


1 




10 





WL250 


WL250 


Limit of string 


11 








170 




12 


71 





WL 


Write @0 in & 128 lines/in 


13 








01 


A 


14 








31 


Errors/prog. 


15 



CA 



CJ16 


5 


Errors/sentences 



382 



(x) Print Text 





IA 


UP 













MJ 





UP4 




Start 


1 





30000 


(30000) 






2 


MJ 





(30000) 




Exit 


3 





(30000) 


(30000) 




Par. 


4 


TV 


UW15 


UQ 


} 


Set up switch to UP 


5 


TV 


UQ3 


UQ4 




6 


TP 


uw 


UW20 


1 




7 


TV 


UP3 


UW20 


I 


Set up N counter 


10 


MP 


UW3 


UW20 


f 




11 


TP 


A 


UW20 


J 




12 


TP 


UW13 


US 


} 


6 char, word pick up 


13 


TU 


UP3 


US 




14 


PR 





UW7 




Shift up 


15 


TP 


UP3 


Q 




Par.->Q 


16 


QJ 


US 


UP17 




00 b 40 — >US 


17 


TP 


UW4 


UW21 




Counter = 80.^ 
4 cr*s 


20 


RP 


4 


US 


} 


21 


PR 





UW11 






CA 


UP22 










IA 


UQ 











RJ 


UQ 


(30000) 




DOWN ^\ 


1 


RJ 


UQ4 


US25 




Exit 




2 


PR 





UW7 




Shift up 


Up -down 


3 


MJ 





UQ5 






> switch 


4 


RJ 


UQ4 


(30000) 




UP 




5 


RJ 


UQ 


US25 




Exit 




6 


PR 





UW10 




Shift down 




7 


MJ 
CA 

IA 



UQ10 

US 


UQ1 




J 








(30000) 


(30000) 




Six char, pick up 


1 


RA 


US 


UW2 




Modify pick up 


2 


TP 


UW5 


UW22 




Set up 5 count 


3 


IJ 


UW20 


US6 




N counter 


4 


PR 





UW7 




Shift up 


5 


MJ 





UP2 




Exit 


6 


LQ 


UW23 


6 




Unityper code — > Q 


7 


QT 


UW6 


UW16 




— >A — ►UWU 


» 



383 



77 f s 



10 


EJ 


UW1 


US34 


A — > US34 No i 


11 


EJ 


UW6 


US36 


77 -> US36 


12 


TV 


US37 


US35 


Test for suppress 


13 


IJ 


UW21 


US21 


80 counter 


14 


TP 


UW17 


UW21 


Char, count = 66. n 
CR. CR. l 


15 


PR 





UW11 \ 


16 


PR 





UW11 J 




17 


RP 


23 


US12 \ 


19 spaces 


20 


PR 





UW12 J 




21 


SP 


UW16 


17 


XS3— >A U 


22 


AT 


UW14 


US23 \ 




23 





(30000) 


(30000) J 


Codes — >A shift 44 


24 


SJ 


UQ 


UQ4 




25 


LA 


A 


3 \ 


Codes — > position 


26 


SS 


A 


6 J 




27 


PR 





A X 


Print codes 


30 


SS 


A 


6 J 




31 


ZJ 


US27 


US32 


Loop 


32 


IJ 


UW22 


US3 


5 count 


33 


MJ 





US 


> new word 


34 


TP 


DW21 


A ) 
(US32) J 


8lst i no — >US12 


35 


ZJ 


USI2 


Or— >US/<1 


36 


TV 


US17 


US35) 


Print A f s 


37 


MJ 
CA 



DS40 


US32 







IA 


uw 


















Zero 


1 








1 


1 in V and A code 


2 





1 





1 in u 


3 








6 


6 


4 








120 


f 10 t 
5 counter 


5 








5 


6 








77 


Mask and 77 code 


7 








47 


Shift up 


10 








57 


Shift down 


11 








45 


Carriage return 


12 








4 


Space code 


13 


TP 


(30000) 


UW23 


Pick up dummy 


14 


SP 


FC 


44 


Flex pick up dummy 


15 








UQ6 


Set switch 


16 











XS3 of char. 


17 








75 


6110 


20 





30000 


30000 


N counter 


21 





30000 


30000 


80 counter 


22 





30000 


30000 


5 counter 


23 



CA 


30000 

UW24 


30000 


Work space 



384 



(y) Sentence CW to Reference List IZ 





IA 


RA 











MJ 





(30000) 




Exit 


1 


TP 


WL1 


A 




Line no. — > 


2 


TU 


11 


RA3 






3 


RP 


(20000) 


RA 


} 


Not in list 


4 


EJ 


IZ 


RA5 


In list ^ 


5 


SN 


Q 


17 






6 


SA 


n 


25 




11=0 j i 


7 


LT 





A 






10 


AT 


RA13 


RAH 






11 


(0 





0) 




Sentence CW 


12 


MJ 





RA 




— >Exit 


13 


TP 
CA 


WL3 
RA14 


IZ 




Constant 



Exit 



list 



(z) Rewind all tapes 





IA 


RW 











MJ 





(30000) 




Exit 


1 


MJ 





RW10 




Start 


2 


20 


1 







Parameter 


3 


20 


1 







Set up parameter 


4 





1 







Modifier 


5 













Index 


6 








4 


} 


Set index 


7 








2 




10 


TP 


RW3 


RW2 




Set parameter 


11 


TP 


RW6 


RW5 




Set index 


12 


TP 


TN 


A 


} 


5 servos — > RW15 


13 


ZJ 


RW14 


RW15 


7 servos — >RW14 


14 


RA 


RW5 


RW7 




Increase index 


15 


TP 


RW2 


TH3 


} 


Rewind tapes 


16 


RJ 


TH2 


TH 




17 


RA 


RW2 


RW4 




Change parameter 


20 


IJ 


RW5 


RW15 




Return 


21 


MJ 
CA 



RW22 


RW 




Exit 



385 



(aa) 1105 Tape Handler Regions 



TH21 Control Region 

EX70 Exit 

RW73 Rewind 

IA100 Ignore Address 

WB101 Build Write Code 

WW113 Write 

RR125 Read Subroutine 

RE143 Reread If Parity Error 

RF206 Read Forward 

RB214 Read Backward 

RW222 Rewind Region (Redundant - Not Used) 

MF227 Move Forward 

MB240 Move Backward 

PC242 Print 

WE263 Constants 

CC274 Constants 

CE334 Constants 

CF352 Constants 

CD365 Constants 

VV375 Temporaries 

CR402 Check for Zero Blocks 



386 



(ab) 1105 Tape Handler 





IA 


TH 







MJ 


20000 


TH4 


1 


MJ 





TH10 


2 


MJ 





(30000) 


3 





30000 


30000 


4 


MJ 


50000 


TH4 


5 


TP 


CD2 


CD 


6 


EF 





CC3 


7 


MJ 





TH13 


10 


MJ 


40000 


TH10 


11 


TP 


CD1 


CD 


12 


EF 





CC2 


13 


TP 


CC27 


Q 


14 


RP 


10005 


TH16 


15 


QS 


CD 


CD3 


16 


EF 





CD5 


17 


TP 


TH3 


Q 


20 


QT 


CE5 


A 


21 


LT 


41 


A 


22 


TP 


A 


VV2 


23 


AT 


CD 


VV 


24 


TV 


CE15 


IA 


25 


RJ 


CR5 


CR 


26 


QT 


CC4 


A 


27 


TP 


A 


A 


30 


EJ 


CC5 


RW 


31 


EJ 


CC6 


RW3 


32 


EJ 


CC7 


MF 


33 


EJ 


CC10 


MB 


34 


EJ 


ecu 


RF 


35 


EJ 


CC12 


RB 


36 


QT 


CC27 


A 


37 


EJ 


CC31 


WB 


40 


EJ 


CC32 


WB2 


41 


QT 


CC30 


A 


42 


EJ 


CC33 


WB4 


43 


EJ 


CC34 


WB6 


44 


EJ 


CC35 


WB10 


45 


RA 


W 


CC21 


46 


MJ 





WW 




CA 


TH47 





Start - TCU2 
Start - TCU1 
Exit 

Parameter 
Test buffer 2 
Set TCU2 
Bypass buffer 2 

Test buffer 1 
Set TCU1 
Bypass buffer 1 

Set ICU bit in code words 

Set normal bias 

Servo no. VV2 

Servo no. and ICU bit->VV 



Set ignore address 

— >Test for zero blocks 

Op 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 = 

~^> Write 



387 



Exit 





IA 


EX 









TV 


CE15 


IA 


Set ignore 


1 


MJ 





TH2 


Exit 


2 



CA 



EX3 


RE 33 





Build Write Code Words 





IA 


WB 









RA 


VV 


CC25 


A = 2 


1 


MJ 





TH41 


— >B sec. 


2 


RA 


W 


CC26 


A = 4 


3 


MJ 





TH41 


— >B sec. 


4 


RA 


VV 


CC22 


B = 1 


5 


MJ 





WW 




6 


RA 


VV 


CC23 


B = 2 


7 


MJ 





WW 




10 


RA 


w 


CC24 


B = 3 


11 


MJ 
CA 



WB12 


WW 







IA 


WW 





RJ 


RE5 


1 


TP 


CE11 


2 


QT 


VV3 


3 


TV 


TH3 


4 


EF 





5 


RP 


10170 


6 


EW 


10000 


7 


RA 


WW6 


10 


IJ 


VV3 


11 


MJ 







CA 


WW12 




Write 



Set index 



Set address 
Start writing 
Write block 



Add. + 170 8 
No. of blocks 



Exit 



388 



Read Subroutine 





IA 


RR 









MJ 





(30000) 


Exit 


1 


MJ 





RR7 


Normal entrance 


2 


CC 


RR3 


CD2 


Reread entrance 


3 





30000 


30000 


RA (RS) RR11 CC1 


4 


CC 


vv 


CC36 


Reverse direction 


5 


CC 


RR12 


CD2 


RA (RS) 


6 


RJ 


RR6 


RR7 


One shot exit 


7 


TP 


CC37 


VV4 


Set index 


10 


EF 





VV 


Start reading 


11 


ER 


10000 


(30000) 


Read 


12 





(30000) 


(30000) 


RA (RS) RR11 CC1 


13 


IJ 


VV4 


RR11 


One block 


14 


ER 





A 


I A — >A 


15 


MJ 
CA 



RR16 


RR 


Exit 



389 



Read Fwd (Bwd) 





IA 


RE 







TV 


TH3 


RR11 


1 


TP 


TH3 





2 


QT 


CE4 


A 


o 

o 


SS 


CE6 


17 


4 


LT 





VV3 


5 


RJ 


RE5 


RE6 


6 


RJ 


RR 


RR1 


7 


ZJ 


RE 10 


RE41 


10 


RJ 


RR 


RR2 


II 


ZJ 


RE 12 


RE 32 


12 


EF 





CD6 


13 


RJ 


RR 


RR2 


14 


ZJ 


RE15 


RE40 


15 


RJ 


RR 


RR2 


16 


ZJ 


RE17 


RE 32 


17 


EF 





CD7 


20 


RJ 


RR 


RR2 


21 


ZJ 


RE22 


RE40 


22 


RJ 


RR 


RR2 


23 


ZJ 


RE24 


RE32 


24 


TP 


CF 


PC2 


25 


RJ 


PC 


PCI 


26 


EF 





CD5 


27 


RJ 


RR6 


RR2 


30 


TV 


EX2 


IA 


31 


MS 





RE6 


32 


RJ 


RR6 


RR2 


33 


TV 


CE10 


IA 


34 


TP 


VV2 


A 


35 


AT 


Wl 


A 


36 


EF 





A 


37 





30000 


30000 


40 


EF 





CD5 


41 


IJ 


VV3 


RE6 


42 


MJ 





EX 




CA 


RE43 





) 



Set address 

Index = No. of blocks - 1 



Exit 

Read blk fwd (bwd) (normal) 

Parity I no->RE37 

Read bwd (fwd) (normal) 

Parity 'I no— >RE3I 

Set high 

Read fwd (bwd) (high) 

Parity ^ no— >RE36 

Read bwd (fwd) (high) 

Parity I no— >RE3l 

Set low 

Read fwd (bwd) (low) 

Parity I no-»RE36 

Read bwd (fwd) (low) 

Parity I no— >RE3l 

Print error 

Set normal 

Set to read fwd (bwd) 
Set ignore address 
Stop for rereads 
Reverse direction 
Set ignore add. 

Move fwd (bwd) 1 blk 

RA (RS) RR11 CE12 
Set normal 
No. blks. 











Read Fwd 




IA 


RF 









RA 


VV 


CC17 


Set read fwd-*-VV 


1 


TP 


CE1 


RR3 


) 


2 


TP 


CE1 


RR12 


I Set for read fwd 


3 


TP 


CE2 


RE 37 


r 


4 


TP 


CD 3 


Wl 


J 


5 


MJ 
CA 



RF6 


RE 


— *Read 



390 



Read Bwd 





IA 


RB 









RA 


VV 


CC20 


Set read bwd— >VV 


1 


TP 


CE 


RR3 


I 


2 


TP 


CE 


RR12 


I Set for read bwd 


3 


TP 


CE3 


RE37 




4 


TP 


CD4 


Wl 


J 


5 


MJ 

CA 

IA 



RB6 

RW 


RE 


— >Read 
Rewinds 





RA 


W 


CC13 


Rewind 


1 


EF 





VV 




2 


MJ 





EX 


Exit 


3 


RA 


VV 


CC14 


Rewind w/interlock 


4 


MJ 
CA 

IA 



RW5 

MF 


RW1 


Move Fwd 





TO 


CE7 


MF4 


Set for fwd 


1 


RJ 


RE5 


RE1 


Set index 


2 


TV 


CE7 


IA 


Set ignore address 


3 


EF 





CD7 


Set low gain 


4 


TP 


(30000) 


A 


Set for fwd (bwd) 


5 


AT 


VV 


VV 


Set EF word 


6 


EF 





VV 


Move 1 blk 


7 


IJ 


VV3 


MF6 


n blks 


10 


MJ 
CA 

IA 



MF11 

MB 


EX 


Exit 
Move Bwd 





TD 


CE10 


MF4 




1 


MJ 
CA 



MB2 


MF1 





391 



Print Out 





IA 


PC 







MJ 





(30000) 


1 


MJ 





PC16 


2 





(30000) 


(30000) 


3 


TP 


PC2 





4 


QT 


CE13 


A45 


5 


ST 


CC1 


PC20 


6 


TU 


PC2 


PC7 


7 


SP 


(30000) 


52 


10 


PR 





A 


11 


SS 


A 


6 


12 


ZJ 


PC10 


PC13 


13 


RA 


PC7 


CE14 


14 


IJ 


PC20 


PC7 


15 


MJ 





PC 


16 


RP 


4 


PC3 


17 


PR 





PC4 


20 













CA 


PC21 






IA 


WE 







TP 


WE3 


PC2 


1 


RJ 


PC 


PCI 


2 


MS 





IA 


3 





WE4 


5 


4 


47 


16300 


60603 


5 


01 


04141 


30603 


6 


12 


20574 


20404 


7 


47 


12201 


23406 


10 


57 


42040 


40404 




CA 


WE11 






IA 


CC 
















1 








1 


2 





10000 


04000 


3 





20000 


04000 


4 


70 








5 


10 








6 


20 








7 


30 








10 


40 








11 


50 








12 


60 








13 





200 





14 





400 






} 



Exit 

Start 

Par. - address n 

Set index 

Set address 

Pri nt nnp uin rH 



Set for next word 
Finished \ no — > PC7 
Exit 
4 crs. 

Index 



"Can't ignore. Rerun." 



f C A N N 

T A I G N 

R E ^ . A A 

t R E R U N 

* . A A A A 



Zero 

One 

Bypass buff. 1 

Bypass buff. 2 

Mask off op. code 

Rewind 

Rewind w/interlock 

Move fwd 

Move bwd 

Read fwd 

Read bwd 

Rewind 

Rewind w/interlock 



392 



15 





4 


1 


16 





14 


1 


17 





602 





20 





612 





21 





606 





22 





616 





23 





706 





24 





716 





25 





20 





26 





40 





27 


07 








30 





70000 





31 


02 








32 


04 








33 





10000 





34 





20000 





35 





30000 





36 





10 





37 








167 




CA 


CC40 





Move fwd 

Move bwd 

Read fwd 

Read bwd 

Write low and stop 

Write high 

Write low 

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 



B = 1" 



B = 1 
B = 2 
B = 3 



1" 



blk 
blk 



2.4 blk 
2.4 blk 



393 



Constants 





IA 


CE 







RS 


RR11 


CC1 


1 


RA 


RR11 


CC1 


2 


RA 


RR11 


CE12 


3 


RS 


RR11 


CE12 


4 


7 


77700 





5 





77 





6 





100 





7 





CC15 


MF7 


10 





CC16 


RE 37 


11 








77 


12 








170 


13 








77777 


14 





1 





15 








WE 




CA 


CE16 






IA 


CF 










CF1 


12 


1 


47 


12203 


02204 


2 


20 


12120 


31204 


3 


46 


15301 


21401 


4 


25 


04031 


20424 


5 


15 


12031 


63620 


6 


01 


42574 


24704 


7 


04 


24013 


01201 


10 


04 


26031 


20412 


11 


20 


12203 


02224 


12 


57 


42040 


40404 




CA 


CF13 






IA 


CD 
















1 


1 








2 


2 








3 





4 


1 


4 





14 


1 


5 





1 


50000 


6 





1 


60000 


7 





1 


70000 




CA 


CD10 





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 

12 V 

v mask 
1 in u 



* R 


E 


A 


D 


A 


E R 


R 





R 


A 


( P 


A 


R 


I 


T 


Y A 





R 


A 


S 


P R 





C 


K 


E 


T ) 


+ 


9 


* 


A 


A S 


T 


A 


R 


T 


A F 





R 


A 


R 


E R 


E 


A 


D 


S 


i . 


A 


A 


A 


A 


ICU bit 








Set ICU ! 


bit 


to 


1 


Set ICU 


bit 


to 


2 


Move 


fwd 


1 


blk 




Move 


bwd 


1 


blk 




Set normal 






Set high 








Set ] 


Low 









394 



Variables 





IA 


VV 
















1 











2 











3 











4 













CA 


VV5 





EF code word 

Move fwd (bwd) 1 blk 

Tape no. 

Index (n blks) 

Index 1 blk 



Check for Zero Blocks 





IA 


CR 







QT 


CR7 


A 


1 


TP 


A 


A 


2 


EJ 


CC4 


EX 


3 


QT 


CR10 


A 


4 


TP 


A 


A 


5 


RP 


20004 


(30000) 


6 


EJ 


CC7 


EX 


7 


70 


07700 





10 


77 


77700 







CA 


CR11 





395 



(ac) Regions for 1103A Tape Handler 



TH21 


uontroi negion 


RR55 


Read Subroutine 


MB75 


Move Backward 


IA100 


Ignore Address 


WB101 


Build Write Code 


WW113 


Write 


RE125 


Set Index 


RA134 


Reread If Parity Error 


RF173 


Read Forward 


RB203 


Read Backward 


RW213 


Rewind 


MF220 


Move Forward 


PC231 


Print 


WE252 


Constants 


CF263 


Constants 


CC276 


Constants 


CE336 


Constants 


CD361 


Constants 


VV371 


Temporaries 


CR377 


Check for Zero Blocks 



396 



(ad) 1103A Tape Handler 





IA 


TH 







MJ 





TH4 


1 


TV 


CE15 


IA 


2 


MJ 





(30000) 


3 





30000 


30000 


4 


MJ 





TH5 


5 


TP 


TH3 


Q 1 


6 


QT 


CE5 


A 


7 


LT 


41 


A ' 


10 


TP 


A 


VV2 


11 


AT 


CD 


VV 


12 


TV 


CE15 


IA 


13 


RJ 


CR10 


CR 


14 


TP 


A 


A 


15 


EJ 


CC5 


RW 


16 


EJ 


CC6 


RW3 


17 


EJ 


CC7 


MF 


20 


EJ 


CC10 


MB 


21 


EJ 


ecu 


RF 


22 


EJ 


CC12 


RB 


23 


QT 


CC27 


A 


24 


EJ 


CC31 


WB 


25 


EJ 


CC32 


WB2 


26 


QT 


CC30 


A 


27 


EJ 


CC33 


WB4 


30 


EJ 


CC34 


WB6 


31 


EJ 


CC35 


WB10 


32 


RA 


vv 


CC21 


33 


MJ 





WW 




CA 


TH34 





Start 

Set ignore address 

Exit 

Parameter 



Servo no. — > VV2 

Servo no. & tape bit — >VV 



Set ignore address 
— > Test for zero blocks 
Op. code — >k 
Rewind — >RW 
W/interlock — >RW3 



Move fwd - 
Move bwd - 
Read fwd - 
Read bwd - 
"A" -h* A 
A = 2 
A = 4 
"B"— >A 
B = 1 
B = 2 
B = 3 
B = 
— > Write 



MF 
MB 
RF 
RB 



397 



Build Write Codes 





1A 


Wtt 







RA 


vv 


CC25 


1 


MJ 





TH26 


2 


RA 


vv 


CC26 


3 


MJ 





TH26 


4 


RA 


vv 


CC22 


5 


MJ 





WW 


6 


RA 


vv 


CC23 


7 


MJ 





WW 


10 


RA 


vv 


CC24 


II 


MJ 


V 


WW 




CA 


WB12 





"A" = 2 
— >B sec 
A = 4 
— >B sec, 
B = 1 

B = 2 

B = 3 





IA 


WW 







RJ 


RE 


RE1 


1 


TP 


CE11 


Q 


2 


QT 


VV3 


VV3 


3 


TV 


TH3 


WW6 


4 


EF 





VV 


5 


RP 


10170 


WW7 


6 


EW 


10000 


(30000) 


7 


RA 


WW6 


CE12 





IJ 


VV3 


WW4 


1 


MJ 





TH1 




CA 


WW12 





Write 



Set index 



Start writing 

Write blk 
Add + 170 
No. blks 
Exit 



398 



Read Sub 





IA 


RR 









MJ 





(30000) 


Exit 


1 


MJ 





RR7 


Start (normal entrance) 


2 


CC 


VV 


CC36 


Reverse direction 


3 


CC 


RR14 


CD2 


RA (RS) 


4 


CC 


RR5 


CD2 


RA (RS) 


5 





(30000) 


(30000) 


RS (RA) VV5 CC37 


6 


RJ 


RR6 


RR7 


One shot 


7 


TV 


VV5 


RR13 


Set address 


10 


TV 


RR17 


IA 


Set ignore 


11 


TP 


CC37 


VV4 


Set index 


12 


EF 





VV 


Start reading 


13 


ER 


10000 


(30000) 


Read 


14 





(30000) 


(30000) 


RA (RS) RR13 CC1 


15 


IJ 


VV4 


RR13 


One block 


16 


ER 





A 


I A— >A 


17 


MJ 
CA 

IA 



RR20 

RE 


RR 


Exit 
Index to VV3 





MJ 





(30000) 


Exit 


1 


TV 


TH3 


VV5 


Set address 


2 


TP 


TH3 





1 


3 


QT 


CE4 


A 


I Index to VV3 


4 


SS 


CE6 


17 


f 


5 


LT 





VV3 


J 


6 


MJ 
CA 



RE 7 


RE 


Exit 



399 



Read Fwd. or Bwd. 





-r A 









RJ 


RR 


RR1 


1 


ZJ 


RA2 


RA35 


2 


RJ 


RR 


RR2 


3 


ZJ 


RA4 


RA24 


4 


EF 





CD6 


5 


RJ 


RR 


RR2 


6 


ZJ 


RA7 


RA35 


7 


RJ 


RR 


RR2 


10 


ZJ 


RAH 


RA24 


11 




rv 
U 


r> rv"7 


12 


RJ 


RR 


RR2 


13 


ZJ 


RA14 


RA35 


14 


RJ 


RR 


RR2 


15 


ZJ 


RA16 


RA24 


16 


TP 


CF 


PC2 


17 


RJ 


PC 


PCI 


20 


EF 





CD5 


21 


RJ 


RR6 


RR2 


22 


TV 


CE10 


IA 


23 


MS 





RA 


24 


RJ 


RR6 


RR2 


25 


TV 


CE20 


IA 


26 


TP 


VV2 


A 


27 


AT 


Wl 


A 


30 


EF 





A 


31 





30000 


30000 


32 


EF 





CD5 


33 


IJ 


VV3 


RA 


34 


MJ 





TH1 


35 





30000 


30000 


36 


MJ 





RA32 




CA 


RA37 





Fwd (bwd) 




normal 


Parity 1 i 


10 - 


-^RA35 


Bwd (fwd) 




normal 


Parity ]/ \ 


no - 


-^RA24 


Set high 






Fwd (bwd) 




high 


Parity b 


no 


— >RA35 


Bwd (fwd) 




high 


Parity ^ 


no 


—> RA24 


Set low 






Fwd (bwd) 




low 


Parity ^ 


no 


— RA35 


Bwd (fwd) 




low 


Parity ^ 


no 


— >RA24 



Print PARITY ERROR 
Set normal 
Reverse direction 
Set ignore address 
Stop for rereads 
Reverse direction 
Set ignore 

Move fwd (bwd) 1 blk 

RA (RS) VV5 CC1 
Set normal 
17 blks 
Exit 
RA (RS) VV5 CE12 



400 



Read Fwd. 





IA 


RF 







RJ 


RE 


RE1 


1 


TP 


CE21 


RR5 


2 


TP 


CE 


RR14 


3 


TP 


CE2 


RA31 


4 


TP 


CE16 


RA35 


5 


TP 


CD3 


VV1 


6 


RA 


VV 


CC17 


7 


MJ 





RA 




CA 


RF10 





Set index and address 



Set for fwd. 



Read Bwd. 





IA 


RB 







RJ 


RE 


RE1 


1 


TP 


CE22 


RR5 


2 


TP 


CE1 


RR14 


3 


TP 


CE3 


RA31 


4 


TP 


CE17 


RA35 


5 


TP 


CD4 


Wl 


6 


RA 


VV 


CC20 


7 


MJ 





RA 




CA 


RBIO 





Set index and address 



Set for bwd. 



401 



Rewinds 





IA 


RW 







RA 


VV 


CC13 


1 


EF 





VV 


2 


MJ 





TH1 


3 


RA 


VV 


CC14 


4 


MJ 





RW1 




CA 


RW5 





Rewind 

Exit 

Rewind with interlock 



Move Fwd. 





IA 


MF 







TO 


CE7 


MF4 


1 


RJ 


RE 


RE1 


2 


TV 


CE7 


IA 


3 


MJ 





MF4 


4 


TP 


(30000) 


A 


5 


AT 


VV 


VV 


6 


EF 





VV 


7 


IJ 


VV3 


MF6 


10 


MJ 





TH1 




CA 


MF11 





Set for fwd. 

Set index 

Set ignore address 

Set for fwd (bwd) 
Set EF wd. 
Move 1 blk 
X\ blks 
Exit 











Move Bwd. 




IA 


MB 









TO 


CE10 


MF4 


Set for bwd. 


1 


MJ 
CA 



MB2 


MF1 


— > move fwd. 



402 



Print Sub. 





IA 


PC 







MJ 





(30000) 


1 


MJ 





PC16 


2 





30000 


30000 


3 


TP 


PC2 


Q 


4 


QT 


CE13 


A45 


5 


ST 


CC1 


PC20 


6 


IU 


PC2 


PC7 


7 


SP 


30000 


52 


10 


PR 





A 


11 


SS 


A 


6 


12 


ZJ 


PC10 


PC13 


13 


RA 


PC7 


CE14 


14 


IJ 


PC20 


PC7 


15 


MJ 





PC 


16 


RP 


4 


PC3 


17 


PR 





PC4 


20 













CA 


PC21 






IA 


WE 







TP 


WE3 


PC2 


1 


RJ 


PC 


PCI 


2 


MS 





IA 


3 





WE4 


5 


4 


47 


16300 


60603 


5 


01 


04141 


30603 


6 


12 


20574 


20404 


7 


47 


12201 


23406 


10 


57 


42040 


40404 




CA 


WE11 






IA 


CF 










CF1 


12 


1 


47 


12203 


02204 


2 


20 


12120 


31204 


3 


46 


15301 


21401 


4 


25 


04031 


20424 


5 


15 


12031 


63620 


6 


01 


42574 


24704 


7 


04 


24013 


01201 


10 


04 


26031 


20412 


11 


20 


12203 


02224 


12 


57 


42040 


40404 




CA 


CF13 





Exit 

Start 

Par. = address 

Set index 

Set address 

Print one word 



Next word 

Finished ^ no — > PC7 

Exit 



Index 



"Cannot ignore. Rerun" 



t C A N N 

T A I G N 

R E I . A A 

t R E R U N 

^ . A A A A 



t 


R 


E 


A 


D 


A 


E 


R 


R 





R 


A 


( 


P 


A 


R 


I 


T 


Y 


A 





R 


A 


S 


P 


R 





C 


K 


E 


T 


) 


1 


. 


t 


A 


A 


S 


T 


A 


R 


T 


A 


F 





R 


A 


R 


E 


R 


E 


A 


D 


S 


1 




A 


A 


A 


A 



403 





IA 


CC 
















1 








1 


2 





10000 


04000 


3 





20000 


04000 


4 


70 








5 


10 








6 


20 








7 


30 








10 


40 








11 


50 








12 


60 








13 





200 





14 





400 





15 





4 


1 


16 





14 


1 


17 





602 





20 





612 





21 





606 





22 





616 





23 





706 





24 





716 





25 





20 





26 





40 





27 


07 








30 





70000 





31 


02 








32 


04 








33 





10000 





34 





20000 





35 





30000 





36 





10 





37 








167 




CA 


CC40 






IA 


CE 







RA 


RR13 


CC1 


1 


RS 


RR13 


CC1 


2 


RA 


VV5 


CC1 


3 


RS 


VV5 


CC1 


4 


7 


77700 





5 





77 





6 





100 





7 





CC15 


MF7 


10 





CC16 


RA25 


11 








77 


12 








170 


13 








77777 


14 





1 





15 








WE 


16 


RA 


VV5 


CE12 


17 


RS 


VV5 


CE12 


20 








RA31 


21 


RS 


VV5 


CC37 


22 


RA 
CA 


VV5 
CE23 


CC37 



Zero 

One 

Bypass no. 1 

Bypass no. 2 

Mask off op. 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 = 1" blk 



Write high 

Write low 

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 



Set RR14 



B = 1 1" blk 
B = 2 2.4"blk 
B = 3 2.4"blk 



Set RA31 



fwd 

bwd 

fwd 

bwd 
Mask no. blks (read) 
Mask servo no. 
No. of blks - 1 subtractor 



Mask 
120 



v mask 
1 in u 



Set RA35 fwd 
bwd 

Set RR5 fwd 

bwd 



404 





IA 


CD 









2 








Tape bit 


1 


1 










2 


2 










3 


2 


4 


1 


Move fwd 1 blk 


4 


2 


14 


1 


Move bwd 1 blk 


5 


2 


1 


50000 


Set normal 


6 


2 


1 


60000 


High 


7 


2 
CA 


1 
CDIO 


70000 


Low 



Don't Punch Variables 





IA 


vv 
















1 











2 











3 











4 











5 













CA 


W6 


C] 




TA 


CR 







QT 


CR11 


A 


1 


TP 


A 


A 


2 


EJ 


CC4 


TH1 


3 


QT 


CR12 


A 


4 


TP 


A 


A 


5 


RP 


20004 


CR7 


6 


EJ 


CC7 


TH1 


7 


QT 


CC4 


A 


10 


MJ 





30000 


11 


70 


07700 





12 


77 


77700 







CA 


CR13 





EF code word 

Move fwd (bwd) 1 blk (read) 

Tape no. 

Index (n blks) 

Index 1 blk 

Address 



Check for Zero Blocks 



405 



(ae) Error Prints of Translation Subroutines 



Fl 



F2 





IA 


FA 










FA1 


24 


1 


65 


30506 


63050 


2 


26 


30017 


77777 


3 











4 


01 


01253 


03151 


5 


54 


30016 


56624 


6 


54 


66210 


12530 


7 


32 


34506 


50171 


10 


34 


66330 


12401 


11 


45 


30730 


17151 


12 


54 


27010 


10117 


13 











14 


43 


22010 


15430 


15 


65 


66010 


10101 


16 


01 


01010 


10101 


17 


01 


01010 


10151 


20 


31 


01663 


33465 


21 


01 


65305 


06630 


22 


50 


26300 


15051 


23 


66 


01263 


33026 


24 


45 


30272 


27777 


25 





FA26 


26 


26 


65 


30506 


63050 


27 


26 


30017 


77777 


30 











31 


01 


31345 


46566 


32 


01 


65734 


72551 


33 


46 


21017 


77777 


34 











35 


01 


21012 


75130 


36 


65 


01505 


16601 


37 


34 


50273 


42624 


40 


66 


30014 


63032 


41 


24 


46016 


75034 


42 


26 


51273 


00165 


43 


30 


50663 


05026 


44 


30 


22010 


10101 


45 


01 


01010 


10101 


46 


54 


30656 


60151 


47 


31 


01663 


33465 


50 


01 


65305 


06630 


51 


50 


26300 


15051 


52 


66 


01263 


33026 


53 


45 


30272 


27777 




CA 


FA54 





S 


E 


N 


T 


E 


N 


C 


E 


A 


77 


77 


77 


Line 


no. 








A 


A 


B 


E 


F 





R 


E 


A 


S 


T 


A 


R 


T 


t 


A 


B 


E 


G 


I 


N 


S 


A 


W 


I 


T 


H 


A 


A 


A 


K 


E 


Y 


A 


W 





R 


D 


A 


A 


A 


( 






Key 


wo 


rd 




) 


m 


A 


A 


R 


E 


S 


T 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 





F 


A 


T 


H 


I 


S 


A 


S 


E 


N 


T 


E 


N 


C 


E 


A 


N 





T 


A 


C 


H 


E 


C 


K 


E 


D 


• 


77 


77 


S 


E 


N 


T 


E 


N 


C 


E 


A 


77 


77 


77 






Line 


no. 




A 


F 


I 


R 


S 


T 


A 


S 


Y 


M 


B 





L 


» 


A 
sym 


77 


77 


77 


A 


t 


A 


D 





E 


S 


A 


N 





T 


A 


I 


N 


D 


I 


C 


A 


T 


E 


A 


L 


E 


G 


A 


L 


A 


U 


N 


I 


C 





D 


E 


A 


S 


E 


N 


T 


E 


N 


C 


E 




A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


R 


E 


S 


T 


A 





F 


A 


T 


H 


I 


s 


A 


S 


E 


N 


T 


E 


N 


C 


E 


A 


N 





T 


A 


C 


H 


E 


C 


K 


E 


D 




77 


77 



406 



F3 



F4 



F5 





IA 


FB 







40 


FBI 


14 


1 


47 


51543 


00166 


2 


33 


24500 


11001 


3 


30 


54545 


15465 


4 


22 


01015 


43065 


5 


66 


01513 


10166 


6 


33 


34650 


16530 


7 


50 


66305 


02630 


10 


01 


50516 


60101 


11 


01 


01010 


10101 


12 


01 


01010 


10101 


13 


26 


33302 


64530 


14 


27 


22777 


77777 


15 





FB16 


22 


16 


47 


51543 


00166 


17 


33 


24500 


10510 


20 


01 


30545 


45154 


21 


65 


01663 


33465 


22 


01 


52545 


13254 


23 


24 


47220 


10154 


24 


30 


54302 


42701 


25 


65 


52302 


63431 


26 


34 


26246 


63451 


27 


50 


65220 


10152 


30 


54 


51325 


42447 


31 


01 


50516 


60126 


32 


33 


30244 


53027 


33 


01 


01010 


10101 


34 


25 


30735 


15027 


35 


01 


65305 


06630 


36 


50 


26300 


17777 


37 













CA 


FB40 






IA 


FD 










FD1 


15 


1 


47 


51543 


00166 


2 


33 


24500 


11004 


3 


05 


01653 


05066 


4 


30 


50263 


06501 


5 


34 


50016 


63334 


6 


65 


01525 


45132 


7 


54 


24472 


20101 


10 


10 


04066 


63301 


11 


65 


30506 


63050 


12 


26 


30015 


06747 


13 


25 


30540 


13465 


14 


01 


77777 


77777 


15 












M 





R 


E 


A 


T 


H 


A 


N 


A 


5 


A 


E 


R 


R 





R 


S 


. 


A 


A 


R 


E 


S 


T 


A 





F 


A 


T 


H 


I 


S 


A 


S 


E 


N 


T 


E 


N 


C 


E 


A 


N 





T 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


C 


H 


E 


C 


K 


E 


D 


• 


77 


77 


77 


77 


M 





R 


E 


A 


T 


H 


A 


N 


A 


2 


5 


A 


E 


R 


R 





R 


S 


A 


T 


H 


I 


S 


A 


P 


R 





G 


R 


A 


M 




A 


A 


R 


E 


R 


E 


A 


D 


A 


S 


P 


E 


C 


I 


F 


I 


C 


A 


T 


I 





N 


S 


, 


A 


A 


P 


R 





G 


R 


A 


M 


A 


N 





T 


A 


C 


H 


E 


C 


K 


E 


D 


A 


A 


A 


A 


A 


A 


B 


E 


Y 





N 


D 


A 


S 


E 


N 


T 


E 


N 


C 


E 


A 


77 


77 




1 


ine 


no 


. 





M 





R 


E 


A 


T 


H 


A 


N 


A 


5 


1 


2 


A 


S 


E 


N 


T 


E 


N 


C 


E 


S 


A 


I 


N 


A 


T 


H 


I 


S 


A 


P 


R 





G 


R 


A 


M 


. 


A 


A 


5 


1 


3 


T 


H 


A 


S 


E 


N 


T 


E 


N 


C 


E 


A 


N 


U 


M 


B 


E 


R 


A 


I 


S 


A 


77 


77 


77 


77 


77 






Line no. 





407 



F6 



F7 



F8 



16 





FD17 


25 


17 


50 


67472 


53054 


20 


01 


51310 


16750 


21 


65 


67256 


52654 


22 


34 


52663 


02701 


23 


70 


24543 


42425 


24 


46 


30650 


16301 


25 


31 


67502 


66634 


26 


51 


50650 


13465 


27 


01 


32543 


02466 


30 


30 


54016 


63324 


31 


50 


01100 


40522 


32 


01 


01100 


40666 


33 


33 


01657 


34725 


34 


51 


46010 


10101 


35 


34 


65017 


77777 


36 











37 


22 


01017 


15154 


40 


45 


34503 


20151 


41 


50 


01653 


05066 


42 


30 


50263 


00177 


43 













CA 


FD44 






IA 


FE 







40 


FE1 


16 


1 


47 


51543 


00166 


2 


33 


24500 


10405 


3 


01 


26332 


45424 


4 


26 


66305 


46501 


5 


34 


50013 


14651 


6 


24 


66345 


03201 


7 


52 


51345 


06601 


10 


01 


01010 


10101 


11 


01 


01010 


10101 


12 


01 


01265 


15065 


13 


66 


24506 


62201 


14 











15 











16 











17 


40 


FE20 


12 


20 


47 


51543 


00166 


21 


33 


24500 


15150 


22 


30 


01273 


02634 


23 


47 


24460 


15251 


24 


34 


50660 


13450 


25 


01 


26515 


06566 


26 


24 


50662 


20101 


27 











30 











31 













CA 


FE32 





N 


U 


M 


B 


E 


R 


A 





F 


A 


U 


N 


S 


U 


B 


S 


C 


R 


I 


P 


T 


E 


D 


A 


V 


A 


R 


I 


A 


B 


L 


E 


S 


A 


+ 


A 


F 


U 


N 


C 


T 


I 





N 


S 


A 


I 


S 


A 


G 


R 


E 


A 


I 


E 


R 


A 


T 


H 


A 


N 


A 


5 


1 


2 


9 


A 


A 


5 


1 


3 


T 


H 


A 


S 


Y 


M 


B 





L 


A 


A 


A 


A 


I 


S 


A 
Sym 


77 


77 


77 


. 


A 


A 


W 





R 


K 


I 


N 


G 


A 





N 


A 


S 


E 


N 


T 


E 


N 


C 


E 


A 


77 






Sent. 


no. 





M 





R 


E 


A 


T 


H 


A 


N 


A 


1 


2 


A 


C 


H 


A 


R 


A 


C 


T 


E 


R 


S 


A 


r 


N 


A 


F 


L 





A 


T 


I 


N 


G 


A 


p 





I 


N 


T 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


C 





N 


S 


T 


A 


N 


T 


• 


A 




Constant 






M 





R 


E 


A 


T 


H 


A 


N 


A 





N 


E 


A 


D 


E 


C 


r 


H 


A 


L 


A 


P 





I 


N 


T 


A 


I 


N 


A 


C 





N 


s 


T 


A 


N 


T 


• 


A 


A 




Constant 







408 



F9 



F10 





IA 


FF 







40 


FF1 


11 


1 


24 


65656 


74730 


2 


27 


01265 


15065 


3 


66 


24506 


60126 


4 


51 


50662 


43450 


5 


65 


01240 


14630 


6 


66 


66305 


42201 


7 











10 











11 











12 


40 


FF13 


15 


13 


47 


51543 


00166 


14 


33 


24500 


11101 


15 


26 


33245 


42426 


16 


66 


30546 


50134 


17 


50 


01313 


47230 


20 


27 


01525 


13450 


21 


66 


01265 


15065 


22 


66 


24506 


62201 


23 


01 


01010 


10101 


24 


01 


01010 


10101 


25 











26 











27 













CA 


FF30 





A 


S 


S 


U 


M 


E 


D 


A 


C 





N 


S 


T 


A 


N 


T 


A 


C 





N 


T 


A 


I 


N 


■S 


A 


A 


A 


L 


E 


T 


T 


E 


R 


• 


A 




Constant 




M 





R 


E 


A 


T 


H 


A 


N 


A 


6 


A 


C 


H 


A 


R 


A 


C 


T 


E 


R 


S 


A 


I 


N 


A 


F 


I 


X 


E 


D 


A 


P 





I 


N 


T 


A 


C 





N 


S 


T 


A 


N 


T 


# 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 




Constant 





409 





IA 


r VJ 




Fll 


40 


FG1 


10 


1 


24 


01273 


02634 


2 


47 


24460 


15251 


3 


34 


50660 


13450 


4 


01 


31347 


23027 


5 


01 


52513 


45066 


6 


01 


26515 


06566 


7 


24 


50662 


20101 


10 











F12 11 


•-LKJ 


1' \J xc 


1U 


12 


47 


51543 


00166 


13 


33 


24500 


11101 


14 


26 


33245 


42426 


15 


66 


30546 


50134 


16 


50 


01702 


45434 


17 


24 


25463 


00166 


20 


73 


52300 


16573 


21 


47 


25514 


62201 


22 


01 


01010 


10101 


23 


01 


01010 


10101 


24 











25 











26 













CA 


FG27 





A 


A 


D 


E 


C 


I 


M 


A 


L 


A 


P 





I 


N 


T 


A 


I 


N 


A 


F 


I 


X 


E 


D 


A 


P 





I 


N 


T 


A 


C 





N 


S 


T 


A 


N 


T 


, 


A 


A 




Constant 




M 





R 


E 


A 


T 


H 


A 


N 


A 


6 


A 


C 


H 


A 


R 


A 


C 


T 


E 


R 


S 


A 


I 


N 


A 


V 


A 


R 


I 


A 


B 


L 


E 


A 


T 


Y 


P 


E 


A 


S 


Y 


M 


B 





L 


. 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 



Symbo 1 



410 



F13 



F14 



F15 





IA 


FH 



















40 


FH1 


10 














1 


70 


24543 


42425 


V 


A 


R 


I 


A 


B 


2 


46 


30016 


67352 


L 


E 


A 


T 


Y 


P 


3 


30 


01657 


34725 


E 


A 


S 


Y 


M 


B 


4 


51 


46012 


65150 





L 


A 


C 





N 


5 


66 


24345 


06501 


T 


A 


I 


N 


S 


A 


6 


24 


01525 


13450 


A 


A 


P 





I 


N 


7 


66 


22010 


17777 


T 


# 


A 


A 


77 


77 


10 













Symbo 1 






11 





FH12 


10 














12 


50 


51016 


53050 


N 





A 


S 


E 


N 


13 


66 


30502 


63001 


T 


E 


N 


C 


E 


A 


14 


50 


67472 


53054 


N 


U 


M 


B 


E 


R 


15 


01 


51500 


16530 


A 





N 


A 


S 


E 


16 


50 


66305 


02630 


N 


T 


E 


N 


C 


E 


17 


01 


31514 


64651 


A 


F 





L 


L 





20 


71 


34503 


20101 


W 


I 


N 


G 


A 


A 


21 













L 


ine 


no 


. 




22 





FH23 


24 














23 


46 


34656 


60151 


L 


I 


S 


T 


A 





24 


31 


01702 


45434 


F 


A 


V 


A 


R 


I 


25 


24 


25463 


06521 


A 


B 


L 


E 


S 


t 


26 


01 


46342 


55424 


A 


L 


I 


B 


R 


A 


27 


54 


73015 


45167 


R 


Y 


A 


R 





U 


30 


66 


34503 


06521 


T 


I 


N 


E 


S 


t 


31 


01 


31675 


02666 


A 


F 


U 


N 


C 


T 


32 


34 


51506 


50124 


I 





N 


S 


A 


A 


33 


50 


27015 


26530 


N 


D 


A 


P 


S 


E 


34 


67 


27510 


15152 


U 


D 





A 





P 


35 


30 


54246 


63451 


E 


R 


A 


T 


I 





36 


50 


65013 


32465 


N 


S 


A 


H 


A 


S 


37 


01 


25302 


65147 


A 


B 


E 


C 





M 


40 


30 


01010 


16651 


E 


A 


A 


A 


T 





41 


51 


01465 


15032 





A 


L 





N 


G 


42 


22 


01017 


15154 


m 


A 


A 


w 





R 


43 


45 


34503 


20151 


K 


I 


N 


G 


A 





44 


50 


01653 


05066 


N 


A 


S 


E 


N 


T 


45 


30 


50263 


00177 


E 


N 


C 


E 


A 


77 


46 



CA 



FH47 







L 


ine 


no 


• 





411 



F16 



F17 



F18 





IA 


FI 







40 


FI1 


3 


1 


66 


51510 


14724 


2 


50 


73016 


57347 


3 


25 


51466 


52277 


4 


40 


FI5 


5 


5 


50 


51013 


05027 


6 


01 


51310 


16530 


7 


50 


66305 


02630 


10 


01 


65734 


72551 


11 


46 


22777 


77777 


12 


40 


FI13 


14 


13 


34 


50265 


15454 


14 


30 


26660 


16573 


15 


47 


25514 


60165 


16 


30 


53673 


05026 


17 


30 


22010 


10177 


20 











21 











22 











23 


01 


01777 


77777 


24 











25 











26 













CA 


FI27 





T A M A 

N Y A S Y M 

B L S . 77 

N A E N D 

A F A S E 

N T E N C E 

A S Y M B 

L . 77 77 77 77 

I N C R R 

EC T A S Y 

M B L A S 

E Q U E N C 

E . A A A 77 

1st sym. 

A A 77 77 77 77 

2nd sym. 



412 



F19 



F20 





IA 


NO 







40 


N01 


7 


1 


45 


30730 


17151 


2 


54 


27210 


17777 


3 











4 


01 


21016 


76530 


5 


27 


01246 


50124 


6 


01 


70245 


43424 


7 


25 


46302 


27777 


10 


40 


N011 


17 


11 


27 


34473 


05065 


12 


34 


51500 


16530 


13 


50 


66305 


02630 


14 


21 


01343 


10134 


15 


66 


01245 


25230 


16 


24 


54652 


10147 


17 


67 


65660 


12530 


20 


01 


01010 


10101 


21 


31 


34546 


56622 


22 


01 


01543 


06566 


23 


01 


51310 


16633 


24 


34 


65016 


53050 


25 


66 


30502 


63001 


26 


50 


51660 


12633 


27 


30 


26453 


02722 




CA 


NO 30 





K 


E 


Y 


A 


W 





R 


D 


t 


A 


77 


77 




Word 








A 


t 


A 


U 


S 


E 


D 


A 


A 


s 


A 


A 


A 


V 


A 


R 


I 


A 


B 


L 


E 


• 


77 


77 


D 


I 


M 


E 


N 


S 


I 





N 


A 


S 


E 


N 


T 


E 


N 


C 


E 


i 


A 


I 


F 


A 


I 


T 


A 


A 


P 


P 


E 


A 


R 


S 


? 


A 


M 


U 


S 


T 


A 


B 


E 


A 


A 


A 


A 


A 


A 


F 


I 


R 


S 


T 


, 


A 


A 


R 


E 


S 


T 


A 





F 


A 


T 


H 


I 


S 


A 


S 


E 


N 


T 


E 


N 


C 


E 


A 


N 





T 


A 


C 


H 


E 


C 


K 


E 


D 


# 



413 



(af) Set TN for Five or Seven Uniservos 





IA 


OT 







MJ 





30000 


1 


MJ 


10000 


0T4 


2 


TP 


0T7 


TN 


3 


MJ 





OT 


4 


TP 


0T6 


TN 


5 


MJ 





OT 


6 





3 





7 












Exit 

Entry. Jump to 0T4 if MJl is set. 

Puts zero into TN when MJl is not set 

Puts 3 into TN when MJl is set. 



CA 0T10 



IA 




TN 




CA TNI 



(ag) Set up Translation Output Tape 





IA 


DB 







MJ 





30000 


1 


TP 


TN 


A 


2 


AT 


DB17 


WT13 


3 


RP 


10024 


DB5 


A 


TP 


TTOl A 




5 


TP 


UB15 


VN24 


6 


TP 


UB16 


VN25 


7 


RP 


10142 


DB11 


10 


TP 


UB14 


VN26 


11 


TP 


WT13 


GT3 


12 


RJ 


GT2 


GT 


13 


MJ 





DB 


14 


74 


74747 


47474 


15 


65 


66543 


45032 


16 


02 


51676 


66501 


17 


71 


00103 


VN 



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 Z*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 exit 

STRING 
- U T S A 



CA DB20 



414 



(ah) Write Translation List on Tape (also region SS) 





IA 


WT 







MJ 





30001 


1 


TP 


UZ2 


A 


2 


ZJ 


WT 


WT3 


3 


TP 


YN 


A 


4 


DV 


WT14 


Q 


5 


ZJ 


WT7 


WT6 


6 


RS 


Q 


WT15 


7 


LA 


Q 


25 


10 


AT 


WT13 


GT3 


11 


RJ 


GT2 


GT 


12 


MJ 





WT 


13 


71 


00103 


VN 


14 








170 


15 








1 




CA 


WT16 





Has error routine been referenced? 

No. of lines to A 

No. of blocks to Q 

Is remainder zero? 

Tf 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. 



41f 



(ai) Put Referenced Sentence Number in List IZ 





1A 


1A 







MJ 





30000 


1 


TP 


A 


1X46 


2 


TP 


11 


A 


3 


TJ 


1X40 


1X11 


4 


TP 


1X46 


A 


5 


RP 


20454 


1X7 


6 


EJ 


IZ 


IX 


7 


RA 


1X47 


1X36 


10 


MJ 





IX 


II 


TU 


11 


-rtr i O 

1AJLO 


12 


TP 


1X46 


A 


13 


RP 


30000 


1X15 


14 


EJ 


IZ 


IX 


15 


TV 


11 


1X26 


16 


RA 


11 


1X37 


17 


TJ 


1X40 


1X25 


20 


TP 


1X34 


UP3 


21 


RJ 


UP2 


UP 


22 


RJ 


UZ 


UZ1 


23 


TP 


1X36 


1X47 


24 


MJ 





TX 


25 


RA 


1X26 


1X33 


26 


TP 


1X46 


30000 


27 


TV 


1X26 


1X31 


30 


RA 


1X31 


1X36 


31 


TP 


1X35 


30000 


32 


MJ 





IX 


33 








IZ 


34 





1X41 


5 


35 











36 








1 


37 





2 


2 


40 





20455 


455 


41 


54 


30313 


05430 


42 


50 


26302 


70146 


43 


34 


50306 


50130 


44 


72 


26303 


02701 


45 


04 


10037 


77777 


46 











47 





00000 







CA 


1X50 





Line no. to storage. 

Is 11 < 00 20454 00454? 

Is line no. in ref. list? 

Counting excess line no. referrals. 



i 



veiling up repeal ioi" searcn ui ll, aocuru- 
ing to length of IZ. 

Is line no. in ref. list? 

No. of lines n in IZ to v of 1X26 

Adding 2 2 to 11. 

Is 11 < 20454 454? 

Error Print-Out: Referenced lines 

exceed 150. 

Referral to string-out error routine 

Putting 1 into excess line-referral counter 

IZ + n — > v of Nl 

Line no. goes to next location at end of 

IZ list 

Subsequent address of IZ list is 

cleared. 



R E F E R E 

N C E D A L 

I N E S A E 

X C E E D A 

1 5 A A A 



416 



(aj) Excess-Three Decimal to Octal 





IA 


RS 







MJ 





RS5 


1 


RJ 








2 


MJ 





30000 


3 











4 











5 


TP 


RS51 


RS3 


6 


TP 


RS51 


RS42 


7 


TP 


RS51 


RS43 


10 


TP 


RS52 


RS44 


11 


TP 


RS54 


RS45 


12 


LQ 


RS4 


6 


13 


QT 


RS46 


RS41 


14 


RS 


RS41 


RS47 


15 


SJ 


RS20 


RS16 


16 


ST 


RS50 


A 


17 


SJ 


RS22 


RS20 


20 


TP 


RS42 


A 


21 


ZJ 


RS26 


RS2 


22 


RA 


RS42 


RS53 


23 


LQ 


RS43 


6 


24 


RA 


RS43 


RS41 


25 


IJ 


RS44 


RS12 


26 


RS 


RS45 


RS42 


27 


MP 


RS45 


RS54 


30 


TV 


A 


RS31 


31 


LQ 


RS43 





32 


RS 


RS42 


RS53 


33 


LQ 


RS43 


6 


34 


SP 


RS3 


2 


35 


SA 


RS3 


1 


36 


QA 


RS46 


RS3 


37 


IJ 


RS42 


RS33 


40 


MJ 





RS2 


41 











42 











43 











44 











45 











46 








77 


47 








3 


50 








12 


51 











52 








5 


53 








1 


54 








6 




CA 


RS55 





Entrance 

Alarm exit 

Exit 

Output 

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. 

Below-0 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 exit 

Storage for single decimal digits 

lst-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 

Zero constant 
Index constant 

Constants 



417 



(ak) Excess-Three Decimal to Floating Point 







TA 


GG 











MJ 





GG6 






1 


RJ 












2 


MJ 





30000 






3 








o 






4 











\ 




5 











J 




6 


TP 


CF2 


CC 


} 




7 


TP 


CF3 


CC1 




10 


TP 


CF6 


CC2 






11 


HP 


10006 


rxi «} 


1 

i 




12 


TP 


CF13 


CC3 




13 


TU 


GG165 


GG15 






14 


TV 


GG164 


GG33 






' 15 


LQ 


GG4 


6 


} 




16 


QT 


CF 


CC12 




17 


RS 


CC12 


CF1 






20 


SJ 


GG21 


GG24 






21 


TP 


CC3 


A 


1 




22 


AT 


CC4 


A 






23 


ZJ 


GG66 


GG162 


J 




24 


EJ 


CF16 


GG56 


*s 




25 


ZJ 


GG30 


GG26 




Assembly 


26 


TP 


CC3 


A 


1 


of digits 


27 


ZJ 


GG32 


GG35 


> 


before S 










j 


decimal 


30 


RS 


A 


CF6 


} 


point 


31 


SJ 


GG32 


GG21 




32 


RA 


CC3 


CF3 






33 


TP 


CC12 


CC13 






34 


RA 


GG33 


CF3 






35 


IJ 


CC 


GG15 






36 


IJ 


CC1 


GG40 






37 


MJ 





GG64 






40 


TU 


GG166 


GG15 






41 


TP 


CF2 


CC 






I 42 


MJ 





GG15 






f 43 


TP 


GG15 


GG44 






44 













Assembly 


45 


QT 


CF 


CC12 




of digits 


46 


RS 


CC12 


CF1 




after < 


47 


SJ 


GG21 


GG50 




decimal 


50 


RS 


A 


CF6 




point 


51 


SJ 


GG52 


GG21 






52 


RA 


CC4 


CF3 






53 


TP 


GG33 


GG54 






54 














Entrance 

Alarm exit not used 

Exit 

Floating point output 

Input in excess-three decimal 

Set indexes 

Set divisor at 12 fl 

/"* 1 oo v« A mIooqc r\ -P \tir\ v»l/i nr< p + rtvnno 

CC3-CC11 

Put GG4 in u part of GG15 

Put CC13 in v part of GG33 

Mask out character and put in CC12 

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 GG15 to GG5 for second input line 

Restore 6-character index to 5 

Jump to assembly of second input line 



418 





55 


RA 


GG33 




56 


IJ 


CC 




57 


IJ 


CC1 




60 


MJ 







61 


TU 


GG166 




62 


TP 


CF2 




163 


MJ 







64 


TP 


CC3 




65 


AT 


CC4 




66 


ST 


CF3 


Conversion 


f 67 


MP 


CC7 


of all 


70 


TP 


A 


digits 


7l 


MP 


CC10 


to an octal 


72 


AT 


CC13 


number con- 


73 


LT 





tained in > 


74 


LT 


10000 


CC7 and 


75 


TP 


CC12 


CC10. 


76 


AT 


CC1 




77 


RA 


GG72 




100 


IJ 


ecu 




I 01 


TU 


GG167 




102 


TP 


CC4 




103 


ZJ 


GG104 




104 


EJ 


CF7 




105 


ST 


CF3 


Computa- 


106 


IJ 


ecu 


tion of 


107 


MJ 





"power- < 


110 


MP 


CF6 


of-10" 


111 


TP 


A 


divisor 


112 
113 


MJ 







TP 


CF11 




114 


TP 


CF6 




115 


ST 


CC3 




116 


MP 


CC 




117 


TP 


A 




120 


SP 


CC7 




121 


TV 


CC5 




122 


SA 


CC10 




123 


DV 


CC2 




124 


TP 


CC4 




125 


EJ 


CF7 




126 


MJ 







127 


LA 


CC26 




130 


TP 


CC26 




131 


MJ 







132 


SP 


CC7 




133 


SA 


CC10 




134 


SF 


A 




135 


AT 


CF10 



ecu 

GG110 

GG114 

CC2 

CC2 

GG106 

CC2 



Computing index CCll 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 power- 

of-10 divisor 



CC 



10"— » CC2. 10" alone would over- 
8 flow Ar 

Computation of dividend shift 
needed to get 10 significant fig- 
ures in quotient. 

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 



419 



136 


TP 


CC 


Q 


137 


QJ 


GG140 


GG143 


140 


LQ 


CC 


33 


141 


TP 


CF3 


CC6 


142 


MJ 





GG144 


143 


T.0 

— x 


CC 


34 


144 


TP 


CF12 


Q 


145 


QT 


CC 


CC 


146 


TP 


CC 


GG3 


147 


TP 


CC6 


CC3 


150 


RA 


CC3 


CF5 


151 


RS 


CC3 


CC5 


152 


SA 


CC1 


33 


153 


TP 


A 


CC4 


154 


TP 


CC1 


A 


155 


EJ 


CF14 


GG162 


156 


TJ 


CF14 


GG160 


157 


RS 


CC4 


CF15 


160 


RA 


GG3 


CC4 


161 


MJ 





GG2 


162 


TP 


CF13 


GG3 


163 


MJ 





GG2 


164 








CC13 


165 





GG4 





166 





GG5 





167 





CC13 







CA 


GG170 






IA 


CF 













77 


1 








3 


2 








5 


3 








1 


4 





1 





5 








243 


6 








12 


7 








13 


10 








200 


11 


13 


51035 


56400 


12 


00 


07777 


i i 1 1 1 


13 











14 








45 


15 


11 








16 








17 




CA 


CF17 





Tf round-off caused a carry-over 
from first significant digit 1 
— > CC6 and shifting is altered. 



Assembly and insertion of mantissa 
into output line. 

[(CC6) + 243 - (CCS) + k] shifted 
to position of characteristic and 
put into CC4 



If k = 45q, both characteristic 
and mantissa — 0. 
If 45q> k, 1108 is subtracted 
from CC4 

Final assembly of non-zero float- 
ing point number. 
Jump to exit. 

Clearing output line to zero 
Exit 



420 



Sequential Uses of Working Storage CC 

| Index 5 for 6 characters in a line of input. 
0< Varying multiplier to determine size of fractional part in quotient. 
I Temporary storage for first parts of result. 

j Index 1 for 2 lines of input. 
l< Storage for 10* A, . 
\^k of scale factor. 

2 Varying product and final divisor. 

of Number of digits before decimal point. 
\ Used to accumulate characteristic. 

A 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 A, in octal conversion. 

10 A D in octal conversion. 

n f 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, 

Used for 12th decimal number. 



*{S 



sed for quotient after division. 



421 



(al) Assign Constant Call Word 





1 
2 
3 
4 
5 
6 
7 

10 
11 
12 
13 
14 
15 



IA 
MJ 
TP 
TP 
TJ 
TP 
RP 
EJ 
RA 

TP 
SP 

MJ 
SN 
SA 
MJ 
CA 



GW 



A 

10 

FX 

FX12 

21000 

CL 

FX13 

FX3 
FX3 


Q 
FX11 



GW16 



30000 

FX12 

A 

ZS 

A 

GW7 

GW13 

FX2 

Q 

17 

GW 

17 



ZS22 



} 



Exit 

Entry. To store constant temporarily 

Test if number of constants ^ 1000. 

Test if constant is in list that is 
already 1000 in length. 

Count of number of referrals of con- 
stants not in list after alarm. 
Giving the maximum call word 67777 to 
all of these referral constants. 



L- J, - vn 
[- j, (r - n)] 






'^U 

[j. n] = r ' 



<Vu 



IA 

TP 

1 TU 



2 

3 

4 

5 

6 

7 

10 

11 

12 

13 

14 

15 

16 

17 

20 

21 

22 

23 

24 
25 
26 
27 



RP 
EJ 
SN 
SA 
MJ 
TV 
RA 
TJ 
TP 
RJ 
RJ 
TP 
MJ 
RA 
TP 
SP 
AT 
QT 

LQ 
MJ 





ZS 

FX12 
10 

30000 
CL 

Q 

10 



10 

10 

FX 

ZS27 

UP2 

UZ 

FX2 



ZS20 

FX12 

10 

FX4 

FX5 

Q 


FX6 



A 
ZS2 

ZS7 
ZS4 

17 



ZS22 

ZS20 

FX1 

ZS17 

UP3 

UP 

UZ1 

FX13 

GW10 

ZS26 

30000 

17 

Q 

Q 

25 
GW 
CL 
3 



} 



l 



Constant — > A 

Sets up u of Repeat by constant list 

count in 10. 

Test if constant is in list CL. 



F: 



,- j, - (n - r)] ->(Ar) u 
-l, Cr-nJl +■ li.nl =r 



(Ad),, 



n— >(ZS20) y 

Counter 10 increased by 1. 

Is call word list of constants - 1000? 

Alarm print-out — too many constants 

References error routine. 

Starts excess count of referrals in FX13. 

(n f cl) — >(ZS26) V 

Constant added to next position in list 

(r + 66777 )-^> q u 

Irrelevant material in q masked out. 

Call word formed in A u 

Call word formed in Q v 



Parameter for error print-out: too many 
constants 



CA ZS30 



IA 
00 



FX 
21001 



01001 Threshold constant for check on size of 
CL. 



422 



1 





1 


1 


2 








1 


3 








6 



67777 



66777 



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. 



5 





77777 





Mask 




6 


66 


51510 


14724 


T 


A M A 


7 


50 


73012 


65150 


N Y 


A C N 


10 


65 


66245 


06665 


S T 


ANTS 


11 





21000 









12 















13 



CA 



FX14 










(am) Close VARY File Item and Variable List File Item 



IA 

MJ 

1 SP 



© 

© 
© 



© 



© 



© 



2 
3 
4 
5 
6 
7 

1 
2 
3 
4 
5 
6 

17 





1 

2 

3 

4 

5 

6 

7 

10 

11 

12 

13 



EJ 
TU 
SP 
TJ 
RJ 
MJ 
TP 
TP 
TV 
SP 
TU 
TU 
RA 

MJ 
CA 

IA 
TU 
TV 
SP 
TU 
TU 
RA 
SP 
AT 
TU 
SP 
LT 
RS 



VE 



VII 

VI2 

VI 

30000 

WL1 

RA 



VI2 

VI2 

VI3 

WL3 

A 

VI3 

30000 


VE20 

VG 

VG21 

VI 3 

30000 

A 

VI3 

30000 

VI 

VH 

A 

30000 

6 

VL 



30000 


VE6 

VE4 



VG6 

RA1 

VE 

VI 

VII 

VE14 

17 

30000 J 

VE16 

VH3 

VE6 



VG2 

VG3 

17 

30000 J 

VG5 

VH4 



VI3 

VG11 



VI4 

VH2 



Are there any unclosed items in the Vary 
File? 

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. 



(X) 
(X) 



a 




Insert call word of current sentence in- 
to 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) 



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 



© 



14 


IJ 


VI4 


VG13 


15 


RS 


VI 


VH1 


16 


TJ 


VII 


VE10 


17 


SA 


VH 





20 


TU 


A 


VG21 


21 


TP 


30000 


Q 


22 


QJ 


VG15 


VG23 


23 


TU 


VI 


VG24 


24 


SP 


30000 





25 


TJ 


WL1 


VG 


26 


MJ 





VE12 




CA 


VG27 





Decrease ( a ) by two 
(£) > ( a )? 

Is word at address given by ( a ) + 1 
flagged? 

No. Is the current sentence number > 
the sentence number at address given 
by ( a ) ? 



424 



Close VARY File Item and Variable List File Item (cont.) 





IA 


VH 












1 


1 




1 





2 


2 




2 





3 


3 




3 


40 








JUMP flag 


4 


60 
CA 

IA 



VH5 

VI 





RESUME flag 








VF1 


VF1 


a 


1 





VF1 


VF1 





2 





VF1 


VF1 


r 


3 











Temp 1 


4 



CA 



VI5 





Index 



425 



(an) Flex Codes for Print Text 





IA 


FC 







5 


60000 





1 





40000 





2 


45 


60000 





3 


43 


70000 





4 


45 


20000 





5 


47 


40000 





6 


47 








7 


46 


40000 





10 


46 


20000 





11 


46 


60000 





12 


47 


20000 





13 


46 








14 


43 


30000 





15 


5 


40000 





16 


41 


30112 





17 


4 


60000 





20 


7 








21 


44 


60000 





22 


44 


20000 





23 


44 


60000 





24 


3 








25 


2 


30000 







J. 


tr\r\r\r\ 

\JKJ\J\JKJ 




27 


2 


20000 





30 


2 








31 


2 


60000 





32 


1 


30000 





33 





50000 





34 


1 


40000 





35 


6 


20000 





36 


6 








37 


41 


12412 





40 


7 


40000 





41 


6 


40000 





42 


45 








43 


4 


20000 





44 


3 


20000 





45 


3 


60000 





46 


1 


10000 





47 





70000 





50 





60000 





51 





30000 





52 


1 


50000 





53 


3 


50000 





54 


1 


20000 





55 


6 


60000 






XS2 


\ 








00 


- 


Superscri 


Pt 


minus 


01 


= 


Space 






02 


= 


minus 






03 


= 









04 


= 


1 






05 


=: 


2 






06 


= 


3 






07 


= 


4 






10 


= 


5 






11 


=: 


6 






12 


= 


7 






13 


31 


8 






14 


= 


9 






15 


= 


Superscri 


Pt 


/ 


16 


= 


Gtr > 






17 


= 


open parenthesis ( 


20 


~ 


Superscri 


pt 


3 


21 


= 


Comma , 






22 


= 


Period . 






23 


= 


Semicolon 


» 




24 


= 


A 






25 


= 


B 






0£ 


_ 


r 






L.KJ 




\j 






27 


= 


D 






30 


= 


E 






31 


= 


F 






32 


= 


G 






33 


= 


H 






34 


= 


I 






35 


= 


Superscri 


Pt 


5 


36 


= 


Superscri 


Pt 


8 


37 


= 


lsr < 






40 


= 


Superscri 


Pt 


2 


41 


= 


Superscri 


pt 


4 


42 


= 


absolute 


val 


ue 1 


43 


= 


closed parenthesis ) 


44 


= 


J 






45 


= 


K 






46 


= 


L 






47 


= 


M 






50 


= 


N 






51 


= 









52 


= 


P 






53 


= 


Q 






54 


= 


R 






55 


— 


Superscri 


Pt 


6 



426 



56 


42 


76154 





56 


= 


* 




57 


3 


30000 





57 


= 


Superscript 


9 


60 


3 


70000 





60 


= 


Superscript 





61 


5 


20000 





61 


= 


Superscript 


1 


62 


4 


40000 





62 


= 


Superscript 




63 


45 


40000 





63 


= 


+ 




64 


5 


40000 





64 


= 


/ 




65 


2 


40000 





65 


= 


S 




66 





10000 





66 


= 


T 




67 


3 


40000 





67 


= 


U 




70 


1 


70000 





70 


= 


V 




71 


3 


10000 





71 


= 


w 




72 


2 


70000 





72 


- 


X 




73 


2 


50000 





73 


- 


Y 




74 


2 


10000 





74 


= 


z 




75 


7 


20000 





75 


= 


Superscript 


7 


76 


44 


40000 





76 


= 


= 




77 


7 
CA 


70000 
FClOO 





77 


= 


ignore 





427 



(ao) Line Number Processor 




1 
2 
3 
4 
5 
6 
7 
10 
11 

12 



IA 
MJ 
MJ 
MJ 
00 
00 
TV 
MJ 
TV 
MJ 
TP 

MJ 
CA 



LN 





30000 
30000 
RC14 


RC15 

LN4 



LN13 



T_.NI '-i r*.oco T on + -r«\r 

LN7 Case II entry 

30000 Exit 

30000 Output 

30000 Input 

PA1 Set alarm switch to Case I 

DRO Process line number 

PA1 Set alarm switch to Case II 

DR Process line number 

LN3 Enter here after alarm print and put 

in n ut line number in out n ut line. 

LN2 Exit 



SETUP 

AND 

DRIVER 





1 

2 

3 

4 

5 

6 

7 

10 

11 

12 

13 

14 

15 

16 

17 

20 

21 



IA 
TV 
TV 
RJ 
RJ 
TP 
TP 
TP 
TV 
TV 
TV 
TV 
TV 
IJ 
RJ 
TP 
EJ 
EJ 
MJ 
CA 



DR 

RC6 

DR 

MR12 

MR43 

UC23 

UC4 

LN4 

RC10 

RC13 

RC12 

RC11 

RCl 

WS3 

DR15 

LN3 

UC23 

UC24 



DR22 



Preset M .AA" one shot switch 

Preset M .AA" one shot switch 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 = 

Set Exit 4 to integral part ^ 

Set ADD /NO ADD switch to NO ADD 

Master counter 

One shot switch to add " .AA" 

Determine if input line number has at 

least one nonzero digit; if not 

ALARM 4 

Input line number O.K., exit. 



CODE PICK 
UP AND 
SORT 



INTEGRAL 
PART 





1 

2 

3 

4 

5 

6 

7 

10 

11 

12 

13 



IA 
LQ 
QT 
RP 
EJ 
EJ 
EJ 
RP 
EJ 
TV 
TV 
RJ 
RJ 



MR 

WS 

UC20 

20004 

UC14 

UC13 

UC1 

20011 

UC2 

RC 

RC2 

MR12 

MR12 



6 

A 

MR4 

30000 

30000 

30000 

PA11 

30000 

MR16 

MR3 

MR13 

MR22 



Shift line number 6 and pick up next 
character in A 

Exit 1 A, f, (, ) 

Exit 2 . 

Exit 3 

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 "A" routine 



3-Point Distributor 



428 





14 


RJ 


MR12 


MR22 


II 








15 


MJ 





MR24 


III j 






16 


MJ 





30000 


ADD /NO ADD switch " 


ADD /NO ADD Subrou 




17 


SA 


LN3 


6 1 


Add char, to 


► tine 




20 


TP 


A 


LN3 \ 


Output and 






21 


MJ 





30000 J 


exit 






22 


RJ 


MR21 


MR16 


I = II Add digit if it is significant. 




23 


MJ 





DR14 


Jump to master counters 




24 


TV 


RC3 


MR5 \ 


III Set Exit 3 and 4 to Alarm 2 




25 


TV 


RC3 


MR7 J 






26 


RJ 


MR21 


MR16 


Add digit if it is significant. 




27 


RJ 


MR27 


30000 


One shot switch, set initially to MR31 




30 


MJ 





DR14 


Jump to master counter 




31 


SP 


LN3 





Output— »A 




32 


SA 


UC13 


6 


Add . 




33 


SA 


UC14 


6 


Add A 




34 


AT 


UC14 


LN3 


Add A and replace in LN3 




35 


MJ 





DR14 


Jump to master counter 


PERIOD 


36 


TV 


RC2 


MR3 


Set Exit 1 to Aroutine 


ROUTINE 


37 


TV 


RC5 


MR4 


Set Exit 2 to Alarm 4 




40 


TV 


RC7 


MR5 


Set Exit 3 to fract. part 




41 


TV 


RC7 


MR7 


Set Exit 4 to fract. part 




42 


MJ 





MR27 


Jump to one-shot add in ".AA" 


FRACTIONAL 


43 


RJ 


MR43 


MR44 


1 


PART 


44 


RJ 


MR43 


MR46 


I f 2-Point Distributor 


ROUTINE 


45 


MJ 





MR 60 


IlJ 




46 


EJ 


UC1 


MR55 


I Is this digit zero? No,— > MR47 




47 


LA 


A 


6 


Shift to 2nd position " X-" 




50 


TP 


UC21 


Q 


Mask— ^Q 




51 


QS 


A 


LN3 


Mask digit into LN3 = Output 




52 


TP 


UC 


WS1 


Clear TEMP 




53 


TP 


UC20 


WS2 


Set Mask 




54 


MJ 





DR14 


Jump to master counter 




55 


LT 


10006 


WS1 


Digit is zero: shift to " X-" and 

store in TEMP 




56 


TP 


UC22 


WS2 


Set Mask 




57 


MJ 





DR14 


Jump to master counter 




60 


TV 


RC4 


MR5 


III Set Exits 3, 4 to 




61 


TV 


RC4 


MR7 


J Alarm 3 




62 


EJ 


UC1 


DR14 


Is this digit zero? Yes,— > master 

counter 




63 

/ A 


AT 
TP 


WS1 
WS2 


WSl 
Q 


No: add digit to TEMP 

IK 1- •» Ci 




64 


Mask > v 




65 


QS 


WS1 


LN3 


Mask digit or digits into Output 




66 


MJ 





DR14 


Jump to master counter 


SPACE 


67 


TV 


RC10 


MR3 


Set Exit 1 to master counter 


ROUTINE 


70 


TV 


RC5 


MR4 


Set Exit 2 to Alarm 4 




71 


TV 


RC5 


MR5 


Set Exit 3 to alarm 4 




72 


TV 


RC5 


MR7 


Set Exit 4 to Alarm 4 




73 


MJ 





DR14 


Jump to master counter 






CA 


MR74 











429 





1 

2 

3 

4 

5 

6 

7 

10 

11 

12 

13 

14 

IS 



IA 





























CA 



RC 





























RC16 



MR 17 Sets ADD /NO ADD switch to ADD 

MR21 Sets ADD/NO ADD switch to NO ADD 

MR67 Sets Exit 1 to A routine 

PA16 Alarm 2 entry 

PA23 Alarm 3 entry 

PA30 Alarm 4 entry 

MR31 Sets add ".AA" one-shot switch 

MR43 Fractional part routine entry 

DR14 Sets Exit 1 to master counter 

MR10 Integral part entry ^ 

MRU Integral part entry = 

MR36 Period routine entry 

PA3 Case I alarm switch 

PAS Case II a 1 arm switch 



EXCESS- 
THREE 
CODES 





1 

2 

3 

4 

5 

6 

7 

10 

ii 

12 

13 

14 

15 

16 

17 

20 

21 

22 



IA 









































uc 
























3 

4 

5 

6 

7 

10 

11 

12 

13 

14 

22 

1 

77 

17 

43 

77 

7700 

7777 




1 
2 
3 
4 
5 
6 
7 
8 
9 

A 

i 
( 
) 

Masks 



430 



23 


1 


1010 


10100 


24 


1 


1012 


20101 




CA 


UC25 






IA 


WS 










30000 


30000 


1 





30000 


30000 


2 





30000 


30000 


3 





30000 


30000 




CA 


WS4 






IA 


PA 







RJ 


UZO 


UZ1 


1 


MJ 








2 


MJ 








3 


RJ 


WA 


WA2 


4 


MJ 





PA2 


5 


TP 


LN4 


CD3 


6 


TP 


CD 


UP3 


7 


RJ 


UP2 


UP 


10 


MJ 





PA2 


11 


RJ 


PA2 


PA 


12 


TP 


LN4 


CD15 


13 


TP 


CD5 


UP3 


14 


RJ 


UP2 


UP 


15 


MJ 





LN11 


16 


RJ 


PA2 


PA 


17 


TP 


LN4 


CD27 


20 


TP 


CD17 


UP3 


21 


RJ 


UP2 


UP 


22 


MJ 





LN11 


23 


RJ 


PA2 


PA 


24 


TP 


LN4 


CD42 


25 


TP 


CD31 


UP3 


26 


RJ 


UP2 


UP 


27 


MJ 





LN11 


30 


RJ 


PA2 


PA 


31 


TP 


LN4 


CD54 


32 


TP 


CD 


UP 


33 


RJ 


upa. 


UP 


34 


MJ 





LN11 




CA 


PA3f 





A A A A 
A A A . A A 



"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 entrj) 

Alarm comment 1 



Print (alarm 2 entry) 
Alarm comment 2 

Print (alarm 3 entry) 
Alarm comment 3 

Print (alarm 4 entry) 
Alarm comment 4 



431 



IA CD 






00 


CD1 


4 


Parameter 




^ 




1 


65 


30506 


63050 


S E 


N 


T 


E 


N 1 


Heading 


2 


26 


30010 


17777 


C E 


A 


A 




J 




3 


01 


01010 


10101 


A A 


A 


A 


A 


A 


Input Line Number 


4 


01 


01017 


77777 


A A 


A 










5 


40 


CD6 


11 


Parameter 








6 


34 


46463 


03224 


I L 


L 


E 


G 


A 


Comment 1 


7 


46 


01263 


32454 


L A 


r 


H 


A 


R 




10 


24 


26663 


05401 


A C 


T 


E 


R 


A 




11 


34 


50016 


53050 


I N 


A 


S 


E 


N 




12 


66 


30502 


63001 


T E 


N 


C 


E 


A 




13 


50 


67472 


53054 


N U 


M 


B 


E 


R 




14 


01 


77777 


77717 


A 








( 




15 


01 


01010 


10101 


A A 


A 


A 


A 


A 


Input Line Number 


16 


43 


77777 


77777 


) 












17 


40 


CD20 


11 


Parameter 








20 


30 


72665 


42401 


E X 


T 


R 


A 


A 


Comment 2 


21 


34 


50663 


03254 


I N 


T 


E 


G 


R 




22 


24 


46012 


73432 


A L 


A 


D 


I 


G 




23 


34 


66650 


13450 


I T 


S 


A 


I 


N 




24 


01 


65305 


06630 


A S 


E 


N 


T 


E 




25 


50 


26300 


15067 


N C 


E 


A 


N 


U 




26 


47 


25305 


40117 


M B 


E 


R 


A 


( 




27 


01 


01010 


10101 


A A 


A 


A 


A 


A 


Input Line Number 


30 


43 


77777 


77777 


) 












31 


40 


CD32 


12 


Parameter 








32 


30 


72665 


42401 


E X 


T 


R 


A 


A 


Comment 3 


33 


31 


54242 


66634 


F R 


A 


C 


T 


I 




34 


51 


50244 


60127 


N 


A 


L 


A 


D 




35 


34 


32346 


66501 


I G 


I 


T 


S 


A 




36 


34 


50016 


53050 


I N 


A 


S 


E 


N 




37 


66 


30502 


63001 


T E 


N 


C 


E 


A 




40 


50 


67472 


53054 


N U 


M 


B 


E 


R 




41 


01 


77777 


77717 


A 








( 




42 


01 


01010 


10101 


A A 


A 


A 


A 


A 


Input Line Number 


43 


43 


77777 


77777 


) 












44 


40 


CD45 


11 


Parameter 








45 


34 


46463 


03224 


1 L 


L 


E 


G 


A 


Comment 4 


46 


46 


01653 


05367 


L A 


S 


E 


Q 


U 




47 


30 


50263 


00134 


E N 


C 


E 


A 


I 




50 


50 


01653 


05066 


N A 


s 


E 


N 


T 





432 



51 


30 


50263 


00150 


E 


N 


C 


E A N 


52 


67 


47253 


05401 


U 


M 


B 


ERA 


53 


17 


77777 


77777 


( 








54 


01 


01010 


10101 


A 


A 


A 


AAA 


55 


43 
CA 


77777 
CD56 


77777 


) 









Input Line Number 



433 



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. No. 1 

Dimension String-out 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. Subscripts 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 » f 

If a new variable name is picked up before closing parenthesis for 

preceding variable is found, routine prints: INFORMATION FOR VARIABLE ' ' 

IS INCOMPLETE 

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 * * IS LESS THAN 2. 



43;" 



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 
TF6 



Set initial 
drum address 



Set initial 
call word 



clear counters 
1, 2, & 3 



Set u & v of 
TF to 3 



-0 



CO 



a> 



Set exits A to A, 
B to B, 



Set exits C, D, 
and E to CJ3 £ 



Set exit G 
to G, 



^© 




Test: Is 1st char.\ v /^Test: Is lettef\ Yes 

Ye s ' x 



a letter? 




I, J, K t L t or M 



■=> Exit I 



No 



*© 



No 



Exit A 




Test: Is 1st char> 
a decimal point or \ No 
digit? 



Test: Is symbof\ ^ / Test: Is symbolX^ 
a ( ? 



Test: is symbol^ 



a ) ? 



a, or ; ? 



No 



<D 



B, 



Yes 



Exit B- 



>Exit 



Yes 



»Exit 
C 



Yes Exit 



<r--E 2 




Test: Is symbolX n 



a A,? 



-*-Exit I 



Yes Exit 

* G 



Dimension String-Out No. 1 Flow Charts - Page 2 of 6 



WA 
Check 
variable 
symbol 



Put variable 
symbol into file 
(TF2) 



Set Exit C 
to C 



Set exit B to 

B i 



Set Exits D and E 
to D, and E, 



-© 



>u 



©- 



Set Exit G 
to G, 



Set Exit A to 



Insert name of 
variable (TF2) 




<D 



Print: INFORMATION 
FOR VARIABLE . . . 
IS INCOMPLETE 



^ 



Insert name of 
variable 



Print: ILLEGAL 
SYMBOL SEQUENCE 
FOR VARIABLE . . . 



Set Exits B,C, D, 
and E to I 



*@- 



Set Exit G to 
G2 



Set Exit A 
to A, 



*© 




-© 



*© 




Test: Is sub- \ Y es 



script cntr. ^ 3?/ 



Add 1 to 
subscript cntr 



dc 



+® 



Distributor 
for 

subscripts 



1st subscript >C\ 



12* "-^(p) 

** " ,@ 



4th 



*© 



Dimension String-Out No. 1 Flow Charts - Page 3 of 6 



0- 



Shift subscript 
left 17 places 
in A 



©- 



Store subscript in 
temp + 1 and in 
TF5 V 



Yq} Store A in temp* 
and in TF4„ 



Increment u & v 
of TF by 1 



-*(io)— * 



Set Exit B to B, 



(Temp) (Temp + l) 
to A 



-0 



Set exits D and 
E to Dp and E„ 



-0 



CO 



©- 



(Subscript) (Temp) 
to temp and to TF4 U 



(Subscript) (Temp +1) 
to temp + 1 and to 
TF5 V 



Shift subscript left 
17 places in A 



Store A in temp + 2 
and in TF5y 



*® 



®- 



Store subscript in 
TF6 V 



(Subscript) (Temp + 1) 
to TF5 V 



(Subscript) (Temp + 2) 
to TF5 U 



(Subscript) (Temp) 
to A 



-0 



©_. 



Insert name of 
variable into 
print 




Print: Too many 
subscripts for 
variable . . . 




Set Exits B, 
C, D,& E to I, 



Set A to 
A, 



*® 



(Cg) — * 



Set Exit B 



to 



*2 



Dimension String-Out No. 1 Flow Charts - Page 4 of 6 



Set Exit C 
to C, 



O 




Test: is modulus \ Yes 
(temp) > 2? 




Set Exit E 
to E 3 


— > 


Set Exits A & 
D to A. & D 



No 



-0 



®- 



Put name of vari> 
able into print 




Print: DIMENSION 
OF VARIABLE IS 
LESS THAN 2 



<5>— 



Set Exit B 
to B 



Set Exits D and 
E to D and E 



^0 



Set Exit G 
to Go 



■*\\>~* ® 



-0 



0-» 



Set Exits A, E, 
and G to A,,E.., G 1 



-0 




Check: has vari~\ y e5 
able been inserted ) — — ** 
into TF2? J 



Insert name of 
variable into 
print 



tit 



-0 



Print: ILLEGAL 
S1HVIB0L SEQUENCE 
FOR VARIABLE... 




Dimension String-Out No. 1 Flow Charts - Page 5 of 6 



@H* 



Set no. of words in 
Dim. List into loc. 
6 



Exit 

to CR - Dimension No. 2 Stringout. 



©- 



Print: ILLEGAL 
SYMBOL SEQUENCE 



*® 






d> 



Insert illegal 
symbol into print 




0v) — * ^ um P """^C'O 



Print r Illegal 
SYMBOL 




Test: has vari- 
able been inserted 
into TF2? > 



No 



<D 



Yes 



•® 



Clear TF4 



Set u & v of TF3 
to 3 



Clear 
temp. 



K> 



Exit 




<Test: Is no. of >v Yes 
call words < 512? ' >! 



Add 1 to no. 
of call words 
assigned 



Add (TF) to no. 
of words in Dim. 
L ist 



Put no. of sub- 
scripts into TF4 V 



— ® 



No 



Dimension String-Out No. 1 Flow Charts - Page 6 of 6 



@H 



Add temp, to TF1 
to form next drum 
addr. 




Test: Is more 
space availabl 
in drum? 



Ty^i®-* 



Set subscript 

distributor 

for subscript 1 



Set next all 
word into TF3 



-© 



No 



©- 



Set u & u of 
TF to 3 



Clear TF2 and 
TF4-6 



Clear sub- 
script counter 



Clear 
temp. 



-*©■ 



A 








Print: VARIABLES RE- 
QUIRE TOO MUCH STORAGE 



-© 




Print: TOO MANY 
VARIABLES 



-© 



Dimension String-Out No. 1 



RE 


DY4400 


RE 


DT4424 


RE 


DU4502 


RE 


DV4564 


RE 


DW4622 


RE 


DX4643 


RE 


DZ4707 


RE 


CR5075 



String-Out Subroutine Regions Are Needed to Assemble This Tape 



E3 



C2 





IA 


DV 







RP 


10007 


DV2 


1 


TP 


DZ 


TF 


2 


TP 


DZ1 


TF1 


3 


TP 


DZ2 


TF3 


4 


RP 


10003 


DV6 


5 


TP 


DZ 


DZ111 


6 


TP 


DZ22 


TF 


7 


RJ 


DX 


DX 


10 


RJ 


DX16 


DX16 


11 


RJ 


DV17 


DV14 


12 


RJ 


DY2 


DY2 


13 


MJ 





DW 


14 


TV 


DW16 


DW7 


15 


TV 


DW16 


DW10 


16 


TV 


DW16 


DW15 


17 


MJ 





30000 


20 


RJ 


DW15 


30000 


21 


RJ 


DU 


DU 


22 


TV 


DZ24 


DW10 


23 


TV 


DZ24 


DW15 


24 


MJ 





DW 


25 


RJ 


DW15 


30000 


26 


RJ 


DX 


DX 


27 


TV 


DZ24 


DW15 


30 


RJ 


DY2 


DY2 


31 


MJ 





DW 


32 


RJ 


DW7 


30000 


33 


RJ 


DU 


DU 


34 


TV 


DZ24 


DW7 


35 


MJ 





DW 




CA 


DV36 





Clear TF-TF6 

Set initial drum address 
Set initial call word 

Clear counters 

Set u & V of TF to 3 

Set exit A to A^ 

Set exit B to B^ 

Set exits C t D & E to C^ 

Set exit G to G^ 

Back to get next symbol 



Di. & E 



Set exit E to E2 

Set exit B to B2 

Set exit D to D^ 

Set exit E to E^ 

Back to get next symbol 

Set exit E to E3 

Set exit A to A^ 

Set exit E to E^ 

Set G to G x 

Back to get next symbol 

Set exit C to C2 

Set exit B to B2 

Set exit C to C^ 

Back to get next symbol 



443 



Gl 



G 2 





IA 


DY 







MJ 





CR 


1 


MJ 





DV 


2 


RJ 


DW13 


30000 


3 


RJ 


WA 


WA1 


4 


TP 


TF2 


A 


5 


ZJ 


DY6 


DY13 J 


6 


TP 


A 


DZ60 


7 


TP 


DZ11 


UP3 


10 


RJ 


UP2 


UP 


11 


RJ 


DT55 


DT51 


12 


MJ 





DY17 


13 


TP 


DZ12 


UP3 


14 


RJ 


UP2 


UP 


15 


MJ 





DY17 


16 


RJ 


DW13 


30000 


17 


SP 


DZ112 


17 , 


20 


SA 


DZ117 





21 


TU 


A 


6 


22 


TV 


DZ113 


6 J 


23 


MJ 





DY 




CA 


DY24 






IA 


DT 







TP 


DZ113 


A ] 


1^ 


TJ 


DZ20 




2 


RJ 


WA 


WA1 


3 


TP 


DZ14 


UP3 


4 


RJ 


UP2 


UP 


5 


MJ 





DT25 


6 


RA 


DZ113 


DZ21 


7 


RA 


DZ112 


TF 


10 


TV 


DZ111 


TF4 


11 


RJ 


TE 


TE1 


12 


RA 


TF1 


DZ114 


13 


TJ 


DZ26 


DT15 


14 


MJ 





DT45 


15 


RJ 


DU7 > 


DU7 


16 


RA 


TF3 


DZ21 


17 


TP 


DZ22 


TF 


20 


TP 


DZ 


TF2 


21 


RP 


10003 


DT23 


22 


TP 


DZ 


TF4 


23 


TP 


DZ 


DZ111 


24 


TP 


DZ 


DZ114 


25 


MJ 





30000 


26 


RJ 


DW10 


30000 



Exit to Dim. String-out No. 2 

Jump to start 

Set exit G to Gi 

Print Error heading 

Test: Has variable name been inserted into 

TF2? 

If so, insert name of variable into print. 

Print: ILLEGAL SYMBOL SEQUENCE FOR VARIABLE 

Send incomplete file to Combination List 
Jump to G 

Print: ILLEGAL SYMBOL SEQUENCE 

Jump to G 2 

Set exit G to G„ 

Set location 6 No« of words in Dim, List to u 



No. of call words to v 



Jump to exit 



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 



°2 



27 TP DZ114 



B 2 



30 


TJ 


DZ25 


DT37 J 


31 


RJ 


DT25 


DT 


32 


RJ 


DV25 


DV25 


33 


RJ 


DX 


DX 


34 


RJ 


DY16 


DY16 


35 


TV 


DX24 


DW10 


36 


MJ 





DW 


37 


TP 


TF2 


DZ77 


40 


RJ 


WA 


WA1 


41 


TP 


DZ17 


UP3 1 


42 


RJ 


UP2 


UP J 


43 


RJ 


DT55 


DT51 


44 


MJ 





DT32 


45 


RJ 


WA 


WA1 


46 


TP 


DZ16 


UP3 1 


47 


RJ 


UP2 


UP J 


50 


MJ 





DT15 


51 


TP 


DZ 


TF4 


52 


TP 


DZ22 


TF 


53 


TP 


DZ 


DZ114 


54 


RJ 


DT25 


DT 


55 


MJ 





30000 




CA 


DT56 






IA 


DU 







RJ 


DW16 


30000 


1 


RJ 


RD 


RD1 


2 


TP 


SY2 


RS4 1 


3 


RJ 


RS2 


RS J 


4 


TP 


DZ27 


A ) 


5 


TJ 


DZ111 


DU51 J 


6 


RA 


DZ111 


DZ21 


7 


RJ 


DU7 


DU10 


10 


RJ 


DU7 


DU14 1 


11 


RJ 


DU7 


DU24 | 


12 


RJ 


DU7 


DU30 


13 


MJ 





DU42 . 


14 


LA 


RS3 


17 


15 


TP 


A 


DZ114 ► 


16 


TU 


A 


TF4 


17 


RA 


TF 


DZ23 


20 


RJ 


DX16 


DX16 ' 


21 


RJ 


DV20 


DV20 ' 


22 


RJ 


DT26 


DT26 . 


23 


MJ 





DW 



Test: Is modulus ^ 2? 

If so, send file to Comb. List & set for 

next file 

Set exit E to E 



Set exit A to A 

Set exit G to G 

Set exit D to D^ 

Back to get next symbol. 

Put name of variable into print 

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 



Check fixed pt. symbol 
Convert XS3 to octal 

Test: Is no. of subscripts < 3 
If so, add 1 to subscript counter 



Distributor for subscripts 

1st subscript to Temp, and to TF4 U 
Increment TF 



Set B to B E to E D to D 



445 



11 


24 


TP 


RS3 


DZ115 




25 


TV 


RS3 


TF5 




26 


MP 


DZ114 


DZ115 




27 


MJ 





DU15 




30 


MP 


DZ114 


RS3 




31 


TP 


A 


DZ114 




32 


TU 


A 


TF4 




33 


MP 


DZ115 


TS3 




34 


TP 


A 


DZ115 




35 


TV 


A 


TF5 




36 


LA 


RS3 


17 




37 


TP 


A 


DZ116 




40 


TU 


A 


TF5 




41 


MJ 





DU20 




42 


TV 


RS3 


TF6 




43 


MP 


DZ115 


RS3 




44 


TV 


A 


TF5 




45 


MP 


DZ116 


RS3 




46 


TU 


A 


TF5 




47 


MP 


DZ114 


TS3 




50 


MJ 





DU15 




51 


TP 


TF2 


DZ36 




52 


RJ 


WA 


WA1 




53 


TP 


DZ15 


UP3 




54 


RJ 


UP2 


UP 




55 


RJ 


DT55 


DT51 




56 


RJ 


DW17 


DW17 




57 


RJ 


DV17 


DV14 




60 


RJ 


DX 


DX 




61 


MJ 
CA 

IA 



DU62 

DW 


DX30 







RJ 


SY 


SY1 




1 


TP 


SY7 


Q 




2 


QJ 


DW3 


DW5 




3 


TP 


SY10 


Q 


Exit A 


4 


QJ 


DW14 


30000 




5 


TP 


SY11 







6 


QJ 


DW16 


DW7 


Exit C 


7 


EJ 


DZ3 


30000 


Exit D 


10 


EJ 


DZ4 


30000 




11 


EJ 


DZ5 


DW15 




12 


EJ 


DZ6 


DW15 


Exit G 


13 


EJ 


DZ7 


30000 


Exit I 


14 


MJ 





DX36 


Exit E 


15 


MJ 





30000 


Exit B 


16 


MJ 





30000 




17 


RJ 


DW16 


30000 



} 



2nd subscript to temp.+ 1 and to TF5 V 
(Temp.) (Temp. + 1) -> A 



3rd subscript x tpmp. — > tpmp. and to 
TF4 

3rd subscript x temp. 1 — >temp. and to 
TF5 V 



3rd subscript to temp. + 2 and TF5 U 

4th subscript to TF6y 

(4th subscript) temp. +■ 1->TF5 V 

(4th subscript) temp. + 2 — > TF5 

(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 I2 

Set C r D, & E to I 2 

Set exit A to Ai 



Get next symbol 

Test: Is 1st char, a letter? 

Test: Is 1st char. I t J f 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 A .? 
Illegal symbol exit 



Set exit B to I 2 



446 



Exit I 2 



Al 



A 2 



B.C.D.E 



© 



20 


MJ 





DW 




CA 


DW21 






IA 


DX 







RJ 


DW4 


30000 


1 


RJ 


RH 


RH1 


2 


TP 


SY2 


TF2 


3 


RJ 


DV32 


DV32 


4 


RJ 


DX16 


DX16 


5 


RJ 


DV17 


DV15 


6 


RJ 


DY2 


DY2 


7 


RJ 


DW4 


DW 


10 


RJ 


WA 


WA1 


11 


TP 


TF2 


DZ45 


12 


TP 


DZ10 


UP3 


13 


RJ 


UP2 


UP 


14 


RJ 


OT55 


UT51 


15 


MJ 





DX1 


16 


RJ 


DW16 


30000 


17 


RJ 


WA 


WA1 


20 


TP 


TF2 


A 


21 


ZJ 


DX22 


DX33 


22 


TP 


A 


EZ60 


23 


TP 


BZ11 


UP3 


24 


RJ 


UP2 


UP 


25 


RJ 


or 55 


OT51 


26 


RJ 


DW17 


DW17 


27 


RJ 


DV17 


DV14 


30 


RJ 


DY16 


DY16 


31 


RJ 


DX 


DX 


32 


MJ 





DW 


33 


TP 


EZ12 


UP3 


34 


RJ 


UP2 


UP 


35 


MJ 





EX26 


36 


TP 


SY2 


EZ65 


37 


RJ 


WA 


WA1 


40 


TP 


DZ13 


UP3 


41 


RJ 


UP2 


UP 


42 


TP 


TF2 


A 


43 


ZJ 


DX22 


DX26 




CA 


DX44 






IA 


DZ 
















1 





40001 





2 








77000 


3 


17 


77777 


77777 


4 


43 


77777 


77777 



Set exit A to A^ 

Check variable symbol 

Put variable symbol in file 

Set exit C to C 2 

Set exit B to Bi 

Set exits D and E to Di and E\ 

Set exit G to Gi 

Set exit A to A 2 & go to pick up next 

symbol 

Print error heading 

Insert name of variable into print 

Print: INFORMATION FOR VARIABLE 

IS INCOMPLETE 

Send incomplete file to Combination List 

Jump to Ai 

Set exit B to Bi 

Print error heading 

Test: Has variable been inserted into 

TF2? 

If not, put name of variable into print 

Print: ILLEGAL SYMBOL SEQUENCE FOR 

VARIABLE 

Send incomplete file to Combination List 

Set B to I 2 

Set C, D f and E to I 2 

Set G to G 2 

Set A to Ai 

Back to get next symbol 

Print: ILLEGAL SYMBOL SEQUENCE 

Back to (V) 

Insert illegal symbol into error print 

Print error heading 

Print: ILLEGAL SYMBOL 



447 



5 


21 


77777 


77777 


6 


23 


77777 


77777 


7 


01 


22777 


77777 


10 


40 


DZ40 


11 


11 


40 


DZ51 


11 


12 


40 


DZ51 


4 


13 


40 


DZ62 


5 


14 


40 


DZ67 


4 


15 


40 


DZ30 


10 


16 


40 


DZ103 


6 


17 


40 


DZ73 


10 J 


20 








1000 


21 








1 


22 





3 


3 


23 





1 


1 


24 








DX17 


25 





2 





26 





77777 





27 








3 


30 


66 


51510 


14724 


31 


50 


73016 


56725 


32 


65 


26543 


45266 


33 


65 


01315 


15401 


34 


70 


24543 


42425 




46 


30014 


37777 


36 


01 


01010 


10101 


37 


17 


22777 


77777 y 


40 


34 


50315 


15447 


41 


24 


66345 


15001 


42 


31 


51540 


17024 


43 


54 


34242 


54630 


44 


01 


43777 


77777 


45 


01 


01010 


10101 


46 


17 


01346 


50134 


47 


50 


26514 


75246 


50 


30 


66302 


27777 , 


51 


34 


46463 


03224 ' 


52 


46 


01657 


34725 


53 


51 


46016 


53053 


54 


67 


30502 


63001 


55 


31 


51540 


17024 


56 


54 


34242 


54630 


57 


01 


43777 


77777 


60 


01 


01010 


10101 


61 


17 


22777 


77777 . 


62 


34 


46463 


03224 ] 



U P parameters 
for alarm 
prints 



XS3 codes 

TOO MANY SUBSCRIPTS FOR VARIABLES — 



INFORMATION FOR VARIABLE — IS INCOMPLETE 



ILLEGAL SYNBOL SEQUENCE FOR VARIABLE — 



448 



63 


46 


01657 


34725 


64 


51 


46014 


37777 


65 


01 


01010 


10101 


66 


17 


22777 


77777 


67 


66 


51510 


14724 


70 


50 


73017 


02454 


71 


34 


24254 


63065 


72 


22 


77777 


77777 


73 


27 


34473 


05065 


74 


34 


51500 


15131 


75 


01 


70245 


43424 


76 


25 


46300 


14377 


77 


01 


01010 


10101 


100 


17 


01346 


50146 


101 


30 


65650 


16633 


102 


24 


50010 


52277 


103 


70 


24543 


42425 


104 


46 


30650 


15430 


105 


53 


67345 


43001 


106 


66 


51510 


14767 


107 


26 


33016 


56651 


110 


54 


24323 


02277 


111 











112 


00 








113 











114 











115 











116 











117 





20000 






ILLEGAL SYMBOL — 



TOO MANY VARIABLES 



DIMENSION OF VARIABLE IS LJSSS THAN 2 



VARIABLES REQUIRE TOO MUCH STORAGE 



Subscript counter 

No. words in dim. list counter 

No. call words counter 

Temp, 

Temp. * 1 

Temp, -I- 2 



CA DZ120 



449 



Dimension No. 2 Translator. 

This translator reads the Permanent Library Catalog from the master 
tape and the Catalog for the UNICODE Library from uniservo 2 and inserts 
them in the Combination List. Since these Catalogs must follow the Dimension 
items (if any) in the Combination List, this Translator is entered from the 
Dimension 1 Translator if a Dimension sentence appears in the problem. 
Otherwise, it is entered from the Translation Set-up routine. 

This routine makes appropriate checks on the labels of the Uniservo 
2 Library tape to insure that, if present, it is positioned properly. If a 
Library tape is not required for the problem and is not mounted on Uniservo 
2, compilation will continue after suitable indication is given. 



450 




Dimension No* 2 Translator Page 1 of 



Set tape handler 
parameter to read 
fixed library 
catalog to buffer 




Tape handler 
(read) 




Set tape handler 
parameter to read 

irst block of 
library tape 
(servo 2) 



G> 



'Are 21st and 22 
Yes/ worc is of block 

AALIB A A1APE A ? 





ape handler^ 
(read) 



en 



©- 



Set Uniprint parameter 
to print: MOUNT UNICODE 
LIBRARY TAPE ON SERVO 2, 
IF NO LIBRARY IS RE- 
QUIRED SET A NOT = ZERO. 
START 




UP ; Uniprint 




Set Tape Handler 
parameter to re- 
wind Servo 2 




Tape handler 



/T YYes ( Library tapeA | 
\^J*^* — I required? J* 1 



„ No 

© 



( stop L 



Set accumulator 
equal zero 



Yes 




Tape handler 
(read) 




Are 1st and 2nd 
words of block 
LIBAAACATAAA ? 



No 



Set Uniprint parameter to 
print: LIBRARY CATALOG IN- 
CORRECT. MOUNT UNICODE LI- 
BRARY ON SERVO 2. IF NO LI- 
BRARY IS REQUIRED SET A NOT 
ZERO. START 




UPJUniprint 




Dimension No. 2 Translator Page 2 of 3 




Is the number of 

words in catalog 

equal to zero? 




Tape handler 
(read) 





to 



G>~ 



Reduce catalog 
word count by 120 




Add 120 words of 
catalog to Combi 
nation List 



Is remaining 
catalog longer 
than one block? 





Add catalog to 
Combination List, 







Yes/Has there been a 
<- — ( Dimension sentence 
in this problem? 



No 



Exit to 
control to 
continue 
present 
sentence 




Dimension No. 2 Translator Page 3 of 3 

Subroutine A Add Library Catalog to Combination List. 




ill the addition of 
this much library catalog^ 
cause Combination List, 
to be too long? 



Yes/ Has this alarm \ No 
been printed before) 



UZ. Add to 
Error count 



No 



® 



Yes 



©- 



Set so this alarm is 
not printed again 



_ UP 

Uniprint 



Set Uniprint parameters to 
Print: LIST OF VARIABLES, 
LIBRARY ROUTINES, FUNCTIONS 
AND PSEUDO OPERATIONS HAS BE- 
COME TOO LONG. WORKING ON 
LIBRARY CATALOGUE. 






®- 



Prepare to transfer 
only enough words 
to fill Combination 
List. 



-h/lo) — > 



Set up transfer commands and 
advance Combination List word 
counter and address counter 



Transfer library 
catalog to 
Combination List 



Exit 




Dimension No. 2 Translator. 



Regions 



RE CR5075 

RE CQ5131 

RE OV5151 

RE CW5177 

RE CX5214 

RE CY5270 

RE CZ5272 

RE CU46101 



Numerical Constant 



RE UP421 

RE TE2663 

RE CB40101 

RE TH21 

RE WL3507 

RE CT714 

RE UZ3067 

RE TB2637 

RE FH50624 



String-Out Subroutines Used 



454 





IA 


CR 







TP 


CW6 


TH3 


1 


RJ 


TH2 


TH 


2 


TP 


CZ 


CY 


3 


TU 


CR27 


CV25 


4 


RJ 


CV24 


CV 


5 


TP 


CW7 


TH3 


6 


RJ 


TH2 


TH 


7 


SP 


CZ24 





10 


EJ 


CW10 


CR12 


11 


MJ 





CR14 


12 


SP 


CZ25 





13 


EJ 


CW11 


CR23 


14 


TP 


CXI 


UP3 


15 


RJ 


UP2 


UP 


16 


TP 


CW5 


TH3 


17 


RJ 


TH2 


TH 


20 


SP 


CW 





21 


MS 





CR22 


22 


ZJ 


CQ11 


CR5 


23 


RJ 


TH2 


TH 


24 


TP 


CZ 


A 


25 


SJ 


CW12 


CR27 


26 


MJ 





CR31 


27 


TP 


CZ1 


A 


30 


EJ 


CW13 


CQ 


31 


TP 


CX 


UP3 


32 


RJ 


UP2 


UP 


33 


MJ 





CR16 




CA 


CR34 






IA 


CQ 







SP 


CZ2 





1 


ZJ 


CQ2 


CQ11 


2 


TP 


A 


CY1 


3 


TU 


CR24 


CV25 


4 


RJ 


TH2 


TH 


5 


SP 


CW1 





6 


TJ 


CY1 


CQ14 


7 


TP 


CY1 


CY 


10 


RJ 


CV24 


CV 


11 


TP 


WL2 


A 


12 


EJ 


CW14 


CT 


13 


MJ 





CT13 


14 


RS 


CY1 


CW1 


15 


TP 


CW1 


CY 


16 


RJ 


CV24 


CV 


17 


MJ 





CQ4 




CA 


CQ20 





Read fixed library catalog to Buffer CZ 

Length — > temp. 

Set ud Transfer 

Add fixed library catalog to CB list 

Read standard library to Buffer CZ 

Check for A A L I B A 



Check for A T A P E A 

MOUNT LIBRARY, etc. 

Rewind Uniservo2. 

Set A = 

Library tape required? 
Read block of Library tape 
Check for L I B A A A 

Check for C A T A A A 
LIBRARY CATALOG INCORRECT, etc 



Third word of block — >A. 
If no. of words = 0, exit 

Set up transfer 

Read block of Library tape 

Is catalog longer than one block? 

No. words — >temp. 

Transfer to CB list 

Has there been a Dimension sentence? 

If yes, jump to get next sentence 

If no, jump to continue present sentence. 

Reduce count by 170 

Use 170 count 

Transfer to CB list 

Back for next block. 



45i 





IA 


CV 







SP 


CY 


17 


1 


AT 


CY 


CY 


2 


SA 


TE2 





3 


TJ 


CW4 


CV16 


4 


TP 


TE3 


Q 


5 


QJ 


CV14 


CV6 


6 


RJ 


uz 


UZ1 


7 


TP 


CX46 


UP3 


10 


RJ 


UP2 


UP 


11 


TP 


CX47 


UP3 


12 


RJ 


UP2 


UP 


13 


TP 


TB5 


TE3 


14 


SP 


CW3 





15 


ST 


TE2 


CY 


16 


TP 


CW2 


Q 


17 


QS 


CY 


CV24 


20 


SP 


CB 





21 


QA 


CY 


CB 


22 


TV 


TE2 


CV25 


23 


RA 


TE2 


CY 


24 


RP 


30000 


30000 


25 


TP 


30000 


30000 



Will CB List be too long? 

Has this alarm been printed before? 

No r so add to error count 
and print alarm 



Set so this alarm is not printed again, 
Prepare to transfer partial block 

Set n of RP 

Advance CB word counter 

Set up transfer 

Advance CB list address counter 

Transfer Library Catalog to 
CB List. 



CA CV26 





IA 


CW 
















1 








170 


2 





7777 





3 





cu 


CU 


4 





CU1 


CU1 


5 


10 


2 





6 


50 


101 


CZ 


7 


50 


102 


CZ 


10 


01 


01463 


42501 


11 


01 


66245 


23001 


12 


46 


34250 


10101 


13 


26 


24660 


10101 


14 


27 


34473 


05065 




CA 


CW15 





1st word of List following CB List 

Rewind Uniservo 2. 
Read one block of Uniservo 1. 
Read one block of Uniservo 2. 
A A L I B A 



A 


T 


A 


P 


E 


A 


L 


I 


B 


A 


A 


A 


C 


A 


T 


A 


A 


A 


D 


I 


M 


E 


N 


S 



456 





IA 


CX 










CX2 


25 


1 





CX27 


17 


2 


46 


34255 


42454 


3 


73 


01262 


46624 


4 


46 


51326 


73001 


5 


46 


24253 


04601 


6 


34 


50265 


15454 


7 


30 


26662 


20101 


10 


47 


51675 


06601 


11 


67 


50342 


65127 


12 


30 


01463 


42554 


13 


24 


54730 


15150 


14 


01 


65305 


47051 


15 


01 


05220 


10134 


16 


31 


01505 


10101 


17 


01 


01463 


42554 


20 


24 


54730 


13465 


21 


01 


54305 


36734 


22 


54 


30270 


16530 


23 


66 


01240 


15051 


24 


66 


01760 


10322 


25 


01 


01656 


62454 


26 


66 


22010 


10101 


27 


47 


51675 


06601 


30 


67 


50342 


65127 


31 


30 


01463 


42554 


32 


24 


54730 


15150 


33 


01 


65305 


47051 


34 


01 


05220 


10134 


35 


31 


01505 


10146 


36 


34 


25542 


45473 


37 


01 


34650 


15430 


40 


53 


67345 


43027 


41 


01 


65306 


60124 


42 


01 


50516 


60176 


43 


01 


03220 


10101 


44 


01 


01656 


62454 


45 


66 


22010 


10101 


46 





FH23 


21 


47 


40 


CX50 


4 


50 


50 


01463 


42554 


51 


24 


54730 


12624 


52 


66 


24465 


13267 


53 


30 


22777 


77777 




CA 


CX54 





L 


I 


B 


R 


A 


R 


Y 


A 


C 


A 


T 


A 


L 





G 


U 


E 


A 


L 


A 


B 


E 


L 


A 


I 


N 


C 





R 


R 


E 


C 


T 


, 


A 


A 


M 





U 


N 


T 


A 


U 


N 


I 


C 





D 


E 


A 


L 


I 


B 


R 


A 


R 


Y 


A 





N 


A 


S 


E 


R 


V 





A 


2 


# 


A 


A 


I 


F 


A. 


N 





A 


A 


A 


A 


L 


I 


B 


R 


A 


R 


Y 


A 


I 


S 


A 


R 


E 


Q 


U 


I 


R 


E 


D 


A 


s 


E 


T 


A 


A 


A 


N 





T 


A 


= 


A 





# 


A 


A 


S 


T 


A 


R 


T 


. 


A 


A 


A 


A 


M 





U 


N 


T 


A 


U 


N 


I 


C 





D 


E 


A 


L 


I 


B 


R 


A 


R 


Y 


A 





N 


A 


S 


E 


R 


V 





A 


2 


, 


A 


A 


I 


F 


A 


N 





A 


L 


I 


B 


R 


A 


R 


Y 


A 


I 


S 


A 


R 


E 





U 


I 


R 


E 


D 


A 


s 


E 


T 


A 


A 


A 


N 





T 


A 


= 


A 





9 


A 


A 


A 


A 


A 


S 


T 


A 


R 


T 


. 


A 


A 


A 


A 


Re 


fers to Print-i 


N 


A 


L 


I 


B 


R 


A 


R 


Y 


A 


C 


A 


T 


A 


L 





G 


U 


E 


• 











457 



Compute String-Out. 

The string-out that this routine produces contains the call words of 
the alpha-numeric symbols of compute sentences. They appear in the same 
sequence as the symbols appear in the input sentence. Only subscripted 
variables are represented by more than their call words; these also have a 
modulus plus a number of subscripts and their multipliers in the string-out. 
A subscripted variable therefore occupies 2, 3, or 4 rows in the string-out, 
depending on whether it has 1, 2-3, or 4 subscripts. Parentheses, commas, 
periods and the like are not saved, except for the final space-period, which 
appears in excess-three representation and indicates the end of the string- 
out. 

The compute sentence allows the combination of several terms within one 
sentence, such as: COMPUTE A(I) AND DOT (F,B (J), -20.4) AND W A . The 
string-out places a zero line between the terms within the sentence and after 
the last one, just preceding the space-period. This zero line is important 
for the compute-generate routine; it gives the indicator to place the RJ 
with the ten-line. 

Variables that cannot be found in the Combination List or Dummy List 
are assigned call words by this routine and added to the Combination List. 
Only functions and subscripted variables are assumed to be in the lists, or 
an alarm occurs. 

The Compute String-out routine checks for the type faults, wrongly 
chosen symbols, incorrect format of operands in functions or pseudo operations, 
and for tne wrong number of subscripts of subscripted variables. Furthermore 
it checks for all sorts of errors induced by the combination of several 
symbols. The model for these error checks is given in the appendix to the 
flow chart. 

When the first symbol of the sentence following the word "compute" is 
not alpha-numeric, 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 check- 
ing of the symbols inside the parentheses meaningless. 



458 



In cases where single-valued variables are used in place of subscripts, 
or vice versa, the routine gives an alarm but assumes that this format mistake 
was just incorrect writing and therefore adds the correct bit to the function 
or subscripted variable format-set-up in order to go on checking those 
expressions. 

The routine handles negative floating point numbers inside functions 
and inside pseudo operations. In all other cases negative signs are rejected. 



1 
2 
3 
4 
5 
6 
7 

8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 



These are the 23 alarm print-outs and three warnings: 

Symbol C 3 illegal in compute sentence. 

Adjacent symbols [ ] C 3 meaningless in compute sentence. 

Pseudo operation [ 3 has too many elements. 

Parentheses not properly paired. 

Variable C 3 has incorrect number of subscripts. 

Arguments of function C ] do not agree with previous usage. 

C 3 cannot be computed here, since the sentence is in the range of a 

vary sentence. 

Constant £ ^ is followed by open parenthesis. 

Constant £ =j appears as variable to be computed. 

Arguments of function [ 3 do not appear. 

Arguments of function [ 3 are superfluous. 

Alpha-numeric symbol C 3 has digit as first character. 

Symbol L 3 incorrectly used. 

Variable C 3 is not defined by an equation. 

Single valued variable C 3 is followed by an open parenthesis. 

Subscripts of variable I 3 do not appear. 

Arguments of dummy function I 3 do not appear. 

Format of pseudo operation L 3 does not agree with previous usage. 

Subscript L 3 of variable L 3 is not properly written. 

Argument C 3 of function [ 3 appears as subscript. 

Function or subscripted variable [ 3 has not been previously mentioned 

Subscript [ 3 of variable C 3 exceeds allowed number of subscripts. 

First symbol is wrong. Sentence not further checked. 

Warnings : 



1) Comma assumed between £ ^ and preceding symbol. 

2) "and" assumed between £ ^ and preceding symbol. 

3) "and" inside parentheses replaced by comma. 



459 



COMPUTE String-out 



o 




COMPUTE String-out (Cont.) 



Coma , 



Opening par. ( 



O^ 



Closing par.) 



Decrease level 
Meter by 1 



j'ls next symbol ^ Yes ) /Ar 
y a number? J ^^v p 



re we inside 
pseudo op.? 



Are we inside sub- 
scr. variable? 



Are we in 
side funct.? 



Is next symb 
number with 



oTs\ 
dec.pt?T 



Set jump out 
for neg. sign 



Alarm 1 
illegal symbol 



JA40 



Is next Y5 
symbol ( ? J 



Is next symbol ) 



JA43 



Is level 
meter = 0? 



Alarm 2 

adjacent symbols 
meaningless 



Alarm 2 

adjacent symbols 
meaningless 




A larm 5 

No. of subscr. for 

subscr. var. wrong 



Place zero string-out 
word with check before 
for zero str. already 



Clear all "in- 
sides" 



Clear counter for 
subscripts 



Alarm 4 

parentheses not 
properly paired 



Is 
symbol ( ? 



/Is counter fo 
[scripts = * of 
u stored) (reduc 



.. ub-N 

f subscr.y 

uces to OV 



Clear level 
meter 



Clear index 
"subscr. var.' 



yf« i»i»i > 0^\ Yes a / " ere we inslde smAr 
Wis ievei_ um — ^-^< scr ipt. variable? t 



) 



/'is set up format ~\ 
I of funct. equal J 

\ ^ given format? _ y 

T Yes 
JA76 I 
/ Were we in-N No 
*\side funct. tj 



RJ to alarm 4 and 
clearing Level Meter!"" 



Reduce index 
■inside pseudo" 
by 1 and clear 



RJ to alarm 3 
pseudo op. has too 
many elements 



RJ to alarm IB 
pseudo op. diff. 
format from bef. 



Is format 
right? 



'Is no. of elemts 

in pseudo oper. 
V < 25 8 ? 



Is last digit in 
JD31=JD21 (no. of 
elemts.)? 



H. 



© 



JA115 
^1 pse 



/Was pseudo opar.^v 
~( in Comb. List? ) 



we really in \ i 
udo op.? V- 



/fs Level A^ 
H Meter = 0? J*" 



COMPOTE String-out (Cont.) 



l\5 



RJ to make up CW 

I after check and put 

in comb, list 



Not in 
list 



Get CW from 
Comb. List. 



list vy 



C\re we inside N No /Are Me inside "\ 

pseudo operat.? ) *< funct.? J 



/Is level >, 
(meter =1? J— 


No 


JB526 


Yes 


Adv. count for 
pseudo operat. 






JA334 , 


' 



JA344 ■ 



/Are 
( subscr. 



inside "\ 
var.? J~ 



■ft 353 



Set funct. 
jump out 



'TVre we inside 
subscr. variable? 



) 



'Get CW from 
comb, list 



Not in 
list 



RJ to make up CW 
after check and put 
it in comb. list. 



Is TS4 = 40? 
(pseudo op 



40? ~\ 



JA351 , 



Not in 
list 



Get CW from 
Cot*. List. 



In/Tsi 



t 64 
type? 



Not in 
list 



RJ to make up CW 
after check and put 
in comb. list. 




/Get CW from \ In / ^s it 63 "\ Yes/^N 
\°— ? "»t /"stj^ type ? J \^y 



Are we 
subsc 



e inside ^\ ' 
r. var.? j~ 



<Is TS4 = 40? j 
(pseudo op.) / 



RJ to make up CW 
after check and put 
in Comb. List 



JA367 1 Not ln List 

/ Get CW from \ 
-*\ Comb. List. } 



V 



~Q 



JA355 



Is TS4 = 43? 
(pseudo op.) 



Get CW from 




Not in List 



RJ to make up CW 

— | after check and put 

in Comb. List. 



Get CW from 
Dummy List 



In List / Y 68 /^ 
-—-Wis it 76.-? j-W 76. .j 



Yes 



J 



In List 



Is it 64 "\ I^o 
type? 



Alarm 13 




COMPUTE Stringout (Cont.) 



4xtraV-» 



JA136 



JA135 



Put in extra 
level meter 



Restore SY and 
SZ 





JA137 



Get next symbol 



Put in extra 
level meter 



Restore SY and 
SZ 



Change exit 



JA140 



f Is symbo 
hand ( ? 



JA142 



No 



Is symbol 
at hand ) ? 



JA150 



Yes 



JA152 



Q 



No 



JA146 



lat\_ 



Yes 



Adv. extra level 
meter 



No 



JA155 



Is extra level yYes 

meter>l? J * 



Reduce extra level 
meter by 1 



Is next \ Yes /go to\ 

symbol A.? / Vend, 



JA143 



No 



Is next 
"*\ symbol A.? 



JA123 



Yes 



RA level counter 
by 1 




JA124 



JA126 



'Go to\ 


/Was last 


string. 


V e % 


Put XS3 


A. 


ru le 


vel 


*. endy 


*i word zero? 


) 


in stringout 


*1 = uv 










t 


i 




No 




No 


Place zero strinq- 


















out word 







JA130 



)Yes 



RS EW 3 final 
- EW« beginning 



JA132 



TV A WLO place 
no . of wo rd s in 
stringout 



JA133 



end string, 
to tape 




COMPUTE STRINGOUT (Con:.) 



A Ipha-numeric 
f AND 




Check for combination list 



Check for dummy list, then comb, list 



Get CW from 

^. \ Dummy List 



Alarm 20 



Get CW from 
Comb. List 



Yes /Are we inside\ No /Are we inside 
funct? J I subscr. var.? 



^o 



Check format 
fxp. var. 



Yes 



list 



not 



in list 



Add 1 to counter 
of subscripts 



Assign CW fxd. pt. 
var. and add to 
Comb. List 



Is next 
symbol (? 



Yes 



No 



Yes f Is first charact. 
I.J.K.L or M? 



Alarm 21 



_Np/' Are we inside ^ Yes 

*t argum. of sub. var?. 



No 



Check format 
fltp. var. 



Assign CW fltp. var. 
and add to Comb. List 



Alarm 19 



d> 



- Not in Comb. List 
77 is next symbol 

- 66 " " 

- 65 " " 

- 64 " - 
_ 4 - » » 

- Other" " 






COMPUTE STRINGODT (Cont.) 

Assume pseudo operat., make up format and put in comb, list 

rYes 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=0 I 
No alarm 17-1/2 
2 <^Yes alarm 15 

^No save CW 
2 <*Yes alarm 15 

^No save CW 
? ^Yes save CW and set "ins. pseudo" = 1, save XS3 code, store CW in JD31 

^No save CW and XS3 code, check last 2 digits of CW for (when not, alarm 18), store CW in JD31 
»Yes alarm 13, go to EXTRA 
^No " 13, go to get next symbol 



VII 



d> 



d> 



& 



(67) " - 

65 * 
64 * 

Other" " 

Not in Comb. List 



Generate CW after checks and put it in comb, list 
r Yes dependin 
k No alarm 16 
-Yes alarm 15 



Not . in comb, list 

_, ^ , . , „ —Yes depending on v of TA5 save 4,3 or 2 addr., save XS3 code and set "ins. subscr. var" = 1 

77 is next symbol ( ?<£., , w 

J ^*No alarm 16 



( ?< *No are we ins. subscr. var. as well?<?Yes: a <* v - counter for subscr. Is it > 1? <? Y , es: alarm 22 



( ?< 



Yes alarm 15 
No save CW 
Yes alarm 15 



No 



save CW 



No: save CW 



( ^No are we ins. subscr. var. as well?.* Yes: adv - counter for subscr. Is it>l?<*es: alarm^ 

( f<Z YeS alarm 13 » 9° t0 EXTRA 
No " 13, " M qet ne 



No: alarm 20 



No: save CW 



get next symbol 



Generate CW after checks and put it in comb, list 

I ,/ 7 , • „ „„,» o™k„i i o>rYes alarm 15 

(67) is nert symbol ( ?<£„ . ^ - , T 'x ^ <-, .Voc. ah™ w 

^No adv. counter for subscr. Is it > 4? <* ies. alarm ll 

No: save CW 
la m n " ( v<7 Yes alarm 15 

'^No adv. counter for subscr. Is it > 4? < Yes: alarm 22 

^ No: save CW 



77 j s next syu^oi ( ?<J Yes depending on v of TA5 save 4,3, or 2 addr. and XS3 code and set "ins. subscr. var. 

' No alarm 16 



Other" 



Not in Comb. List 



( ? ^Yes alarm 13. go to EXTRA 

^No " 13, ■• •• get next symbol 

Generate CW after checks and put it in comb, list 



= 1 



(67) " 

66 " 

65 " 

64 " 
Other" 



, ~jr? es alarm 15 

?< *No are we ins. subscr.. var. as well?<£ Ye s: a dv. ct. for subscr. Is it>4?<Yes: alarm 22 

( Yes alarm 11 (within pseudo op. arg. of ^{. IhoSlo^not be given), save CW and°go tolxTRA 

^No save CW 

r Yes Alarm 15 

'•No save CW 

rYes alarm 15 Yes- alarm 22 

k No are we inside subscr. var. as well? <^Yes: adv. ct. for subscr. Is it > 4?<S, 






( ?<jYes alarm 13, go to EXTRA 

No " 13, " " get next symbol 



No: 



save CW 



'No: 



save CW 



III 



III 



IV 

IV 



VI 



VI 



COMPUTE STRINGOUT (Cont.) 



G> 



I Not in Dummy or Comb. List alarm since funct. symb. expected 

77 is next symbol ( ? <^Yes depending on v of TA5 save 4,3,cr 2 addr. and XS3 code, set "ins. sub," to 1 and set JD22 

No alarm 16 
„ , ? ^Yes save CW and XS3 code, set "ins. fct." = 1, set JD22, set v of JB253=0, save # of elem. in fct. 
^No alarm 17-1/2 

N ( ? <^ Yes alarm 15 

^No save CW 
„ ( ? ^Yes alarm 15 

^No save CW 
„ ( *Yes save CW and xS3 code, set "ins. fct." = 1, set v of JB253 = 0, save » of elem. in fct. 

? ^ 



66 " 


•t 


65 " 


<• 


64 M 


« 


•• 

61 


»« 


other " 


" 



^No alarm 17 

pYes alarm 13 go to EXTRA 

^No " 13, " 



G> 



OS 
OS 



( * < 

Not in dummy or comb, list generate CW after checks and put it in comb, list 
( ? < 

( ? < 



get next symbol 



77 • t svmbol f ? <?^ es depending on v of TA5, save 4, o or 2 addr. and XS3 code and set "ins. subscr.. = 1 



i «• ti 



-76X 
I (67) 

- 65 •• " 

- 64 " 

- 63 " 

-Other" " 



No alarm 16 

Yes save CW and XS3 code and set "irs. subscr. var." = 1 

No alarm 16 

( ? ^ Yes a l arm 15 

No are we inside subscr. var. as well? <=f 

v~o „i„ ic No: save CW 

/ ? <jYes alarm 15 

^No save CW 

rYes alarm 15 

"No are we inside subscr. var 

. <jYes alarm 15 



No are we inside subscr. var. as well? ^Yes: adv. ct. for subscr. Is it > l?<^ es: alarm 22 

>*w„. co„o rui No: save CW 



< * < 



( ? < 



as well? <f Yes: adv - ct - for subscr. Is it > l?<^Yes: alarm 22 

^ No: alarm 20 No: save CW 

No are we inside subscr. var. as well? <^Yes: adv. ct. for subscr. Is it > r}<^Yes: alarm 22 

Yes alarm 13 go to EXTRA No: save CW No: save CW 

No " 13, " ** get next symbol 



© - 



Not in dummy or comb, list generate CW after checks and put it in comb, list 

(67) is next symbol (? <^Yes alarm 15 

No adv. counter for subscr. Is it > 4? <^Yes: alarm 22 

v . . 1C No: save CW 
Yes Alarm 15 

No Adv. counter for subscr. Is it > 4? <^Yes: Alarm 22 

Yes Alarm 15 No: save CW 



64 " " 

63 " " 

Other" M 

-\Not in list 



(? < 

(? ^No adv. counter for subscr. Is it > 4? <^Yes: alarm 22 

Yes alarm 13 go to EXTRA N °: save CW 

(? "Zxo " 13, " " get next symbol 



I — mot in list \ 

1 — Jor in list f alarm 13 



II 
III 

III 
III 



IV 
IV 
IV 







Compute String-Out 






Regions 


RE 


IJ4400 




RE 


JA4410 




RE 


JB5234 




RE 


JC5770 




RE 


JI6114 




RE 


JJ6126 




RE 


JK6145 




RE 


JL6157 




RE 


JM6167 




RE 


J06202 




RE 


JP6221 




RE 


JQ6243 




RE 


JR6257 




RE 


JS6276 




RE 


JT6310 




RE 


JU6322 




RE 


JV6340 




RE 


JW6350 




RE 


JX6363 




RE 


JY6401 




RE 


JZ6413 




RE 


IA6426 




RE 


IB6446 




RE 


IC6466 




RE 


ID6506 




RE 


IE6527 




RE 


IH6551 




RE 


IF6565 




RE 


IG6603 




RE 


IK6617 




RE 


II6631 




RE 


TJ6643 




RE 


JD6673 





String-Out Subroutine regions are also needed to assemble this tape 



Exit 

Clear temporaries 

Set EW3 

Get first symbol 

Is it AND? When yes, go to alarm 23. 

No, go to JA 





IA 


IJ 







MJ 





CT 


1 


RP 


10035 


IJ3 \ 
JD J 


2 


TP 


JC20 


3 


TP 


JC1 


EW3 


4 


RJ 


SY 


SY1 


5 


EJ 


JC2 


JA567 


6 


MJ 





JA 




CA 


IJ7 





467 







IA 


JA 









TP 


JC14 


A 




1 


EJ 


SY7 


JA4 




2 


EJ 


SY11 


JA4 




3 


MJ 





JA567 




4 


RJ 


SY 


SY1 




5 


EJ 


JC30 


JA21 




6 


TP 


JC14 


A 




7 


EJ 


SZ7 


JA165 




10 


EJ 


SZ11 


JA165 




11 


TP 


JC20 


JD 


Not Alpha- 


12 


TP 


SZ2 


A 


numeric 


13 


EJ 


JC34 


JA36 




14 


EJ 


JC35 


JA36 




15 


EJ 


JC13 


JA47 




16 


EJ 


JC27 


JA56 




17 


RP 


20002 


JA413 




20 


EJ 


JC104 


JA23 


Go to END 


21 


TV 


JC61 


JA160 




22 


MJ 





JA6 


Neg. Sign 


23 


TP 


JC14 


A 




24 


EJ 


SZ12 


JA612 




25 


TP 


JC20 


A 




26 


TJ 


JD17 


JA32 




27 


TJ 


JD16 


JA612 




30 


TJ 


JD15 


JA34 




31 


MJ 





JA612 




32 


TJ 


SY6 


JA34 




33 


MJ 





JA612 




34 


TV 


JC5 


JA246 




35 


MJ 





JA157 


Comma , 


36 


TP 


SY2 


A 


Semicolon ; 


37 


EJ 


JC13 


JA417 




40 


EJ 


JC27 


JA425 




41 


EJ 


JC34 


JA425 




42 


EJ 


JC35 


JA425 




43 


TP 


JC20 


A 




44 


TJ 


JD1 


JA157 




45 


RJ 


JB400 


JB371 




46 


MJ 





JA157 


Opening 


47 


RA 


JD1 


JC21 


Parent. 


50 


TP 


SY2 


A 




51 


EJ 


JC13 


JA417 




52 


EJ 


JC27 


JA425 




53 


EJ 


JC34 


JA425 




54 


EJ 


JC35 


JA425 




55 


MJ 





JA401 


Closing 


56 


RS 


JD1 


JC21 


Parent. 


57 


SJ 


JA60 


JA62 




60 


TP 


JC20 


JD1 




61 


MJ 





JA427 



"40 0" — »A 

Is first symbol alpha-numeric? 



No: go to alarm 23 

Get next symbol 

Is next symbol A .? 

Put "40 0"— ->A 

Is symbol at hand alpha-numeric? 

Clear word index 

Put XS3 code of word at hand -> / 



( 



- (upper and lower case) 

Set exit for GO TO END 

Go to check symbol at hand 

Has next symbol a letter? 

Are we inside pseudo op? 

Are we inside subscr. var.? 

Are we inside funct.? 

None of them: go to alarm 1 

Has next symbol decimal point? 

Go to alarm 1 

Set for handl. neg. no. 

Go to get next symbol 

Is next symbol (? 

Is next symbol )? 

Is next symbol ;? 

Is next symbol ,? 

Is level meter ^ 0? 

Place zero string-out word and clear 

counters 

Go to get next string -out word 

Adv. Level Nbter 

Is next symbol (? 

Is next symbol ) ? 

Is next symbol ;? 

Is next symbol ,? 

Go to further checks 

Reduce Level Meter 

Is Level M=ter > 0? 

No Level Meter neg; clear Level Meter 

Go to alarm 4 



468 



Pseudo 
Operation 



Before 

GO TO END 
GO TO END 



62 
63 
64 
65 

66 
67 
70 

71 
72 

73 
74 
75 
76 
77 
100 
101 

102 
103 
104 
105 

106 
107 

110 
111 
112 
113 

114 
115 

116 
117 
120 
121 
122 
123 

124 
125 

126 
127 
130 
131 
132 
133 
134 



TP JC20 

EJ JD16 

TP JC20 

RS JD22 



A 

JA76 
JD16 
JD20 



Are we not inside subscr. var.? 



ZJ 

TP 
TP 
MJ 
TP 

TP 
EJ 
MJ 
EJ 
RS 
ZJ 
EJ 



JA67 
JC20 
JC20 

JC20 

SY2 

JC13 



JD15 

JD32 

JA120 

JD24 



TP JC67 

QT JD31 

EJ JD21 

RJ JB414 

MJ 

RJ JB414 



We are inside; clear index "inside subscr.." 

Subtract counted no. of subscr. from 

given no. in storage. 
JA72 Is no. of subscripts correct? 
JD20 1 No, clear counter of subscr. and stored 
JD22 J no. of subscript. 
JA433 Go to alarm 5 
JD20 Yes, no. of subscr. O.K.: clear counter 

of subscripts 
A 1 Is next symbol (? 
JA417J Go to alarm 2 
JA43 

JA115 Are we not inside funct.? 
JD33 1 Is set-up format of funct. = given format? 
JA121J 
JA113 Come from JA115. Was pseudo oper. not in 

Combination List? 
Q 1 Mask out last 2 digits 
A J 

JB505 Is no. of operands in pseudo op. correct? 
JB411 Clear Level Meter and counter of elements 

and inside pseudo 
JA440 Go to alarm 6-1/2 
JB412 Clear index inside pseudo and counter of 

elements. 
TP JC20 A 1 Is Level Meter = 0? 
EJ JD1 JA72 J 

MJ JA576 Go to alarm (4), emergency exit 

RS JD21 JC31 Come from JA101 1 check for no. of ele- 

| ments ^ 20 ^ 

SJ JA107 JA445 J 

TJ JD17 JA101 Come from JA761 Are we really in pseudo 

°P- ? When not, some- 

MJ JA576 J thing wrong, emerqency 

Free exit 

RJ JB424 JA564 Alarm 5-1/2 

TP JC20 JD15 Clear counter "inside funct." 

MJ JA72 

RA JD1 JC21 

RJ JB461 JB4531 Put XS3 code of A . in string-out after 

RJ EW EW1 J checking whether zero word was already 

placed 

TP JC20 A 1 Is Level Meter = 0? 

TJ JD1 JA451J 

RS EW3 JC62 | 

AT JC21 A f Set no. of words in string-out in v of WLO 

TV A WL J 

RJ WT WT1 Bring string-out to tape 

MJ I J Jump to EXIT 



4 09 



Before 


135 


RJ 


JB410 


JB406 


EXTRA 










EXTRA 


136 


TP 


JC20 


JD30 




137 


RJ 


SY 


SY1 




140 


TP 


SZ2 


A 




141 


EJ 


JC13 


JA146 




142 


EJ 


JC27 


JA150 




143 


TP 


SY2 


A 




144 


EJ 


JC30 


JA123 




145 


MJ 





JA137 




146 


RA 


JD30 


JC21 




147 


MJ 





JA143 




150 


TP 


JC21 


A 




151 


TJ 


JD30 


JA155 




152 


TP 


JC30 


A 




153 


EJ 


SY2 


JA124 




154 


MJ 





JA157 




155 


RS 


JD30 


JC21 




156 


MJ 





JA143 




157 


MJ 





JA160 




160 


MJ 





JA4 




161 


RJ 


JB410 


JB406 




162 


MJ 





JA160 




163 


RJ 


JB410 


JB406 




164 


MJ 





JA157 




165 


TP 


SZ2 


A 




166 


EJ 


JC2 


JA173 




16Y 


TP 


JC20 


A 




170 


EJ 


JD 


JA177 




171 


EJ 


JD1 


JA553 




172 


MJ 





JA546 




173 


TP 


JC20 


JD 




174 


TP 


JC20 


A 




175 


EJ 


JD1 


JA36 




176 


MJ 





JA561 




177 


TP 


JC21 


JD 




200 


TP 


JC14 


A 




201 


EJ 


SZ12 


JA261 




202 


TP 


SY2 


A 




203 


EJ 


JC13 


JA453 




204 


TP 


JC20 


A 




205 


EJ 


JD1 


JA461 




206 


EJ 


JD16 


JA232 




207 


RA 


JD20 


JC21 




210 


TP 


JC20 


A 




211 


EJ 


JD15 


JA227 




212 


TP 


JC21 


A 




213 


TJ 


JD20 


JA257 


Fixed Point 


214 


RJ 


JB405 


JB401 


No. 












215 


RJ 


RD 


RD1 



Restore SY and SZ 

Put in extra Level Meter 

Get next symbol 

Is symbol at hand (? 

Is symbol at hand )? 
Is next symbol A .? 



Adv. extra Level Meter 

Go to check next symbol A . ? 

Is extra Level Meter >1? 

Is next symbol A . ? 

Restore and go to get next symbol 

Reduce extra Level Meter 

Jump to check next symbol A .? 

Before "go to get next symbol" 

Go to get next symbol 

Restore SY and SZ 

Go directly to get next symbol 

Restore SY and SZ 

Go to "before go to get next symbol" 

(used as const, for JB515) 

Is symbol at hand AND? 

Is word Index = 0? 

Is Level Meter = 0? Yes; warning alarm 

2 

Go to warning alarm 1 

Clear word index 

Is Level Meter = 0? 

Go to warning alarm 3 

Put 1 in word index 

Has symbol at hand a letter? 

Is next symbol (? 

Is level = 0? 

Are we not inside subscr. var.? 
Adv. counter for subscripts by 1 
Are we not inside function? 

Is counter of subscripts > 1? 

Save SY2-14 in JD2-14 and put SZ2-14 

— > SY2-14 

Check fixed pt. const, format 



470 



216 


TP 


SZ2 


RS4 


217 


RJ 


RS2 


RS 


220 


TP 


RS3 


A 


221 


RJ 


GW 


GW1 


222 


TP 


Q 


EW2 


223 


RJ 


EW 


EW1 


224 


MJ 





JB222 


225 


RA 


JD21 


JC21 


226 


MJ 





JA235 


227 


TP 


JC24 


A 


230 


TJ 


JD20 


JA257 


231 


MJ 





JA214 


232 


EJ 


JD17 


JA240 


233 


TP 


JC21 


A 


234 


EJ 


JD1 


JA225 


235 


TP 


JC20 


A 


236 


TJ 


SZ6 


JA241 


237 


MJ 





JA214 


240 


TV 


JC101 


JB222 


241 


RJ 


JB405 


JB401 


242 


RJ 


RB 


RBI 


243 


TP 


SY2 


GG4 


244 


TP 


SY3 


GG5 


245 


RJ 


GG2 


GG 


246 


RJ 


JA246 


JA247 


247 


TP 


GG3 


A 


250 


MJ 





JA221 


251 


TN 


GG3 


A 


252 


MJ 





JA221 


Exit When 253 


RJ 


JB525 


JB523 


Case ©in 254 


QT 


JC12 


A 


Dummy List 255 


EJ 


JC43 


JA317 


256 


MJ 





JA502 


257 


RJ 


JA436 


JA433 


260 


MJ 





JA160 


261 


EJ 


SZ7 


JA263 


262 


MJ 





JA476 


263 


RJ 


JB405 


JB401 


264 


TP 


JC20 


A 


265 


MJ 





JB433 


266 


EJ 


TS4 


JA274 


267 


TV 


JC64 


JB4 


270 


TV 


JC73 


JB2 


271 


RJ 


JB5 


JB 


272 


TV 


JC63 


JB4 


273 


MJ 





JB325 


274 


RJ 


TA 


TA1 


Not in List 275 


MJ 





JA302 


In list 276 


TP 


JC44 





277 


QT 


TA4 


A 



Convert to octal (fixed point) 

Get CW for const, from Const. List 

Bring CW to string-out 

Jump to possible funct. jump out 
Adv. counter of elements in pseudo 

Is counter of subscripts > 4? 



Are we not inside pseudo? 
Is Level Afeter = 1? 

Has no. a decimal point? 



Set jump for exit out of function 

Store SY f SZ 

Check format floating point constant 

Convert to floating point octal 

Inserted for eventual TN GG3 GG3 (?) 
Go to assign CW and store it 

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. > |, 

alarm 5 in RJ 

(JA160 OK since coming from JA230, there 

was SY2-14 not yet changed) 

Is first char, a letter? 

Store SY— > JD and SZ —> SY. 

Is Level Nteter ± 0? 

Jump to subroutine to check whether VARY 

OK 

Are we not in subprogram? (TS4 =0?) 

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 oper. not In list; go to put it in 

Mask out first digit of CW — >A 



471 



Case CW 

4_ 

Pseudo Od. 

- - — ■ - A ■ 

Case CW 
61 



300 
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 
346 

347 
350 
351 
352 
353 
354 
355 
356 
357 



EJ 
MJ 
TP 
EJ 
TP 

TP 
TP 
AT 
RJ 
MJ 
TV 
MJ 
TP 
EJ 
MJ 

TP 
EJ 
MJ 
TP 
RJ 
TV 
TP 
TP 
TP 
MJ 
EJ 
TP 
EJ 
EJ 
RJ 

MJ 
EJ 

MJ 
RJ 
MJ 
EJ 
EJ 
EJ 
TV 

RJ 
MJ 
RJ 
MJ 
TV 
TP 
EJ 
TV 
RJ 



JC45 



JC13 

JD2 

SZ2 

JC111 

VB 

JC36 

TE 



JC63 



JC13 

JD2 



JC13 

JD2 



JC23 

JB153 

JC20 

JC21 

TS2 

TS3 



J017 

JC21 

JD1 

JD16 

JB5 


JD16 



JB5 



JD15 

JD16 

TS4 

JC65 

JB5 



JB5 



JC101 

JC20 

TS4 

JC74 

JB5 



JA314 

JB303 

A 

JB45 

TF1 

TF 

A 

TF2 

TE1 

JA274 

JB4 

JA542 

A 

JB470 

JB262 

A 

JA322 

JA524 

JD32 

JB145 

JB253 

JD15 

JD26 

EW2 

JB221 

JA343 

A 

JB526 

JA341 

JB3 

JB317 
JA610 

JA363 

JB3 

JB360 

JA337 

JA353 

JA351 

JB2 

JB 

JB352 

JB3 

JA350 

JB222 

A 

JA361 

JB2 

JB 



Is CW 4 type (pseudo)? 

Case(l)i n list 

Is next symbol (? 

Go to put pseudo op. in Comb. List 

Shortcut: Pseudo op. without following 



narnnt 



Place CW 



Bring list in Comb. List 

Go again to get list from Comb. List 

Restore addr. JB4 

Jump to alarm 21 

Case pseudo in list ! is next symbol (? 



Jump to handle pseudo without following 

parent. 

Case CW 61 in Dummy List 1 is next 

J symbol (? 
No, go to alarm 17 

Set counter of elements in funct. to 3 
Save format of given funct. 
Clear shift count 
Set index "inside funct." to 1 
Save XS3 code 

Place CW in string-out and go to get 
next 

Are we not inside pseudo op? 
Is Level Meter = 1? (.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 inside subscr. var.? 
— > alarm 

Go on to check for TS4 
Get file from Comb. List 
Case 4m) in list 
Are we~not inside funct.? 
Are we not inside subscr. var.? 
Is TS4 = 0? 
Set exit for case it is in Dummy List 

Gjtx file from dummy or Comb. List 
Case 6&h in list (= 2^4 case) 
Get CW~?rom Comb. List 

Set jump-out for funct. (to JB240) 

Put zero — >A 

Is TS4 = 0? 

Set exit in case it is in Dummy List 

Get CW from Dummy List or Comb. List 



472 



360 MJ JB333 

361 RJ JB5 JB3 

362 MJ JB311 

363 EJ TS4 JA367 

364 TV JC66 JB2 

365 RJ JB5 JB 

366 MJ JB355 

367 RJ JB5 JB3 
370 MJ JB355 

Exit when 371 TP TS3 Q 

case ©in 372 QT JC12 A 

Dummy List 373 EJ JC42 JA376 

374 EJ JC11 JA407 

375 MJ JA502 

376 TP JC13 A 

377 EJ JD2 JB162 

400 MJ JA520 

401 TP JC20 A 

402 TJ JD15 JA157 

403 TJ JD16 JA157 

404 TJ JD17 JA157 

405 MJ JA576 

406 

407 TP JC13 A 

410 EJ JD2 JA514 

411 TP TS3 TA4 

412 MJ JB531 
Alarm 413 TP SZ2 JI4 

Entries 414 TU Jl JB420 

415 RJ JB424 JB415 

416 MJ JA160 

417 TP SZ2 JJ5 

420 TP SY2 JJ7 

421 TU J J JB420 

422 RJ JB424 JB415 

423 RJ JA423 JA424 

424 MJ JA157 

425 RJ JA423 JA417 

426 MJ JA43 

427 TU JL JB420 

430 RJ JB424 JB415 

431 RJ JA431 JA432 

432 MJ JA43 

433 TP JD27 JM4 

434 TU JM JB420 

435 RJ JB424 JB415 

436 RJ JA436 JA437 

437 MJ JA43 

440 TP JD25 IA7 

441 TU IA JB420 

442 RJ JB424 JB415 

443 RJ JA443 JA444 

444 MJ JA107 



Case © in Comb. List 

Get CW from Comb. List 

Case (2) list 

Is TS4 = ? 

Set exit to uffl when in Dummy List 

Get CW from Dummy List or Comb. List 

Case Ufyh in list 

Get cV-from Comb. List 

Case &&1 in list 

Mask W? CW code-case ©in Dummy List 

Is it 76 — ? 
Is it 63 — ? 
Go to alarm 13 
Is next symbol ( ? 

Jump to alarm 16 
Come from JA55, zero > A 
When open parenthesis found: 
Am I really inside something? 

No, jump to alarm 4 

Free 

Is next symbol ( ? 

Put CW from dummy result to Comb, result 



* Alarm 1 






Alarm 2 



Alarm 2.5 or 3 



Alarm 4 



Alarm 5 



> Alarm 6-1/2 or 18.5 



473 



445 


TP 


TJ1 


JK5 








446 


TU 


JK 


JB420 


► Alarm 


6-3/4 




447 


RJ 


JB424 


JB415 








450 


MJ 





JA107 . 








451 


RJ 


JA431 


JA427 } Alarm 


4.5 or 


7 


452 


MJ 





JA134 . 








453 


TP 


SZ2 


JQ4 








454 


TP 


SZ3 


JQ5 








455 


TU 


JQ 


JB420 


' Alarm 


8 




456 


RJ 


JB424 


JB415 








457 


TV 


JC102 


JA246 








460 


MJ 





JA136 . 








4£>1 


TP 


SZ2 


JR4 








462 


TP 


SZ3 


JR5 








463 


TU 


JR 


JB420 


* Alarm 


9 




464 


RJ 


JB424 


JB415 








465 


TV 


JC102 


JA246 








466 


MJ 





JA157 . 








467 


RJ 


JA436 


JA433 








470 


TV 


JC102 


JA246 


f Alarm 


5.5 or 


1 


471 


MJ 





JA157 . 








472 


TP 


SZ2 


JT6 








473 


TU 


JI 


JB420 


► Alarm 


11 




474 


RJ 


JB424 


JB415 








475 


MJ 





30000 , 








476 


TP 


SZ2 


JU6 








477 


TU 


JU 


JB420 


« Alarm 


12 




500 


RJ 


JB424 


JB415 








501 


MJ 


Q 


JB450 








502 


TP 


SZ2 


JV4 








503 


TU 


JV 


JB420 








504 


RJ 


JB424 


JB415 


► Alarm 


13 




505 


RJ 


JA505 


JA506 








506 


MJ 





JB445 . 








507 


TP 


SZ2 


JW4 








510 


TU 


JW 


JB420 








511 


RJ 


JB424 


JB415 


- Alarm 


14 




512 


RJ 


JA512 


JA513 








513 


MJ 





JB445 . 








514 


TP 


SZ2 


JX6 








515 


TU 


JX 


JB420 


> Alarm 


15 




516 


RJ 


JB424 


JB415 








517 


MJ 





JA135 . 








520 


TP 


SZ2 


JY6 








521 


TU 


JY 


JB420 


► Alarm 


16 




522 


RJ 


JB424 


JB415 








523 


MJ 





JA163 . 








524 


TP 


SZ2 


JL7 








525 


TU 


JZ 


JB420 


• Alarm 


17 




526 


RJ 


JB424 


JB415 








527 


MJ 





JA163 , 








530 


TP 


SZ2 


IA7 


• Alarm 


18 




531 


MJ 





JA441 . 









474 



532 TP 

533 TP 

534 TU 

535 MJ 

536 TP 

537 TP 

540 TU 

541 MJ 

542 TP 

543 TU 

544 RJ 

545 MJ 

546 TP 

547 TP 

550 TU 

551 RJ 

552 MJ 

553 TP 

554 TP 

555 TU 

556 RJ 

557 RJ 

560 MJ 

561 TU 

562 RJ 

563 MJ 

564 TP 

565 TU 

566 MJ 

567 TU 

570 RJ 

571 MJ 

572 TP 

573 TU 

574 RJ 

575 MJ 

576 RJ 

577 MJ 

600 TP 

601 TU 

602 RJ 

603 MJ 

604 TP 

605 TP 

606 TU 

607 MJ 

610 RJ 

611 MJ 

612 TP 

613 TP 

614 SP 

615 QS 

616 MJ 



SZ2 

JD27 

IB 



SZ2 

JD26 

IC 



SZ2 

ID 

JB424 



SZ2 

SZ3 

IF 

JB424 



SZ2 

SZ3 

IG 

JB424 

JB400 



IK 

JB424 



JD26 

JO 



IH 

JB424 



SZ2 

JP 

JB424 



JA431 



SZ2 

JS 

JB424 



SZ2 

JD27 

IE 



JA431 



JC1 

JC123 

SY2 

A 





IB4 

IB 10 

JB420 

JB415 

IC4 

IC10 

JB420 

JB415 

ID10 

JB420 

JB415 

JB445 

IF6 

IF7 

JB420 

JB425 

JA177 

IG6 

IG7 

JB420 

JB425 

JB371 

JA177 J 

JB420 

JB425 

JA36 

J06 

JB420 

JB415 

JB420 

JB415 

JA134 J 

JP2 

JB420 

JB415 

JB443 J 

JA60 

JA72 

JS6 

JB420 

JB415 

JA163 J 

IE 4 

IE 10 

JB420 

JB415 

JA60 

JA135 

JI4 



102 

JI4 

JA414 J 



) 



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 




> Alarm 10 or 17-1/2 



Alarm 22 
Alarm 4-1/10 



Alarm entr. 1 for neg. sign 



475 



617 


TV 


JB231 


JB223 




620 


TP 


SZ2 


JT6 




621 


TU 


JT 


JB420 


► Alarm 11 1/2 


622 


RJ 


JB424 


JB415 




623 


MJ 
CA 



JA624 


JA135 , 





476 





IA 


JB 







RJ 


TS 


TS1 


1 


MJ 





JB3 


2 


MJ 





30000 


3 


RJ 


TA 


TA1 


4 


MJ 





JB6 


5 


MJ 





30000 


6 


TP 


JC15 


Q 


7 


TP 


JC13 


A 


10 


EJ 


JD2 


JA542 


11 


QT 


SZ2 


A 


12 


TP 


A 


A 


13 


RP 


20005 


JB15 


14 


EJ 


JC116 


JB24 


15 


TP 


JC20 


A 


16 


EJ 


JD16 


JB22 


17 


RJ 


JB424 


JA532 


20 


RA 


JD20 


JC21 


21 


MJ 





JA161 


22 


TU 


JC6 


JB42 


23 


MJ 





JB35 


24 


TP 


JC20 


A 


25 


EJ 


JD16 


JB30 


26 


MJ 





JB34 


27 


MJ 





JB34 


30 


EJ 


JD15 


JB34 


31 


RJ 


JB422 


JA536 


32 


TP 


JC26 


TA4 


33 


MJ 





JB220 


34 


TU 


JC5 


JB42 


35 


TP 


JC111 


TF 


36 


TP 


SZ2 


TF1 


37 


TP 


JC20 


TF3 


40 


RJ 


RH 


RH1 


41 


RJ 


TK 


TK1 


42 


AT 


30000 


TF2 


43 


RJ 


TE 


TE1 


44 


MJ 





JB3 


45 


TP 


SZ2 


TJ1 


46 


RA 


VB 


JC36 


47 


TP 


A 


TJ2 



Get file from Dummy List Get file from 
not in Dummy List 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 (? 

Mask out XS3 code of first digit 

Is it I, J, K t L, M? 

Are we not inside subscr. var.? 

Print alarm (subscript not starting with 

I, J, K, L, M. 

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. 

Var. start with I, 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 var. was 
meant, in order to go on checking the format 
of the function.) 

We are not inside funct.: make fixed pt. var. 
Put 3 in u of TF 
Put XS3 codp in TF1 
Clear TF3 
Check for format 
Get CW 

Add 64 — or 65 — (in u 200 or 216)-*TF2 
Add new floating point or fixed point vari- 
able to Comb. List 
Jump to get symbol from Comb. List 
Save XS3 repr. of pseudo op. 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 


TP 


JC110 


TJ 


51 


TV 


JC32 


JA157 


52 


RJ 


JB400 


JB376 


53 


TV 


EW3 


JB117 


54 


TP 


JC21 


JD17 


55 


TP 


JC20 


JD24 


56 


MJ 





JA161 


57 


RJ 


JB57 


JA160 


60 


TP 


JD1 


A 


61 


EJ 


JC21 


JB64 


62 


EJ 


JC20 


JB462 


63 


MJ 





JA160 


64 


TP 


JC14 


A 


65 


EJ 


SZ7 


JB104 


66 


EJ 


SZ11 


JB70 


67 


MJ 





JA160 


70 


TP 


JC20 


A 


71 


TJ 


SZ6 


JB101 


72 


TU 


JC33 


JB75 


73 


RA 


JB47 


JC21 


74 


TV 


JB47 


JB75 


75 


TP 


30000 


30000 


76 


RA 


TJ 


JC107 


77 


RA 


TJ2 


JC21 . 


100 


MJ 





JA160 


101 


TU 


JC32 


JB75 


102 


MJ 





JB73 


103 


RJ 


TA 


TA1 


104 


TP 


JC12 


Q 


105 


QT 


TA4 


A 


106 


EJ 


JC25 


JB112 


107 


EJ 


JC26 


JB101 


110 


EJ 


JC10 


JB72 


111 


MJ 





JB114 


112 


TU 


JC37 


JB75 


113 


MJ 





JB73 


114 


SP 


TA5 


36 ] 


115 


AT 


JC24 


TA5 J 


116 


MJ 





JB112 


117 


TP 


TF2 


30000 


120 


RJ 


TE 


TE1 


121 


TV 


JC6 


JB57 


122 


TV 


JC6 


JA157 


123 


TV 


JC72 


JB47 


124 


MJ 





JA160 



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 



get symbol after parent. 

/a 



Only first time: 

Put level Meter - 

Level = 1 ? 

Level = ? 

Level > l t go to get next 

Level is 1: put "40 0"— >A 

Is symbol at hand alpha-numeric? 

Is symbol at hand a number? 

For all other symbols go to get next symbol 

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 



ino. witn aec. pi; set aaaress ior iormat 
code in JB75 

Is this used? 

Mask out CW 

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 


TP 


JC13 


A 


126 


EJ 


JD2 


JB136 


127 


TP 


TA4 


Q 


130 


QT 


JC12 


A 


131 


EJ 


JC25 


30000 


132 


EJ 


JC26 


30000 


133 


EJ 


JC10 


30000 


134 


EJ 


JC12 


JA520 


135 


MJ 





JA502 


136 


TP 


TA4 


Q 


137 


QT 


JC12 


A 


140 


EJ 


JC12 


30000 


141 


EJ 


JC25 


30000 


142 


EJ 


JC26 


JA514 


143 


EJ 


JC10 


JA514 


144 


MJ 





JA502 


145 


TU 


TS17 


JB152 


146 


RA 


JB152 


JC3 


147 


MJ 





JB151 


150 


TU 


JC37 


JB152 


151 


TP 


JC20 


JD33 


152 


TV 


30000 


JD33 


153 


MJ 





30000 


I 154 


TP 


TA3 


JD26 


155 


TP 


JC23 


JD32 


156 


RJ 


JB153 


JB150 


157 


TV 


JC20 


JB253 


160 


TP 


JC21 


JD15 


161 


MJ 





JB220 


II 162 


TP 


JC21 


JD16 


163 


TP 


TS2 


JD27 


164 


TP 


JC75 


Q 


165 


QT 


TS3 


JD22 


166 


LQ 


JD22 


36 


167 


MJ 





JA327 


III 170 


TP 


JC20 


A 


171 


EJ 


JD16 


JB521 


172 


RA 


JD20 


JC21 


173 


TJ 


JC22 


JB220 


174 


RJ 


JB424 


JA604 


175 


MJ 





JA161 


IV 176 


RA 


JD20 


JC21 


177 


TJ 


JC7 


JB220 


200 


MJ 





JB174 


V 201 


TP 


TA3 


JD27 


202 


TP 


JC21 


JD16 


203 


TP 


JC40 


Q 


204 


QT 


TA5 


JD22 



Next symbol ( ? 

Mask out CW ind. 

66? 
65? 
64? 
77? 
Others? 

Mask out CW ind. ' 

77? 

66? 

65? V 

64? 

Others? 

Entry for 61 funct. 



Subroutine for equal- 
ity jump series 



No ( following 



With ^following 



Store given 
format of 
function 



Entry for 66 funct. 

Clear JD33 

Store format of funct. 

Exit 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 j Handling 76X 

Set inside subscr. to 1. 

Save XS3 code in subscr. var. XS3 code 

storage 

Save no. of elements in v of JD22 

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 JB174 

Save XS3 code 

Set "inside subscr." to 1 

Store no. of subscripts 



479 



205 
206 



EJ 
TJ 



207 MJ 
VII 210 TP 



iL\. JL 

212 
213 



VI 



215 

216 

217 

Save 220 

1 CW 221 

r\ f\ c\ 

223 
Save 224 

2 225 
CW's 226 

227 

230 

231 

Save 232 

3 233 
CW's 234 
Save 235 

4 236 
CW's 237 

240 

241 
242 
243 
244 
245 
246 
247 
250 
251 
252 
253 
254 
255 
256 
257 
260 
261 
262 
263 



TP 
TP 

MT 
o 

TP 
EJ 
MJ 
TP 
RJ 

tt«J 

MJ 
RJ 
RA 
RJ 
TU 
TV 
MJ 
RJ 
RA 
MJ 
RJ 
RA 
MJ 
TU 

TP 
QT 
EJ 
EJ 
EJ 
EJ 
EJ 
MJ 
RA 
TP 
LQ 
RA 
MJ 
TU 
MJ 
TU 
MJ 
TP 
QT 



JC21 
JC24 


JC21 



TA4 

JC21 



JC20 

JD16 



TA4 

EW 

inn r\c\ 


JB223 

JB220 

JB223 

JC41 

JC41 



JB223 

JB220 



JB223 

JB220 



EW3 

JC12 

30000 

JC13 

JC42 

JC77 

JC26 

JC1 



JB253 

30000 

Q 

JD32 



JC72 



JC73 



JC67 

TA4 



JB224 
JB232 

JB235 
JD17 



JD31 
JD24 

TROOH 

A 

JB220 

JB176 

EW2 

EW1 

TOOOO 

OUCCO 

JA163 j 

JB220 1 

JC 

JB220 

JB220 

JB223 

JA163 

JB220 

JC 

JB224 

JB220 

JC 

JB232 J 

JB242 



Q 

A 

JB256 

JB256 

JB260 

JB260 

JB260 

JB223 

JC23 

Q 
30000 

Q 

JB223 

JB252 

JB251 

JB252 

JB25 


A 



\) 



Is No. of subscr. = 1 ? 

Is 4 > no. of subscr.? (case 2 or 3 

subscr. ) 

Case 4 subscripts 

Set "inside pseudo" to 1 

Save XS3 code in pscudo op XS3 code 

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 JB240) 

dliu uacu uy pcuuu ouiiv/ ao ca.a o , v a^oi, 

by JA617 



Save 2 CW's 
Restore JB220 
Restore JB223 



Save 3 CW's 
Save 4 CW's 



Form funct. format for 
comp. with given one. 



264 ZJ JA530 JB220 



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 JB256 or JB260. Adv. shift count 

Put 1 or 4 in Q 

Shift (set to when funct. symbol found) 

Add code no. to "counter" of element in funct 

Go back to exit of "save CW" 

Cases 77, 76, (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 

267 
270 
271 
272 
273 
274 
275 
276 
277 
300 

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 



TP 
QI 

EJ 
EJ 
EJ 
EJ 
MJ 
TP 
QT 
ZJ 
RJ 
RJ 

TV 
MJ 
RJ 
MJ 
TV 
TV 
RJ 
MJ 
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 



JC71 

TA5 

JB273 

JB223 

JA154 

JB302 



JB467 



JC52 

JC46 

JB273 



JC55 

JC54 

JC50 

JC52 

JC55 



JC54 

JC54 

JC53 

JC52 

JC60 



JB467 



JC52 

JC46 

JB273 



JC55 

JC54 

JC50 

JC52 

JC55 



TS3 



TA4 

JC12 

30000 




JA154 
JA157 
JB464 
JB305 
JB140 
JB141 
JB265 
JB125 
JB131 
JB132 
JB133 
JB140 
JB141 
JB125 
JB131 
JB132 
JB133 
JB140 
JB141 
JB125 
JB464 
JB327 
JB140 
JB141 
JB265 
JB125 
JB131 
JB132 
JB133 
JB140 
JB141 
JB125 

Q 
JB344 

I 1 

JB347 



Come from JB307 or JB331 

Mask out first 2 bits of symbol at hand 

(after it came out of Comb. List) 

77 

66 

65 

64 



Is symbol defined by special equation? 

Come from JB141, save CW 

Give alarm concerning skipping inside 

parent. 

Restore exit of alarm 

_Go to EXTRAj Checks for special equations 

Free 65, "^~^ } Not folloWed b y < 

77 1 

55 j Followed by ( 

Check whether symbol has special equat. 



66 1 

65 \ 

64 J 
77 \ 

66 J 

66 1 

65 } 
64 J 
77 1 

66 J 

66, 65, 64 

Free 

77 

66 



} 



Not followed by ( 
Followed by ( 

Not followed by ( 
Followed by ( 

Not followed by ( 
Followed by ( 



Check whether symbol has special equat. 
Not followed by ( 




Followed by ( 
Entries for EJ series 
Mask out (dummy) CW code 

Mask out CW code 

63 — or 64 — (has been set before 
entering here) 



481 



346 MJ 

347 TP 

350 EJ 

351 MJ 



(2^ (Q) 352 TU 






OxJO X V 

354 MJ 

355 TU 

356 TV 

357 MJ 

360 TU 

361 TV 

362 MJ 

363 TU 

364 TV 

366 TU 

367 TV 

370 MJ 

371 TU 

372 TP 

373 EJ 

374 RP 

375 TP 

376 TP 

377 RJ 

400 MJ 

401 RP 

402 TP 

403 RP 

404 TP 

405 MJ 

406 RP 

407 TP 

410 MJ 

411 TP 

412 TP 

413 TP 

414 MJ 

415 MJ 

416 TP 

417 RJ 

420 TP 

421 RJ 

422 RJ 

423 TV 





JC13 

JD2 



JC46 



JC46 

JC51 



JC46 

JC53 



JC47 

JC50 

\j 

JC47 

JC51 



EW3 

JC20 

30000 

10017 

JC20 

JC20 

EW 



30013 

SY2 

30013 

SZ2 



30013 

JD2 



JC20 

JC20 

JC20 





WL1 

UP2 

30000 

UP2 

JB422 

JC100 



424 MJ 



JA502 

A 

JA514 

30000 

JB345 

T*-»1 CI 
ODOOX 

JB343 
JB345 
JB351 
JB343 
JB345 
JB351 
JB343 
JB345 
JB351 

Ttie;r»Q 

JB345 
JB351 
JB503 
JB373 

A 

JB400 

JB376 

JD15 

EW2 

EW1 

30000 



425 TP 

426 MJ 



III 




30000 J 



UP3 
JB416 



Jump to alarm 13 
Is next symbol ( ? 
Jump to alarm 15 



^64 or °64 

3 64 or 7 64 

464 
6 63 



uuiup nisi uu piaoe XiJO 



rn A A j_ i 

xrt'i, Liien 



go to further handling. 

7 63 P1 + . 

Place zero string- 
Come from JA45 out word 



Was last string-out word a zero? 

Clear counters and indices and storages 

Place zero string-out word 

Only used in RJ when found, or AND and 
Level Meter = 0. 

Save SY, SZ 



Restore SY, SZ 

Clear level meter 

Clear counter of elements inside pseudo 

Clear inside pseudo 

Alarm Print 



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 


RJ 


DZ 


DZ1 


430 


TP 


II 


DP3 


431 


MJ 





JB416 , 


432 











433 


TJ 


JD1 


JA331 


434 


TP 


JC20 


JB441 " 


435 


TU 


VL 


JB441 


436 


RS 


JB441 


JC56 


437 


AT 


JC103 


JB441 


440 


TP 


SZ2 


A 


441 











442 


EJ 


VL1 


JA572 


443 


TP 


JC20 


A 


444 


MJ 





JA266 


445 


TP 


JD2 


A 1 


446 


EJ 


JC13 


JA135 


447 


MJ 





JA163 „ 


450 


TP 


SY2 


A 


451 


EJ 


JC13 


JA136 


452 


MJ 





JA157 , 


453 


TU 


EW3 


JB455 


454 


TP 


JC20 


A 


455 


EJ 


30000 


JB460 


456 


TP 


JC20 


EW2 


457 


RJ 


EW 


EW1 


460 


TP 


JC30 


EW2 


461 


MJ 





30000 


462 


RP 


30030 


JB117 ] 


463 


TP 


TJ 


TF J 


464 


TV 


JC106 


JB131 ' 


465 


TV 


JC54 


JB132 


466 


TV 


JC54 


JB133 


467 


MJ 





30000 , 


470 


RJ 


JB222 


JB210 


471 


TV 


JC32 


JA157 


472 


RP 


30025 


JB474 


473 


TP 


TA4 


JD35 


474 


RA 


JB462 


JC22 


475 


TP 


JC115 


Q 


476 


QT 


TA4 


TJ2 


477 


RJ 


JB124 


JB56 


500 


TV 


JC6 


JB124 


501 


RS 


JB462 


JC22 


502 


MJ 





JA160 



Entrance alarm print error 

Free completely VARY check 
Is Level Meter = ? 
Set RP 2(n) JB443 



Put XS3 symbol at hand — > A 
Is it equal one in given list? (Concern- 
ing VARY 

Yes, goto alarm 12-1/2 = 7 
All OK, restore A to 
Go back to routine 
Alarm exit when SY stored otherwise 
Is next symbol ( ? If yes, go 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 A . 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 JA315 jump to do normal han- 
dling 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 
MJ 
TP 
TP 
QT 

511 ZJ 

512 RA 

513 IJ 

514 MJ 



515 
516 
517 



522 
523 
524 
525 
526 



TP 
RJ 
RS 



521 RJ 



MJ 
TV 
TP 
MJ 
RA 



527 TP 

530 MJ 

531 TP 

532 EJ 



533 MJ 
CA 



TS3 


JC114 
JC67 

TJ2 

Tmc; 

JA440 
JB510 
JD34 

n 



JC21 

JB410 

JD1 

n 
\j 

JB422 



JC63 

TS3 



JD21 

JC21 



JC20 

JD16 




JB534 



■ ) 



TA4 

JB34 

JB510 

Q 

JD34 

TTO 

JB512 
JC107 
JB510 
JA107 



JD30 

JB406 

JC21 

TAT Q7 

vaxu i 

JA536 

JB32 
JB4 

Q 

30000 J 
JC21 
A 

JA334 ^ 

A 

JB220 



JB172 - 



Set dummy CW's aside for storing in 
string-out (when found in Dummy List) 
Come from JA104; preset JB510 
Set index for no. of operands 
(mask0 00077) 

*■ J-«-«*Ol> UJ ULIvJV/O 

Are the values equal? 
Adv. to next val. 
Are all val. handled? 
Test OK, go on in routine. 



Set extra Level Meter = 1 
Restore SY T SZ 
Restore Level Meter 



Compare set 
, up pseudo op 
in TJ2-25 
with the 
stored given 
values 

Special en- 
trance EXTRA 






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 JB351 

Clear A 

Are we not in subscr. var.? Then save 

CW, case 63 for single valued floating 

point var. 

We are in subscr. var.: handle case 63 

for subscr. 



484 





IA 


JC 










1 





1 





WL3 


WL3 


2 


24 


50277 


77777 


3 





2 





4 





3 





5 





JC10 


JA251 


6 





JC26 


JA160 


7 








5 


10 








64000 


11 








63000 


12 








77000 


13 


17 


77777 


77777 


14 


40 








15 


77 








16 


34 








17 


50 








20 











21 








1 


22 








2 


23 








3 


24 








4 


25 








66000 


26 








65000 


27 


43 


77777 


77777 


30 


01 


22777 


77777 


31 








25 


32 





JC21 


JB57 


33 





JC22 


JB135 


34 


21 


77777 


77777 


35 


23 


77777 


77777 


36 








00100 


37 





TA5 





40 








77777 


41 





TA4 


JA163 


42 








76000 


43 








61000 


44 








70000 


45 








40000 


46 





JC10 


JB154 


47 





JC11 


JB162 


50 








JB170 


51 








JB176 


52 








JB201 


53 








JB215 


54 








JB220 


55 








JA502 


56 





VL1 





57 








JB210 


60 








JB277 


61 








JA124 


62 





WL 


WL 


63 








JB6 



XS3 code AND 



XS3 ( 



Zero 
One 



XS3 ) 
XS3 A . 
Used by JA113 



XS3 
XS3 



I 

II 

III 

IV 

V 

VI 

Save 1 CW 

For checking VARY range 



485 



64 








JA312 


65 








JB363 


66 








JB366 


67 








00077 


70 








JB262 


1 X 




n 


n 


72 





JC24 


TJ2 


73 





JC21 


JA253 


74 








JA371 


75 


o 





00700 


76 





70000 





77 








67000 


100 








JB223 


101 








JB240 


102 








JA247 




RP 


20000 


JB443 


104 


02 


77777 


77777 


105 





77777 


77777 


106 








JA600 


107 





1 


1 


110 





2 


2 


111 





3 


3 


112 





JC20 


TE1 


113 





JC21 





114 


RS 


JD35 


TJ2 


115 








77700 


116 


34 





) 


117 


44 








120 


45 








121 


46 








122 


47 








123 





77777 


urn 




CA 


JC124 





Lower case 
Upper case 



Mask 

Cornnar i sons 
for'l.J.K.L.M 

For neg. sign alarm 1 



436 



Alarm 1 





IA 


JI 












JI1 







1 


40 


JI2 


10 




2 


65 


73472 


55146 




3 


01 


77777 


77777 


Symbol C ] illegal 


4 








5 2:5. 


in compute sentence 


5 


01 


34464 


63032 




6 


24 


46013 


45001 




7 


26 


51475 


26766 




10 


30 


01653 


05066 




11 


30 
CA 


50263 
JI12 


02201 













Alarm 2 




IA 


JJ 












JJ1 







1 


40 


JJ2 


15 




2 


24 


27442 


42630 


Adja 
mean 


3 


50 


66016 


57347 




4 


25 


51466 


50177 




5 











SZ2 


6 


01 


77777 


77777 




7 











SY2 


10 


01 


47302 


45034 




11 


50 


32463 


06565 




12 


01 


34500 


12651 




13 


47 


52676 


63001 




14 


01 


01010 


10101 




15 


65 


30506 


63050 




16 


26 
CA 


30220 
JJ17 


17777 





Adjacent symbols C ] [ ] 
meaningless in compute sentence 



487 



Alarm 3 = 6-3/4 





IA 


JK 










JK1 





1 


40 


JK2 


10 


2 


52 


65306 


72751 


3 


01 


51523 


05424 


4 


66 


34515 


00177 


5 











6 


01 


33246 


50166 


7 


51 


51014 


72450 


10 


73 


01304 


63047 


11 


30 


50666 


52277 




CA 


JK12 





Pseudo operation I 1 
has too many elements 



TJ 1 











Alarm 4 




IA 


JL 












JL1 







1 


40 


JL2 


6 


Paren 


2 


52 


24543 


05066 




3 


33 


30653 


06501 




4 


50 


51660 


15254 




5 


51 


52305 


44673 




6 


01 


52243 






7 


27 
CA 


22017 
JLIO 


11111 





Parentheses not properly paired 



488 



Alarm 5 





IA 


JM 










JM1 





1 


40 


JM2 


11 


2 


70 


24543 


42425 


3 


46 


30017 


77777 


4 











5 


01 


33246 


50134 


6 


50 


26515 


45430 


7 


26 


66015 


06747 


10 


25 


30540 


15131 


11 


01 


65672 


56526 


12 


54 


34526 


66522 




CA 


JM13 





Variable C D has incorrect 
number of subscripts 

JD27 



Alarm 6 = 5-1/2 





IA 


JO 










J01 





1 


40 


J02 


15 


2 


24 


54326 


74730 


3 


50 


66650 


15131 


4 


01 


31675 


02666 


5 


34 


51500 


17777 


6 











7 


01 


27510 


15051 


10 


66 


01243 


25430 


11 


30 


01713 


46633 


12 


01 


01010 


10101 


13 


01 


01010 


10101 


14 


52 


54307 


03451 


15 


67 


65016 


76524 


16 


32 


30220 


17777 




CA 


J017 





Arguments of function C ] 

do not agree with previous usage 



JD26 



489 



Alarm 7 = 12-1/2 





IA 


JP 










JP1 





1 


40 


JP2 


20 


2 











3 


01 


26245 


05051 


4 


66 


01253 


00126 


5 


51 


47526 


76630 


6 


27 


01333 


05430 


7 


21 


01653 


45026 


10 


30 


01663 


33001 


11 


65 


30506 


63050 


12 


26 


30013 


46501 


13 


01 


01010 


10101 


14 


34 


50016 


63330 


15 


01 


54245 


03230 


16 


01 


51310 


12401 


17 


70 


24547 


30165 


20 


66 


24663 


04730 


21 


50 


66227 


77777 




CA 


JP22 





r i 

SZ2 |_ J Cannot be computed here, 
since the sentence is in the 
range of a vary sentence. 



490 



Alarm 8 





IA 


JQ 










JQ1 





1 


40 


JQ2 


12 


2 


26 


51506 


56624 


3 


50 


66017 


77777 


4 











5 











6 


01 


34650 


13151 


7 


46 


46517 


13027 


10 


01 


25730 


15152 


11 


30 


50015 


22454 


12 


30 


50663 


33065 


13 


34 


65227 


77777 




CA 


JQ14 





Constant c j is followed by 
open parenthesis. 

SZ2 
SZ3 











Alarm 9 




IA 


JR 












JR1 







1 


40 


JR2 


15 


Const 


2 


26 


51506 


56624 


varia 


3 


50 


66017 


77777 




4 











SZ2 


5 











SZ3 


6 


01 


24525 


23024 




7 


54 


65012 


46501 




10 


70 


24543 


42425 




11 


46 


30016 


65101 




12 


25 


30010 


10101 




13 


01 


01010 


10101 




14 


01 


01010 


10101 




15 


26 


51475 


26766 




16 


30 
CA 


27220 
JR17 


17777 





Constant r; ] appears as 
variable to be computed 



491 



Alarm 10 = 17-1/2 





IA 


JS 










JS1 





1 


40 


JS2 


10 


2 


24 


54326 


74730 


3 


50 


66650 


15131 


4 


01 


31675 


02666 


5 


34 


51500 


17777 


6 











7 


01 


27510 


15051 


10 


66 


01245 


25230 


11 


24 


54227 


77777 




GA 


JS12 





Arguments of function [ J 
do not appear. 











Alarm 11 




IA 


JT 












JT1 







1 


40 


JT2 


10 


Argume 


2 


24 


54326 


74730 


are su 


3 


50 


66650 


15131 




4 


01 


31675 


02666 




5 


34 


51500 


17777 




6 













7 


01 


24543 


00165 




10 


67 


52305 


43146 




11 


67 
CA 


51676 
JT12 


52201 





Arguments of function [ 3 



492 



Alarm 12 





1 

2 

3 

4 

5 

6 

7 

10 

11 

12 

13 

14 

15 



IA 



40 

24 

67 

01 

46 



01 

34 

65 

66 

01 

26 

66 

CA 



JU 

JU1 

JU2 

46523 

47305 

65734 

01777 



33246 

32346 

01313 

01010 

01010 

33245 

30542 

JU16 





14 

32450 

43426 

72551 

77777 



50127 

60124 

45465 

10101 

10101 

42426 

27777 



Alphanumeric symbol [ ] 

has digit as first character 



SZ2 



Alarm 13 



IA 



40 

65 

01 



01 

54 

01 

CA 



JV 

JV1 

JV2 

73472 

77777 



34502 

30266 

67653 

JV10 





6 

55146 

77777 



65154 

64673 

02722 



Symbol[ ] incorrectly used 



SZ2 



493 



Alarm 14 





IA 


JW 








TliT 1 

on x 




1 


40 


JW2 


11 


2 


70 


24543 


42425 


3 


46 


30017 


77777 


4 











5 


01 


34650 


15051 


6 


66 


01273 


03134 


7 


50 


30270 


12573 


10 


01 


24500 


13053 


11 


67 


24663 


45150 


1 o 




77777 
i • i i i 


77777 
i i i i i 




CA 


JW13 





Variable [ J is not defined 
by an equation 

SZ2 











Alarm 15 




IA 


JX 












JX1 







1 


40 


JX2 


14 


Single 


2 


65 


34503 


24630 


is fol 


3 


01 


70244 


66730 




4 


27 


01702 


45434 




5 


24 


25463 


00177 




6 











SZ2 


7 


01 


34650 


13151 




10 


46 


46517 


13027 




11 


01 


25730 


12450 




12 


01 


51523 


05001 




13 


01 


01010 


10101 




14 


52 


24543 


05066 




15 


33 
CA 


30653 
JX16 


46522 





Single valued variable [ J 

is followed by an open parenthesis 



494 











Alarm 16 




IA 


JY 












JY1 







1 


40 


JY2 


10 




2 


65 


67256 


52654 


Subscripts of variable [ ] 


3 


34 


52666 


50151 


do not appear 


4 


31 


01702 


45434 




5 


24 


25463 


00177 




6 











SZ2 


7 


01 


27510 


15051 




10 


66 


01245 


25230 




11 


24 
CA 

IA 


54227 
JY12 

JZ 


77777 


Alarm 17 








JZ1 







1 


40 


JZ2 


11 


Arguments of dummy 


2 


24 


54326 


74730 


function [ ] do not 


3 


50 


66650 


15131 


appear 


4 


01 


27674 


74773 




5 


01 


31675 


02666 




6 


34 


51500 


17777 




7 











SZ2 


10 


01 


27510 


15051 




11 


66 


01245 


25230 




12 


24 
CA 


54227 
JZ13 


77777 





495 



Alarm 18 





IA 


IA 






n 


n 


TA 1 


n 




1 


40 


IA2 


16 


Format 


2 


31 


51544 


72466 


does n 


3 


01 


51310 


15265 




4 


30 


67275 


10151 




5 


52 


30542 


46634 




6 


51 


50017 


77777 




7 











SZ2 fo 


10 


01 


27513 


06501 




11 


50 


51660 


12432 




12 


54 


30300 


10101 




13 


01 


01010 


10101 




14 


01 


71346 


63301 




15 


52 


54307 


03451 




16 


67 


65016 


76524 




17 


32 
CA 


30220 
IA20 


17777 


Alarm 19 



Format of pseudo operation [[ ] 
does not agree with previous usage 



SZ2 for 18; JD25 for 6-1/2 





IA 


IB 










IB1 





1 

X 




TOO 




2 


65 


67256 


52654 


3 


34 


52660 


17777 


4 











5 


01 


51310 


17024 


6 


54 


34242 


54630 


7 


01 


77777 


77777 


10 











11 


01 


34650 


15051 


12 


66 


01525 


45152 


13 


30 


54467 


30101 


14 


01 


01010 


10101 


15 


01 


01010 


10101 


16 


71 


54346 


66630 


17 


50 


22017 


77777 




CA 


IB20 





not properly written 



SZ2 



JD27 



496 



Alarm 20 





1 

2 

3 

4 

5 

6 

7 

10 

11 

12 

13 

14 

15 

16 

17 



IA 



40 

24 

50 



01 

50 

01 



01 

54 

01 

01 

01 

65 

34 

CA 



IC 

IC1 

IC2 

54326 

66017 



51310 

26663 

77777 



24525 

65012 

01010 

01010 

01010 

67256 

52662 

IC20 





16 

74730 

77777 



13167 

45150 

77777 



23024 

46501 

10101 

10101 

10101 

52654 

27777 



Argument [ ] of function [ ] 
appears as subscript 

SZ2 



JD26 



Alarm 21 





1 

2 

3 

4 

5 

6 

7 

10 

11 

12 

13 

14 

15 

16 

17 

20 



IA 



40 

31 

51 

65 

34 

70 

46 



01 

51 

01 

25 

54 

65 

50 

27 

CA 



ID 

ID1 

ID2 

67502 

50015 

67256 

52663 

24543 

30017 



33246 

66010 

01010 

30305 

30703 

46730 

66345 

22017 

ID21 





17 

66634 

15401 

52654 

02701 

42425 

77777 



50150 

10101 

10101 

00152 

45167 

14730 

15030 

77777 



Function or subscripted 
variable [ ]has not been 
previously mentioned 



SZ2 



497 



Alarm 22 





IA 


IE 






o 


o 


IE1 


o 




1 


40 


IE2 


20 


Subscript [ ] of variable [ ] 


2 


65 


67256 


52654 


exceeds allowed number 


3 


34 


52660 


17777 


of subscripts 


4 











SZ2 


5 


01 


51310 


17024 




6 


54 


34242 


54630 




7 


01 


77777 


77777 




10 











JD27 


11 


01 


30722 


63030 




12 


27 


65012 


44646 




13 


51 


71302 


70101 




14 


01 


01010 


10101 




15 


01 


01010 


10101 




16 


50 


67472 


53054 




17 


01 


51310 


16567 




20 


25 


65265 


43452 




21 


66 
CA 


65220 
IE 22 


17777 





498 





- 






Alarm 23 




IA 


IH 












IH1 







1 


40 


IH2 


12 




2 


31 


34546 


56601 




3 


65 


73472 


55146 


First symbol is wrong. 


4 


01 


34650 


17154 


Sentence is not checked 


5 


51 


50322 


20165 


further 


6 


30 


50663 


05026 




7 


30 


01505 


16601 




10 


31 


67546 


63330 




11 


54 


01010 


10101 




12 


01 


01010 


12633 




13 


30 
CA 


26453 
IH14 


02722 





Warning Alarm 1 





IA 


IF 












IF1 







1 


40 


IF2 


14 




2 


26 


51474 


72401 


Comma assumed between 


3 


24 


65656 


74730 


[ ] and preceding symbol 


4 


27 


01253 


06671 


[ 3 


5 


30 


30500 


17777 




6 











SZ2 


7 











SZ3 


10 


01 


24502 


70152 




11 


54 


30263 


02734 




12 


50 


32010 


10101 




13 


01 


01010 


10101 




14 


01 


01010 


10165 




15 


73 
CA 


47255 
IF16 


14622 





499 



Warning Alarm 2 



IA IG 



U 




IG1 




1 


40 


IG2 


12 


2 


41 


24502 


74101 


3 


24 


65656 


74730 


4 


27 


01253 


06671 


5 


30 


30500 


17777 


6 











7 











10 


01 


24502 


70152 


11 


54 


30263 


02734 


12 






r.TiA-7 


13 


25 


51462 


20177 




CA 


IG14 





M And M assumed between 
f 1 and preceding symbol 



SZ2 
SZ3 



Warning Alarm 3 




1 
2 
3 
4 
5 
6 
7 
10 
11 



IA 



40 

41 

34 

01 

66 

01 

26 

01 

26 

CA 



IK1 

IK1 

IK2 

24502 

50653 

52245 

33306 

54305 

30270 

01010 

51474 

IK12 





10 

74101 

42730 

43050 

53065 

24624 

12573 

10101 

72422 



"And* 1 inside parentheses 
replaced by comma 



Alarm Heading 




1 
2 
3 
4 
5 
6 
7 

10 
11 



IA 





65 

26 



01 

47 

01 

71 

32 

CA 



II 

112 

112 

30506 

30010 



01011 

52676 

01777 

24545 

21010 

1112 



6 

10 

63050 

17777 



72651 

63043 

77777 

03450 

17777 



(real alarm) 
(warning) 

Sentence A A C 1 A A A 
A A warning, A A 



(compute) 



500 



Temporaries Compute String-out 



JD 


1 


2-14 


15 


16 


17 


20 


21 


22 


23 


24 


25 


26 


27 


30 


31 


32 


33 


34 


35-61 


TJ 0-27 



Word index 

Level Meter 

Storage for SY 

Index "inside function" 

Index "inside subscr. var. 1 " 

Index inside pseudo oper. 

Counter of subscripts 

Counter of elements in pseudo operation 

Stored number of subscripts 

Free (?) 

Index "pseudo was in list" 

XS3 represent, of pseudo operation 

XS3 represent, of function 

XS3 represent, of subscripted variable 

Extra level meter 

CW pseudo operat. (for no. of elements) 

Built up format of function 

Stored format of function 

Index for pseudo operation 

Stored CW + operands of pseudo operation 



Space to build up pseudo operation for 
Comb . List 



501 



Klow Chart for Head Strino-Out 



RG1 



IF' branch 



Yes 




Get next 
symbol 



word not found 



RJ TA TA1 
Search combination list 
for variable (XS-3) 



ALARM (TO 
Var. not mentioned in 
dimension statement 



not "77" 



symbol 



Inspect TA4 list word 
to see if it is type 
"77" then put 1 in "30 
bit" of TA5 word 



RJ TD TD1 
Send old file back to 
Combination List 



Enter variable in 
stringout format and 
count 1 variable 




ALARM 
referenced 
nu mber omitted 
"No 



Test for digit 
(ref . line no. ) 



Yes 



Put word count in WL. 
Put read indicator in 
fixed locationl2. 
Put variable count in 
WL5. 



Exit 



No 



TP SY2 LN4 
Sentence no. 
referred to 



RJ LN2 LNO — 
of processor then 
LN3-*WL4 



RJ iX iXl 
Routine B lists 
line no. in iz 



Yes 



Test for 
line no. 




No 



Test 



Test variable 
-*| count > 



No 



Yes 



ALARM 



502 



Read String-Out Regions 



RE 


RG4400 


RE 


E04474 


RE 


EP4520 


RE 


EQ4543 


RE 


ER4564 



String-Out subroutine regions are needed for assembly of this tape. 





IA 


RG 







MJ 





CT 


1 


RJ 


SY 


SY1 


2 


TP 


EP10 


WL4 


3 


EJ 


RG57 


RG33 


4 


EJ 


RG60 


RG1 


5 


EJ 


RG61 


RG46 


6 


RJ 


TA 


TA1 


7 


MJ 





EP1 


10 


MJ 





RG20 


11 


EJ 


RG61 


EOl 


12 


TP 


SY11 


Q 


13 


QJ 


RG42 


RG33 


14 


RJ 


SY 


SY1 


15 


EJ 


RG61 


RG 


16 


EJ 


RG63 


RG1 


17 


MJ 





RG14 


20 


TP 


TA4 


Q 


21 


QT 


RG64 


A 


22 


TJ 


RG65 


EP1 


23 


TP 


RG66 


Q 


24 


QS 


RG66 


TA5 


25 


RJ 


TD 


TD1 


26 


TP 


TA3 


&L6] 


27 


RA 


RG26 


RG67 


30 


RJ 


SY 


SY1 


31 


EJ 


RG62 


ER1 


32 


MJ 





RG2 


33 


RJ 


SY 


SY1 


34 


EJ 


RG70 


RG36 


35 


MJ 





RG11 


36 


RJ 


SY 


SY1 


37 


TP 


SY11 


Q 


40 


QJ 


RG42 


RG41 


41 


MJ 





EOl 


42 


TP 


SY2 


LN4 


43 


RJ 


LN2 


LN 


44 


TP 


LN3 


WW 



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? 



Deleting loop 



A . test 
Closed parenthesis test 

Call word to q 

Mask (0 XXOOO) 

Test for "77 — " Type 

Put 1 in 30 bit. 

Send file back to Combination List 



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 



rxi 



46 


TP 


RG26 


A 


47 


SS 


RG71 





50 


ZJ 


RG51 


EQ1 


51 


TP 


A 


WL5 


D.i. 


HI 


nfrn 


VKL. 


53 


TP 


RG73 


Q ) 

12 J 


54 


QS 


Q 


55 


RJ 


SS 


SSI 


56 


MJ 





RG 


57 


34 


31777 


77777 


60 


21 


77777 


77777 


61 


01 


22777 


77777 


62 


17 


77777 


77777 


63 


43 


77777 


77777 


/ A 

04 


V 


U 


77000 


65 








76777 


66 


1 








67 








1 


70 


65 


30506 


63050 


71 


TP 


TA3 


WL6 


72 








6 


73 





2 







CA 


RG74 





Line number put in referenced-line number 

list. 

TP TA3 [WL6] to A 

- TP TA3 WL6 

Variable count 

Put read indicator into 12 
Exit procedure 

IF 



A 
( 
) 



1 in 30 bit 



Read Error Print-Out Subroutines 





IA 


EP 







MJ 





RG30 


1 


TP 


SY2 


EP10 


2 


RJ 


WA 


WA1 


3 


TP 


EP22 


DP3\ 
UP ; 


4 


RJ 


DP2 


5 


MJ 





EP 


6 


70 


24543 


42425 


7 


46 


30017 


77777 


10 











11 


01 


50516 


60147 


12 


30 


50663 


45150 


13 


30 


27013 


45001 


14 


66 


33300 


11727 


15 


34 


47305 


06534 


16 


51 


50430 


10101 


17 


01 


01010 


10101 


20 


01 


65662 


46630 


21 


47 


30506 


62277 


22 


40 


EP6 


14 




CA 


EP23 






IA 


EQ 







MJ 





RG55 



Set-ups variable for print-out 
Print-out: Sentence (Read) 

Print-Out shown below. 



V 


A 


R 


I 


A 


B 


L 


E 


A 








A 


N 





T 


A 


M 


E 


N 


T 


I 





N 


E 


D 


A 


I 


N 


A 


T 


H 


E 


A 


( 


D 


I 


M 


E 


N 


S 


I 





N 


) 


A 


A 


A 


A 


A 


A 


A 


A 


A 


A 


S 


T 


A 


T 


E 


M 


E 


N 


T 


, 


A 



504 



1 


RJ 


WA 


WA1 














2 


TP 


EQ20 


UP3 














3 


RJ 


UP2 


UP 














4 


MJ 





EQ 














5 


50 


51016 


56725 


N 





A 


S 


U 


B 


6 


65 


26543 


45266 


S 


c 


R 


r 


P 


T 


7 


30 


27017 


02454 


E 


D 


A 


V 


A 


R 


10 


34 


24254 


63001 


r 


A 


B 


L 


E 


A 


11 


47 


30506 


63451 


M 


E 


N 


T 


r 





12 


50 


30270 


13450 


N 


E 


D 


A 


r 


N 


13 


01 


66333 


00117 


A 


T 


H 


E 


A 


( 


14 


54 


30242 


74301 


R 


E 


A 


D 


) 


A 


15 


01 


01010 


10165 


A 


A 


A 


A 


A 


S 


16 


66 


24663 


04730 


T 


A 


T 


E 


M 


E 


17 


50 


66227 


77777 


N 


T 


. 








20 


40 
CA 

IA 


EQ5 
EQ21 

ER 


13 

















MJ 





RG14 














1 


RJ 


WA 


WAl 














2 


TP 


ER27 


DP3 














3 


RJ 


DP2 


UP 














4 


MJ 





ER 














5 


65 


67256 


52654 


S 


U 


B 


S 


c 


R 


6 


34 


52663 


02701 


I 


P 


T 


E 


D 


A 


7 


70 


24543 


42425 


V 


A 


R 


I 


A 


B 


10 


46 


30650 


12454 


L 


E 


S 


A 


A 


R 


11 


30 


01505 


16601 


E 


A 


N 





T 


A 


12 


24 


46465 


17130 


A 


L 


L 





W 


E 


13 


27 


01665 


10133 


D 


A 


T 





A 


H 


14 


24 


70300 


10101 


A 


V 


E 


A 


A 


A 


15 


01 


01010 


10152 


A 


A 


A 


A 


A 


P 


16 


24 


54305 


06633 


A 


R 


E 


N 


T 


H 


17 


30 


66342 


62446 


E 


T 


I 


C 


A 


L 


20 


01 


30725 


25430 


A 


E 


X 


P 


R 


E 


21 


65 


65345 


15065 


S 


S 


r 





N 


S 


22 


01 


34500 


16633 


A 


r 


N 


A 


T 


H 


23 


30 


01175 


43024 


E 


A 


( 


R 


E 


A 


24 


27 


43016 


56624 


D 


) 


A 


S 


T 


A 


25 


66 


30473 


05066 


T 


E 


M 


E 


N 


T 


26 


22 


77777 


77777 


^ 












27 


40 
CA 

IA 


ER5 
ER30 

E0 


22 

















MJ 





RG51 














1 


RJ 


WA 


WAl 














2 


TP 


E023 


UP3 














3 


RJ 


UP2 


UP 














4 


MJ 





EO 














5 


67 


65345 


03201 


U 


S 


I 


N 


G 


A 



505 



6 


66 


33300 


17151 


7 


54 


27013 


43101 


10 


34 


47524 


63430 


11 


65 


01543 


03130 


12 


54 


30502 


63450 


13 




m o/tn 


14634 


14 


50 


30015 


06747 


15 


25 


30542 


10125 


16 


67 


66016 


63330 


17 


01 


50674 


72530 


20 


54 


01712 


46501 


21 


51 


47346 


66630 


22 


27 


22777 


77777 


23 


40 


E05 


16 




CA 


E024 





T 


H 


E 


A 


W 





R 


D 


A 


I 


F 


A 


I 


M 


P 


L 


I 


E 


S 


A 


R 


E 


F 


E 


R 


E 


N 


C 


I 


N 


Q 


A 


a 


A 


L 


I 


N 


E 


A 


N 


U 


M 


B 


E 


R 


» 


A 


B 


U 


T 


A 


T 


H 


E 


A 


N 


U 


M 


B 


E 


R 


A 


w 


A 


S 


A 





M 


I 


T 


T 


E 



506 



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 string- 
out. 

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. 

The alarm print-outs are as follows: 

1) Symbol C 1 illegal in type sentence. 

2) First symbol space point. Sentence not further checked. 

3) Adjacent symbols C J C J meaningless in type sentence. 

4) Parentheses not correctly placed. 

5) Subscripted variable C ] has incorrect number of subscripts. 

6) Alphanumeric symbol C D has digit as first character. 

7) appears as function or subscripted variable, but is not previous- 
ly mentioned in problem. 

8) Floating point variable C J used as subscript. 

9) Pseudo operation symbol C 3 illegal in type sentence. 

10) Subscripts of subscripted variable C 1 are missing. 

11) Library routine symbol C 1 illegal in type sentence. 

12) Floating point variable C ] used as function symbol or as subscripted 
variable. 

13) Subscript [ 1 appears as function or subscripted variable. 

14) Subscript C J used as argument of a function. 

15) Function symbol C ] appears as subscript. 



507 



16) Constant C j appears as function or subscripted variable. 

17) Constant £ ] appears as variable to be typed. 

18) Negative subscript C ] illegal. 

Warnings. 

1) Comma assumed preceding symbol C 3 . 

2) Typed value of function L ] may not correspond to stated arguments, 



508 



G> 



(extraV 



MG 



TYPE STRINGOUT 



Entrance from 
Stringout Control 



Exit 



MG] 



Do 
preset tings 



MGlOi 



MG11 



MG13 



MG15 



Get next symbol 



"Next symbol" 
to look at 
in SY2-14 



Symbol under 
consideration 
in SZ2-14 

MG7 



Get next symbol 



MG4 



MJ for use in RJ 
and exit 



MF31 



Alarm 6, alpha- 
numeric symbol starts 
wit h digit 



MB43 



No 



I I s next 
I symbol (? 



MF105 



Yes 



Alarm 6A, alpha- 
numeric symbol 
starts with digit 



Is it SY A.?\no 



SY2 



Yes 



Place MJ to GO TO 
END in jump before 
get next symbol 



Is it alphanumeric? 
SZ27 or SZ11 ne 




MH5 



No / Is first character \ft 
a letter? 



Yes 



No 



MG106J 



Yes 



MG110 



Is it AND? 



MH1 



Yes. 



Replace in SZ2 the 
*AND by comma 



Clear word 
index 




Which non- 
alphanumeric symbol?; 



No 



MB10 



MB14 



Is word ind. 
= 0? 



No 



MH2 



Warning alarm, space 
betw. words re- 
placed by comma 

1 



Yes 



RJ set CW and XS3for 
comma in stringout 
ana adv. for next 
addr. by 2 



Put 1 in 
word index 



MH4 




Is symbol a 
number? SZ12 neg. 



MJ1 



Yes 



Is next 
symbol ( ? 



No 



I2L 



Is level = 0?\M 



MJ4 



MJ6 



MF67 



Yes 



MF73 



Alarm 21, number 
used as function 





Are we inside 

argument of sub- 
scr. var.? 



Yes 



MJ23 



No 



Alarm 22, * in type 
comm. allowed only 
inside parent. 



©■ 



[Assign 75. . .call 
word for funct. 
I subscr . 



MJ20 



MJ2 

OH 



Put CW and XS3 in 
stringout and adv. 
addr. by 2 



Yes 



MJ7 



Add 1 to counter 
of » of subscr. 



MJ12 



Check format 
fxd. pt. 



MJ14 



Convert to 
octal fxd. pt. 



MJ16 



'Get const. CW 
from constant 
pool 



MG64 



MG66 



Neg. sign 



Is SY11 = 40? \ Yes/ Is SY12 - 0? 



i Ye 



MF15 



Other 



MG24 



Alarm 1, 

illegal symbol in 

type comm. 



Put CW and XS3 in 
stringout and adv. 
addr. by 2 



MG62 



MG34 



Put CW and XS3 in 
stringout and adv. 
addr. by 2 



MG36 



Increase Level 
Meter by 1 



MG40 



Put CW and XS3 in 
stringout and adv. 
addr. by 2 



MG42 



Decrease Level 
Meter by 1 



© 



©- 



TYPE Stringout (Cont.) 
MG71 



MG70 




Are we inside 
variable? 



No 



Yes 



MF77 



Change jump E J. . . 
NUMBER in ALPHNUM+4 
to EJ...NEC 



Alarm 23, neg. 
subscr. illegal 



MG27 



MG32 



Is next symbol ) 
or. or; ? 



MF20 



No 



Is next 
symbol ( ? 



No 



MF103 



Yes 



Yes 



Alarm 2 t symbol for 
fct. or subscr. var 
forgotten 



Alarm 3. non- 
alphanum. symbol 
screwed up 



MG27 



Yes 



MG32 



"\ No 



Is next symbol ) 
or , or ; ? J 



MG47 



— s/extraj 



Yes 



Is next ^v No 

symbol ( ? 



MG45 



MG50 



Is level >0?\ Yjl! 



Were we inside ^> No 
subscr. variable? 



MG60 



Reduce ind. "inside 
funct." by 1 



No 



MG53 



Clear Level Meter 
and inside funct. 
and inside subscr. 
var. 




Yes 



Set index "inside 
subscr. var." to 
zero 



MG55 




Is counter of 
subscript!>=* of sub 
scr. (stored)? 



Yesj , 



Yes 
MG32 



MG56 



No 



Is next Y_No, 

symbol ( ? 



MF26 



Clear counter of 
subscripts 



Alarm 5, subscripted 
var. has wrong » of 
subscripts 



© 



MH31 



Put no. of subscr. 
and XS3 code of 
subscr. var. in 
storage 



MH30 



TYPE Stringout (Cont.) 
MH26 



MH20 



Set index "inside 
subscr. var." to 1 




Alarm 13, subscr. 
of subscr. var. 
missing 



MF37 



Alarm 14 or 11 , 
single val. var. 
used as subscript 



Yes 




MH36 



Are we inside sub 
scr. variable? 



Yes, 



HF53 



(extraV— 



Alarm 15, single val, 
fct. used as symbol 
for funct. or subscr, 
var. 



MH40 



Yes 




MH16 



Was it single 
valued funct.? 



No 



Is next sym 
bol ( ? 



No 



MF56 



Alarm 16, subscr. 
used as symbol for 
funct. or subscr. 
var. 



MH42 



MH15 



Yes 



Is next 
symbol ( ? 



Yes 



65 



No 



Was it fixed point 
var.? (subscript)64 



MH50 



MH45 



Adv. counter of 
subscripts by 1 



Yes 



No 



Are we inside 
subscr. var.? 



MF61 



Alarm 17A, subscr. 
used as argument of 
function 



M H46 



Yes 



No 



Are we it 
side function? 



No 



MF64 



Alarm 20, 
function used as 
subscript 



MH54 



MH52 



MH17 



Adv. counter for 
subscr. by 1 



Yes 




Are we inside 
subscr. var.? 



MH62 



Warning alarm 2, 
typed val. of fct. 
may not correspond 
to stated arguments 



MH61 



MH57 



Set ind. inside 
funct. to 1 



Yes 



Yes 



No 



Was it 
function? 66 



No 



Is next 
symbol ( ? 



No 



MF42 



Alarm 12, pseudo-oper, 
symbol illegal in 
TYPE sentence 



MH23 



Ye 




No 



Was it pseudo 
oper.? 40 



MF45 



No 



Alarm 12A, Lib. 
Rout, illegal in 
TYPE sentence 



■® 



511 



TYPE String3ut (Cont.) 



MH6( 



MH7 



Get file 

from Comb 
list 



found 
comb. 



MH11 



not in comb, 
list 



Mil 



in 
list 



Put CW and XS3 code 
in stringout and adv. 
addr. for next 
string, by 2 



MH12I 



Is next symbol 
( ? SY2 



MF34 



Yes 



Alarm 10, fct. or 
subscr. var. not 
mentioned in comb, 
list 




MI3 



No 



Is first char 
I,J,K,L,M? 



No 



MI21 



MI4 



Add 1 to counter 
of subscripts 



MF115 




Yes 



.Yes 



Alarm 17, subscript 
used as arg. of fct, 



)MI17 



re we inside ar- 
gum. of subscripted 
var.? 



MI 5 



No 



Yes /Are we in 

Iside a funct.? 



MI6 



No 



Check format 
subscr. 



MI7 



Assign CW for 
subscr. 



MHO 



Add new subscr 
var. to Comb. 
List 



Mill 



Put CW and XS3 in 
stringout and adv. 
addr. by 2 



1MI17 



J1I23 

<Are we inside ar->> 
gum. of subscr. var.?y 



No 



MI24 



Add 1 to counter of 
subscripts 



MF117 



Alarm 11, single 
val. fltp. var. used 
as subscript 



MM 17 



MI26 

/Check format for 

( single val. fltp. 

\ var. 



MI27 _ 
/Assign CW for 
< single val. fltp. 
\ var. 



MI 30 



/Add new single 
\ val. var. to Comb 
\ Li st 



Mill 



Put CW and XS3 code 
in stringout and 
adv. addr. by 2 



I MI 17 



G> 



<D 



TiTE Stringout (Cont.) 




Adv. Level Meter 
by 1 




MK 1 



MK5 



MK11 



MK12 



Put CW and XS3 of 
SY2...in stringout 



Is level 



0? 



Yes 



Send string 
out to tape 



MF121 



No 



Alarm 23, 

level not back to 

zero 



Jump to Exit 




MG75 



Restore jump in ALPHA- 
NUM + 4 from JP...NEC 
to JP---NUMBER (from 
MA61 to MM71) 



MG76 




MG101 


Blend neg. sign 
into XS3 code 


— » 


Jump back to 
routine 
(—» NUMBER) 



ML1 




Clear extra 
Level Meter 



ML2 



Get next 
symbol 




ML4 



No 



ML5 



Is symbol at 
hand ) ? 



Yes 



ML14 



ML11 



Is symbol at 
hand (? 



Yes 



Adv. extra 
Level Meter 



No 



Is extra Level 
Meter >1? 



No 



Yes 



ML20 



Reduce extra Level 
Meter by 1 



ML7 No 



MK 



MK1 



Is next \Yes 

symbol A. ? 



Adv. Level 
meter by 1 



ML16 



Is next 
symbol A.? 



Yes 



Go on in 
GO TO END 



No 



Jump to MG4 in be- 
ginning of routine 
to get next symbol 



Type String-Out Regions 



RE 


MG4400 ^ 


RE 


MH4512 


RE 


MI 4577 


RE 


MJ4631 


RE 


MK4656 


RE 


ML4671 J 


RE 


MB4713 


RE 


MC4773 


RE 


MF5034 


RE 


YY5162 


RE 


YB5175 


RE 


YC5215 


RE 


YD5227 


RE 


YE 5244 


RE 


YF5263 


RE 


YG5273 


RE 


YH5312 


RE 


YI5330 


RE 


YJ5355 


RE 


YK5370 


RF. 


YL5406 


RE 


YM5424 


RE 


YN5442 


RE 


Y05464 


RE 


YP5504 


RE 


YQ5517 


RE 


YR5531 


RE 


YS5552 


RE 


YT5571 


RE 


YZ5603 


RE 


ME 5614 


RE 


MM6140 


RE 


MN6240 



Program main part 



Subroutines 
Constants 



String-Out Subroutine regions are also needed to assemble this tape 



514 





IA 


MG 







MJ 





CT 


1 


TP 


MC36 


EW3 


2 


RP 


10025 


MG102\ 
ME ] 


3 


TP 


MC12 


4 


MJ 





MG6 





6 


RJ 


SY 


SY1 




7 


EJ 


MCI 


MB 




10 


TP 


MC13 


A 




11 


EJ 


SZ7 


MG105 




12 


EJ 


SZ11 


MG105 


Non- 


13 


TP 


MC12 


ME16 


Alpha- 


14 


TP 


SZ2 


A 


Numeric 


15 


EJ 


MC3 


MG24 




16 


EJ 


MC5 


MG34 




17 


EJ 


MC4 


MG40 




20 


EJ 


MC2 


MG62 




21 


EJ 


MC34 


MG64 




22 


EJ 


MC35 


MG64 




23 


MJ 





MF15 


Comma 


24 


TP 


MC26 


ME13 \ 
MB34 j 




25 


RJ 


MB37 




26 


TP 


SY2 


A 




27 


EJ 


MC2 


MF20 




30 


EJ 


MC3 


MF20 




31 


EJ 


MC4 


MF20 




32 


EJ 


MC5 


MF103 




33 


MJ 





MG4 


First Par 


34 


TP 


MC 


ME13 \ 
MB34 J 




35 


RJ 


MB37 




36 


RA 


ME17 


MC14 




37 


MJ 





MG26 


Last Par 


40 


TP 


MC30 


ME13 \ 




41 


RJ 


MB37 


MB34 J 




42 


RS 


ME17 


MC14 




43 


SJ 


MG60 


MG44 




44 


TP 


MC12 


A 




45 


TJ 


ME20 


MG53 




46 


TJ 


ME21 


MG50 



47 



MJ 



MG4 



50 


RS 


ME21 


MC14 


51 


TP 


SY2 


A 


52 


MJ 





MG32 


53 


TP 


MC12 


ME20 


54 


RS 


ME22 


ME23 



Exit 

Set EW3 

Clear temporaries and go to check 

for A . in start 

Come from MG104 "before get next 

symbol" 

Free (first RJ SY SY1 see in patch, 

MG102) 

Get next symbol for SY (later — > SZ) 

Is next symbol A . (the end point)? 

Put "40 H — >A 

Ts 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-alpha-numeric 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 > 0? 

Yes, put zero — >A 

Are we inside subscr. var.? 

No: are we inside function? Only 

alternative with level > 

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 



55 


ZJ 


MG56 


MG51 


56 


TP 


MC12 


ME22 


57 


MJ 





MF26 


60 


RP 


10003 


MF24 1 


61 


TP 


MC12 


ME17 1 


Semicolon 62 


TP 


MC3 


SZ2 \ 
MG24 J 


63 


MJ 





Negative 64 


TP 


MC13 


A 


65 


TJ 


SY11 


MF15 


66 


EJ 


SY12 


MF15 


67 


TP 


MC14 


A \ 


70 


EJ 


ME20 


MF77 J 


71 


TV 


MC6 


MH4 


72 


MJ 





MG4 


73 


RA 


ME22 


MC14 


74 


MJ 





MF77 


^EC 75 


TV 


MC10 


MH4 


76 


SP 


MC30 


25 "1 


77 


SA 


SZ2 


36 > 


100 


LT 





SZ2 J 


101 


MJ 





MJ 




D T 
no 


cv 


w>AX 



103 EJ 



MCI 



MF123 



104 


MJ 





MG4 


105 


TP 


SZ2 


A 


106 


EJ 


MC33 


MG110 


107 


MJ 





MH 


110 


TP 


MC3 


SZ2 


111 


MJ 





MG13 



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 in- 
side funct. and go to alarm 4 
Case; sneak XS3 code of comma in 
SZ2 and jump to making string-out 
for comma 
Put "40 0" — *A 
Is next symbol not starting with 
decimal pt. or digit? 
Contains next symbol a letter? 

Are we inside subscr. var.? 

Set jump for neg. no. 

Jump to "before get next" 

Adv. no. of subscr. ^ No more 

[ used? 
Jump to alarm 1A J 
Restore jump to NUMBER 
Blend neg. sign (lower case) in 
XS3 code 

Jump to NUMBER handling. n patch for 

n & Mnn ±. j*2~~*. I 

ouiuc xxuiu I'Wi,, y ct xxx at 

symbol 

Is first symbol A . ? 
Yes, go to alarm. 
No, go on in routine 
Come from MGll or MG12 
Is symbol "AND"? 
No t go on in rout. 
Yes, sneak comma in SZ2 
Go on in routine 



sentence 
starts 
with A 

patch for 
case 

"AND" in- 
stead of 
comma 



CA 



MG112 



516 







IA 


MH 




Alpha- 





TP 


MC12 


A 


Numeric 


1 


TJ 


ME16 


MB10 




2 


TP 


MC14 


ME16 




3 


TP 


MC12 


A 




4 


EJ 


SZ12 


MJ 




5 


EJ 


SZ7 


MB43 




6 


RJ 


MB21 


MB15 




7 


RJ 


TA 


TA1 




10 


MJ 





MI 


Tn Comb. 


11 


RJ 


MB33 


MB30 


List 












12 


RJ 


MB24 


MB22 




13 


TP 


MC22 


Q 




14 


QT 


TA4 


ME13 




15 


EJ 


MC17 


MH42 




16 


EJ 


MC20 


MH35 




17 


EJ 


MC21 


MH52 




20 


EJ 


MC22 


MH25 




21 


TP 


MC31 


Q 1 




22 


QT 


TA4 


ME13 > 




23 


EJ 


MC37 


MF42 J 


Subvar 2 


24 


MJ 





MF45 




25 


TP 


MC5 


A ) 




26 


EJ 


ME 


MH30 J 




27 


MJ 





MF50 




30 


TP 


MC14 


ME20 




31 


TP 


MC23 


Q ) 
ME23 J 




32 


QT 


TA5 




33 


TP 


TA3 


ME24 




34 


MJ 





MG4 


Sinvalf 


35 


TP 


MC12 


A ) 


2 


36 


TJ 


ME20 


MH63 J 




37 


TP 


MC5 


A \ 




40 


EJ 


ME 


MF53 J 




41 


MJ 





MG4 


Sub- 


42 


TP 


MC5 


A ) 
MF56 J 


script 2 


43 


EJ 


ME 




44 


TP 


MC12 


A \ 
MH50 J 




45 


TJ 


ME20 




46 


TJ 


ME21 


MF61 




47 


MJ 





MG4 



Put zero 



->A 



Is word ind. > zero? When yes, 
warning alarm 1 
Put 1 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 string- 
out 

Write SY2-14 back in its place 
Mask for call word symbol — >Q 
Call word symbol — >ME13 and A 
Was symbol in Comb. List subscript? 
64 

Was symbol in Comb. List single val. 
variable? 65 

Was symbol in Comb. List function? 
66 

Was symbol in Comb. List subscript- 
ed 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 1 in "inside subscr. var." 

Put no. of subscr. in storage 

Put XS3 code of subscr. var. in 

storage 

Go to n bef. get next" 

Are we inside subscr. var.? 

No: is next symbol ( ? 
No: go to M bef. get next" 
Is next symbol ( ? 

Are we inside subscr. var.? 

No: are we inside funct.? 
No: go to get next symbol 



517 



Sub- 


50 


RA 


ME22 


MC14 


script 2A 


51 


MJ 





MG4 


Func- 


52 


TP 


MC12 


A 


tion 2 


53 


EJ 


ME20 


MH56 




54 


RA 


ME22 


MC14 




55 


MJ 





MF64 




56 


TP 


MC5 


A 




57 


EJ 


ME 


MH61 




60 


MJ 





MG4 




61 


TP 


MC14 


ME21 




62 


MJ 





MF12 




63 


RA 


ME22 


MC14 




64 


MJ 
CA 



MH65 


MF37 


Not in 




IA 


MI 




List 





TP 


MC5 


A 




1 


EJ 


ME 


MF34 




2 


TP 


MC12 


A 




3 


EJ 


SZ10 


MI23 




4 


TJ 


ME20 


MI21 



TJ 



ME21 



MF115 





6 


RJ 


RH 


RH1 




7 


RJ 


TK 


TK1 




10 


AT 


MC17 


ME13 




11 


RJ 


MB37 


MB34 




12 


TP 


MC27 


TF ^ 




13 


TP 


SZ2 


TF1 




14 


TP 


ME13 


TF2 




15 


TP 


MC12 


TF3 




16 


RJ 


TE 


TEl -> 




17 


RJ 


MB24 


MB22 




20 


MJ 





MG4 




21 


RA 


ME22 


MC14 




22 


MJ 





MI6 


Sinvalf 










1 


23 


EJ 


ME20 


MI26 




24 


RA 


ME22 


MC14 




25 


MJ 





MF117 




26 


RJ 


RH 


RHl 




27 


RJ 


TK 


TK1 




30 


AT 


MC20 


ME13 




31 


MJ 
CA 



MI32 


Mill 



Adv. counter of subscr. by 1 
Go to "before get next" 

Are we not inside subscr. var.? 

We are inside: adv. counter of 
subscr. by 1 
Go to alarm 20 

We are not inside: is next symbol 

( ? 

Go to "before get next" 

Set "inside funct" to 1 

Go to warning alarm 2 

Adv. counter of subscr. 

Go to alarm 11 or 14 



Is next symbol ( ? yes: go to 

alarm 10 

No: is first letter not I t J V K V L V M? 

First letter I,J t K f 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. 

3 
Add new XS3 code 

file to CW 

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 

Are 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 



Stated 





TA 


MJ 







TP 


MC5 


A \ 
MF67J 


1 


EJ 


SY2 


2 


TP 


MC12 


A \ 
MF73 J 


3 


EJ 


ME17 


4 


RJ 


MB21 


MB15 


5 


TP 


MC12 


A ) 
MJ23 J 


6 


EJ 


ME20 


7 


RA 


ME22 


MC14 


10 


MJ 





MJ12 


11 











12 


RJ 


RD 


RD1 


13 


TP 


SZ2 


RS4 \ 
RS J 


14 


RJ 


RS2 


15 


TP 


TS3 


A \ 


16 


RJ 


GW 


GW1 J 


17 


TP 


Q 


ME13\ 
MB34 J 


20 


RJ 


MB37 


21 


RJ 


MB24 


MB22 


22 


MJ 





MG4 . 


23 


TP 


MC16 


ME13 1 


24 


MJ 





MJ20 f 




CA 


MJ25 


J 



Is next symbol ( ? Yes, go to 
alarm 21 

Is level = 0? Yes, go to alarm 22 

No: store SZ2-14 — >SY2-14 WORK- 
W0RK12 

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 con- 
stant 

Convert XS3 decimal no. to fixed 
pt. octal no. 

Assign constant CW 

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. 



519 







IA 


MK 




Bef .Go 





RA 


ME17 


MC14 


To EndP 


1 


TP 


MC32 


ME13 I 




2 


TP 


SY2 


SZ2 ( 


Go To 
End 


3 


RJ 


MB37 


MB34 J 


4 


TP 


MCI 2 


A 1 




5 


TJ 


ME17 


MF121 ] 




6 


RS 


EW3 


MC40 S 




7 


AT 


MC14 


A 




10 


TV 


A 


WL { 




11 


RJ 


WT 


WT1 f 




12 


MJ 





MG 






CA 


MK13 


J 






IA 


ML 




Bef. 





RJ 


MB24 


MB22 


Extra,/ 


1 


TP 


MC12 


ME15 


Extra 


2 


RJ 


SY 


SY1 




3 


TP 


SZ2 


A ^ 




4 


EJ 


MC5 


ML11 J 




5 


EJ 


MC4 


ML13 




6 


TP 


SY2 


A 1 




7 


EJ 


MCI 


MK J 




10 


MJ 





ML2 


NOCH 


11 


RA 


ME15 


MC14 




12 


MJ 





ML2 




13 


TP 


MC14 


A 1 


ME MR 


14 


TJ 


ME15 


ML20 j 




•■ r- 


mn 


rv*rc\ 


■ > 




ij 


ir 


D16 


rt \ 




16 


EJ 


MCI 


MK1 J 




17 


MJ 





MG4 


Most 


20 


RS 


ME15 


MC14 




21 


MJ 
CA 



ML22 


ML2 



Adv. Level Meter 

Write A . in string-out 

Is Level Meter = 0? 
No, go to alarm 4 

Send string-out to tape 
Exit 



\ END 



J 



Restore SY2-14 

Put zero in "extra Level Meter" 

Get next symbol 

Is symbol at hand ( ? 

Is symbol at hand ) ? 

Is next symbol A . ? 

Adv. extra Level Meter 

Is extra Level Meter > 1 ? 

Is next symbol A . ? 

Go to "bef. get next" 

Reduce extra Level Meter by 1 



520 



Subroutines 



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 



IA 
TV 

MJ 
TP 
TP 
RJ 

TP 
RJ 
MJ 
RJ 
TU 
TU 



RJ 
MJ 
RP 
TP 



RP 
TP 
MJ 
RP 
TP 
MJ 
TP 
ST 



ZJ 

TU 
TU 

RJ 

MJ 

TU 

TU 

RJ 

MJ 







TP 

EJ 

MJ 



MB 
ML16 



30000 

30000 

EW 

ME14 

EW 



MB54 

MC25 

MG30 



MB7 


30013 
SY2 



30013 

SZ2 



30013 

ME 



MC5 

SY2 



MG4 

MC10 

MC11 

MB7 



MC6 

MC7 

MB7 









MC5 

SY2 





MG4 

MG10 
EW2 ^' 
ME 14 
EW1 



EW2 

EW1 

30000J 

MF 

MB2 

MB3 



> 



^1 



> 



MB2 
MH2 
MB17 
ME 



> 



MB21 
SY2 
30000 J 
MB24 I 
SY2 > 
30000 J 

A ^ 
A 



ML1 
MB2 
MB3 



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. 



Write "get next symbol" SZ2-14 
— >SY2-14 and save SY2-14 in 
ME0-12 



MF31 



Write SY2-14 back 



Is next symbol ( ? when no, go to 
get next symbol. When yes, come 
back to RJ 



Place CW and XS3 code in string-out 
when found in Comb. List 



Place CW and XS3 code in string-out 
when CW placed in ME13 



Free 



Alpha-numeric symbol with first 
char, digit (SY not yet moved, OK) 



521 



46 
47 
50 
51 
52 
53 
54 
55 
56 
57 



RJ 
TP 
TP 
RJ 
TP 
RJ 
RJ 
MJ 
TP 
MJ 
CA 



DZ 

YZ1 

WL1 

DP2 

30000 

DP2 

MB 54 



YZ 



MB60 



\ 

UZ1 
UP3 
YZ4 
DP 
DP3 \ 
DP 
MB55 
MG4 
DPS 
MB50 
J 



Error print 



Error count 

heading printed 

text printed 

Exit for RJ used 
Normal exit 

Entry for warnings 



522 



Alarm Entries and Exits 





IA 


MF 







TP 


SZ2 


YY10 


1 


TP 


SZ3 


YY11 


2 


TU 


YY 


MB52 


3 


MJ 





MB 56 


4 











5 











6 











7 











10 











11 











12 


TP 


SZ2 


YB6 


13 


TO 


YB 


MB52 


14 


MJ 





MB56 


15 


TP 


SZ2 


YC4 


16 


TU 


YC 


MB52 


17 


MJ 





MB46 


20 


TP 


SZ2 


YE 5 


21 


TP 


SY2 


YE7 


22 


TO 


YE 


MB52 


23 


MJ 





MB46 


24 


TO 


YF 


MB52 


25 


MJ 





MB46 


26 


TP 


ME24 


YG6 


27 


TO 


YG 


MB52 


30 


MJ 





MB46 


31 


TP 


SZ2 


YH6 


32 


TO 


YH 


MB52 


33 


MJ 





MB46 


34 


TP 


SZ2 


YI2 


35 


TO 


YI 


MB52 


36 


MJ 





MF113 


37 


TP 


SZ2 


YJ6 


40 


TO 


YJ 


MB52 


41 


MJ 





MB46 


42 


TP 


SZ2 


YK6 


43 


TO 


YK 


MB52 


44 


MJ 





MF111 


45 


TP 


SZ2 


YM6 


46 


TO 


YM 


MB52 


47 


MJ 





MF111 


50 


TP 


SZ2 


YL10 


51 


TU 


YL 


MB52 


52 


MJ 





MB46 


53 


TP 


SZ2 


YN6 


54 


TO 


YN 


MB52 


55 


MJ 





MF107 


56 


TP 


SZ2 


Y04 


57 


TO 


YO 


MB52 


60 


MJ 





MF107 



Warning alarm 1 



Free 

Warning alarm 2 
Alarm 1 

Alarm 3 

Alarm 4 
Alarm 5 

Alarm 6 
Alarm 10 

Alarm 11 
Alarm 12 
Alarm 14 = 12A 
Alarm 13 
Alarm 15 
Alarm 16 



523 



61 


TP 


SZ2 


YP4 > 




62 


TO 


YP 


MB52 


Alarm 17 


63 


MJ 





MB46J 




64 


TP 


SZ2 


YQ5 >j 
MB52 > 




65 


TU 


YQ 


Alarm 20 


66 


MJ 


0^ 


MB46J 




67 


TP 


SZ2 


YR4 ^ 




70 


TP 


SZ3 


YR5 


► Alarm 21 


71 


TO 


YR 


MB52 


72 


m 





MF107, 




73 


TP 


SZ2 


YS4 n 




74 


TP 


SZ3 


YS5 1 


Alarm 22 


75 


TO 


YS 


MB52 


76 


MJ 





MB46 J 




77 


TP 


SZ2 


YT6 v 




100 


TP 


SY2 


YT7 1 


Alarm 23 = 1A 


101 


TO 


YT 


MB52 f 




102 


MJ 





MB46 J 




103 


RJ 


MB54 


MF20 > 
ML1 ) 










Alarm old 2 = 


104 


MJ 







105 


TP 


SZ2 


YH6 \ 




106 


TO 


YH 


MB52 I 




107 


RJ 


MB54 


MB46 f 


Alarm 6A 


110 


MJ 





ML1 J 




111 


RJ 


MB54 


MB46 V l 
MB25 J 




112 


MJ 







113 


RJ 


MB54 


MB46 ) 




114 


MJ 





ML / 




115 


RJ 


MB54 


MF61 \ 
MI17 J 


Alarm 17 


116 


MJ 





117 


RJ 


MB 54 


MF37 \ 

MI17 J 


Alarm 11 


120 


MJ 





121 


RJ 


MB54 


MF24 \ 
MG 1 




122 


MJ 







123 


TO 


YD 


MB52 "j 




124 


RJ 


MB54 


MB46 


► Alarm 2 (firs 


125 


MJ 
CA 



MF126 


MG J 





524 



Warning Alarm 1 





IA 


YY 










YY1 





1 


40 


YY2 


11 


2 


26 


51474 


72401 


3 


24 


65656 


74730 


4 


27 


01525 


43026 


5 


30 


27345 


03201 


6 


77 


77777 


77777 


7 


77 


77777 


77777 


10 











11 











12 


01 


22777 


77777 




CA 


YY13 





Comma assumed preceding symbol[ J 



SZ2 

SZ3 



Warning Alarm 2 





IA 


YB 










YB1 





1 


40 


YB2 


16 


2 


66 


73523 


02701 


3 


70 


24466 


73001 


4 


51 


31013 


16750 


5 


26 


66345 


15001 


6 











7 


01 


47247 


30150 


10 


51 


66010 


10101 


11 


01 


01010 


10101 


12 


01 


01010 


10126 


13 


51 


54543 


06552 


14 


51 


50270 


16651 


15 


01 


65662 


46630 


16 


27 


01245 


43267 


17 


47 


30506 


66522 




CA 


YB20 





Typed value of function[ ] may not 
correspond to stated arguments. 



SZ2 



525 



Alarm 1 





IA 


YC 










YC1 





1 
1 






1U 


2 


65 


73472 


55146 


3 


01 


77777 


11111 


4 











5 


01 


34464 


63032 


6 


24 


46013 


45001 


7 


66 


73523 


00165 


10 


30 


50663 


05026 


11 


30 


22777 


77777 




CA 


YC12 





o i i r~ T.r-i-1- ■• 

oymuvL |_ j illegal 

in type sentence. 



SZ2 











Alarm 2 




IA 


YD 












YD1 







1 


40 


YD2 


13 




2 


31 


34546 


56601 


Firs 


3 


65 


73472 


55146 


Senti 


4 


01 


65522 


42630 




5 


01 


52513 


45066 




6 


22 


01653 


05066 




7 


30 


50263 


00150 




10 


51 


66013 


16754 




11 


66 


33305 


40101 




12 


01 


01010 


10101 




13 


01 


01010 


12633 




14 


30 
CA 


26453 
YD15 


02722 





First symbol space point. 
Sentence not further checked, 



526 



Alarm 3 





IA 


YE 










YE1 





1 


40 


YE2 


15 


2 


24 


27442 


42630 


3 


50 


66016 


57347 


4 


25 


51466 


50177 


5 











6 


01 


77777 


77777 


7 











10 


01 


47302 


45034 


11 


50 


32463 


06565 


12 


01 


34500 


16673 


13 


52 


30010 


10101 


14 


01 


01010 


L0101 


15 


01 


01016 


53050 


16 


66 


30502 


63022 




CA 


YE 17 





Adjacent symbols £ ][ ] 
meaningless in type 
sentence . 
SZ2 

SY2 











Alarm 4 




IA 


YF 












YF1 







1 


40 


YF2 


6 




2 


52 


24543 


05066 


Pare 


3 


33 


30653 


06501 




4 


50 


51660 


12651 




5 


54 


54302 


66646 




6 


73 


01524 


62426 




7 


30 

CA 


27227 
YFIO 


77777 





Parentheses not correctly placed 



527 



Alarm 5 





1 

2 

3 

4 

5 

6 

7 

10 

11 

12 

13 

14 

15 

16 



I A 



40 

65 

34 

70 

46 



01 

50 

26 

25 

01 

01 

01 

54 

CA 



YG 

YG1 

YG2 

67256 

52663 

24543 

30017 



33246 

26515 

66015 

30540 

01010 

01010 

65672 

34526 

YG17 





15 

52654 

02701 

42425 

77777 



50134 

45430 

06747 

10101 

10101 

15131 

56526 

66522 



Subscripted variable[ ] has 
incorrect number of subscripts 



ME 24 



Alarm 6 





1 

2 

3 

4 

5 

6 

7 

10 

11 

12 

13 

14 

15 



LA 



40 

24 

67 

01 

46 



01 

34 

65 

66 

01 

01 

24 

CA 



YH 

YH1 

YH2 

46523 

47305 

65734 

01777 



33246 

32346 

01313 

01010 

01010 

01263 

26663 

YH16 





14 

32450 

43426 

72551 

77777 



50127 

60124 

45465 

10101 

10101 

32454 

05422 



Alpha-numeric symbol^ Jhas 
digit as first character. 



SZ2 



528 











Alarm 10 




IA 


YI 












YI1 







1 


40 


YI2 


23 




2 











SZ2 


3 


01 


24525 


23024 


C ] - 


4 


54 


65012 


46501 


subsc 


5 


24 


01316 


75026 


not p 


6 


66 


34515 


00151 




7 


54 


01656 


72565 




10 


26 


54345 


26630 




11 


27 


01010 


10101 




12 


01 


01010 


10101 




13 


01 


01010 


10101 




14 


01 


70245 


43424 




15 


25 


46302 


10125 




16 


67 


66013 


46501 




17 


50 


51660 


15254 




20 


30 


70345 


16765 




21 


46 


73014 


73050 




22 


66 


34515 


03027 




23 


01 


34500 


15254 




24 


51 
CA 


25463 
YI25 


04722 





C ] Appears as function or 

subscripted variable, but is 

not previously mentioned in problem. 



Alarm 11 = Alarm 14 





IA 


YJ 










YJ1 





1 


40 


YJ2 


11 


2 


31 


46512 


46634 


3 


50 


32015 


25134 


4 


50 


66017 


02454 


5 


34 


24254 


63001 


6 











7 


01 


67653 


02701 


10 


24 


65016 


56725 


11 


65 


26543 


45266 


12 


22 


77777 


77777 




CA 


YJ13 





Floating point variable [ ] 
used as subscript. 



SZ2 



529 



Alarm 12 





1 
2 
3 
4 
5 
6 
7 
10 
11 

12 
13 
14 
15 



IA 



40 

52 

01 

66 

73 



01 

24 

66 

01 

01 

01 

66 

CA 



YK 

YK1 

YK2 

65306 

51523 

34515 

47255 



34464 

46013 

73523 

01010 

01010 

01016 

30502 

YK16 





14 

72751 

05424 

00165 

14601 



63022 

45001 

00101 

10101 

10101 

53050 

63022 



Pseudo operation symbol [ J 
illegal in type sentence. 



SZ2 



Alarm 13 




1 
2 
3 
4 
5 
6 
7 

10 
11 
12 
13 
14 
15 



IA 



40 

65 

34 

31 

26 

27 

24 



01 

01 

01 

01 

65 

CA 



YL 

YL1 

YL2 

67256 

52666 

01656 

54345 

01702 

25463 



24543 

01010 

01010 

01010 

65345 

YL16 





14 

52654 

50151 

72565 

26630 

45434 

00177 



00101 

10101 

10101 

14734 

03222 



Subscripts of subscripted 
variable^ J are missing. 



SZ2 



530 



Alarm 14 = 12A 





1 

2 

3 

4 

5 

6 

7 

10 

11 

12 

13 

14 

15 



IA 



40 

46 

73 

34 

47 



01 

24 

66 

01 

01 

01 

66 

CA 



YM 

YM1 

YM2 

34255 

01545 

50300 

25514 



34464 

46013 

73523 

01010 

01010 

01016 

30502 

YM16 





14 

42454 

16766 

16573 

60177 



63032 

45001 

00101 

10101 

10101 

53050 

63022 



Library Routine symbol [ ] 
illegal in type sentence. 



SZ2 



Alarm 15 



TA 



1 40 

2 31 



3 

4 

5 

6 

7 

10 

11 

12 

13 

14 

15 

16 

17 

20 

21 



50 

50 

34 



01 

24 

26 

01 

01 

65 

01 

01 

54 

01 

25 

CA 



YN 
YN1 
YN2 
46512 

32015 

66017 

24254 



67653 

65013 

66345 

01010 

01010 

73472 

51540 

65672 

34526 

70246 

46302 

YN22 





20 

46634 

25134 

02454 

63001 



02701 

16750 

15001 

10101 

10101 

55146 

12465 

56526 

63027 

43424 

27777 



Floating point variable [ ] 
used as function symbol 
or as subscripted variable. 



SZ2 



531 



Alarm 16 





IA 


Y0 










YOl 





1 


40 


Y02 


16 


2 


65 


67256 


52654 


3 


34 


52660 


17777 


4 











5 


01 


24525 


23024 


6 


54 


65012 


46501 


7 


31 


67502 


66634 


10 


51 


50015 


15401 


11 


01 


01010 


10101 


12 


01 


01010 


10101 


13 


01 


01010 


10101 


14 


65 


67256 


52654 


15 


34 


52663 


02701 


16 


70 


24543 


42425 


17 


46 


30227 


77777 




CA 


Y020 





Subscript [_ ] appears as 
function or subscripted 
variable. 
SZ2 



532 











Alarm 17 




IA 


YP 












YP1 







1 


40 


YP2 


11 


Subscript^ ] used a 


2 


65 


67256 


52654 


argument of a functi 


3 


34 


52660 


17777 




4 











SZ2 


5 


01 


67653 


02701 




6 


24 


65012 


45432 




7 


67 


47305 


06601 




10 


51 


31012 


40131 




11 


67 


50266 


6345^ 




12 


50 


22777 


77777 






CA 


YP13 




Alarm 20 




IA 


YQ 












YQ1 







1 


40 


YQ2 


10 


Function symbol [_ ] 


2 


31 


67502 


66634 


appears as subscript 


3 


51 


50016 


57347 




4 


25 


51460 


17777 




5 











SZ2 


6 


01 


24525 


23024 




7 


54 


65012 


46501 




10 


65 


67256 


52654 




11 


34 
CA 


52662 
YQ12 


27777 





533 











Alarm 21 






IA 


YR 














YR1 









1 


40 


YR2 


17 


Constant q j appears as 




2 


26 


51506 


56624 




3 


50 


66017 


77777 


function or subscripted 


variable 


4 











SZ2 




5 











SZ3 




6 


01 


24525 


23024 






7 


54 


65012 


46501 






10 


31 


67502 


66634 






11 


51 


50015 


15401 






12 


01 


01010 


10101 






13 


01 


01010 


10101 






14 


01 


01010 


10101 






15 


01 


01016 


56725 






16 


65 


26543 


45266 






17 


30 


27017 


02454 






20 


34 
CA 

IA 


24254 
YR21 

YS 


63022 


Alarm 22 










YS1 









1 


40 


YS2 


15 






2 


26 


51506 


56624 


Constant q -j appears as 




3 


50 


66017 


77777 


variable to be typed 




4 











SZ2 




5 











SZ3 




6 


01 


24525 


23024 






7 


54 


65012 


46501 






10 


70 


24543 


42425 






11 


46 


30016 


65101 






12 


25 


30010 


10101 






13 


01 


01010 


10101 






14 


01 


01010 


10101 






15 


01 


01010 


10101 






16 


66 

CA 


73523 

YS17 


02722 







534 











Alarm 23 = IA 




IA 


YT 












YT1 







1 


40 


YT2 


10 


Negative 


2 


50 


30322 


46634 




3 


70 


30016 


56725 




4 


65 


26543 


45266 




5 


01 


77777 


77777 




6 











SZ2 


7 











SY2 


10 


01 


34464 


63032 




11 


24 
CA 


46227 
YT12 


77777 





Headings for Warnings and Alarms 





IA 


YZ 










YZ2 


7 


1 





YZ2 


5 


2 


65 


30506 


63050 


3 


26 


30010 


17777 


4 











5 


01 


01011 


76673 


6 


52 


30430 


10177 


7 


71 


24545 


03450 


10 


32 


21010 


17777 




CA 


YZll 





Sentence no. 
Sentence A A C lAAA 
(Type) A A 

Warning, A A 



535 











Constants 




IA 


MC 












1 





u adv. and CW for ( 


1 


01 


22777 


77777 


XS3 code of A . 


2 


23 


77777 


77777 


XS3 code of ; 


3 


21 


77777 


77777 


XS3 code of , 


4 


43 


mil 


77777 


XS3 code of ) 


5 


17 


11111 


77777 


XS3 code of ( 


6 

7 






ME13 
SZ2 


MG75 \ 
MG4 ; 


For symbols with CW in ME13 


10 





TA4 


MJ \ 

o ; 




11 





TA3 


For symbols found in Comb. 


12 











Zero 


13 


40 








Indicator 


14 








1 


One 


15 








2 


Two 


16 








75000 


For Dummy CW 


17 








64000 


For CW fixed point variable 


20 








65000 


For CW single val. 


21 








66000 


For CW function 


22 








77000 


For CW and mask 


23 








77777 


Mask 


24 





77777 





Mask 


25 





MC26 





Address of CW for comma 


26 








40 


CW for comma 


27 





3 





For adv. u 


*ir\ 


n 


o 


r\ 


rr» _ -i . « /-<tiT » 


ov 


v/ 


l~ 


\j 


rui" ciuv. u anu \~>n last par. 


31 








70000 


Mask for pseudo op 


32 








120 


CW for A 


33 


24 


50277 


77777 


"and" 


34 


02 


77777 


77777 


"-— " XS3 lower case 


35 





77777 


77777 


" — " XS3 upper case 


36 





WL3 


WL3 


Constant for EW3 


37 








40000 




40 



CA 


WL 
MC41 


WL 





536 



Temporaries: Type String-out 



ME 0-12 Storage for SY2-14 

13 Temp, storage for CW (call word) 

14 Temp, storage for new MB3 

15 Extra Level Meter 

16 Word index 

17 Level Meter 

20 Index "inside subscripted variable" 

21 Index "inside subscripted function" 

22 Counter for subscripts 

23 Stored value for number of subscripts 
ME 24 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 in- 
formation 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 in the Unicode manual, including the proper use of commas where 
required. 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. The texts 
of all error typeouts are included in the annotated coding. 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 Uni- 
servo 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 stored in the list exactly 
as they are to be transferred to the listing tape. 

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 1 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 



O 



C/5 

Q 

8 



o 
CM 



W 

8 

•J 

CQ 



Q 

8 



o 

CM 



H 
W 

id 



•J 
CQ 



Q 

8 



o 

CM 






CQ 



LZ 

LZ4 

LZ10 

LZ14 

LZ20 

LZ24 
LZ30 

LZ34 
LZ40 
LZ44 
LZ50 
LZ54 
LZ60 
LZ64 
LZ70 



4 WORDS 



TITLE 



} 



1st 
2nd 
3rd 
4th 
5th 
1st 
2nd 



Col. Hdg. -j 

[ 1st Col. Hdg. -j 
Col. Hdg. I \ 1st Col. Hdg. 

| 2nd Col. Hdg. J 
Col. Hdg. j [-2nd Col. Hdg. 

I 3rd Col. Hdg. : 
Col. Hdg. | 

\ 4th Col. Hdg. 
Col. Hdg. J 



3rd Col. Hdg, 



- 3rd 
4th 
5th 



Var. 
Var. 
Var. 
Var. 
Var. 



- 1st Var. 

► 2nd Var. 
3rd Var. 

► 4th Var. 



1st Col. Hdg.. v lst 

I COLUMN 
2nd Col. Hdg. J HEADING 



J 



► lst Var, 
2nd Var 



3rd Var 



} 



- lst Var. 
2nd Var. 



> lst 

VARIABLE 
NAME 



Figure 1. Heading List Format 



1st Word 



FORMAT OF EDITED TITLE BLOCKETTE 



20th Word 



117-109 107-97 95-85 83-73 71-61 59-49 47-37 35-25 23-13 11-1 



2-12 14-24 26-36 38-48 50-60 62-72 74-84 86-96 98-108 110-119 



One blockette (120 XS3 characters) 



CJI 



The numbers 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 
^ 



Z\ 



2l! I9i I7il5i 13 

I i I I 



i — 



2nd Word 



— > 



i i I i i — 
Hi 9 I 7 i 5" 3i 1 
i l I ■ i 



r 



3rd Word 



^v 



~-\ 1 f 1 1 

2 i 4 i 6 i 8 I 10 I 12 

_! I I I I 



4th Word 

/ /k - 



-^ 



i — i — i — 
14 1 16 1 18 1 20i22i 23 

I i i I i 



.Decimal point of associated floating point numbers 
in listing 



Fixed Point Quantities (position about assumed point) 



IstWord 



23| 22.2H 20119 

i I i I 



r 



2nd Word 



3rd Word 



4th Word 



10[ 8 j 6 j 4 ! 2 ! 1 

I I I I I 



18i17i16i 15il4|l2 

i i i i i 



3 I 5 l 71 9i 11' 13 

i I I i I 



Assumed point to right of associated fixed 
point numbers in listing 



->• 



The numbers 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 



Oi 

to 




StartX— > 



Preset 
stringout 



Q> 





List String-out (Variable Phase) 



Yes 



SYMBOL = \ No ( SYMBOL^ No s~\ f SYMBOL = \Yes 
comma or ) — — -M Tape? H— H 
semi-colon? J v 



SYMBOL- Ves^ 
open i H 

parenthesis? 



Alarm #4 



No 




(3> 
Advance ^->^ V_y 

parenthesis — *\3j 



level 



V String- 



SYMBOL =^nq 
close J ^^ 
parenthesis?/ 



Alarm #6 



-0 




Yes 



Decrease 

parenthesis 

level 



Close 
[parenthesis on' 
l evel zer o?. 

Yes 



Alarm #5 





variable? 



Yes 



No 



Alarm #1 



Alarm #2 



Yes f SYMBOL - 
constant? 



No 



Yes/ SYMBOL = 
space-period? 



Alarm #3 «e 



No 



r SYMBOL — 

comma or semi' 
V colon? y 



yes: 



/^\ / SYMBOL 
symbol/ — K3^\ "tape"? 



No 



6 



yes/ "Tape" on 
parenthesis 
le vel zero ?> 

No 



Alarm #7 



<•> 



Yes 




22 



<D 



^0 




Check for legal 
variable sym. 




<?> 



Number char- 
acters in 
symbol >6' 



No 



Yes 

© 



Alarm #8 



jfes 



Variable in \y e 
combination list' 



No 



<•> 



SYMBOL — 
pseudo 
operation? 



No 



Alarm #9 




SYMBOL — 
subscripted 

variable? 



No 



Yes 



6 



SYMBOL — \ No 
fixed point ) < 

variable? J 



Yes 



© 



SYMBOL A Yes J ^\ 
function?/ ^ — ' 



No 



SYMBOL : 
floating point] 
variable? 



Yes 



® 



GO 




Obtain non-subs 
variable 
call word 







SYMBOL — \Yes/Fixed point var. 
fixed point ) — K file to combinatio 
variable?y \ list 




SYMBOL — 
comma or semi- 
colon? 



Floating pt. var. 
to combination 

list 





Set fix pt. indi- 
cator & advance 
var. count 

Set floating pt. 
indicator & advance 
var. count 




Store XS3 sym, 
for heading edit 




Call word 
to stringout 




No 



Alarm #10 



*® 




Call word 

to 
stringout 




Set floating pt, 
indicator & ad- 
vance var. count 





Store XS3 symbol 
for heading edit 




8A^ 



®* 



Store XS3 
symbol for head- 
ing edit 



Number of 
subscripts -1 
— > Index 



Set subscript 
parenthesis level 
— > zero 



Symbol 
to 
Accumulator 



^9> 



Yes/ SYMBOL = 



open 
parenthesis? 



No 



Alarm #11 



Zeroize count 

of subscripts 

processed 




Get next 
symbol 







SYMBOL = 
variable? 



Yes 



No 



SYMBOL N 

POSSIBLY^ 
constant? , 



Yes 

© 



©- 



Alarm #14 



No 



Advance Subscript 
parenthesis level 
by 1 



No r SYMBOL - \ No 
close y-^_ 

parenthesis?/ 



SYMBOL : 
open 
parenthesis?/ 



.No 



SYMBOL = \ No 
space-period?) 




SYMBOL — 
comma or semi- 
colon? 



Yes 



Alarm #13 



Yes 



® 



en 





VARIABLE =\ No/Check for legal 
"tape"? ) ^variable symbol 



Yes 



Alarm #15 



-® 



Number of > 
characters in 
symbol > 6?V 



No 



Variable in 
combination 
list? 



Yes/^ SYMBOL =^\ Y es 



Yes 



© 




fixed point 
variable? 



No 



© 



^ 


Alarm #20 


Yes/' 


SYMBOL = ^ 


r 


V 


pseudo 
operation? ^ 






No 

















No 



Yes, 



SYMBOL — 
pseudo operation or 
library routine?/ 



No 



© 



Yes 



Alarm #16 



SYMBOL = ^ No 
floating point 
V variable? 



<^SYMBOL^\Yes/Get next 
function?y^\ symbol 



-® 




No 



© 



SYMBOL =^ Yes 
parentnesis? 



No 



Alarm #17 



Alarm #17A 



Delete arguments^ 
of function 



© 




13 



Get next 
symbol 




SYMBOL —^ 

open 
arenthesis?> 



No 



Alarm #18 



^ Alarm #10A 



■^0^ 



Set 
parenthesis 
level = zero 



-& 



© 



No 



® Yes / tlose parenthesis^ 
'^X on level zero? 



/Get next 
symbol 



parenthesis?/ ^— ' 




Yes 



Decrease 
parenthesis 
level 






15 




SYMBOL — ^\ No 
open V 

parenthesis?/ 



Yes 



Advance 

parenthesis 
level by 1 



-® 



SYMBOL^ No f~ 
•tape"? ) — 



SYMBOL 



Yes 



Alarm #15 




Stringout/' 



SYMBOL =• 
fixed point 
variable? _ 



Yej 



No 



Alarm #16 



-® 



Obtain non-subs, 
variable call word 




Fixed point var. 
file to combi- 
nation list 



SYMBOL =^ 
fixed point 
variable? 



No 



Alarm #16 



Yes 



— ® 







SYMBOL = 
superscript 
constant? 



No / Check for fixed 
~*\ point constant 



Convert XS3 

constant to 
octal 





Yes 



Alarm #21 



-*® 



Advance count of 

subscripts f* 
processed 



Octal constair 
to constant 
pool 



Store XS3 sym for 
heading edit 



Call word 
to string-out 



Get next 
symbol 



SYMBOL— ^ 
comma or semi- 
colon? . 



No 



Yes 



® 



SYMBOL = \No 
space-period?) 



SYMBOL— \ yes 
close 



parenthesis?. 



*<19^- 



Close parenthesis 
on level zero? 



Yes 



Alarm #12 




No 



No 



Alarm #22 



© 



No 



( SYMBOL — 
i comma or semi- 
V colon? 



Get next 
k symbol 



Yes 



d> 



*(19 



Yes 



Store XS3 symbol 
for heading edit 



Yes/Correct number of 

valid subscripts 
.for subs. var„? 



G> 



No 



Alarm #23 




20 



SYMBOL— \Yes 
space-period?) ^ 



No 




Alarm #25 



^@ 



CD 




Function call 
word to string- 



out 




Set floating 
pt. indicator 
& advance var. 
count 




Store XS3 symbo 
for heading edit 




Get next 
symbol 




SYMBOL — 

open 
parenthesis?/ 



No 



•® 



Q> 



Save arguments 
of function 



Yes 



Alarm #26 



Subroutine to Process Arguments of Function (Referenced by Alarms #17A & #26) 



en 

sO 




Set function 
parenthesis level 
to zero 



Function Sym- 
bol to temp, 
storage 




(2ltf 



Get next 
symbol 




SYMBOL =^\ yes Decrease 
close )^ function 
parenthesis^/ P ar ^* sis 



No 




Close parenthesis 
on level zero? 




No 




SYMBOL = 
open 
parenthesis' 



Yes 



Advance 
function 
parenthesis 
level by one 



No 



<^SYMBOL^\ No 
"tape"? ) 



Yes 



Alarm »27 



SYMBOL = \1fes 
space-period? 



No 
[21^ 




List Stringout (Tape Designation Phase) 



en 
Oi 
O 




Get next 
symbol 




Symbol following 
word "tape" = 
space-period? 




No 



Symbol following 
word "tape" = 
w constant? 



Yes 



© 



No /Symbol following 
word "tape" = 
variable? 



%(■ 
X 



No 



Ye 



(Symbol following 
word "tape" = 
..comma or semi-colonj! 



No 





Symbol following ^ 

word "tape** = open 

parenthesis? 



No 




Symbol following \ No 
word "tape** = close 
parenthesis? 





'Check for legal 
24) — >( variable symbol 




Number s 

characters in 

symbol>6?> 



Yes 



NoVVariable in \Yes 

v combination list?/ 




SYMBOL =A No 



No 

® 



fixed point 
variable? 



Yes 



Call word to 
Accumulator 







Alarm *36 ^ 



SYMBOL — 
library routine?] 



No 



Symbol — 
pseudo operation? 




Yes 



Alarm #34 






SYMBOL = 
fixed point 

variable?^ 



Yes 



Obtain non-subs, 
variable call word 





ixed point 
var. file to 
Combination 
List 



SYMBOL = 
fixed point 




Yes 



•® 




Tape Number 
fixed point 
2,3,4,5,6,7,8,9, 
or 10 ? 





No f Tape Number =T\ No 
fixed point one? j 



Check for fixed 
point constant 




Stringout 
exit 





Stringout 
exit 



en 
to 




Convert XS3 

constant to 

octal 




Octal constant 
to constant 

pool 



(£y 



^8A)— > 



Tape Number 
call word to 
stringout 



Alarm #57 



No 



Printout made\ 
previously? j 






Yes 



® 



Yes 



Tape Number 

call word ii 
rewind list?/ 



Yes 



Maximum number of 

call words in re- 
wind list? . 




No 



List Stringout (Tape Designation Phase, Cont.) 



©- 



Tape number 
call word to 
rewind list 




30 



Get next 
symbol 




SYMBOL— Y_No 
space-period?) 



Yes 



® 



SYMBOL — 
comma or semi- 
colon? . 



Yes 



© 



No 







Alarm #40 « 



No 



SYMBOL — 

c lose 
parenthesis'^ 




Yes 



Alarm *39 



No 



SYMBOL =r 
open 
parenthesis?/ 




©- 



Number of errors 
in this sentence 
— > accumulator 




Have there been 
alarms in sentence? 



No 




List Stringout (Heading Phase) 



Preset 

heading 

phase 



-©— < 



<A11 variable^ 
names edited? 



Yes 



No 



Variable indicator 
word — > input of 
edit variable 
subroutine 




Edit variable 
name 




Advance assembly 
block address to 
address for next 
variable name 



en 



©- 



Current 
symbol — » 
accumulator 





35 



Get next char- 
acter 



'CHARACTER^ pei 
parenthesis? 



Ye! 



No 



Preset title 
section 



-m 



Get next 
character 




(§> 



Store XS3 character 
for heading edit 



^o f Close parenthesis \Yes/^ CHARACTER = 
37 H~ ( on lfivfti 7Pm? r^ ( close 

>arenthesis? 



Yes 



® 



No 



en 

cn 
CJi 




CHARACTER = 

open 
parenthesis?^ 



N , CHARACTER ^K Y es / Store XS3 character 
-^-^ space (A)? ) > \ for heading edit 



Advance 
parenthesis 
level by 1 




Get next 
character 



No 



*® 




CHARACTER ^= A y es / Edit 
close J »\ title 
parenthesis?^ / 



No 



Alarm #47 



*@ 




*® 



Get next 
character 



List String-out (Heading Phase, Cont.) 



Ol 




Get next 
character 



\ > ftj\ J Get next 
/^Vl-/\ symbol 




SYMBOL = 
comma or 
semi-colon? 



No. 



SYMBOL 
open 
>arenthesis^/ 



No. 



SYMBOL ~\No 
space-period?) 



Yes 



®- 



Yes 



Yes 



Zeroize 
assembly 
block 





close 
parenthesis?, 

|no 



Warning 
#49 



@^ 



Preset column 
heading section 



-^2aV^ 



Advance column 
heading count 



>©-* 



Store XS3 
for head 



character \. /45 V No J C1 
ing edit / V_y \ — 



Next character to 
accumulator 




CHARACTER 
space? 



No 



CHARACTER 

— 
>arent 



= open 
nesis? 



Get next 
character 




Yes 



© ®- 




No 



CHARACTER 

close 
>arenthesis? v 



Yes 



Yes 



Advance 
parenthesis 
level by 1 



a 



List Stringout (Heading Phase, Cont.) 



en 

Ol 




Close parenthesis 
on level zero? 



Yes / Edit column 
heading 



No 



© 



<3n 



Warning 
*45 



No 



Get next 
character 



SYMBOL = 
close 
>arenthesis?. 



No 



Yes 



Warning 
»44 



\ ^^ at\ ^/ ^ et next 

/vl/\ s y mbo1 




Yes 



SYMBOL — 
comma or 
semi-colon? 




No 



SYMBOL — A No 
open 
parenthesis? 



SYMBOL = 
space-period? 



Yes 



Yes 



Zeroize 
assembly 
block 



^@ © 



/^ ^ / Store XS3 charact 
V3/\ for heading edit 



ter 




Get next 
character 




CHARACTER 
— period? 




No 



© 




49 



Are there 

column 
headings? 




No 



Is there a 
title? 



No 



End List String-out 



Yes 



Heading list (title, 
column headings & 
variable names) to 
stringout 



Set heading 
word count 
to 6O10 



-© 




CD 



®- 



Is there a 
title? 





Heading list (title 
& variable names) 
to stringout 



^*(S2\-+ 



Set heading 
word count 
to 40io 



Heading list (column 
heading & variable 
names) to stringout 



^0 



®- 



Heading list 
(variable names) 
to stringout 



Set heading 
word count 
to 20 L o 



->(5<lY_> 



Fast feed 1 symbol 
to first character 
of headings in 
stringout 



Number of words in 
stringout to first 
word of stringout 




Send stringout 
to tape 




List Subroutine to Send Call Word to Stringout 




Send call word from 
"Q" register to in- 
put of stringout 
subroutine 




Stringout subroutine to 
send call word to string- 
out 




List Subroutine to Advance and Check Variable or Column Heading Count 



Oi 
en 




Preset for 

floating point 
indicator 



Preset for 
floating point 
character limit 



-^5?) 




Preset for 
fixed point 
indicator 



Preset for 
fixed point 
character limit 



-*® 



List Subroutine to Advance and Check Variable or Column Heading Count, Cont 




Is five greater 

than the number 
of variables? 




Yes 



SYMBOLANo 
tape"? 




Yes 
22^ 



SYMBOL = 
space-period?; 



Yes 



No 



en 
O 



©- 



Advance 
variable 
count by 1 



Fixed or floating 
point indicator to 
variable indicator 
word 



Preset subroutine to 
"store XS3 character 
for heading edit* 
for variable name 



-*© 





Number of variables\ Ye s 



> number of 
column headings?,, 



@_ 



No 



Warning 
#52 



Advance column 
heading count 
by one 




Preset subroutine to 
"store XS3 character 
for heading edit" for 
column heading 



Zeroize 

character 

count 



Preset 

character 

shift 



Preset index to check 
if assembly block word 
is full 



< ~@^ e ~ 



List Subroutine to Store XS3 Character for Heading Edit 




Variable 
entrance 



No 



Warning 
#53 



Reset entrance 

to by-pass 
this routine 



01 




Current word in 
assembly block 
full? (check index 



\Yes_ 




23io > number of 
characters in 
variable name? 



Yes 



Advance 
character 
count by 1 



-©-* 



®- 



Decrease 
shift count 
by six 


— > 


Shift character 
to position 
in accumulator 












Decrease 
index 


< — 


Add character to 
current word in 
assembly block 


«— 



->© 



Advance current 

assembly block 

address 



Reset shift 
count to 36io 



Reset index 
to five 





Column 

heading 

entrance 



3^0 > number of 
characters in col 
umn heading? 




Reset entrance 

to by-pass this 

routine 



-*© 



Yes 



© 



List Subroutine to Store XS3 Character for Heading Edit, Cont 




Title \ 
entrance 



119 10 > number of 
characters in 
title? .. 



No 



Warning #55 



Reset entrance 

to by-pass 
this routine 



-© 



Yes 



01 
o 
ro 



6^ 



Advance title or 
column heading 
character count 
by one 



Character to 
register 



u® 



List Subroutine to Store XS3 Symbol for Heading Edit 



Sub 
•outi 
itran 







Number of char- 
acters in symbol 
to index counter 








— > 


XS3 symbol 
to temporary 


ce \ 












Store XS3 char- 
acter for heading 
edit 




-s/63)-*. 



XS3 character to 
"v M address of 
"Q" registe r 



No 



Decrease index 
by one 



''All characters in 
symbol transferred to 
assembly block? 




List Subroutine to Edit Title 




Preset heading 
list address 
*| (box 3) to middle 
address of title 
section 



Divide number of 
characters in title 
^1 by l2io=#>number °f 
full words in 1/2 
title to "Q M register 




Is there a 
partial word in 
1/2 of title? 



,Yes 



Advance count of 
words in 1/2 title 

by one 



No 



®- 



Ol 

o 

GO 



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 



(65)— * 



Multiply total number of 
words in 1/2 title by two 
=^ > number of words of title 
when centered in title 
section of heading list. 



Number of words 
less one to index 
counter (Box 4) 




Number char- \ yes 
acters in title] > j 

10° 



= 11<W 



Transfer 119 10 char- 
acter title from assem- 
bly block to heading 
list without further 
editing 




List Subroutine to Edit Title, Cont 



©— 



Add three to the 
number of characters 
in the title — > A 



Divide the 

the sum by 

two 






Divide quotient by six. 
Remainder equals number of 
characters to shift in 
editing title to center in 
title section of heading 
list 



Preceding 
quotient=number 
words in edited 
title 



A 



Number characters^ 
to shift equal )" 
V, zero? y 



Yes 



<3>- 



Transfer title from 
assembly block to head- 
ing list without further 
editing (i.e., already 
centered) 



No 



© 



Preset address 
first title wordk 
in heading list 




Two > number of \N°, 
characters to shift?' ** 



Preset box 1 to 
address of first 
word in assembly 
block 



Yes 



Preset box 1 to 
address of second 
word in assembly 
block 



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 



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 44 Q 



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 
^Ito heading list 



Advance assembly block 
address in box 1 & box 
2 by one and heading 
list address in box 3 
by one 



Box 4 



CJl 



List Subroutine to Edit Variable or Column Heading 



Input is variable^ 
indicator word 




Advance available 
address in heading 
list to address for 
next variable 



"~1 



No 



Decrease index by 
one. All of edited 
title in heading listj 




Yes 



L. 



<s> 



Preset address 
for next variable 
in heading list 
(box 3) 



Preset box 1 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 indi- 
cator word to input 
line and accumulator 



List Subroutine to Edit Variable or Column Heading, Cont 




Number of char- ^ No 
acters in variable 
= 23io? 





Is this floating 
point variable? 




No 



® 



l3iQ> number \ No 
of characters?] 



Yes 



® 



Preset index counter 
(box 4) to three to 
provide for transfer- 
ring four words to 
heading list 



-© 



®-* 



en 



Preset index counter 
(box 4) to one to pro- 
vide for transferring 
two words to heading 
list 




> number of 
characters? 



Yes 



® 



No 



Advance heading list 
address in box 3 by 
one 



^10 > num ber of 
characters? 



Yes 



© 



-<5>- 



Number of characters 
in variable name (or 
column heading) plus 
three to accumulator 



No 



Preset index counter 
(box 4) to three to 
provide for transfer- 
ring four words to 
heading list 



Divide preceding 
sum by two & send 
quotient to ac- 
cumulator 



© 



- -® 



@— 



Preset index counter (box 4) 
to two to provide for trans- 
ferring three words to head- 
ing list 



Advance heading list 
address in box 3 by 
one 



-® 



List Subroutine to Edit Variable or Column Heading, Cont, 



<SH 



Preset index counter 
(box 4) to one to pro- 
vide for transferring 
two words to heading 
list 



Advance heading 
list address in 
box 3 by two 



-*©-* 



Number of char- 
acters to accumu- 
lator 




IQ > number 
of characters? 



No 



Number of char- 
acters + one to 
accumulator 



Yes 



*® 



-© 



©- 






Divide number of 
characters in vari- 
able name by two 



Quotient plus 
two to accumu- 
lator 



-^77)-> 



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 



-® 



(78)-> 



Preset shift 
count in box 
2 




Seven > 
shift count? 



Yes 



No 



Advance address in box 
1 by one to address of 
first variable word in 
assembly block 



Zero to 
accumulator 



Advance address in box 
2 by one to address of 
second variable word in 
assembly block 



*® 



List Subroutine to Edit Variable or Column Heading, Cont. 



Box 1 



Box 2 



Current variable word 
for editing from assem- 
bly block to accumulator 



& shift left 44 



8 



"*©-* 



Add next variable word from 
assembly block to accumulator 
& shift left preset amount to 
position edited word in left 
half of accumulator 



Box 3 



Edited variable 

word to 
heading list 



a- 

CO 



®* 



Box 4 




All edited variable 
words transferred to 
heading list? 



Yes 



No 



•® 



Advance assembly block 
address in box 1 & box 
2 by one and heading 
list address in box 3 
by one 



(§>-* 



Preset address of 
first variable in 
assembly block in 
Box 5 



Preset address 
for first vari« 
able word in 
heading list 



Box- 5 



Transfer variable words from 
assembly block to heading 
list (i.e v already positioned 
over decimal point) 



-Ks> 



Sub- 
routine, 

exit