PX1790_unicod Cmp Tec V2_Apr61 PX1790 Unicod V2 Apr61
PX1790_unicodCmpTecV2_Apr61 PX1790_unicodCmpTecV2_Apr61
User Manual: PX1790_unicodCmpTecV2_Apr61
Open the PDF directly: View PDF .
Page Count: 632
Download | |
Open PDF In Browser | View PDF |
TECHNICAL DOCU MENTATION for UNICODE Automatic Programming System for Univac Scientific 1103A and 1105 Volume II April, 1961 PX 1790 DIVISION UNIVAC OF SPERRY RAND CORPORATION PARI, ST. PAUL 16, MINNESOTA VOLUME I Page Table of Contents I. II. INTRODUCTION. 3 GENERAL 1. 2. .3. 4. 5. 6. III. . . I-v UNICODE Service Routines. . 7 Library Routines. . • . • . . • • . • . 49 UNICODE System Tape Package . 123 UNICODE Sample Coding . . . . . • . . . 153 UNICODE Card Input. . • 163 Statistical Miscellany. . 185 TRANSLATION AND CORRECTION 1. 2. 3. UNICODE Sentinel Blocks •. Tape Merge . . . • . . • Translation Phase a. Translation Subroutines . . b. Translators . • • • . . · 203 217 · 291 · 434 VOLUME II Table of Contents • • . • . . . . • • • • . II-v III. TRANSLATION AND CORRECTION 3. IV. Translation Phase b. Translators (cont.) • • . . • • • • 569 GENERATION PHASE 1. 2. 3. C~neration Set-up and Dr~T. Loader . . . 949 Generation Subroutines. . . 959 Generators . . . . . . • • • • • . . . • 1013 VOLUME III Table of Contents . • . . . . . • . • . . III-v IV. GENERATION PHASE 3. V. Generators (cont.) . • . . • . . . . . . 1193 ALLOCATION PHASE 1. Segmentor . . • • • . . . • . 2. Allooator. . . . • . . . . 3. Initialization Generator. 1461 1551 1607 VI. PROCESSING PHASE • . . . 1671 VII. PROGRAM LISTING PHASE. 1747 ......... - ..... ".- vnlllAA~ ..II TABLE OF CONTENTS III. TRANSLATION AND CORRECTION 3. TRANSLATION PHASE b. Translators LIST String-Out (cont.) Coding . • • • • • • • • • • • • • • •• 569 PRINT String-Out Write-Up •• Flow Chart s • Coding • • • 636 638 640 IF String-out Notes • • • • • • • • Flow Charts • • Coding. • • • • • • • 646 664 692 VARY Translation Routine Notes • • • • • Flow Charts • • Coding. • • • • • RESUME String-out Flow Chart • • • • • Coding • • • • 724 729 742 .... JUMJ» String-Out .... Flow Chart s • Write-Up ••• Coding • • • STOP String-Out Flow Chart • • • • • Coding • • • • • • • • Flow Chart- Coding • • • • 773 774 776 777 778 781 782 END OF TAPE String-Out Write-Up • Flow Charts • Coding • • • • • • • • EXIT String-out .... 783 784 788 ........ II-v 792 793 VOLUME II TABLE OF CONTENTS (cont.) START String-Out Flow Chart. • • Coding. • • • . . 794 795 EQUATION Translation Routine Note s • • • • Flow Charts • Coding • • Regions • Setups and Subroutines. Constants and Variables Translation Left. • • Translation Right • Error Prints. • • • • • •• 796 806 .... ... 812 816 823 830 850 893 PSEUDO-OPERATION HEADING Translator Write-Up •• Flow Charts Coding ••• IV. . .......... . . . ... .. ...... .. ..... .... 921 922 928 GENERATION PHASE 1. GENERATION SET-UP AND DRUM LOADER Write-Up Flow Charts • Coding 2. 949 950 952 GENERATION SUBROUTINES Regions • • • • • • • • • Control Generation Computer Error Sentence Heading Error Routine Op Control Subroutine • • • • Write-Up • • Flow Charts • • • • • • • • • Coding • • • • • • • • • Constant Call Word Routine for Generation • Routine to Get Call Word of Referenced Line Number Line Number Check Routine C - Generation • • KI Illegal Line Jump Check Routine - Generation • • LS Library List Routine - Generation ••••• Routine for Conversion of Excess-Three to Flex Code Wr i te -Up • • • • • . • • • • • . • . • . • • • • • II-vi 959 961 969 973 975 977 980 986 989 992 995 999 1002 TABLE OF CONTENTS (cont.) VOLUME II Excess-Three to Flex Code Table • • • Unityper Modifications for UNICODE Flow Chart • • • • Coding • • •• • • • • 3. ..... 1003 1005 1007 1008 GENERATORS START Generator • • • • • • • • • • • • • • • • • • • • • JUMP Generation Wri te-Up Flow Chart Coding IF Generation Notes • • • .. Flow Chart s • Coding PRINT Generation Routine Write-Up. • ••••• Flow Chart • • • • • • • • • • • • • • • • • • • • • • Coding • • • • • • • • • COMPUTE Generation Routine Write-Up • • • • • • • • • • • • • • • • Flow Charts • • • • • • • • • Coding • • • • • • • • • • • • • • • • • • VARY Generation Routine Write-Up • • • • • • • Flow Charts. • • • • • • • • • • • Coding • • • • • • • • • • • • • RESUME Generation • • • • • EXIT Generator • • • TYPE Generator Flow Charts • • • • • • • • • • Coding • • • • • • • • LIST Generator Flow Chart s. Coding • • • READ Generator Flow Charts. • • Coding • • • • • • • sroP Generator Flow Charts. • • • • • Coding • • • • • • • • • • • • • • • • • • • • • • DIMENSION Generator • • • • • • PSEUDO-oPERATlON HEADING END OF TAPE Generation Write-Up. • • •••••••••••••••••• Flow Charts • • • • • • • Coding • • • ... .. . ... ..... ·....· ..... ·... ·... · . .· ·. .. · ..· .. · . . . . . . ·· .. . · . .· .· .. .. · .. · . . · . ·. ·. .. ·.. .·. ..· ··. ... ... ·. . . . . . ·. .· . · ·. .. .. .. . . . .. .. .. ·. .. . . · . . ·. ·. ·· .. .. .. .· . . · . ·. . . ·· .. .. ·..·..·.. · . . . · ·. .. .. ·.. . . . · . .. .. .· .. .. .· .. .. . . II-vii 1013 1016 1017 1018 1019 1027 1033 1045 1047 1048 1051 1054 1060 1072 1073 1084 1100 1105 1107 1115 1126 1136 1145 1153 1161 1166 1174 1176 1178 1180 1183 List String-out Regions (String-out Subroutine Regions also Required) RE RE RE RE RE RE RE DD LA4000 LB40l3 LC4042 MC4067 LD4l0S MD4132 ND4l6S TDAr)l"'7 l1.t:. &...I:.'i,J. • RE RE RE LF424l NF430S LG4344 LH4374 LI444l LJ4503 L04545 LP455l LQ46l2 LR4642 LS4653 LT472l LU4762 LV50ll LW5065 LX5ll4 ZA514l ZB5204 ZC5240 ZD527l ZE5306 ZF5347 ZG 540 4 ZH5444 ZI5503 Z15544 ZK5602 ZL5634 ZM5664 PB5675 PCS730 PD5773 PE6025 PG6040 PH6072 PI6l30 PJ6l63 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 HE PK~6_2Jl PL6253 PM6301 PN6334 569 RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE P06354 PP6405 PQ6445 PR6476 PT654 I PU6603 PV6646 PW6716 PX6743 PY6767 PZ7037 SA 7063 S87125 SC7163 SD7207 SE7245 SF 7306 SG7365 SH7424 S17463 SK7506 SL7550 RE LY7607 RE IZ7660 RE RE WR50023 WP22 Indicators, Counters, Temporaries, etc. Heading List Rewind List Maximum number of Call Words in Rewind List 570 List String-Out Routine 2 IA MJ TV TU LA 0 LW12 LW12 CT LP17 LP23 3 TP LW13 EW3 4 TP LV12 WL5 5 6 7 RP TP TP QS 10074 LA7 LV12 LZ LV22 \ Q } Q 12 12 RP TP CA 10051 LV12 LA13 LB LY Zeroize assem. blk & temps. o IA RJ LB SY SYI Get next symbol (1st six char. sym. 15 EJ EJ EJ TP QJ TP QJ TP QJ EJ EJ EJ EJ LX14 LB LX15 LB LX12 ZA SY7 Q LC yes LB6 no SYll Q LBI0 yes LB12 no SY12 Q LB12 no ZA4 yes LX13 ZA13 LX14 LB22 yes LX15 LB22 yes LX16 ZA17 yes 16 17 20 EJ MJ IJ LX17 21 22 23 MJ RJ EJ 24 MJ TP ZJ o 1 10 11 1 2 CD 3 4 5 6 7 10 11 12 13 14 25 26 Begin List String-out Exit to string-out control Preset add. 1st var. indo word -1 Preset inst. to preset add. in assem. blk. Preset add. of 1st C.W. in S.O. -1 in "'C.W. to S.O." rtn. Zeroize variable count in String-out Zeroize Heading List Set "list'" indicator in fixed location 12. ~ A) o LY44 Sym. = comma? Sym. = semi-colon? 1st var. = -tape-? Yes~Alarm #1 Yare indo ~Q Sym. = variable? Digit or dec. pt. ind.~ Q Sym. possibly = constant? Sym. contains letter ind. ~ Q Sym. = constant? Yes ~ Alarm #2 Sym. = " ~ .-? Yes ---+- Alarm #3 Sym. = comma? Sym. = semi-colon? Sym. = open parenthesis? Yes ~ Alarm #4 Sym. = close parenthesis? No~Alarm #6 Decrease parenthesis level; close parenthesis on level zero? Yes ~Alarm #5 Get next symbol Sym. = tape? Yes ~ tape designation phase LB20 ZA30 LB22 no SY LX12 o ZA24 SYI LB25 o LB4 No~ LY44 A ZA37 no LF yes CD "'Tape" on parenthesis level zero? No~ pri~tout #7 CA 571 Variable Phase (Fix & Fl. Pt. Var. Section) CD 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 IA LC RJ RH TP TP TJ SY2 LV2 SY5 TA 0 TA4 Q LV5 LV5 LV6 LV7 LVIO LV43 RJ MJ TP TP QT EJ EJ EJ EJ TJ MJ TP RHI LY16 A MC6 yes TAl LC17 Q TF2 A LD LE MC6 MC2 0 ZB ZB5 LVII TF TP TP SY2 LV12 RJ TK TFI TF3 TKI TP QJ CA SYIO Me yes LC25 Q Check for legal variable sym. Variable Sym. ~ temp. 6 in "V" --7 A # char. in sym. > 6? Var. in Combination List? Not in List Var. in Comb. List ~ CW --+ Q v 1st two octal digits of CW ~ A Subscripted var. (77---· ) CW? Function (66--- ) CW? Floating point var. (65----- ) CW? Fixed point var. (64---) CW? Pseudo Ope (5----) CW? --+ Alarm #8 No; Library (4----) CW? ~ Alarm #9 Number of words in file (3 in "u")~ 1st line file build-up XS3 sym. ~ 2nd line file build-up Format (zero)--74th line file build-up Obtain avail. last 3 digits for 65-----or 64-- CW Fix. pt. indo ~ Q MC4 no Non-Subs (Fix & Fl. Pt.) Var. Section Fix. Pt. Yare o IA AT MC LVIO TF2 1 RJ 'IE 'lEI 2 RJ LP LP4 3 MJ AT o MC7 TF2 6 RJ RJ LV7 TE LP 7 TP TF2 Q 10 11 RJ LO RJ LR RJ SY LX14 LX15 LOI LRl SYI 4 5 Fl. Pt. Yare 12 13 14 15 EJ EJ MJ CA o TEl LPI LB22 LB22 ZB12 64-- C.W. ~ 3rd line file build-up Add fix pt. var. file-+ Combination List Adv. & ek. var. count & set fix pt. ind. bi t. 65----- C.W.~ 3rd line file build-up Add fl. pt. var. file~ Combination List Adv. & ck. var. count & set fl. pt. indo bit 64--- or 65----- C. W. ~ ~ (input var. list S.O.) 64--- or 65---· C.W.~ var. list S.O. Store XS3 sym.for Hdg. Edit Get next sym. Sym. = comma? Sym. = semi-colon? No. ~ Alarm #10 MC16 572 Subscripted Variable Section ® I 0 IA RJ LD LO 1 RJ LP LOI LPl 2 3 RJ ill ill 1 TV TA5 LY 4 TP LV12 LY45 5 6 7 10 RJ EJ SY LX16 0 LV12 SYI LDlO ZB2l LY46 11 12 13 14 15 16 RJ RJ QJ QJ LR I.Rl SY SYI SY7 Q MD yes LD15 no SYll Q ND yes LD17 no 17 20 21 22 23 EJ EJ EJ EJ EJ LX17 LX13 LX14 LX15 LX16 ND20 ZB27 LD12 LD12 ZC MJ 0 LD25 ZC6 24 MJ TP 1P TP CA 77---- CW ~ Var. List S.O. Adv. & check var. count & set Fl. Pt. Ind. bit Store XS3 sym. for Heading Edit No. of subscripts'-+ Index ctr (cI) Zeroize count of subscripts processed Get next sym. Sym. = open parenthesis? No=> Alarm #11 Set subscript parenthesis level = zero Store XS3 sym. for Hdg. Edit Get next sym. Variable ind. -+ Q Sym. = variable? Digit or dec. pt. ind. ~ Q Sym. possible = constant? (1st cha~ = digit or dec. pt.) Sym. = close parenthesis? Sym. = l:l. .? Yes ~ Alarm #12 Sym. = comma? Sym. = semi-colon? Sym. = open parenthesis? Yes ... Alarm #13 No ~ Alarm #14 573 IA MD o EJ LX12 1 RJ RH 2 4 TP TJ RJ LV2 SY5 TA 5 MJ 0 6 TA4 LV5 LV10 LV7 A ND7 11 TP Q'I EJ TJ 12 12 TJ LV6 ZC21 13 14 15 TJ LV5 13 MJ 0 ZO ZE TJ LV43 ZF6 16 17 20 21 MJ 0 ZF TP TP SYIO MD21 LVII Q ZC21 no TF 22 23 24 TP TP RJ SY2 LV12 TK TF3 TKl 25 26 27 AT RJ TP LV10 TE TF2 TF2 TEl Q 30 31 32 MJ 0 ND7 TP QJ CA SYIO ND11 yes MD33 ZC21 no 11 3 7 10 16 17 QJ ZC14 RU1 A MD31 yes TAl MD17 Q M015 TF! Q Variable = "Tape"? Yes ===0 Alarm #15 Legal variable sym. (No; Alarm string-out subs) 6 in "v" ~ A No. char. in sym. > 6? Var. in Comb. List? Not in list Var. in 1ist~CW ~ CAr 1st two octal digits ofCW -+ A 64--- CW? (Fix Pt. Var.) 4·---- or 5---- CW? (Lib. Rtn. or Pseudo Op.) 65--- CW? (fl. pt. var.) Yes ~ Alarm #16 66--- C.W.? (function) Yes~ Alarm #17 77--- C.W.? (subs. var.)~Alarm#18 4---- C. W.? (pseudo op.) Yes ~ Alarm #20 5---- CW? (library rtn.) ==;> Alarm #19 Fix pt. var. ind.~Q Sym.= fix pt. var2 No ~ Alarm #16 No. of words in file (3 in "u") --+ 1st line file build-up XS3 sym.~ 2nd line file build-up Format (zero) -+ 4th line file build-up Obtain avail. last 3 digits for 64--CW 64---- ew ~ 3rd line file build-up Add fix pt. var. fi Ie ~ Combinat ion Lis t 64---· ew ~ Qv (input for var. list S.O. ) Fix pt. var. ind. --+ Q Sym. = fix pt. var.? No ~ Alarm #16 574 @ o 1 .L IA TP QJ NO SY13 Q ZF14 yes ND2 no 2 RJ RD RDl 3 TP SY2 RS4 4 5 6 RJ TP RS2 RS3 RJ GW RS A GWl 7 RJ LO LOl 1.0 11 RJ RA RJ LR LY45 SY LX14 LXI5, LX13 LX17 LRI LV SYI LDII LOll ZB27 yes NQ20 ZF24 LD12 no 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 EJ EJ EJ EJ MJ IJ RJ TP EJ MJ RJ EJ EJ EJ o LY46 LR LY45 LY o SY LX14 LX15 LX13 MJ o CA ND32 LRI A ND25 ZG SYI LB22 LB22 ZG5 ZG12 Superscript indicator --+ Q Sym.= Superscript const.; Yes::::::> Alarm #21 Const.= fix pt.? (No; Alarm in string-out subs) XS3 fix point COns tant ~ input convers ion routine Convert XS3 const.~ octal Octal constant ~ A Constant~ Const. Pool & Const. CW ~ 64---- or 67---- CW ~ var. list string-out Store XS3 sym. for Hdg. Edit Adv. count of subscripts processed Get next sym. Symbol = comma? Symbol = semi-colon? Sym.= End sent. sym? Yes ==> Alarm #12 Sym. = close parent.? No ==> Alarm #22 Is this close subscript parent.? (i.e. parent. on level zero) Store XS3 close parent~ for Hdg. Edit No. of valid subscripts Vrocessed ~ A Correct no. of subscripts for subs. var.? No ====> Alarm #23 Get next sym. Sym. = comma? Sym.= semi-colon? Sym.= end sent. sym.? Yes ~ Alarm #24 No ==> Alarm #25 575 Variable Phase (Function Section) 21 0 1 IA LE RJ RJ LO LP 2 RJ LR LRI 3 RJ 4 EJ SY LX16 SYI ZG16 5 6 MJ 0 MC13 TV TP TP LW26 LV12 SZ2 SY LX17 LX16 LX12 LX13 LEll 7 10 11 RJ 12 13 14 15 EJ EJ EJ EJ MJ RA IJ MJ CA LY47 LY50 [SYl] LE20 LE17 ZG27 ZG33 0 LEll LY47 LY47 LEll 0 LE22 66--- CW ~ Var. list string-out Adv. & check var. count. & set indo bit (fl. pt.) Store XS3 symbol for Hdg. Edit Get next s ym • Sym.= open parent.? Yes~Alarm #26 N()==> function symbol w/o arguments LOl LPI Set funct ion parent. level ~ zero Function symbol ~ temp. yes yes yes yes LVI Sym.= Sym.= Sym.= Sym.= Alarm close parenthesis? open parenthesis? "Tape"? Yes => Alarm #27 space-period ( ~.)? Yes ====> #28 Advance function parent. level by two Close parent. for arguments of function? [30000] 576 Tape Designation Phase IA RJ EJ TP LF SY SYI LX13 ZH 10 EJ EJ EJ SYll NF yes SY7 LF13 yes LX14 LX15 LX16 Q LF4 no Q LF6 no ZH4 yes ZH4 yes ZHlO yes 11 EJ LX17 ZH14 yes 12 13 MJ RJ o ZH20 RHl 14 15 16 17 20 21 22 23 TP TJ RJ MJ TP QT LV2 SY5 TA o 1 2 3 4 5 6 7 24 25 26 27 30 QJ TP QJ EJ TJ TJ RH o TA4 LV5 LVlO LV43 LVlO MJ o TP SYIO LF30 yes LVII QJ TP 31 32 33 TP RJ SY2 LV12 TK 34 35 AT RJ TE 36 SP 37 40 41 42 43 MJ SP MJ TP QJ TP CA LVlO TF2 o TA4 o SYlO NF26 yes LF44 A LF42 yes TAl LF26 Q A LF40 yes ZH32 yes ZH25 yes Z1 Q ZI no TF TFI TF3 TKI TF2 TEl 17 NF12 17 NF12 Q Z1 no Get next symbol Sym. = " ~ . U? Yes => Alarm #29 Digi t or dec. pt. ind. ~Q Tape sym.= constant? Var. ind. ---+ Q Tape sym.= variable? Sym. = comma? Yes ==> Alarm #30 Sym.= semi-colon? Yes => Alarm #30 Sym.= open parent.? Yes ~ Alarm #31 Sym.= close parent.? Yes--""7Alarm #32 No ~ Alarm #33 Sym.= legal variable? (Alarm in string-out subs) 6 in "v" ~A No. of char. in sym. > 6? Yare in Combination List Not in list Va r. in 1 is t ~ CW > Qv 1st two octa 1 digi ts of CW ~ A 64--- CW? (fix pt. var.) 4---- CW? Pseudo Op.) Yes==> Alarm #35 5---- CW? (Lib. R tn.) Yes ~ Alarm #34 No ~ Alarm #36 Fix. pt. var. ind.~ Q Sym. = fix pt. var.? No ~ Alarm #36 No. of words in fi Ie (3 in "u") ~lst line file build-up XS3 sym.~ 2nd line file build-up Format (zero) ~ 4th line fi Ie bui ld-up Obtain avail. last 3 digits for 64--CW 64--- CW ~ 3rd line file build-up Add. file to Comb. List 64--- CW ~ nu" of A 64--- CW ~ "un of A Fix. pt. ind.~ Q Sym. = fix. pt var.? 577 No ~ Alarm #36 Tape Designation Phase (cont.) o 1 2 3 IA RP EJ EJ RJ NF 20011 LXI LX RD NF2 NF5 ZM RDI o 10 MJ TP RJ TP RJ RS2 RS3 GW 11 12 SP TP A 13 14 15 16 TU RP EJ SP WR [3000([J WRI WR 17 20 21 TJ TP QJ LW24 22 4 5 6 7 ZI7 RS4 RS A A GWl 17 WL4 Q NF14 NF16 NF26 yes o Tape sym.= XS3 {2,3,4,5,6,7,8 9,10 Tape number =l? Yes=> Alarm #56 Tape number = fixed point? (Alarm in string-out subs) ===> Alarm #37 f Convert XS3 tape number. Octal tape # ~ A Tape number ~ const. pool & const. CW ===>Qy (const. tape #) ~ "u" of A 67---- CW Tape # CW (67---- or 64----)~ S.O. lis t. Tape # CW in Rewind List Count of Tape # CW's in Rewind List ~A Max. no. CW's A NF22 no Q NF26 ZM4 R.L\ WR LV15 (Q+) ==> Alarm #57 printout (Q-) ~Printout made previously Adv. (1 in "u" & "v") count of CW's 23 24 25 26 27 30 31 32 SA TV TP RJ EJ EJ EJ EJ LW25 A WL4 SY LX13 LX14 LX15 LX16 o in Rewind List Form next avail. add. in Rewind List NF25 [300001 SYI NF35 NF35 NF35 ZI16 33 EJ LX17 ZI22 34 35 36 MJ 0 UZ3 ZI26 TP ZJ CA ZI35 NF37 A yes LG no in Rewind List (18 10) Tape # CW ~ Rewind List Get next symbol Sym. = " 6.. U? Sy~n. = comma? Sym.= semi-colon? Sym.= open parent.? Yes ~ Alarm #38 Sym.= close parent.? Yes -?Alarm #39 No ~ Alarm #40 Error count for sentence Has there been error? Yes ===> Warning #41 578 Heading Phase (Edit Variable Names) o IA 2 TP SS AT 3 4 TU 1 ST LG LV17 WL5 LW21 A 1 .L LY2 LV42 LW22 WL5 LW23 LY3 LG22 LY LYI LG21 no SYI LG12 yes LG12 yes LG26 6 TP TP 7 IJ 10 11 12 13 14 15 TP RJ EJ EJ EJ LV SY2 LX13 SY LX14 LX15 LX16 16 EJ LX17 ZJ 17 20 21 EJ MJ o LX13 W ZJ4 RA LG22 LV22 22 TP [30000) LTI 23 24 RJ RA LT LYI LT2 LV32 0 10025 LV12 LG30 LG7 LH LY17 5 .5 in "v" ' - + A (5 - # var.) x 2 ~"v" of A + add. in Hdg. List ~ preset add. 1st var. in Hdg. List - 4 Address 1st col. Hdg. - 4 ~ temp. Preset add. of 1st var. indo word Variable count ~ index counter (Cl) Preset avail. add. in assem. blk.~Init. (A) add. 25 26 27 EJ MJ RP TP CA A L.T All variable names edited? Sym.=" ~ . "? Yes ~End list string-out Get next symbol Sym.= comma? Sym.= semi-colon? Sym.= open parent.? Yes ~ Ii tIe or column heading. Sym.= close parent.? Yes -+ Alarm #42 Sym.=" ~. "? Yes ~ end list string-out No ~ Warning #43 Adv. "u" of NI ~ add. next var. ind. word Yare indo word ~ input edit. var. subroutine Edited variable ~ Hdg. List Adv. avai 1. assem. blk. add. by 4 ~ add. next var. Zeroize assem. blk. (258 words) 579 Heading Phase (Column Heading Section) @ ~ @ @ o IA LH TF GN4 A 1 EJ LV 30 LI 2 TU LW22 LH2l 3 TP LY3 LY2 4 RA RJ TP TP EJ EJ EJ RJ RJ LVl3 LP27 LY IJ TP LY13 LP LV12 GN4 LX20 LV30 LV LQ GN 0 LY LW23 UI16 LH34 UI4l LQl GNI LIllO LH13 no LYI 20 RA LH2l LV22 21 TP [30000J LTI 22 TV LY15 LTI 23 24 RJ RJ LT GN LT2 GNI RJ EJ EJ SY LX14 LX15 LX13 LX16 LX17 SYI LH25 UI25 LJ LH36 ZJ13 MJ 0 RA MJ TP RP TP RJ RJ EJ LY 0 GN4 10025 LV12 LQ GN LX21 ZJ17 LV UI13 MJ 0 CA LH45 5 6 7 10 11 12 13 14 15 16 17 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 MJ EJ EJ EJ A A UI5 LY17 LQI GNl ZJ25 LHIO Get next chara cter ~ A Char.= open parent.? Yes ~ title section Preset "u" of TP --+ Add. Is t var. ind. word - 1 Preset avail. add. in Hdg. List ---+ add. 1st col. hdg. - 4 Set col. hdg. bit in hdg. indo ~ 1 Adv. & ck. col. hdg. r.ount Set level indicator (C l ) --+ zero Char. = close parent. Char. = open parent. Char. = " ~ "? Store XS3 character for hdg. edit. Get next char. --+ A Close parent. on level zero? Preset avail. assem. blk. add. ~ initial add. Adv. "u" of NI ---+ Add. next var. indo word Yare indo word ~ input edit col. hdg. routine Char. count --+input edit col. hdg. routine Edit col. hdg. Get next char. (throwaway close parent.) Get next sym. Sym.= comma? Sym.= semi-colon? Sym.= " ~ . n? ---;. end list S.O. Sym.= open parent.? Sym.= close parent.? Yes ~ Warning #44 No ---+ Warning #45 Adv. parent. level by 1 Char. ---+ A Zeroize assem. blk. Store XS3 char. for Hdg. Edit Get next char. Char. = period? Yes ~Warning #46 580 Heading Phase (Title Section) o 1 2 3 4 5 6 @ @ IA TP RA TP TV TP TP RJ 7 EJ 10 EJ 11 EJ 12 13 14 15 16 17 20 21 RJ MJ RA MJ 1J RJ EJ MJ RJ RJ 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 RJ EJ EJ EJ EJ EJ MJ TP RP TP RJ RJ EJ MJ CA LI LV12 LYl3 LV23 LV20 LW4 LVl2 GN LX20 LV30 LV LQ 0 LY 0 LY GN LX20 0 LS GN LY LV33 LYll LQIO LQll LYl5 GNI LIl6 LI14 L136 LQ22 L16 LV L112 L112 GNI L122 ZJ32 LSI GNI SY LX14 LX15 LX16 LX13 LX17 SY1 L124 L124 LI33 0 GN4 10025 LVl2 ZK4 A LQ GN LX21 0 L142 LJ ZK LH2 LY17 LQ22 GNI ZKl3 LI7 Set level indo = zero Set title bit in hdg.indicator ~ 1 Preset index (C2) Preset char. shift Preset initial add. in assem. blk. Zeroize char. count. Get next char. Char.= close parent.? Char.= open parent.? Cha r . = " ~ "? Store XS3 character for title edit ~® Adv. parent. level by I Close parent. on level zero? Get next char. Char.= close parent. No =>Alarm #47 Edit and store title for edit Get next char. (Throwaway close parent.) Get next sym. Sym.= comma? Sym.= semi-colon? Sym.= open parent.? Sym.= " ~ . "? ~ end list S.O. Sym.= close parent.? Yes~ Printout #48 No ==> Printout #49 ~@ Zeroize assem. blk. Store char. ( ~ ) for title edit Get next char. Char.= period? Yes ~ Warning #50 581 End List String-out fftle, o IA TP LJ EW3 LY15 1 RA LY15 LV15 2 TP QJ QJ QJ TV LY13 LJ4 yes LJ6 yes LJ16 yes LY15 Q 3 RP TP 30074 LZ LJll [30000] TP LV37 4 ~ col. hdgs. & var. 7 names 10 Add. of last entry in string-out ~ temp. I in "u'" & "v" adv. ~ ini tial add. for headings in string-out. Hdg. indo ~ Q Are there column hdgs.? Is there title? (w/col. hdgs.) Is there title? (w/o col. hdgs.) LJ5 no LJ13 no LJ27 no LJIO Hdg. list (title-col. hdgs.-var. names) ~S.O. 11 12 Col. 13 hdgs. 14 & var. 15 names Ti tle& 16 var. names 17 20 21 22 ® 23 @ @ Yare names 24 25 26 27 30 31 32 MJ o TV RP TP LY15 30050 LZ24 WL6 LJ33 LJ15 LJ25 [30000] Hdg. count LY15 LJ20 RP TP TV RA 30024 LZ LJ20 LJ24 LJ21 [30000] LJ24 LV42 RP TP TP 30024 LZSO LV41 LJ25 [30000] WL6 LJ33 LJ31 LJ32 MJ 0 33 TV RP TP TP TU LY15 30024 LZSO LV42 LY15 34 CC 30000 LX22 35 RS LYI5 LWI6 36 AT WL6 Q 37 40 41 QT LV40 RJ WI WL WTl MJ 0 LA CA LJ42 5.0. Hdg. List (col. hdg. and var. names) ~ TV (6010)~ 5.0. Title~S.O. AdV: by 2010~Add. following title in strIng-out Yare names~S.O. Hdg. count (4010)~ 5.0. Hdg. List (var. names)~S.O. Hdg. count (2010)~ 5.0. Preset U '., of NI~ add. of 1st word of hdgs. in string-out Fast feed 1 sym. ~ 1st char. of hdgs. in string-out No. of words in 5.0. wlo hdgs. ~"'u'" & "v'" of A No. of words in 5.0. including hdgs.~ [30000] WL6 LJ34 lM Q Word count~ "v" of String-out~tape ~ String-out Exit 582 1st word of 5.0. Adv. and Ck. Var. (Col. Hdg.) Count Subroutine o Fl. Pt. 1 Ent. 2 3 Fix Pt. 4 Ent. 5 6 Delete 7 sym. 10 before til 1tTape'~ 12 @ 13 14 15 16 Preset 17 at be- 20 gin 21 list S.O. 22 Preset 23 at 24 begin list 25 S.O. 26 Col. 27 Hdg. 30 Ent. 31 32 @ ® 33 34 35 @ 36 37 40 IA MJ TU TU MJ TU TU SP TJ MJ RJ EJ EJ MJ AT RA TP SP TU LP 0 LW LW2 0 LWI LW3 WL5 LV17 [3000 oJ LP17 LQ3 LP6 LP17 LQ3 o A LPl5 yes ZK17 SYI LF ZA13 LPII WL5 LV [30000] 17 LQ2 RA TP TV LP23 [30000J LW20 LV22 LQll LQl TU LQll ZL2 MJ SP TJ MJ AT TP TP TV 0 LP36 TP TV MJ GA 0 SY LX12 LX13 0 LV LP17 [30000] LP17 LY14 WL5 0 LV LW4 LV12 LWll LV23 LV20 0 o LP32 yes ZK26 LY14 LQll r Vl Set up inst. for fl. pt. indo Preset add. of fl. pt. char. limit Preset add. of fix pt. char. limit Var. count ~ A 5 > # variables? No => Printout #51 Get next sym. Sym. tape? ~tape designation phase· Sym. = ,,~ . "? Yes.::::> Alarm #3 = Adv. var. count ~ list string-out Fix or fl. pt. indo ~ var. indo word Preset add. of char. count (var. indo word) Adv. NI to preset next add. in assem.b~ Preset add. in assem. blk. Preset ent. ~ store XS3 char. for var. name Add in assem. blk.~ trans. inst. for warning print Col. hdg. count ~ A # Variables > # col. hdgs.? No ==> Warning #52 Adv. col. hdg. count by 1 Preset add. in assem. blk. ~ &.I .... ~f&.J LQl LYll LQIO LP Preset ent. ~ store XS3 char. for column hdg. Preset index (C2) Preset char. shift Exit LP41 Call Word ~ Var. List String-out o 1 2 3 IA MJ TP RJ LO 0 Q EW [30000] EW2 EWI MJ -0 til CA L04 Ca 11 word ~ ··v" of EW2 Call word ~ string-out 583 Store XS3 Char. for Hdg. Edi t @) Preset in yare count rtn. are Ent. 0 1 2 3 4 5 6 in Yare count rtn. Preset 11 in yare count rtn. 12 @ Col. Hdg. Ent. ~ 13 14 15 16 17 20 21 Title~2 IA MJ MJ TP TJ MJ TU RA LQ 0 0 [30000J [3000q] 0 LQ2 [30000J RS SP LQIO Input: MV" preset ~ LQ2 or LQ17 Char. count ---+ A 23 (27 » # char.? 8 No 10=>Warning #53 Preset .. u.... of NI ~ char. count add. Adv. char. count by I in «v« Q LV2 [300001 Decrease shift count Position char. in A AT [30000J [30000J Char. IJ LYll LQ RA TV TP MJ TP TJ MJ [TP LQll LV16 LV17 LV15 LQIO LYll LQ Current word full? (index preset by yare count routine) Adv. current assem. blk. address Reset shift count Reset index 0 LY15 LV14 0 A LQ25 yes ZLIO LY15 A] LV34 LQ25 yes ZL20 LV Ent. @ XS3 char. in "v'''' of A [30000] [30000] A LQ5 ZL LQ6 LV 23 24 25 TJ MJ RA 0 26 27 TP MJ CA GN4 Q 0 LQ7 LY15 ~ current word in assem. blk. Char. count ~ A 23 (27 ) > # char.? 8 No 10~ Warning #54 Ti tIe char. count ~ A (reset ~ MJ-OLQ after printout; not preset, transferred from drum before operating) 119 (1678) > # char.? No 10 ==>Warning #55 Adv. title (col. hdg.) char. count by I in "v" LQ30 584 Store XS3 Sym. for Heading Edit II\ (@ 0 1 2 3 4 5 6 7 10 MJ TP TP r~Q r QT RJ MJ CA LR 0 SY5 SY2 LY12 0 T 'T4"\ LJ.v LVS2 LQ 0 LRll Input: [30000] LY12 LY3 LR5l LR / ~l j XS3 sym. in SY2,# char. in SY5 # Char in sym. ~ index ctr. (C 3 ' XS3 sym. ~ temp. All char. trans. ~ Assem. blk. Next XS3 char. in sym. ~ HV XS3 char. ---+ ltv" of Q Store XS3 char. for lHg. Edit LR3 585 H oi Q Edit Title Subroutine 1 IA MJ TV o LS 0 LW14 [30000] LS31 2 SP DV LY15 LV31 o 3 4 ZJ RA LSS yes 5 Q LS6 no LV 6 RS LS31 Q 7 SP Q 10 ST SP EJ SA Q 12 13 14 DV LV LY15 LV34 LV26 LVI 15 16 DV ZJ LV2 LS17 no Q 17 20 TJ TU LVI LW23 LS23 LS27 21 TU LW4 LS30 22 23 MJ TU 0 LW4 LS25 LS27 24 TU LW26 LS30 25 26 27 30 31 32 MP TV A A 33 RA RA 11 LYll o LS44 o A PTeset hdg. list add. ~ middle add. of title Char. count ~ A ;~~; # full words in 1/2 title ~ Q 12 Is there partial word? Adv. Q by 1 ===>total # words in 1/2 title ~ Qv Oecrease hdg. list add. ~ add. initial title word in hdg. list (# words in 1/2 title) * 2 = total # words in title ~ A #: Words in ti tIe - 1 ~ index ctr. (C ) 2 #: Char. ~ A # Ch a r . = 119 10 #: Ch a r. + 3 -+ A ,~char. + 3 --+ A 2 @ SP SA [30000] [30000] LS37 yes LV2 LS30 44 [30000] LT 0 RA ~OOOOJ LS27 LS30 LS31 LYll 34 35 36 37 40 41 MJ 0 SP AT TV Q LW15 LS31 LV22 LV22 LV LS27 no LS 20 LS42 LS43 42 43 [RP TP 30000 LY20 LS] [30000J IJ Char. to shift --+ A # Char. to shift = zero? No ==> shift 1 char. 2 > # char. to shift? Pr-eset "SP" ~ add. of 1st word in assem. blk. Preset "SA" ~ add. of 2nd word in assem. blk. # Preset "SP" ~ add. of 2nd word in assem. bik. Preset "SA" ~ add. of 3rd word in assem. blk. (# char. to shift) x 6 = shift count Preset shift count in "SA" Current title word from assem. blk.~ A Position edited title word in AL Edited title word~ hdg. list add. Adv. "u" of "SP" by 1 Adv. "u" of "SA" by 1 Adv. "v" of "LT" by 1 All of edited title ~ hdg. list? words edited title ~"u" of A Add. "w" to dummy repeat Preset add. of initial title word in hdg. list # Trans. edited title 586 ~ hdg. list 44 45 RP TP 30024 LY20 CA LS46 LJ LZ Trans. 119 587 10 char. title~hdg. list. Edit Variable (Col. Hdg.) Subroutine 2 3 TV A LUl5 4 TU LYI LU13 5 TU LYI LU14 6 RA LU14 LV22 7 TP QT EJ QJ TJ TP LTI LV40 LV25 LT24 no LV27 LV26 Q LTI LU23 yes LTl3 yes LTl6 yes LYII LT20 LYII 1 10 11 ® @ ® LT IA MJ [0 RA o 12 13 14 15 16 17 o 30000 LY2 MJ o TP LV LUl5 RA 20 21 22 TP DV LTI LV26 LVI 23 24 25 26 27 30 31 MJ o TJ TJ TP MJ TP RA LV31 LV 53 LV26 o 32 33 34 MJ o TP LV LU15 35 36 37 40 TP TJ SA MJ CA SA RA LVI LUl5 LTI LV30 LV o [30000] 30000] LV23 LV A o A Exit Input Adv. avail. add. hdg. list by 4 in "u" ~ add. next yare in hdg. list Preset "v" of trans. inst. ~ add. next yare in hdg. list. Preset "Sp" inst. ~ add. next var. - 1 in assem. blk. Preset "SA" inst.~add. next var. - 1 in assem. blk. Adv. "u" of "SA" by 1 ~ add. next yare - in assem. blk. Var. indo word ~ Q # Char. ~ A & input line # Char.= 2310v(278)? Variable floating pt. quan2 1310 > # char.? Index = 3 to trans. 4 words ~ hdg. list ~@ Index = 1 to trans. 2 words ~ hdg. lis t Adv. "v" trans. inst. by 1 ~ next add. hdg. list # Char. ~ A # ·Char. + 3 ~ A # Char. + 3; Quot ~ A 2 LU2 LT33 yes LT30 yes LYll LT35 LYII LV LT35 LYII LVI A LU yes o ~@ 12 > # char.? 10 19 10 > #. char.? Index = 3 to trans. 4 words ~® ~ hdg. list Index = 2 to trans. 3 words ~ hdg. list Adv. "v" trans. ins t. by 1 ~ next add. hdg. list ~@ Index = 1 to trans. 2 words ~ hdg. list Adv. "v" of trans. ins t. by 2 ~ add. in hdg. list. # Char. ~ Av 1510 > # ch a r • ? +:= Char, + l~ A LU2 LT41 588 Edit Var. (Col. Hdg.) Subroutine (cont.) 4 MP LU LVI LVI LV2 LU4 no A 5 TV A 6 TJ LV24 Q LU23 yes LV2 LU14 LUll yes o ~ @ IA DV 1 LVI 2 3 DV ZJ A o 7 TP LV12 A 10 11 MJ 0 RA LU13 LU14 LV22 12 RA LU14 LV22 13 14 SP SA [30000] [30000] [30000] 15 LT 0 [30000] 16 17 20 RA RA RA LU13 LU14 LU15 LV22 LV22 LV 2l IJ LYll LU13 22 23 MJ TV 0 LT LV26 24 TV LUI5 25 26 RP TP 30004 [30000] CA LU27 LU14 44 r JTI')£" LoU~U #char/2; Quot ~ A Quot + 2 ---+ A (A) 16 ==> Rem. = # char. to shift ~ A # Char. to shift = zero? # Char. to shift x 6 = shift count ~ A Preset shift count in "v" of SA inst. 7 > shift count? (i.e.,# char. to shift = 1) Zero ~ A Adv. "u" of SP by 1 ~ add. of 1st var. word Adv. "u" of SA by 1 ~ add. of 2nd var. word Variable word from assem. blk. --+ AL Add. next word to ~ & shift to position in AL Edited word from assembly block ~ heading list Adv. "u" of SP by 1 Adv. "u" of SA by 1 Adv "v" of trans. ins t. by 1 ~ next add. in hdg. list All words trans. from assem. blk.~ hdg. list Add. 1st word of var. in assem. blk.~ "u" of TP Add. for variable in hdg. list ~ nv" oi TP LT [30000] Trans. words from assem. blk. wlo editing. 589 ~ hdg. list Fixed Constants IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 50 51 52 53 0 0 0 0 0 0 0 0 0 0 0 40 0 0 0 0 0 40 0 0 0 0 0 0 0 0 0 20 0 0 0 0 0 0 0 0 0 0 0 0 17 0 0 0 CA LV 0 0 0 0 0 0 0 0 0 3 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 4 0 0 0 24 0 0 0 0 0 55000 550 55740 557 0 0 0 0 LV54 1 2 6 11 12 77000 66000 65000 64000 3 0 0 27 1 44 5 36 27 0 4 7 27 3 15 17 14 4 0 167 170 24 74 77777 50 24 50000 0 0 0 40000 0 40000 77 23 XS3 space char. ( L\ ) Fl. pt. indo Fix pt. indo Flo pt. char. limit (23 = maximum ~ XS3 open parent. character 590 char.) Relative Constants IA LW LVl2 LVl3 LVl4 LV21 o o o o LY2(fl LY24 2 3 o o o o 4 AT LY20 5 6 AT AT AT LY24 LY30 LY34 LY40 o 1 7 10 11 AT o 12 o 13 o 14 o 15 RP 16 17 20 21 22 23 24 25 26 o o o o o o o o o CA Add. Add. Add. Add. LY30 LY34 LY40 0 LQ17 LW3 LY3 WL6 WL6 LZ12 fl. pt. indo fix. pt. indo fl. pt. character limit fix pt. character limit To preset add. in assembly block for XS3 sym. or character store routine J To preset inst. to present add. in assembly block. To preset add. of first yare indo word - 1 To preset EW3 ~ Add. of 1st CW in S.O. - 1 Middle add. of title in hdg. list. 30000 LS WL WL LQ LQ2 Initial add. in S.O. list LZ44 To preset add. in hdg. list. To preset add. of var. indo word Initial address in assem. block WP = max. no. of tape CW's in Rewind List Initial add. in Rewind List 0 0 0 LY3 o LYl7 WP20000 WP 0 LY21 LW27 LYl7 WR SYl 591 X'53 Codes 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 IA 04 37 LX 77777 77777 77777 77777 77777 77777 77777 77777 77777 03777 24523 22777 77777 77777 77777 77777 00000 00000 00000 00 00 CA 00000 00000 LX25 05 06 07 10 11 12 13 14 04 66 01 21 23 17 43 00 00 77777 77777 77777 77777 77777 77777 77777 77777 77777 77777 07777 77777 77777 77777 77777 77777 00043 00022 00000 00021 00023 1 2 3 4 5 6 7 Servo numbers 8 9 10 TAPE ~ Comma symbol Semi- eolon symbol Open parent. symbol "(" Close parent. symbol ")" Close parent. char. Period char. Fast feed 1 sym. (pa cked to left w/zero fill) Comma character. Semi-colon character 592 Alarm ttl Alarm #2 Alarm #3 Alarm #4 Alarm #5 Alarm #6 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 Alarm #7 37 40 Al ":t.L 42 IA RJ ZA WA TP PB RJ MJ RJ TP UP2 TP TP TP RJ MJ RJ TP RJ MJ RJ TP RJ RA MJ RJ TP RJ MJ RJ TP TP TP TP RJ MJ RJ TP RJ MJ CA WAl UP3 UP 0 LA WA SY2 SY3 SY4 PB17 UP2 0 WA PC UP2 0 WA PC17 UP2 LY44 0 WAl PB22 PB23 PB24 UP3 UP LB22 WAl UP3 UP WA PD UP2 0 WA SY2 SY3 SY4 PD17 UP2 0 WA PE TTD,} UL" 0 ZA43 LA WAI UP3 UP LV LB22 WAl UP3 UP LB22 WAl PD22 PD23 PD24 UP3 UP LB22 WAl UP3 UP LF ~Exit ~Exit ~Exit Adv. Parenthesis Level Var. Phase ~ ~ Var. Phase ~ Var. Phase ~ Tape Designation Phase 593 Alarm u8 Alarm U9 0 1 2 3 4 5 6 7 10 11 Alarm 12 ulO 13 14 15 16 17 20 Alarm 21 ull 22 23 24 25 26 Alarm 27 U12 30 31 32 33 34 IA RJ TP TP RJ MJ RJ TP TP RJ MJ RJ TP TP TP TP RJ MJ RJ TP TP RJ TP MJ RJ TP TP RJ MJ CA ZB WA SY2 PG UP2 0 WA SY2 PG16 UP2 0 WA SZ2 SZ3 SZ4 PH UP2 0 WA LY16 PH13 UP2 SY2 0 WA LY16 PI UP2 0 ZB34 WAI PG6 UP3 UP LB22 WAI PG23 UP3 UP LB22 WAI PH7 } Print hdg. & set error bit Pseudo OPe sym.~ printout Printout u8 Print hdg. & set error bit Libra ry rtn. sym. ~ printout Printout u9 Print hdg. & set error bit PHIO PHIl UP3 Symbol UP Printout UIO ZB25 WAI PH20 UP3 UP A LB23 WAI PIll UP3 UP I.A ~ Printout Print hdg. & set error bit Subs. var. symbol ~ printout Printout ull Print hdg. & set error bit Subs. var. sym. ~ printout ~ 594 Exit Alarm #13 0 1 2 3 4 5 Alarm #14 6 7 IA RJ TP TP RJ RA MJ RJ TP ZC WA LY16 PI21 UP2 LY46 0 WA SY2 11\ TP TV 1 L 11 12 13 Alarm 14 15 #15 16 17 20 Alarm 21 #16 22 23 24 25 26 27 30 TP RJ PJ UP2 MJ 0 RJ TP TP WA LY16 PJ 14 UP2 0 WA SY2 SY3 SY4 LY16 PK UP2 LV Alarm #17 0 1 2 3 4 5 6 7 10 11 12 13 14 RJ MJ RJ TP TP TP L.lJ.U TP TP RJ MJ CA ZC31 IA RJ TP TP RJ EJ ZD WA SY2 LY16 SY LX16 TP RJ TP MJ TP PK21 UP2 SY2 RJ RJ MJ CA 0 0 PK22 UP2 I.E21 0 WAl PI3I UP3 UP LV LD12 WAI PJ3 PT'''' '" J.~ UP3 UP LD12 WAI PJ24 UP3 Print hdg. and set error bit Subso Varo sym. ~ printout Printout #13 Adv. subs. parent. level by 1 Print hdg. & set error bit Illegal sym. ~ printout Subs. var. sym. ~ printout Printout #14 Print hdg. & set error bit Subs. var. sym. ~ printout UP Printout #15 LF WA1 Print hdg. and set error bit PK15 } PK1n PK17 PK4 UP3 UP LD12 Symbol WAI Print hdg. & set error bit Function symbol ~ printout Sub. yare sym. ~ printout Get next symbol Sym. = open parenthesis? (i.e., are there arguments w/function) Parameter for #17~ Uniprint Printout #17 Current sym. ~ A --+ Subs. var. sect ion Parameter for #17A ~ Uniprint Printout #17A Delete arguments of function ~ Subs. yare section PK25 PK32 SYI ZDll yes UP3 UP A ID13 UP3 UP I.E 6 LDl2 ZD15 595 ~ Printout Alarm #18 ~ 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 IA RJ TP TP RJ EJ TP RJ TP MJ TP RJ TP TP RJ EJ EJ EJ EJ ZE WA SY2 LY16 SY LX16 PL UP2 SY2 0 PLI UP2 LV12 SZ2 SY LX17 LX16 LX12 LX13 22 23 MJ IJ 0 24 25 26 27 30 31 32 33 34 35 36 37 40 MJ 0 RA MJ LY47 0 RJ WA TP LY50 PJ14 UP2 0 WA LY50 PI UP2 0 ZE41 TP RJ MJ RJ TP TP RJ MJ CA LY47 WAI PL6 PL14 SYI ZEll UP3 UP A LD13 UP3 UP LY47 LY50 SYI ZE23 ZE25 ZE27 ZE34 yes yes yes yes ZE15 ZE15 no LD12 LV ZE15 WAl PJ24 UP3 UP LF WAI PIll UP3 UP LA Print hdg. & set error bit Latest subs. var.~ printout Prior subs. var. ~ printout Get next symbol Symbol = open parenthesis Parameter for #18 ~ printout Printout #18 Current sym. - - 7 A ~ Subs. var. section Parameter for #18A ~ Pr intout Printout #18A Set parenthesis level = zero Latest subs. var. sym. ~ temp. Get next symbol Sym. = close parenthesis? Sym. = open parenthesis? Sym. = "tape"? yes ==> printout #15 Sym. = space-period ( I:l .)? yes--+ printout #12 Close parent. for subscripts? zero) Adv. parent. level by 1 Printout #15 ~ Tape designation phase Printout #12 ~ 596 Exit ( level IA RJ TP TP TP RJ MJ RJ TP ZF WA SY2 LY16 PM UP2 0 WA SY2 l() TO ~L 1.<.1 11 12 13 Alarm 14 15 #21 16 17 20 21 22 23 24 Alarm 25 #22 26 27 TP RJ Alarm #19 0 1 2 3 4 Alarm #20 5 6 7 .LV 30 31 32 33 34 r v 1 to. ~u MJ PM15 UP2 0 WA SY2 SY3 SY4 LY16 PN UP2 0 RJ WA TP TP TP TP TP RJ TP MJ SZ2 SZ3 SZ4 LY16 PO UP2 SY2 0 ZF35 MJ RJ TP TP TP TP TP &J CA WAl PM5 PM13 UP3 UP LD12 WA1 PM23 PM31 UP3 UP LD12 WA1 PN14 PN15 PN16 PN4 UP3 UP LD12 WA1 P013 P014 P015 P07 UP3 UP Print hdg. & set error bit Lib. rtn. sym. ~ printout Printout #19 Print hdg. & set error bit Printout #20 Print hdg. & set error bit Print hdg. & set error bit A LD13 597 Alarm u23 Alarm u24 Alarm u25 Alarm #26 Alarm #27 Alarm #28 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 IA ZG RJ TP TP RJ MJ WA LY16 P017 UP2 0 WA LY16 PP UP2 0 WA LY16 PP23 0 WA SZ2 PQ UP2 LEll LR LE21 LR 0 WA LY50 PQ15 0 WA LY50 PH UP2 0 ZG40 RJ TP TP RJ MJ RJ TP TP MJ RJ TP TP RJ RJ RJ RJ RJ MJ RJ TP TP MJ RJ TP TP RJ MJ CA WAI P027 UP3 UP LB22 WAI PP15 UP3 UP LA WAI PP36 UP3 ZB24 WA2 PQ5 UP3 UP LE7 LRI SYI LRI LB22 ~ Var. phase ~Exit } Save arguments of function WAI PQ27 UP3 LB22 WAI PR12 UP3 UP LA ~Exit 598 IA Alarm #29 Alarm #30 Alarm #31 Alarm #32 Alarm #33 Alarm #34 Alarm #35 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 'Dl £~u TP RJ MJ RJ TP RJ MJ RJ TP RJ MJ RJ TP RJ MJ RJ TP TP RJ MJ RJ TP TP RJ MJ RJ TP TP RJ MJ CA ZH WA PR21 UP2 0 WA PT UP2 0 WA PT21 UP2 0 WA PU UP2 0 WA SY2 PU21 UP2 0 WA SY2 PV UP2 0 WA SY2 PV24 UP2 0 ZH37 WAl nL UP3 UP LA ~Exit WAI UP3 UP LA ~Exit WAI UP3 UP LA WAI UP3 UP LA WAI PU30 UP3 UP LA WAI PV12 UP3 UP ~Exit ~Exit ~Exit LA ~Exit WAI PV36 UP3 UP LA ~Exit 599 IA Alarm #36 0 1 2 3 4 5 6 Alarm 7 10 #37 11 12 13 14 15 Alarm 16 17 #38 20 21 Alarm 22 23 #39 24 25 Alarm 26 27 #40 30 31 32 33 34 Alarm 35 36 #41 37 40 RJ TP TP TP TP RJ MJ RJ TP TP TP TP RJ MJ RJ TP RJ MJ RJ TP RJ MJ RJ TP TP TP TP RJ MJ RJ TP RJ MJ CA ZI WA SY2 SY3 SY4 PW UP2 0 WA SY2 SY3 SY4 PX UP2 0 WA PY UP2 0 WA PY24 UP2 0 WA SY2 SY3 SY4 PZ UP2 0 WA SA UP2 0 ZI41 WAI PW16 PW17 PW20 UP3 UP LA ~Exit WAI PX15 PX16 PX17 UP3 UP LA WAI UP3 ~Exit UP LA WAI UP3 UP ~Exit LA ---+ Exi t WAl PZ14 PZ15 PZ16 UP3 UP LA ~Exit WA2 UP3 UP LA ~Exit 600 0 IA RJ 1 TP 2 3 Warn- 4 5 ing 6 #43 7 10 RJ MJ RJ TP TP TP TP Warning #42 1 1 l.l. 12 Warn- 13 14 ing 15 #44 16 Warn- 17 20 ing 21 #45 22 23 24 25 Warn26 ing 27 #46 30 31 Warn- 32 ing 33 #47 34 35 ZJ WA SAl6 UP2 0 WA SY2 SY3 SY4 S8 WA2 O"l lUJ lTD') TID Ul. " UL MJ 0 WA SC UP2 0 WA SY2 SY3 SY4 SD I..J RJ TP RJ MJ RJ TP TP TP TP MJ RJ TP RJ TP MJ RJ TP RJ MJ CA Print hdg.; do not set error bit HP3 UP ~ End list string-out Print hdg.; do not set error bit LJ WA2 S826 S827 S830 UP3 } ~ printout ~ End list string-out ~ End list string-out WA2 UP3 UP LJ WA SE UP2 LX13 WA2 5D26 } SD27 S030 . UP3 ZJ15 WA2 UP3 UP SY2 0 Symbol 0 LJ WA SE16 UP2 WA2 UP3 UP 0 LJ Symbol ~ ZJ36 601 ~ printout End list string-out Warning #48 Warning #49 Warning #50 Alarm #51 Warning #52 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 IA RJ TP RJ MJ RJ TP TP TP TP RJ MJ RJ TP RJ MJ RJ TP TP TP TP RJ MJ RJ TP RJ MJ CA ZK WA SF UP2 WA2 UP3 UP 0 W WA SY2 SY3 SY4 SF22 UP2 0 WA SG UP2 0 WA SY2 SY3 SY4 SG15 UP2 0 WA SH UP2 0 ZK32 WA2 SF47 SF50 SF51 UP3 UP L.J WA2 UP3 ~ End list string-out End list string-out Print hdg.; do not set error bit ~ UP W WA1 SG31 SG32 SG33 UP3 UP Print hdg.; set error bit LPII ~ WA2 UP3 UP W Var. count subroutine Print hdg.; do not set error bit ~ 602 End list string-out Warning#53 1 Preset 2 in yare count 3 rtn. 4 5 A v IA RJ RP TP WA 30004 [30000] ZL3 SH32 RA SH32 LV50 TP RJ SH14 UP2 LW17 0 UP3 6 TV 7 Warn- 10 ing 11 #54 12 MJ RJ RP TP 13 ZL WA2 RA S116 LV50 14 15 16 17 Warn- 20 ing 21 #55 22 23 TP SI UP2 LW17 0 WA 30024 LY20 SK15 UP3 UP LQl LQ WA2 ZL23 SK15 LV50 24 25 26 TP RJ TP SK UP2 ZL27 UP3 UP LQ22 27 MJ 0 LQ CA ZL30 Alarm 0 #56 1 2 3 Alarm 4 #57 5 6 7 10 TV MJ RJ RP TP RA IA RJ TP RJ MJ RJ Truncated yare name (23 char.)~ printout Put open parent. preceding yare name in printout UP Reset ent. ~'o£~ 30004 LY20 RJ I rOl LQ WA2 ZL13 S116 WA 1 } CC WR TP RJ MJ SL21 UP2 0 CA ZMll WAI UP3 UP LA WAI LV13 UP3 ~ LQ Truncated tit Ie (20 words) ~ Printout Put open parent. preceding title in printout Reset to by-pass printout for remaining char. of title NB ~ this instruction used to reset by preceding instruction 2M WA SL UP2 0 WA LQ Truncated column heading (23 char.)~ printout Put open parent. preceding col. hdg. in printout Reset ent. } ~ ~Exit UP NF26 603 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 Li st String-out Alarm Texts (Alarm Heading 27 ) 10 PB IA 40 PBl 16 Printout #1 lJ. W 0 R 0 72101 71 51542 66 24523 T A P E , lJ. 02101 24 52523 A P P E A R 02454 S ~ A S lJ. F 65 01246 50131 34 54656 I R S T ~ V 60170 24 54342 42546 A R I A B L 30 01665 10125 E lJ. T 0 lJ. B 30 01463 E lJ. L I S T 46566 E 0 30 27220 10154 lJ.lJ. R 30 65660 E S T l1 0 F 15131 lJ. S E N T E 01 65305 06630 26300 50 N C E l1 N 0 15051 66 01263 33026 T lJ. C H E C 45 30272 K E 0 . 77 77 27777 40 PB20 13 Printout #2, 26 51506 C 0 N S T A 56624 50 66210 17777 N T , lJ. 77 77 0 0 0 0 0 0 0 0 0 21 01244 , l1 A M 0 N 75150 32 01702 45434 G ~ V A R I 24 25463 A B L E S lJ. 06501 66 51012 53001 T o ~ B E lJ. 46 34656 63027 L r S T E 0 22 77777 77777 . 77 77 77 77 77 CA PB33 . - ---- -- - - - 604 3 4 5 6 7 10 IA 40 30 01 50 47 47 24 30 25 11 66 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 54 31 30 51 26 40 51 24 30 71 34 01 27 01 30 67 52 24 30 30 47 24 30 25 66 o 1 2 CA PC PC1 50270 65305 26300 25514 51503 54342 65016 30014 30272 30656 01653 50263 66012 45302 PC 20 52305 54305 65346 33342 65015 52543 30270 24274 50660 25652 66302 54342 21012 24546 51503 54342 65016 30014 30272 PC43 16 15131 06630 16573 60124 20170 42546 65101 63465 20101 60151 05066 00150 63330 72201 23 00152 06633 52101 63301 05166 02630 12573 42426 10165 65434 70170 42546 45252 50124 20170 42546 65101 63465 27777 END ~ 0 ~ SEN T Printout #3 F E N C E ~ S y M B 0 L ~ A M 0 N G ~ V A R I A B L ES~TO~ BE~LIS TED • ~~ REST~O F~SENT ENCE~N T ~ C H E C KED • ~ o Printout #4 OPE N ~ P ARE N T H ES I S , ~ ~ IS~NOT W H I C H L\p R E C E DED~BY ~ A D J A C ENT~~S D B S PTE C R I D ~ V A R I A B L E,~APP EAR S ~ A M 0 N G ~ V A R I A B L ES~TO~ BE~LIS TED 605 • 77 77 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 40 26 52 33 71 66 30 34 30 30 47 24 30 25 66 40 65 21 0 0 0 21 32 65 30 30 CA IA 0 1 2 3 4 5 6 7 10 11 12 40 52 33 52 34 54 52 66 30 01 24 CA PD PD1 46516 24543 30653 34663 01265 65525 50320 50012 24546 51503 54342 65016 30014 30272 PD20 73472 01777 0 0 0 01244 01346 01665 01463 27227 PD32 16 53001 05066 46501 35167 15454 15027 15152 45252 50124 20170 42546 65101 63465 27777 12 55146 77777 0 0 0 75150 63047 10125 46566 77777 PE PEl 24543 30653 54302 50320 27210 30210 01525 54467 01010 34543 PE13 12 05066 06501 63027 17151 16624 15051 45152 30101 10152 02722 C L 0 S E ~ Printout #5 P A R E H W T E I E E S I T ~ C S P N G N N T I S ~ H 0 U 0 R R D 0 P ~ A P P 0 N ~ E A R S ~ A M 0 N G ~ V A R I A B L E S ~ T 0 ~ B E ~ L I S T E D 77 77 . y Printout #6 0 L , ~ 77 77 77 77 S M B , ~ A M 0 N G ~ I T E M S ~ T 0 ~ B E ~ L I S T E D 77 77 77 . Printout #7 P A R E N T H E S E S ~ P R E C E D I N G ~ W 0 R D , ~ T A P E , ~ N 0 T ~ P R 0 P E R L Y ~ ~ ~~~~~P A I R E D . 606 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 40 52 01 66 73 01 0 21 32 24 66 01 46 22 40 46 73 34 47 0 21 32 24 66 01 65 CA PG PGl 65306 51523 34515 47255 77777 0 01244 01702 25463 51010 01012 34656 77777 PG17 34255 01545 50300 25514 0 01244 01702 25463 51012 01010 66302 PG32 15 72751 05424 00165 14621 77777 0 75150 45434 06501 10101 53001 63027 77777 13 42454 16766 16573 62101 Printout #"8 P S E U D 0 ~ 0 P E R A I 0 Y M B T N ~ S 0 L 1 l:l 77 77 77 77 77 ~ A M 0 N G ~ V A R I ! A B L E S ~ T O~~~~ l:l~~B E l:l L I S T E D 77 77 77 77 77 Printout #9 L I Y ~ I N M B 0 A R U T 0 L ,~ B R E R l:l s y 0 75150 45434 06501 53001 14634 72277 ~ A M 0 N t G ~ V A R I A B L E S ~ T ~ B E ~ ~~!::t~ L I S T E D 77 o . 607 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 40 26 47 32 51 70 46 0 0 0 22 40 65 34 70 46 0 21 31 30 51 01 52 33 01 54 24 27 30 34 CA PH PHI 51474 34656 01315 71345 24543 30210 0 0 0 77777 PH14 67256 52663 24543 30210 0 01505 51464 27012 52305 01010 24543 30653 65672 34526 65656 01665 01473 50322 PH36 12 72401 53450 14646 03201 42425 17777 0 0 0 77777 22 52654 02701 42425 17777 0 16601 65171 57301 00101 10101 05066 46522 56526 66501 74730 10125 46565 27777 G ~ F S A ~ I N 0 L 0 W I N G ~ I A B C 0 M I M M S V A R E L , ~ Printout #10 L 77 77 - - - - - - -. -77 77- 77- 77 77 - - S U B S I P T E V A R I L E , ~ , C R D ~ A B 77 77 ~ N 0 T ~ 0 L L 0 W D ~ B Y ~ 0 P E N~~ F E ~~~~~~ P A R E N T H E S I S ~ S U B S C R I P T S ~ A S S U M E D ~ T o ~ B E ~ M I S S I N G 77 77 . 608 Printout #11 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 40 30 01 50 47 47 67 52 54 0 22 01 66 30 30 26 27 40 51 24 30 47 67 52 54 0 22 CA PI PIl 50270 65305 26300 25514 51503 25652 66650 01777 0 01010 01015 01513 50663 01505 33302 22777 PI22 52305 54305 65346 51503 25652 66650 01777 0 77777 PI33 20 15131 06630 16573 60124 20165 65434 13151 77777 0 10101 43065 10165 05026 16601 64530 77777 11 00152 06633 50124 20165 65434 13151 77777 0 77777 ~ N ~ L N G S C S ~ E N D ~ S E N C E M B 0 M 0 U B Printout #12 0 F T E S y ~ A ~ S R I P T F 0 R ~ 77 77 77 77 - --- .~~~~~ ~~ ~ R E S T ~ 0 F ~ S E N T E N C E ~ N 0 T ~ C H E C K E D 77 77 77 77 . 0 P E N ~ P R E I M 0 N U B S P T S R ~ 77 A E S N T H S ~ A G ~ S C R I ~ F 0 77 77 77 - 77- 77- 77- 77. 77 - 609 Printout #13 40 65 21 0 21 24 51 25 66 01 0 22 40 71 66 24 65 32 26 01 PJ PJl 73472 01777 0 01245 54650 50320 65265 65013 77777 0 77777 PJ15 51542 24523 52523 01244 01656 54345 31515 25230 12447 16567 43452 15154 77777 0 77777 11 72101 02101 02454 75150 72565 26665 40177 0 0 0 22 77777 PJ26 77777 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 CA 13 55146 77777 0 Printout #14 S y M B -, ~ - - 0 L , ~ 77 77 77 77 - A P A R S l:l 0 N G ~ B S C R T S ~ F ~ 77 77 77 P E A S I M U P 0 R 77 77 -. 77- 77- -77 77- 77- W 0 R T A P A P P S ~ A G ~ S C R I ~ F 0 D , ~ E , ~ E A R M 0 N U B S P T S R ~ 77 -. 77- -77 77- 77- -77 610 Printout #15 4 0 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 01 27 01 34 34 01 01 25 0 0 0 22 40 40 31 51 0 21 32 26 01 0 22 01 01 24 50 PK PKI 67256 52666 54017 0 34502 30016 31465 50320 50660 01010 70245 46302 0 0 0 77777 PK23 PK23 67502 50210 0 01244 01656 54345 31515 0 01010 01010 01010 54326 66650 ~') oJ., 30543 ' ALL..., ~6j:VU' n s T S !::::. ,.,. [" I!o r. n 51 CA 67652 PK42 27777 0 U S IA 0 40 1 65 34 51 2 3 Printout #16 20 52654 50131 77777 0 64667 63330 12466 15251 10101 10101 43424 10177 0 0 0 77777 11 17 66634 17777 0 75150 72565 26665 40177 0 10101 10101 10101 74730 16567 S I U B S C R S ~ F P T 0 R !::::. 77 77 77 - -I - C- !::::. N D E !::::. F I N I N !::::. T L U H E L 0 A T A p 0 G """" . T!::::.!::::.!::::. !::::.!::::.!::::.!::::.!::::.!::::. !::::. V A R I A B L E , !::::. 77 - -- -- --. 77- -77 77- -77 77- F U N 0 N -, !::::.- A- G C T I !::::. 77 77 - 0- - M !::::. s U N B S C R I P T S b. F 0 R b. 77 .!::::. b.!::::.!::::.b. b.!::::. !::::.!::::.!::::.!::::. !::::.!::::. b. !::::.b.fl A R N 611 G U M E U n L r . U 77 77 Printout #17 #17A IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 40 40 65 34 70 46 0 21 32 26 01 01 0 22 65 34 51 30 54 01 33 22 CA PL PL2 PL2 67256 52663 24543 30210 0 01244 01656 54345 31515 01010 0 77777 67256 52666 54014 65660 34242 50516 30264 77777 PL26 14 24 52654 02701 42425 17777 0 75150 72565 26665 40101 10101 0 77701 52654 50131 62466 17024 54630 60126 53027 77777 Printout #18 #18A B S C R P T E D ~ A R I A B ~ 77 77 L E S U I V --- - ~ A M 0 N G ~ S U B S C R I P T S ~ F 0 R ~~ ~~~~~~ , -. 77- -77 -77 -77 ~ S U B I P 0 R E S R I T ~ L T ~ A B ~ N 0 H . 612 E S C R S ~ F A T V A L E T ~ C C K E D 77 77 77 77 77 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 40 46 73 34 47 0 21 32 26 01 01 0 22 40 52 01 66 73 01 0 21 32 26 01 01 0 22 CA IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 40 65 34 51 0 01 27 PM PM1 34255 01545 50300 25514 0 01244 01656 54345 31515 01010 0 77777 PM16 65306 51523 34515 47255 77777 0 01244 01656 54345 31515 01017 0 77777 PM33 PN PNI 67256 14 42454 16766 16573 62101 0 75150 72565 26665 40101 17777 0 77777 15 72751 05424 00165 14621 77777 0 75150 72565 26665 40101 77777 0 77777 17 52654 52666 50131 52 65 01 01 54017 0 34502 30016 54652 66012 66245 01010 77777 77777 0 64667 56752 65434 65150 06621 10101 77777 0 0 0 0 0 0 0 0 0 22 77777 PN20 77777 30 CA Printout #19 I y ~ I N M B L B R A R R 0 U T E ~ S y 0 L t ~ ~ A M 0 N t G l:1 U B S C R I P T S 6 F 0 R ~~ ~~~~ 77 77 s -. 77- -77 77- 77 77 P S E ~ 0 P T I 0 y M B ~ 77 77 Printout #20 U D 0 E R A N ~ S 0 L t 77 77 77 ---- , ~ A M 0 G ~ S U B C R I P T ~ F 0 R ~ ~~~ 77 77 - - S I U B S --- N S S ~ 77 - 77 77 77 77 77 Printout #21 C R P T S A F 0 R ~ 77 77 77 - -I ~ D E E R P T S T - - N C -L -U ~ S U P C R I ~ C 0 N A N T t S ~~~~6~ ~ 77 77 77 77 77 - - - - - - - - - - - -77 -77 -77 -77 -77 613 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 40 26 47 32 32 26 01 0 21 51 01 0 0 0 22 40 34 30 47 31 27 26 01 0 22 CA PO POI 51474 34656 01244 01656 54345 31515 0 01315 71345 01010 0 0 0 77777 P020 50265 26660 25305 01702 01656 54345 31515 0 77777 P031 16 72401 53450 75150 72565 26665 40177 0 14646 03221 10177 0 0 0 77777 11 15454 15067 40151 44634 72565 26665 40177 0 77777 C 0 M M M I S S G ~ A M G ~ S U C R I P ~ F 0 R ... , - ... ... ~ A ~ I N 0 N B T S S ~ Printout #22 77 - - F 0 L L 0 W I N G , ~~ ~ ~ ~ 77 -... -- ...- -- -- -... -. 77- 77- -77 -77 77- Printout #23 I E M F N C 0 C T E V o!:1 S C R I B ~ ~ F 0 R R ~ N U R ~ 0 A L I u B S P T S R ~ 77 -. -77 -77 ...77 77 77 614 40 30 01 50 47 51 01 01 54 01 24 30 51 0 22 01 66 50 30 40 26 47 32 51 26 65 34 54 65 51 0 22 pp PPI 50270 65305 26300 25514 46465 26465 65672 34526 01010 54305 65346 54017 0 01543 51310 30502 51660 26453 PP24 51474 34656 01315 71345 46516 67256 52660 30506 34650 54017 0 77777 CA PP40 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 22 15131 06630 16573 60131 17165 16530 56526 60101 10152 06633 50131 77777 0 06566 16530 63001 12633 02722 14 72401 53450 14646 03201 53001 52654 15224 63330 10131 77777 0 77777 E N /:). S N C M B 0 L ~ C D ~ Printout #24 0 F E N T E ~ S E y 0 L ~ F L 0 W S L 0 S E S U B S C RIPTAA 6. ~~~~~p A R E N T H E S I S ~ F 0 R ~ 77 77 77 . ~ ~ 0 R E S T F ~ S E T E N C E ~ N 0 T ~ C H E C K E D ~ M M A ~ S S I N G ~ F 0 L L 0 W I N G ~ C L 0 S E ~ S U B S C R I P T ~ P A R E N T H E S I S ~ ~ F Printout #25 C 0 M I 0 R -. 615 ... ~ 77 77 77 -- - - 77 77 77 77 77 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 IA 40 71 32 67 65 0 77 54 65 67 01 51 26 40 71 66 24 65 32 47 51 26 01 0 22 CA PQ PQl 24545 21012 47305 43015 0 01656 31466 22012 47305 01010 66012 45302 PQ16 51542 24523 52523 01244 01245 30506 31013 66345 77777 0 77777 PQ31 14 03450 45432 06617 13101 0 75230 75167 45432 06665 10150 63330 72277 13 72101 02101 02454 75150 43267 66501 16750 15021 77777 0 77777 Printout #26 W A R N I N G , ~ A R G U M E N T ( S ) ~ 0 F ~ 77 ~ S U P E R F L U 0 U S .~ A R G U M E N T S ~~~~~ N 0 T ~ C H E C K E D 77 . W 0 T A A P S ~ G ~ M E 0 F C T ~ 77 R D P P ,~ , ~ Printout #27 E E A R A M 0 N A R G U N T S 6. U N ~ F 0 N , 77 77 77 77 I -. 77- -77 -77 -77 -77 616 (\ v 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 IA 40 30 01 50 47 47 54 66 31 51 0 22 01 50 01 33 22 40 34 27 01 50 22 51 66 65 01 51 01 01 01 51 PR PRl 50270 65305 26300 25514 51503 32674 65015 67502 50210 0 01543 51310 66305 50516 30264 77777 PR22 50702 01662 27306 24663 01305 31016 30502 73472 01010 46465 71515 66245 54306 31016 1)(\ ,",v 15131 06630 16573 60124 20124 73050 13101 66634 10177 0 06566 16530 02630 60126 53027 77777 21 44634 45230 53432 45150 02701 53050 63001 55146 10131 17165 42721 23022 56601 53050 ":tV VV VVVV~ 'lnc:nl) 63001 41 42 50 30 51660 26453 PR43 12633 02722 AI\ t...t... CA E N ~ S N C M B M 0 D ~ 0 F E N T E E ~ S y R G U T F 0 0 L ~ A N G ~ A M E N S ~ 0 F ~ D N C T I N , ~~ 77 ~ R E S 0 F ~ S ~ 0 0 T ~ T E E C C D N T E ~ N H E . N C K E 77 77 77 77 77 Printout #29 I N D ~ ~ N V A T A E S T I E N ~ S L I P I E D A 0 D ~ E 0 F T E N C E S y M B 0 ~ ~/J.~~ 0 L L 0 W . /J. W 0 R D /J. T A P E G N ~ N /J. L F S . ~ R E S T ~ 0 F /J. s E N 1\1 1'4 rv G' 1:0 L...l N 0 T l:l C H E K E D rr .I. 617 Printout #28 G' 1:0 C 1\ . IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 40 34 27 01 50 22 24 30 46 46 71 66 54 31 30 51 26 40 34 27 01 50 22 01 66 01 71 51 24 30 01 50 66 45 CA PT PTI 50702 01662 27306 24663 01265 01515 47340 51500 46517 51542 24523 30656 01653 50263 66012 45302 PT22 50702 01662 27306 24663 01515 52245 33306 31514 65010 54272 52302 65660 65305 26300 01263 30272 PT42 20 44634 45230 53432 45150 14747 40165 22651 13151 16501 72101 02201 60151 05066 00150 63330 72277 20 44634 45230 53432 45150 23050 43050 53465 64651 10171 10166 20154 15131 06630 15051 33026 27777 Printout #30 I D ~ N N V A L ~ T A P D E S I A T I E G I 0 N 0 M M R ~ S .~ C A ~ 0 E M I C 0 L 0 N ~ F 0 L L 0 W S ~ W 0 R D ,~ T A P E .~ R E S T ~ 0 F ~ S E N T E N C E ~ N 0 T ~ C H E C K E D 77 - . I N D ~ ~ D N A . ~ ~ 0 P P A R T H ~ F Printout #31 V A L I T A P E E S I G T I 0 N E S E E N N I S 0 L L 0 W S ~D-D- W 0 R D ,D- T A P E , ~ R E S T ~ 0 F ~ S E N T E N C E ~ N 0 T ~ C H E C K E D . 77 77 618 0 1 2 3 4 5 6 7 ,n l.V 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 IA 40 34 27 01 50 22 30 50 65 51 51 24 30 01 50 66 45 40 34 27 01 50 22 51 0 21 51 01 71 66 54 31 30 51 26 CA PO PUI 50702 01662 27306 24663 01264 01522 66333 01315 71650 54272 52302 65660 65305 26300 01263 30272 PU22 50702 01662 27306 24663 01657 46210 0 01315 71650 01010 51542 24523 30656 01653 50263 66012 45302 PU43 Printout #32 20 44634 45230 53432 45150 65165 45430 06534 14646 10171 10166 20154 15131 06630 15051 33026 27777 21 44634 45230 53432 45150 34725 17777 0 14646 10101 10101 72101 02201 60151 05066 00150 63330 72277 I N D tJ. T A tJ. D E S A T ~ C E ~ P N . N T I P E I G V A L H I L A E 0 N 0 S R E S I r r L.. v L.. ~ F 1'\ 0 W W tJ.~ 0 R D tJ. T A P E ~ R E S T tJ. 0 F ~ S E N T E N C E ~ N 0 T ~ C H E C K E D 77 77 C' ~ s . . I N D tJ. tJ. D N A . tJ. - - - 0 L Printout #33 V A L T A P E S I T I 0 s y M I E G N B • tJ. 77 77 -- - , tJ. F 0 0 W L L S~tJ.tJ. ~~tJ.~~~ W 0 R D ,~ T A P E .tJ. R E S T tJ. 0 F ~ S E N T E N C E ~ N 0 T ~ C H E C K E D 77 . 619 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 40 34 27 01 50 22 24 67 65 21 0 21 51 54 52 65 65 26 01 30 40 34 27 01 50 22 27 54 01 46 0 21 51 54 52 65 65 26 01 30 CA PV PVl 50702 01662 27306 24663 01463 54730 66345 73472 01010 0 01315 71650 27210 30220 66015 30506 30015 26333 27227 PV25 50702 01662 27306 24663 01526 51015 24663 65734 21010 0 01315 71650 27210 30220 66015 30506 30015 26333 27227 PV50 23 44634 45230 53432 45150 42554 15451 03001 55146 10177 0 14646 17151 16624 15430 13101 63050 05166 02645 77777 23 44634 45230 53432 45150 53067 15230 45150 72551 10177 0 14646 17151 16624 15430 13101 63050 05166 02645 77777 Printout #34 N V A L D /J. T A P /J.D E S I N A T I 0 /J. L I B A R Y ~ R U T I N E S y M B 0 I I E G . N , -, /J./J./J.~ R 0 /J. L 77 ----- ~ W F 0 L L /J. w 0 R D , /J. T A /J. R E P E S T /J. 0 F /J. 0 s · s E N T E N C E ~ ~ 0 T /J. C H E C K E D I N V A L · 77 77 77 Printout #35 I D /J. T A P E /J. D E S I G N A T I 0 N . /J. P S E U D 0 /J. 0 P E R A T I 0 N /J. S y M B 0 L , /J./J./J. 77 - , ~ F 0 L 0 W s /J. w R D ,/J. T P E .~ R S T /J. 0 F S E N C E /J. /J. C H E D · 620 .- L 0 A E /J. T E N N 0 T E C K 77 77 77 IA 0 40 1 34 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 27 01 46 66 30 30 30 01 34 51 24 30 0 0 0 21 51 54 52 CA PW PW1 50702 01662 65734 23015 01513 50663 01675 26453 50515 72302 34506 54342 21017 0 0 0 01315 71650 27210 30227 PW25 24 44634 45230 72551 43065 10165 05026 02633 02722 00231 70152 60170 42546 77777 0 0 0 14646 17151 16624 77777 0 1 2 3 4 5 6 40 34 27 01 54 66 30 PX PXl 50702 01662 50674 23015 01513 50663 7 30 01505 16601 10 11 12 13 14 15 16 17 20 21 22 23 26 27 65 01 24 0 0 0 21 51 54 52 33302 22010 65674 26515 50662 0 0 0 01315 71650 27210 30227 PX24 64530 10124 73027 06566 10177 0 0 0 14646 17151 16624 77777 IA CA 23 44634 45230 72530 43065 10165 05026 Printout #36 I V D ~ T ~ S Y L , ~ T ~ 0 E N T N . E ~ E C I A P E A L M B 0 R E S F ~ S E N C U N C E D ~ N 0 N I X E. D ~ 0 I N T ~ A R I A B E , fl 77 77 K - H . F P V L 77 - -- -- -- - -- -, fl- F- 0 L- L0 W R D P E s fl w , . ~ T 0 A 77 77 77 Printout #37 I N V A L I D ~ T A P E lJ. N U M B E R ; ~ R E S T ~ 0 F lJ. s E N T E N C I\J A ., E I-J. 0 T 1\ C H E C K E D . lJ.lJ.f:j, A S S U M E D lJ. C 0 N S T A N T , !:l 77 .&. -- - -- - t fl 0 W R D P E 621 F - - - 0 L L 0 fl T A 77 77 77 s lJ. w . ~ IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 40 51 24 30 51 01 27 24 01 27 26 51 01 50 01 46 66 30 30 30 40 26 52 33 31 65 01 50 22 46 26 51 01 50 01 46 66 30 30 30 CA PY PYI 52305 54305 65346 46465 66245 30653 66345 65335 01253 51474 54013 51310 66305 65734 22015 01513 50663 01675 26453 PY25 46516 24543 30653 51464 01662 27306 24663 01653 2'7012 51474 54013 51310 66305 65734 22015 01513 50663 01675 26453 PY50 23 00152 06633 50131 17165 23001 43250 15022 16746 00177 72401 05027 16530 02630 72551 43065 10165 05026 02633 02722 23 53001 05066 46501 65171 45230 53432 45150 35167 53001 72401 05027 16530 02630 72551 43065 10165 05026 02633 02722 0 P E E A R E S I N N II P S fl T Printout #38 H F 0 L L 0 W S fl T A P E fl D E A T II S D fl C 0 0 R fl N II L T E E E S I I 0 H 0 B M ~ 0 F T E E G N N · U L fl 77 fl M A E N D ~ S E N C E S Y M B 0 fl R E S II 0 F fl S N T E N C ~ U N C H . C K E D · Printout C L 0 S E fl P A R E N T H E S I S fl F 0 L L 0 W S II T A P E !J. D E S I G N A T I 0 N !J. s H 0 U L D !J. B E !J. C 0 M M A !J. 0 R !J. E N D . !J. 0 N T ~ S L T E E E 622 F E y fl s M B !J. R E fl 0 F fl N T E N !J. u N C C K E D . E N C E 0 S S C H · #39 IA 0 1 2 3 4 5 6 7 40 26 51 01 50 01 46 34 PZ PZl 51474 54013 51310 66305 65734 01473 50322 .. n "')A .LV .c;.':1 ..J.c;...Jvv 11 12 13 14 15 16 17 20 21 22 23 47 51 27 0 0 0 22 01 50 01 26 25514 46465 01257 0 CA J::"')-:>AA 0 0 01543 51310 66305 67502 45302 PZ24 23 72401 05027 16530 02630 72551 46565 20166 16573 60131 17130 30177 0 0 0 06566 16530 02630 63330 72277 Printout #40 C 0 A l1 N D E E L S C B S 0 M M R ~ E F ~ 0 ~ N T E N ~ S y M I II li. ~ M N G n r 1':' .c. M B 0 0 L L D ~ B . ~ N ~ C 623 I J\ ~ L ~ C' i::) 0 S T Y ~ F 0 W E Y ~ 77 ---- - ~ R E 0 F ~ T E N U N C K E D 77 - - S- TS E C E H E . TA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 40 65 26 01 30 51 52 34 51 24 31 30 30 22 40 71 32 51 54 65 66 26 52 32 52 46 66 30 66 54 31 30 32 22 CA SA SAl 30506 30015 26333 27012 50270 30012 32502 50012 67653 01525 27345 54545 77777 SA17 24545 21010 65300 30506 34650 33516 51545 51502 01010 30500 46517 24523 65343 34515 30656 01653 50263 50515 77777 SA42 15 63050 05166 02645 53073 16624 73065 46634 53026 00151 43026 03201 15465 77777 23 03450 12646 15224 63330 17134 76601 43065 73450 10151 13151 16501 00127 25024 02201 60151 05066 00134 43027 77777 Printout #41 S E C E E D ~ C 0 N P E N T ~ N H E ~ B D ~ ~ D N A ~ B E 0 C N T K E Y A E S T I G 0 N . 77 77 77 77 77 I E C A U S E ~ 0 F ~ P R E C E D I N G ~ E R R 0 R S T Printout #42 W A R N I N G , ~ ~ C L 0 S E ~ P A H E T H 0 U T C 0 R R E P 0 N D I G ~~~~ P E N ~ F L L 0 W S T A P E ~ E S I G N T I 0 N R E S T ~ F ~ S E N E N C E ~ G N 0 R E ~ R E N S I T S ~ W I . . 624 S N 0 0 ~ D A ~ 0 T I D 77 77 77 77 77 IA 0 40 1 71 2 3 4 5 6 7 32 52 34 51 66 30 25 46 25 01 31 30 73 51 51 30 01 66 21 24 0 0 0 22 01 50 01 30 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 CA 5B 5Bl 24545 21010 30012 32502 50016 34515 51674 35 03450 16624 73065 46634 53026 00165 62701 30013 15146 51713 73016 30502 01653 50263 47255 54012 52305 24273 52245 33306 34506 27015 0 0 0 01543 51310 66305 34325 27227 5B36 02701 63330 70151 05066 00165 14601 45001 00133 45032 43050 53465 56630 13101 0 0 0 06566 16530 02630 05154 77777 Printout W A R N I G , ~ ~ T P E ~ D E I G N A T 0 N ~ 5 E T I 0 N ~ H 0 U L D T:' B .r. 1\ D TO r n. v N A 5 I C S ~ T L L 0 W E D ~ B Y ~ T H E ~ E N D ~ 0 F ~ 5 E N T N M 0 R 0 P E A ~ P T H , I A D E y C E ~ S B 0 L ~ ~ A N ~ E N ~ H D I N G A R E N E 5 I 5 N S T E ~ 0 F ~ - - -- -- -- -- - R- - 5- T- ~ ~ N T ~ I E D 625 E 0 F ~ 5 E E N C E G N 0 R . 77 77 77 #43 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 IA 40 71 32 51 54 65 66 26 52 32 52 52 24 26 01 50 30 01 50 50 CA SC SCI 24545 21010 65300 30506 34650 33516 51545 51502 01010 30500 30245 47515 51466 33302 32652 65660 65305 26300 51543 SC24 23 03450 12646 15224 63330 17134 76601 43065 73450 10151 12452 46501 03201 74750 42734 20154 15131 06630 13432 02722 Printout #44 W A R N I N E N T E G , ~~ C L 0 S E ~ P A R H S ~ W I H 0 U T ~ 0 R R E S 0 N D I N ~~~~ 0 E N ~ A P E A R S ~ M 0 N G ~ 0 L U M N H E A D I S I T C P G P P A C ~ N G S E S T ~ S E N C E N 0 R 626 . ~ ~ R 0 F N T ~ E E I G D . IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 40 71 32 30 32 47 27 33 25 46 25 50 47 27 24 30 54 51 66 65 21 24 0 0 0 22 01 50 01 30 CA SD SDI 24545 21010 26302 01265 50013 34503 51674 30013 51713 73015 01265 50013 34503 54305 65346 01305 31016 30502 73472 34506 27015 0 0 0 01543 51310 66305 34325 27227 SD36 35 03450 15254 73450 14667 33024 20165 62701 15146 02701 15230 14667 33024 20152 06633 50151 02701 53050 63001 55146 56630 13101 0 0 0 06566 16530 02630 05154 77777 Printout #45 W A R G t~ E C E G ~ C M N ~ D I N N I N ~ P R D I N 0 L U H E A G ~ S H 0 U L D ~ B E ~ F 0 L L 0 W E D ~ B Y ~ 0 P E N ~ C 0 L U M N ~ H E A D I N G ~ P A R E N T H E S I S ~ 0 R ~ E N D ~ 0 F ~ S E N T E N C E ~ S Y M B 0 L , I N S T E A D ~ 0 F ~ ----.1:1- R- - S- T- E ~ 0 F ~ S E N T E N C E ~ I G N 0 R E D 77 77 77 . 627 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 40 71 32 27 30 30 51 26 01 50 30 01 50 50 40 71 32 44 01 01 66 01 54 30 34 01 71 34 54 31 30 32 22 CA SE SEI 24545 21010 01513 50663 01657 46013 51466 33302 32220 65660 65305 26300 51543 SE17 24545 21010 24263 26465 52245 33306 24525 01665 01010 65653 31514 34503 66463 30656 01653 50263 50515 77777 SE41 15 03450 13050 10165 05026 34725 45001 74750 42734 10154 15131 06630 13432 02722 22 03450 12427 05066 16530 43050 53065 23024 10125 10147 45032 64651 20166 02201 60151 05066 00134 43027 77777 Printout #46 W A R N I G , ~~ N E N ~ S N C M B N ~ M N D I D ~ 0 F E N T E E ~ S y 0 L ~ I C 0 L U ~ H E A N G ~~R E S T ~ 0 F ~ S E N T E N C E ~ I G N 0 R E D . . W A R N I G , ~~ A J A C E N ~ C L 0 S ~ P A R E T H E S E ~ A P P E R ~ T 0 ~ Printout #47 N D T E N S A B M E~~~~ I S S I N G ~ F 0 L L 0 W I N G ~ T I T L E ~ R E S T ~ 0 F ~ S E N T E N C E ~ I G N 0 R E D . . 628 77 77 77 77 77 0 1 2 3 4 5 6 "7 I 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 IA 40 71 32 51 54 65 66 26 52 32 52 46 66 01 51 66 34 27 40 71 32 66 26 65 01 46 01 27 30 30 51 51 51 33 32 50 65 66 51 0 0 0 22 01 50 01 30 CA SF SFl 24545 21010 65300 30506 34650 33516 51545 51502 01010 30500 46517 34664 54306 31016 30502 32505 22777 SF23 24545 21010 46300 66345 33516 25300 46517 25730 01513 50663 01657 46015 52305 46674 30242 01522 66333 21013 30242 31017 0 0 0 01543 51310 66305 3"4325 27227 SF57 21 03450 12646 15224 63330 17134 76601 43065 73450 10151 13151 16501 63022 56601 53050 63001 15430 77777 34 03450 16634 16530 15001 74627 13151 13027 13050 10165 05026 34725 15401 00126 75001 73450 45430 06534 45065 70101 77777 0 0 0 06566 16530 02630 05154 77777 Printout #48 W A R N I N G , b. b. C L 0 S E b. p A R E N T H E S I S b. w I T H 0 U T b. rV P {\ V R R v U 0 N D I C .;J N G b.b.b. b.o P E L L T I b. R 0 F T E I G D . b. F 0 0 W S b. N . T L E E S T b. E N b. s N C E II N 0 R E 77 77 77 77 Printout #49 W A R N G , b.b. T L E b. C T I 0 S H 0 U I T s N I E N I::l L D b. F 0 l:l B E L L 0 W E D b. B Y ~ E N T E N y M b. 0 R E N ~ U M N A D I p A R C B D E E b. 0 F b. S N b. s 0 L 0 0 H G P L E !::l b. C !::l N E I N T H E S S , !::l I N S T E A D ~~ 0 F !::l 77 77 77 - fl- -- -- -- -- - - - R E F !::l N T E N ~ 1 G N E D 77 !::l 0 . 629 S T S E C E 0 R 77 77 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 IA 40 71 32 27 30 30 51 66 01 51 30 30 54 40 47 33 70 34 01 01 27 34 01 51 50 0 0 0 01 33 22 CA SG SGI 24545 21010 01513 50663 01657 46013 34664 54306 31010 50663 01343 30272 SG16 51543 24500 30017 24254 66510 46346 22017 24254 01010 46465 32017 0 0 0 50516 30264 77777 SG37 14 03450 13050 10165 05026 34725 45001 63022 56601 10165 05026 25051 27777 21 00166 13134 02454 63065 12530 56630 02454 63065 10131 17134 77777 0 0 0 60126 53027 77777 Printout #50 W A R N G , ~ D ~ 0 E N T E fl S I ~ E F ~ E N y M N N S C B 0 L fl I N fl I T L R E S E T fl T fl 0 F fl fl S ~ E N T E N C E fl I G N 0 R E D 77 77 . M 0 R H A N V E fl I A B ~ T o ~ L I D fl I A B . E ~ T Printout #51 fl F I V A R L fl E B S T S E E V A R L E S fl~~~~ F 0 L L 0 W I N G /1 77 77 77 H C K E - -----fl- N- 0- T-- fl-- C-. 630 E D 77 77 77 77 77 IA 0 1 2 3 4 5 6 40 71 32 54 67 24 01 7 70 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 46 72 27 27 40 71 32 54 50 33 30 01 25 47 72 27 27 34 0 0 0 0 43 CA SH SH1 24545 21010 30012 47500 27345 66332 24543 30652 26306 30463 22777 SH15 24545 21010 30016 01050 24542 54650 70245 46300 30220 26306 30463 01463 50320 0 0 0 0 22777 SH37 13 03450 14751 65146 13330 03265 45001 42425 20130 56501 06630 77777 22 03450 14751 63324 60126 42666 13450 43424 15024 10130 56501 06630 02470 17777 0 0 0 0 77777 Printout #52 W G R U A ~ V L A R N t E M D ~~ ~ C N ~ I N H A R I T A E S X C E D E L D . I N M 0 0 L H E G S N ~ A B . ~ E E T E S S ~ 77 77 77 77 Printout #53 W A R N G , !::::. ~ R E ~ T N ~ 2 3 H A R A E R S ~ ~ V A R B L E ~ M E .~ X C E S I N M 0 H A ~ C C T I N I A N A ~ E S ~ D E L E T E D ~ L E A V I N G ~ 77 77 --- --- --- --- --- --. 77 77 77 77 ) 631 0 l 2 IA 40 71 32 3 54 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 50 33 30 01 50 34 72 27 27 34 0 0 0 0 43 CA SI SII 24545 21010 30016 01050 24542 54650 26514 01333 50322 26306 30463 01463 50320 0 0 0 0 22777 SI23 22 03450 14751 63324 60126 42666 13450 66747 02427 20130 56501 06630 02470 17777 0 0 0 0 77777 Warning #54 W A R N I N G ,~~ M 0 E~ ~ 2 N H A 3 ~ C A R A C T R S ~ I N C 0 L U M ~ H E A D I N R N H E ~ G X C E D E L D ~ L I N T . ~ E E E T S S ~ E A V G ~ 77 77 - ... 77- -77 77- -77 ) 632 TA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 40 71 32 54 50 26 66 50 30 30 30 01 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 CA SK SKI 24545 21010 30016 01040 33245 30546 01663 22013 65650 46306 46302 32017 0 0 0 0 0 D 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22777 SK42 41 03450 14751 63324 41401 42426 50134 46646 07226 10127 63027 47034 77777 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77777 Warning #55 W A R N G , f1f1 R E ~ N ~ 1 C H A T E R N ~ T fl E E S s E L E ~ L E N G ~ . - T 1 R S r E r N M 0 H A 9 ~ A C ~ r T L X C DD D T E D A V I 77 77 77 - - - - - - - -- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ) . 77 77 77 77 633 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 34 27 01 50 22 01 54 66 71 65 67 30 66 30 30 54 40 66 50 31 01 27 24 01 01 01 30 30 52 47 CA SL SLI 50702 01662 27306 24663 01662 50674 01040 01244 30270 01516 66016 22015 01513 50663 01343 30272 SL22 51510 73012 30543 66245 30653 66345 24475 46346 01010 50663 65015 54512 22777 SL37 20 44634 45230 53432 45150 45230 72530 15051 64651 10124 76652 62452 43065 10165 05026 25051 27777 15 14724 73431 05066 23001 43250 15065 15032 56601 10165 05026 13101 54630 77777 I N V A L D ~ T A P ~ D E S I N A T I 0 .~ T A P ~ N U M B R ~ 1 ~ N T ~ A L L W E D ~~ S ~ 0 U T U T ~ T A E ~ R E T ~ 0 F ~ E N T E N E ~ I G N R E D 77 . . T 0 N y F E ~ T D E A T Alarm #56 I E G N E E 0 0 A P P S S C 0 77 0 ~ M A ~ R D I F E N T A P E ~ S I G N I 0 N S ~A M 0 N G ~ L I S T ~ ~~~~~S E N T E N C E S ~ 0 F ~ P R 0 B L E M 77 77 77 77 634 Alarm #57 Explanation of Indicators, Counters, Temporaries, etc. LYO Index counter (C ) -(# subscripts) l Avail. add. in assem. blk. ("u" & "v") Avail. add. in hdg. list. Temp. or add. for 1st col. hdg. in hdg. list - 1 Indicator 1st yare 1 2 3 4 Indicator 2nd yare Indicator 3rd yare Indicator 4th yare Indicator 5th yare Index counter (C ) - (#char. in assem. 2 blk. word) Index counter (C ) Heading indicator3 1st bi t = 1 ~ col. hdg. present\ (2nd bit = 1 ~ title present ) Col. hdg. count Char. count (v) or string-out count ("u" 5 6 7 10 11 12 13 14 15 & "'v") 16 17 20 l Current variable XS3 symbol 21 22 23 24 25 26 27 30 Assembly Block (25 ) 8 31 32 33 34 35 36 37 40 41 42 43 44 45 46 41 50 ) Parenthesis level Count of subscripts processed Subscript parenthesis level Function parent. level (subs. yare within subs.) Function symbol or subs. yare within subscript sym. 635 PRINT STRING-OUT Print string-out uses three lines of GN (Get Next Character Routine) with the following understanding concerning their function. GN2 holds the buffer input VK address in u and v of the line from which the last character has been obtained. GN3 holds the shift that has been needed to extract the last character. It will vary from 6 to 44 8 • GN6 holds the number of the blockette from which the last character has been obtained. This number varies from 0 to 5 for the 6 blockettes of the block of input data. When the Print Routine has been entered from CT, Control Routine, the divider following PRINT is the last character. It should be a space, but whatever it is. it is not included in the group of XS3 codes stored in the output for later conversion and printing. The current line containing the last character is replaced by a line in which 77's replace all characters already obtained from it. GN3 is used to make up the masking QS instruction to secure this replacement. The current blockette is examined from the last line backward to find the last line in the blockette which is not a line of spaces. From the address of this line is subtracted the address of the current line to get the number of lines of print data to be transferred to the buffer region output, VN. A search for ~ . is made of the last two lines in the blockette that are not lines of spaces. If a ~. is found, the Print String-out is terminated. If it is not found. the first line of the next blockette is examined. If this is a line of spaces. all lines from the second on to the last line of the blockette which is not a line of spaces are transferred to th& output. IF this next blockette first.line is not a line of spaces, it is assumed to be a line number, and this causes a termination of the Print String-out. Continuing in this manner, each blockette is successively examined until a ~ .is found as indicated, or until a line number is found in the following blockette. However, if or when print data in 6 blockettes has been transferred to output. the routine is automatically terminated. When the routine is terminated, GN2 is set to the address of the first line of the blockette following the last one from which data has been transferred. 636 GN6 is given the proper number of this blockette. The exit to the Control Routine eventually puts future analysis in the Get Next Sentence Routine. This routine checks GN2 against a set of addresses of blockette first lines and if an equality is found, gets the next sentence from the blockette in which the address in GN2 is found. Otherwise, if no equality is found, the Get Next Sentence Routine gets the next sentence from the following blockette. Following a print instruction, of course, such an equality is always found. When blockette 5, the last of 6 in the block, is one of the group examined, a new block of data is read in by the routine and GN2 and GN6 reset as needed. When a print instruction is set on the Unityper, a line number goes in the first 6 places on the first Unityper line. The tab key should be set and used for all runover lines so that a hanging indention of 6 spaces starts each runover line. Failure to do so will cause a premature termination of the Print String-out and an error print-out originating from a string-out subroutine. Preferably words should be set right out to the end of anyone Unityper line without any excess spacing. No hyphens should be used to break words at the end. If all of a word does not go in one line, as many letters as possible should be put on the top line and the remaining letters should start on the 7th position following the 6 spaces in the runover line. However. the routine does not require such close typing right out to the end preceding a runover. Much of the excess spacing that might be put in by ragged indentions on the right is eliminated by the routine. As much as 5 spaces may be left to occur in the print-out by the present system of assembling data from blockettes. If excess spacing is left starting from the 7th position on, or if excess spacing is left between words in a line, such excess will be fully duplicated in the final print-out. ~ .'s, as explained, when occurring in the last two non-space-filler words in a Unityper line or blockette, have the same effect of ending a sentence as in the rest of UNICODE. However, their uS'e elsewhere in the print-out data does not have this effect because this data is not examined symbol by symbol. The blanket rule of eliminating ~. IS, except at the end of a sentence, prevents pO.ssiblecJl.nfu.sion conc.e,r.ni.ngtheir.. use. Likewise,. they may .be eliminated from the end of a Print instruction since a following line number in the next blockette serves the same purpose of termination. However, their inclusion at the end speeds up the program. 637 Flow Chart for PRINT String-Out Routine Find last word in current blockette that is not a line of spaces. Replace with 77's all characters in current line except those following PRINT and the divider following it. Count of no. blockettes examined? Is this the las blockette in buffer ompute number of words in block ette to be transferred to output Transfer significant words of blockette to output Is 1:::.. in last significant linesl---~ of blockette? Yes Set up indicators for string-out control Is this the last blockette buffer 6 blo cke ttes Page 1 of 2 No Setup indicators for string-out control Up count of words in output Read in new block of data Write block of string-out on tape Setup indicators for string-out control Setup for examining next blockette Is 1st line of blockette a line of spaces? 1---"",( Up count of words in output Is 1st line of block a line of spaces? No Setup indicators Setup for for string-out ~----~ examining next control blockette Read in new block of data 638 Flow Chart for PRINT String-Qut Routine-Cont. Flow Chart for Subroutine that looks for 'r---~ Set up to examine la st significant line Page 2 of 2 b.. in Two Lines - /. I s there a f:l, to rightmost position on next to last line? Is there in line? Yes No Set upto examine next to last significant line Is there a in line? Yes N0-V Yes PRINT STRING-OUT REGIONS RE RE RE RE RE RE VN3507 WT3207 VK3317 GT21 GN1324 CT714 RE RE RE RE RE RE RE RE PS4400 TZ4445 HT4477 NR4527 VR4551 884562 ZP4605 WP4631 640 String-out subroutine regions used. Print String-Out o IA MJ PS o Exit ZP23 TP TP ZP6 ZP14 12 TP 13 SA GN6 BB15 14 TV 15 SP 16 TV A 30000 A PS17 TP 30000 A EJ ZP2 PS22 PS24 ZP3 PS17 WPI } 25 WPI 10 11 Loop to find 17 last line in a blockette that 20 is not a line 21 of spaces. 22 23 24 Computation of 25 number of lines 26 to be trans27 ferred to VN 30 from VK block- 31 ette 32 MJ RS MJ TV LQ QT TV TP QT TN L~~ ~i 35 LA 36 TV 37 RA 40 TV GN2 GN3 ZP BB16 CT PS7 1 TV 2 TP 3 DV 4 SA 5 TV 6 TP 7 QS A 30000 o PS17 o PS17 WPI ZP4 GN2 ZP4 WP2 A WPI ZPl A17 A PS43 Current address to v of PS7 A A } Shift ~ A 6 Getting proper mask into Q 17 } PS6 ~oooo Replacing current line with 77s and any characters other than divider to be printed Clearing counter of blockettes used Number of lines accumulated (4) to line accumulative counter Blockette count to A Getting address of address of last line of current blockette to u of PS15 WP5 WP6 17 A i~l~ ~P2 WP2 A ;P2 _ } Getting address of last line of current blockette to u of PS17 Contents of last line of current blockette to A Is it a line of spaces? Reducing u of PS17 by one Address of last significant line in a bloc ket te to WP 1. } Current address to v of WP2 and v of A L J ~~43 } GN2 ZPl2 PS44 41 TV 42 RA 43 RP 44 TP WP6 PS44 PS44 } B820 30000 ~} CA PS45 o IA RA TZ WP6 WP2 1 TP A VN 30000 Number of lines in blockette to be transferred to WP2 Setting up u of PS43 so that right number of lines will be transferred to output region Setting up u of PS44 so transfer to VN can be started Getting right address in VN to which transfer of lines is to be made Transfer of excess-three-coded lines of print data to output region Number of lines accumulated plus number of lines transferred from last b1ockives total accumUlated in WP6 to ate. Total number 0 lInes in output to first line of output. 641 2 RJ 3 MJ 4 RJ WT WT1 HT24 PS HT20 o 5 TP 6 EJ ZP2 7 SP 10 AT BB BS 11 MJ 12 RJ 13 14 15 16 Setting up GN2 17 to pro per 1st 20 1i ne add:c e S'S of next blockette to be examined VK o TZ25 TU GN2 TP EJ 17 } GN2 TZ17 30000 !Z14} ZP2 o TZ27 TZ TP SA GN6 BB2l A A TZ23 } TU TU MJ RJ RA RA 17 TZ24 A 30000 17 'IZ25 GN2 WP6 GN2 30000 1Z17 } ZP15 WP2 PS12 30000 o MJ 0 CA TZ32 IA HT WP5 ZP1 Zp fIT11 GN6 ZP13 GN6 ZP1 6 RJ BB22 NR NRI NR2 7 RJ TZ25 TZ17 10 MJ 11 TP 12 EJ 13 AT o TZ GN6 ZP13 ZP1 ~T16 } GN6 14 RJ TZ25 TZ20 o RA EJ TP 3 EJ 1 2 4 RA 5 TV Putting 0 VK VK into GN2 TZ MJ SP AT 31 Getting output written on tape Exit Getting new block read in and getting GN6 reset to zero Is 1st line of new block a line of spaces? If not, it is assumed to be a line number and print is terminated Setting up GN to proper 1st line address of next b10ckette Is 1st line of blockette a line of spaces? If not, it is assumed to be a line number and print is terminated Getting address of address of 1st line of current blockette to Au Setting up u of next 2 instructionsto this address of address of 1st line. Address of 1st line to Au Address of 1st line to GN2 both in u and v Setting up GN2 to proper "tline address of b10ckette to be examined Bringing up accumulative addition to date of number of lines in output Counts no. b10ckettes used Have 6 b10ckettes been used? Is this the last blockette in the block? Adding one to ordinal number of blockette to be checked TZ12 to v of NR1 Check to see if ~. is in last blockette in last 2 significant lines. If not, return to TZ12. Setting up GN2 to proper 1st line address of next blockette ~T25~ 642 Is the current blockette No.5 and hence the last one in block? Increasing b10ckette number by one as we go on to next Setting up GN2 to address of 1st line of b10ckette next to be examined by String-out Control o TZ MJ o HT20 TZ7 TP B817 15 MJ 16 RJ 17 120 Getting new block in. l ~~ :~ 27 RJ NR o HT16 MJ o CA HT30 IA NR MJ 1 MJ o o 2 SP 3 TU 4 RJ WPI 5 TO 6 TP VR5 ZP5 30000 ZP7 7 QT MJ A VRID VR5 NR15 14 ZP16 TP 15 QT 16 EJ 21 RS RJ MJ CA 1 7 10 0 NR22 TP IJ MJ CA ZPll WP3 WP4 30000 WP3 WP o Exi t if aLl. is found Exi t if no Ll. is found Address of last significant line of blockette is sent to u of VR5 Check for Ll . in last significant line Check for last line . in leftmost position on Check for fJ. in righUnost position on next to last significant line Check for Ll . in next to 1ast significant line vn~v VR 6 EJ } lm,n ZP14 ZPI0 2 TP 3 LQ 4 LQ 5 QT 17 VR5 VR 30000 ZPl VR5 IA o TP 30000 30000 o 12 TU 13 RS 17 20 TZ4 to v of NRl Check for Ll . in last 2 significant lines in blockette. (Goes to TZ4 if no fJ.. is found) Returns here if fJ. . has been found BB6 o 11 ::: ~J Reading in another block of data to VI( Keeping up count of number of blocks read in by string-out TV 10 EJ Loop to locate fJ.. 13 GT2 ZP6 Getting a new block of data in GT GN6 30000 NRI NR2 23 TP 24 MJ 25 26 HT24 NRl WP WP4 WP3 Index 4 to WP Mask to WP4 Ll . to WP3 fJ. . shifted 6 places 7777 shifted 6 places Portion of line is masked out Is it equal to fJ. . in shifted position? 6 6 A NR VR3 30000 VRI1 643 IA BB 0 o o o o o o o o o o o o o o VK23 VK47 VK73 VKl17 VK143 VK167 BB7 16 0 o ZP15 17 50 00105 VK o 0 1 0 2 3 0 0 4 0 5 0 6 0 7 0 10 11 12 13 14 15 0 0 0 0 0 20 0 21 0 22 o 1 o VK24 VK50 VK74 VK120 VK144 TZ12 0 BB23 IA ZP o o 1 01010 10101 3 0 1 4 5 0 6 0 7 22 10 77 11 22 12 13 14 15 16 17 0 20 0 0 0 0 0 0 21 0 22 23 0 77 CA o o o o o o 30000 Line of spaces o ~7777} o o o 01 o 5 1 1 Masks Period Mask 77 o o o o Address of address of last line of 1st b10ckette Used to help to get proper mask for changing 1st line of b10ckette that is to be printed Parameter to use GT ih reading in another block Address of 1st line of output Address of address of 1st line of 1st blockette 6 2 01 77 Addresses of last lines of b10ckettes in input VN BB 0 Address of beginning lines of blockettes in input TZ4 o CA 0 0 VI( ~ Index 4 77 7777 7 77777 777 77777 77777 77777 77777 77777 ZP24 Masks 644 Temporary Region - WP o Index for search for 1 2 3 4 5 6 ~. Holds address of last significant line in blockette Number of lines transferred per blockette Holds 6.. shifted for comparison Holds mask shifted Counter for nwmber of blockettes examined Nwmber of output lines - accwmulative 645 IF STRING-OUT There are two separate analyses in this routine - one of the first clause started by IF subroutine and the second of one or two succeeding clauses started in IU subroutine. Each of these control routines has in turn several subroutines which handle different facets of the string-out. Examples of typical IF sentences are shown below: X < Y jump to sentence 7, if X > Y jump to sentence 74. X = Y jump to sentence 32. 5 ~ . X > = Y jump to sentence 65, if X < Y jump to sentence 44 ~. 36. X NOT = Y jump to sentence 2. if X = Y jump to sentence 36 ~ . 13.1 12. X > Y jump to sentence 6, if X < = Y jump to sentence 52 ~. X = Y jump to sentence 41, if X NOT = Y jump to sentence 31 ~ . 11. 40.4 X < Y jump to sentence 30, if X = Y jump to sentence 4 ~. X = Y jump to sentence 50 !:l. 76. X < = Y jump to sentence 42 ~ . 72.3 X (i,j,k,l) > Y(i,j) jump to sentence 3, if X(i,j,k,l) < 21.2 =y (i,j) jwnp to sentence 5.2 Only one set of variables or constants is permitted in anyone IF sentence. Each of the first five examples above exhausts all the possible relations between X and Y. No duplication of relations is permitted in separate clauses. 24. If if If If If If If If If If Throughout this write-up the set of variables or constants will be referred to as X and Y, X being the left-hand value and Y the value on the right of the relation symbol. In actual use, of course, X and Y may assume any and all of the combinations of letters and figures that constitute variables and .constants .. No distinction is made between X and Y. Restrictions on anyone apply equally to the other. X and Y may be numbers in scientific notation form. The latter ideally is a number in decimal form between 1 and 10 times a power of 10. Actually any number up to 12 decimal digits is permitted to be the left-hand member of a scientific notation number. Other variations taken care of by the program are revealed in the examples given below: 646 1.234 e 34 20 3.4567235641 * 10 6.8924 * 10 POW 29 9. 67 ~~ 10 POW 18 8.3276 e -23 -5.298765 * 10 33 2.3678987654 7 ~:~ 10-22 4 .. * 10 -16 ... 3.56 ~~ 10 _34 -2.6784 e -39 -2.6784 e -39 -2.6784 e _39 3.3786 * 10-23 The asterisk, used as a multiplication sign in UNICODE, is the only binary operator permitted in the IF sentence, and it is only allowed in scientific notation. Note that the superior negative sign may be used in front of the power of 10 instead of the regular negative sign, but the superior sign may not be used in front of the left-hand member of a scientific notation number. Following an asterisk 10 must appear. The next number is assumed to be the power of 10 whether superior or lower-case. Following e (exponent) the next number occurring is assumed to be the power of 10. Too high a value of exponent may give a floating-point number which is too large to represent. Ordinarily such a number would cause a machine fault and stop. A subroutine IQ is used in this connection to locate such discrepancies, avoid the machine-faulting stop, and give an error print-out. See separate write-up on this subroutine. No expressions are allowed in the IF sentence. No plus signs are p~rmitted. The absence of a negative sign indicates positive. Thus, some examples of what X and Y may QQl be are: a + b, a - b, a / b, Z + a * b, a2 , ba ,a 3/2 • If such evaluations are to be compared. they must be computed separately by other instructions first and then referred to in the IF sentence by the simple variable to which they have been equated. In the following chart are given the relation symbols permitted by the IF routine. NOT, occurring in the second position of a symbol set, is not 647 acceptable. Thus, NOT NOT is not acceptable, but other double-up relation symbols are interpreted as single symbols. For example, < < is taken asmean- ing <.Tf NOT OCGurs alone as a single relation, it is accepted without e:rror reference with the print ....out: Preferred Form < NOT > (NOT) interpreted to mean (NOT EQUAL). Acceptable Variations Code Figures Assigned to Relations < < < 2 = -- -- 3 > > > 4 = = = = < NOT> <> >< => NOT < S NOT 6 7 The code figures assigned to these relations are used by the routine to check on non-duplication of relations and to facilitate the reversal of a relation symbol when needed. 6 - {2,3,4} = {4,3,2} and 12 - {S,6, 7} ~{7,6,S}. This enables < to be changed to > and ~ to ~ , and vice versa. = is never changed to NOT -, and vice versa. A total of three single-relation code figures is always 9 when all possible relations of X and Y have been postulated and there is no duplication. Similarly, the total of a double-relation and a single-relation, non-duplicating symbol is 9. The X and Y initially examined in the first clause form the set that is stQred for later comparison in the running program. The sets of X and Y that appear in the second and third clauses are compared to the first set as a check on the validity of the sentence. Ideally any set of X and Y should be repeated with the same order and with the same set of signs in the second and third clauses as it had in the first. If care is taken to do this, the routine operation is speeded up. However, failure to do this does not necessarily invalidate the sentence. If it can be done without changing the meaning, the program will reverse the relation symbol to correct altered order and signs. See section describing technical operation of JF for details on the theory back of relation-symbol reversal. 648 An example of how it works is the following: and -Y < X in the second clause. and stores the > symbo 1 in output Let X < -Y be contained in the first clause The routine interprets the latter as X> -Y, e If the second or third variable set cannot be equated to the initial set by a consistent sign change, an error print-out will occur. All that is stored from the second and third clauses of an IF sentence for use in the running program are the line numbers to which jumps are to be made and the relation code figure for the second test, if any. No more than two tests are needed in a running program for an IF sentence. A third IF situation following two tests is always an unconditional jump. Similarly, if the first test is for a double relation, its failure makes a second IF hypothesis true, necessitating an unconditional jump, and vice versa. In the last situation VN6 and VN7 (the second test and line number storage) are left empty, VNIO gets the line number of the unconditional jump, and VN4 and VN5 take the first test code and line number, respectively. See attached sheet explaining output. To return to additional specifications in writing X and Y, a superior minus sign is not permitted to indicate negative value of X or Y. If an absolute sign has already appeared, a negative sign following it will be ignored since the absolute sign negates its meaning. An absolute sign causes the indicator for such to be put into the proper line, regardless of the previous appearance of a negative sign. A~ absolute sign appearing In front of a variable or constant applies only to that variable or constant. the value is not noted. The absence of a closing absolute sign after However, the appearance of a closing absolute sign causes a check to see if an open absolute sign has been recorded. If not, there is an error print-out. Only a single value is stored for a function in UNICODE. The use of a variable function in an IF sentence presupposes its computation or read-in via a previous instruction. Hence arguments following a function, whether of constants or variables, are ignored both in analysis of the first clause and in analysis of the second and third clauses. Also differences between these superfluous arguments between clauses are not noted. 649 If either X or Y is a fixed-point variable, the other must be a fixedpoint constant or fixed-point variable. If either X or Y is a floating-point variable, the other must be a floating-point number or variable. Based upon such considerations, the routine translates numbers to octal or floating point, gives them call words, and stores them in list CL. If both X and Yare constants, they are sent to the subroutine IT, where an immediate comparison is made of them. If the test shows the relation true, the sentence is changed to a jump sentence and the string-out output modified accordingly. G (see print-out schedule) alerts the operator to this decision 9 without error reference. If the test fails, a jump is made to the beginning of the IF routine and the remaining sentence clauses (if any) are processed as a separate IFsentenee. This is the reason recognition of the IF symbol is built into the first part of IF string-out. If specific sets of arrays of values of unknowns are to be compared, subscripted variables should be used. Up to four subscripts may be used for each variable. Subscripts in an IF sentence may not be expressions. However, a subscripted variable used for X or Y in the second or third clauses must agree in every particular with that used in the first clause. As an example, suppose "X(i,j,k) < Y(i,j,k,l)" is in the first clause; X(i,j,k) and Y(i,j,k,l) must also appear in the second and third clauses. All print-outs include as a first element, Sentence dash indicates a line number which will be typed out. (IF), where the Some print-outs merely give information on how the program has handled an unusual situation. These do not cause a reference to the error routine or termination of the IF string-out. Other print-outs are accompanied by an error reference but not termination. The more serious type includes both error-referencing and IF string-out termination. Some without built-in termination are used most of the time with external termination. In the attached chart of print-outs, subscripted G's are assigned for simplification of following technical description of the segments of the IF string-out. 650 Error Reference J J ./ J ./ J J I / Sentence G 3 Symbol rejected h_ -4 Dis a1 Iowab Ie character in G 5 G 6 Incorrectly written Scientific notation incorrectly written G 7 Open absolute sign missing G IO GIl G l2 -../ j ( IF) G I G 2 G S Gq I Bui It-In If Termination Print....out Identification J Inconsistent sign change Exponent * J TO should fOllow jump I Becomes Unconditional Jump to Sentence ' Space period occurs before sufficient data given Comparison symbols ambiguous J Set of variables differs ~..,. ........... .1 .L V III ';.,..':+':_1 .L IJ .L ... .L CI .1 ... ,,01C ... ~ G l3 (NOT) interpreted as (not equal) G l4 Fixed and floating point values are not comparable I .../ j *The symbol being examined when this print-out occurs is given here. It indicates how far in the sentence analysis has gone before external termination. 651 IF Control subroutine is the control of analysis of the first clause of the IF s,~ntence. It clears VN output lines (except for first four) and clears temporary storage lines VN7l-l2l. See attached charts for explanation of data stored in these addresses. VN7l-l21 is used first to accumulate data on X. Then this data is transferred to VN40-70, leaving VN71-121 for use in accumulating data on Y. IF The divider routine II is set up so that it can be entered only once without error during the first-clause analysis. The first two symbol output lines are sent to temporary storage. A pseudo-op indicator is put in VN33, if needed. Recognition of , ; IF ( causes a return to the SY referencing instruction that gets the next symbol. Ll . recognition sends analysis to the IK termination routine. If the symbol is a constant, control goes to IE. IG takes over for a fixed-point variable and IH assumes control for all other variables. A character not identified callses print-out G3 and then a return to get next symbol. IK-- Ll. Termination Zero value is checked for successively in VN5, VN4, VN14, and VN24. If found in any, print-out GIO ensues with te~ination. If not found, WT, the tape-write routine, is referenced to get completed data written on tape before return to CT, the String-out Control Routine. From the analyses of the second or third clauses, an entry is made to IK14. The absence of zero in VNIO sends the routine to the loop mentioned above. If a zero is found in VNIO, a check is made if VN34 equals 00 00003 0'3000. If yes, GIO occurs with termination. If no, VN7 and VN6 are successively examined for zero. If found, GIO occurs with termination. If not found, a jump is made to the loop of zero checking described above. IE Constant Analysis Reference is made to RB for checking validity of a constant. indicator is stored in VN31 for X and VN32 for Y. 652 A constant If the number of characters is > 6, the number is converted to floating point via proper subroutine. filled with 40 0 O. Also, a floating-point constant indicator is This is necessary because a floating-point number may be zero and its presence as such in regular floating-point location could not be recognized. Either a superior or regular dash is permitted to indicate a negative sign following e or * in scientific notation. Failure of a figure to follow this sign causes G . 10 not following * causes G . 10 may not be a superior figure. 6 6 After 10, there may be POW, but after this either a negative sign or figure must be next to avoid G • 6 An exponent is checked by RD subroutine. If superscript, it is sent to IN, the Superior to Lower-Case Translator, where G may occur. 4 write-up on this subroutine. See separate The exponent is then converted to octal by use of RS subroutine and transferred to proper input line IQ2 either as a positive or negative number. After checking and conversion to floating point in IQ (see separate write-up), the number is changed to negative, if desired. Failure to find an open absolute sign when a closed one has shown up causes G • 7 A relation symbol < , > , =, or NOT causes a jump to II subroutine. symbol sends control to IJ subroutine. to beginning of loop to get next symbol. JUMP Characters ( ) , ; initiate a return An unrecognized symbol causes G~ oJ without termination. This loop, starting at IEl15, is used frequently as an exit by other subroutines. IG--Fixed-Point Variable Analysis After a reference to RH to check for validity of variable, the call word is obtained from TS if it is there, or from TA when it is in the Combination List. If the call word is not in the latter or the pseudo-op list, it is secured by adding 64000 to a number put in A by RJ tk tkl. It is then added to the combination list by using TF and TE. Explanation of uses of these rout inesis found tn separate wftle;';;lrpS 'o'fe~a(HL 6.53 IH and IL--Floating-Point Variable Analysis On entry to IH, two separate courses are taken, depending on whether the sentence is within a pseudo operation or not. If a subscripted variable is identified, the modulus (the number of words stored for the variable) is assigned a call word, and this call word put in the u position of an output line. In the same word in the v position is put the number of subscripts. The format of the data on a subscripted variable obtained from the combination list is as follows: (call word) TA4 0 0 TA5 0 (modulus) TA6 0 (2d subscript multiplier) (1st subscript multiplier) TA7 0 0 (3d subscript multiplier) (number of subscripts) The proper multipliers for the subscripts of variables not in the pseudo-op list are obtained from region TA by means of a small subroutine entered via 2 one-shot RJ switches. The order of entry (only three for any set of subscripts) determines wbich mul tiplier is secured. The Constant call word assi gned to it is then transferred to the u position of the output line. The v position of this line is later filled with the call word of the fixed-point variable or constant involved. The call word of the pseudo-op subscripted variable is in the form 0 0 76ZRR where Z is the number of subscripts and RR the current pseudo-op variable number. Thus, if 3 single-valued variables have been assigned positions in the pseudo-op list, (0,1,2), RR will equal 3. The routine extracts the Z and sets up an index for processing the subscripts. To the extracted RR is added 63000. This number becomes the call word of the subscripted variable. The number of subscripts is added to 630RR to give a call word assigned to the modulus. The call words of the subscript multipliers start with (630RR + 1). As subscripts are encountered, they are supposed to have call words starting with (630RR + Z + 1). Below is given an example of pseudo-op input region for the case of three subscripts. 654 Assigned Call word 630RR Subscripted variable 630RR + 1 Ium - 1st multiplier 630RR + 2 630RR + 3 M - 2d multiplier Modulus 630RR + 4 Subscript 1 630RR + 5 Subscript 2 630RR + 6 Subscript 3 J A subscripted variable in a pseudo operation may be a regular floatingpoint variable or pseudo-op variable. Whichever it is, it may have fixed- point variable subscripts located either in the pseudo-op list or combination list. If these subscripts are found in neither list, they are assigned call words in the 64000 range and put in the combination list. Note that if a subscript is a constant, it will not be in the pseudo-op list. If a subscript of a subscripted variable fails to be either a constant or a fixed-point variable, G occurs with termination. 5 When the call word of a nonsubscripted variable has been stored, it is examined to see if it is that of a function. If so, analysis goes to an IL exit subroutine in which any arguments that might be inadvertently put following the function are ignored. the IE exit subroutine. Exits and print-outs are the same as those in If the call word is not that of a function, the exit from IL is made via the IE exit subroutine. II--Relation Symbol Analysis No more than one entry can be made to this routine during an IF instruction. A second entry causes G with termination. Failure to have a 5 second relation symbol in the clause follow immediately after the first will create this error. A "NOT" occurring in the second position causes the same error termination. The data gathered on X is transferred by this coding from VN71-121 to VN40-70 and the first region is cleared for succeeding data to be gathered ortY. 655 IJ--Jump Subroutine Failure of the next symbol to be '~O" causes Ga without error reference. A loop of symbol recognition similar to that used in the separate jump instruction string-out is included at the start. See the write-up on this routine. Failure to meet the specifications of the loop causes G with 5 termination. Getting the assumed line number into proper form terminates this first loop and may cause error print-outs explained in the line-numberroutine write-up. Regardless of what happens in the line-number routine, its output is transferred to VN5 and the string-out continued. The referenced number is sent via IX routine to reference list IZ where it is later given a call word by other routines. Variables or constants X and Yare compared in the second part of this subroutine. Combinations of floating-point and fixed-point values cause G • 14 Fixed-point numbers or those assumed to be such are not translated from excess-three decimal code until the analysis of this subroutine. Then they may be translated either to octal or floating point, depending upon the nature of the corresponding variable or constant. VNII to VN30 output lines are now filled with the data that has been gathered in the temporary storage regions. The closing loop checks for parentheses, comma, semicolon, space period, and IF. G ensues with termination if none occur. Recognition of IF sends 5 the analysis to IU, the beginning control routine for analysis of the second clause. IU--Second and Third Clause Control The absolute sign indicators for X and Yare transferred to the temporary storage lines directly above the excess-three representation of X and Y, respectively. Thus 11 identifying lines on each of X and Yare in one location for future reference. Exits from this control routine are IY, IY33, JB, and IKI4, depending on whether X or Y is a constant, fixed-point variable, or floating-point variable, or whether ~ . has been encountered. Temporary storage region VN150-164 is cleared for gathering of data on X or Y. an unrecognized symbol. 656 G occurs without error reference for 3 IY--Number Analysis This routine (the counterpart to IE) has similar checks on scientific notation. G or G follow a misuse of the latter. Excess-three storage of 12 6 data on X and Y is continued in it. The exit loop is in J86-J817 and is shared with variable subroutines. G occurs if indicated following use of 3 this loop. JB--Floating-Point Variables If a f10ating-point-variable symbol is not found in either the combination list or the pseudo-op list, it cannot be the same as any of the symbols encountered in the first clause. Hence G follows. l2 Excess-three representations of subscripts are stored in VNIS6-161. The exit loop sends analysis to JC for a relation symbol, JF for a jump symbol, and IKl4 for~. Additional errors and print-outs are similar to those of IH and IL. JC--Relation Symbol Subroutine Count and storage of excess-three relation symbols is the function of this routine. Also data on X is transferred to VNl30-144, and region VNISO-l64 is cleared for use of Y data accumulation. If two relation symbols have been found, control is transferred to IUS to get next symbol. Otherwise, the jump is made to IU6 since an unidentified symbol has still to be examined. G S followed by termination occurs if routine is referenced twice in a single clause analysis or if second symbol is "NOT". JI--Relation-Symbol Check Referenced from JF, JI examines the count of relation symbols, checks their consistency with previous counts, and assigns a code figure to the symbol either in VN6 or temporary location JI123 if all relations have been used in a sentence. An accumulative excess number (over 3) of relation symbols causes Gil- 6S7 JF--Second Jump Subroutine Let us call the X symbol the second or third time through X and the Y 2 symbol Y • This routine compares excess-three data gathered on X in VN131-14l 2 2 with similar data gathered on X the first time through. If an inequality is found, Y data in VN15l-l6l is compared to X data. 2 Similarly, as the situation requires, Y data is compared with Y data and later, if needed, with X data. 2 2 Next signs are compared. Since the only values obtained from the second and third clauses other than the line numbers are the relation symbols, it was convenient in a few lines to use a theory of symbol reversal to correct what might ordinarily have been errors in position and sign of variables. Xes) means sign of X. Following are the rules that govern such reversal. Variables X Symbol Reversal Signs No = X2 Y= Y Yes 2 X Yes = Y2 Y = X 2 No' All sign combinations other than the above cause G • Failures to find 2 equality of {X,Y} with {X ,Y } , exclusive of sign, in any order causes G12 . 2 2 After symbol reversal, if needed, the relation codes are compared for uniqueness and internal consistency. A loop to get the line number operates similarly to the one in IJ. If VNIO has been filled with a line number, the next loop is the final exit. If only VN7 has a line number, a loop is entered which, on recognition of an IF symbol, will send analysis back to IU2 for the third and final analysis of an IF clause. The final exit loop permits only a closed paren- thesis and~. The other loop permits ( ) , ;~. recognize a symbol causes G with termination. 5 658 IF. Failure of either to Prior to analysis of the third clause, this routine puts 00 00003 00000 in VN34. This indicator is later used to check if sufficient data is given in the third clause to complete the sentence string-out. Output VN o o I Line Number 2 IF77777777 3 o o 0 34 Number of lines of output in v Name of instruction v v = call word of line number. o u v o v 15 o o Holds code figure E{2,3,4,5,6,7} to indicate relation test Line number of sentence to be jumped to on first test. Holds code figure in v for second relation test Holds line number of sentence to be jumped to on second test Holds line number of sentence to be jumped to unconditionally u = Call word of modulus. v = number of subscripts of X Negative value desired if 40 0 0, otherwise cleared Absolute value desired if 40 0 0, otherwise clear Call word of X u v u 16 o u v u 17 o u v u 20 o o v 21 o u v 4 5 6 7 10 11 12 13 14 = call of I = call of J = call word of I multiplier. v word of J multiplier. v = call = call = call word word 22 word of K multiplier. v word of K v = call word of L u = call word of modulus. v = number of subscripts of Y Negative value indicator 23 Absolute value indicator o v Call word of Y u 26 o o o u = call word of subscript multipliers v = call word of subscripts of Y 27 o u v v v 30 o o v 24 25 u 31 If X is a constant, 40 0 0, otherwise clear 32 If Y is a constant, 40 0 0, otherwise clear 33 Pseudo-op indicator, 40 0 0, otherwise clear 659 *Temporary Storage in VN X y 40 71 Floating-point constant 41 72 Fixed-point constant in excess-three 42 73 Used in making call word of multiplier 43 74 44 75 45 76 77 100 101 102 103 46 47 50 51 52 53 { Indicator of fixed-point variable (40 0 0) Holds absolute-sign indicator during comparison 2 Excess-three representation of variable sy3 SY} Sign of exponent indicator (40 Exponent of 10 in excess three Subscript 1 in excess three Subscript 2 in excess three Subscript 3 in excess three Subscript 4 in excess three 54 104 105 55 106 u = call word of modulus; v = number of subscripts Negative sign indicator (40 0 0) 56 107 Absolute sign indicator (40 57 110 Call word in v 60 III u = call word of I multiplier; v = call word of I subscript 61 112 u =call = call word of J 62 113 u = call = call word of K 63 114 word of K multiplier; v subscript v = call word of L subscript 64 65 66 67 70 115 Index for subscript assembly 116 Count of relation symbols 117 First relation symbol 120 Second relation symbol 121 Floating-point constant indicator (40 0 0) 31 132 33 151 ) 152 153 0 word of J multiplier; v subscript Negative sign indicator (40 ~ 0 0) 0) 0 0) Ab~olute sign indicator (40 0 0) sy sy 3 Excess-three representation of variable 660 r134 135 154 ~ 136 156 l137 157 160 140 141 155 142 161 162 143 163 144 164 1 Sign of exponent indicator (40 Exponent of 10 in excess-three 0 0) Subscript 1 in excess-three Subscript 2 in excess-three Subscript 3 in excess-three Subscript 4 in excess-three Count of relation symbols First relation symbol Second relation symbol *Braced portions are those compared during analyses of second and third clauses to determine equality of variables. 661 Scientific Notation Checking Routine The purpose of this routine is to check the size of a number in scientific notation form and then convert it to floating point. If it is too large for floating-point representation, the error routine is referenced and the following error print-out is given: Sentence ( )--Absolute Value of Number Too Large. If too small, the floating-point representation is set to' zero and this print-out occurs: Sentence ( )--Absolute Value of Number Too Small--Given Zero Value. In the latter case, the error routine is not referenced. To use the routine a number to the left of e or * is first converted to floating point by use of the "excess-three decimal to floating-point~ routine. This floating point number, either positive or negative, is put in input line IQ2. The exponent of 10 after conversion to octal by means of the proper routine is put in input line IQ3. It also may be either positive or negative. Instruction RJ IQ IQl then performs the check and, if the absolute value of the number is not too large, puts the correct floating-point representation into IQ2 as the output. 662 Superior To Lower-Case Translation of Figures Input to this routine is one line of superscript figures packed starting at the left with 77 fillers at the right. No characters other than superscript figures are permitted. Thus periods are not allowed, and only integral figures are translated. Both the input and output are in excess-three decimal code. The input line, in2, becomes the output line on termination of the referencing instruction, RJ in inl. If the first character on the left is 77, no translation is performed. The input line, in effect, is untouched. If a character is not a figure or a 77, the error routine uz is referenced and there is a print-out: Character in Exponent character. Sentence ( ). Disallowable In the last blank is given the print-out of the This print-out occurs for every erroneous character in the line prior to the first 77. When a 77 is encountered, no further analysis or translation of the line occurs. What has been translated is packed at the left, and the balance of the line is retained the same as it was in the original input. 663 IF Control Routine r-l-e-a-r~in-g--o-u-t-p-u-t--a-nd--' temporary storage , lines Number of lines (34) to v of first line of output Flow Charts for IF String-Out Set up 1st line of II divider routine Pseudo-op indicator to last line of output if within pseudo-op Get next symbol Store 1st two symbol words in temporary storage No IK Termination f)" • Routine Has an absolute sign been used? Is symbol a negative sign? No Set absolute sign indicator Is symbol an absolute sign? No Error reference and print-out: Sentence - - ( I F ) space period occurs before sufficient data given Is symbol a constant? No Is symbol a fixed point variable? No Is symbol a floating point variable? as an unconditiona number been given? No Warning Print-out: Sentence ___ (IF) symbol rejected _______ IE CoUtant ROlltines Convert figllre to floating point and store Are nllmber of decirna 1 points zero? -:r Complement floating point figure if negative sign indicator is set Pli t floating-point indicator in storage No Changing fixed-point figllre to floating-pt.) storing. and setting I----~ floating-point indicator Changing fixed-pt. nllmber to a floatingpt. nllmber. storing and setting floatingpoint indicator No Complementing Slibrolitine 12 Constant Termination Loop Get next symbol Is symbol an absolute sign? No Error reference and print-out: Sentence open absolute sign missing Warning Print-Out: Sentence ___________ UF) symbol rejected __________ _ _ (IF) IG Fixed-Point Variable Routine Check i f symbol a va lid variable Set fixed-pt. variable indicator in temporary Is sentence within pseudoop? Get next call word of 64, 65, 66 type Adding symbol and call word to Comb. List Pseudo-op ca 11 word to storage IH and IL Floating-Point Variable Routines Set ups Check if valid floating-point variable Is sentence within pseudo-op? •________________________________________- - ¥ Is symbol in pseudoop listj~ No Set ups Combination List symbol search subroutine < ~ Call word of a subscript to v of a storage line Subscript index Is subscript index zero? Is subscript index zero? -~- No Call word of multiplier to u of a storage line index ) o "...-_____---~ Yes Is symbol a pseudo-op subscripted variable? Call word of modulus No. of subscripts formed and put in storage. Index set up. Call word of multiplier to u of a storage line for pseudoop No Call word of subscript to v of a storage line Subscript index Is symbol a function? Yes Get next symbol symbol ;? Yes Is subscript index zero? ~NO~ymbOl an ~ute sign? Is symbol < > Is symbol space period? = NOT? a)yes Warning Print..out: Sentence _ _ _ _ (IF) Yes Is symbol an argument variable of a function? Is symbol an argument No symbol constant of a function? rej ected Yes Error reference and No print-out: Sentence ~n open absolute ~___~~ __________ (IF) Open ~ been used? absolute sign missing Yes Combination List Symbol Search Subroutine Is symbol in Combination List? Yes Call word to temporary location Is symbol a subscripted variable? Yes o Call word No. of of modsubulu s scripts formed and put in storage. Index set up. No Obtain a call word for variable and store in a temporary location Add file on variable ~-~ to Combination List Subroutine to put call word of subscript multiplier (not for a pseudo-op sub variable) to u of a storage line I-shot switch Jump to (29) ~ 31 I-shot swi tch . . . j ump to (31. xtract 2nd multiplier from dimension list Extract 3rd multiplier from dimension list 30 xtract 1st multi- ~ from dimensio 30) 11 st et 29 pl~~r Obtain and store call word for multiplier in u of a storage line 3 Subroutines to put call word of a subscript to v of a storage line: 2 - Checking if fixed-point variable is in pseudo-op list and getting call word. if so. Is fixed-pt. variable in pseUldo-op list No Yes Call word to v of a temporary f< I-Handling subscript if a constant and checking if it is a fixed-point variable symbol Get next symbol ) ;? Yes s symbol a fixed-point variable? Check if syt!lboI is a valid fixe point con stant Is symbol a constant? No Check if it is a valid fixed-pt. variable Store in a temporary location No Store X3 of constant in a temporary Convert X3 constant to octal Obtain call word for constant Store call word of subscript in v of proper location Sentence _ _ _ (IF) Symbol Rejected _ _(Warning only) ~_~ Rejected symbol to print-out storage Print-Out: Sentence (IF) symbol Print-Out: rejected ______ 3-Checking if fixed-point variable is in Combination List and, if not, adding it in. Call word to location. A , Is fixed-point variable in Combination List Yes ,. Call word to v of temporary No \~ Add variable and call . . word to Combination List Obtain c:all word for it --V ~ ID Print-Out Subroutine Sentence_(IF) Inconsistent Sign Change ------------------~ Subroutine print-out: Sentence. (IF) Reference error routine ~----~ Print-Out: Inconsistent sign change Call word to v of a temporary Sentence _____ (IF) Scientific Notation Incorrectly Written 62 Jo-o-----:.t Print: Sentence (IF) Print: Scientific notation Sentence ______(IF) A "7" -, Print: 43 ~----~ sentence Print: Space period occurs before sufficient data given -.. Reference error routine and Floating-Point Values Are Not Comparable t----~ (IF) Referen ce error routine Space Period Occurs Before Sufficient Data Given Print: Sentence (IF) Sentence _ _(IF) Fixed- Print: Incorrectly written Reference error routine t----~ Print: Fix.edand FloatingPoint values are not comparable I----:~ Sentence ___ (IF) Oisallowable Character in Exponent _____ Print-out: Oi sallowable character in exponent .____ Add character to line of print-out ~--~~last Reference error Character put back in routine and print:I---~ A before exit. Sentence _____ (IF) Sentence ____ (IF) TO Should Follow JUMP (Warning only) ~--~ Print: TO should follow~--~ JUMP Sentence ___(IF) Set of Variables Differs From Initial Set Reference 60 i----.li!IoI error routine Print: Print: Set of Sentence _ _ _ t------iillt variables differsl----~' (IF) from initial set Sentence _____ (IF) Open Absolute Sign Missing Print: Sentence Reference error routin (IF) Print: Open Absolute Sign Missin Sentence ___ (IF) Comparison Symbols Ambiguous Reference error routine -I---~ Print: Sentence (IF ____ t----~ Print: Compariso symbols ambi uous 1 - - -..... Sentence _~___ (IF) Incorrectly Wri tten •____ Print-out of symbol which caused sentence ana ly si s to break down Subroutine to reference Print-Out: error routine and print:r---3M Incorrectly Sentence. (IF) written Sentence_(IF) Becomes Unconditional Set ups of printout subroutine t----.;~ Jump to Sentence _ _ (Warning only) Print: Sentence ____ (IF l--~ 2nd line number to print-out storage Sentence .___ (IF) (NOT) Interpreted a s (NOT EQUAL) (Warning only) Print: (NOT) Interpreted as (NOT EQUAL) Print: Becomes Unconditional jump to sentence 11 Divider Routine 13 I-shot switch jump to ~ On a second time th!'u, will jg" to error pnnt-out ~ Error reference and print-o'Jt: Sentence _--_(IF) Incorrectly written Store first relation symbol Start count of relation symbols Transfer group of X data to new temporary location indicator to 1st-test output line ·2~ "4" indicator to 1st-test output line "3" indicator to 1s t -test output line Warning Print-Out: Sentence _ _ _=1 J~ymb~ No ~·--..;aI~T? ~ Yes x = lst variable or constant in 1st clause of IF. X2 = ,1st variable or constant in 2nd or 3rd clause of IF. y = and variable or constant in 1st clause of IF. Store 2 nd re lation symbol in temporary storage Transfer X2 data new temporary location Y2 = 2nd variable or constant in 2nd or 3rd clause of IF. Up count of Clear space for Y2 data to come ] '----r--'- Is count of re- ' ) lation symbols ~ 1 --------~------,/ JF Jump Routine for Second or Third Clause 76~----------------~ Yes Subroutine to check consistency of re lation symbols and assign code figures Is line no. for 2nd test in ou tpu t? Reverse relation of single symbol in temporary storage. 6 -{2,3,4}= {4,3,2} (JI) No Is there a re lation symbol in output for second test? Reverse re lation of single symbol in 2nd test output line 6 - {2,3,4} = {4,3,2} Reve rse re lation of double symbol in tempora ry storage 12 - {S,6,7}= {7,6,S} Warning Print-out: Sentence _ __ (IF) TO should follow JUIP Is symbol to,SEN1EN, Has a line nuntler a lready been put in for second test? STAtEM, LINE, NUIllER, NO., SENT.? No Error reference and print-out: Sentence _ _ _ (IF) incorrectly written No Une number put in for 2nd test JI Subfouti ne to Check Consistency of Re lation Symbo Is and Assign Code Figu res Has a double relation symbo 1 been used for 1st test? Is the current count No r~elation of relation symbols 2?r--------------------~~~OI Put indicator 1f28-" 3\jXi into 2nd test output relation line "4'}V Yes Yes Yes Put indicator into 2nd test output relation lino IS -;.;;- current c~~ of relation SymbO~ X it Put indicator "3"}~Xit into 2nd test output relation line No Indicator "2" put into temporary Indicator "4" put into temporary Indicator "3" put into temporary Warning print_out.}: Sentence - - _ . 'yXi (IF) (NOT) inter·· preted as (NOT EQUAL) -0" indicator to temporary I ~ ~ . ]-VXit "7" Indicator to temporary Subrou,tine to Check Equality of Variables or Consta)Jts in Separate Clauses Is one line of one group line of other group? = corresponding it ~ "4" indicator to 2nd test line Yes Alter comparing instructions for next line of groups 1st symbol is NOT ~J /---~ Set up index for 6 characters Extract a character from input line by shifting and masking r-~ character = 77? No )-----~82 IN Superior Figure to Excess Three Lower-Case Figure Routines ~o Left shift inputoutput line 6 times 0- co co By position of equalIs character one Yes ity in list, select a of superior figures I--_~corresponding X3 decimal lower case figure that will represent it Replace in input-output line the superior figure by its corresponding lower-case X3 decimal figure Print-out: Sentence ___ Disallowable character in exponent Put erroneous character back in output line <0 Flow Chart for IQ - SCientific Notation Evaluation Routine Clear temporary holding negative indicator Is floatingpoint number zero? Yes Is exponent zero? I--~ "fs floatingpo i nt number negative? Yes Yes [ ~O_~Ple--.--ment_J' Input Set negative indicator [ 1 to exponent value Yes Yes Floating divide floating-point number by 10 and 1----~93 store quotient back in input line Reduce exponent value by 1 Floating Multiply by 10 and store answer back in input line of fltpt. number exponent zero? ~~ Complement floating-pt. output NO Yes Is 38 = exponent? Is 38 > exponent? No N!!------I Error reference and print-out: Sentence-absolute value of number too large Yes Multiply floating point number by ~----~~94 . 1038 > absolute of exponent? Is 39 = 'exponent I ? Yes No Is 201570121001 > fltpt. no. Yes _D_i_v_i_d_e f_l_t"l"'P_tback _e_n_O_._b_yJ, 10 and __ store .... ~ 1 Di~ide fltpt. no. by ] 10 8 and store back Form a floating-point number equal to the power of 10 indicated by exponent exponent negative? Yes fltpt. no. by power of 10 and store back Di~ide Zero put in output line No Multiply fltpt. no. by power of 10 and store back Warning Print-Out: Sentence --..-- - - absolute value of number too small -Given zero value IF STRING-OUT REGIONS RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE SC4417 IE4430 IF4565 IG4631 IH4655 114777 IJ5120 IK5316 IL5340 IM5503 1N5617 105647 IQ5676 IR6025 IS6037 IT6042 IU6105 IY614l Two auxiliary print-out routines Constant routine Control routine Fixed point variable routine Floating point variable routine Relation symbol routine Jump routine Termination space period routine Floating point variable routine Excess-Three Print-out storage Superior to lower-case figure routine Storage for "IN" Scientific notation check Constants for IQ Three temps. for IQ Preliminary number comparison routine 2nd control routine 2nd constant and fixed-point variable routine RE RE RE RE J86177 JC626 1 JF6305 JI6470 2nd floating-point variable routine 2nd relation symbol routine 2nd jump routine Relation code assignment and consistency RE UF6614 Constant storage RE ID6702 Error print-out routines. String-Out Subroutine regions are also needed to assemble the IF tapes. 692 IF String-Out (Tape 1) Auxiliary Print-Out Routines IA TP 1 TP 2 TP 3 RJ SC VNl UF2 WBlO WA 4 MJ 0 WB5 WB3 ) WB6 WA12 30000 5 TP SCIO HP3 o 6 RJ UP2 7 MJ 0 10 40 SY2 CA SCII Assists in warning that ~if~ sentence to "iump" change has been made. 1 foooo J Prints symbol occurring in sentence at point where analysis breaks down in print-out: Incorrectly wri tten _ __ Control Routine o 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 IA IF o CT RP 10031 IF3 VN4 TP UF7 RP 10031 IF5 TP UF7 VN7l TP UF30 VN TV IF43 II TP TS4 ~F12 QJ IFll TP UF27 VN33 RJ SY SYI TP SY2 A TP SY2 VN75 TP SY3 VN76 EJ UF20 IF12 EJ UF2l IF12 EJ UF2 IFl2 IK EJ UF14 EJ UF4 IF35 EJ UF3 IF4l IF12 EJ UF17 TP SYll ~F27 QJ IE TP SYlO ~F3l QJ IG TP SY7 ~F33 QJ IH RJ ID16 ID13 MJ o IF12 TP VNl07 QJ IF12 TP UF27 VNl06 MJ o IF12 MJ ~F37 Exit Clearing lines to be used for output } I } Clearing temporary storage lines Number of lines (34) to of VN Setting up first line of relation routine. Pseudo-op test Pseudo-op indicator to VN33 Getting next symbol Symbol to A First 2 symbol output lines to temporary storage } } Get next symbol. I ( } } } Jump to space, period routine Jump to negative sign subroutine Jump to absolute sign subroutine Get next symbol Is symbol a constant? If SOi jump to constant routine, ie Is symbol a fixed-point variable. If so, jump to IG, fixed-point variable routine Is symbol a floating-point variable? Jump to IH Sentence -- (If) Symbol Rejected -sign indicator in proper storage if an absOlute sign has not preceded it. Putsn~gative } 693 41 TP UF27 42 MJ 0 43 0 0 CA IF44 VNI07 Puts absolute sign indicator in proper storage space IF12 1I3 Constant Routine o IA IE RJ RB 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 TP EJ TP MJ TP TP TJ TP RJ TP TP RJ TP EJ EJ RJ MJ TP QJ TN 26 27 30 31 32 33 34 35 36 MJ 0 TP SY6 ZJ IElO TP VN75 RJ SY TP SY2 EJ UF EJ UFI MJ 0 37 40 41 42 43 44 45 TP TP RJ TP TP II IE134 UF27 0 UF27 SY5 UF23 VN75 VN76 GG2 GG3 UF27 SY SY2 UF UFI IE26 0 VNI06 IE25 VN7l VN72 UF3l GG2 GG3 TP UF27 MJ 0 RJ IE44 46 RJ SY 47 TP SY2 Ch RBI ~E5 } VN3l IE6 VN32 ~E27 GG4 GG5 GG VN7l VN12l SYI } } k . f f· h {lOr fewer. 's ec s 1 Igure as 12 or less characters no letters Check if right of relation symbol Constant indicator for X figure to output Constant indicator for Y figure to output Is 7 > number of characters? Conversion of figure to floating point Floating-point output to proper storage Floating-point indicator to storage Get next symbol A IE46 IEl02 IE23 IEl17 ~E26 Is symbol an e? Is symbol a * ? Jump to negative-value subroutine } VN7l Is negative value desired? Changing floating point figure to negative figure 30000 A Are number of decimal points zero? Storing fixed-point X3 figure Getting next symbol IE3l VN72 SYI A IE45 IEIOI IEl17 Is e next symbol? Is * next symbol? Continuation beyond scientific-notation analysis GG4 GG5 GG VN71 VN121 30000 IE37 Changing fixed-point X3 decimal figure to a floating-point number I SYI Floating-point indicator to storage Changing fixed-point no. to a floatingpoint no. Getting next symbol A 694 50 EJ UF4 51 52 EJ TP UFS SYll 53 QJ IEl12 IEl12 Q 1E54 1D42 54 TP 55 TP 56 QJ SY2 SY13 IES7 VNlOO 57 60 61 62 63 TP RJ TP MJ RJ SY2 IN IN2 RD IN2 } INI RS4 } IE65 RDI 64 65 66 67 70 TP RJ TP QJ TN SY2 RS2 VN77 IE70 RS3 RS4 RS } ~E72 } 71 MJ 72 TP 73 TP o RS3 VN7l IE73 IQ3 IQ2 74 MJ 75 RJ o o IQ 76 77 100 101 102 103 104 105 TP RJ MJ RJ RJ TP EJ MJ 106 RJ TP EJ MJ SY SY2 UF2S TP UF27 SY 107 110 111 112 113 RJ 114 MJ 115 RJ 116 TP 117 EJ 120 RP 121 EJ 122 RP 123 EJ IQ2 IE26 o IE44 SY SY2 UF22 o o o SY SY2 UF3 20004 UF16 2_0004 UFlO ~E63 } IQ3 IE7S IQl VN71 IE23 IEllS IE37 SYI Is symbol a negative sign? Is symbol a superior negative sign? Is symbol a figure? If not, print-out. Sentence - - Scientific notation incorrectly written Storing figure Is symbol an exponent figure? if not, go directly to X3 decimal to octal conversion at IE63 Conversion of exponent to X3 decimal figure Output to RS 4 and jump to octal conversion routine Check if symbol is a legitimate fixed-point figure Conversion of figure to octal Check if sign of figure is negative Complementing figure and putting into scientific notation routine input Figure to input of scientific notation routine Floating-point figure to input of IQ scientific notation routine Dwnmyjump (replaces a discarded instruction) Check of scientific notation figures and converts to floating point Output to storage Changing output to negative if desired Continuation beyond scientific notation Changing fixed point to floating point no. Getting next symbol A IEl06 ID42 SYI Is next symbol a 10? Print-out: Sentence -- Scientific notation incorrectly written Getting next symbol A IE46 IESO VN77 SYI IES2 SYI Is symbol = POW? If not, jump to other equality tests. Negati ve sign indicator storage for exponent Getting next symbol Getting next symbol A IE130 IE122 } IEllS IE124} II Is symbol an absolute sign? Iss ymb 0 1 ) ( , ; ? If symbol is < > = NOT jump to II relation symbol routine 695 124 125 126 127 130 131 132 133 134 EJ EJ RJ MJ TP OJ RJ MJ RJ CA UF1S UF14 ID16 o VNl07 IE115 ID56 o II IE135 IJ IK 1013 lEllS If symbol is JUMP, go to IJ jump routine exit Print-out: Sentence -- Symbol Rejected -- ~. o Has an open abSOlute sign been encountered? If not, reference error routine and printout:Sentence- -Open absolute sign missing. IE132} ID52 IEl15 III Fixed-Point Variable Routine Fixed-point variable routine 1st letter i j , k, 1,or f m 0 1 2 3 4 5 6 IA RJ TP TP OJ RJ MJ TP MJ RJ MJ TP MJ IG RH UF27 TS4 IG4 TS RHI VN74 ~GIO IGIO VNIIO IEl15 TAl IG14 VNIIO IE115 14 RJ 15 AT TK UF32 TKI VNIIO TP TP TP UF33 SY2 TP UF7 TE TF TFI TF2 TF3 TEl IEl15 7 10 11 12 13 16 17 20 21 22 23 RJ MJ CA A o } TSl o o TA o TA4 o TS3 Check if symbol is a valid variable Set fixed-point variable indicator Is -if" sentence within Pseudo-Operation Is symbol in Pseudo-Op list? No Yes. Pseudo-Op call word to location Is symbol in Combination List? No Yes Exit for terminating characters before a divide or jump Get next call word of 64, 65, 66 type Adding in 64000 (fixed-point variable callword base) I Building up file for addition of item to Combination List Adding file to Combination List Exit for terminating characters before a divide or jump IG24 Floating-Point Variable Routine IA TV 1 TV o 2 3 4 S 6 7 10 11 12 TV TV TV TV TV TV RJ TP OJ IH ILl36 IL136 ILl36 ILl31 IL132 IL132 IL137 IL140 RH TS4 IH13 IL40 IL20 IL32 IL6l IL56 IL53 ILl12 ILl13 RHI ~H6l Set-ups Check if valid variable. Check if within pseudo-operation } 696 Wi thin Pseudo ... Op Ps...()p Sub. Var. 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 RJ IS MJ o IP TP TJ 153 UF34 MJ TP QT LQ RS TP TP QT SA TP VNllO o 1AH2l } IL64 UF37 VNllO VNl05 :105 } Number of subscripts to (vnl05)v Q Q UF6 } VNl15 Subscript index set up UF40 Q VNllO UF4l A A 33 LQ AT VNl05 VN73 34 35 36 37 TU TP ZJ RA A VNl15 IH37 VN73 17 ~H4l 41 IL25 IL IL33 IL26 43 RJ IL52 IL34 44 IJ 4.5 MJ VNl15 46 47 50 TV 51 RJ IL14l IL14l IL14l IH12l m36 !E115 IL20 IL40 IL32 IH72 52 ZJ 53 RJ 54 RJ IU53 IL130 IL25 IH54 ILl12 IL 55 RJ IL33 1L26 56 RJ IL52 IL34 TV TV } UF42 IL56 630 RR to Au 630 (RR + no. subscripts), call word of modulus, to (vnl05)u ~105 IL60 o } VN73 ) A17 40 RJ RJ Is symbol in pseudo-op list? No Yes. Call word to temporary location Is call word > 760oo? Exit subroutine TSl 1846 VNllO Is subscript index zero? Call word of multiplier formed in (vn73)u Multiplier call word to u of proper location Handling subscript as constant & checking on variable. Checking if fixed-point variable is in pseudo-op list and getting call word, if so Checking if fixed-point variable is in combination List and, if not, adding it in. Call word to location. Check if symbol is in Comb. List and, if not, adding it in Is index vnl15 zero? Call word for multiplier to location Constant or fixed-point variable subscript to location. Constant call wd to location. Search for call word of var. in pseudo-op list Search for call word of var. in Comb. List and adding it in if not found 697 57 60 Not within 61 Pseudo-op 62 63 RJ VNl15 0 ILl 42 IL142 m12l IH52 !E115 IL20 IL40 m72 64 ZJ 65 RJ 66 RJ IH65 IL130 IL25 m66 ILl12 IL 67 RJ IL52 IL34 VNl15 0 TA 0 TA4 DI64 ml15 TAl UF36 VNllO 0 ~110} 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 IJ MJ TV TV IJ MJ RJ MJ TP TP TJ MJ VNllO IL64 11{1 VNllO TK TP UF33 SY2 A UF7 TF TFI TF2 'IE TEl ml15 TP TP TP RJ MJ TP QT ST TP QT LQ 0 UF44 TA5 UF6 UF45 TA5 A RJ GW TO A VNl15 0 lli122 TP MJ CA Check if symbol Not in Is in. Putting tion Cheek if symbol iable of 77 --- nnoo RJ AT UF43 Check if symbol is in Comb. List and, if not, adding it in Is subscript index zero? Call word for multiplier to location Handling subscripts as constant & checking on variable Checking if fixed-point variable is in Comb. List and, if not, adding it in. Call word to location. TF3 A call word into locais a subscripted vartype To get call word of 64, 65, 66 types Adding in 65000 (has to be fl. pt. var.) and storing I ~105} VN1l5 Q is in Combination List Adding file to Combination List Number of subscripts to (vnl05)v Setting up index } 25 GWl } VNl05 A 30000 Modulus to Av Call word of modulus to (vnl05)u 698 T"/\ P I~ TT .L.t\ .Ll.. RJ SY SY2 TP SYI Getting next symbol A IIA 1 RP 20004 EJ UF16 TP SY11 Q Q.} IL6 IL21 } TP QJ SY13 Q 7 IJ12 ILl 0 10 RJ RD RDI RJ TP RJ TP RJ IL63 IL6l SY2 RS2 RS3 RS4 } RS 4 5 6 Subscript a constant 11 12 13 14 15 16 GW rL j ~l . TU UF35 RJ IL55 MJ o 21 TP SYlO 22 QJ IL23 Subscript {23 a fixed- 24 point 25 variable 26 RJ RJ RH RHI IL63 MJ o IL6l 30000 RJ IS TSI MJ o IL33 IL53 IL53 [IH44] 30000 TO RJ ILl35 IL55 o Is symbol a constant? If symbol is a superior figure, error ref. and print-out occurs: Sentence -- (If) Incorrectly Written -Check for validity of fixed-point constant Put constant in temporary location Converting constant to octal Getting call word for constant } 17 20 27 Getting 130 call word 31 for var. [32 in pseudo- 33 op list Iss ymho 1 ) ( , ; ? IL53 } Constant call word to temp. location Jump index check for subscripts of pseudo ops. IH57 or IH70 in v occasionally Test if symbol is a fixed-point variable. If not, error print: Sentence incorrectly written -- IL53 LIH44J MJ MJ o 34 RJ TA TAl 35 MJ o IL4l Check for validity of variable Variable to temp. location Check if variable is in pseudo-op list Not in list Is in list. Putting call word in location Or IH 57 in V Check if fixed-point variable is in Combination List Not in list 699 Getting 136 call word . 37 for var. 40 in Comb. List rf4l Putting 42 call word 43 for var. 44 in Comb. 45 List and 46 temp. 47 location 50 51 52 53 54 TU RJ MJ RJ AT TP TP TP RJ TP TU RJ MJ IL134 IL53 IL55 0 IL53 TK UF32 UF33 SY2 UF7 1E TF2 UF35 TV IL55 0 [QJ RA IL53 55 MJ 0 56 57 60 61 62 TU RA MJ TP RA MJ TP TJ TJ RJ TP RP EJ EJ RP EF EJ EJ TP VN73 IL56 0 SY2 IL6l 63 64 Exit 65 subroutin 66 67 70 71 72 73 74 75 76 77 100 101 102 0 VNllO UF46 UF47 SY SY2 20004 UF16 [pI44] TKl TF2 TF Q I IL53 } TFl TF3 TEl Call word to location 30000 [VNlOl] } UF6 30000 Storage of X3 for subscripts UF6 . Call word for' mul tiplier to location A Is it a dummy function? Is it not a function? Get next symbol IL67 !E115 SYI A IL72 } ( ) , ; checks I sign check 20004 UFlO UF15 IL76 II IJ UF14 D{ ~. ~Ll02 ~104 Test if symbol is a variable used as argument of single-valued function Test if symbol is a constant used as argument of single-valued function Error Print: Symbol Rejected -- SY7 QJ IL67 TP SYll QJ IL67 RJ ID16 105 MJ 0 ·106 ID13 IL67 TP Check for 107 open ab- 110 solute sign 111 112 QJ VNl07 IL67 ~LllO RJ ID56 1D52 IL67 [ILl 17] [ILl 22] 114 Putting call word in location IL53 30000 [VNlll] } UF6 30000 [VNlll.] } UF3 103 115 116 Adding variable and call word to Combination List IL67 ILl 06 104 113 Is in List Call word to location Jump to subscript index for pseudo-oPe (IH57 or IH70 in v occasionally) To get call word (next) of 64, 65, 66 Adding in 64000 MJ 0 RJ RJ TP ILl 12 ILl 13 UF44 QT TA7 A MJ 0 IL125 } < > JUMP } } } = NOT Test if there has been an open absolute sign Error print: Open absolute sign missing I-shot switch I·-shot swi tch 3rd Multiplier ~ A Q 700 117 120 121 122 123 124 125 126 127 130 131 132 133 134 135 136 137 140 141 142 TP QT MJ UF44 TA6 0 ~ UF45 ~5 IL125 TP QT TA6 LQ A RJ GW TIl A RJ IL60 IL56 MJ 0 0 0 0 0 0 0 VN73 TA4 30000 VN101 VN111 0 TS3 0 0 0 0 0 0 CA 0 0 0 0 IL143 1st Multip1ier----+A } 2nd Mul tiplier ~ A } GW1 } Call word for multiplier to (VN73)u Call word to proper temporary location VN73 o o o Pseudo-op list routine location IH44 ILl17 ILl 22 m57 IH70 Relation Symbol Routine o 1 2 3 IA RJ RJ MJ 12 TP TP RJ TP RP EJ TP RA 13 EJ 14 15 16 17 20 21 RP TP RP 4 5 6 7 10 11 TP TP EJ II II IT3 ID40 ID34 o IF A VNl17 VNl16 SYl UF6 SY SY2 20003 UFlO A VNl16 UF13 30031 VN71 10031 UF7 VN65 UF26 A 1113 1111 Error Print: Sentence (IF) Incorrectly written -Store 1st relation symbol Start count of relation symbols Get next symbol 7. J VN120 UF6 < > ::::; tests Store 2nd relation symbol Up count of relation symbolS Not? Transfer block of X data to new temporary location Clearing storage for reception of Y data Is count of relation symbols equal to 2? III II16} VN40 II20} VN7l ~I4l } 701 One relation symbol 22 23 24 25 26 27 30 TP EJ EJ EJ 31 32 33 34 35 > MJ 0 II27 1131 I133 II35 VN4 IF13 TP UF6l 0 UF60 0 ID12l VN4 IF13 VN4 IF13 IDl16 VN4 VN65 IF13 MJ MJ TP MJ RJ TP TP A {~50 TP EJ EJ 51 52 MJ TP UF63 UF26 0 VN66 UF13 OF10 OFll 0 VN67 UFlO UFll 0 UF64 53 MJ 0 IF12 54 TP UF62 VN4 55 56 MJ TP 0 UF63 IF12 VN4 36 37 40 When there 41 are two 42 43 relation symbolS 44 45 NOT 47 < TP VN66 UF10 UFll UF12 0 UF26 57 60 61 62 63 64 65 66 67 70 71 72 73 74 75 MJ TP EJ EJ EJ MJ MJ TP EJ EJ MJ TP TP MJ TP MJ TP MJ TP EJ EJ 0 VN67 UF10 OFll 0 UF6 UF26 0 UF63 0 OF62 0 VN67 UFlO liF11 ~ ~SymbOl tests NOT <: "2" indicator to output Return to if control routine to examine symbol not used • > "4" indicator to output = "3" indicator to output Sentence -- NOT interpreted as NOT EQUAL NOT = "6" indicator to output Putting 2 in relation-symbol counter A II46 II60 II73 IIl06 NOT? < ? > ? = A n52 II54 II56 VN4 < ? > ? = NOT~indicator "7" to output line for 1st test Return to if control routine to get next symbol NOT > indicator "5" to output line for 1st test NOT = indicator "6" to output line for 1st test IF12 A 1164 II67 II71 VN65 VN4 IF12 VN4 IF12 VN4 IF12 «? <>? <= « <>or NOT = indicator "6" to output <=indicator "5" to output A II77 mOl > »? 702 76 77 100 101 MJ TP MJ TP o UF63 o UF6 1n04 > VN4 = NOT = indicator » Count of relation symbols reduced IF12 VN65 "6" to output to 1 = TP Indicator "4" to output MJ o TP EJ VN67 UFIO A 1Tl12 = < ? 110 EJ UF11 11114 III 112 113 114 115 116 MJ o -- > TP UF62 11116 VN4 IF12 VN4 IF12 VN65 = < indicator "5" to = > indicator "7" to = = Count of relation 117 120 MJ TP UF61 VN4 IF12 VN4 IF12 102 103 104 105 106 107 o UF64 MJ o TP UF64 MJ o TP UF6 TP UF60 MJ CA o = indicator > "7" to output q ~ output output symbols reduced to 1 Indicator "3" to output VN4 IF12 11121 Relation Symbol Code Assignment and Consistency Routine Relation symbols in vn4 and vn6 1 in vn142 count in vn4 2 coming 1 IA o MJ 1 TP TP 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 ZJ TP EJ TP EJ EJ EJ JI o UF7 VN6 J14 VN142 UF26 VN143 UFIO JI17 IDI03 UF26 TP A o UF6l o UF60 o VN65 UF26 VN142 UF26 Clearing temporary Has a 2nd-test relation symbol been supplied? Is the count of relation symbols 2? JI13 UF12 TP MJ TP MJ TP EJ ~I12 } JIl5 o EJ ~I2l} UFll MJ MJ TP 30000 J1123 . ..... ,. ? = ? Error Print: Comparison symbols ambiguous < Indicator "2" to temporary JI123 JI Jn23 JI JI123 JI > Indicator "4" to temporary = Indicator "3" to temporary ~I4 } ~I44 } up 703 If 2 relation symbols in 1st part of if or in vn4, go to above Is the current count of relation symbols 2? 1 in vn4 1 coming up to go in vn6 25 26 27 30 31 32 TP EJ EJ EJ TP VN143 UF10 UF11 UF12 0 UF26 A J132 JI34 JI36 JI40 VN6 33 34 MJ TP 0 UF61 JI VN6 35 36 TP 0 UF60 JI VN6 37 40 0 UF63 JI TP UF26 ID121 0 VN143 UF10 UF11 UF12 VNl44 UF10 UF11 0 UF64 0 UF62 0 UF63 0 VN144 UFIO UFll 0 UF6 UF26 VN142 IDl16 JI A JI62 JI110 J175 A JI54 JI56 JI60 JI123 JI Jn23 JI Jn23 JI A JI66 J171 JI73 VN142 } VN6 0 UF63 0 UF62 0 VN144 UF10 UF11 0 UF62 0 UF64 JI JI123 JI JI123 JI A JI101 JI103 JI105 JI123 41 42 43 2 relation 44 symbols. 45 Nothing 46 in vn6, 47 50 1 in vn4 51 52 53 54 55 56 57 60 61 62 63 64 65 1 in vn 4 66 1 in vn 6 67 70 71 72 73 74 75 76 77 100 101 102 103 MJ MJ MJ TP RJ MJ TP EJ EJ EJ TP EJ EJ MJ TP MJ TP MJ TP MJ TP EJ EJ MJ TP TP MJ TP MJ TP MJ TP EJ EJ MJ TP MJ TP < ? > ? = ? NOT Indicator "2" to 2nd test output line < > Indicator "4" to 2nd test output line = Indicator 't3 tt to 2nd test output line JI123 } uNOT" occurring alone was miscounted as one. Recounted as 2 Print: NOT interpreted as NOT EQUAL < ? > ? = ? NOT NOT < ? NOT > ? NflT = NOT < Indi cator "7" to temporary NOT> Indicator "5" to temporary NOT « <> < « = Indicator "6" to temporary ? ? = Correction of 2 count to 1 count Indicator "2" in 2nd test output line <> Indicator "6" to temporary = Indicator "5" to temporary =< ? = >? = = = < Indicator = > Indi cator "5" to temporary < ~iI JI123 704 "7" to temporary 1 in vn4 1 in vn6 104 105 106 MJ Tf TP 0 UF6 UF60 JI VN142 VN6 = ~ Correction of 2 count to 1 = count. Indicator 3 to 2nd test J output line 107 110 III 112 113 114 115 MJ TP EJ EJ MJ TP MJ 1 in vn4 116 TP 1 in vn6 117 TP 120 121 122 123 TP MJ MJ 0 JI VN144 UFI0 UFll 0 UF63 0 UF6 UF61 A JI114 JI116 JI121 JI123 0 UF64 0 JI JI123 JI 0 0 0 CA Jn24 >< ? ? = » > <> Indicator 6 to temporary JI VN142 VN6 » } Corr. of 2 count to 1 Indicato! "4" to 2nd test output Ilne >= Indicator "7" to temporary Constant Storage 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 IA 30 56 34 42 02 00 0 0 37 16 76 50 01 44 43 17 21 23 04 0 0 52 0 40 0 77 32 0 33 34 0 0 OF 77777 77777 31777 77777 77777 77777 0 0 77777 77777 77777 51667 22777 67475 77777 77777 77777 77777 03777 0 0 51717 77777 77777 77777 77777 77777 77777 1 e *if I \7 0 77777 77777 77777 77777 77777 27777 77777 77777 77777 77777 77777 < > = NOT ~ ) ( ; 10 7 14 77777 12 POW 0 2 0 0 34 77777 < 0 77777 0 3 0 . JUMP 6-4000 3 76000 705 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 0 0 0 0 0 31000 0 0 0 0 0 1 0 0 0 0 0 0 66 65 65 46 50 50 65 0 0 0 77777 0 0 51777 30506 66246 34503 67472 51227 30506 0 0 0 0 0 0 0 0 0 CA UF66 0 0 0 0 76777 00700 00077 63000 0 65000 77777 0 62000 66000 11 77777 63050 63047 07777 53054 77777 62277 3 4 5 6 7 10 9 TO SENlEN STATEM LINE NUMBER NO. SENT. = > S r-l>T ~ 706 = If String-Out (Tape 2) Error Print-Out Routines o 1 2 3 4 5 6 7 10 11 IA ID TP SY2 RJ WA MJ 0 RJ WA TP ID7 RJ UP2 MJ 0 401M3 40 ID17 0 1M 1022 } WA2 30000 WA1 UP3 1 fr 4 0 0 o RJ TP RJ MJ 65 01 66 0 TP AT RJ TP RJ TP MJ 40 ID2 ID10 UP2 10 UP3 UP 33 0 0 34 35 36 37 40 41 42 43 44 45 46 47 50 51 52 RJ TP RJ RJ MJ 40 RJ WA 1041 UP2 SC7 0 IM17 WA 1051 UP2 1041 UP2 TP RJ TP RJ RJ MJ 40 RJ 53 RJ 54 55 56 57 TP RJ MJ 40 0 30000 73472 54304 30270 0 55146 43026 10101 A 1033 IM15 WA1 UP3 UP 0 IM7 UZ 0 IM23 UZ WA ID57 UP2 Sentence -- (If) Inconsistent sign change Error routine referenced 3 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 IM16 WA ID32 UP2 1033 r Storing rejected symbol and referencing sentence number routine o Sentence -- (If) Symbol Rejected -- Warning only Sentence -- ( Disa110wable char- -t) _ acte r in exponen __ A 30000 7 o :~ )r Error routine referenced Sentence -- (If) Incorrectly Written SC5 30000 4 Error routine referenced WA2 uP3 UP UP3 UP UZI IF Sentence -- (If) Scientific notation Incorrectly written Error routine referenced 4 UZ1 WA2 0 UP3 UP 30000 IM27 5 Sentence -- (If) Open absolute sign missing Error routine referenced 707 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 100 101 102 103 104 105 106 107 110 III 112 113 114 115 116 117 120 121 122 123 124 125 126 127 RJ WA WA2 TP 1064 UP3 RJ MJ 40 UP2 0 IM34 UP 30000 4 RJ TP TP SC4 VN4 SC RJ MJ 40 RJ TP RJ RJ MJ 40 40 40 RJ RJ TP RJ MJ RJ RJ TP RJ MJ 40 RJ TP RJ MJ RJ 1072 UP2 0 IM40 IM47 UP3 UP 30000 10 WA WA2 ID100 UP2 UZ 0 IM50 IM61 IM70 UZ UP3 UP UZI 30000 11 WA WA2 ID102 UP2 0 UZ UP3 UP Warning only 7 5 Sentence -- (If) Comparison symbols ambiguous UZI Error routine referenced. analysis of sentence IF UZI } WA2 10101 UP2 0 IM75 UP3 UP ID115 UP2 0 Sentence -- (If) becomes unconditional Jump to Sentence _ _ _ __ Sentence -- (If) Space period occurs before sufficient data given Reference error routine WA WA Sentence -- (If) "To" should follow "Jump" Warning only IF ~A2 UP3 Sentence -- (If) Set of variables differs From Initial Set Error routine referenced. Analysis of sentence terminated. } ~OOOO Sentence -- (If) (NOT EQUAL) Warn ing on ly (NOT) interpreted as WA WA2 UZ1 UP3 UP Sentence -- (If) Fixed- and Floating-Pt. Values are not comparable MJ 40 UZ 10127 UP2 0 IM103 IF Error routine referenced. sentence discontinued. CA 10130 RJ TP RJ 11 Excess-Three Print-Out Storage o Terminate. IA 1M 30506 30017 63050 77777 SEN 15065 05066 INC 0 N S 1ST E N T 1 65 26 2 0 o 3 34 4 34 50265 65663 o C E 708 TEN ~ Analysis of 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 64 65 66 67 70 01 26 01 46 30 24 01 52 0 77 01 54 01 30 01 66 50 51 01 24 66 50 34 01 33 31 01 01 30 26 34 44 51 30 65343 33245 27346 51712 01263 26663 34500 51503 0 77010 34502 30266 71543 50010 65263 34313 51662 50777 51523 25655 30016 01473 50327 01665 51674 51464 44674 25302 65010 51502 51502 67475 01653 50263 G N 8 H A N G E A D ! S A ru L 0 W A B L C H A R E A C T E R II ~ I N II E X P 0 N E N T II S 1- 25001 03230 C 52446 42546 32454 05477 13072 05066 0 10100 65154 64673 46666 17777 43050 42601 46634 77777 05001 14667 53432 46565 77777 10165 62701 65171 75277 65147 16750 73466 44601 20166 05066 00177 0 0 0 01 01 51 67 31 67 30 66 30 01 31 24 27 65 65522 01523 27015 54650 51543 31313 50660 24013 50777 65306 01702 25463 34313 01315 42630 05434 12626 12530 00165 42634 12724 23470 77777 60151 45434 06501 13054 45147 n II I R E llw E N ~ S T I N 0 0 N l:l 0 A B T E N II I N llb,. H 0 F 0 l:ll:l~ N C 0 C T L R I T ~ l:l II C I E F I C T A T P E N S 0 L II s I M I S G T 0 l:l U L D R Y T l:l N b,. I II U G S S b,. L L 0 W ~ J U 11 P II ~ B E C 0 M E S fl fl u N C 0 N D I T I 0 N A L fl J U M P fl T o ~ S E N T E N C E ~ fl S P flflp A C E E R I 0 0 C C D ~ U R S F 0 R U F F E N T T A E N fl fl F A D S 0-1 3-4503 46634- 11 24 01 46016 26514 53066 75224 ~ A 709 S E I::l V B L I F ~ F I N L C 0 fl ~ B E b,. I C D E G I V T l:l 0 fl A R S I A I E S fl F E R R 0 M I T I s E T M P A 71 72 73 74 75 76 77 100 101 102 103 104 105 106 107 110 111 112 113 54 65 65 32 01 01 52 01 51 24 31 01 46 32 66 30 01 51 25 CA 34655 73472 01244 67516 17505 34506 54306 24650 66013 46437 34723 24502 51246 76525 01702 65012 50516 47522 46307 IMl14 S 0 N S y M B 0 S ~ A M B G U 0 U S ~ ( N 0 T fl I N T E P R E T E fl A S fl ( 0 T fl E Q fJ2776 X E D N D fl F L 0 A T I N P 0 I N G T ~ V A L U E S fl A R E fl N 0 T fl C 0 M P A R A 70131 63450 13450 44667 45430 60126 45424 77777 R I fl 15001 55146 72534 76522 16643 63054 63027 11750 05367 77777 A F L ) I A L I . ) R D N U - - B L E Superior to Lower-Case Figure Routine 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 IA MJ MJ 0 TP LQ QT EJ RP EJ SN SA TU RA TP TP QS IJ MJ LQ IN 0 0 0 102 IN2 10 10 20012 103 Q IN7 A IN15 30000 10 A 101 0 IN2 IN27 A Q IN2 IN4 IN 6 23 IJ 101 IN22 24 25 MJ RJ 0 1031 IN ID23 26 27 MJ 0 CA 0 1014 IN30 IN16 0 30000 IN3 0 101 6 A IN23 IN25 } IN11 17 0 } IN15 } } } Exit Entry Input-Output Line Setting up index for 6 characters Masking out 1st character to A Is character equal to 771 Is character one of superior X3 decimal figures? -n, - (j-r) -n, -(j-r) + n, j = r in u position (ioI5+r) ~ in 15 u X3 decimal figure representat ion ~ Av Translated figure is incorporated into Input-Output line Index of input exhaustion To exit When 1st character = 77, no further translation to X3 decimal is performed. The 1-0 line is merely returned to original position. Exit Sentence ---( ) Disallowable character in exponent Parameter 710 Storage for i'IN Ti IA 10 n v n v n V 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 11 12 13 14 15 16 17 20 21 22 23 24 25 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CA 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1027 IA MJ MJ 0 IQ 0 0 0 IQ4 0 0 0 0 1'I...1 •• "r 0 IQIOi TP IQ3 IQ7 IQ2 IQ11 A IR11 IQ2 IR1 IRI IR IQ3 IQ2 Q Q 0 IQ3 IQ2 Q 0 A IQ } If exponent is zero, goes to exit ~Q14 } Is floating point number negative? } Changing f1tpt. no. to positive and putting negative indicator into is2 Scientific 0 Notation 1 Evaluation 2 Routine 3 ,. q 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 ZJ TP SJ TM TP TP TJ EJ TJ RA FD TP TP MJ RS FM TP MJ 0 0 ..,.., I I [5J 5 60 61 40 20 41 35 55 75 ~ 'W ~ "-3-' ~ ~ ~ W ~ ~ 36 57 0 1 2 3 4 5 6 7 3 4 5 6 7 10 11 12 13 14 8 9 Exit Entry Input in f1tpt. of no. to left of e or *. May be neg. or pOSe Also output line Exponent of 10 in octal. May be negative or positive 30000 IQ2 IS2 A IQ24 IQ30 IQ30 IR2 IR IQ2 A IQ15 IR2 IR 102 IQ13 Is 1 > floating point input Is 1 = floating point input Is 10 > floating point input t t Loop to reduce floating-point number to one between 1 and 10 sueh that 1 S flo8tinq point no. < 10 Loop to increase floating-point number such that 1 S floating-point no. < 10 711 30 31 32 33 34 35 36 TP ZJ SJ TM TJ EJ MJ 37 40 41 42 43 44 45 46 47 50 51 52 53 54 55 56 57 60 61 62 63 64 65 TP TJ FD TP FD TP TP QJ TN IQ3 IQ32 IQ33 A A ~Q54 IR4 IR4 o IQ2 IR7 IQ2 Q IQ2 Q 152 IQ47 IQ2 MJ o T.J IR5 IR5 EJ MJ ST TP IJ MJ o IR2 IR IS o IQ45 IQ5l } IQ37 IQlOl ~QI0l} IR } IQ2 IRI0 l IQ2 r ~Q } IQ2 IQ IQ54 IQ7l IQ75 IS 151 1060 1063 IR } lSI IQ56 FM 151 TP MJ TP SJ FD Q IQ3 IQ65 IQ2 ~Q67 } 66 67 MJ o FM IQ2 IQ44 lSI 70 MJ TP TJ 0 IQ44 A 71 72 73 74 75 76 77 100 101 102 103 104 105 106 107 o FM IR6 IQ2 IQ2 MJ 0 RJ TP RJ MJ TP RJ TP RJ TP MJ TP WA IQl12 UP2 0 IR3 WA IQl13 UP2 IQl14 0 IR3 lSI IQ75 IRlO IQ44 WAI UP3 } UP IQ IQ2 WA2 UP3 Is exponent zero? Is exponent negative? Is 39 > I exponent I Is 39 = I exp.1 Output to zero. Sentence _ ( ) absolute value of number too small given zero value Is (IR7) > (IQ2)? Same printout and action as above. Dividing IQ2 by 10 and storing in IQ2 Dividing IQ2 by 1038 and storing in IQ2 Is negative value of floating point desired? Making floating-point output negative Is 38 > Is 38 = Jump to Setting 10 ~ exp.? exp.? error print-out section up index for multiplication 151 Index jump Multiplying 10 to power desired in floating-point Is exponent negative? Dividing fltpt. no. by power of 10 desired Multiplying fltpt. no. by power of 10 desired Is (IQ2) > (IR6)? If so, too large, Multiplying by 1038 Sentence _ ( __ ) absolute value of number too large Error routine referenced Sentence__(__ ) absolute value of number too small - given zero value UP UP3 IQ77 IS2 Warn ing on ly Clearing is 2 712 r "'\ 'In FT10 LL .LV&:. 1-\ III ZJ 40 40 40 01 46 24 31 30 01 01 IQ5 IQ115 IQl15 IQ123 01242 67663 46673 01506 54016 46245 65472 02323 01743 70244 IQ127 IQ 6 5 4 56551 00170 00151 74725 65151 43230 44646 47030 05451 66730 'I LLV 112 113 114 115 116 117 120 121 122 123 124 125 126 02 50 01 CA Tn" A If floating point input is zero, goes to exit DD A B L U T E A L U E F !::l N U E R !::IT l:l L A R S M A G I L V l:l S -N !::l ~ Z V A E L Constants for IQ 0 1 2 3 4 5 6 7 10 11 IA 20 20 IR 45000 14000 0 0 0 0 20 20 37 40 CA 0 0 0 0 16634 15701 74547 0 IR12 0 0 10 1 1 0 47 46 37341 21001 32316 0 -= = 39 38 1.70141184 1.46936801 1038 Indicator Temporary Storage IS 0 I 2 Multiplication index Multiplication storage Negative answer indicator 713 0 !::l V !::lo M B 0 0 G E L E R 0 U E If String-Out (Tape 3) Jump Routine o 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 X is floatingpoint constant 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 50 51 52 53 54 IA RJ TP EJ RJ TP RP EJ EJ TP TJ RJ MJ RJ MJ TP RJ TP TP QJ TP QJ TP TP MJ TP QJ TP ZJ TP RJ TP MJ RJ MJ TP TP RJ TP QJ TN MJ TP MJ TP ZJ IJ SY SY2 UF5l ID63 SY2 20007 UF5l UF14 SY5 UF23 ID40 o SY o SY2 I.N2 I.N3 SYI A IJ7 } IJ14 IK ~J16 LN4 L~ ~J32 ~J34 GW Q o IJ52 o VN72 UF3l GG2 VNl06 IJ47 GG3 TO, Sentence, Statement, line, number, NO. 1 Sent. ? lJ.. Are no. of chars. of what should be figure < 7? Sentence -- (If) Incorrectly Written -- } Getting line number in proper form and storing output } Is X floating-point constant? } } Is Y floating-point constant? IT ITI IT2 Sent to preliminary number comparison } Is Y fixed-point variable? } Is Y fixed-point constant? Y is a floating-point variable. word for X constant to VNS7 :;7 } IJ160 IJ42 IJ25 GG4 GG5 GG VN4l IJ55 ~J131 } Call Jump to end Y to floating-point Jump to comparison Translation of Y fixed-point constant to floating-point and storage Q o GG3 "JUMP't Get next symbol IJ5l VN7l IJ52 VN7l 30000 o "1\)" should follow VNS VN74 VN72 IJ40 VN40 } 1034 IF SYI IJ4 ~JS3 ~J30 ID12~ (If) A VN70 IJ23 VN121 IJ25 VN40 VN71 o TO? Sentence -- IJ14 ID60 Is X fixed-point constant? 714 ;i!:d- (~~ ~ ~~!~~ant ~~b61 :~TP 62 63 64 65 66 67 70 71 TP RJ TP QJ TN MJ TP MJ ~i!:d{~;74 ~~RJ point constant X is fixedpt. constant 75 76 77 100 101 102 103 104 105 106 107 110 111 112 113 114 115 116 RJ MJ TP RJ TP QJ TN MJ TP MJ TP RJ TP QJ TN MJ TP 117 120 121 122 123 124 125 126 127 130 131 VN121 IJ57 1J71 o VN41 UF31 GG2 VN55 IJ66 GG3 !J61 Q o GG3 VN40 o VN72 IJ74 IJI06 IJ116 o VN41 RS2 VN55 IJI03 RS3 o RS3 o } 1J25 GG4 GG5 GG IJ70 VN40 1J71 J 30000 ~J122} X to octal and storage Yto octal and storage Jump to fixed-point comparison Q Translation of X excess-three decimal to octal and storage IJI05 VN41 IJI06 VN41 30000 o RS3 o VN72 MJ TP VN41 VN72 30000 IT ~ ITI J IT2 MJ o TP VN74 IJ124 IJI06 VN41 ~JI27} IJ71 IJ61 IJ34 QJ RJ TP MJ RJ MJ TP o o m~~ TP 136 ZJ IJ137 Is Y fixed-point constant? IJ77 IJI07 IJl17 RS4 RS RS2 VNI06 IJ113 RS3 TP Is Y floating-point constant? X to floating=point Jump to comparison Translation of X fixed-point constant to floating-point constant and storage RS4 RS Q IJl15 VN72 IJl16 VN72 VN43 IJ133 VN121 ID122 VN72 r135 ~J72 IJ77 ~J35 } ~J146} ~JI35} ~Jl44} Translation of Y excess-three decimal to octal and storage Fixed-point numbers to preliminary comparison Is Y fixed-point variable? X to octal and storage Getting call word for X and storing X to floating point and storing Getting call word for X and storing Is X fixed-point variable? Is Y floating-point constant? Is Y fixed-point cMstant? 715 X is fixedpoint variable X is floati.ng PQint varia~le 137 140 141 142 143 144 145 146 147 150 151 152 153 154 155 156 157 160 161 162 163 164 165 166 167 170 171 172 173 174 175 RJ TP RJ TP MJ TP QJ TP QJ TP ZJ RJ MJ TP QJ TP MJ RP TP RP TP TP RJ RJ TP RP EJ EJ EJ RJ MJ CA IJ116 VN72 GW Q 0 VN74 IJ160 VN121 IJ156 VN72 IJ152 IJ52 0 VN74 10122 VN71 0 30010 VN54 30010 VNl05 VN5 IX SY SY2 20004 UF16 UF14 UF2 1040 0 IJI76 IJI07 GWI A VNll0 IJ160 Y to octal and storage } ~0122 } ~J150 } ~J154 } IJ42 Getting call word for Y and storing Is Y fixed-point variable? Is Y floating-point constant? Is Y fixed-point constant? Y to floating-point constant IJIS-&, ~J160 } ~J141 } Is Y fixed-point variable? Getting call word for Y and storing IJ162 } VNII IJI64 VN21 Transfer of prepa:red data to outpttt region A IXI SYI A IJl72 } IJI66 IK IU 1034 IF ( , ; tests ) ~ • check "if" check Sentence -- (if) Incorrectly Written -- Preliminary Number Comparison Routine < > 0 I 2 3 4 5 6 7 10 II 12 13 14 15 16 17 IA 0 0 TP EJ EJ EJ EJ EJ MJ TP TJ MJ TP EJ IT 0 0 VN4 UF26 UF60 UF61 UF62 UF63 0 IT ITI 0 IT ITl MJ 0 TP ITI 0 0 1st no. X 2nd no. Y A ITII ITI4 ITI7 IT22 IT25 IT30 < ? = ? > ? < ? f ? ~ A IT32 IFI A IT32 Change "if" sentence to a "jump"sentence Jump back to start of IF IF! A 716 20 21 S 22 23 24 F 25 26 27 ~ 30 31 32 Changing 33 IF to a 34 Jump Sentence 35 36 37 40 41 42 TJ MJ TP TJ MJ IT IT32 IFI ITI IT A IT ITI A A TP IT ITI UF63 UFlS VN5 VN4 TP RJ VN33 ID71 VN5 ID65 TP RJ RJ MJ CA VN4 IX WI TP EJ MJ TP TJ TP TP o o o o IFI IT32 IFI IT32 IFI VN VN2 ~Xl } WIl IF Number (6) to 1st line of output JUMP put into title output line Line number changed to 5th position of output Pseudo-op indicator to 6th output line Sentence -- (If) Becomes Unconditional Jump to Sentence -Line number to reference list Write string-out on tape IT43 Termination Space Period Routine o 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 IA TP ZJ TP ZJ TP ZJ TP ZJ RJ MJ RJ IK VN5 IK2 VN4 IK4 VN14 IK6 VN24 IK10 WI 0 ID77 MJ TP ZJ TP ZJ TP ZJ CA 0 VN10 IK VN7 IK20 VN6 IK IK22 ~K12 } ~K12 } ~K12 } ~K12 } WI'1 IF ID73 Has a 1st number been filled in? Has a 1st relation been filled in? Is there a call word for X? Is there To write Exit Sentence before a call word for Y? completed data on tape -- (If) Space period occurs sufficient data given IF ~141} Has a 3rd no. been filled in? ~K12 } Hass 2nd no. been filled in? ~K12 } Has a 2nd relation been filled in? 2nd Control Routine IA Initial Contr-ol2nd or 3rd time thru 0 1 2 3 4 TP TP RP TP TV IU VN56 VNI07 10015 UF7 IU33 Abs. sign of X to more convient location Abs. sign of Y to more conrient location Clearing region of temporary Storage VN43 VN74 IU4 VNl50 JC Setting up divider routine for 2nd or 3rd time thru 717 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 TP SY SY2 SY2 SY3 UF4 UF3 UFl7 UFl4 SYll IY SYIO IY33 SY7 QJ JB RJ TP TP TP EJ EJ EJ EJ TP QJ TP QJ RJ 1016 MJ 0 TP VN151 IU5 UF27 QJ TP MJ 0 TP UF27 MJ 0 o CA 0 SYI Get next symbol A VN152l VN153f IU25 IU31 IU5 IK14 ~U17} ~U21} ~U23} 1013 IU5 Q IU27} VN150 IU5 VN151 Store 1st two symbol words in temporary storage -? I? t? ~. termination Is symbol a constant? Is symbol a fixed-point variable? Is symbol a floating-point variable? Sentence -- (If) Symbol Rejected -Negative sign if no previous absolule sign Absolute sign indicator to temporary location IU5 JC3 IU34 2nd Constant and Fixed-Point Variable Routine Constant &- Fix-Pt. Var. Routine 2nd or 3rd time Thru IA TP TP IY VN47 IY4 VNIOO IY4 SY SY2 UF UFI UF4 UF5 SYll IYl4 SY2 MJ 0 TP RJ UF27 SY 0 1 ZJ 2 TP 3 4 5 6 ZJ 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 RJ TP EJ EJ EJ EJ TP QJ MJ 0 RJ TP EJ SY SY2 UF22 MJ 0 RJ TP EJ SY SY2 UF25 ~yJ ~Y33} SYI Did X have a number in scientific notation? Did y have a number in scientific notation? Get next symbol A IY4 IY21 IY16 IY16 ~0110} VN155 IY33 VN154 SYI IY12 SYI e? *? -? -? Constant? Exponent to storage Negati ve sign indicator (40 0 0) to storage Get nexT. symbol Get next symbol A IY25 1042 SYI 10? Get next symbol A IY31 POW? 718 30 31 32 MJ 0 RJ SY MJ 0 33 RJ RJ JB17 IDl6 MJ 0 CA IY36 34 35 IYIO SYI IYIO JB6 "'\ 1013 ~ IY33 ) Get next symbol Termination check loop 2nd Floating-Point Variable Routine IA JB 0 RJ TAl 3rd time 1 thru 2 MJ TA 0 TJ RJ UF36 TA4 JBl7 A 3 4 5 MJ 0 6 7 RJ TP RP EJ EJ RP EJ EJ EJ SY SY2 20004 UFl6 UF3 20004 UFIO UFl5 UF14 M.l 0 TP RJ VNl51 JB6 ID56 23 MJ 0 24 25 TP QJ SY7 JB4 26 IF SYii 27 QJ JB4 2nd or Nonsubscripted variable Termination Loop Not in Is in Sub- scripted variable 10 11 12 13 14 15 16 17 20 21 22 30 31 32 33 TP QJ RJ 1016 MJ 0 JB32 JB37 JB6 JB24 SYI Is symbol in Comb. List? Not in Is in Go to subscripted variable portion Get next symbol A JBl2 } JB6 JB20} JBl5 JC JF IKl4 30000 ~22} 1052 tests Abs. sign test < > = NOT tests JUMP? ) ( t ; !::l. Has open absolute sign been given? "Sentence -- (If) Open absolute sign missing" Krror routine reference and continuation of analysis Is symbol a variable? If either a variable or constant, it is Is symbol a constant? assumed to be redundant argument of a single valued function and no notice is taken of it Sentence -- If Symbol Rejected -- RJ TS MJ 0 1013 JB4 TSI IDIIO 34 35 TP TJ UF34 TS3 36 37 ~37} MJ TV 0 JB4 Is symbol in pseudo-op list? Sentence -- (If) Set of variables differs from Initial Set Is variable subscripted? No JB60 JB55 Setting 'ujtyo{sti)1"age sUMoot ine 40 41 42 43 TP RJ TP UF60 JBl7 SYll JB50 JB61 JB6 Setting up index Termination check Is symbol a constant? QJ ~44} 719 Relation Symbol Routine 2nd or 3rd time thru 44 45 46 47 50 TP QJ RJ MJ RJ SYIO J850 1016 0 JB57 ~46} 51 52 53 54 55 56 57 60 61 IJ RJ RJ MJ TP RA MJ 0 0 CA JB6l JB17 IDl6 0 SY2 JB55 0 0 0 JB62 JB41 0 I 2 3 4 IA RJ RJ MJ TP TP JC JC ID40 0 A UF6 5 6 7 10 II 12 13 14 15 16 17 20 RJ TP RP EJ TP RA MJ EJ RP TP RP TP SY SY2 20003 UFIO A VNl62 0 UF13 30015 VNl50 10015 UF7 SYI A JCI4} JCII VNl64 UF6 JC15 JCl 21 22 TP TJ VN142 UF26 A IU6 23 MJ CA 0 JC24 IU5 Is symbol a fixed-point variable? Sentence -- (If) Symbol Rejected -- 1013 J841 J855 Storing const. or fix.-pt. var. XS3 representation Index jump to start of loop JB6 } Termination check loop IDl3 JB52 fyNlS:} UF6 Storage subroutine 30000 VNl56 0 Index temporary JC3 } 1034 IF VNl63 VNl62 Sentence -- (If) Incorrectly Written 1st relation symbol to storage Starting count in counter of relation symbols Get next symbol <> =? 2nd relation symbol to storage Count of relation symbols increased Is 2nd symbol NOT? Transferring data of X to VN130-144 2 Clearing VN150-l64 for use of Y2 data accumulation Is 2 > no. of relation symbols, some value of SY2 hasn't yet been identified and stored Return to gather data on Y JC17 } VN130 JC21 } VN150 } 2nd Jump Routine Jump Routine2nd or 3rd time thru 0 1 2 3 4 5 6 7 IA TU TU TV RJ TU TU TV RJ JF JF156 JF160 JF154 JF153 JF157 JFl6l JFl55 JF153 JF145 JF146 JF147 JFl44 JFl45 JFl46 JF147 JF144 Check if X2 = X Check if Y 2 720 =Y Reversal of relation symbols due to ctlanging of signs or a1tering of position of X & Y the 2nd or 3rd time thru 10 RJ JI JIl 11 12 TP EJ A 13 TP 14 15 EJ MJ VN130 VN55 VN150 VNI06 0 16 17 TP EJ VN150 VNl06 A 20 21 22 23 24 25 26 27 30 MJ TU TO TV RJ TU RJ RJ 0 JF156 JF16l JF155 JF153 JFl57 JF160 JF153 JI 103 JF145 JF146 JF147 JF144 JFl45 JF146 JF144 JIl 31 32 TP EJ VN130 VN106 A JF36 Sign follows group equality #1 X2 (s) = yes) 33 34 35 TP EJ MJ VN150 VN55 0 A X2 (8) 1- y (s) Inconsistent sign change Y1(s) = Xes) Y2(s) t xes) Double inequa ity of signs and reverse equality of no. series means relation reversal not needed 36 37 TP EJ VN150 VN55 A 40 41 42 43 M•.T 0 VN7 JF43 UF63 ID3 44 45 46 47 50 ST MJ TP ZJ 51 52 53 54 5_5 56 ST MJ TP EJ TP ST TV TP ZJ TP TP J1123 0 VN6 JF50 UF63 JF16 A ID3 JF41 JF57 ID3 JF57 JF41 ~F46} :m} 1st left sign = 2nd left sign X2(s)=X(s) 1st left # 2nd left X (s) t xes) 2 Y2(s) = yes) Inconsistent sign change Double sign inequality. Relation reversal needed. Y2(S) f yes) Y2(s) = yes) Sign of 2nd rt. = sign of 1st rt. Signs O.K. Reversal of relation not needed Inconsistent sign change. Y2 t Y Left = Right. Check if X = Y2 Right = Left. Check if Y = X2 Checks consistency of relation symbols and assigns code figures Y2(s) = Xes). Sign follows group reverse equality 2nd time. Relation reversal needed Inconsistent sign change. Y2(s) t Xes) Is line no. for 2nd test in output? Reversing relation of single symbol in temp_ storage 6~,3t43= (4,3,2} JF57 ~F53} A VN6 VN6 0 JF57 VN65 UF26 Uf24 JI123 Checks consistency of relation symbols and assigns code figures Is 2nd test line t O? Reversing relation of 2nd test line. 6-{ 2 t 3 4} = {4 t 3, 2} } t ~43} Was 1st test a double relation test? A J1123 12-{S.6.7} = {7.6 S} t 721 Check of consistency of relation symbols 57 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 TP ZJ TP ST ST EJ MJ TP ZJ EJ MJ TP ST EJ MJ RJ Loop to 77 TP get line 100 EJ number 101 RJ TP 102 RP 103 EJ 104 EJ 105 TP 106 TJ 107 RJ 110 MJ III RJ 112 MJ 113 TP 114 RJ 115 TP 116 RJ 117 120 TP ZJ 121 TP 122 ZJ 123 Exit 124 TP RJ lQQP ~25 after 126 EJ final 127 EJ line no. 130 MJ is ob- 131 TP tained 132 RJ 133 RP EJ Exit 134 EJ loop 135 TP after 136 line no. for VN7 137 EJ is obtained. 140 MJ May be start of 3rd time thru if an nif" is recognized ~F66 } VN7 JF6l UF50 VN4 VN6 JI123 t76 } 0 IDl03 VN6 JF70 VN4 ~F72 } [9 - (VN4) - (VN6)] 0 10103 JF76 UF50 VN4 JI123 ~F76 } 0 SY SY2 UF5l ID63 SY2 20007 UF5l UF14 SY5 UF23 1040 o Sy o SY2 rn2 LN3 IX VN6 JF122 VN7 JF124 (VN4)] should equal (JI123) Comparison symbols ambiguous Start of procedure to get line no. Getting next symbol JFl12 ID60 Is symbol TO TO should follow Jump (Warn ing) A ~1l4} Is symbol TO, SENTEN, STATEM, LINE, NUMBER, NO., SENT.? 6.. test Is 7 > no. of chars. Incorrectly Written Exit Get next symbol ~4 Getting line number in standard form JFl05} JFl12 IK14 ID34 IF SYI JFl02 } IXI ~124} ~F13l } UF2 IU2 o IJ12 LN3 [9 - A Sy 20004 UF16 UF14 UF60 o = (JI123) Symbol OK. Can get on to rest of jumps now Is 2nd test line = O? Is (VN6) = (VN4)? 10103 SYI VNlO SYI JF125 IK14 IJ12 VN7 SYI JF135} JF132 IK14 VN34 rn3 SY UF16 UF14 Is line no. for 2nd test zero? Sending line number to reference list Is 2nd test line zero? Has a line number already been put in VN7? Line number to unconditional jump line ) ? ~. routine of 2nd or 3rd time thru Incorrectly Written _ __ Line no. to VN7 ) ( t ; ? 6. . test? Putting indicator "3" in output to indJcate there are to be 3 clauses Start of 3rd time thru with recognition of "IF" Incorrectly Written -- 722 ...lAl ..,. ... TO "'L 142 143 144 145 EJ MJ 146 EJ MJ 147 150 151 152 153 154 155 156 157 160 161 162 TP TP RA RA IJ MJ 0 0 0 0 0 0 0 CA U1\T"lA Vl1v"'t UF60 0 UF65 [VN43 ] [VN131] r\ 1'\ IK12 IK16 JF162 0 VN43 VN74 VN131 VN151 0 0 0 J ~.~o ttl0 I .JF21 UF42 UF42 JF145 30000 JF21 IDI10 0 0 0 0 0 JF145 JFl46 JF162 0 "" Is this the third clause being analyzed? Index set up Check if storage of data for a constant or variable is equal to same data gathered for one on the first part of an "if~ sentence X y absolute absolute Index temporary storage JF163 723 VARY Translation Routine The VARY translation routine builds from the input VARY sentence the required lists of symbols for generating the VARY coding and for providing the necessary connections so that the stated looping processes can be accomplished. These lists are called the VARY String-out, the VARY File, and the Variable List. In addition to these tasks, this routine makes appropriate checks. where possible, for the writing of VARY sentences containing non-ending loops. It also checks for compatibility of fixed- or floating-point variables and constants within a Modify Component of a VARY sentence. String-Out Form for VARY Sentence Will o 000 0 000 0 t t t 1 V 2 3 0 4 o A Y R 0 0 0 0 0 0 0 0 0 0 0 0 7 7 7 7 s s s s 0 0 0 y s y 5 6 7 10 rOO 000 11 o 0 0 0 0 W X 000 12 p 0 Call word 13 Q O 0 0 0 0 0 0 0 0 Call word O Call word l Call word 2 Call word 3 XS-3 sentence identifier sssss = sentence call word YY = number of WITH words (max. 17 ) 8 Sentence number of first in range Sentence number of last in range Sentence number of transfer, if stated (zero otherwise) r = 4 if WL7 is RESUME number (zero otherwise) WX = indicator for tests of first variable Variable. P=4 if call wordO is 63--and floating. (zero otherwise) Initial value} qi=4 if absolute valIncrement ue is specified (ex°t cept constants) L1m1 16 Call Call Q3 0 Call o 0 o 0 17 pI 0 CW~ I CW o WXI=indicator for tests of second variab Ie Variable 20 1 Q2 0 CW 1 CW I Initial value 1 CW I 2 CW I 14 15 0 1 Q2 0 21 Q3 0 22 Q4 0 1 word l word 2 word 3 0 W Xl 0 0 0 0 0 ttt = number of words in string-out Sentence number in standard form 1 3 1 CW I 2 I CW o P and Qi have same Increment meaning as above Limit 3 Additional 5 word components as required 724 The WX indicators in the String-out provide to the VARY generator the information required so that the necessary tests, if any, may be built to guard against indefinite loops within the VARY cycle. These indicators may be explained by the modify component. VARY a a(b) c . . . . , where a denotes the fixed or floating variable, and a, h, and c are fixed-or floating- point variables and/or constants. Then, WX = 00 if a, h, and c are all constants.. gener'ated No test coding will be WX = 10 if a and/or care vari ab Ie and b is a stated constant> O. WX = 14, if a and/or c are variable and b is a stated constant < O. WX = 20, if b is a variable, and a and c are constants such that c-a > O. WX = 21, if b is a variable, and a and c are constants such that c-a < O. WX = 22, if b is a variable, and a and c are constants such that c-a = 0 WX = 30, if b is a variable, and a and/or c are variable. Since the test coding that is built by the VARY generator for all cases except WX = 00 is only executed at the beginning of the looping process, none of the variables a , b, or c may be changed by other sentences within the VARY's range. In order to check that these variables are not altered by their appearance in other Modify components of this or other VARY sentences, or in COMPUTE sentences, or on the left of equations, the Variable List is built by the VARY translator. This list consists of three word entries for each modify component of VARY sentences. These entries remain in the list only until the translation process has progressed beyond the range of the VARY. Example: VARY X O(l)Y with J I(K)lOO Sentences 10 thru 20 • After the insertion of the 2 three-word items for this sentence, the ~r iable List would appear as follows: 725 VLO 0 0 address counter address counter Previous entries in the list, if any 3 word item { <: 0 0 E XS-3 for X 0 0 0 0 0 0 0 0 0 0 XS-3 for Y { for J XS-3 for K XS-3 < 0 0 0 0 0 0 0 0 0 0 0 0 <: 3 word item > For constant 1 :;:. ;:. :. For constant 100 When a constant appears for ~ or £ in the Modify component, the corresponding word in the Variable List is cleared. The three-word items entered for the above sentence remain in the list for checking by the COMPUTE and Equation translators until sentence 20 has been processed. Then the VE routine of the Translation subroutines removes these items from the list. The first entries into the VARY File are also made by the VARY translator. This file is used later, to: 1. 2. 3. Determine when items are to be removed from the Variable List. Provide exits from VARY sentences when transfer components are not stated. Establish the continuation of the VARY loop from the last sentence in its range. 726 A VARY F1le item consists of two words for each VARY sentence: Sentence nwmber of last sentence in range. CW 2 = Call word of VARY sentence. CW I = Call word of sentence to whiCh exit is made. Y(4 bits) = number of WITH words. X(2 bits) = 10 if exit is normal transfer. = 11 if exit is RESUME of previous VARY. All entries in the VARY File item except CWI and X are made by the VARY translator. The item is completed later by the VE routine of the Translation Subroutines (see Section III, 3,a). 727 Error Print-Outs Used in VARY Translator ZA --- ZB Format error i.e. t ZC Inconsistent use of fixed or floating point operands. ZD Minus sign illegal prefix to variable. ZE Inconsistent use of absolute value signs. ZF is not a variable symbol. no parenthesis. type symbol is illegal in scientific notation format. ZG Illegal scientific notation format. ZH Change modifiers to eliminate infinite loop. ZI The number of modifier components exceed 15. Rest of sentence not checked. ZJ Misspelling or no referenced sentence. ZK No space period symbol. ZL Incomplete sentence ZM Variable ________must not change values within VARY loop. ZN Error in transfer component. IN Disallowable character in exponent _____ IQ NV i.e. t no (range)component. Absolute value of number too small - given zero value { Absolute value of number too large Too many vary sentences in program. VARY must not be last sentence in range of any VARY. { Range of inner VARY extends beyond range of outer VARY. 728 Vary Translator Flow Charts Pick up variable~ Pick u~ ~ni tial valu~ ~ Piclc up incr~m~nting (]f Preset program ~ DetermIne If ~v~lue of mO~IfIer Deter~ assign or find C/W ---;.of ,?odIfIer. zetoize WL4~WLIO and send to Temp. @ varIable or constant (set mInE~ if varIable or con': ~ indicator in'VT'). Assign stant (set indicator in'VT'). or fin~C/W and send to Assjlgn or find C/W and send Temp. ~ to Temp. 14 Preset location ....---__~, necessary for reentrance. Bu:illd indicator l!!.... on basis of infor- IEmation concerning operands stored in VT20-VT26. Send indicator to TemQ.UJ Test operands in modifier for infinite loop design Move stored L~ values in Te~. @ - Temp. @ to string-out Build a Variable List~ containing variable, ~ incrementing operand, and limiting operand of modifier component 1 Pick up limiting value ~_ of modifier. Determine if variable or constant (set indicator in'VTJ. Assign or find gL15'W and send to Temp. Q§) VARY String-Out Control Flow ~------~.--------.- Test for 'with' and ~ tally in WL4 Error Return RJ VT VTl I No Exit - Process range and transfer components Note: - In Flow charts that f ollow g refer s to varia ble, ..Q. refers to initi al value, lL refers to incre ment, ..2. refers to limit ing value, as VARY a a(b)c. Ia Region I Get next symbol Test for letter QJ (SY7) Illegal variable type symbol NO YES Error Routine Alarm print-out then proceed Set op position of Temp. @ NO Test for fixed or fltpt. (SYIO) QJ Check variable type symbol RJ RH RHI YES YES Search DP List L(SY2 ) RJ TS TSI Found Not found Test for pseudo op QJ (TS4) NO Search CB List for L(SY2) RJ TA TAl Not found Assign 64 type C/W YES Test for fixed or fltpt. QJ (SYIO) ~-----~ Send symbol and C/W to CB Li st 730 I--N_O---..,;~ Assign 65 type C/W IFVI First value region 'a' I I Save SYIO in Temp. Fixed or fl t ..ot , indicator CDI 1 \ Set '40' in OPe of Temp. @ . Get next symbol -- Set flag ~to 40 minus indicator ~ ~ \~ Yes Test ( I ) absolute value sign No ~ Test Yes (-) No 731 Increment Region 'b' ~ Get next symbol , Yes Test Temp. ~for ( No \ Test S1'2 for ( ERROR no open paren. No Yes Get next symbol ,11 ...... Test for (SY2) ( I) Yes , Set nOp" portion to 40 Temp. @ No , Test for Yes (-) No ~J Exit 732 Set flag ~ Bound Phase or Region II Get next te t symbol Test Temp ~ for ) No ) Test SY2 for ~_ _~ ERROR no close paren Yes Get next symbol Set !tOptI portion to 40 Temp. @ No Yes Set flag No 733 @ Get next symbol RJ SY SYI Send SZ2-SZ12 to Error No absolute value sign should be detected No Save SY2 ZZ2-ZZ12 Yes for value "t" Get next symbol No Test for: "(". ")"I with • sentence Test Temp ~/'Xit 4 Set parameter to print: TOO MANY VARY SENTENCES Set parameter to print: RANGE OF INNER VARY EXTENDS BE YOND RANGE OF OUTER VARY Vary Translator Flow Charts - Build Vary File Set (";~~ =(y) as there been I--_~ ~ No J -~~ Set indicator an~ length of vary . ] files .for yary sen) tences In maIn progmm Set parameter to print: VARY MUST NOT BE LAST IN ....----RANGE OF VARY (a) = Address (Y) = Address of last unclosed item in vary file. for inserting next item in vary file. Regions-VARY Translator HE HE HE HE HE HE HE HE HE HE HE HE HE HE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE HE RE HE MC4400 LV4566 VV4635 FV4650 BV4663 CV4704 GV4725 HV5040 JV5117 WV5151 DV5214 PV5243 IV5310 SV5362 VZ5417 UV5433 TV5465 EV5506 VT5521 PL5553 105613 IM5743 IN6057 106107 106136 lR6265 ZA6277 ZB6314 ZC6330 ZD6347 ZE6364 ZF6401 ZG6423 ZH6437 Z16455 ZJ6500 ZK6521 ZL6533 ZM6551 VP6573 VQ6633 VS6647 NV6655 lS6711 ZZ6714. SC6726 742 T[;'L.,.t).,. Dr;' UL:. .Ll'U It:;. I RE RE RE XV6730 XU6735 ZN6760 Translation Subroutine regions are also needed to assemble the VARY Translator tapes. Also included, in the reco tapes of the VARY Translator are ID (130 lines in length) r IM( 114 ), IN( 30 ) 8 8 I of 3 addresses used as temporaries). IO( 27 ), 10 ( 127 8) ~ IR( 12 8 8 )! 8 and IS (a set With one 2-1ine exception, this reco coding is identical to the regions similarly named in the IF String-Out where they are annotated and reproduced in this manual. The 2-line exception is: IA ID3 RJ DV DVI Build Variable List File MJ 0 IDS MC40 Jump back to vary Translator Control CA 743 Master Control for Vary Translator o 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 50 51 52 53 54 55 56 57 IA MJ MJ RJ RJ TP QJ RJ RJ RJ MJ RJ MC o o VV FV SYll MC6 HV JV WV o GV RA PLIO RJ TP BV SYll MC17 HV QJ RJ RJ RJ MJ RJ RA RJ TP QJ RJ RJ RJ MJ RJ RJ RJ RJ RJ TP EJ EJ EJ RJ MJ RA TJ MJ RJ MJ RJ TP QJ TP JV WV o GV PLIO CV SYll MC30 HV JV WV o GV OV PV IV SV PL33 MC154 MC152 MC153 SY o CT XV VVI FVl ~C12} HVI } JVl WVl MC13 GVl PL2 BVI Q MC23 HVI } Jump out for correction; then process Test duplication of variable First value region or 'a' Test for digit or decimal pt. a Constant branch Variable branch Increase CTR+l ~CTR Increment region or "b" b JVl Constant branch WVl MC24 GVl Variable branch PL2 CVl Q MC34 HVI } JVl WVl MC35 GVl OVl PVl IVl SVl A MC47 ZLI MC54 SYl MC42 WL4 PLl MC155 MC52 ZIl o VZ VZl o MCl SY SYl SYll MC57 ~Jl } SY2 L~4 I Bound phase or "c" c Constant branch Variable branch Build Variable File Build preface region to indicator Build indicator Mover region Possible WITH or SENTEN Test WITH Test fj.. (Incomplete sentence) Test SENTEN Get next symbol Go back & test for (WITHtfj.. t SENTEN) Test no. of WITH words ~ 178 Presetting region Continue processing modifiers Get next symbol which should be digit Is it digit? No~ Error 744 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 100 101 102 103 104 105 106 107 110 111 112 113 114 115 116 117 120 121 122 'On ... l~') 124 125 126 127 130 131 132 133 134 135 136 137 140 141 142 143 l RJ TP TP rn2 rn3 rn3 rn J WL5 A Put line number in proper form Line number ~ string-out nT ntJ IX IXI Put line number in IZ iist RJ EJ EJ MJ RJ EJ TP n_T TP RJ MJ RJ MJ TP RJ EJ EJ EJ MJ RJ EJ TP QJ TP RJ TP TP RJ TP MJ RJ EJ SY MC146 MC147 0 SY MC153 SYll SY2 LN2 0 IX 0 WL5 SY MC152 MC15l MC150 0 SY MC153 SYll MCl13 SY2 LN2 rn3 SYI MC70 MC70 MC157 SYI MC70 Q ZJl } LN4 LN } MC163)IXI MCI02 WL6 SYI MCI36 MCI22 MCl07 KUlO SYI MCl07 Q ZJl LN4 rn WL7 L~3 A ~ .... TP QJ TP RJ TP TP RJ RJ EJ MJ RJ RJ TV TP ST AT MC74 } IX PL4 0 SY IXI WLlO MC133 SYI ... ,... .... MCi22 1Vlv!;).:l SYll Q MC126 ZJl } SY2 rn4 LN LN2 LN3 WL7 rn3 A IX IXI } SY SYI MC152 MC136 0 ZKl VP VPl VZ VZl SVII PL30 ". } MC156 PL [3°1 Test Test Jump Look Test THRU THROUGH out to Test ~. for sentence number SENTENCE Test sentence number Put line number in proper form TP LN3 WIh insert Put line no. in IZ list ~ THRU - THROUGH, not detected Test Test Test Jump .. ~ ... "TO" RESUME for correction Test SENTENCE J Test for digit ~ } } e3 Cfl til 0::: Process line number Line number ~ string-out Line number Jump to test for ~ ~ list IZ • Test SENTENCE Test for digit Process line number Line number ~ string-out Line number -+ list IZ Test ~. Build Vary Presetting WLn+l ~A WLn+-l - WL Put no. of 745 File region = n words in string-out ~ WL 144 145 146 147 150 151 152 153 154 155 156 157 160 161 162 163 164 165 RJ MJ 66 66 54 66 01 65 71 0 0 EJ j'lJ TP MJ TP TP MJ CA SS 0 33546 33545 30656 51777 22777 30506 34663 0 0 MC152 0 WL5 0 L.~3 S51 Me 77777 16732 74730 77777 77777 63050 37777 20 WL MC161 Mel01 WL6 MC136 WL6 THRU THROUGH RESUME TO ~. SENTENCE WITH (20)8 ) Test ~ . LN3 A MC77 0 MC166 746 Process a IA LV 0 l'vlJ 0 30000 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 RJ TP QJ RJ RJ MJ TP TJ TJ MJ TP TP QJ TP QJ RA MJ RJ MJ TP TJ TJ MJ TP MJ TP QJ RJ SYI Q ZAI VT20 RHI TS1 LV23 36 AT 37 40 41 42 43 44 45 46 MJ RJ AT TJ TJ MJ 0 0 CA SY SY7 LV4 SY2 RH TS 0 TS3 LV45 LV46 0 TS3 TS4 LV17 SYIO LV SV22 0 TA 0 TA4 LV45 LV46 0 TA4 0 SYIO LV35 TK PL14 0 TK PL15 LV45 LV46 0 0 0 LV47 TP Region } Test for 1st character, a letter a ~ Temp a Test variable type symbol Search DP list Not in list return ZAI A ) LV14 ZAI SV22 Q LV Test 62777 < CW ZV21 } PL4 LV TAl LV33 Test for fixed or fltpt. Ope portion of Temp @ to 40 } ZAI A ) LV31 ZAI SV22 LV ~V40 } TK1 SV22 LV42 TKl SV22 ZAI XU ZAI 63000 67000 ~ 66777 C/W ~ Temp @ Test for Pseudo op Search Combination List Not in list return Test 62777 < C/W ~ C/W of symbo 1 in 1ist 66777 ~ Temp Test for fixed or fltpt. Sequence number ~ A Fiypn rnf.- ._!, h4000 c:/W ~ Tpmn - - -- -- -- --- - - ----~ I Sequence number ~ 65000 C!W ~ Temp A @ Jump out for correction 747 @ (f2) '-.7 Search Variable List "VL" for Modifiers Previously Mentioned 0 1 2 3 4 5 6 7 10 11 12 IA MJ SP SS SA TO SP RP EJ MJ 0 0 CA VV 0 VL VVII VV12 30000 0 0 0 VV6 A VT20 0 [30000] VV } ZMI VLl 0 VV VLl 0 20000 0 VV13 VLn+l ~ A -VLl = n = # words - 1 Add J value Variable ~ A Search list VL First Value "a" Region IA 0 1 2 3 4 5 6 7 10 11 12 TP FV 0 SYlO RJ EJ SY PL16 MJ °PL4 °PL13 SV23 ° °FVl3 MJ TP MJ EJ MJ RA MJ CA 30000 PL31 SYI FV5 FV7 PL23 FV2 FVll FV PL4 FV2 Set Temp (!)indicator for fixed or floating point Test (-) L(40,0,0) ~ flag ® (I) Test Exit to Control Set Ope of Temp (~ 748 to '4O' Increment Region "b" 0 1 2 3 A ':t 5 6 7 10 11 12 13 14 15 16 17 20 IA MJ RJ TP EJ TP EJ MJ RJ TP EJ MJ RA MJ EJ MJ TP MJ CA BV 0 SY PL33 PL17 30000 SY1 A BVI0 } SY2 A PL17 0 SY SY2 PL13 0 SV24 0 PL16 0 PL4 BV7 ZB1 SY1 A BV13 BV15 PL4 BV7 BV17 BV PL23 BV7 " 0 Exit J Temp @ E({) ~A Test ( ( ) Test ( ( ) Error print and exit Test } (I ) Set Ope of Temp @ to '40' Test for (-) Set Ope of flag (]D to t40' minus inda BV21 Bound Phase or Region ftc" IA 0 1 2 3 4 ~ ~ 6 7 10 11 12 13 14 15 16 17 20 MJ RJ TP EJ TP CV 0 SY PL33 PL20 SY2 30000 SYI A eVI0 A L.J 1"" L"-U nT~n £OtT"'! ,",v, MJ 0 SY SY2 PL13 ZBl SY1 t:'T RJ TP EJ MJ 0 RA SV25 MJ 0 EJ PL16 MJ 0 TP PIA MJ 0 eA eV21 A eV13 eVlS PIA CV7 eV17 CV PL23 eV7 Pick } ~ Temp Test Test ll@) 3 E ( ) ) ~A ()) ( ) ) ) Error print and exit @) } Test (I) Set Ope of Temp Test for (-) Set Ope of flag 749 @ to "40" ® to "40" minus ind. Variable Branch o I 2 3 4 5 6 7 10 II 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 50 51 52 53 54 IA MJ TP TP EJ MJ RJ MJ RA RA TP MJ RJ MJ RA RA TP MJ TP QJ RA RA RJ TP RA TP RA TP MJ RA RA RJ TP RA TP RA TP RJ MJ RA RA RA RA RA o GV o PL4 PL3l SYIO 30000 PL22 A Set flag ® for VT to '40' Temp CD = SYIO a ~A Test consistency of fixed or fltpt. Error print Search DP list Not in list - go search CB o GV56 ZCI TSI GVI3 PLIO TS3 GVIO XU21 TAl GV2l PLIO TA4 GV16 XU2l Q GV34 PLIO} PLIO TKI PL30 PL30 GV27 GV54 GV3l GV44 PLIO} PLIO TKI PL30 PL30 GV40 GV55 GV42 XUI3 GV76 SV23 SV23 SV23 SV23 SV23 TA4 TS3] PL30 GV54 GV55 Presetters 64000 65000 Q GV62 PI23 Flag o TS o GVIO [SV23] GV46 o TA o GV16 [SV23] GV47 o PL3l GV23 GV27 GV31 TK A [SV23] GV50 [SV23] GV51 o GV40 GV42 TK A [SV23] GV50 SV23 GV52 VT o o 55 o o o 56 57 60 TP QJ TP PI23 GV60 PL C/w ~ Temp (13, 14,15) Preset GVlO Go to build table Search CB list Not in list - go assign C/W C/w ~ Temp (13, 14,15) Preset GVI6 Go bui ldhiab Ie Temp CD = SYIO a ~Q Test for fixed or fl tpt. variable Modifiers Obtain proper sequence A ~Temp ® # ~ A Preset GV27 Temp {13,i4, 15) + 64000 Preset GV3l "Go build iable P Modifiers Preset GV40 Temp (13,14,15) + 65000 Preset GV42 Build table, but make correction first o ®~ Q (minus sign indicator) Reset flag @ to 0 750 Fxd. pt. 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 100 101 102 103 104 105 106 107 110 III 112 MJ TP QJ RJ MJ RA TP TP QJ RJ EJ MJ TP RA TP TP MJ TJ MJ 0 0 TP TP QT TJ MJ CA 0 SY7 GV64 RH 0 GV67 [SV23] GV75 GV72 SY PL13 0 SV23 GV77 SV23 GVI06 0 GVI05 0 0 0 SV23 UV31 ZDl ZAI } RHI GV5 PLIO Q GV67 GV SYI GV Q ZEI Q PLIO A GV77 GVI07 GV66 ZAI 63000 67000 A Q A A GVI04 ZAI 0 GVI02 GVl13 Error print Test Error for first character a letter Test for variable type symbol Test for opening absolute value sign Detected Test for closing absolute value sign Error print; inconsistent use of absolute Presetter L(O, 77777, 77777) 751 ~ Q Constant Branch 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 50 51 52 53 54 55 56 TA MJ RJ RP TP EJ MJ RJ MJ EJ RA TP TP QJ MJ MJ EJ EJ MJ TP MJ TP QJ MJ EJ EJ MJ RP TP RJ RJ TP RA MJ TP EJ EJ MJ TP EJ MJ RA TP TP QJ TP TP MJ CA HV 0 SY 30011 SZ2 PL13 0 SY 0 PL6 HV12 [SV23] HV41 HV16 0 0 PL17 PL20 0 SY2 0 PL31 HV26 0 PL7 PL6 0 30011 ZZ2 RB TQ TQ2 HV 0 SV23 MC154 MC153 0 SY2 PL7 0 HV51 [SV23] HV54 ZEI SV23 SY2 0 HV57 [30000] SYI HV4 ZZ2 } HV6 HV17 SYI HV45 TVI PLIO Q HV12 HV15 ZE1 HV HV22 HV22 HV42 PL33 HV Q HV55 ZCl UV1 TVI ZF1 HV34 SY2 RBI TQ1 PL30 PL1 HV Q HV22 HV22 HV50 PL33 UVI HV10 ~LIO } Senten: 1 Save this information Test (I) (absolute sign) No. (I )detected ( Test Test (*) ~ (E)~ set up routine set up routine ... (I) detected Preset ... HV12 .....-). Error print and exit Go to JV via MC Test «) Test (» Jump out for correction ( () 0 r () ~ Temp @ Go to JV via MC Temp CD ~Q Test fixed or floating point Error print and exit Test (.) ~ set up rout ine Test (E) ~ set up routine Error print and exit Send value to temp ® Set up for return to WV Presetter for HVl2 Test WITH Test SENTEN presetter Test for previous mention of absolute value sign No HV51 HV24 Q A HV27 752 Fixed or Floating Point Constant Branch 0 1 2 3 4 5 IA MJ RP TP TP QJ RJ JV 0 30000 30011 JV3 ZZ2 SY2 PL3l Q JV5 JV17 RD RDI /.. v TO .&.L SY2 RS4 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 RJ TP QJ RS2 PL23 JV12 RS3 PL 0 RS3 0 RB SY2 SY3 GG2 PL23 JV25 GG3 PL 0 GG3 0 JV32 RS Q JV15 PL30 PL23 JV PL30 JV RBI GG4 GG5 GG Q JV30 PL30 PL23 TN TP MJ TP MJ RJ TP TP RJ TP QJ TN TP MJ TP MJ CA JV PL30 JV Fixed or fltpt. indicator ... } } -~ Q Fixed-pt. test XS-3 to octal conversion Test flag Exit to WV via MC Positive value ~ Temp Exit to WV via Me ® 0~f1ag 753 ® ~ 1 Fixed Pt. Floating Pt. Exit for Constant Branch 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 IA 'II" MJ RA TP TP QJ TM MJ TP RJ TP RJ RA RA TP TP QJ TP RA QT 0 WV2 [SV23] WV36 WV5 PL30 0 PL30 VT PL34 GW WV14 [SV23] WV37 A WV20 WV35 WV22 [SV23] WV40 PLIO Q WV27 PL WV41 WV32 [SV23] WV42 0 77777 SV23 SV23 SV23 PL SV23 WV43 TP TP LQ RA TP TP RA RA TP MJ 37 TP RA QT TP RA CA 30000 ~LIO ~ WV2 WV7 PL34 WVI0 PL34 VTl Set up for (I) detection Magnitude of constant ~ Temp @ Constant ~ Temp @ Set up reference table .4. GWI PLIO Q WVI4 Q WV Q PLIO PL30 WV22 Q 25 } } C/W ~ Temp @ Test for '40' indicator L( 3777 •••• ) -+ Q } Mask C/W ~ Temp } Shift counter PLIO to V [~V23J } WV27 PLIO} PL30 WV32 WV 77777 Q Q PL30 SV23 PL30 Search and assign C/W from constant pool ® Clear cell (set Ope to 0) C/W~ Temp 754 @ Build Variable List 0 1 2 3 4 IA MJ TV TP RA TP 5 QJ 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 TV TP RA MJ TV TP RA TP QJ TV TP RA MJ TV TP RA MJ CA DV 0 VL VT20 VL VT25 DV12 VL PL VL 0 VL VT22 VL VT26 DV23 VL PL VL 0 VL VT23 VL 0 DV27 30000 DV2 [30000J PL3 Q DV6 DV7 [30000J PL3 DV15 DV13 [30000J PL3 Q DV17 DV20 [3OO00J PL3 DV DV24 [3OO00J PL3 DV 1 Counter ~ DV2 v a ~VLn ; n ~ 1 Increase counter VL by (0,1,1) Test "b" for variable J } } } } } No variable:. 0 ~ VL list Increase Counter VL by (0,1,1) to test "c n Insert variable in list Increase counter VL by (0,1,1) Test" cit for variable No variable.·. 0 ~ VL list To preface region PV via MC Insert variable in list Exit to preface region PV via MC 755 Preface for Indicator Region 0 Test 1 '-. 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 0; if not) error print) Infinite loop designed Test b < 0 Error prin~ infinite loop designed a'~ Q Go to test 4 c· ~ Q C'~A c-a ~ A Test c-a > 0 Test Temp E b for absolute value Error prin~ infinite loop 3 PV 0 ~V37 } Q PV41 Q PV A ZH1 } Test b', if variable, then exit Test b = O. If so, error print, infinite loop designed 756 Build Indicator WX 0 IA MJ 1 TP 2 3 4 5 6 7 10 11 Constant 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 QJ RA TP QJ RA IV 0 VT25 IV3 SV21 VT24 IV6 SV21 MJ 0 TP QJ TP VT26 IV6 SV21 Q IV22 IV42 VT22 VT22 IV21 SV21 SV21 Q IV VT23 VT21 IV32 SV21 0 SV21 Q IV VT23 VT21 IV40 SV21 0 0 1 2 4 10 20 SV21 IV12 IV52 LQ QJ TP TJ TP QJ RA TP LQ QJ TP ST ZJ RA MJ TP LQ QJ TP ST SJ RA MJ 0 0 0 0 0 0 TP ZJ CA 30000 v. IV4 IV47 Q IVI0 IV46 IV12 Q IV50 Q 20 IV15 A IV22 Q IV22 IV45 Q 21 IV25 A A A IV30 IV44 IV Q 21 IV35 A A IV IV43 IV 0 0 0 0 } Test b! } Test at 1~B5 1 ~B4 } Test c' } Test bit 5 = 1 } } Test b > 0 Test b < 0 1~ B3 } Test bit 4 = 1 } Text c-a = 0 1~B2 } } Test bit 4 = 1 Test c-a> 0 l~Bl 0 0 A IV 757 Mover Region 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 IA MJ TP LA TU RA RA IJ TP TP TP RA IJ TU MJ 0 0 0 0 0 0 0 0 TP TU TP TP MJ 0 0 CA SV 0 30000 [SV22 J A A 17 A [SV22] SVI PL2 SV3 PLI SV16 SVI SV26 SVI SV27 SV3 [SV21] lWLU] PL3 SVII SV17 SVII SV20 SVII SV30 0 0 3 4 0 0 SV21 0 0 0 0 0 0 0 0 0 0 SV22 A SV22 A SV33 SV16 } SV34 SV17 SV 0 0 3 0 4 SV35 I (OP, 0, C/W) ~ A (OP, 0, C/W) ~(O, C/W t O)~ A (OP, C/W, C/W) ~ Temp @ Reset SV16 Move Temp ~ WL Index Index Temp Temp Temp Temp Temp Reset Index 758 Presetter Region for Re-entry to LV 0 I 2 3 4 5 IA MJ TP TP RP TP RP u L TP 7 10 11 12 13 RP TP RP TP MJ CA VZ 0 PL PL 10003 PL 10007 30000 PLIO PLll VZ5 PL21 } VZ7 PL VT20 10005 VZll PL SV21 } 10006 VZ13 PL PL30 0 VZ VZ14 1 O~ o~ O~ CTR CTRI flags o ~ storage .J o ~Temps @ - @ Subroutine for Detection of Asterisk* IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 UV l\1J 0 RJ EJ SY PL25 0 SY PL5 SY13 UVI0 SY SZ2 UV31 SZ2 IN IN2 RS2 RS3 0 SY2 IN IN2 RS2 TS3 0 PL26 0 77777 UV32 MJ RJ EJ TP QJ RJ TP EJ TP RJ TP RJ TP MJ TP RJ TP RJ TN MJ TP MJ 00 CA EVI SYI UV4 ZGl SYI TVI Jump to Exi t Test for XS-3 Error print SV21 } SYI ~V21 } IN2 INI RS4 RS IQ3 UV IN2 INI RS4 RS IQ3 UV RS4 UV16 77777 1 '10' Test for XS-3 POW Test for superscript Test for superscript (-) No superscript (-) J XS-3 (1) ~ RS4 Superscript (-) 759 Subroutine for Detection of "E" 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 1A MJ RJ EJ EJ MJ RJ RJ TP RJ TP MJ RJ RJ TP RJ TN MJ CA TV 0 SY PL16 PL36 0 SY RD SY2 RS2 RS3 0 SY RD SY2 RS2 RS3 0 TV21 EVI SYI TV13 TV5 TV6 SYI RDI RS4 RS 1Q3 TV SYI RDI RS4 RS 1Q3 TV Exit Test Test (-) (+) } Check fixed pt. constant Decimal to octal conversion } Check fixed pt. constant Decimal to octal conversion Exit for Scientific Notation Set-up Routine IA 0 MJ 1 TP TP RJ TP QJ TP 2 3 4 5 6 7 TN 10 MJ 11 12 TP MJ CA EV 0 ZZ2 ZZ3 GG2 PL23 EV6 PL GG3 0 GG3 0 HV32 GG4 GG5 GG Q EVIl PI23 IQ2 EV IQa. EV Test flag Reset flag EV13 760 ~ Set Up Reference Table Used by VL, "WX", and Preface RA TP VT 0 PLII PL22 VTlO VT5 PL34 TP 1T'1',) • .&ow,7 MJ 0 VTll PL4 VT30 VT14 SY2 VT3l PL 0 0 0 IA 0 1 2 3 4 5 6 7 10 II 12 13 14 15 16 17 Table 20 21 22 23 24 25 26 27 30 31 MJ RA TP QJ RA TP TP RA TP TP TP MJ 0 0 0 0 0 0 0 TP TP TP CA [30000] PLI Q VT4 PLll [VT20J VT5 VT16 PLII [VT23] VTll PLII [VT20] VT14 P122 VT 0 0 0 0 0 0 0 0 PL34 PL4 SY2 VT32 0 0 0 0 VT20 VT23 VT20 1 oJ Exit Entrance. CTRI + 1 ~ CTRI Flag ®~Q Test for variable (-) Constant VT20 = Beginning of table Preset VT5 Variable L( 40,0, 0) ~ Tab Ie Preset VTll Symbol ~ Table Preset VT14 Reset flag @ to 0 a , the at the b, the c, } the at b' ct variable lower limit incrementing value upper limit (-) indicates Variable 761 Constant Pool 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 IA 0 0 0 0 40 52 30 56 0 0 0 42 0 0 02 17 43 0 0 0 0 04 04 0 0 0 0 0 0 0 63 77 CA IA 0 1 2 3 4 RJ RJ MJ r?P TP CA PL 0 0 1 1 0 77777 77777 77777 0 0 0 1 0 1 0 77777 77777 77777 0 0 0 77777 64000 65000 77777 77777 77777 0 77777 0 0 77777 77777 77777 0 0 0 0 0 0 0 03777 77777 77777 77777 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77777 77777 77777 77777 PL40 POW E * CTR CTRI LV 0 fOO()~ PL XV5 11® -;Te€) @ a-€) - lower case minus ( ) Flag Flag Flag 0 XV XV Slot for Temp Slot for ® - ~ X-53 10 1 Temp T Temp Temp Temp Temp & ~ + lower case plus ~3) LVI MC2 XVI WL4 Zeroizes critical part of Vary Stringout WL4 - WLlO 762 IA 0 1 2 3 4 5 TP TP TP /... v 7 10 11 12 13 14 15 16 17 20 21 22 XU XU6 SY2 XU7 TE 0 TF TFI TF2 TF3 TEl LV {\ v ...,~ ...,~ 0 RJ EJ MJ TP MJ TP MJ MJ MJ RJ MJ CA 0 0 SYI SY MC152 ZNl MCI04 0 XU17 XU5 XU 0 XU20 XU5 VTl 0 XU15 0 0 LV VTl VT GV45 0 XU23 TP RJ MJ A SY2 Put C/W and XS-3 symbol in CB list for variable a I .J Put C/W and XS-3 symbol in CB list for a, b, and c } Builds table Error Prints 0 1 2 3 4 5 6 7 10 11 12 13 14 IA MJ RJ 1P TP RJ MJ 77 01 66 54 01 46 40 CA ZA 0 WA SY2 ZA14 UP2 0 77777 34650 01240 34242 65734 22777 ZA6 ZA15 ID3 WAI ZA6 UP3 UP ZA 77777 15051 17024 54630 72551 77777 6 0 0 0 0 0 0 N 0 T t!l A !:!l V A R I A B L E 6. S Y M B 0 L 77 77 77 77 6 I S t!l . 763 0 1 2 3 4 5 6 7 10 11 12 13 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 0 1 2 3 4 5 6 7 10 11 12 13 14 1A MJ RJ TP RJ MJ 31 01 01 50 30 34 40 CA 2B 0 WA 2B13 UP2 0 51544 30545 34223 51015 50663 65227 2B5 2814 1D3 WAI UP3 UP 2B 72466 45154 02201 22454 33065 77777 6 IA MJ ZC 0 WA ZC16 UP2 0 50265 65663 67653 01313 01515 51246 01525 01515 50276 ZC5 2C17 1D3 WAI UP3 UP ZC 15065 05066 00151 47230 40131 63450 13450 23054 52277 11 ZO 0 WA 2014 UP2 0 34506 34325 46303 52543 01665 54342 22777 205 2D15 103 WAI UP3 UP ZO 76501 00134 22446 03134 10170 42546 77777 7 RJ TP RJ MJ 34 34 01 31 27 46 32 66 24 40 CA 1A MJ RJ 1P RJ MJ 47 65 46 01 72 24 30 40 CA F l:l l:l 0 R M .A T R R 0 R E E I 0 N I S N . l:l T . E p H I N C 0 I S T E ~ U S E F l:l F I D 6. 0 L 0 A G ~ P T ~ 0 A N D M S L I I L l:l E S N N S l:l T 0 X E R l:l I 0 I P E S T N U G N E G ~ . A R . F N N R s l:l l:l I A L P R E F I T 0 ~ V A R I A B L X l:l E . 764 0 1 2 3 4 5 6 7 10 11 12 13 14 1A MJ RJ TP RJ MJ 34 34 01 31 46 24 34 40 CA 1A 0 MJ 1 RJ 2 3 4 5 6 7 10 11 12 13 14 TP TP 15 16 17 20 21 RJ MJ 77 01 65 01 46 34 30 26 66 01 51 40 CA ZE 0 WA ZE14 UP2 0 50265 65663 67653 01242 67663 46673 32506 ZE5 ZE15 ZF 0 WA SY2 ZF21 UP2 0 77777 66735 73472 34650 30322 50016 50663 01505 34515 01010 54472 ZF6 ZF22 1D3 WA1 UP3 UP ZE 15065 05066 00151 56551 00170 00165 52277 7 I I ~ F L A I N C 0 S T E U S E ~ A B N S N T ~ 0 S 0 U T E ~ V L U E f:::l S G N S . 1D3 WA1 ZF6 UP3 UP ZF 777777 23001 55146 13446 44601 52634 43134 16624 00101 10131 46622 13 0 0 0 0 0 0 ~ T Y P E ~ S Y M B 0 L ~ r S ~ I L L E G A L ~ r N ~ S C I E N T I F I C ~ N 0 T A T I 0 N ~ ~ ~!:l~!:l~F 0 R M A T 765 . 0 1 2 3 4 5 6 7 10 11 12 13 0 1 2 3 4 5 6 7 10 11 12 13 14 15 1A MJ RJ TP RJ MJ 34 46 50 01 34 54 40 CA ZG 0 WA ZG13 UP2 0 46463 01652 66343 50516 51500 47246 ZG5 ZG14 IA MJ RJ ZH 0 ID3 WA WAI ZH15 UP2 0 33245 47512 30546 01304 50246 50313 30014 22777 ZH5 ZH16 UP3 UP TP RJ MJ 26 01 34 51 34 34 66 52 40 CA 1D3 WAI UP3 UP ZG 03224 63430 13426 62466 13151 62277 6 I L L L ~ S N T I E G A C I I F ~ N I 0 E C 0 T A T N ~ F 0 M R A T . ZH 03230 73431 50166 63447 63001 45034 65151 77777 10 C H A N G E ~ M 0 D I F I E R S ~ T o ~ E L I M I N A T E ~ I T P N F I ~ L E . 766 N I 0 0 ZI 0 WA MC WAI rro ZI22 UP3 RJ UP2 0 33300 25305 01475 34305 47525 66650 30302 22015 01513 50663 01505 33302 22777 Z15 Z123 UP ZI 15067 40151 12734 40126 15030 13072 70104 43065 10165 05026 16601 64530 77777 15 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 MJ RJ 0 1 2 3 4 5 6 7 10 11 12 13 MJ .1.~ MJ 66 47 31 31 51 50 26 10 66 30 30 26 27 40 CA 47 46 51 54 50 30 30 ZJ 0 WA ZJ20 UP2 0 34656 46345 54015 30313 26302 50663 22777 .L~ 01 51310 15 16 17 20 50 01 33 40 CA 66305 50516 60126 30264 52722 ZJ5 7 ZJ21 IA , A RJ TP RJ MJ MC WAI UP3 UP ZJ 55230 03201 05101 05430 70165 05026 77777 ~~~~ F ~ F I 0 M N T C E 5 T ~ E N E ~ · C H D · E I S L L I M 0 R R E N C ) E N E · 6. N U R 6. 0 M 0 D I E R 6. C P 0 N E S A E X E D 6. 1 ~ R E S 0 F ~ s T E N C N 0 T ~ E C K E 77 77 77 77 T H E M B S P E G ~ 0 ~ N ~ F E R E E D ~ S T E N C N Unused area 161 0 1 2 3 4 5 6 7 10 11 IA MJ RJ TP RJ MJ 50 26 34 47 40 eA IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 MJ RJ TP RJ MJ 34 46 30 30 01 24 26 30 40 CA ZK 0 WA ZKll UP2 we WAl UP3 UP ZK 55224 23054 16573 62277 0 51016 30015 51270 25514 ZIG 4 ZK12 ZL 0 WA ZL15 UP2 0 50265 30663 50663 01342 50510 50323 51475 50662 ZL5 ZL16 N e 0 ~ s E ~ P M B 0 L r N I 0 0 6. P E s . A R y MC WAI UP3 UP ZL 14752 00165 05026 23022 11754 04301 25150 27777 10 L E E N E ~ 6. N e 0 T T r M P E ~ S E N e E . . 0 ~' R , A N G E 6. 0 M P 0 N E N T . 77 77 e 768 0 1 2 3 4 5 6.., I 10 11 12 13 14 15 16 17 20 21 IA MJ RJ TP TP RJ MJ 70 46 01 01 50 24 24 71 01 77 46 40 CA fA ZM 0 WA VT20 ZM21 UP2 1D3 WA1 ZM10 UP3 UP Q ZM 24543 42425 ..,..,..,"".., V A R 30017 ra... 01010 47676 51660 50323 46673 34663 70245 77777 51515 ZM6 ZM22 0 1 2 3 4 5 6 7 10 MJ RJ TP RJ MJ 34 50 26 ZN 0 WA ZN21 UP2 0 54545 50016 65313 51475 11 30 12 30 13 65 14 27 15 01 16 50 17 26 20 47 21 40 CA 30 I I I I I 10101 56601 12633 00170 06501 33450 47301 77777 22277 13 - A I B ..,.., "".., ..,.., tJ. ~ tJ. tJ. A Ii' a... ~ ~ tJ. I I I I I I M U S T ~ N 0 T ~ C H A N G E tJ. V A L U E S ~ W I T H I N tJ. V A R Y tJ. 77 77 77 77 77 77 L 0 0 . P Me WA1 UP3 UP ZN 15401 65424 05401 25150 R 0 R tJ. N tJ. T R A N S F E R ~ C 0 M P 0 N t:;(\{..{..(\ vvvvv ,-::tA?? ..LU~""'" E 22014 52304 01715 51.540 26515 66013 24662 ZN5 ZN22 73465 64630 15427 10134 45430 15154 27777 14 ~ M I P E L L D ~ W 0 R 6 0 R tJ.~ N C 0 R R C T /j, F 0 M A T 77 E I E S R ., 1\1 . T .L A L-l . 769 T .L . S E D I E R 77 Build VARY File (Entered after processing sentence number of last statement in range) o 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 @ TU SP EJ RA SP EJ TU TU VP o VS5 VF WL3 VS4 VI2 WL6 VI2 VS A WL4 WL3 VI 30000 WLI VF VI VI2 A 27 30 31 32 33 ZJ 34 35 QT LQ VP5 Q VS3 TV MJ o CA VP40 36 37 30000 o VP3l } } VP6 } VQ o 30000 o o VP13 36 } o ~P15 } VQ4 VS2 ~P27 No Is 23000 > sentence call word? NoJenter sentence number of last statement in range into Vary File Insert call word and no. of WITH words in next word of Vary File Is current sentence number = sentence number in Vary File? Increase VF by two ( a) = (y)? } VP24 ) VP25 Is sentence number at address given by (Y) :> sentence number at address given by ( a )? VP No, so set (a) = (y) Advance ( y) by two Exit VF VS3 A Has Vary File exceeded its maximum? 30000 VI2 30000 o 30000 VQlO VI2 VI VI2 VSl SP TJ TP RA MJ TP QT 26 @ IA MJ SP TJ SP TJ TV TP SP SA TV SP AT :P34 ) ~5 Is indicator set? (i.e., has there been a 22---Vary before?) NOt so set u of VFO into v of VFO } VF VP5 770 ® (j) 0 1 2 3 4 5 L 0 ® 7 10 11 12 13 0 1 2 3 4 5 IA VQ RJ TP RJ MJ RJ TP RJ MJ RJ WA WAI NV UP2 0 UP3 UP VP WA WAI NV7 UP2 0 UP3 TP RJ MJ CA IA 0 0 WA NV21 UP2 0 VQ14 0 0 0 VS 1 2 2 0 0 20143 CA VS6 0 TTn U["' VP WAI UP3 UP VP 1 2 0 07777 230000 0 144 = max. length of Vary File (excluding VFO) (50 Vary statements in problem maximum) 771 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 40 66 50 73 30 34 32 40 70 67 66 24 50 01 50 01 24 40 54 51 30 73 50 73 24 31 54 70 CA NV NV1 51510 73017 01653 50263 50015 54244 NV10 24547 65660 01253 65660 66305 34500 32300 24507 54732 NV22 24503 31013 54017 01307 27650 51502 50323 01516 01010 24547 NV34 6 14724 02454 05066 06501 25451 72201 11 30147 15051 00146 16530 02630 15424 15131 30170 27777 12 23001 45050 02454 26630 12530 70154 00151 76630 10101 32277 0 0 ~ M A N Y ~ V A R y ~ S E N T E N C E S ~ I N ~ P R 0 T G R ~ A M V A R Y ~ M T ~ N 0 U S T ~ E ~ ~ S N C N T N I ~ R 6 N G E ~ 0 ~ A N Y ~ A R Y A S B L T E E E . R y N y V A N G E~ 0 F E A F 6 r N N R ~ V ~ E X D S ~ 0 N D A N G E ·A R T E E B ~ R 6 0 F ~ 0 U T E R 6~~~~ V A R Y . 772 RESUME STRING-OUT Get next symbo 1 RJ SY SYI Yes \~ ~ ---A-l-ar-m----. ~"">-----.....:;.......V.>---~'IINO sentence no. n ~--No No TP SY2 I.N4 (sentence no. referred to) RJ LN2 Processor LNO TP I.N3 WL4 ixl Routine B RJ ix lists line no. in iz ~ Get next symbol SYI SY RJ , ~ for No "l:l" I /' L(5) WL TP (word count) o WL +1 +2 ~ WI2 +3 +4 Exit ended after no. .. IJ I Format of Output iI TP L(Resume) Alarm sentence not , Word count of string-out output Line number RES U M E Title of string-out Call word of sentence ttJump to" line number - 773 0 5 RESUME STRING-OUT RE RE RE RT44 00 NA4431 NB4446 Translation subroutine regions are also needed to assemble this tape. IA MJ 1 RJ 2 TP 3 QJ 4 MJ 5 EJ 6 MJ o 7 10 11 12 MJ TP RJ TP 13 RJ RT o SY SYll RT4 o CT SYI Exit Get next symbol Q RT5 } Is symbol a line number? o RT27 RTIO RT7 NAI o RTI SY2 ~4 Is symbol SENTEN? Error print-out: Sentence -- (Resume) Failed to Reference (VARY) SENTENCE } I.N2 I.N3 WIA IX IXI RJ TP EJ MJ SY SY2 RT24 SYI } 20 TP 21 TP 22 RJ 23 MJ 24 01 25 54 26 0 27 65 RT26 RT25 SS CA RT30 IA NA 14 15 16 17 o 1 o Putting referenced line number in Referenced Line Number List Is next symbo 1 ~. ? Error print-out: Sentence -- (Resume) No Space Period Symbol Word count to output "RESUME" to title line of output Get output block written on tape Exit D.. RES U M E 5 30506 63050 0 RJ WA RT WAI NA14 UP2 UP3 }' UP MJ o 31 24344 63027 66510 15430 30543 05026 01 7 31 6 WL WL2 SSI o RT 22777 77777 30656 74730 MJ 2 TP 3 RJ 4 5 o :T20 NBI Getting line number in proper form and putting in output NA SEN TEN Print-Out and Error Reference: Sentence -(Resume) : Print-Out: Failed to Reference (VARY) Sentence Exit F A I LED D. T OD.R E FER E N C 774 10 30 11 24 12 30 13 30 14 40 CA IA 0 MJ 1 RJ <"} t:.. 3 4 5 6 7 10 11 TP RJ MJ 50 26 34 47 40 CA 01240 54734 50663 22777 NA5 NA15 1171-0 30165 05026 77777 7 E i::l A ~ ( V A R Y ) II S E N T E N C E. NB 0 WA NBll UP2 0 51016 30015 51270 25514 NB5 NB12 RT20 WAI UP3 } UP NB 55224 23054 16573 62277 4 Error Reference and Print-Out: Sentence -(Resume) Print-Out: No Space Period Symbol Exit N 0 ~ S P A C E ~ P E R I 0 D II S y M B 0 775 L 0 Flow Chart for Jump String-out Store number of lines (6) in 1st line of output Put line number in standard form and store in 5th line Pseudo-Op indicator to 6th line Get next symbol Set up Get next symbol I---_No_~interpret indicator Has interpret indicator been set? Yes Print-Out: Sentence _ has been interpreted to mean - jump to sentence t--_~ Send line no. to 12 referenced. Line No Li st Write string-out block on tape JUMP STR lNG-OUT Following JUMP in this instruction there should be the word TO. If this word does not appear in this sequence, the following print-out occurs after string-out has been completed: Sentence Hasbeen interpreted To Mean Jump To Sentence_ __ No reference is made to the error routine with this print-out" Any combination of the symbols - TO, SENTEN, STATEM, LINE, NUMBER, NO., SENT. - may occur following Jump. The only essential requirement that the routine makes is that, if or when none of the above symbols appear, the symbol under surveillance must be the line number to which the jump is to be made. Of course, the symbols as shown above are merely the beginning in some instances of a more complete word. For example, STAmM is the first line output of the symbol STATEMENT. The routine only examines the first-line output of any symbol. Each time one of the above symbols is recognized, a return is made to the ftGet Next Symbol Routine" for the next symbol. Eventually the loop of recognition of these symbols must be broken by a symbol not in the group. If a ~ • occurs before the line number has appeared, the error routin-e is referenced and the print-out is given: Sentence_ _ _Has No Line Number Following Jump. If the loop of recognition of the 7 above-named symbols is broken by a symbol which exceeds 6 characters, the error routine is referenced, the stringout is terminated, and the print-out reads: Form. Sentence Is Not In Correct The theory behind this step is that this non-recognized symbol should be the line number and, as such, have less than 7 characters. If this assumed line number does have less than 7 characters, it is sent to the line-number routine to be put into standard form. See the Write-up on the line-number routine for what may happen to it here if it fails to meet the requirements of a line number. The output from the line-numbe-r routine is put in the proper place in the output. See jump generation write-up for the format of the jumpstring-out output .. 711 Now a final reference is made to the "Get Next Symbol Routine.~ If the next symbol is not a ~ • , the error routine is referenced, the string-out is terminated, and the print-out is given: Sentence______Is Not in Correct Form. If this symbol is a ~ • , a check is made if the sentence is within a pseudo op and the proper entry made in the output accordingly. Next the referenced line number is sent to the reference list by using the IX routine. Finally the completed string-out is transferred to tape by using the WT tapewrite routine. Jump String-Out Regions RE RE RE RE RE RE RE VN3507 SY2466 LN2037 IX1552 WT3207 UP421 C1714 1'52762 lJL3067 RE RE RE RE SJ4700 NQ4730 JK4745 CN5020 RE RE Subroutine regions used 778 Jump String-Out 0 1 2 3 4 5 6 P7 f 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 0 1 2 3 4 5 6 7 10 11 12 13 14 0 1 2 3 4 IA MJ TP TP TP RJ EJ TP 5J RJ RJ MJ TP RJ TP RJ EJ MJ TP ZJ TP RJ RJ MJ 0 CA 0 CN TS4 CN2 SY CN5 CN3 NQ14 SY NQ14 0 SY2 LN2 LN3 SY CNI 0 SJ27 SJ23 VN4 IX WT 0 0 SJ30 IA RJ MJ TP MJ RJ MJ EJ RP EJ TP TJ MJ MJ CA NQ UZ 0 VN4 0 UZ 0 CNI 20007 CN5 SY5 CN4 0 0 NQ15 UZI JK4 JK43 JKlO UZI JK14 NQ4 NQll } NQ14 A SJ13 NQ IA TP TP RJ MJ RJ JK VN1 JK20 UP2 0 JK3 JK26 UP3 UP DT 11.0) CT VN VN5 SJ27 SYI SJ10 SJ27 NQ6 SYI NQ6 SJlO LN4 LN VN4 Exit Number of lines output (6) to 1st line of VN Pseudo-op indicator to VN5 Indicator 1 to SJ27 Get next symbol Is symbol "TO"? No. Clearing SJ27 Comparison subroutine Get next symbol Comparison subroutine } SYI SJ2l NQ A NQ2 A IX! WTl Getting line no. in standard form in VN4 Get next symbol Is symbol~. ? } } If zero t without error, print: Sentence has been interpreted to mean, etc. Line no. to ref. list Writing block on tape 5J 0 Error reference Line no. to print-out Reference error routine Is symbol a space period? Is symbol TO) SENTEN, STATEM, LINE NUMBER, NO.; SENT.? Is 7 > no. of chars. ? 30000 } Line no. to print-out space Sentence 30000 JK Sentence 779 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 50 51 52 0 1 2 3 4 5 6 7 10 11 12 13 TP RJ MJ RJ TP RJ MJ RJ TP RJ MJ 0 40 40 40 65 26 0 01 66 51 01 01 30 66 66 01 JK21 UP2 0 66 66 0 01 01 51 01 54 51 44 CA JK3 JK22 UP2 0 JK3 JK23 UP2 0 JK24 J1(27 JK33 JK45 30506 30017 0 34650 01345 54543 31515 33246 30500 30545 30270 47302 44674 51016 30502 0 22777 33246 01463 50674 01315 71345 67475 JK53 IA 0 01 0 0 0 66 65 65 46 50 50 65 CA CN 0 22777 0 0 0 51777 30506 66246 34503 67472 51227 30506 CN14 02 UP3 UP SJ JK UP3 UP SJ23 JK UP3 UP } I I 5J 3 4 12 6 63050 } 77777 0 I 15051 00126 _ 02666 44722 50125 13450 25430 16651 45002 75201 53050 63001 0 77777 50150 45030 72530 14646 03201 22277 6 77777 1 0 7 77777 63050 63047 07777 53054 77777 62277 is not in correct form Sentence has been interpreted to meanJump to sentence has no line number follow- Sentence ing jump Sentence ~ is not in correct form Has been interpreted to mean Jump to sentence ~. - - Has no line number following jump ~. S 0 E N S T T T E N A T E M L I N E N U M B E R N 0 S E N T . 780 . Stop String-out Flow Chart y No Superfluous symbol in stop sentence Stop string-out ~ tape STOP STRING-OUT RE SV4400 String-Out Subroutine regions are needed for assembly of this tape. 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 IA RJ EJ RJ TP RJ RJ MJ 01 40 65 46 65 01 51 66 CA SV SY SV7 WA SV10 UP2 SS 0 22777 SVII 67523 67516 73472 34500 52016 30502 SV17 SY1 SV5 WA1 UP3 Get next symbol = ~. ? Yes - string-out~ No-error Print-out UP S51 CT 77777 6 05431 76501 55146 16566 53050 63022 S U P E R L U 0 U S S y M B 0 ~ I N ~ S 0 P 6 s E T E N C E 782 F ~ L T N . tape END OF TAPE STRING-OUT The End of Tape string-out routine closes out the translation phase (Pass I) of the Unicode compilation run. If there was a sub-program preceding the ~End of Tape~ sentence in the input program, the routine checks to see if an "Exit" instruction was included in the sub-program. If not, the error bit is set and ~No exit in preceding sub-program~" is typed on the on-line Flexowriter. The routine also checks to see if there was exactly one "Start" sentence in the input program and if not i types "More than one start sentence~ or "No start sentence." on the Flexowriter, whichever applies. If there were previous errors in the program or if there was not exactly one "Start" sentence, the routine prints the number of excess constant referrals and the number of excess referenced-line referrals. The routine then rewinds the Unicode System Tape (Servo 1), the Library Tape (Servo 2), the Striny"out Tape (Servo 3 or 6) and the Corrected Problem Tape (Servo 5). The routine then types "End of Pass I. Correct errors listed above and recompile." on the online Flexowriter and stops. If there were no errors in the problem, the number of single valued variables is stored in fixed location 00007, the End of Tape callword (23000) is stored in the string-out, and the string-out is written on tape. The String-out Tape is then rewound and the routine exits to the Unicode Service Routine in preparation for the next phase of compilation. 783 Does heading bit indicate within sub-program? ~heck TS4J Is the number of start instructions equal to one? ~heck VD] Yes (TH) rewind UNICOD system tape Was there exit for preceding program? [check VDl] Is there more No (TH) rewind library tape (WA) type heading and set error bit Type: MORE THAN ONE START SENTENCE Type: NO START SENTENCE (TH) rewind string-out tape Type: NO EXIT IN PRECEDING SUB-PROGRAM (EA) print number of excess constant referrals (EE) print number of excess referenced-line referrals (TH) rewind corrected problem tape Type: END OF PASS I. CORRECT ERRORS LISTED ABOVE AND RECOMPILE. Were there errors in problem'? ~heck error bit in UZ2] Number of single valued variables to .....N_o_~ fixed location 00007. End of tape call word to string-out -;) (TH) rewind string-out tape Exit to UNICODE service routine ' Flow Charts for Subroutines Supplied to End-of-Tape String-Out Print-Out of FX13, Number of Excess Constant Referrals Is number of excess constant referrals zero? Print-Out: Excess t---~ constant referrals No Converts number "...--.. . . to decimal and prints it out Print-Out of IX47, Number of Excess Referenced-Line Referrals Is number of excess referenced-line referrals zero? No Print-Out: Excess referenced-line referrals _ _ Converts number to and prints it out ~____~decimal Single Digit Print-Out Add dummy print Printing out digit command to octal ~~.. digi t to get 1---'" via its Flex code proper Flex code for digit in list 786 Octal to Decimal Print-Out for Numbers ~ 777778 and ~ 0 No Print-Out: Over 32, 767. Number ~ 104 to convert to Printing quotient digit 3 Number + 10 to convert to I---~ decimal decimal 3 Number + 102 to convert to decimal Printing quotient digit Printing decimal digit 787 IE------I Printing quotient digit Number + 10 to convert to decimal Printing quotient digit Regions for End of Tape String-Out (String-out Subroutine Regions Also Required) RE RE RE RE RE RE RE RE RE CD @ ZA77000 TV44 00 TW4435 TX4447 TY4455 EA4502 EE4520 NU4537 ZU4555 IA TV 0 MJ 0 ZAIO 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 TP QJ TP QJ RJ Q TVlO Q TV5 WAI UP3 UP A ZJ '.IS 4 TV3 VDl TVlO WA 75552 UP2 VD TX TV13 TP TY MJ TP 0 TY6 UP2 EA EE TX2 nI2 TX3 TH2 TX4 TP RJ TP EJ RJ RJ RJ TP RJ TP RJ TP 1W TVl5 UP3 TVl6 UP3 UP EAI EEl TH3 1H 'Ill 3 'Ill Exi t ~ UNICOIE serv. rtn. (read 1 blk UNICOrn tape & j wnp to 1st word) Heading bit --;.. Q35 Within sub"prog:ram (pseudo operation)? Exi t bit --;.. Q1S' Was there exit inst. for preceding sub-program Parameter ---+-Uniprint Print: NO EXIT IN PRECEDING SUB-PROGRAM #Start instructions ~ A #Start inst. = I? #Start inst. = O? No ~ more than 1 start inst. Alarm #1 parameter ~ Uniprint Alarm Print Print Print #2 parameter ~ Uniprint alarm #excess constant referrals # excess referenced-line referrals Rewind UNICODE tape (servo #1) A Rewind library tape (servo #2) Codeword to rewind stringout tape (servo #3) TH3 Adv. servo no. by 3 ~servo #6 if 7 servos Rewind stringout tape (servo #3 or #6) ~A 26 27 30 31 32 33 34 AT RJ TP RJ TP RJ MS CA TN TH2 TX5 m2 TYl2 UP2 0 TV35 TH TH3 'Ill Rewind corrected problem tape (servo #5) UP3 UP TV34 Print: 788 END OF PASS I. CORRECT ERRORS E'OC. ® IA Tw 0 1 TP ZJ 2 3 TP AT UZ2 TV17 VBl TX A 'lW2 A 7 4 5 6 RJ TP TXl S5 ·TX4 WL3 SSl A 7 AT 1H3 10 RJ MJ TN TH2 TV CA 0 1W12 0 1 2 3 4 5 IA 0 0 10 10 10 10 CA TX 0 0 1 2 3 5 TX6 1 23000 0 0 0 0 IA 0 1 2 3 4 5 6 7 00 47 33 30 66 30 00 50 TY TYl 51543 24500 01656 01653 50263 TY7 51016 5 00166 15150 62454 05066 02277 3 56624 In C:A vOoj; I..l..nll.. VVV.LV vvvvv 11 12 13 14 15 16 17 20 21 22 23 24 66 00 30 01 34 54 30 01 27 30 54 34 CA 30502 TY13 52070 52246 22010 54302 54545 46346 01242 01245 30265 46302 TY25 63022 12 15131 56501 12651 66601 15465 56630 55170 02701 14752 27777 TP # errors in problem -+ A Were there errors in program? # single valued variables less l~A # single valued variables ~"v" of fixed 10c. 7 End of tape callword (23000)~ string-out End of tape string-ont--;. tape Codeword to rewind string-out tape (servo #3) ~A 11 .LV TH C:"lnc:n Adv. servo no. by 3~ Servo #6 if 7 servos Rewind string-out tape Codeword Codeword Codeword Codeword M 0 R to to to to rewind rewind rewind rewind E ~ T H A N !::::. 0 N E ~ S T A R T !::::. S E N T E N C E 77 N 0 !::::. Sc;: T A A .., Ii' L...1 T E N C E D 1i. rr .L ~ 1\1 l' E N D ~ 0 F P A S S !::::. !::::.~ C 0 I R R E C T !::::. E R R 0 R S ~ L I S T E D ~ A B 0 V E !::::. A N D ~ R E C 0 M P I L E 77 77 ~ . 789 UNICOIE tape library tape string-out tape (5 servos) corrected problem tape Print-Out of FX13, Number of Excess Constant Referrals o IA MJ 1 TP 2 ZJ 3 TP 4 5 6 7 10 11 12 13 14 15 RJ TP EA o 30000 FX13 EA3 EAlO UP2 FX13 ~A RJ MJ ZU 0 30 01 24 31 65 CA EA11 72263 26515 50660 30545 02027 EA16 o } Exit Is the number in FX13 zero? UP3 } UP Print-Out: EXCESS CONSTANT REFERRALS -- ~U1 } Converts number to decimal and prints it out 5 Parameter for print-out E X C E S S EA 06565 06566 15430 42446 77777 ~CONST ANT ~ R E FER R A L S Print-Out of IX47 t Number of Excess Referenced-Line Referrals IA EE o MJ o 1 2 3 TP IX47 EE3 EE10 4 ZJ TP RJ 5 TP 6 RJ 7 MJ 10 0 11 12 13 14 15 16 30 01 30 46 30 46 CA 30000 ~E UP3 } UP2 UP Print-Out: EXCESS REFERENCED-LINE REFERRALS IX47 ~U1 } Converts number to decimal and prints it out ZU o EE11 72263 54303 50263 34503 31305 65020 EE17 EE 6 06565 13054 02702 00154 45424 27777 Input Digit in AvNU NU3 NUl 1 PR 0 o 2 MJ 0 30000 NU4 37 52 74 70 PR 0 400 500 6 0 0 7 0 0 3 Flex Codes Parameter for Print-Out E X C E S S ~ REF E R ENe E D LIN E ~ R E FER R A L S Single Digit Print-Out Routine AT o IA } Exit Is the number zero? Entry_ Adds dummy print command to octal digit & puts into next instruction Prints out decimal digit Exit Dummy Print Command o 1 2 3 790 10 fO 11 0 Flex Codes i~ 19 14 0 15 0 CA o o o o o o 64 62 66 72 60 33 4 5, o 7 8 9 NU16 Input in Av. Octal to Decimal Print-Out for NumberS Print-Out for Numbers> 77777 is: OVER 32,767 o 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 IA MJ TJ TJ TJ TJ TJ TP RJ MJ DV RJ DV RJ DV RJ DV RJ RJ PR MJ TP TP RJ TP MJ 40 0 0 0 0 0 51 05 0 0 CA ~ 77777 ZU o ZU32 ZU33 ZU34 ZU35 ZU41 ZU31 UP2 o ZU35 ZU30 ZU34 ZU30 ZU33 ZU30 ZU32 ZU30 NU2 o o A Q NU2 ZU42 o 30000 ZU21 ZU17 ZU15 ZU13 ZU11 :3 } ZU Q ZU24 Q ZU24 Q ZU24 Q ~g24 ZU36 zu ~U421 NU J ~OOO ZU37 2 o 12 144 1750 o o o o 23420 45 70305 40106 23121 11222 1 o o o Exit Entry. Is 10 > no.? Is 102 > no2 Is 103 > no.? Is 104 > no. ? Is 100 0008 > no.? Error print-out: OVER 32~767 Jump to exit ~. 104 to convert to decimal Printing out digit ~~103 to convert to decimal Printing digit ~ 102 to convert to decimal Printing digit ~ 10 to convert to decimal Printing digit Printing digit Printing carriage return Jump to exit Subroutine to facilitate continued conversion of octal number to decimal and print out decimal digit obtained Parameter for print-out: 10 2 10 3 10 10 4 Carriage return o 2 !l. 3 , 767 . V E R 100,000 < 105 8 Temporary ZU43 791 OVER 32,767 Exit String-out Flow Chart Within Get next symbol Alarm prin-t;.out: SUPERFLUOUS SYMBOL IN EXIT SENTENCE Alarm pr int--out : EXIT SENTENCE NOT ALLOWED OUTSIDE SUBPROGRAM String-out ~ Tape Exit String...;Out RE RE SW4400 SX4416 String-Out Subroutine regions also needed to assemble this tape IA RJ 1 EJ 2 RJ 3 TP 4 RJ 5 TP 6 QJ 7 RJ 10 TP 11 RJ 12 TV 13 RJ 14 TP SW SY SX WA SXl UP2 TS4 SW12 WA SX12 UP2 TS4 SS SXll 15 MJ CA 0 SW16 IA 01 40 65 46 65 01 SX 22777 SX2 67523 67516 73472 34500 0 0 1 2 3 4 5 L 0 7 10 11 12 13 14 15 16 17 20 21 22 'lA LLn.'IL SYl SW5 WAI UP3 UP Q SW7 WAI UP3 UP } } } WlA S51 VDl CT 77777 6 05431 76501 55146 13072 ~'ln.~n. .J~ OOU.10 '-'.JUJU 66 77 40 40 30 30 30 24 27 34 25 54 30502 0 0 SX13 72346 50663 01505 46465 01516 27300 01525 24472 SX23 63022 0 0 10 60165 05026 16601 17130 76665 16567 45132 27777 CA Get next symbol = f:j.,. ? No; get heading & Print out error sentence Yes; Op of TS4 = 40? (Within Subprogram?) No; get heading & Print out alarm sentence Yes, call word ~ WL4 Output to tape Indicator to VOl that an Exit has been found in the last pseudo operation Exit ·8. S U L U S Y II ,.,.I T J. .1 E R F U S f:j. M B 0 L N ~ E X P 0 A ~ co o::J t:' t::. T E N C E 1\.1 n . mask a X I T T E N b:. N 0 T L L 0 W ~ 0 U T D E ~ S B A p R 0 R A M E E E A D I N 793 S C ~ E S U G Start String-out Flow Chart Set sentence sentinel = START 27000 to call word indicator Next symbol = II • ? No Increase Call-word type counter Alarm printout: SUPERFLUOUS SYMBOL IN START . SENTENCE Start string-out to tape START STRING-OUT RE S04400 String-Out Subroutine regions are needed for assembly of this tape 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 IA RA SP EJ MJ RJ TP TP AT RJ EJ RJ TP RJ RJ MJ 0 30 65 0 01 40 65 46 65 01 24 50 22 CA SU VD WL2 SU20 0 XJ SU21 SU22 VB4 SY SU23 WA SU24 UP2 SS 0 0 53672 6.6245 0 SU17 0 1 SU4 J SU5 XJ1 WL2 A } WL3 SY1 SU15 WAI } UP3 Increase VD by 1 WL2 = EQUATN ? No; do not increase VB4 Yes; increase VB4 START~ WL2 Call word + (VB4)~ WL3 Get next symbol == /::,.. ? No; error Print-out UP SSl CT 1 46650 46677 27000 77777 7 05431 76501 55146 16566 22777 SU25 67523 67516 73472 34500 54660 16530 66305 02630 77777 77777 SU34 String-out~tape Exit E Q u A T N S T A R T /::,. C/W /::,.. S L S U U P E R F U S ~ 0 Y M B 0 N ~ S T S ""' ~ I A R T A &....l L 14' N T E N C E 795 EQUATION TRANSLATION ROUTINE When an equation is encountered in a UNICODE Program the translation control transfers this routine from drum to core and jumps to it. The main func- tions of the routine are to make up a translation list to be used to generate machine code, assign call words to symbols, and detect and type out errors. The translation list is made up by each translation routine as an output (Region WL). The equation translation routine is unique in one use of this list in that it keeps another list within the translation list. This is called the function dummies list and occupies locations WL4-WL23 or 16 10 locations. Hence there is room for 8 two-word items, the first word being the excessthree code for the symbol and the second word the dummy call word of this symbol. WLO-WL3 is the heading and the coded symbols start at WL24. In an equation before START, the symbol is assigned a call word as follows: 1) If the symbol is in the Combination List, it already has a call word which determines the type of symbol with one exception. If the call word is 65xxx and the next symbol is an open parenthesis, the call word is changed to 66xxx and case 3 applies. If the symbol is that of a subscripted variable, the subscripts are assigned dummy call words and put in the list at WL4-WL23 and are handled similarly to the dummy arguments of a function. 2) If its first character is I, J, K, L or M, it is assigned a 64xxx call word and the equation is assumed to be fixed point. 3) If neither of the above cases applies, the next symbol is checked and if it is an open parenthesis the variable is assigned a 66xxx call word and a function mode is set. In this case all variables within the set of parentheses on the left are function dummies and put in the list at WL4-WL23. These dummies apply only to this particular equation. After START no function call words are assigned by the equation translator but the pseudo operation heading translator assigns symbols dummy function call words, if equated to a real function by a COMPUTE. In an equation no arguments should be written with a function if the function appears on the 796 right or if it appears after START. Operation symbols are determined to be· fixed point if they appear in a fixed-point equation (determined by the first symbol) or if they appear when in the subscript mode; otherwise they are assumed to be floating point. The list of errors found in this paper suggest what cannot be written in an equation. The following pages contain: 1) A list of call words or special codes assigned by the equation translator. 2) An example of the output for a function. 3) A list of error prints. 4. Explanations of some of the subroutines. 797 Special Codes Used by Equation Translation Op 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 u v 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 12 11 20 21 30 31 32 33 40 50 60 61 70 71 100 120 0 0 17100 16000 16100 15000 15100 14000 14100 l30xx l3lxx 101 25xxx 0 0 24xxx 0 0 0 0 0 0 0 0 1 2 I Absolute value (open)t floating and fixed Absolute value (closed)t floating Absolute value (closed), fixed + floating + fixed - floating binary fixed binary - float ing un ary fixed unary t ; comma or semicolon = equalS sign multiply * floating fixed multiply * floating divide / / fixed divide POW ~. (space period) ( open parenthesis ) closed parenthesis Superscript = -1 (superscript 1 is ignored) Superscript = 1/2 Superscript = -1/2 Superscript = 2 Superscript = -2 Superscript = 3 Superscript = -3 < < Superscript = +4 to +77 8 (4 ~ xx ~ 77) Superscript = -4 to -778 (4 = xx = 77) I Integral POW I >63 In equation for 66xxx, 65xxx or 64xxx symbol t before START Equation for 77xxx type symbol, before START. - - 798 EXAMPLE Output of Equation Translators for an equation which occurs before START: F(xl~ x2 (I)) = -I xf 13 + x2 OP u v WL WL1 0 01 0 06142 55 21001 WL2 30 53672 46650 WL3 WL4 WL5 WL6 0 72 0 72 0 34 0 0 04777 0 05777 0 77777 0 25xxx 77777 62000 77777 75001 77777 62003 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 10 11 WL24 (J) *S2 (1~ L) /R POW SIN y~. words in list Line number (excess 3) 39.5 } Heading EQUATN (excess three) Sentence call word (x=octa1 digit) xl (excess three) The function Call word of xl dummy list x2 for this equation. Call word of x2 # I Call word of I } WLI2-WL23=O i 0 0 0 0 0 0 0 0 0 0 0 66000 50 32 10 62000 I 14000 12 20 75001 1 0 0 64xxx 0 2 60 0 0 77xxx i 0 0 62003 0 40 64xxx 0 2 0 0 70 0 65xxx 0 I 100 0 5xxxx 65xxx 0 0 120 F = I xl I Superscript 3 + x2 The Trans lated Equation ( J ) :0: S2 ( I t L ) / R POW SIN y fl. 799 Error Texts for Equations El. Function symbol, ----, (sub program dummy) in fixed point equation. E2. Subscripted variable symbol, ----, (sub program'dummy) in fixed point equation. (sub program dummy) used in fixed point E3. Floating point variable, equation. E4. Function symbol, E5. Subscripted variable symbol, ----, (sub program dummy) among subscripts (sub program dummy) among subscripts of ----. of ----. (sub program dummy) among subscripts of E6. Floating point variable, E7. Fixed point variable, ----, (sub program dummy) in floating pt. equation. E8. Subscripted variable symbol. ----, among subscripts of E9. Library routine, ----, among subscripts of E10. Function, ----, among subscripts of ----. Ell. Floating point variable, ----, among subscripts of ----. E12. Fixed point variable, ----, in floating point equation. E13. Library routine, ----, in fixed point equation. E14. Floating point symbo1 t in fixed point equation. E15. Function, ----, in fixed point equation. E16. Subscripted variable symbol, ----, in fixed point equation. E17. Library routine symbol, ----, with more than one argument, not followed by open parenthesis. E18. Subscripted variable symbol, not followed by an open parenthesis. E19. Subscripted variable symbol, (sub program dummy) not followed by an open parenthesis. E20. Subscripted variable symbol, (function dummy) among subscripts of 800 (function dummy) among subscripts of E2l. Floating point variable, E22. Fixed point variable, ----, (function dummy) in floating point equation. E23. Subscripted variable symbol, ----, (function dummy) not followed by an open parenthesis. E24. More than one separate equation for E25. Superfluous symbols on left. E26. Function, ----, on left, not fOllowed by an open parenthesis. Rest of this sentence not checked. E27. Library routine symbol, is first symbol of sentence. Rest of sentence not checked. E28. An Equation for ---- in the range of a VARY sentence in which ---appears. E29. Illegal symbol (----) for left of equation. E30. More than one subscript on ----, an E3l. Library routine symbol, ----, on left, among arguments of the function E32. Superscript symbol, among subscripts of ----. E33. Superscript symbol, in fixed point equation. E34. More than four superscript symbols in sequence. E35. POW operation symbol among subscripts of ----. E36. POW operation symbol in fixed point equation. E37. Number of library routine operands (by comma count) not equal to number argument of the function ----. listed for this routine. (I ) I E38. Interlocking parenthesis and absolute value signs. E39. Closed parenthesis appears with no corresporiding open. 801 E40. Number of subscripts on ---- (by comma count) is not equal to number obtained from dimension sentence. E4l. Open parenthesis among subscripts of ----. E42. nlegal symbol, ----, for right of equation. E43. Incorrect use of comma. E44. Number of equals signs not equal to one. E4S. Some open parentheses not closed. E46. Number of open absolute value signs not equal to number of closed. E47. Number of open parentheses on left not equal to number of closed. E48. Superfluous arguments on function ----. E49. Within arguments of more than 7 library routines. Arguments of ---- not checked. ESO. Too many dummy arguments on function ----. Rest of this sentence not ohecked. ESI. Pseudo operation symbol, ----, on right. ES2. Incorrect symbol sequence. ES3. Closed absolute value appears with no corresponding open. ES4. Open parenthesis, on left, among subscripts of ----. ESS. Incorrect use of open parenthesis on left among arguments of ----. ES6. Incorrect use of comma among arguments of ----. ES7. More than 29 unclosed open parentheses and/or absolute value signs. ES8. Constant illegal on left, before start. -!~ 802 -!~ SYMBOL PAm CHKCKER Almost every pair of symbols is checked by this routine. The bit in the array on the following page corresponding to the symbol pair consisting of the last two symbols picked up is checked. and the error is printed. If it is a I, the pair is illegal The left symbol is picked up from SZ2 and the right from SY2. After checking a pair the routine sets the right symbol as the left symbol for the next check. Hence, before entering the routine, the new right symbol must be set as an input. The left symbol is indicated by an address in PC2 and the right symbol by a shift count in PC3. from 0 to 20. The addresses range from PD2 to PD22 and the shifts Notice from the way that the array is set up that to change a shift count to an address it is only necessary to add the shift count to address PD2. This is the way a right symbol becomes the next left symbol. If for some reason it is desired that no error be printed out for a symbol, the shift count is set to 20 and the symbol pairs with any other legally. The codes for the error print of this routine are with those of the translation subroutines. It is called Fl8 and is in region Fl. 803 Meaning of Region PD Used by Symbol Pair Checker (PC) Right Symbol "...... +-l• "'0 (l) (I) s::: (I) 0 Of"'"4 • U So.! ctl So.! Q '-" >0- Ad- dress ( j §I ) or I (closed) VAR. or Const. Sub. Var. FTN , or , + or * or / Up Const. Up Up / POW . LIB = ~. I (open) Doesn't matter o 0 110 111 o 1 001 010 o 1 001 010 o 1 001 010 o 1 001 010 o 0 110 111 o 0 100 111 o 0 1 1 0 111 o 1 001 001 o 1 101 111 o 1 I I I 111 o 0 100 111 o 0 110 111 o 0 1 1 0 III o 1 I I I 111 o 0 100 111 o 0 000 000 1 1 0 000 000 000 000 1 1 0 III 110 100 011 OIl 1 1 0 1 1 0 110 111 1 1 0 000 100 o1 1 o11 011 011 100 100 100 o11 111 111 100 100 100 111 100 000 PD2 PD3 PD4 PD5 PD6 PD7 PDI0 PDll PD12 PDl3 PD14 PD15 PD16 PD17 PD20 PD21 PD22 010 101 101 100 100 010 010 010 101 111 111 010 010 010 111 010 000 Octal = = = = = = = = = = = = = = = = = 67642 112035 112035 112034 112034 67642 47742 67642 111435 157377 177377 47642 67642 67642 177777 47642 0 To see if a symbol pair is legal, find the left symbol in the column on the left and the right symbol in the row at the top. If the box of intersection of the row and column of this symbol pair contains a 1,the pair is illegal. If it contains a zero, the pair is legal. o= legal symbol pair 1 = illegal symbol pair 804 Get Call Word from Dummy Function List This routine searches addresses WL4 - WL23 for the symbol in SY2. If the symbol is found it is put in TU2 and its call word is in TU3 in the v address. Reference the routine as follows: RJ TU TUI (Not in list) (In list) o o MJ MJ Send Call Word to Dummy Function List The XS3 code for the symbol is sent to TP2 and the dummy call word to TP3 then RJ TP TPI sends the two-word file to the list WL4 - WL23. Delete Library or Function Arguments, or Subscripts Sometimes an error is encountered and the arguments of a function or library routine or subscripts of a variable should be ignored without checking so the number of errors doesn!t become excessive. To use the routine RJ FV MJ MJ 0 0 FVI (IfLl. is encountered) (after deletion) 805 Equation Translation (P8IJe I) Left First Symbol ~:28 In sub program list In VARY list ...- - - - - " ' - ' - = - ".....:..:~ Before START After START ~ CW= 5XXXX }----...::.:.;~-=='-------_ E27 ~ Not In CB List = 77XXX CW Flt. Var. Sentence CW = 24XXX E19 Sentence CW = 25XXX Fixje Varp CW t =.65XXX In CB list Next sym not ( Check var. type symbol. CW = 64XXX Set fixed eq. j ! File to CB list E48 ~ ..,. ,,, ,,~, Sentence CW = 25XXX c6 In ~Eq. CW " 65XXX ~ CW = 65XXX CW = 64XXX ! CW = 77XXX ! File to CB List mode ! Raise ( level 8 Raise { level. 1 Set fixed Eq. mode '''''~'~ E18 ~ ~ delete ar~ CW = 66XXX Raise ( level. cb Next sym. not ( pOInt E18 Set Ftn mode. Key CW - call word E27 - Error number 27 (See list of errors for text) CT ,- Trans. Control Var. - variable A, AI, A2 - decision on 1st pltge x- octal digit ... - Space code .... - Space period = Signs +l etc. Ftn. - Functi on CB - Combination list args - arguments ( level = 0 Not = Sign Clear a u - - f c \ modes leve110~ E47 Set level = 0 --V B "'(j)"" B, Bl, B2 - dec is ion on 2nd page 11- $ ! Set "Not in o-~:':,:: -" .•""," (£ ", decision --------0 " .."ow + Set FTN. mode o --D -- re~erenced Get next~ symbol Not = Sign Next ;~~ess. _ _ _s..:.y_m_._(-{ Eq. - Equation Ss. - Subscript Fl t pt. - Floating point P .Op. - pseudo operation ( - open parenthesis or parenthesis I - ) - closed parenthesis pow - power absolute value LIBRARY - library Equation Translation (PRge 2) left Not First Symbol ¢ cp ~E54 Get symbol ~_____S_i_gn____~ A2 E55 Not Sign Not variable Ftn. mode Not ( Ftn. mode Fixed pt. LOW::: E56 cb Not Ss mode ~:1c~~as y Too many " 0J E30 va/ Fl. Ss. mode level ESO F~i~xe~d~v~a_r_ia_b_Ie____~E22 ________ ~ B Get N~ext sym. Not leaving 58. mode CW = 75XXX ( Not Clear 58. mode ~G E40 /u . . Add to CB Li st or send back to CB List cb ( Clear CW to Trllns. Li st ~ B CW = 62XXX ,","L;" CW to Trans. Lint ~ Not in CB List '" ;, '.0. ~ , ~ In CB list (5L'" CW = 65XXX m. Al ----0 "o.~ leaving Ftn. mode Not Ftn. / E21 Not too many S / var~CW = CW to trans. 62XXX-0 Equation Translation (Page 3) Symbo Is on Right Right ~ get Not superscript ~SymbOl ~_ _N_o_t_-_ _____~ Cl POW :is. p.4 mode f:41 I Clear level raisers "~'''I ''' I/: Ss. mode ~ Not Ss. mode E35 ~ commas -1 No< Lib,,,, . " , Fl. Eq. p.6 CW CW = 30 for = 31 for + Subscript mode or Fixed Eq. p.5 I/: 0:> Not ~--------lOi / commas -1 E56 ~ C o Cl o ~ Flo Eq. 0:> V CW = 31 for CW = 21 for + E36 if ~ Not I Not A. Not = ~ ~-~~------'E42----~ I/: = signs + 1--------~8 Set for . - - -_ _ _~ CW * CW = 61 for CW = 71 for / 0f = 10 CW = 60 for * CW = 70 for / ~ -=-____ Send Trans. l -_ _ Fixed Eq. or Subscript mode 0f CW = -G List to tape ~ 11 ~ E45 ~ Fl. CW = 13 B E44 E46 ~ ~ Equation Translation (Page 4) Symbols on Right (Cont.) )----{T Library mode Not too low CW = 2 00OOO-1-as-t-r-a-i-se-r-=-(-------+ Lower level l-----"-''------_;o.Clear Library from Level too low Last level raiser = I #Commas not correct Clear subscript mode E39 ~ /' E38 List~~ p.3 ~E37 ---f:\ #Subscript not correct } - - - - - - . : : , . . - - - - - - - - _ . E40~P.3 p.3 p.3 #Char.~/~Mecima/1Pt. _;o.CW=67XXX. Convert to FlXed Constant - - - . - j # Char >6 ---f0P.3 pt. ~ Dec. pt. FlO Fll Flo Eq. }--_ _ _-'p'-t_._~._~_1_ _ _ _ _ _ _ _ _ • g:n~e~~~ Fl. --01'.3 / g~~~:~~ i~ ~~~~r p~~se Constant Not Fixed Eq. --1 ~-----. CW 32 - - - - -•• - To special sequence ~ Not Superscript .. ~ _ Set up power Symbol ~ sequence - - - -•• CW 67XXX - - - - -... Constant to special sequence Not - (assume _ _d_i_v_id_e_)_ _ _.... CW = 70 _ Not const. p. 3 ~ __ Throwaway ~~ rest of super. sym~ E34 ~e~~e~~:Cial i • ~;!b~~xt_ # Symbols > 4 _=----....:....t # Symbols ~ 4 E32 Not superscry fr\ Not ia 7-l# P.3~~ .. - - - - - -s-p -e -c -..~--\ -c a s e~ .••~----) Special case p.3 (";:\. ~. _______ 1/2, - 1/2 ± 2, ± 3, etc. To sequence ....- - - - - --if Equation Trans 1ation (Page 5) Right (Cont.) Before START - Variable Not Subscript mode CW = 75XXX 0 - CW = 64XXX - - - - - - ( 0- CW = 65XXX - ~ ~ CW get next symbol Subscript E 14 - - - - ' Fl. Variable Fixed Variable Fixed pt. Variable 0 - C W = 65XXX_Ell 0- CW = 75XXX CW = 62XXX Fixed Variable E20 CW = 65XXX - - - - - - - - - ' CW = 64XXXX 00 ~. o 0- CW = 65XXX E21 ~ ~ElO 0-- CW = 66XXX _--,;;.;;...---{ EB CW = 77XXX CW = 5XXXX Next sym. )----=-----'~ ~mOde " ' - '" """y. "; ~ ~E17 "1""'·' o Not ( Set Subscript E12 L..----EIB-0 )---~--~E4B~ mode ~ \.!:J p.3 ,./';\ Set Subscript mode p.3 )-------~E22 CW = 64XXX +' E 12 - - - - - - - { ( Not mode = 64XXX - - - - - - ( 00- t ( Jr'\ E23 -~P.3 -~ p.3 Equation Translation (Page 6) Right (Cont.) After START - VARIABLE E5 ~--EI4~--------~ Subscript mode In CB List Flo Eq. El5 ~ Not Subscript mode cw Subscript modE' = 61XXX ------0 CW = 63XXX ~E3 Fixed Variable Not Subscript mode E7---G) &E19 .... 0> Set cw = El2 64XXX C ) Not in CB List Fixed Eq. ~ Fl. El4 CW = 65XXX Not Subscript mode D Fl. Variable Subscript mode Fixed Variable CW = 65XXX cw = 5XXXX • E : 9 - - B 0 - C W = 64XXX El2 Fixed Variable CW = 64XXX Fl, Variable cw Ell ~ = 65XXX E10 "8 Variable cb ~) Equation Translation Routine 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 FR04000 CA04027 CG04067 CH04127 CI04167 CK04227 DA04243 FJ04260 FK04271 FL04303 FM04313 FN04323 FP04337 FU04343 FV04361 HC04405 HF044 12 HG04417 HH04432 HK04444 HL04455 HM04474 HN04506 HQ04515 HR04524 HS04535 HU04551 HV04564 HW04623 HX04645 HY04666 HZ04673 MA04702 MB04717 MC04724 MD04753 ME05001 MG05032 MH05046 MI05067 MJ05211 MK05220 ML05236 MM05253 MN05300 MP05310 MQ05315 MS05337 MT05343 Setups I Constants Left Right Subroutine Right 812 RE RE RE HE RE RE RE RE RE RE RE OJ:' nI:. 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 MU05372 MV05404 MW05410 MX05412 MY05415 MZ05431 NA05434 NB05447 NC05461 ND05471 NE05502 NF05511 NG05532 NH05551 NI05576 NJ05621 NK05626 NL05645 NN05652 NP05670 NS05676 NV05715 NW05733 NX05740 NY05745 NZ05753 PC05762 PD06006 TP06031 TU06057 WC06077 WD06104 XC06115 XD06123 XE06152 XF06205 XG06220 XH06237 XI06251 XL06260 XQ06276 XR06317 XT06344 XV06362 XW06400 XY06405 XZ06432 YB06444 YC06511 YD06.5~32 YE06537 YF06541 1 I Right Subroutines t Right 1 Subroutine Right J Left 813 RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE YG06560 YH06571 Y106603 YJ06611 YK06623 YL06644 YM06673 YN06705 YP06723 YQ06731 YR06745 YS06751 YT06765 YU07003 YV07016 YW07054 YX07075 YY07115 YZ07135 ZA07151 Z807163 ZC07212 ZD07226 ZE07262 ZF07271 ZG07300 ZH07313 Z107330 ZJ07341 ZK07346 ZL07353 ZM07364 ZN07416 ZQ07434 ZR07452 ZT07464 ZV07510 ZW07525 ZX07556 ZY07571 ZZ07615 KX07620 KY07645 VA07663 VC07725 EF73047 EG73106 EH73146 E173212 EJ73251 EK73300 EL73334 Left ~. Left Right } } Left Variables Error Text Constants 814 RE RE HE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE EM73362 EN73410 1 EP73452 ER73515 EX 73556 GA73611 GB73643 GC73706 GD73737 GE74000 GF74027 GH74052 GI74113 GJ74151 GK74202 GL74225 GM74255 GP74306 GQ74343 GV74375 FQ74444 GY74461 GZ74510 Error Text Constants 815 Equation Translation - Setups and Subroutines Name Region Setups Get CW from dummy Ftn. list Send CW to dummy Ftn. list Lower (level on left Delete Lib., Ss •• Ftn. Constants & variables Superfluous args. error Symbol pair checker Constants Lower upper case XS3 constant FR TO TP XL FV WC WD PC PD MI Setups 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 IA FR MJ 0 10042 CA27 10040 CA27 CH15 CH31 CH22 CI31 CA3 CA3 CK1 CK2 CK3 CK4 CK5 CA27 RP TP RP 'IF TP TP TP 'IF TP TP TP 'IF 'IF TP TP TP TP vn ZJ FR23 WB11 CK6 10020 CA27 FR27 TP TP RP TP CA CT Exit Clear VA FR3 } VA FR5} VC VA15 VA23 VA24 VA40 VAl VA2 VC10 VC20 VC30 EW3 TP4 XL2 A FR24 WL2 VB3 YB WL4 Clear VC = = = = = = = = = } } 2 2 0 100 0 1 0 7 0 1 0 1 VCIO VCIO VC20 VC20 VC30 VC30 EW3 = 0 WL23 WL23 TP4 = 0 WL4 WL4 Clear print ind. After , Before ~ FR24 WL2 = EQUATI VB3 = -1 Clear dummy list ~ A 0 0 0 0 0 0 0 0 0 816 o 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 Get CW from Dummy Function List RJ TU TUl MJ 0 Not in list IA TUO MJ 0 In list .(30000) Exit MJ o Start TU4 MJ o XS3 o o o CW o o o Sym. ~ A TP SY2 A Not in list --+ TUO (Exit) RP 20020 TUO In list TU7 EJ WIA o SP TUlS } r~Au 17 SS Q WL3 + r --+ TU14 AT TU16 TU14 Set for in list TUl7 RA TUO File~ output --+ Exit RP 30002 ~UO } o o o o TP WL3 o o 20020 TU2 IN 1 CA TU20 Send Dummy CW to Function List o IA TP MJ 1 2 MJ 0 0 0 0 3 4 5 6 7 10 Ii o o o o TP TJ TP QJ 12 13 14 15 16 17 20 21 RJ RJ TP TP RJ MJ TV 22 23 TP RA MJ 24 25 RP o CA (WL4) WL24 TP4 TP5 VA37 TP12 TE WA GQ (30000) TP6 o (0) (WIA) WL24 A TP20 Q TPI3 TEl WAI UP3 } } Exit Start XS3 CW Add. of next file in dummy list Limit add. O. K. --+ TP20 No ~ . ,..~ •. - I Not In \.ttl LIst + in --+ TPi3 Add to list } E50 GQlO UP FR -+ Exit TP4 TP22 Set address 30002 TP23 } File--+ list TP2 ( 30000) TP4 TP25 Modify 0 TP Exit 2 2 TP26 VAI0 UP2 0 817 Lower ( Level on Left 0 1 2 3 4 5 6 IA MJ MJ 0 RS TJ MJ TP 7 TP 10 11 12 13 14 15 QJ RJ TP RJ TP MJ CA XL 0 0 0 VAl CA3 0 CA3 XL2 XL WA GI UP2 CA24 0 XL16 (30000) XL3 0 CA3 XL6 XL VAl Q XLII WAI UP3 UP XL2 XL } } Exit Start Ind. Lower ( level o K ~ < 1 ~ XL6 Exit Set level = 1 Pre. point ~exit No ~ E39 Set print Exit 818 Delete LIB, SS, FTN Y RJ FV ];,lT1 (!.J. • exit) Y+l MJ 0 Y+2 Normal exit &,- 0 1 2 'l v 4 S 6 7 10 11 12 13 14 15 16 17 20 21 22 23 0 1 2 3 4 IA MJ TP RJ EJ EJ EJ MJ RA MJ RS ZJ RA TP AT MJ TP AT RA RJ MJ CA FV 0 WCl SY WC2 WC3 WC4 0 WC 0 WC FV2 FV CAS PDl 0 CA36 PDl VAl DA 0 FV24 IA 0 0 17 43 WC 0 0 77777 77777 01 22777 CA WCS Exit Level = 1 (30000) WC SYI Sym~A FV7 (~FV7 FVll FV17 FV2 WCl FV2 WCl FV13 WCl A PC2 FV A PC2 WC DAI FV )~FVll !.J. • ~ FV17 J } Return Raise level Return Lower level Level zero t no Increase exit Set PC with ) -+ Set PC with doesn't matter Raise level Check level ~ Exit Level Const. 0 1 77777 77777 77777 ( ) A u. Superfluous Argument Error 0 1 2 3 4 5 6 7 10 IA RJ TP TP RJ TP RJ RJ MJ MJ CA WD WA SZ2 GM WAI GM7 UP3 UP UP3 UP FVl UP2 GP UP2 FV 0 YV 0 ZMl WDII I } E48 "Args. not checked" Delete FTN L\.~@ ~© 819 return • .L Pair Checker PC 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 IA MJ MJ 0 0 TU TP TV SP QT ZJ RJ RP TP RP TP TP RJ SP AT MJ CA IA 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CA PC (30000) 0 0 PC4 P022 P022 20 20 PC2 PC5 } (30000)Q PC3 } PC7 PO (30000) A A PC12 PC21 WA WA1 30003 PC15 } SZ2 FQ6 30003 PC17 } SY2 FQ12 UP3 FQ UP2 UP PD1 0 } PC2 PC3 PC 0 PC24 PD 0 PD2 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 0 0 PD23 1 PD2 67642 12035 12035 12034 12034 67642 47742 67642 11435 57377 77377 47642 67642 67642 77777 47642 0 Exit Start Address (left symbol) Shift count (right symbol) Code word ~ Q Shift bi t --+ A A PC21 Ind.~ OK~ No t Left sym. E52 Right sym. Set for next check Exit Shift bit 1st address of code words ( ) or I (c losed) Var. or const. Sub. Var. FTN , or ; + or - * or / Up const. Up Up / POW LIB = fl. I (open) "Doesn't matter" 820 Conversion of Upper Case XS-3 Constant to Lower Case 0 1 2 3 4 5 6 IA MJ MJ 0 0 0 0 TP MI 0 0 0 0 0 (30000) MI6 0 0 0 0 MII04 MIlOS MI46 MI47 MIllO MII07 MI25 00006 A MI25 MI2l A MIl17 00017 MIl17 Q MI45 RA TP QT LQ RA IJ RA RA RA IJ TP 0 MI121 MI12l MI4 MI5 MII03 MII06 MIlll MI46 MI50 20013 MI51 MIlOl Q MIl17 MI25 MI64 MI50 Mll04 MII04 MII07 MI30 MI27 MI15 MIllO MII04 37 TP Mli05 40 41 42 43 44 45 46 47 50 51 52 53 54 55 TP TP TP TP MJ MIlll MIll2 MIll3 MIl14 0 0 0 0 0 0 0 00077 00060 0 00061 0 00040 0 00020 0 0 00041 0 00035 0 00055 ~ I 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 56 57 ""0 .I.L TP TP TP TP TP LQ QT RP EJ TP ST LA 0 0 0 0 0 0 0 0 0 0 0 } } Output data Input data Zeroize temp. Zeroize temp~ Store input Store input Set Index Set Index Set store command Convert and Store 00006 MI45 MI14 MII02 MII02 MIl02 MI13 MI2 MI3 MI25 MIl5 MI30 MI27 MI 0 } Reset for second word 1 ) Preset for second set of input data Upper Case 821 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 100 101 102 103 104 105 106 107 110 III 112 113 114 115 116 117 120 121 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TP LQ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00001 0 0 0 0 0 0 MI64 MI46 RA MII04 LQ MII04 PR 0 MS 0 0 00007 0 0 0 0 CA MI122 00075 00036 00057 00062 00077 00003 00004 00005 00006 00007 00010 00011 00012 00013 00014 00022 00077 20013 0 00001 0 I Lower Case Lower Case 0 00005 0 0 Q 00006 MI45 00006 MI120 40000 0 00015 0 } Parameter Error 822 Constants IA CAO 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 04 06 0 0 0 0 0 0 77777 0 0 1 0 0 0 0 1 1 0 2 2 0 3 3 0 4 4 0 5 5 0 6 6 0 7 7 0 10 10 0 11 11 0 12 12 0 13 13 0 14 14 0 15 15 0 16 16 0 17 17 40 0 0 0 0 64000 0 3 3 0 0 0 17 77777 77777 0 0 65000 0 0 777 0 0 66000 3 06 0 62000 0 0 0 0 20 0 CA CA40 20 ( ) or I (closed) Variable or const SSe Var. e 1 FTN or ; + or * or / Upper Const. Upper Upper / POW LIB BY or = ~ ~. I (open) Zero ( 77 77 77 77 77 0<; K~ for p<;C" 01000 823 for PC Constants (cont.) 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 IA 11 22 33 44 21 CG 11111 22222 33333 44444 77777 77777 77777 77777 73777 22777 77777 77777 77777 0 23 43 76 25 01 00 15 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 VLl 0 07777 0 0 0 0 0 0 02 0 0 2 0 70000 0 0 0 10000 CA CG40 11111 22222 33333 44444 77777 77777 77777 77777 77777 77777 77777 77777 77777 50 120 77000 70 61000 63000 76000 0 00700 VLl 0 70000 40000 50000 0 0 0 40 0 Fltpt. Fixed pt. Ftn. Sub. var. 77 77 77 77 77 -I ; 77 77 77 77 77 ) 77 77 77 77 77 = ~ BY ~ tJ.. -/ ~ 77 77 77 77 77 77 77 77 77 77 I = tJ.. Mask ( Mask Mask ) ) 824 ~ Constants (cont.) 0 1 2 3 ..,.A 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 IA CHO 0 CH35 Cl11 0 0 CI13 0 Cn2 0 0 52 51717 63 77777 02 77777 56 77777 64 77777 0 0 0 0 0 0 0 2 0 0 0 0 0 0 TP CG34 0 1 0 1 0 0 0 0 0 CIO 0 VA32 0 0 0 0 0 0 0 0 ell 34 0 35 36 37 0 0 0 0 0 0 CA CH40 0 0 0 0 75000 77777 77777 77777 77777 77777 12 13 10 2 5 VA24 VA31 0 0 1 3 2 0 0 16100 100 77 16000 F1tpt. / Fixed pt. / Fltpt. * Fixed pt. * PO W 77 77 77 + 77 77 77 77 77 > > > * / I (closed) floating I (closed) fixed I (open) fl. and fixed Base add. for sequence for comparison 0 70 32 00100 / To set VC3 & POW 825 Constants (Cont.) 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 IA 00 20 15 20 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 0 0 0 0 0 0 0 0 0 CA CIO 77777 14000 77777 24000 26000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 20000 0 VC20 VC30 07000 CI20 CI2l CI22 CI40 77777 0 77777 0 0 13000 15000 14000 17100 71 61 60 60000 10000 33 32 31 30 21 20 3 75000 0 1 / 2 3 CW for 4 to 63 & -4 to -63 2 & -2 3 &-3 -1 Fixed / Fixed • Fl. • Fixed unary - Fixed + Fl. + Base add. of print list 0 0 7 VC20 VC30 0 0 0 0 } Mask Limits on LIB modes Fixed Fl. Fixed + 826 Constants (cont.) 0 1 2 3 4 5 6 7 10 11 12 13 IA 0 0 0 0 0 0 77 0 0 0 0 0 CA CKO CI23 VC10 VC20 VC30 WL23 WIA 77777 0 0 0 0 30000 CK14 0 VC10 VC20 VC30 WL23 WL4 77776 25000 24000 WL 67000 0 Fl. + Set EW3 64 t 65,66xxx separate Eq. 77xxx separate Eq. Const. CW Const. 827 Variables for Equation Translation 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 IA 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 VAO 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0) Print ind. ( level bit 1 level bit # ( level raisers in sequence ~ 1 level raisers in sequence SSe mode level XS3 of SSe variable Ftn. mode level XS3 of Ftn. Level of subscripts for FTN. Lib. mode # commas for Lib. # of ='s # of words in up. c. sequence for string-out Fixed 40 - floating 00 # commas, SV mode (count) # commas, FTN mode (count) # commas, Lib. mode (count) # upper case symbols in sequence ( POW Upper case sequence for string-out (Call words) 0 0 0 0 7 0 ) Upper case sequence for special call word comparison (XS3) SSe -1 (from dimension list) not in CB List bit Ftn. mode format mask Address in CB List # CA VA42 828 Variables ( cont. ) 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 IA 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 VC 0 0 0 0 0 0 0 Any decimal points in sequence Index Constant CW temp. Add in to constant CW for Save const. CW Ind. print for "more than 29 ( 's etc.- 0 0 0 VClO Address of Lib. level 0 VClO 0 0 0 0 0 0 0 VC20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 VC30 0 0 0 0 35 0 36 37 0 0 0 0 0 CA VC40 0 0 0 0 0 0 0 0 0 0 0 0 VC20 0 Leve 1 of Lib. Address of "# of commas for Lib. 0 0 "# commas for Lib. 0 0 0 0 VC30 0 0 0 0 0 1 0 0 J XS3 of Lib. 829 Equation Translation Left Section A Section B Section C - -- First Symbol, Before START First Symbol, After START Not First Symbol Region Section YB A YH A A A A A A A A A A A ZO ZI ZJ ZK ZL OA KX KY B B B B B B B Letters on left of coding sheets are connectors (They are also 0C!)he flow charts) i. e., B, ~ , etc. YK YG YF YJ YE YO YI YC YM YN YW YS YR YQ yp YU YT Region Section ZE C C C C C C C C C Connector YX ZA ZC ZB yz YY YL ZF ZG ZH C C C C C C C C C C 830 Section [) A @ @ A CD C A Left-Before START-1st Symbol ® 0 1 2 3 4 5 6..., TA YB TP ZJ RJ VD MJ TP QT EJ YB2 J TA 0 TA4 CG30 CG32 TAl} YC t TP TA4 RJ TP QT EJ QT AT EW TA4 CG17 CG17 CA32 CK7 0 CA32 CK10 TA5 CAl YB24 WA SY2 EX22 UP2 TA4 CG17 CA25 CA31 CA33 SY CA30 WA SZ2 EN22 UP2 SY2 0 YB45 QT AT TP QT ZJ RJ TP TP RJ TP QT EJ EJ EJ RJ EJ RJ TP TP RJ TP MJ CA ) YW 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 A Q A YD EW2} EW1 Q ~17} ~L3 } After ~YW Before. Not in CB List In ~ ~YC Lib. -;. YD No ~ CW ~string CW = 77XXX~YB17 No ~ 25XXX CW ~WL3 YB21 ~L3 } tWAl}} EX31 UP3 UP Q A YE YH YG SY1 YJ } 24XXX CW ~ WL3 No prev. Eg. Prev. Eq. + E24 CW~A 64XXX~YE 65XXX~YH 66XXX~YG Sym.~A 77XXX ~YJ WAl} EN30 UP3 UP A YH10 ~YI E18 Sym.@A ~A 831 No ~ ~ End of Left Symbols @{ IA YH 0 RJ 1 2 3 EJ SY CG7 WA GA UP2 SY2 CGll SY CG7 0 YH12 4 ®{ 5 6 7 10 11 RJ TP RJ TP EJ RJ EJ MJ CA IA RA 0 1 2 3 EJ RJ 4 TP 5 6 7 10 11 12 13 14 15 16 17 20 RJ TP RP I'P TP RP TP TP TP AT TP RJ MJ CA SYI YK WAl} UP3 =~YK E25 ~P } YV SYI YK YH6 ~@) 1:1, S~~A =~YK YK VA14 VAl CA3 WA GL14 UP2 CA3 10011 CA27 10004 CA27 CA27 CA21 PDl CG15 EW 0 YK21 ='s + 1 CA3 A # ~r} UP3 level zero--7YK7 no E47 UP ~~l} VA3 YK13 VA17 VA36 :C2 } EW2 } EWI ZMl set to ( level zero Clear all modes Clear #SS set left of PC with CW~list ~@) 832 = ~ 66XXX £\ v 1 2 3 4 5 6 7 10 IA YG RJ EJ RJ SY TP TP RJ MJ LQ MJ CA CA30 WA SZ2 GA6 UP2 0 TA3l 0 sv, .l.L YG7 ~ A (~YG7 WAl} GAll E26 UP3 UP FR 25 YF4 Sym --7 ~ no Exit to trans. control YGII 65XXX 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 IA YF RJ EJ MJ RA TP SY CA30 0 TA4 TA3l VA4l VAl SZ2 VAl POI CA26 CA34 CG20 30002 TA3 YF17 RA TP TP RA TP TP TP TP RP TP CA SYI YF3 YHI CA37 VA41} CA3 VA7 VAlO CA3 PC2 TF TF3 VA40 YXl} TFI Sym---;.A (--?> YF3 no ---;.@ ~ = CW b6XXX Save address in VA4l Set Ftn. mode XS3 of Ftn. Raise ( level Set PC # words 3 Set format Set mask Set up to return to CB list then~® = 833 77XXX ( 0 IA TP 1 2 3 TP QT RA YJ VAl TA5 CA2 VAl 4 TP PDI 5 6 7 TP RJ RS 10 TP CG24 EW VA36 SZ2 11 MJ CA 0 VA5 Set Ss. mode #Ss. ~VA 36 CA3 PC2 EW2} EWI CA3 VA6 YXI Raise level Set PC ~A36 } CW~list #Ss. -1 XS3~ ~ B Ss. variable YJ12 64XXX o 1 IA TP MJ CA YE CA24 0 VA16 YH YE2 Set fixed equation ~ Lib. = 5XXXX 0 1 2 3 4 IA RJ TP TP RJ MJ CA YD WA SY2 GB UP2 0 WAl} GB5 E27 UP3 UP FR ---7 YD5 834 trans. control No previous Equation IA 0 1 2 3 4 5 RA RJ TP QI EJ MJ CA YI TA5 TD TA4 CG17 CA31 0 YI6 CAl TDl Q A YF YB30 } Set eq. Return to list CW~A no ~ 65XXX~YF Not in CB List IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 RJ RJ AT TP QJ RJ EJ TP AT TP RJ TP IP TP RJ TP MJ CA YC RH TK CK7 SY10 YM SY CA30 VB1 CA31 A EW CA26 SZ2 CAl TE SY2 0 RH1 TK1 WL3 Check Var. symbol Increase CW. 25XXX CW ~WL3 ~C5} IJKLM~YM SY1 No ~ YN Sym~A (~YN ~W2} CW TF2} EW1 CW~list TF IF1 } File TF3 TEl A YHI = 65XXX ~CB Sym~A ~(A2) '-'" YC21 835 no ~ list Not in CB List 1st Letter IJKLM 0 I 2 3 4 5 6 7 10 II IA TP AT TP RJ TP TP TP TP RJ MJ CA YM VBI CA25 A EWO CA24 SY2 CA26 CAl TEO 0 YM12 A } EW2 TF2 EWI VA16 64 XXX CW~list Set fixed equation Sym.~TFI TF! TFO } TF3 TEl YH CW~CB ~@ NOT IJKLM Next Sym. 0 1 2 3 4 5 6 7 10 II 12 13 14 15 IA TP AT TP RJ TP TP TP TP TP RA TP TP TP MJ CA YN VBI CA33 A EWO SZ2 SZ2 CA34 CA26 VAl VAl PDl CA24 CG20 0 YN16 List ~2 } TF2 EWI TFI VAI0 TF3} TFO VA7 CA3 PC2 VA37 VA40 YXI J ( 66XXX CW~list XS3 of Ftn. Store format Set Ftn. Increase level Set P. C. Set "not in CB List" bit Set mask ~® 836 Left After Start 1st symbol IA YW 0 1 2 3 4 5 RJ MJ TP RJ RJ TP TS 0 TS3 EW KY TS3 6 'l.L rVT1 £",£",,"'7 7 10 11 12 13 14 15 16 17 20 EJ EJ RJ EJ RJ TP TP RJ TP MJ CA CG21 CG22 SY CA30 WA SZ2 EP UP2 SY2 0 YW21 IA 0 1 2 3 4 5 TP RJ TP TP RA TP QT LQ TP TP YSO CG24 EWO SZ2 VAl VAl TS3 CG25 Q Q PDl VA36 0 YS14 6 7 10 11 12 13 RS MJ CA \A1.l1 TSl} YP EW2 } EWI KYI 91 .Ii. Not in P. Op. list ~YP In ~ CW ~list Check Vary List XXOOO~A .J YQ YR SYI YS 61XXX~YQ 63XXX~YR EP6 UP3 UP A YHI E19 76YXX ~ (~YS WAl} no t Sym~A ~@ EW2 } EWl VA6 } VA5 CA3 Q \ J 36 Q VA36 PC2 CA3 YXI (---7 string Set Ss. mode Raise level Store;;; Ss. Set P.C. SSe - 1 ~® 837 Sym~A 63XXX ~ IA 0 1 2 3 TP QJ TP MJ CA YRO SY10 YR2 CA24 0 ~H } VA16 YH YR4 1st letter IJKLM~YR2 No->@ Set fixed eq. ~® 61XXX 0 1 2 3 4 5 6 7 10 11 12 13 IA RJ EJ MJ RJ TP TP RJ TP RJ RJ MJ MJ CA YQ SY CA30 0 WA SZ2 GM UP2 GP UP2 FV 0 0 YQ14 Not in 0 1 2 3 4 5 IA yp RJ MJ TP RJ RJ MJ CA TA 0 TA4 EW KY 0 YP6 SY1 YQ3 YH1 WA1} GM7 Sym~A (~YQ3 ~@ no ~ E48 UP3 UP g;3} FV1 YV YH "Args. not checked" Delet@tn. fl. ~C ~@ P.O~List-After START-1st Sym TAl} YT Not in CB List EW2 } CW~list EW1 KY1 In 1 ~YT Check Vary List YU 838 Not in Vary List 0 1 2 3 4 5 6 7 10 11 12 IA TP QT EJ QT EJ EJ EJ TP QS RJ MJ CA YD TA4 CG30 CG32 CG17 CA25 CA31 CA33 CG33 CG33 TD 0 YU13 ~ YO A } XOOOO~A 5XXXX~ YO XXOOO~A 64XXX~ YE 65XXX~ YH YE YH YQ Q TA5 TOI YB35 66XXXT YQ 77XXX Set Equation bit Return to CB List Not in CB List 0 1 2 3 4 5 6 7 10 11 12 J3 14 15 IA RJ YT TP QJ AT TP SYIO YT3 CA25 CA24 A CA26 SY2 CG33 EW TE TP TP TP TP RJ RJ MJ AT MJ CA TK 0 CA31 0 YT16 TKl ~T14} EW2 } VA16 TF2} TF TFI TF3 EWI TEl YH EW2 YT5 Increase CW counter 1st letter IJKLM~YT3 No ----?YT14 CW = 64XXX Set fixed Equation Build file CW ~list Fil~>CB ~ A2 CW =~5XXX 839 List Left - Not 1st symbol ® {~ 3 4 5 6 7 10 11 12 13 14 15 16 17 IA RJ RJ EJ TP QJ EJ EJ EJ EJ MJ TP RJ TP RJ TP MJ CA YX PC SY CG7 SY7 YL CA30 CG4 CG5 CG6 0 SY2 WA GC UP2 CA36 0 YX20 PCl SYI Pair Check YK =~YK Q ~ YX5 J Var.--? YL no ~ yy ~} ZA KX Sym~A (~yy , or; ~yz )~ZA ~ .~KX~@ GC4} WAI UP3 UP PC3 YX E29 set® ~B 840 1st sym. Left; not ) TJ\ 0 1 2 3 ?J\ ~ LIn TP CA5 RJ XL TP 4 EJ EJ 5 6 TP VAl VA5 VA7 VA7 ZJ YX 7 TP CG34 10 11 RJ MJ CA EW 0 ZA12 PC3 XLI A ZB ZC A ZA7 EW2 EWI 0 1 2 3 4 5 6 7 10 11 12 13 IA TP RJ TP QS TP QJ RJ TP MJ TV RP TP CA ZC CA27 PC CG35 VA20 VA37 ZC6 TE CA27 0 VA41 30003 TFI ZC14 J 7 J YX ) Set PC Level checker No + Leaving Ss. mode--7ZB Leaving Ftn. mode ~ZC In Ftn. mode ~YX No it CW~list ~® Leaving Ftn. mode VA7 PCl Clear Ftn. mode ~F3 } ~Cll } # TEl VA37 YH ZC13 YH ~PC J conunas ~list "Not in CB List" bit set Not set~ZCll Add to CB List Clear "not" bit ~~ Send ack ~@ (30000~ 841 to CB List ~ )-leaving 5s. mode Left IA ZB 0 1 2 3 RJ TP TP ZJ 4 TP 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 ZJ RJ PC CA27 VA7 ZB4 VA36 ZB6 WA VA6 GC12 VAIO UP2 0 CG34 TP TP TP RJ MJ TP RJ TP ZJ RJ TP TP RJ TP TP MJ CA EW VA36 ZB20 WA VA6 GI12 UP2 CA27 CA27 0 ZB27 PCl VA5 Do PC Clear 5s. mode ~B14 } A YXI IA TP TP ZJ RS TP RJ MJ RA TP TJ LQ MJ CA YZO CAll VA5 YZ3 VA36 CG36 EWO 0 VA20 CK13 VA20 VA40 0 YZ14 commas Noy # } nO®ZB14 = O~ B WAI GC20 } E30 UP3 GC27 UP YXI EW2 EWI ~® CW~list } ~B24 Right No + } WAI } GI17 UP3 UP VA17 } VA36 YH Left 0 1 2 3 4 5 6 7 10 11 12 13 Ftn.mode+ PC3 A YZ7 CA3 EW2} EWI YX CG37 E40 Clear # Ss .. ---7@ or ; t Set PC } Ss. mode ~ no ---'7Yl7 Commas - ~ C.W .~list ~® Commas + 1 Too many operands ~TPI0 No • Shift mask ~PI0 } 3 YX # commas~ZB24 ~® 842 Left 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 IA yy TP RA TP ZJ RJ PC3 CA3 TP GA4 VAl VA7 YY4 WA VA10 GV3l T'>T rrnn urt:. TTn 0 WA VA6 GV15 UP2 CG24 YX TP n", MJ RJ TP TP RJ TP RJ MJ CA EW 0 YY20 ( Set PC Increase level ~Y11 } Ftn. mode WAI GV45 E55 UP3 ur 1 S5. mode ~YYll ./ ~® WAI } GV27 UP3 UP EW2 EW1 YX ~ E54 } CW~list ~® Left-not First Symbo1-Var. IA YLO 0 1 2 RJ RHO CA6 VA7 RH1 PC3 A 3 ZJ RJ MJ TP QT EJ TP ZJ YL4 ZD TAO 0 TA4 CG30 CG32 VA5 YL13 SYI0 YL22 WA SY2 VA6 ER UP2 SY2 VB3 CA35 TP 0 YL27 TAl YLII Q A ZE A ZF 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 TP TP TP QJ RJ TP TP TP RJ TP RA AT RJ MJ CA ~15 WAI ER6 ER20 UP3 UP J No Lib.~ZE ] J ~ SSe mode ~ J TP2 ] CA3 Ir3 TPl YX ] ] Check symbol Set PC Not Ftn. mode -7ZD Ftn. mode ~ Not in CB List ~YLII In ~ Not IJKLM ~ no ---7ZF yes E21 Assign dummy GW CW ~dummy list ~® 843 ~YL22 Var.- Ftn. mode-. not Ss. mode IA 0 1 2 3 4 5 6 TP QJ RJ TP TP RJ MJ CA ZFO SYlO ZF2 WA ER22 SY2 UP2 0 ZF7 ~GO } IJKIM WAI } UP3 ER27 UP YL22 ! no~ZGO E22 . Return Not IJKI.M IA 0 1 2 3 4 5 6 7 10 11 12 RJ RJ EJ RA AT TP RJ TP QS TP MJ CA ZG PC SY CA30 VB3 CA35 SZ2 TPO VA40 CG SY2 0 ZG13 PCl SYI ZH CA3 TP3 TP2 TPl Q TF3 A YX2 PC } } Symbol~A (~ZH no ~ 62XXX CW ~ dummy list F1 tpt. ~format Sym~A ~® 844 Ftn. mode-Var. 0 1 2 3 4 5 6 7 10 11 12 13 14 IA RA AT TP RJ RA TP TP QS TP TP TP RA ZHO VB3 CH4 SZ2 TPO VB3 POI VA40 CG3 VAl SZ2 CA27 VAl MJ 0 CA ZH15 CA3 } TP3 TP2 TPI CA3 PC2 Q 1 TF3 ) VAS VA6 VA36 CA3 YXI J ( 75XXX CW ~dummy list Leave space for S8. Set PC Ss. var ~format Set Ss. mode # S8. - 1 = 0 Rai~ level ~B Lib. 5XXXX o IA ZEO RJ TP TP TP RJ 5 TP WA SY2 VAIO GO UP2 CA36 6 MJ CA ZE7 1 2 3 4 o WAI ') G05 ' G017 ) UP3 UP PC3 YX E31 Set PC "doesn't matter" ~® 845 Left - Not 1st symbol Not Ftn. mode Var. 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 IA TP QJ RJ TP TP TP RJ TP ZJ RJ MJ TP RJ MJ RJ MJ TP RJ MJ RJ AT TP TP TP TP RJ RJ MJ CA ZO SYIO ZI WA SY2 VA6 EK UP2 VD ZOll IS 0 IS3 EW 0 TA 0 TA4 EW 0 1K CA31 A CA26 SY2 CA27 TE EW 0 ZD34 Q Z02 } IJKlM ---7 ZI no ~ WAl} EK6 EK16 UP3 UP A Z12 TSI } Z016 EW2 EWI YX TAl } ZD23 EW2 EWI YX TKl EW2 TF2 TF TF1 TF3 TEl EWI YX Ell Before~ZI2 } } After t Not in P.Op. In ~ list~ZD16 CW~list ~@ Not in CB list-ZD23 In ~ } CW~string ~@ Increase CW Assign 65XXX CW } File ~CB CW~list ~® 846 list 1st Letter IJKL\i 0 1 TP ZJ 2 3 4 5 6 7 RA RJ RJ ZI VD ZJ VB3 CA35 A SY2 TPO EWO 10 MJ 0 CA ZI1l IA AT TP TP I ~I2 } Before START ~ No~ZJ CA3} TP3 Dummy CW = EW2 TP2 62XXX~list TPl- EWI YX CW ~list ~® After START 0 RJ ZJO TSO 1 2 3 4 MJ 0 TSI } ZK In P.vp. list TP RJ MJ CA TS3 EW2 ] CW~list IA EW 0 EWI YX ZJ5 i no~ZK ~® Not in P.Op. lis.t 0 1 2 3 4 IA RJ MJ ZKO TAO 0 TP RJ TA4 EW MJ 0 CA ZK5 TAl} ZL EW21 EWl] YX Not in CB List ~ZLO In ~ CW~list ~® Not in CB List 0 1 2 3 4 5 6 7 10 IA ZL RJ AT TP 1K TP RJ RJ CA26 SY2 CA27 TE EW MJ 0 CA ZLII TP TP CA25 A TKl } EW2 Assign 64XXX CW TF TFI TF3 TEl EWI YX New file Tn} ~CB CW~list ~® 847 list Level Checking Sub. 0 1 2 3 4 5 6 7 10 11 12 13 14 IA MJ MJ 0 TP AT TJ TP QJ RJ TP RJ TP MJ CA DA 0 0 0 VAl VA2 DA2 VC5 DA WA GY12 UP2 CA24 0 DA15 (30000) DA3 40 A A DA } gA10 } WAI } UP3 Exit Start 3210 I level +( level ~A O.K.~ exit no ~ Prev. print ~exit No ~ E57 UP VC5 DA Set Ind. Exit Inserted in region YX with jump at YXl1 = MJ 0 KX IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 EJ TP QJ TP QJ TP ZJ RJ TP RJ TP RJ TP RJ TP MJ RJ TP RJ TP MJ CA KX CG11 SY11 KX3 SY13 YXl2 VD KX7 RO SY2 RS2 RS3 GW Q EW CA6 0 WA GZ UP2 CA36 0 KX25 YV Q YX12 Q KX5 II J ] ~X20 J ROI RS4 RS A GW1 EW2 EWI PC3 YX WAI UP3 UP PC3 YX J J J .~@ Const. ~ no ~YX12 Superscript ~ YXl2 no ~ After ~ before -7KX20 Check fixed pt. const. Convert to octal Assign CW CW ~list Set PC ~® J E58 set~ ~B 848 with doesn't matter. Check Vary List ,./l 0 1 2 3 4 5 6 '7 • 10 11 12 13 14 15 1"7"t7 ~Jo\ 1\..1 MJ TP ST TP QS TP 0 RP SY2 20000 (30000) A A Q KY6 A KY RT lTT 1 v ...... .1. ......... .I.V RJ WA SY2 SY2 GB22 UP2 0 KY16 ~v TP TP TP RJ MJ CA VL CG26 CG27 A } Set up N of RP UV1{\ Tl't .....1£ Sym~A Not in Vary List ~exit .I. 'f WAI GB26 } GB40 UP3 E28 UP KY Exit 849 Equation Translation Right Section Section Section Section Section Section Section Region ZM DEGHI F F - Switch = r / * - + , ; constant Superscript symbols POW ) ( VAR Before START VAR After START, In pseudo Ope list VAR After START, Not in pseudo Op. list also ~ . MB Section D D MD D ME MA D D D D D D D D D D ZZ ZY MY ZX MZ ZW ZV XC Region Section HL ZR NY ZQ FN FM FL FP ZN G G G G G G G G HG HH HF HC E XZ H HK MS MV E E E MX E H H H H MW E MN MM MQ MG MP MK MU MT E E E E E E E E E E HR HU HQ XD HZ ZT XG XF XH MC XQ HS NA H H H H H H H H H H H H H H MH MJ ML Region XI XE XW XV XT XR XY HN HM HY HX HW ND NE NC NB HV NL NJ NI NH NS NP NK NG NX NW NV NN FU NF FK FJ NZ YV 850 Section H H H H H H I I I I I I I I I I F F F F F F F F F F F F F F F F F F F Sections of connectors; Connector Section D F D E H I 851 Equation Translation © {I 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 IA RJ RJ EJ EJ EJ TP QJ TP QJ TP QJ EJ EJ EJ EJ EJ EJ EJ EJ EJ RJ TP TP RJ TP MJ CA ZM PC SY CA30 CG6 CHS SY7 -ZT SY13 Me SYll ZV CG4 CGS CH6 CH7 CHIO CHll CG14 CGll CG7 WA SY2 GJ12 UP2 CA36 0 ZM32 PCl SYI ZN ZQ ZR Q ZM7 Pair check Symbol ~A (~ZN )~ZQ POW~ZR } ZW +~ZX -~ZY ZZ MA *~ZZ MD YV I-~ ll. C MB =~MB /~MA IA MB RA CA3 PC3 EW2 } EWl ZM 2 3 TP RT VA14 CA21 CGlS EWO 4 MJ 0 CA MBS TP Constant ----? ZV No ~ , or ; ~ZW no t ZX Zy WAI GJ16 } UP3 UP PC3 ZM no Superscript~@ } Right 0 1 Var. --?ZT ~Mll } ~M13 } ZW Right E42 Set PC © = # ='8 + 1 Set PC CW~ list ~@ 852 + no + Right 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 IA MD TP SZ2 CG7 20005 CH5 0 EJ RP EJ 0 0 EJ EJ EJ TP QT EJ TP EJ MJ TP TP RJ TP RA RA MJ CA 0 CA30 CG4 CG5 EW2 CG30 CG32 Q CH14 0 CA23 CH14 EW CA27 VA4 VA2 0 MD26 A MD17 MD6 } MD17 0 0 MD17 MD17 MD17 Q ~D17 } ~D17 } ME PC3 EW2 } EWI VA3 CA3 CA3 ZM Absolute Value open , = + POW -* / ---7 MD17 ( ~open J Lib.-7 open I ~open 0 Closed --7 ME Set PC with 0 pen CW ~string flear (level raisers level raisers + 1 Raise I level ~© 853 Absolute Value I (Closed) IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 TP RS TJ MJ TP RJ TP RJ TP ZJ RJ TP RJ TP TJ RS TP ZJ TP RJ MJ TP QJ TP MJ CA ME CA5 VA2 CA3 0 CA3 WA GV UP2 VA3 MEl2 WA GH24 UP2 VA4 CA3 VA4 VA5 ME22 CHl3 EW 0 VAl6 ME22 CHl2 0 ME31 PC3 CA3 ME4 MEIO Set PC Lower level Level too low ~ME4 ~1i UP3 } Set level OK~MEIO E53 UP ~15 } = ( Raisers No ~ = 0 ~ME15 WAI UP3 UP } E38 ~20 } ~25 1 > I Level raisers No ~ Raisers - I } SSe mode ~ no~ME25 Fixed CW~list CA3 EW2 EWI } ZM Q ME27 EW2 ME23 } } ~ME20 ~© Fixed Eq.~ME22 No ~ Floating CW ~list 854 Right / IA ~1AO 0 TU 1 2 3 4 5 6 TO CHO CHI CA13 VA5 MA5 (30000) EWO 0 VA16 MA5 (30000) EWO 0 MA15 7 10 11 12 13 14 TP TP ZJ TP RJ MJ TP QJ TP RJ MJ CA MA12 } MA5 PC3 Set for / ~10 Ss. mode ~ no ~MAI0 Fixed CW~list EW2 EWI ZM Q MA12 EW2 EWI ZM } 1 J } } Set P.C. ~© Fixed eq. ~MA5 No ~ Fl. C.W.~ list ~© Right * IA 0 1 2 TU TU MJ CA ZZO CH2 CH3 0 ZZ3 MA12 MA5 MA2 Fltpt. * Fixed Pt. * ~/ sequence 855 Right (minus) TP Zy CA12 EW2 CG30 CG30 Cl14 Cl15 Q CH12 CH13 CG34 VA5 ZY16 VA16 ZY16 CI16 RJ EWO MJ 0 CI17 EWO 0 ZY24 IA 0 1 2 3 4 5 6 7 10 11 Unary - 12 13 14 15 16 17 20 21 22 23 TP TP QT EJ EJ EJ TP EJ EJ EJ TP ZJ TP QJ TP RJ MJ CA PC3 Q A MY MY MY A MY MY MY Set P.C. Last CW~Q } Var. Const. Spec. CW } I ~Y14} ~Y21} EW2 } EWI ZM EW2 &WI } ZM ~MYO (closed)~MYO )~MYO SSe mode~ZY16 No ~ Fixed eq. ~ no~ZY21 Fixed unary - ~string ~@ Floating unary - ~string ~© Binary - (minus) or + (plus) IA 0 1 2 3 4 5 6 7 10 11 12 13 TO TO TP ZJ TP QJ TP RJ MJ TP RJ MJ CA MYO CI35 CI36 VA5 MY6 VA16 MY6 (30000) EWO 0 (30000) EWO 0 MY14 MY6 } MYll Set for - ~Y4 } ~Y11} Ss. mode No ~ EW2 } EW1 ZM FJ/2} EW1 ZM ~MY6 Fixed eq. + no ---+ MYll Fixed +~string ~© Floating ~© 856 + ~string Right + IA TP zxo 0 1 2 3 4 5 TP QT EJ EJ EJ CA12 EW2 CG30 CG30 CI14 CIl5 PC3 Q A Set PC Last CW MZO} MZO Var., Const .. or Spec. CW~MZO 6 1't' A 7 10 11 Unary +12 EJ EJ EJ Q MJ CA CH12 CH13 CG34 0 ZX13 ~Q MZO t (closed) ~MZO MZO} MZO MZO ZM )~MZO ~© Binary + 0 1 2 IA MZO TU CI37 CKO 0 MZ3 Tn MJ CA Right IA TP TP ZJ RS TP RJ ZW CAll VA5 ZW3 VA36 CG36 PC3 A ZW7 CA3 EW2 EW EWI 6 7 10 11 12 13 14 15 16 17 20 21 22 23 MJ ZM A ZW25 24 MJ 25 26 27 30 RJ TP RJ 0 VC10 CK1 VC10 (30000) CA3 VAl WA VC30 (30000) GY UP2 VC20 (30000) 0 WA GJ24 UP2 0 ZW31 0 1 2 3 4 5 TP EJ Tn TP AT EJ RJ TU TP TP RJ TU RS MJ CA Set for MY6 } MY11 MY2 r I + or ; Set PC } > ) SSe mode ~ no~ZW7 # commas - 1 CW~list ~© Lib. mode ~ nO-7 ZW25 12 ZW22 Right level ~ZW22 } No ~ WAI ZW17 } GY10 UP3 UP ZW23 } CA3 ZW4 WA1 UP3 UP ZW4 } E56 # commas - 1 E43 857 1st Superscript Symbol D2 IA Me RP 10010 CA27 CH31 CH22 CA3 CH15 VA5 MelD WA VA6 SY2 SY3 GD21 UP2 0 VA16 MC21 WA SY2 SY3 GE UP2 0 MC27 0 1 2 3 4 5 6 TP TP TP TP TP TP 7 £,oJ 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 RJ TP TP TP TP RJ f'7T MJ TP QJ RJ TP TP TP RJ MJ CA MC2 'I VC 1 VA23 } VA24 VA22 VA15 A Mel7 ~) WAI GD37 GD26 GD27 UP3 UP Clear variables Set POW sequence Set count Set seq. SSe mode =1 I no -?l'viC17 '* E32 MK Q MK } Fixed eq. WAI GE5 GE6 UP3 UP } E33 ~ MK Sequence Loop 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 IT 20 IA RJ RJ TP QJ RA TJ RJ TP RJ RJ TP QJ TP AT TP MH PC SY SY13 MH4 VA22 CH16 WA GE16 UP2 SY SY13 MHll CA36 PDl CG34 TF- MJ CA MH21 PCl SYI Q MJ CA3 MK WAl} UP3 UP SYI ~H14J PeC. Sym.-7A Superscript V no~MJ Count symbols 5 > # sym. ~MK no ~ E34 Sym.~A 5 Superscript No W Set PC with "doesn't matter" :C2 } EW2 CW S¥2' A Sym.~A 0 ZM2 =) ~© 859 ~ #Sym 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 10 11 12 13 14 IA TP AT AT AT 0 TP QJ CA IA SP SA AT AT TJ TP QJ RJ TP RJ TP TP MJ CA MJ CH17 CH21 VA22 CA3 30000 VC ML MJ7 4 ) ~ Sequence TP CG34 VA+ Dec. pt. in seq. ~ Dec. pt. in seq., i.e., not spec. case ~ ] 4 5 6 7 IA TV RA TP QS RP TP RA MJ CA ML no~MM ML VA22 VA22 CA26 EW3 CJ10 F..W4 ML12 WA FI UP2 CJ10 CA24 0 ML15 17 ~A15 A MN Q ML7 WA1 UP3 UP EW3 EW4 MH16 } # sym in seq. ~A~VA15 Add.~A Fit in } } Prey. 1ist~MN print~ML12 F16 Set limit Set indo Seq. Fits in List 0 1 2 3 ~ Not superscript A A A MJ4 30000 Q MM MN EW3 MN5 CG27 VA15 30000 VA23 EW3 0 MN10 MN5 } CA3 Fix address ~4} Set n of repeat MN6 } (30000) VA15 MH16 Seq. ~list Set address. 860 no ~ no + Possible Special Case IA 0 1 TP EJ 2 3 4 5 6 MJ TP TP EJ TP '7 EJ 10 11 12 13 14 15 16 17 20 21 22 23 24 EJ • TU TU TP TP EJ MJ RA RA IJ TP RJ MJ CA MMO VA32 CIO CA27 0 CH37 VA22 CH24 CA3 CH25 CH26 CH27 CH24 (30000) (30000) 0 MM14 MM15 VC1 CH30 EWO 0 MM25 A MM4 VC3 MM5 VC3 ~G > J - ~MM4 Clear VC3 } MP MQ MM14 } MM15 VC1 ~M17 } MLO CH22 CH22 MM14 EW2 ~ EW1 J MH17 } Set VC3 for #. symbols = 3 ~MGO No ~ = l~MPO = 2~MQO 4 ~ Set loop addresses Set index - 1/2~A = ~MM17 ~ ~MLO Modify Return 16100 ~ CW of - 1/2 ~list ~© Two Symbols in Sequence IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 TP EJ MJ TP EJ EJ EJ TP QJ TP RJ TP TJ SP SA AT RJ MJ CA MQ VA32 CI 0 VA33 Cl1 CI3 CI4 SZll MQll MI2 RS2 CH32 RS3 RS3 Ve3 CI5 ~Q3 } ML A MX -~MQ3 No~ML Next sym. MS MV Q ML RS4 } RS A } MW } 0 } o EW2 FlY EWI 0 MQ22 MH16 = 1-7MX ::: 2 ~MS = 3~MV Constant ~ No~ML Convert to octal #. > 77~MW no ~ 13Oxx} 131xx 861 ~list no # 0 1 2 3 4 5 6 7 10 11 12 13 IA TU TO TP TP EJ MJ RA RA IJ TP RJ MJ CA MG CH34 CH27 CH25 (30000) (30000) 0 MG3 MG4 VCI CH33 EW 0 MG14 symbols in sequence = 3 MG3 MG4 } VCl A MG6 ML CH22 } CH22 MG3 EW2 EWI } MH17 # 0 I 2 3 4 IA MP TP EJ EJ EJ MJ CA VA32 Cli CI3 CI4 0 MP5 A MHl6 MS MV MQ7 Set loop addresses Set index = 2 1/2~A = Special case ~MG6 '# ~ML Modify addresses CW ~list ~© symbols = I =l~© = = 2~MS 3~MV ~MQ7 862 Superscript Symbol AT MKO SYll MTO SY2 CG12 CA16 VA22 CH17 A CH35 VA22 CH20 TV A TP MJ CA SY2 0 MK16 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 TP QJ TP EJ TP TP AT TV TP TP " Q } MK2 A MU PC3 A A MKlO (30000) Constant ~MTO no ~ } -~MU No (assume /) Set PC 1J I ~ ~sequence I ~ special sequence A A } MK14 (30000) MH ~get next symbol of sequence Superscript 0 1 2 3 4 5 6 7 10 11 IA MUO TP TP AT CA15 VA22 CH17 A CH36 TV TP TP AT TV TP MJ CA VA.22 CH20 A SY2 0 MU12 Set PC e3 r A } MU4 (30000) A A MUIO (30000) MH - ~ J ~sequence -~specia1 ~return 863 sequence Superscript 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 IA MT TP RJ TP RJ TP TP RJ TP RJ CA14 RB S¥2 SY3 MI MI2 MI3 GG2 GG3 GW TP Q TP VA22 CH17 TP AT TV TP TP AT TV TP TP ZJ TP MJ CA A VC2 VA22 CH20 A GG3 SY6 MT25 CA24 0 Up Constant PC3 RBI MI4 } MI5 MIl GG4 GG5 } GG Set PC Check constant ~Wl Assign CW Lower constant Convert to floating point } Store CW C2 A X } CW ~ sequence A A } Fltpt. const. ~ Special sequence MT16 (30000) MT22 (30000) A MH VC MH } Pt. in sequence Set ind. ~return MT27 Constant = 2 0 1 2 3 IA MS TP AT RJ MJ CA VC3 CI6 EW 0 MS4 A EW2} EWl MH17 CW ----+ 1i s t 864 J no~MH Constant 0 1 2 3 IA TP AT RJ MJ CA =3 MV A VC3 CI7 EW2 EWI MH17 EW 0 MV4 CW~list --+@ Constant 0 1 2 IA MX TP ClIO EW 0 MX3 RJ MJ CA EW2} EWI MH17 I Const. o IA RA MW VA23 CA3 1 MJ 0 ML CA MW2 =1 CW~ list ~© > 77 Change POW to 101 865 Right POW IA 0 1 2 3 4 5 6 7 10 11 TP RJ TP TP ZJ RJ TP TP RJ MJ CA ZR CH37 EWO CA17 VA5 ZR5 WA VA6 GF UP2 0 ZR12 CW~ string EW2 } EWI PC3 Set PC ~Y SSe mode } ~ no~NY WAI } GFlO UP3 UP ZM E35 ~© Not SSe mode IA 0 1 2 3 4 5 TP QJ RJ TP RJ MJ CA NY VA16 NY2 WA GF12 UP2 0 NY6 Q ZM } Floating pt. No + WAI } UP3 UP ZM E36 ~© Right 0 1 2 3 4 5 6 7 10 11 12 13 14 15 IA TP TP RJ TP ZJ TP ZJ RS RS TJ EJ TU EJ MJ CA ZQ CA5 CG34 EWO VA4 FP VA3 ZQ7 VA3 VAl CA3 VA5 VCI0 (30000) 0 ZQ16 PC3 EW2 } EWI ~Q5 } A ZQ10 CA3 CA3 FLO FM ZQ14} FN ZM eq.~ZM ) Set PC CW~string Last raiser I~FP no ~ ( raisers = 0 ~ ZQI0 No ( raisers - 1 Lower level Too low~FLO Leaving Ss. mode ~FMO Leaving Lib.~FNO + ~© 866 Leaving Lib. 0 I 2 3 4 5 6 7 10 11 12 13 L4. TO TP ZJ RJ TO TP TP RJ RS RS RS MJ CA FN VC20 (30000) FN3 WA VC30 (30000) GH UP2 velO VC20 VC30 0 iNl } # FNIO No commas c orrect ~FN10 J WAI FN5 } GH13 UP3 UP _ CH23 } CH23 CH23 ZM E37 Take Lib. off list ~@ FN14 Leaving SSe mode IA 0 1 2 3 4 5 6 7 TP TP ZJ RJ TP TP RJ MJ CA FM CA27 VA36 FM3 WA VA6 GI12 UP2 0 FMIO VA5 A ZM WAI GI17 UP3 UP ZM J Clear SSe mode # SSe correct-+@ No J E40 + --+@ Level too Low o 1 2 3 4 5 6 7 IA FL TP TP QJ RJ TP RJ TP MJ CA CA3 VA ZM WA GI UP2 CA24 o FLIO = VAl Q } FL3 WAI QP3 UP ) VA Set level 0 Previous point --+ZM No ~ ZM ~\0 1 E39 Set ~oint 867 Interlocking ( and IA 0 I 2 3 RJ TP RJ MJ CA FP WA GH24 UP2 0 WAl} E38 UP3 UP ZQIO ~) Section FP4 Right ( 0 I 2 3 4 5 6 7 10 II 12 13 14 IA TP TP ZNO CA4 CG24 RJ TP ZJ RJ TP EW PC3 EW2 EWI VA5 ZN5 ~II } Not Ss. mode SSe mode WAI } E41 TP RJ TP RA RA MJ CA WA VA6 GJ UP2 CA27 VA3 VAl 0 ZNI5 GJIO UP3 UP VA4 CA3 CA3 ZM } } Set PC CW --+string + ~ZNII Clear J level raisers Raise level ~© 868 Right-Constant IA 01 0 1 2 3 4 5 6 7 10 11 12 13 14 TP TP ZJ TP QJ RJ TP RJ TP RJ TP RJ MJ CA ZVO CA6 VA5 ZV5 VA16 ZV5 RD SY2 RS2 RS3 GWO Q EWO 0 ZV15 PC3 A ZV3 Q XCO ROI RS4 RSO ] Set PC SSe mode~ZV5 No ~ J J Fixed eq. ~ no~XCO Check const. Convert to fixed point ~lJ IDV2 £WI J ZM Assign CW CW~ string-out ~----;'list } Floating Point Constant 0 1 2 3 4 5 IA RJ TP TP RJ TP MJ CA XCO RBO SY2 SY3 GG2 GG3 0 XC6 ~~!} GG5 GGO A ZVll Check const. Convert to fltpt. Const. 858 ~A err. #1 Right - Yare - Before C9 0 1 2 3 4 5 6 IA TP ZJ RJ MJ TP RJ TP 7 ZJ 10 11 12 13 14 15 16 17 20 21 22 23 TP QT EJ TP QJ RJ TP TP TP RJ TP MJ CA ZT VO A XD Z1'"2 TU TOl XE EW2 EWI A 0 TU3 EW VA5 ZTI0 TU3 CG17 CI25 SY10 ZT22 WA SY2 VA6 ER UP2 CA6 0 ZT24 1 ) } } Before ~ZT2 After --+XD =0 Not in Ftn. list---+XE In i CW --+ string XF Ss. mOde! Q A XG Q ZT15 CW~A } WAI } ER6 ER20 UP3 UP PC3 ZM no~XF 75xxx ....-+XG no ~ Assume 62xxx IJKLM ~ZT22 no ~ E21 Set PC ~© Right - In Ftn. list SSe mode 75xxx IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 TP RJ RJ TP TP TP RJ RJ EJ MJ TP RJ RJ MJ MJ CA XG CA7 PC WA SY2 VA6 EP22 UP2 SY CA30 0 GP17 UP2 FV 0 0 XG17 PC3 } PC1 WAI '" EP30 } EP41 UP3 UP SY1 XG12 ZM3 UP3 UP FV1 YV ZM1 ~PC E20 Sym~A (©XG12 ~C } no ~ "SSe not checked" delete SSe II • ~@ ~© 869 Not SSe mode-in Ftn. list 0 1 2 3 4 5 6 7 10 11 12 IA XF TP TU3 CG17 CI25 SYI0 XF5 WA SY2 ER22 UP2 CA6 0 XF13 QT EJ TP QJ RJ TP TP RJ TP MJ CA Q A xxOOO } ~A no 75xxx~XlI ~11 } IJKLM ~ no ---;.XFll WAl} ER27 E22 UP3 UP PC3 ZM Set PC ~© 75xxx 0 1 2 3 4 5 6 IA TP RJ RJ EJ RJ TP TP 7 RJ 10 11 TP MJ CA XlI CA7 PC SY CA30 WA SZ2 EX UP2 SY2 0 XH12 1 2 3 4 5 6 IA TP TP TP TP TP RJ MJ CA PC Do PC3 } PCl SYI XI Sym~A (~XI WAl} EX6 E23 UP3 UP A ZM3 no ~ iym@)' A C ~ 75xxx 0 ( XI CA4 VAl SZ2 CA27 CG24 EW 0 XI7 + XlI PC3 VA5 } VA6 VA36 EW2 } EWI ZNll Set PC Set SSe mode Clear # commas CW~list ----;. (~® 870 Right-Before-Var. Not in Ftn. list 0 1 2 3 4 5 t.. V 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 IA RJ MJ TP RJ XE TA 0 TA4 EW CA6 VA16 TAl } XQ EW2 } EW1 PC3 Q {\T XE7 XR TP TA4 CG17 CG17 CA33 CA31 CA25 CA20 PC WA SY2 EL UP2 SY CA30 0 GP UP2 FV 0 0 XE33 Q A XT TP TP 'l'" QT EJ EJ EJ EJ 'IP RJ RJ TP TP RJ RJ EJ MJ TP RJ RJ MJ MJ CA Not in CB Set PC Not fixed ..... • • I I' lxea ~ J> 77xxx~ 66xxx~ 65xxx~ XV XW ZM PC3 PC1 } WAl} EL4 UP3 UP SY1 XE26 ZM3 UP3 UP FV1 YV ZM1 } IA WA TP TP SY2 RJ MJ CA EL12 UP2 0 XW5 WAI } EL17 UP3 UP ZM XT XV Sym~A (-- XE@; No~C "Args not checked" D.31ete LIB a.~ ~C XW RJ eq.~XR XW 64xxx~© 5xxxx ~ Do PC E13 65xxx 0 1 2 3 4 List~XQ CW~list E14 ~® 871 in J 66xxx IA xv 2 RJ RJ o TP 3 TP CAI0 PC WA SY2 4 TP EM 5 RJ RJ EJ MJ TP RJ RJ UP2 SY CA30 0 GP UP2 1 6 7 10 11 12 13 14 15 MJ MJ CA FV 0 0 PC3 } PCl WAI EM3 } UP3 UP SYI PC Do E15 Sym~A (~XVII ~© XVII ZM3 UP3 } UP FVI YV ZMl no ~ "Args not checked" n.~lete ~. 6. ·--+8 ~© XV16 77xxx 0 1 2 3 4. 5 6 7 10 11 12 13 14 15 IA TP RJ RJ TP TP RJ RJ EJ MJ TP RJ RJ MJ MJ CA XT CA7 PC WA SY2 EMIl UP2 SY CA30 0 GP17 UP2 FV 0 0 PC3 } PCl Do PC WAI EM17} UP3 UP SYI XTll ZM3 UP3 } UP FVl YV ZMl E16 Sym~A (--CS No~ I C -S5. not checked" Delete ~. tJ. • ~ C2 ~C XT16 872 Var. Before - In CB List Floating Point Equation IA XR 0 1 TP ZJ 2 TP 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 QT EJ VA5 XY TA4 CG17 CG17 CA33 CA31 CA25 CA20 PC TA4 CI31 CH25 SY CA30 SZ2 WA EJ EJ EJ TP RJ TP QT TJ RJ EJ TP RJ TP RJ TP MJ CA EN UP2 SY2 0 XR25 A XR2 Q A Xl HC ZM HF PC3 PC1 J 1 J IA TP RA TJ RS RJ TP TP RJ RJ MJ MJ CA HG VAl VC20 CI33 VC20 WA SZ2 GM11 UP2 FV 0 0 HG13 64xxx~ 5xxxx # + HF pair check operands = 1~~ ~ No (~HG J no ~ E17 Sym~A ~~ VA12 ~3} CH23 WAl} GM25 UP3 UP FVl YV ZM1 A 77xxx-+ XZ 66xxx~ HC Sym~A Lib. 0 1 2 3 4 5 6 7 10 11 12 xxOOO~ 65xxx~© ~A13 J ZMl SYI HG EN5 WAI UP3 UP A ZM2 S8. mode-XY No ( Set Lib. Room+for No Add. - 1 Lib.~HH E49 Delete Lib. args 11 ,©C2 ~C 873 Room for Lib. IA lllI 0 TV 1 TP ST A VA13 CA3 VCI0 A VA12 VC30 A SZ2 0 HH12 2 3 4 5 6 7 10 11 RA TV TP RA TV TP MJ CA HH2 ~30000) } # CH23 HU5 } (30000) CH23 HUI0 } conunas---;.list Lib. level~list XS3 of Lib.~list (30000) ZN ~( section 64xxx 0 1 2 3 4 IA RJ TP TP RJ MJ CA HF WA SY2 EK20 UP2 0 HF5 WAl} EK25 UP3 UP ZM E12 ~© Floating Pt. Eq. Right 66xxx IA 0 1 2 3 4 TP RJ RJ EJ MJ CA HC CAIO PC SY CA30 0 HC5 PC3 } PCl SYI WD ZM3 i Pair check Sym~A (~WD ~@ 874 no ~ ~ 77xxx 0 1 2 3 4 5 6 7 10 11 IA Xl IP RJ RJ EJ RJ IP CA7 PC SY CA30 WA SZ2 EN22 UP2 SY2 0 Xl12 TP RJ TP MJ CA Pair check PC3} PC1 SY1 HK Sym-+A WAI EN30 K18 UP3 J (~HK UP A ZM3 Sym~A ~® 77xxx 0 1 2 3 4 5 6 7 10 IA HK TP TP QT ST TP TP TP RJ VAl TA5 CA2 CA3 SZ2 CA4 CG24 EW 0 HK11 MJ CA no ~ VA5 } t36 VA6 PC3 KW2 } EW1 ZN11 ( Set Ss. mode Ss. - 1~VA36 Store XS3 of variable Set PC (~ list ~(~© 875 SSe mode - Right - In CB List 0 IA TP 1 QT 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 EJ EJ EJ EJ TP RJ RJ TP TP TP RJ RJ EJ MJ TP RJ RJ MJ MJ CA XY TA4 CG17 CG17 CA33 CA31 CA25 CA20 PC WA SY2 VA6 EJ UP2 SY CA30 0 GP25 UP2 FV EJ13 UP3 UP SYI XY20 ZM3 UP3 ] UP FVl 0 YV 0 XY25 ZMl Q A } xxOOO~ A HL 77xxx~ HL lIM 66xxx-+ lIM HN 65xxx~ lIN ZM PC3 PCl } 64xxx~© 5xxxx ~ Do pair check WAI EJ4 } E9 Sym--+A (~XY20 ---+@ IA TP CA6 PC3 RJ WA TP SY2 VA6 ER UP2 0 HN7 WAl} ER6 TP TP De~~ Lib. ~C RJ MJ CA HN ER20 UP3 UP ZM ~ "Args not checked" 65xxx 0 1 2 3 4 5 6 no Set PC E21 ~@ 876 66xxx 0 1 2 3 4 5 6.., , 10 11 IA JIM TP RJ RJ TP CAIO PC WA 5Y2 VA6 EJ15 UP2 PC3 } PCl Do PC WAI EJ20 } EJ25 UP3 UP EI0 SY SYI Sym CA30 0 HM12 WD ZM3 ~@ TP TP RJ RJ EJ MJ CA ~A (~WD I no + 77xxx 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 IA HI... TP RJ RJ TP TP TP RJ RJ EJ CA7 PC WA 5Y2 VA6 E120 UP2 SY CA30 0 GP17 UP2 FV 0 MJ TP RJ RJ MJ MJ CA 0 PC3 } PCl Do PC ~~~6} EI35 E8 UP3 UP SYI HL12 ZM3 UP3 UP FVi YV ZMl Sym~A (~HLI2 ~@ } no ~ "Ss. not checked" "'"'" .... uele,&e .,~ 8.. ----+ C2 - ----+@ HL17 877 ~- Variable Right - Before Not in Ftn. or CB Lists 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 IA XQ RJ RH TP CA27 TP CA26 TP SY2 TP VA16 QJ . HQ TP VA5 ZJ XQlO TP SYlO QJ XQ12 RJ TK AT CA25 TP A RJ EW RJ TE TP CA6 MJ 0 CA XQ21 RHI TF3 TF TFI Q XQ6 A HR Q HS TKl TF2 EW2 &WI TEl PC3 Check symbol Set to add to CB List } Fixed ~HQ No ~ Not Ss.~HR SSe ~. Not IJKLM~HS Yes t CW = 64xxx } } } } } CW~list Fi Ie --->CB List Set PC ~© ZM Not IJKLM 0 1 2 3 4 5 6 7 10 II' 12 13 IA HS RJ TP TP WA SY2 VA6 EK UP2 TP RJ RJ AT TP RJ RJ TP MJ CA 1K CA3l A EW TE CA6 0 HS14 WAI EK6 } EK16 UP3 UP TKl EW2 } TF2 EWI TEl PC3 ZM Ell Assign 65xxx CW CW --;..list file~CB set@) ~C 878 List Not Ss. Mode IA HIl CA6 SYIO HU TP TP QJ RJ AT TP RJ TK 7 RJ TE 10 MJ 0 HIll 1 0 1 2 3 4 5 6 CA CA3'! A EW PC3 Q HIl3 TKl TF2 EW2 EWI TEl '\ j } } ZM Set PC IJKLM-;.HU No ~ 65xxx CW CW ~list File -+CB List ~© IJKLM 0 1 2 3 4 5 6 7 10 11 12 IA HU RJ TP TP RJ RJ WA SY2 EK20 UP2 AT CA25 A EW TE CA6 0 HU13 TP RJ RJ TP MJ CA TK WAI } ER25 UP3 UP TK1 } TF2 EW2 } EW1 TEl PC3 ZM E12 Assign 64xxx CW CW~list File ~CB List Set PC ~© Fixed Equation o 1 2 3 4 5 6 IA TP QJ RJ TP TP RJ HQ SYlO XQll WA SY2 EL12 UP2 MJ o CA HQ7 IJKLM~XQll No ~ E14 ~65xxx 879 CW Right-After-Var. In P.Op. List 0 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 RJ MJ TP RJ TP TP QJ TP ZJ TP QI EJ EJ TP RJ RJ EJ RJ TP TP RJ TP MJ CA XD TS 0 1'53 EW CA6 VA16 HW VA5 HX IS3 CG17 CG21 CG22 CA7 PC SY CA30 WA SZ2 EP UP2 SY2 0 XD27 1'51 HV EW2 EWI PC3 3 J ~] ~IIJ J Q A HY HZ PC3J PCI SYI NA J UP3 WAI EP6 UP A ZM3 Not in P.Op. list ~ HV In + CW ----;.. string Set PC Fixed eq. No ~. SSe mode ---+HX No ~ xxOOO~A 6Ixxx~HY 63xxx~HZ 76Yxx Dope IA IP QT LQ TP ST IP IP IP RJ TP MJ CA NA TS3 CG25 Q Q CA3 VAl SZ2 CG24 EW CA4 0 NA13 Q Q 36 + Sym~A (~NA no ~ E19 Sym~A --+@ 76Yxx 0 1 2 3 4 5 6 7 10 11 12 ~HW } ~A36} VA5 } VA6 EW2 } EWI PC3 ZNll ( #Ss.~Q # commas -->VA36 Set SSe mode ( CW~list Set PC ~ 880 (--+@ 63xxx 0 1 2 3 4 5 6 IA HZ TP QJ RJ TP TP RJ MJ SYIO HZ2 WA SY2 EI UP2 0 £"11. vl'1. HZ7 J Q ZM WAI EI5 UP3 UP ZM IJKLM ~ no-;.@ } E1 ----=-(0 61xxx IA 0 I 2 3 TP RJ RJ EJ 4 MJ CA BY CAI0 PC SY CA30 0 HY5 PC3 PCI SYI WD ZM3 } Do PC Sym~A (~WD ~© no SS Mode IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 TP QT EJ EJ TP RJ RJ TP TP TP RJ RJ EJ MJ RJ MJ HX TS3 CG17 CG2I CG22 CA7 PC WA SY2 VA6 EH UP2 SY CA30 0 FV 0 MJ 0 CA HX21 Q A NB NC pe3 PCl WAI EH6 ? xxOOO~A ) J j EH20 UP3 UP SYI HX16 ZM3 FVl YV ZMl 61xxx~NB 63xxx~NC 76Yxx J, Do PC E5 Sym~A (-+HX16 ~© Delete SS ~ ~® --+© 881 ~ Fixed Equation IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 TP QT EJ EJ TP RJ RJ TP TP RJ RJ EJ MJ TP RJ RJ MJ MJ CA HW TS3 CG17 CG21 CG22 CA7 PC WA SY2 EF16 UP2 SY CA30 0 GPI0 UP2 FV 0 0 HW22 Q A NO NE PC3 PCl } xxOOO-+ A 61xxx-+ NO 63xxx~NE 76Yxx , Do PC } WAI } EF24 UP3 UP SYI HW15 ZM3 UP3 UP FVl YV ZMI E2 Sym----+A (~HW15 } ~© "Ss. not checked" Delete ~ ~ ,,--+ -+@ C2 6 I xxx IA 0 I 2 3 4 5 6 7 10 TP RJ RJ TP TP RJ RJ EJ MJ CA NO CAIO PC PC3 } PCl WA SY2 WAl} EF4 EF UP2 SY CA30 0 NOll UP3 UP SYI WO ZM3 00 PC El Sym~A (©D ~C 882 no ~ 63xxx IA NE 3 TP QJ RJ TP 4 TP 5 RJ MJ CA SY10 ZM WA SY2 EG UP2 o 1 2 6 IJKLM~© no t E3 0 NE7 SS Mode 63xxx IA 0 1 2 3 4 5 6 7 TP QJ RJ TP TP TP RJ MJ CA NC SY10 ZM WA SY2 VA6 EH22 UP2 0 Q NC2 } IJKIM~© No ~ WAI EH30 } EH42 UP3 UP ZM NC10 E6 ~© 61xxx 0 1 2 3 IA TP RJ RJ TP 4 TP 5 TP 6 RJ 7 RJ EJ MJ CA 10 11 NB CA10 PC WA SY2 VA6 EG20 UP2 SY CA30 0 NB12 PC3 } PC1 Do PC WAI EG24 } EG36 UP3 UP SY1 WD ZM3 E4 Sym~A (~WD ~ 883 Right, After, Yare Not in Pseudo Ope List lA RJ MJ TP 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 HV TA 0 TA4 CG30 CG31 TA4 EW CA6 VA16 NG VA5 NH TA4 CG17 CG17 CA25 CA31 CA33 CA20 PC TA4 C131 CH25 SY CA30 WA S22 EN UP2 SY2 0 HV37 QT EJ TP RJ TP TP QJ TP 2J TP QT EJ EJ EJ EJ TP RJ TP QT TJ RJ EJ RJ TP TP RJ TP MJ CA TAl] NF Not in CS :u ] No EW2 EWI PC3 Set PC J I 2 3 4 IA TP NL RJ RJ EJ MJ CA PC Sy CAIO CA30 0 NL5 in ~ J CW~list Fixed~NG av12 } ~14 ] Q A Nl NJ 2M NL PC3 PCl J UP A 2M3 CW-+A 77 xxx ---+ NI 64xxx~NJ 65xxx~ 1 ~A13J 2Ml SYI HG WAI EN5 UP3 Floating ~ SSe mode~NH No , j 66xxx~NL 5xxxx ~ Do PC CW~A~VAI3 # operands = 1~(f) Sym. ---::. A (~HG no ~ E17 Sym@_A ~C 66xxx 0 List~NF 4xxxx~FU PC3} PCI SYI WD ZM3 Pair check Sym~A (~WD ~© 884 no ~ 64xxx I4. 2 3 RJ TP TP RJ 4 MJ 0 1 CA NJ WA SY2 EK20 UP2 0 NJ5 WAI } EK25 UP3 UP E12 ~© ZM 77xxx 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 IA NI TP RJ RJ EJ RJ GA7 TP TP RJ TP MJ TP TP TP Q.T ST TP RJ TP MJ CA PC SI CA30 WA SZ2 EN22 UP2 SY2 0 VAl SZ2 TA5 CA2 CA3 CG24 EW CA4 0 NI23 Do PC PC3 } PCl SYI NI12 Sym.~A (~NI12 WAI } EN 30 UP3 UP A ZM3 VAS } VA6 ~A36 EW2 EW1 PC3 } no '" EI8 Sym~A ~© Set Ss. mode Ss. - 1 - + storage (~1ist } Set PC ~ ( section ~ ZN11 885 © SSe Mode 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 IA TP QT EJ EJ EJ EJ TP RJ RJ TP TP TP RJ RJ EJ MJ TP RJ RJ MJ MJ CA NH TA4 CG17 CG17 CA25 CA31 CA33 CA20 PC WA SY2 VA6 EJ UP2 SY CA30 0 GP25 UP2 FV 0 0 NH25 Q A } xxOOO--+ A NK ZM NP NS PC3 PC1 77xxx~ NK 64xxx~@ 65xxx~ NP 66xxx~ NS 5xxxx , } Do PC WAI EJ4 } EJ13 UP3 UP SYI NH20 ZM3 UP3 UP FVl YV ZMl E9 } Sym.--+A (---+ NH20 no. --+@ "Args not checked" Delete Lib. fl ~YV ~© 66xxx IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 TP RJ RJ TP TP TP RJ RJ EJ MJ TP RJ RJ MJ MJ CA NS CAI0 PC WA SY2 VA6 EJ15 UP2 SY CA30 0 GP UP2 FV 0 0 NS17 PC3 } PCl Do pa i r check WAI} EJ20 EJ25 UP3 UP SYI NS12 ZM3 UP3 UP FVl YV ZMl EI0 Sym~A (~NS12 ~© no • "Args not checked" Delete ~uments /1, --+C ~@) 886 65xxx RJ TP TP NP WA SY2 VA6 TP EK RJ MJ CA UP2 IA 0 1 2 3 4 5 0 WAl} EK6 EK16 UP3 UP ZM NP6 Ell -+@ 77xxx 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 IA NK TP RJ RJ CA7 PC WA SY2 VA6 EI20 UP2 SY CA30 0 GP17 UP2 FV 0 0 NK17 TP TP TP RJ RJ EJ MJ TP RJ RJ MJ MJ CA PC3 } PCl Do PC WAl EI26 } EI35 UP3 UP SYI NK12 ZM3 UP3 } UP FVl YV ZMl E8 Sym~A (~NK12 ~© no "S5. not checked" Delete @ ll.~C ~© 887 ~ Fixed Equation 0 IA TP 1 QT 2 3 4 EJ EJ EJ EJ TP RJ RJ TP TP RJ RJ 5 6 7 10 11 12 13 14 15 16 EJ MJ CA NG TA4 CGl7 CGl7 CA33 CA3l CA25 CA20 PC WA SY2 EL UP2 SY CA30 0 NG17 Q A NN NV } NW ZM PC3 } PCl WAI EL4 UP3 UP SYI NX ZM3 xxOOO~ 77xxx-+ NN 66xxx-+ NV 65xxx -+ NW 64xxx~@ 5xxxx Do PC E13 Sym~A (~NX IA TP RJ RJ MJ MJ CA NX GP UP2 FV 0 0 NXS UP3 UP FVl } YV ZMl 0 1 2 3 4 IA NW WA SY2 ELl2 UP2 0 NW5 TP TP RJ MJ CA WAl} EL17 UP3 UP ZM V ( "Args not checked" Delete ~. /1. ~ C2 ~© 65xxx RJ no ---+@ 5xxxx 0 1 2 3 4 A E14 --+@ 888 66xxx 0 1 2 3 4 5 6 7 I 10 11 12 13 14 15 IA TP RJ RJ TP TP RJ RJ EJ MJ TP RJ RJ MJ MJ CA NV CA10 PC WA SY2 EM UP2 SY PC3 ) PC1 j Do PC WAl} EM3 E15 CA30 NVll 0 GP UP2 FV 0 0 NV16 ZM3 UP3 } UP FV1 YV ZM1 UP3 UP SY1 Sym~A (~NVll ~© =:g "Args not checked" args 77xxx IA 0 1 2 3 4 5 6 7 TP RJ RJ TP TP RJ RJ EJ NN CA7 PC WA SY2 EMIl UP2 SY CA30 PC3 PC1 EM17 UP3 UP SY1 NN11 lY1~ 0 LtlYl.) 11 12 13 14 15 TP RJ RJ GP17 UP2 FV 0 UP3 UP FVl YV ZM1 0 NN16 E16 Sym.~A (~NN11 -~ ~~ P7l1.n 1I.T CA Do PC WAI } 10 MJ MJ } } no ~ "SSe not checked" Delete SSe fl. ~® ~© 889 Right, After, Not in P.Op. list 4xxxx IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 TP RJ RJ TP TP RJ RJ EJ MJ TP RJ RJ MJ MJ CA FU CA6 PC WA SY2 GQ21 UP2 SY CA30 0 GP26 UP2 FV 0 0 FU16 PC3 PC1 } Do PC WAI } GQ27 UP3 UP SYI FUll ZM3 UP3 UP FV1 YV ZM1 E51 Sym.~A (~FU11 -?@ } no + "Operands not checked" Delete operands ~B Yare - Right - After Not in P.Op. List Not in CB List IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 RJ TP TP TP TP TP QJ TP ZJ TP QJ RJ NF RU CA26 SY2 CA27 CA6 VA16 NZ VAS FJ SY10 FK TK AT CA31 RJ TP RJ MJ CA EW EW2 TE 0 NF21_ RU1 ~l } Check Yare sym. Set to add to CB List TF3 PC3 Q NF7 A NF11 Q NF13 TK1 EW2 EW1 TF2 TEl ZM Set PC Fixed eq.~NZ No t SSe mode -+FJ No it IJKLM --+ FK No , Increase CW 65xxx CW~list ~CB --+© 890 List Not SS mode - IJKIM TA ..LJ'\ 0 1 2 3 4 5 6 7 10 11 RJ l'P TP RJ RJ AT lP RJ RJ MJ CA FK WA SY2 EK20 UP2 TK CA25 A WA1} EK25 Increase CW counter 64xxx CW~list EW21 TF2 EW EWI TE TEl ZM 0 E12 UP3 UP TKl J CW~CB ~© FK12 list Ss. Mode IA 0 1 2 3 4 5 6 7 10 TP QJ RJ TP TP RJ MJ TP MJ CA FJ SYI0 FK4 WA SY2 EK UP2 0 VA6 0 FJll ~J2 } WA1} EK6 IJKIM~FK4 No f Ell IJP3 UP NFl3 EK16 FJ2 Fixed Equation 0 IA TP 1 2 3 4 QJ RJ 5 RJ 6 TP TP MJ CA NZ SYIO FK4 WA SY2 EL12 UP2 0 NZ7 ~2} WA1} EL17 IJKIM-FK4 No V E14 UP3 UP NF13 891 A· ® 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 IA TP YV CG16 RJ EW TP QJ RJ TP VA7 YV4 VA37 YV6 TE VA14 EJ CA3 RJ WA TP GK ZJ TP RJ TP EJ RJ TP RJ TP EJ RJ TP RJ TP UP2 VAl CA3 WA GK10 UP2 VA2 CA3 WA GL UP2 CA22 RJ PC TP EW3 CA2 CKII CA3 QT ST AT RJ MJ CA SS 0 EW2 EW1 A YV7 Q YV7 TEl } } } C.W. ~list Ftn. + ~YV7 Not in CB List ~ in ~ YV7 Add to list ~14 } WAI } no # = 's = 1~YV14 no UP3 UP E44 ~2l } On ( level zero ~YV2l No ~ WAI } UP3 UP ~26 } WAI } UP3 UP PC3 } PCl Q A A WL SSI FR } E45 On No I level zero~YV26 ~ E46 ~PC Word count ~ WL Send S.O. to taoe Exi t~ Control YV36 892 ~ Equation Translation Error Prints Region Error Numbers E1,E2 E3,E4 E5,E6 E7,E8 E9,E10 EF EG EH E1 EJ EK Ell.E12 &13,&14 E15,E16 E17,E18 E19,E20 E21,E22 E23,E24 E25,E26 E27,E28 E29,&30 E31"E32 E33 tE34 &35,E36 E37 t&38 E39. E40 &41.E42,E43 E44,E45 E46,&47 E48,E49 Suffixes of error prints E50.E51 &52 &53 ,E54 •£55 &56,&57 &58 EL EM EN EP ER EX GA GB GC GD GE GF GH G1 GJ GK GL GM GP GQ FQ GV GY GZ 893 Error Prints for Equation Translation El E2 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 IA EF 40 31 51 25 0 01 25 54 47 50 01 01 01 34 40 65 34 70 46 25 0 01 25 01 01 24 47 01 01 01 34 CA EF1 67502 50016 51462 0 21011 01525 24470 47734 01010 31347 52513 30536 51502 EF17 67256 52663 24543 30016 51462 0 21011 01010 01010 52545 47012 73430 31347 52513 30536 51502 EF37 15 66634 57347 10177 0 76567 45132 12767 30134 10101 23027 45066 72466 27777 20 52654 02701 42425 57347 10177 0 76567 10101 10101 13254 76747 13450 23027 45066 72466 27777 F U N C T I 0 N 6. S Y M B 0 L t 6. 77 Sym. l:l ,6. ( S U 6. P R 0 G R A M l:l D U M M Y ) 6. I N 6. 6. lJ.lJ.6. l:l F I X E D 6. P 0 I N T 6. E Q u A T I 0 N 77 77 B . S I U P V A L E B 0 B S C R T E D l:l R I A B 6. S y M L t l:l 77 Sym. l:l B II 6. A M 6. fj, 6. I 894 , II ( S U l:l 6. lJ. II II II llfj,6.6. P R 0 G R M 6. D U M Y ) II I N F I X E D P 0 I N T E Q U A T 0 N 77 77 . lA E3 E4 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 31 50 50 34 01 0 01 25 54 01 67 34 30 50 24 40 31 51 25 0 01 25 54 47 01 01 01 54 51 0 22 CA EG EG1 46512 32015 66017 24254 77777 0 21011 01525 24470 01010 47477 50013 27015 66013 66345 EG21 67502 50016 51462 0 21011 01525 24470 47734 01010 24475 65672 34526 31017 0 77777 EG4Q 17 46634 25134 02454 63021 77777 0 76567 45132 10101 10127 34301 13472 25034 05367 15022 17 66634 57347 10177 0 76567 45132 12767 30101 10101 15032 56526 66501 77777 0 77777 F L 0 A T I 1\1 11 G ~ 0 .L n V T ~ N T ~ V A R r A B L E ~ . 77 77 77 77 77 Yare !:l , ~ ~ ~ ~ !:l ( S U B !:l p R 0 G R A M ~ ll~ U I 1\ D M M Y ) ~ N II F I X E D II p 0 I N T II E Q U A T I 0 N . F 0 U N B 0 C T I M L , /). 77 ~ ( S u N A S y Sym. ~ t B tl p R 0 G R A M tl D U M M Y ) !:l tl ~llll!:l!:l!:l II A M 0 N !:l S U B S R r p T S 0 F !:l 77 77 G C II 77 Sym. 77 77 77 77 77 . 895 IA E5 0 1 2 3 4 5 6 7 E6 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 40 65 34 70 46 25 0 01 25 01 01 24 47 51 25 66 0 22 40 31 50 50 34 01 0 01 25 54 01 67 24 65 34 31 0 22 CA EO ED1 67256 52663 24543 30016 51462 0 21011 01010 01010 52545 47012 73430 50320 65265 65015 0 77777 EH23 46512 32015 66017 24254 m77 0 21011 01525 24470 01010 47477 47515 67256 52666 01777 0 77777 ED44 21 52654 02701 42425 57347 10177 0 76567 10101 10101 13254 76747 12447 16567 43452 13101 0 77777 21 46634 25134 02454 63021 77777 0 76567 45132 10101 10127 34301 03201 52654 50151 77777 0 77777 S U B I P T V A R L E ~ B 0 L Sym. l:l , i::l B l:l l:l ~ ~ S D /J. l A B S Y M • l:l 77 ( S U ~ ~ ~ l:l ~~l:l~ P R 0 A M l:l D M Y ) l:l 0 N G l:l B S C R T S ~ o Sym. 77 77 77 . C R E G R U M A M S U I P F ~ 77 77 L 0 A T I G ~ P 0 I N T ~ V A R I A B L E , 11 77 77 77 77 77 Yare ~ • tl ( S U B ~ P R 0 G R A M ~6.6. ~ ~ l:l II l:l D U M M Y ) ~ A M 0 N G l:l s U B S C R I P T SAO F II 77 77 77 77 Sym. 77 77 77 77 77 F N . 896 E7 E8 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 IA 40 31 52 70 46 0 01 25 54 01 01 73 31 50 50 24 40 65 34 70 46 25 0 01 50 01 01 54 51 0 22 CA EI Ell 34723 51345 24543 30210 0 21011 01525 24470 01010 01276 43013 46512 32015 66013 66345 EI21 67256 52663 24543 30016 51462 0 21012 32010 01010 65672 34526 31017 0 77777 EI37 17 02701 06601 42425 17777 0 76567 45132 10101 10101 74747 45001 46634 25134 05367 15022 16 52654 02701 42425 57347 10177 0 44751 10101 10101 56526 66501 7.7777 0 77777 I X E Of:::" P 0 I N T f:::" V A R I A B f:::" 77 77 L E Var. F f:::", B f:::" ~ p ( S R 0 U G R A M ~llll 6.6.~~~1l ~ ~ DUM M Y ) Ll I N Ll F L 0 A T I N G ~ P 0 I N T Ll E Q U A T ION U B S I P T E V A R I L E l:l S B 0 L , Var. Ll • Ll A N G f:::" ~ ~ II f:::" f:::" II S U B R I P T o F II 77 Var. 77 77 77 S . 897 . C R D Ll A B Y M Ll 77 M 0 Ll II f:::" f:::" S C S Ll 77 77 77 77 E9 EI0 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 IA EJ 40 46 73 34 0 01 50 65 65 01 01 0 22 40 31 51 0 01 50 65 65 0 22 EJ1 34255 01545 50302 0 21012 32016 26543 01513 01010 01017 0 77777 EJ16 67502 50210 0 21012 32016 26543 01513 CA 0 77777 EJ27 14 46766 16766 10177 0 44751 56725 45266 10101 10101 77777 0 77777 11 66634 17777 0 44751 56725 45266 10177 0 77777 L I 8 R A R Y ~ R 0 U T ~ 77 I N E Sym. ~ A M 0 ~ N G• ~ S U 8 S C R I P T S ~ 0 F ~ ~ ~ 6- II II ~ ~ ~ll~ 77 77 77 Sym. 77 77 77 77 77 . FUN C T I 0 N ,~ 77 77 Sym. ~. ~ A M 0 N G ~ S U B S C R I P T S l:l 0 F l:l 77 Sym. 77 77 77 77 77 . 898 Ell El2 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 IA 40 31 50 50 34 01 0 01 50 01 01 67 52 01 0 22 40 31 52 70 46 0 01 31 50 50 01 66 CA EK EK1 46512 32015 66017 24254 77777 0 21012 32010 01010 01010 25652 66650 77777 0 77777 EK21 34723 51345 24543 30210 0 210.13 46512 32015 66010 01305 34515 EK34 17 46634 25134 02454 63021 77777 0 44751 10101 10101 10165 65434 15131 77777 0 77777 13 02701 06601 42425 17777 0 45001 46634 25134 10101 36724 02277 F L 0 N G ~ N T !J. I ~ A T I P 0 I v A R A B L E • 77 77 77 77 77 Var. ~ , N G ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ A M 0 ~ ~ ~ l:l l:l S U B S C R I P T S ~ 0 F 77 77 77 77 77 Sym. 77 71 77 77 77 ~ . I X E D ~ P 0 I N T ~ V A R I A B F L E ~ 77 77 Var. , ~ I N ~ F L 0 A T I N G ~ P 0 I N T ~ ~ ~~ ~ ~ E Q u A T I 0 N 77 ~ . 899 El3 El4 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 IA 40 46 73 34 0 21 34 51 53 50 40 31 50 50 25 0 01 31 52 01 01 34 CA EL ELI 34255 01545 50302 0 01345 72302 34506 67246 22777 EL13 46512 32015 66016 51462 0 21013 34723 51345 01010 30536 51502 EI26 11 42454 16766 10177 0 00131 70152 60130 63451 77777 13 46634 25134 57347 10177 0 45001 02701 06601 10101 72466 27777 L I y ~ I N Sym. l:l. t I X 0 I Q U N . B R A R 0 U T E ,tl 77 R I N l:l. E D l:l. N T II A T I 77 77 77 F P E 0 77 F L 0 A T I N G ~ P 0 I N T ~ S Y M B 0 L l:l. 77 Sym. l:l. t l:l. I N l:l. F I X E D ~ P 0 I N T ~ II ~ II II ll~ II E Q u A T I 0 N 77 77 . 900 E15 E16 IA 40 EM 0 1.L '-'.L ~1 67502 50210 0 21013 34723 51345 53672 50227 EM12 67256 52663 24543 30016 51462 0 21013 34723 01010 52513 30536 51502 006 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 51 0 01 31 52 30 51 40 65 34 70 46 25 0 01 31 01 01 01 34 CA EMI 10 66634 17777 0 45001 02701 06601 46634 77777 F U N C T 0 N Sym. 6. I N 6. X E D 6. P 0 I N T 6. E Q u A T I 6. • F I 0 N 14 52654 02701 42425 57347 10177 0 45001 02701 10101 45066 72466 27777 I , 6. 77 77 . 77 77 77 S U B S C R I P T E D 6. V A R I A B L E 6. S y M ~ 77 B 0 L Sym. ~ F • I ~ X ~ ~ ~ ~ p 0 ~ E Q I 901 0 N I E N II D ~ ~ ~ 6. I T T u . N A 77 77 E17 E18 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 IA EN 40 46 73 34 47 0 01 33 01 01 51 32 21 31 30 51 24 30 40 65 34 70 46 25 0 01 01 01 01 71 01 30 30 34 EN1 34255 01545 50300 24514 CA 0 21017 01475 66332 01010 50300 67473 01505 51464 27012 52305 54305 65346 EN23 67256 52663 24543 30016 51462 0 21015 01010 01010 31514 30270 24500 50015 50663 65227 EN42 21 42454 16766 16573 62101 0 13466 15430 45001 10101 12454 05066 16601 65171 57301 00152 06633 52277 17 52654 02701 42425 57347 10177 0 05166 10101 10101 64651 12573 15152 22454 33065 77777 L I Y ~ I N M B Sym. B R A R R 0 U T E ~ S y 0 L ~ ~ ~ T , H II ~ T ~ll6. 0 G N U W I M 0 R E H A Nll 6. E 6. M E ~~ A R N T 6. N 0 T 6. F 0 L L 0 W t E D ~ B Y ~ 0 P E N 6. P A R E N T H E S I S . S I U B T S C R E D 6. P 77 V A R I A B L E 6. S Y M B 0 L , . 6. 77 Sym. 6. , fl 6. 6. 6. N 0 T ~ 6. II ~6.6.6.6.6. 6. F W E 0 L L 0 D 6. B Y A N 4. 0 P E N 6. p A R E N T H E S I S 77 77 77 ~ . 902 E19 0 1 2 3 E20 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 IA EP 40 65 34 70 46 25 21 01 24 01 43 31 30 24 50 50 65 40 65 34 70 46 25 0 01 50 01 01 43 32 26 01 EP1 61256 52663 24543 30016 51462 0 01176 52545 47010 27674 01505 51464 27012 50015 01522 66333 22777 EP23 67256 52663 24543 30016 51462 0 21011 26663 01010 27674 01244 01656 54345 51310 21 52654 02701 42425 57347 10177 0 56725 13254 10101 74773 16601 65171 57301 15230 45430 06534 77777 20 62654 02701 42425 57347 10177 0 73167 45150 10101 74773 75150 72565 26665 17777 0 0 0 22 77777 EP43 77777 0 CA S U B S C I P T E D V A R I A L E !:l S Y B 0 L , !:l R ~ B M 77 Sym. t !:l Llp ( S R 0 B G R U A M ~ ~ ~ l:l !:l D U M M Y ) !:l N 0 T !:l F E A N N S 0 L D !:l N !:l !:l P T . L 0 W B Y !:l 0 P E A R E E S I 77 77 77 77 H S U B S I P T E V A R I L E !:l S B 0 L , C R D !:l A B Y M !:l 77 Sym. !:l , !:l ( N C T I !:l!:l~ ~ F U 0 N !:ll:l !:l D U M M Y ) !:l A M 0 N G !:l S U B S C R 6 0 I F P T S !:l 77 77 Svm_ -01-- . 903 77 77 77 77 77 E21 E22 IA ER 0 1 2 3 4 5 6 7 10 11 12 13 14 40 31 50 50 34 01 0 01 50 01 01 67 24 ERI 46512 32015 66017 24254 77777 15 65 67256 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 34 31 0 22 40 31 52 70 46 0 01 52666 01777 0 77777 ER23 34723 51345 24543 30210 0 21011 26663 27674 01010 01345 51246 01525 01305 34515 ER41 50 01 43 01 46 32 66 66 CA 0 21011 26663 01010 01010 47477 47515 2.1 46634 25134 02454 63021 77777 0 73167 45150 10101 10127 34301 03201 52654 S0151 77777 0 77777 16 02701 06601 42425 17777 0 73167 45150 74773 10101 00131 63450 13450 36724 02277 F N N I L 0 G II T I::. A B p 0 I I V L A R E , A T I::. 77 77 77 77 77 Sym. II t II N C T ( F U I 0 N II l l l : : . l l l l l l I::. II I::. II II D U M M Y ) II A M 0 N G II S U B S P T I F II C R S 1::.0 77 77 77 77 Sym. . 77 77 77 77 77 F P V 0 I X E D Ll I N T !l A R I A B L E t !:l 77 77 Sym. ~ N • C II ( T F U I 0 N II D U M M Y ) !:l !:l II !:l II ~ II I N II F L 0 G I::. T I::. T 904 A T p 0 E Q I 0 N I I N N U A . 77 E23 E24 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 40 65 34 70 46 25 0 01 50 01 01 43 31 30 24 30 50 65 40 47 33 30 54 53 50 0 22 CA EX EX1 67256 52663 24543 30016 51462 0 21011 26663 01010 27674 01505 51464 27012 50015 01522 66333 22777 EX23 51543 24500 01653 24663 67246 01315 0 77777 EX33 21 52654 02701 42425 57347 10177 0 73167 45150 10101 74773 16601 65171 57301 15230 45430 06534 77777 10 00166 15150 05224 00130 63451 15401 0 77777 S B T S L E l:l B 0 L s U I P V A R C R E D l:l I A B y M , l:l 77 Sym. ~ , ~ ( F N C T I 0 U N ~ {}. l:l l:l ~{}. {}. ) {}. D U M N 0 F 0 L L E D {}. B A N {}. 0 N {}. P A N T S . M Y T {}. 0 W Y {}. P E R E H E S I 77 77 77 77 M 0 R E {}. T H A N !:::. 0 N E {}. S E P A R A T E {}. E Q U A T I 0 N {}. F 0 R ~ Sym. . 905 77 77 77 77 77 E25 E26 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 IA 40 65 46 65 65 30 40 31 51 0 01 46 50 46 01 01 01 01 66 22 66 33 50 01 33 22 CA GA GAl 67523 67516 73472 01515 31662 GA7 67502 50210 0 21015 30316 51660 46517 25730 01010 01515 52245 33306 01015 01513 34650 66305 50516 30264 77777 GA32 5 05431 76501 55146 00146 27777 23 66634 17177 0 15001 62101 13151 13027 12450 10101 23050 43050 53465 43065 10166 16530 02630 60126 53027 77777 S L S S E U P E R U 0 U S Y M B 0 l:1 0 N l:1 F T 77 F U N C T . 0 N ~ F ~ L L 77 I 77 77 Sym. b:- 0 N t L E F T , N 0 T ~ F L L 0 W E b:- B Y b:- A 6 ~ b:- 0 D N b:- b:- b:- b:- ~ 6 fl b:- 0 P E N P A R E N T H E S I S ~ ~ R E S T b:- 0 F ~ T H I S ~ S E N T E N C E ~ N 0 T ~ C ~ . H . 906 C K E D 77 77 77 77 77 E 40 GB GB1 21 46 34255 42454 73 34 47 0 01 31 65 01545 50300 25514 0 21013 34546 73472 16766 16573 62101 0 46501 56601 55146 IA E27 0, 2 3 4 5 6 7 10 ~ 11 E28 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 A, ':t~ 42 T ,. no R .Ii. I R S S T D .1 Sym. ~ t ~ I F S y M /:). /:). /:). /:). S E C E E S ~ T S E C E ~ C 01 01010 10101 /:). 51 31016 30502 01543 51310 65016 30502 51660 26453 GB23 50013 66345 51540 0 34500 01542 01513 70245 01010 01653 50263 01713 01777 0 53050 63022 06566 16633 53050 63001 12633 02722 20 05367 15001 17777 0 16633 45032 10124 47301 10101 05066 00134 33426 77777 0 0 F ~ T N C'\A~C'\~ C'\C'\nC'\ A ~olU~"i U .Ii. 65227 GB43 77777 R S 66 01 01 34 66 50 30 40 24 24 31 0 01 30 30 01 01 01 30 50 33 0 ", V~ 54 CA ~"ia~a 907 J\ R Y ~ R 0 U T I N E ~ S y ~ M B 0 L L E l:l l:l R l:l 0 F ~ ~ B 0 L b. I S ~ T E N N 0 T E C K E D N . T H N l:l H . A N ~ E Q U A T I 0 N l:l F 0 R ~ 77 77 Sym. l:l I N ~ T H E ~ R A N G E fl 0 F l:l A ~ V A R Y ~ 6. l:l ~ ~ ~ l:l ~ S E N E N C E l:l N l:l w H I H ~ 77 77 77 l:l T I C 77 Symbol I\. J\ no r . no r TO' r. J\ .Ii. 77 77 77 E29 E30 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 IA 40 34 46 51 0 01 54 01 67 22 40 47 33 30 26 51 0 21 54 66 01 01 34 0 22 CA GC Gel 46463 01657 46011 0 01170 01463 51310 24663 77777 GC13 51543 24500 01656 54345 50017 0 01245 32674 01513 01016 31675 51500 0 77777 GC31 11 03224 34725 70101 0 13151 03166 13053 45150 77777 16 00166 15150 72565 26601 77777 0 00124 73050 10101 63330 02666 17777 0 77777 I L L E G A L b. S y M B 0 L ~ ( ~ ~ Sym. ~ ~ ) ~ F 0 R ~ L E F T ~ 0 F /). E Q U A T I 0 N 77 77 77 77 77 . M 0 R H A N E l:l S C R I 0 N /:::;. /). T l:l 0 N E U B S P T 6. 77 77 77 Sym. ,l:l A N l:l A R G U M E N T l:l 0 F l:l~ l:l l:l ~ T H E II F U N C T I 0 N ~ 77 77 Sym. 77 77 77 77 77 . 908 IA E31 0, .1 2 3 4 5 6 7 10 11 E32 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 40 46 73 34 47 0 01 46 24 01 24 50 01 67 50 0 22 40 65 26 65 21 0 0 01 50 01 01 01 25 66 0 22 r--~ preceding pseudo I-----:~ operation." Determine 22 __ _ call word of first sentence following sub program heading Set index to # words in DP list Insert this call word at next position in IN List Increa se IN Li st count by one t-----iJ~ No ~ Increment to look at next DP Word ___ 18 List of Error Print-outs Program Entrance Print-out "Sentence_ _ _ _ _ (SUB)" precedes all of these. ZAI No final closing parenthesis. ZBI} and ZGl The number of open parentheses is not equal to the number ZCI Machine or internal error. ZFl Failed to exit. ZHI Parenthetical expression not allowed for the functional of close parentheses. Probably no space period symbol. variable in the Pseudo Op Heading statement. ZII Fixed point operands do not begin with legal characters i.e. (I, J, K, L or M) in the Pseudo Op Heading. ZJl Floating point operands in the Pseudo Op Heading begin with illegal characters, i.e. (I, J, K, L or M). ZKl No closing parenthesis or too many subscripts. ZLI Duplicated symbols are not allowed in Pseudo Op Heading. ZMl Erroneous subscript found. ZNl At least one subscript missing on subscripted variable. ZOI The rest of this sentence was not checked. XN32 No exit XN3 Constants illegal in Pseudo Op Heading. in preceding Pseudo Operation. nnn '1~O Regions for Pseudo Operation Heading Translator RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE ,RE RE PU4400 PV4471 PX4630 PY4667 PZ4714 PW4741 PE4747 DU4761 JL5006 ZA5023 ZB5036 ZC5062 ZF5075 ZG5113 ZH5122 ZI5153 ZJ5204 ZK5234 ZL5252 ZM5273 ZN5306 Z05327 XN5355 There is one conflict between the string-out subroutine regions and the above regions (each uses region ZO). However, if the above regions are read in first and the string-out subroutine regions second, the Pseudo-op Heading tape will assemble properly. 929 Master Control Region for Pseudo-op Heading Translator. 3 IA MJ RP TP RJ PU 0 10132 PU44 JL 4 TP 5 6 7 TV TA4 TA4 PU45 SY P047 o 1 2 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 QT RJ EJ MJ RA MJ EJ EJ 0 PU50 0 PU52 PU53 MJ 0 TP EJ SZ2 P054 MJ 0 RS ZJ PU50 ZBl MJ ZJ TP TJ MJ TP QT RA TP EJ EJ EJ EJ MJ IJ MJ 0 ZCl PU55 PU63 PW XNl7 } DP JLl Q TS4 PU46 SYI PU12 XN PU51 PU7 PU7 PU17 PU26 ~U22 I~Paren. Ctr. Test ",tt Test th. " } ZAI PU5l PU Test previous symbol for ")". Error! No close parenthesis Parenthesis Counter - l~Paren. Ctr. A~ 0 ; Indicates opening and closing parens not equal. PU65 PU ~U65 ] PZl PYI PXl PVl ZCl PU7 ZFl Test CTRl (assigning CW sequence numbers) S (77)8 Error! Mask and save format digit 1, 2, 3, or 4 Modifies address for picking up next operand. Format digit 1, 2, 3 or 4~A Test for '1· Test for '2' Test for '3' (Function) Test for '4' (subscripted variable) Error! Format digit not I, 2. 3 or 4. Initial no. operands -l~ PU46 Error! Failed to exit. 0 ZCl ~U57 } PU57 PU51 PU60 PU61 P062 A PU46 Region DP (90 slots) Reference routine for building Pseudo OP 2nd lines. (TA4) = no. of operands Send 40--- CW to TS4 Mask off no. of operands and set CTR2 Test n(tt Jump to test tt)" Parentheses Counter + TA5 P056 PU31 0 Zeroize PU70 o 0 0 o o 0 0 77 Mask 17 77777 77777 ( o o o o 0 0 o 21 01 43 77777 22777 77777 77777 77777 77777 1 • 1:::.. ) 930 Master Control Region for Pseudo-op Heading Translator (continued) 55 56 57 60 61 62 63 64 65 o o o o o o o 0 0 0 0 0 0 0 o 7 Mask o 3 4 100 77777 SY7 PU31 77776 Q ' 66 77 TP QJ 67 MJ 0 1 PU25 CA PU71 70 o XN3 J .. 1 Test first character for letter. o 931 Sub Region for Subscripted Variable ® (]) @ 0 1 2 3 4 5 6 7 10 11 12 IA MJ TP RS TU TP QT RA RA TP TP RJ 13 TP 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 LT RA AT 54 55 56 57 60 TP LT MJ AT TP RA RA RA TP TP RJ EJ EJ MJ RA MJ RA RA TP TP RJ TP RA TP RA RA RA TP TP RJ EJ EJ MJ RA PV 0 PU3l A A [OJ PVlll PU64 PV10 SY2 PVl14 DU PVl12 14 A PUSS PVI12 6 0 PUSS PV120 PV12l PU64 PV27 PVlI6 PV122 SY PV123 PV124 0 PV125 0 PU64 PV41 SY2 PVI14 DU PV126 A A PU55 PU64 PV52 PVl16 PVl22 SY PV123 PVl27 0 PV6l PU42 A PVllO PV4 Q Exit Mask 'opt portion of format word and save in Temp. 2 = PVl12 PVl12 PV1l3} PU64 [OP] PVlO 001 A A PVI15 PVI16 A PVl17 PV130 PUSS} PV12l PVl17 PV1l3 } PU64 [DP] PV27 SYI PV3l PV35 PVl02 PVl13 PV3I PV1l3 } PU64 [DP] PV4l DUI A PUSS PV116 PVl13 PVl13 PU64 [DP] PV52 SYI PV54 PVl04 PV133 PU64 CTR + l~eTR) (set up proper address) Insert XS-3 symbol in DP List Reset PVlO) (Test duplication of symbol) Previously saved top'~A Shift op to v of ~ AR + 76 - OO~~ 76 1Nl 00 + eTRl~Temp. 5 = PVI16 Previously saved 'op' ~A Shift top' to A 0-5 Jump out for corfection Setting up index which determines when to begin exit Insert '76' N-- CW in DP Test , Test I)' Jump to COY.1ectionC!) Parenthesis counter +1~Paren. Ctr Insert XS-3 symbol in DP list ~A '63000 ' -t-cml~A '63000 • Save CW in Temp. 5 = PVl16 em1 + l~CTRl CTR + l~CTR Send CW to DP List Test ',I Jump to cOyyection~ Jump to cOT1ection 932 Sub Region for Subscripted Variable 61 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 135 136 TP TP RJ TP AT RA RA RA TP TP IJ RJ EJ MJ RS ZJ o TP QJ TP TJ MJ 01 o SY2 PVl14 DU PV126 PU55 PUSS PU64 PV7l PV116 PV122 PV121 SY PV127 [DP] PV61 DUI Insert XS-3 symbol in DP list A ·63000· ~A t63000 t + cm1~A PVl16 PVl13 PVll3 PU64 ) [DP] > PV71 J PV54 SYI PV77 o ZK1 PV125 ZGl PVl13 PV o o SYlO PV37 PVI07 PVl12 ~MI} 1 o o o o A ZNl } PV77 o o o o o o o TP SY2 DP 76000 77 o o o 77 o o 77777 77775 o TP PVl16 77777 77777 21 17 o o o CTRl+l~CTRl CTR+1~CTR Send CW to DP List Test f)' Error. No closing parenthesis Parenthesis counter -l~Paren. Ctr. Test for same no. of open and close parens. (!)Test for subscript (2) If op > 01 then wrong ~it was used and at least one subscript will be missing from DP List Mask Temp. 2 1 o o o o (continued) o DP 77777 77777 o Presetter for CW Temp. 5 'l'Amn XS-3~DP ~ "''''''''''.1:''- ...., -2 Index Presetter for , CW ~DP ( o 63000 Parenthesis Counter CW 77777 ) TP 77777 PVl17 RA A :V113 } PV22 Setting up an index for the no. of passes thru last loop Test for subscript 43 MJ TP QJ RA MJ CA o SYIO PV135 PU64 o ZMI Q } PVll3 PV60 @ I, J, K, L or M PVl37 933 Sub Region for Filing Functions in DP IA 13 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 MJ RA RA TP TP RJ RA TP AT RA TP TP RA TP RS 1U RA RA TP TP RJ EJ MJ 0 0 17 TP TP TP 0 0 CA PX 0 PU64 PX3 SY2 PX32 DU PU64 PX36 PU55 PX12 PX35 PX33 PU55 PU31 A A PU64 PX22 [30000] PX34 SY PX31 0 0 1 77777 SY2 PX35 30000 0 0 PX37 PU42 PX27 PU64} [DP] PX3 DU1 PX27 A PX35 PU64} [DP] Increase CTR by 1 Send XS-3 symbol DP Preset PX3 Increase CTR by 1 C W~A C W to Temp.~after being sequenced Temp.@~DPn Preset PX12 PX12 PU60 CTR1+2~C1R1 ~ :X30 } PX22 Set up address to obtain correct format digit :~!} [DP] PX22 SY1 ZH1 PX 1 0 77777 } DP DP DP 0 61000 C1R+1~CTR Send format digit(l, 2, 3 or 4) to DP List Preset PX22 Test t(t ( Preset PX3 Preset PX12 Preset PX22 Temp.@) 934 Sub Region for FIXED PO !NT OPERAND @ IA PY 0 MJ 0 1 2 3 4 5 6 7 TP QJ SYlO PY3 PU64 PY5 SY2 PY23 RA RA TP TP RJ 1() TO oLio 11 12 13 14 15 16 17 20 21 22 23 24 AT RA RA RA ~v TP TP MJ 0 0 0 TP TP CA 00 PY21 PU55 PU55 PU64 PY15 PY20 PY24 0 0 0 0 SY2 PY20 PY25 PD42 Q ZII PY22 PU64 [DP 1 PY5 001 } Testing for I, J, K, L or M CTR+l ~CTR Insert XS-3 symbol in DP Preset PY5 ~A J\ CW PY20 PY22 PY22 PU64 [DP] PY15 PY 0 63000 1 DP DP Temp.CD CW plus sequence no. CTR1+1 ~ CTRl 1'\ CTR+l~CTR Insert 63---type call word in DP List Preset PY15 0 Temp. CW f or FIXED PO INT CONSTANT Presetter PY5 Presetter PY15 935 Sub Region for FLOATING POINT OPERAND IA @ 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 MJ TP QJ RA RA IP TP RJ TP AT RA RA RA TP TP MJ 0 0 0 TP TP CA 0 1 2 3 4 5 IA TP TP TP MJ 0 77 CA PZ 0 SY10 ZJ1 P064 PZ5 SY2 PZ23 DO PZ21 P055 PU55 PU64 PZ15 PZ20 PZ24 0 0 0 0 SY2 PZ20 PZ25 PU42 Q PZ3 PZ22 PU64 [DP] PZ5 DOl A PZ20 PZ22 PZ22 PU64 [DP] PZ15 PZ 0 63000 1 DP DP } PW PW4 PW4 PW5 0 0 77777 PW6 PU46 P055 P064 PEl Testing f or I, J, K, L or M CTR+1---?Jo CTR Insert XS-3 symbol Preset PZ5 Temp.@ - CW plus sequence no. CTR1+1~CTR1 CTR+1~CTR Insert 63--- type call word in DP List Preset PZ15 Temp.@ CW for FLOAT ING PO INT CTR2} CTR1 CTR 0 77776 936 Reset counters @ IA MJ 0 1 2 TP RA TA4 PEI0 3 4 5 6 7 10 11 TP RA RJ RS A WL SS MJ 0 0 0 PE12 0 0 CA IA @ PE 0 0 1 2 3 4 5 6 7 10 11 12 13 MJ MJ TP RJ MJ 01 01 01 01 01 01 01 VB4 ZO 0 0 Z025 UP2 0 01010 01010 01010 01010 01010 01010 01010 CT WL3 Pseudo Op CW ~ WL3 22000 + VB4 = CW of 1st sentence after heading VB4 WL4 PEll SSl PEll PE 22000 CW~WL4 Word counter + 1~ Word ctr. Send string out to tape 1 PU 202 UP3 UP ZO 10101 10101 10101 10101 10101 10101 10101 14 01 01010 10101 15 16 17 20 21 22 23 24 25 01 66 65 66 30 30 50 30 40 CA 01010 33300 66015 33346 50663 01712 51660 26453 Z05 Z026 15430 13101 50165 05026 46501 12633 02722 20 ioioi) Causes carriage return before print out T S T E H E ~ T ~ H I 0 S E A ti E N T E ~ W N 0 T E C K 937 R E F ~ t::. S N C S ~ C H D . Test Duplication of Symbol @ 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 IA MJ RA TP EJ MJ TP TJ TP TP MJ TP TP MJ RA IJ MJ 77 0 77 TP 0 CA IlJ 0 0020 [DP] SY2 0 0024 DU20 0023 0022 0 DU23 0022 0 002 0020 0 77777 1 77777 DP 0 0025 [30000] PU64 A 005 0015 A 0012 002 } Index + Ctr. -1 O~A Index > 0 indicates error 0020 00 Exit routine D02 } Error routine 0020 ZLI DU2l 002 DU7 77776 0 77776 A 0 = CIR. Modifty DP address Jwmp to Exit routine Index Presetter for Index Routine to Make Up List IN of 2nd Lines of Pseudo Op's IA 0 1 2 3 MJ 4 5 6 7 10 11 12 13 14 AT TP QT LQ TV SP AT RA MJ 0 0 0 CA JL 0 JL12 IN A JL14 A VB4 JL13 IN 0 07777 22000 0 JL15 30000 Q A 25 A JL7 } 17 } [30000] PU70 JL a 0 JNl Exit Mask to Q IN = 0 20000 0 initially Shift to V position number of pseudo ops. Set-up to get proper loading position for next call word in list .. Securing and loading call word in list. Increasing list length count Exit Mask Base call word of pseudo ops Base address of 1st call word in list. 938 Error Print-Outs 0 1 2 3 4 5 6 '7 I IO 11 12 IA MJ ZA RJ 40 CA WA ZA12 UP2 0 51013 46012 34503 54305 65346 ZAS ZA13 IA ZB TP RJ MJ 50 24 65 24 30 0 MJ 1 RJ 2 3 4 5 6 7 10 11 12 TP 13 14 15 16 17 20 21 22 23 RJ MJ 66 47 31 01 66 01 66 46 33 01 30 26 52 33 40 CA 0 0 PU WAI UP3 UP ZA 13450 64651 20152 06633 52277 5 Prints: 5ENTENCE _(5UB) Gives print-out indicated by parameter. } N 0 lJ. F I N A L lJ. C L 0 ,... S .L n \:J 11 r-n A R E N T H fj, E 5 I 5 T 11.1 . PU WA ZB23 UP2 0 33300 25305 01515 52245 33306 34650 WAI OP3 UP ZB 15067 40151 23050 43050 53065 15051 01305 36724 01665 30010 01506 54015 46516 24543 30653 ZB5 ZB24 10166 10101 74725 13101 53001 05066 06522 16 T H E N R ~ U 0 P E P A R E T H E 5 E 5 ~ N ~ I T l:::,. E Q u L 11 T 0 tl H E 11 11 11 ~ ~ N U M E R ~ 0 F C L 0 5 E P A R E N N N M B E F 11 0 /j. /j. H E 939 S E S 5 0 A T ~ B 11 11 T . 0 1 2 3 4 5 6 7 10 11 12 0 1 2 3 4 5 6 7 10 11 12 13 14 15 IA zc MJ 0 WA ZC12 UP2 0 24263 01515 66305 01305 22777 ZC5 ZC13 RJ TP RJ MJ 47 30 50 46 54 40 CA IA MJ RJ TP RJ MJ 31 01 34 51 01 24 54 73 40 CA PU WAI UP3 UP ZC 33450 40134 45024 45451 77777 5 A C H E !1 0 R N T E R L ~ E R M R . N I N A I ~ R 0 77 77 77 77 ZF 0 WA ZF15 UP2 0 24344 66510 66220 25242 50510 26300 34512 47255 ZF5 ZF16 PU WAI UP3 UP ZF 63027 13072 15254 54673 16552 15230 60165 14622 10 F A I L E !1 T 0 !1 E l:l P I T 0 B A B L b:. N 0 b:. S A C E b:. P R I 0 D b:. Y M B 0 L . 940 D X R Y P E S . IA 0 1 2 3 4 5 6 MJ RJ TP RJ TP MJ 0 CA IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 MJ RJ TP RJ MJ 52 33 46 30 65 24 27 66 01 01 66 01 25 01 65 51 27 66 50 40 CA ZG 0 WA Z823 UP2 ZG6 0 0 ZG7 ZH 0 WA ZH30 UP2 0 24543 30663 01307 65653 01505 46465 01315 33300 01010 01316 34515 70245 46300 66333 30672 52013 34503 24663 66227 ZH5 ZH31 Z01 WA1 UP3 UP PV102 ZG 0 ZOt WA1 UP3 UP ZH 05066 42624 25254 45150 16601 17130 15401 10101 10101 75026 02446 43424 13450 00152 75101 33024 20165 04730 77777 23 P A R E N T H E T I C A L l:l E X P R E S S I 0 N S l:l N 0 T l:l A L L 0 W E D l:l F 0 R l:l T H E l:l l:l l:l l:l l:l l:ll:l l:l l:l 6. 6. F U N C T I 0 N A L l:l V A R I A BL E l:l I N l:l T H E l:l P S E U D l:l P l:l H E A D I N G l:l S T A T E M E N T 77 77 77 o o . 941 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 IA MJ RJ ZI 0 PU42 WA WAI TP 2130 UP2 0 34723 51345 52305 65012 51660 34500 33014 46010 01010 01263 26663 34223 34214 46015 43013 33300 67275 01333 50322 ZI5 ZI31 UP3 UP RJ MJ 31 52 51 27 50 32 66 24 01 01 24 01 17 21 47 66 30 52 34 40 CA ZI 02701 06601 42450 75101 12530 17134 63032 10101 10101 32454 05465 02201 42145 15401 45001 15265 10151 02427 27777 23 I X E D ~ P 0 I N T ~ 0 P E R A N D S ~ D 0 l:l N 0 T l:l B E F G T I N H ~ A L ~ ~ II W I L E G ~ l:l ~ ~ 6.l:l~l:l l:l l:l C H A R E R S E .~ J , K 0 R 6. M ) II I N 6. T H E ~ P S E U D o fj. 0 P 6. H E A D I N G 77 77 A C T ~ I ( I , , L ~ . . 942 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 MJ RJ TP RJ MJ 31 50 50 54 34 01 51 30 01 01 54 01 24 54 65 01 45 21 40 CA ZJ 0 WA ZJ37 UP2 0 46512 32015 66015 24502 50016 52653 02515 24273 01010 01253 01713 34464 46012 24266 01342 17342 21460 47432 ZJ5 ZJ30 PU42 WA1 UP3 UP ZJ 46634 25134 15230 76501 63330 06727 20133 45032 10101 03234 46633 63032 63324 63054 23022 14421 15154 27777 22 N L 0 A T I G l:l p 0 I N T F l:l 0 P E D S ~ ~ T H E R A N I N P S E IT D 0 p ~ H E A D I N G ~ 0 - /:). ~ ~ ~~ ~ ~ B E G I N ~ ~ W I T ~ I L L E G A L ~ C R A C T S ~ I ~ K ( I t L M 943 ) H H A R . E E • 77 77 . , J , ~ o R 0 1 2 3 4 5 6 7 10 11 12 13 14 15 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 IA ZK MJ RJ TP RJ 0 Z01 WA ZK15 UP2 MJ 0 50 65 24 51012 34503 54305 65346 01665 24507 WAI UP3 UP ZK 64651 20152 06633 50151 15101 30165 65434 27777 10 30 54 47 67 52 40 CA 66652 ZK5 ZK16 IA ZL MJ RJ 0 WA ZUO UP2 0 67524 66302 47255 24543 66012 71302 01526 51015 01010 01333 50322 TP RJ MJ 27 24 73 01 51 51 50 27 01 01 34 40 CA 25652 ZLS N 0 S I ~ A R N E E S I R ~ M A T N C L 0 G ~ P N T H S ~ 0 0 Y o ~ ~ S U B S C R I P T S 77 77 . Z01 WA1 UP3 UP ZL 63426 70165 14665 00150 44646 70134 53067 15201 10101 02427 27777 13 D U A T Y M ~ A 0 T 0 W N D 944 o B R E P D l:l 0 L E ~ A L D ~ S E 0 P C S S N L I U ~ ~ ~ ~ ~ ~~~ ~ H E A D I N G ~ ZL21 ~ P L I E . 77 77 0 IA MJ 1 RJ 2 TP 3 4 5 6 7 10 RJ .. 1.1. 12 MJ 30 51 25 66 0.., t:::.1 40 CA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 IA MJ RJ TP RJ MJ 24 65 01 54 34 01 25 66 01 01 24 40 CA ZM 0 WA ZM12 UP2 0 54545 67650 65265 01315 22777 ZM5 ZM13 ZN 0 WA ZN20 UP2 0 66014 66015 65672 34526 65653 51500 65265 30270 01010 01702 25463 ZN5 ZN21 ZOl WAI UP3 UP ZM 15030 16567 43452 16750 77777 5 ZOl WAl UP3 UP ZN 63024 15030 56526 60147 45032 16567 43452 10101 10101 45434 02277 13 R R 0 0 U S lJ. B S C R T lJ. F 0 D 77 77 E . A N E S I U P U N 77 77 ll. lJ. A lJ. S L E 0 N U B S R I P T lJ. M S S I N S I T T E C G lJ. 0 N lJ. S U B S C R I P T E D lJ.lJ.lJ. !::,. l:::a lJ. lJ. lJ. lJ. lJ. lJ. V A R I A B L E 77 . 945 @ 0 1 2 3 4 5 6 7 @ @ 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 IA XN EJ MJ PU54 0 0 WA XN7 UP2 0 XNI0 51506 66650 30322 50015 27510 33302 32227 TS4 XN21 VDl XN23 XN30 0 TS4 0 0 0 0 WA XN45 UP2 0 51013 01345 30263 32015 27510 54246 22777 755"43 XN46 MJ RJ TP RJ MJ 40 26 50 46 34 67 01 50 TP QJ TP QJ TP MJ RA MJ 40 0 MJ RJ TP RJ MJ 50 66 54 50 67 30 50 40 CA PU7 PU14 ZOI WAI UP3 UP XN2 7 56624 13446 44601 26530 15152 42734 77777 Q XN25 Q XN32 VDl PU3 XN27 PU3 0 0 PU3 WA1 UP3 UP XN31 07234 00152 02734 26530 15152 63451 77777 7 } Test closing parenthesis Print region 0 N S T T S l:l I E G A L N l:l P S U D 0 l:l 0 l:l H E A D C N L I N G A L l:l . E P I } Test for heading bit } Test for Exit Bit Zeroize VDl Set heading bit Error Print region N 0 11 T 11 I R E C N G tl U D 0 E X I N !:::.. P E D I P S E P E R A T I 0 N 946 . l:l 0 IV. GENERATION PHASE IV. 1. GENERATION PHASE Generation Setup and Drum Loader After the initial print-out: Pass II. Generation of Computer Code, this routine transfers from tape to core to drum the two 27-block sections of the Subroutine Generators. Next, it transfers from tape to core the 6 blocks of Generation Subroutines. RQ routine is then referenced to set up some block and line counters, put the proper parameter for 5 or 7 Uniservos into Op Control routine, and put two title blocks on both tape 5 holding Op File I and the tape that is to hold the generated coding. This tape will be either on Uniservo 4 or 7, depending on whether 5 or 7 Uniservos are used. In addition, on the 22nd line of the title block for the generated coding. the RQ routine puts the contents of 13, which is a count of the number of blocks of the corrected problem on tape 5. The tape holding the string-out input, either on Uniservo 3 or 6, is now moved forward one block to bypass the title. Then an exit jump is made to the beginning address of CG, the Control Generation subroutine. Also included in the same block as the Generation Set-Up is a Drum Loader routine which can be used to help update or correct the UNICODE Master Tape. First a flex or bioctal copy of a revised Generator is loaded into the core. look at the annotated coding of this Drum Loader will show the numerical PAK A setting to the left of a section of coding labeled for the A start at this address will transfer the Generator to its proper place in the drum. In this connection, the separate write-up on the System Tape Package should be consulted to ensure that the other necessary steps are taken to update the Master Tape correctly. 949 Generation Set-Up Routines - Flow Charts Print-Out: Pass II. Generation of computer code Transfer from type subroutine generators to drum via core (66 blocks) Transfer generation subroutines from tape to core (6 blocks) RQ generation subroutine Setup routine Move forward 1 title block on input string-out tape Jump to control generation subroutine 950 Generation Set-Up Routines- Flow Charts RQ Routine To Set Up Op Control Routines and Write Title Blocks For Op File I and Generated Routines on Tapes ---:II" Entr .--- ~ A Clear ES, number of lines in Op File buffer region r----:oo 1 blockette of Z-lines to Op File title block Block to tape 5 Fill remainder and count of ~- of block with blocks Z - lines 1 blockette of Z - lines to title block for generation tape Block to tape and count of blocks ~FILE~ ~ TAPE~ r---='" } to 1st 2 lines of 2nd blockette of block ~~~OP~ } t FILE ~ 1 0 1st 2 lines of ~ 2nd title block of Op File tape Filling remainderl bl oc k wi t h Z - lines r - - - 0:f ~ Block to tape 5 land count of blocks t - ~ 13, counter of l:l.l:l. GEN 6- to number of blocks 1st line of Fill remainder f--..:;;a second b10ckette ~ corrected prob- j---iI of blocks with lem, to 2nd line Z - lines of 2nd blockette I--- 6 SUBRO } to UTINES Fill block with 1st 2 lines of IE-IE-Z - lines 2nd generation title block ~ Block to tape IE-- and count of blocks Generation Setup and Drum Loader Regions RE RE RE RE RE RE RE RE RE RE RE DA7230 RQ7256 BF7325 BG6250 BH6250 CJ50212 CK56462 CD3300 CE3300 CN600 EX7350 Generation Subroutine regions are also needed to assemble this tape. 952 Generation Setup and Drum Loader Print-Out: Pass II. Gener- 1 ation of Computer] 0 Code 1 3 4 5 t.. OT 12 13 RP TP TP RJ RJ GT2 BH30000 BR DA23 GT2 RQ 14 15 16 11 TP AT RJ MJ TN DA24 GT2 20 21 23 24 MJ 50 50 50 30 COl CEI CNI 103 25 0 o CA DA26 RQ 1 IA MJ TP 2 TP GP1 3 4 5 RP TP TP TP RP TP TP RJ RA 10024 GP2 GP13 GPl4 10142 GP2 RC GT2 ES5 TP TP RP TP TP RJ GPI 10166 GP2 RC GT2 2 To get subroutine generators on drum via core t~11 22 Routine to Set Up Op Control Tape Write Routine and Write Title Blocks for Op Fi Ie and Gen. Routines on Tapes o 6 1 Op File Setup DA BF DA2l GT2 BG30000 BR IA RJ TP RJ RP TP TP 10 11 12 13 14 15 16 11 20 21 uv DJ\22 BFI GT3 GT DA5 CJ GT3 DAII CK GT3} GT RQl ~T3} GT o DA20 o CG BR } BR BR o GP7 GP o o To get generation subroutines from tape to core To op~rate generation Op-Control set up routine {3} Move forward tape 6 I block. This servo holds the string-outs plus I-block title Dummy jump instruction (replaces discarded "12" clearing instruction) Jump to exit Parameters for generators in 2 seCL Parameter for generation subroutines Parameter for moving forward tape 3 1 block Excess storage of a zero formerly used in instruction 11 30000 Exit 1 Clears 2 storaqe locations, es = no. ES5 J lines in Op File buffer region, np es 5 = no. of blocks of Op Files RQ5 } Puts 208 lines of Z's into np NP File NP24} # Tape # Into np NP25 RQll} Filling remainder of np with Z's NP26 GT3 Parameter ~ generalized tape handler GT Writing block on tape via tape hdlr. GPIO Count of blocks NP } lll::ll::l 0 P I::l] to np NP 1 F I L E I::l I ES- # ~~~O} #} . Fillinq rest ofnp with Z's GT3 } Using tape handler GT 953 Gen.Routines Setup 22 RA 23 TP 24 AT TN 25 TP GP7 26 RP 27 TP 10024 GP2 30 TP 31 TP GP15 13 ES5 RC2 32 33 34 35 36 37 40 41 42 43 44 45 46 RP TP TP RJ RA TP TP RP TP TP RJ RA MJ CA 10142 GP2 RC4 GT2 ES6 GPII GP12 10166 GP2 RC4 GT2 ES6 0 RQ47 0 1 2 3 4 5 6 7 10 11 12 13 14 IA MJ TP RJ MJ 0 01 52 34 01 24 51 52 26 CA BF 0 BF4 UP2 0 BF5 01010 24656 22010 32305 66345 31012 67663 51273 BF15 GPlO A RC4 Count of blocks Putting proper parameter in RC4 depending on whether TN = 0 or 0 3 O. The latter is for 7 servos. ES6 Clearing counter for no. blocks of generated subroutines RQ30} 20 lines of Z's to GN, buffer region GN of subroutines used in writing on tape GN24 b. b. Gen b. to GN GN25 Count of no. blocks of corrected problem on tape 5 RQ34 } Filling GN with lines of Z's GN26 GT3 Writing block on tape GT GP10 Count of blocks GN } b.SUBRO } t GN UTINES 0 GNI } } RQ43 GN2 } Filling GN with lines of Z's GT3 GT GPI0 RQ Writing block on tape and counting blocks Jump to exit 30000 UP3 UP BF 10 10101 50134 10101 03054 15001 65147 05401 07777 print-out :666666 Pass II. } Gives Generation of Computer Code 954 Parameter b. b. PAS S I I.b.b.b.b. b.GENER ATIONb. OF6COM PUTERb. COD E Routine used to load Generators from Core to Drum (used only in assembling initially the UNICODE generators; operated by console manipulation). A changed generator is first read into the core. Then a start with PAK set to the numbered address shown at left will transfer the generator to its place in the drum. 7400 IA RP TP RP TP RP TP RP TP RP TP RP TP RP TP RP TP RP TP RP TP RP TP RP TP RP 7402 TP RP 7350 7352 7354 7356 7360 7362 7364 7366 7370 7372 7374 7376 7404 7406 TP RP TP RP TP 7410 RP 7412 TP RP TP MS CA EX OR30000 KB OM30000 KB OK30000 KB 0030000 KB OY30000 KB OU30000 KB OQ30000 KB OW30000 KB OT30000 KB ON30000 KB DP30000 KB 0530000 KB .OZ30000 KB DX30000 EX44 KB EN EX44 EO EX44 ET EX44 EU EX44 EV EX2 OV30000 KB OH30000 KB 0130000 KB OJ30000 KB 0 EX45 Start EX44 CJ EX44 EA EX44 EB EX44 EC EX44 ED EX44 EF EX44 EY EX44 EH EX44 EI EX44 EJ EX44 EK EX44 EL EX44 EM Jump If Print Compute Vary Resume Exit Type List Read Stop Oimens. Pseudo-Op Heading End of Tape Eq. 1 Listing Eq. 2 Redundancy Eq. 3 Generator 955 2. GENERATION SUBROUTINES 2. RE 'T'l\TI)f\ RE RE RE RE RE RE GT2l TH2l UP421 UQ443 US453 UW5l3 Temporary to indicate whether 5 or 7 servos (set In string-out) .I..!',," V } Tape handler } Line-number processing routine RE RE RE RE RE RE RE RE RE RE RE RE RE RE EP537 1 BR537 BP564 BQ632 WA653 WB677 GP7l7 RC735 ES742 RG755 OPl047 XPl126 CW1211 LW1250 RE RE RE RE RE RE RE RE RE H11306 KI1336 LS1465 CG1530 } CH1642 V10670} VE2044 NP2052 nJ:" nc. } } ~~~~~~ ~J D~,q, RE KB2512 RE GN5360 RE CI144 rtE E OH6l2 Size of RE 012604 Generators RE OJ2615 on Drum OK763 RE OM33 RE ON461 RE 00107 RE OP430 RE DQ174 RE OR30 Generation Subroutine Regions Machine Error Routine Sentence number print-out during an error print-out Op routine to write output on tape and RG routine used as adjunct to VARY Call word routine Routine to get call word of referenced line number from list Routine to put call word in referenced line-number list Illegal line jump check routine Library list routine Control generation routine Excess three to Flex code Op File buffer Input buffer (250nv lines maximum) Region where any generator operates Generated routines output buffer Library List Threshold (keeps max. of library routines referenced at 99) Eq. 1, Generation Eq. 2. Redundancy Eq. 3, Generator If Jump List Print Read Resume Start RK- D$4:25 S-top RE DT560 RE OU766 Type Vary 959 l:~ Initial addresses of generators stored on drum These routines are part of End of Tape and are referenced from Control Generation OV502 OW34 RE OX24 RE OY551 RE OZ53 End of tape Exit Pseudo-Op Heading Compute oimension RE ZZ7230 } RE OA7230 Generation Set-Up Block RE ZA77000 Region of UNICODE Service Routines RE RE RE RE RE RE RE RE RE FC40001 CB40101 OL40102 CL46101 VF47101 IZ47246 JN47722 RW50023 LN50046 RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE CJ50212 EA50242 EB50275 EC51260 ED51367 EF52 140 EY53126 EH53322 EI53356 EJ54136 EK54617 EL55247 EM55674 EN55747 E055773 ET56475 EU57307 EV62113 Excess Three to Flex-Code List Combination List Dimension List Constant List Vary File List Referenced Line-number List List of call words of 2nd-line numbers of sub-programs Rewind List of call words of tape numbers referenced Library List of call words of library routines referenced Start Jump If Print Compute Vary Resume Exit Type List Read Stop Dimension Pseudo-Op Heading End of Tape Equation 1, Generation Sorting Equation 2, Redundancy Check Equation 3, Generator RE RE RE RE RE IG2675 UG2713 EG2732 BE2750 BU2774 Routine to put Constant List on tape 5 Routine to put Dimension List on tape 5 Rewind tape routine Gives generation termination print-out Sends excess-three symbol list to tape 5 Unless otherwise stated in the coding, the above regions are sufficient for all the Generation Subroutines included in this section. 960 Control Generation Routine As with the Generation Set-Up Routine, the indicator TN is used to determine on which Uniservo the string-out input to generation has been written. It may either be on Uniservo 3 or 6 depending on whether 5 or 7 Uniservos have been used. The title block having been passed by, the first line of any block on this tape beginning a new sentence string-out contains the number of lines in the string-out. If this number is greater than 1708' two blocks of input for that sentence are read into the input buffer. The buffer can only preserve a maximum of 2508 significant words. Any excess lines above 2508 are later overlayed by the transfer of a generator into the core. Alarms· in the Translation or StringOut Phase have already given adequate protection against possible exceeding of this string-out buffer maximum so there is no further check made against this contingency in generation. The line number of the sentence being analyzed is compared with the numbers in the referenced line-number list IZ by means of routine HI and, if found, its call word added to the list as needed. The content of BK2, which holds the name of the sentence under analysis, is compared with a list of sentence titles to determine what type of sentence is being analyzed. Depending on which equality is found, a jump is made to a corresponding section of the routine which brings in the proper generator from the drum, makes a ref~rencing return jump to it, and then jumps back to the beginning entry of Control Generation to get the next sentence input. The return jump to the generator causes the generation of the desired sentence coding, followed by the writing of it on tape and the storing of its Op File in a buffer for later writing on tape. If none of a list of 13 sentence types is recognized, a comparison is made to see if End of Tape instruction has been encountered. Generator is brought into the core from the drum. If yes, the End of Tape Control of the End of Tape generation is retained in the Controi Generation from CG77-CGIIO where a succession of return jumps does a variety of things explained more thoroughly in the write-up on the End of Tape Generatof Q The exit from this succession is a jump to ZAlO, the address of an overall UNICODE control service routine in the drum. 961 If the End of Tape sentence is not recognized as suggested in the preceding paragraph, the call word of the sentence is checked to see if it is greater than 40000. If yes, the sentence is recognized as a Pseudo-Op Heading and the generator for this type is brought into the core. Before referencing this generator, the line number of the sentence is put in the proper place in the prelude of the routine which is to be generated. Following this extra remedial step, the generator is referenced similarly as with other generators. If the call word of the sentence proposed above is not greater than 40000, the sentence is determined by this system of elimination to be the only remaining type not considered - namely, an equation. This type of sentence requires special handling which is explained at greater length in another write-up. Briefly an equation sorting routine is transferred from drum to core and then referenced by Control; next, an equation redundancy routine is transferred from drum to core and similarly referenced; finally, the last equation generator is brought into the core and referenced to complete the handling of the sentence. sentence input. Termination is as usual by getting the next The only final termination to generation lies in the recognition and handling of an End of Tape sentence. All generators or portions of generators are transferred to the core at the same starting address, 2512. This first line is an exit line, the entry line for the main referencing of a generator being the Reco equivalent of 2513. The generators are packed on the drum starting at 50212. Information con- cerning their assumed length on the drum and their initial addresses there is obtained by examination of the annotated copy of Generation Subroutine regions preceding the Reco coding of the Generation Phase. 962 Flow Chart for Control Generation Routine \----31i4 Read in first block string-out for anyone sentence to input buffer region from tape sentence is being analyzed? Yes Read in second block of stringout for same sentence to input buffer region from tape IE--------~ 963 HI line-numbe reference-list check Is sentence an End of Tape type? Is sentence call word> 40000? No Transfer eq~ no. I (listing) from drum to core Yes Yes Bring in End of Tape generator to core from drum Bring in Pseudo-Op Heading generator to core from drum Referencing eq. no. 1 (listing) generator Transfer Op File and generation routine line to tape Put line number into output line Transfer eq. no. 2 (redundancy) from drum to core eference generator. alculates 14, closes out Op Files, gen .. rtnes, and puts lib. list 1 on tape Referencing eq. no. 2 (redundancy) Transfer eq. no. 3 (generator) from drum to core Put Dimension List on tape Put Constant List on tape Reference generator in core Put Excess-threesymbol List on tape ewind tapes 3 and 4 or tapes 6 and 7 and move backward on tape 5 to beginning of OpFile Print-Out: END OF GENERATION. To interrupt compilation set A not = O. Start. Computer stop here must be followed by start Jump toZAlO, UNICODE control in drum to start set-up segmentation Is A = O? 964 Jump to entry to read in next block Rewind all tapes and computer stop Flow Chart for Control Generation Routine (cont.) Bring in Start generator to core from drum Transfer dimension generator to core from drum ring in Jump generator to core from drum Bring in If generator to core from drum Transfer Stop generator to core from drum Bring in Print generator to core from drum Transfer Read generator to core from drum Bring in Compute generator to core from drum Transfer List generator to core from drum Transfer Vary generator to core from drum Transfer Type generator to core from drum Transfer Resume generator to core from drum Transfer Exit generator to core from drum 965 CONTROL GENERATION ROUTINE o 1 2 3 4 5 6 7 10 11 IA TP AT RJ TP TJ TP AT RJ RJ CG TN CH2 GT2 BK CH TN CH3 GT2 HI TP RP EJ SN SA AT BK2 20015 CH4 Q CG34 CG35 12 13 14 15 16 17 TV 20 MJ 21 22 Sentence is an equation 23 24 25 26 27 30 31 32 33 34 35 36 37 40 EJ TP TJ RP TP RJ RP TP RJ RP TP 0 0 0 0 TP 41 RJ 42 MJ 43 RP 44 TP 45 46 47 50 51 52 RP TP RP TP RP TP A o CH21 CHI BK3 A } Bringing in 1st block (for anyone sentence) GT3 f t {3} to bk, buffer input region GT rom ape 6 ~GIO} Is input < l71? A } Bringing in 2nd block for same sentence to GT3 input region from tape S' GT t HII Check if line no. is in ref. list and, if so, giving it a call word Name of sentence to A A 20014 13 12 CG2l Determining if sentence is start t jumpt if 11 10 7 6 5 ~ CG14 print, computet varYt resume, exit, type, o 3 2 1 0 list, read, stop, or dimens. and going to 1 proper transfer command accordingly. A CG20 30000 l CG77 Is sentence an End of Tape? A } Is call word >40000? If so, it is a Pseudo-Op CG75 Heading DH30000 CG26 } ET KB Translation for equation KBl KB DI30000 CG3l} EU KB Redundancy check for equation KB KBl DJ30000 CG41 . KB } Transferrlng equation generator to core EV 20015 o CG4l o o o o }"Unused words BKI 2531 { Putting line number into proper output line for Pseudo -- Op Head ing Rout ine to correct oversight in that routine KB KBl Standard return jump to any generator CG Return to get next sentence o DR30000 CG41 } Transfers Start generator from drum to core CJ KB and then jumps to reference the generator DM30000 CG41 KB Same with Jump EA DK30000 CG41 } . KB Same wlth If EB 0030000 ~41 } Same with Print EC 966 53 RP 54 TP 55 RP 56 TP 57 RP 60 TP 61 RP 62 TP 63 RP 64 TP 65 RP 66 TP 67 RP 70 TP 71 RP 72 TP 73 RP 74 TP 75 RP 76 TP 77 RP 100 TP 101 TP 102 RJ 103 RJ 104 105 106 107 RJ RJ RJ RJ 110 RJ III MJ CA o 1 DY30000 ED OU30000 EF DQ30000 EY DW30000 EH DT30000 EI DN30000 EJ DP30000 EK DS30000 EL DZ30oo0 IA CH O' o 103 3 50 103 4 65 5 44 6 34 66245 67475 31777 54345 51475 24547 30656 52 CG41 . hE' KB } Sarne WIt Xlt CG41} . KB Same WIth Type CG41 ,., . WIt.n . .. KB 1 ~ame J L" l' S + ~ ! CG41 . KB } Same WIth Read ~41 Same with Stop CG41 Sarne WIt . h D'Imenslon . KB DX30000 CG40 } Brings in Pseudo-Op Heading Routine t jumps EN KB to CG40 to perform 1st function of routine Qefore referencing the generatoy proper DV3OO00 eG101} KB BrIngs In End of Tape generator EO CH25 OP1 OP2 } Sends End of Tape data to tape OP KB KB1 Ref. generatorr Calculates 14, closes out Op Filet gen. rtnes t and puts list 1 on tape UG1 Puts Dimension List on tape UG IG1 Puts Constant List on tape IG BUI Getting Excess-three symbol List BU EG1 Rewind 3 and 4 or 6 and 7 and move backward EG on 5 to beginning of Op File BEl Termination of gen. print-out BE ZA10 Exit to UNICODE control in drum o CGl12 2 50 7 CG41 . KB }" Same wIth Resume EM 0 0 10 26 11 70 12 54 13 3014 66 15 46 CG41} . KB Same wIth Compute CG41 1 KB ~ j Same wi th Vary 171 40000 BK Parameter to string-out BK170 Parameter to string-out 46677 START 27777 JUMP 77777 IF 6677 PRINT 26766 COMPUT 37777 VARY 74730 RESUME 72346 6f77i EX-IT-- 73523 34656 7777 TYPE 67777 LIST 967 read 1st block of any sentence to input read 2nd block of same sentence to input 16 17 20 21 22 23 24 25 54 65 27 30 0 0 0 0 30242 66515 34473 50277 23000 0 23000 CH24 CA CH26 77777 27777 5065 77777 2 0 0 CH22 } READ STOP DIMENS END Op File setup for End of Tape Gen. setup for End of Tape Parameter for referencing op routine for End of Tape 968 COMPUTER ERROR ROUTINE This routine is used when a compilation inconsistency occurs in the Generation Phase or later. It prints the following: ALARM~XX~Compilation~Inconsistency~(Possible Computer Error). Recompile. where XX, a decimal number from 1 - 20, is determined by where the routine is entered. The regular entrances to the routine are BRI to BR24. If the entrance: is BRl, XX = 1; if the entrance is BRIO, XX = 8; if the entrance is BR24, XX = 20; etc. The routine should not be entered with a.return ~-ump. After the print-out, all tapes are rewound, and the computer stops with PAK set at the UNICODE service entrance of compilation. A rewind of all tapes with a computer stop is secured without a print-out by entering the routine at BQ6. Eleven alarms (entries BRI-BR13) have been assigned at different portions of the UNICODE coding. Explanations of these alarms follow: 969 COMPILER INCONSISTENCY OR COMPUTER ERROR ALARMS Print-out Entry Description ALARM I BR I Subscripted variable symbol or call word is not found in the Dimension List. ALARM 2 BR 2 Referenced sentence number is not found in the Reference (IZ) List. ALARM 3 BR 3 Sentence number of last sentence in the range of a VARY is not found in the VARY File (VARY generator). ALARM 4 BR 4 Initial address of Operand List> Current address (Equation Generator). ALARM 5 BR 5 Call word is not found in Directory I (Segmentation Phase) • ALARM 6 BR 6 Op File III and Directory 4 are inconsistent. Flagged call word is not found in Op File III (Allocation Phase). ALARM 7 BR 7 Tape on Servo 2 positioned incorrectly. ALARM 8 BR 10 Tape on Servo 3 (or 6) positioned incorrectly. ALARM 9 BR 11 Tape on Servo 4 (or 7) positioned incorrectly. ALARM 10 BR 12 Tape on Servo 5 positioned incorrectly. ALARM 11 BR 13 Call word within routine is not found in Op File III (Processor). 970 Machine Error Print IA BR 0 0 0 BRI ... 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 RJ RJ RJ RJ RJ RJ RJ RJ RJ RJ RJ RJ RJ RJ RJ RJ RJ RJ RJ RJ CA BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BR25 BQ BQ IA TP BQ BP BR BPI 30000 BP26 UP2 BQ17 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 SS AT 0 TP RJ TP MJ TP TP RJ RA IJ MS 0 0 0 CA 10000 BQ16 BP44 GT2 GT3 BQ20 0 0 0 0 BQ21 BQ BQ BQ BQ BQ BQ BQ BQ BQ BQ BQ BQ BQ BQ Used entries Unused entries BQ BQ BQ BQ A } Manipulation to get proper alarm number 17 into print-out coding BQ3 30000 ~3} Print-out BQ20 Entry for rewind and stop only. Sets index for 7 Uniservos Bypasses next instruction if MJl is set BQll BQ20 Sets index of rewinding tapes for 5 Uniservos GT3 "Rewind parameter" to tape handler Rewind Uniservo via tape handler subroutine GT Increasing tape handler parameter to rewind BP45 next tape Jump back to rewind remaining tapes BQ12 Exit and stop ZA Index Constant (Used by Read Generator also) 4 Index Constant for 7 Uniservos 6 Holds index for rewinding Uniservos 0 971 IA 0 0 BP 0 30000 1 TP BPI BP30 77220 77220 77220 77220 77220 77220 77220 77220 77220 03220 04220 05220 06220 07220 10220 11220 12220 13220 14220 03220 BP27 46245 0 10126 10126 10126 10126 10126 10126 10126 10126 10126 10126 10126 10126 10126 10126 10126 10126 10126 10126 10126 10126 15 44701 0 47523 34515 26515 66305 17525 25463 47526 01305 43220 26514 30227 44624 00134 06534 02673 16565 00126 76630 45451 10154 75234 77777 0 0 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 04 05 06 07 10 11 12 13 14 04 04 04 04 04 04 04 04 04 04 05 0 24 0 51 66 50 65 01 34 51 54 54 30 46 10 0 CA 1 1 BP46 Set by entry "return jump~ lines and used to compute alarm no. Dummy instruction used to make up instruction BQ3 1.flflC 2. flfl C 3. flfl C 4. b.flC 5. flfl C 6. b. b. C 7. fl fl C B. b. fl C 9. fl fl C 10.fl b. C 11.fl fl C 12.Ll b. C 13.flfl C 14.b. b. C 15.b. fl C 16.{:j, l:l C 17.l:l {:j, C IB.{:j, {:j, C 19 .flfl C 20.flfl C Parameter for print-out ALARM fl Filled in by alarm number computation coding o MP I L A TION61 NCO N S I STENCY fl(POSS I BLE C o M PUT E RflERRO R ) • flflR E COM P I LE • Rewind parameter to tape handler Constant (Used in Read Generator also) 972 Flow Chart for WAt WB nSentence _ _ C_ _ )" Print-Out - Generation ~ Line fentence) ~ umbe!/\ Type J Load ON 77-77 into print-out storage Load EQUATI into print-out storage Yes Line number to printout storage Sentence type to printout storage Is sentence type EQUATN No Is sentence type EQUATI? No Print-Out: Sentence Is sentence type DIMENS? (---) Yes Load ION 77 - 77 into print-out storage 973 Is sentence type COMPUT? Yes Load E77 -77 into print-out storage WA Subroutine to Print-Out ....Sentence (Line Number) (Sentence Type)" without Error Referencing o IA WA o o 30000 WA2 WB3 A o :B5 } WB6 Is type EQUATN? WAl5 Is type EQUAT I? WA16 Is type COMPlJr? WA20 Is type DIMENS? WA22 UP3 } Print-Out: Sentence _ _ _ (_ _ _ ) UP WA WB5 } Load {~2~~~7~ into print-out storage WB6 WA12 Load E77 __ 77 into print-out storage WB6 WA12 WB6 Load ION77777 into print-out storage WA12 WB WB1 30506 30010 0 o 7 63050 17777 01 01011 77777 MJ 1 MJ 2 TP 3 TP 4 TP 5 TP 6 EJ 7 EJ 10 EJ 11 EJ 12 TP 13 RJ 14 MJ 15 TP 16 TP 17 MJ 20 TP 21 MJ WL1 WL2 WB10 WB15 WB11 WB16 WB17 WB UP2 o WB11 WB12 o WB13 o TP WB14 23 MJ CA WA24 22 o IA 0 65 2 26 1 3 4 5 6 7 10 11 12 13 14 15 16 17 o 0 0 o o g } 43 77 30 51 30 34 30 26 27 CA 01017 77777 53672 50777 77777 51507 53672 51475 34473 WB20 77777 77777 46634 77777 77777 77777 46650 26766 05065 Exit Start Line number to print-out storage Sentence type to print-out storage and A Parameter for print-out SEN TEN CE~~7777 Line number ~~~(77 77 Sentence name ) ~ ~77 77 77 Filler EQUATI ON 77_77 E 77 _ _ 77 ION 77 - 77 EQUATN COMPUT DIMENS 974 ROUTINE TO CONTROL TRANSFER OF OP FILE 1 ITEMS AND GENERATED SUBROUTINES TO TAPE To use Op Control Routine, a parameter word must be sent to 0p1 prior to the entry instruction RJ Op Op~~ u of Opl must contain the address of the first line of the generated subroutine; v, the address of the first line of the Op File 1 entry for the subroutine. The function of the routine is to transfer the generated subroutines and Op File 1 items to Uniservos. Z lines are added to fill up the last block of each generated subroutine. 170 lines constitute 8 a block. The actual writing on tape units is done by means of the generalized tape handler routine. The proper parameter words and entries to the tape handler routine are supplied in this Op Control Routine. The entry instruction of this routine is a return jump to RG subroutine which adds a call word to the Op File and alters the exit line of the generated routine if the sentence generated is the last sentence in a VARY loop. Op File 1 items are stored in a buffer region, NP, and accumulated until they fill a block, whence they are transferred to tape. Not taken care of in this routine is the final unfilled block of Op File 1 items. The coding necessary to fill this final Op File 1 block with Z's and transfer it to tape is contained in the End of Tape instruction. The routine handles data stored either in the core or drum. If subroutine data is in the drum and it exceeds a block. it is transferred a block at a time into region GN in the core and thence onto tape. Subroutine data groups less than a block are transferred from drum to core in one set of repeat instructions. Op File 1 data groups in the drum are transferred to NP in the core just as if they were located in the core. Subroutine data groups in the core are handled somewhat faster. All complete blocks of a subroutine are handled as a single unit in their referral to the generalized tape handler. The last partial block of a subroutine is then transferred to region GN, where the proper number of Z lines is added to make a completehlock. Thisre_yion _GNa! 170 lines isnee_dedonly -during Op a Control operation. Between referrals to the routine it may be used for other 975 temporary purposes. In this respect it differs from region NP which is reserved exclusively for Op File 1 item storage during generation. At the beginning of generation instruction RJ RQ RQI causes the proper starting blocks to be written on tapet and sets up the proper parameters for the generalized tape handler. depending upon whether 5 or 7 Uniservos are used. On Uniservo for generated subroutines, GEN TAPE is written on the 21st and 22nd lines of the first block t SUBROUTINES on the 1st and 2nd lines of the 2nd block. On Uniservo for Op File items, FILE TAPE and OP FILE I are similarly put on the first two blocks, with Z - fillers on the balance of the block lines. The counts of blocks of subroutines and Op File I items include these starting blocks. The v portion of the first line of a subroutine program must contain the number of lines of prelude and routine. Similarly, the v portion of the first line of an Op File I item should contain the number of lines in the item. These figures are used in this routine. ES, the counter for the number of lines in NP, is used in the End of Tape routine to transfer the final Op File I block to tape. ES5, the number of blocks of Op File 1 written on taper and ES6 the number of blocks of subi routines written on tape, are also used in subsequent routines. 976 Flow Charts for Op Control Routines - Generation Op Routine To Store Op Files and Write Buffer Loads on Tape Add call word to RG Op File and alter generation subroutine exit, if last sentence of VARY Will Op File of routine overflow buffer ion? Transfer Op File or its balance to buffer region The part of Op File needed to fill buffer is transferred to buffer region Transfer buffer region to tape Up count of Op File blocks Is no. lines not transferred from Op File <1701 No Transfer 170 lines to buffer region 977 Flow Charts For Op Control Routines - Generation - (Cont.) XP Routine To Write Generated Routines on Tape Is subroutine or balance < 170 lines? Yes Is subroutine or balance < 170 lines? Transfer 170 lines from drum to buffer region Yes Yes Write buffer on tape via tape handler 5 No Compute number of complete blocks Write number of complete blocks on tape Up count of subroutine blocks Up count of subroutine blocks Transfer subroutine or balance thereof to buffer region I---~ Filling buffer with Z lines Transfer buffer to tape Up count of subroutine blocks 978 Flow Charts for Op Control Routines - Cont. RG Routine to Insert Vary Call Word in Exit Line and in Op File I Item of Last Statement in a Vary Range ~ RG IS sentence call word for a statemen t other than vary? Box I -] I- Reset box I to continue search Set indicator equal zero 4 0-1 2 8---{:ndicator = O? Decrease Op File I address in Op parameter by one Increase Op File I item length by one Insert call wordlg "Of vary from Vary Fi Ie i tern into exit [line of routIne Move Op File I item back one location Set indicator not equal zero Insert vary call word as cross reference in Op File I item OP CONTROL SUBROlJfINE Routine to Store Op Fi les and Write Op Files on Tape o IA MJ OP o 1 0 30000 2 RG RJ TP 4 QT 5 SP OPI GP3 OPI 6 TV A 7 10 11 12 13 14 15 16 17 TP QT TP RA TJ TP ST SA TU GP3 30000 ES ES2 3 GP5 GP5 ES GP6 A 20 TP 21 RA 22 TV 23 SP 24 TU 25 RP 26 TP 27 TP 30 RJ 31 RA 32 TP 33 RA ES ES3 ES3 ESll 34 RS ESI 35 6 1 block of 37 170 lines 40 to buffer 41 region NP 42 for trans- 43 fer to ~4 tape 45 46 Last 47 partial 50 block to 51 NP 52 A 30000 30000 RC GT2 ES5 GP7 ESII TJ SP GP5 ESII TV A RP TP TP MJ TP TP TP SA 30170 30000 GP5 o ES A ESI Exit u = address of 1st line of generated subroutine. v = add~ess of 1st line of Op File VARY subroutine alters exit lines of routine RGI being written on tape ~ll } Address of 1st line of Op File ~ ESII 30000 30000 i~lO } Number of lines in Op File ~ ESI ESI ES2 } ESI OP44 ES + ESl ~ ES2 Does ES2 exceed l70? :S4 } Nu mbe r 0 f 1in e s 1e ft to fill NP ~ ES4 17 } Sets up u of repeat command Op 25 so that proper number of lines needed to fill NP OP25 are transferred to it Sets up v of Op 26 such that Op File i terns are ES3 } transferred to correct part of NP RCI OP26 17 } Sets up u of Op 26 to correct beginning add. OP26 OP27 } Transfers Op File items to fill up NP 30000 GT3 } Writes completed NP onto a block of tape GT Count of Op File blocks GPIO Clears ES storage ES ESII + ES4 ~ ESll, the next address of Op ES4 File item to be transferred ES4 ESI - ES4 ~ ESl, number of lines left in Op File item to be transferred OP44 Is 170 > no. of lines left in Op File item? 17 } Setting up u of Op 64 to proper address OP41 OP42 } Transferring l700p File items to NP NP ES4 170 ~ ES4 OP27 ES3 Number lines in NP -7 ES3 ES Number of lines due to be in NP ~ ES A 17 TV GP6 A OP55 RA TV ES3 ES3 OP56 Rel } Sets up u of repeat to proper value } Sets up v of Op 56 to correct address 980 53 SP 54 TU 55 RP \.56 TP ESll CA OP57 Routine to Write Generated Routines XP OPl GP3 30000 3 LQ 4 QT OPI GP3 GP6 5 TJ 6 TP Drum Core Partial Block 30000 30000 IA TU 1 TP 2 QT o on Tape A ES12 GP5 ESlO 17 } Sets up u of Op 56 to correct address OP56 XP 1 Transfers last quantity of Op File items to NP, leaving NP as an unfilled partial 30000f buffer region block. XP2 } ~S12 2~ XP22 ~P40} 7 10 11 12 13 14 15 16 17 20 TJ SP TU RP TP TP RJ RA RS RA 21 22 23 24 25 MJ TP TJ DV TP 26 27 30 31 32 TP ST LA AT TV RC4 ES10 A 25 GT3 GT3 33 RJ 34 RA 35 MP 36 AT GT2 ES6 ES7 ESlO GT ES7 GP5 ESlO 37 TP 40 ZJ ES12 XP4l GP6 r 41 SA 42 TU 43 SP 1 ESIO 1 30170 30000 RC4 GT2 ES6 ES12 ES10 17 } XP13 XP14 } GN GT3 } GT GPIO GP5 GP5 o XP6 ES12 GP5 GP5 ~P40} A A ES7 GP10 A A FSlO 44 45 TV RP 30000 46 TP 30000 A ES7 ES12 A t Number of lines of subroutine ~ ES12 Address of 1st line of subrout ines -7 ESIO If 30000> address, subroutine is in core. Otherwise, assumed to be in drum Test to see if subroutine has fewer than 170 lines left Set-up u of XP13 ~o right address Transfer 170 lines of subroutines to GN Write block on tape Count of blocks Reduce ES12 to no. of lines left in subrtne. Increase ESIO to address of next line of subroutine to be transferred Test for less than 170 lines in subroutine Number of blocks in subroutine ~ ES7 Remainder or number lines in last partial block to ES12 Setting up parameter with correct number of blocks to be written on tape Setting up correct referencing address of parameter Writing blocks on tape Count of blocks Calculating number of lines written on tape Correcting FSIO address to that of next line to be transferred Test to see if any lines left to be written of subroutine Setting up u of repeat to proper value Setting up correct referencing address of next line of subroutine in XP46 Putting remaining lines of subroutine in GN 981 47 50 51 52 53 54 55 56 57 60 61 62 TP SS TU RA TV RA RP TP TP RJ RA MJ CA IA GP5 ES12 A XP55 ES12 XP56 10000 GP2 RC4 GT2 ES6 o 17 } A XP55 GP4 XP56 } RC3 XP57 } 30000 GT3 GT GPIO OP 71 RC 00105 1 0 o NP 00104 0 o NP GN GN 4 0 o o 3 o CA RC5 IA GP 01015 34463 74747 01 1 31 2 74 3 0 4 0 5 0 6 7 10 11 12 13 14 15 0 0 0 01 67 01 01 01 CA Setting up v of XP56 so that Z lines start at right place in GN Filling up GN with Z's Parameter word -7 generalized tape handler To tape handler Count of blocks Exit XP63 o 2 71 Setting up u of XP55 such that remainder of GN is filled with right number of lines of Z's o 10000 o o o o 65672 66345 31344 66245 01323 GP16 15201 00104 47474 77777 o Parameter word to write 1 block on tape 5 from NP Address of 1st line of Op File storage Tape 4 parameter write from GN Address of 1st line of storage used for a partial block of a gen. routine Parameter temporary used for writing from GN to either tape 4 or tape 7 f':l f':l t::. 0 P f':l FILEf':ll Line of Z 's Mask 170 30000 o 1 55451 03065 63001 23001 05001 ~SUBRO UTI N E S ~FILE~ ~TAPE~ ~~GEN~ 982 Op Control Subroutine-Sequential Uses of Temporary Storage (ES) o 1 2 3 Number of lines in NP, buffer region in which Op Files are accumulated for writing on tape. Number of lines in current Op File being stored. { Number of lines remaining to be stored from current Op File. Used to accumulate ES + ESI. ES ~ ES3 (ES3 + NP) ~ES3t giving the address in NP to which next line is to { be transferred. 5 Number of lines put in NP from current Op File the last time a group of lines was transferred. Number of blocks of Op File 1 written on tape. 6 Number of blocks of subroutines written on tape. 7 Number of whole blocks of subroutines to be written on tape. 4 10 Address of next line of subroutine to be written on tape. -11 Address of next line of Op File to be transferred to NP. 12 {NUmber of lines of subroutines. Number of lines of subroutine in last block. 983 OP CONTROL SUBROUTINE - RG ROUTINE To Insert Vary Call Word in Exit Line of Last Statement of Range and in the Op File I Item o 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 IA MJ TU TP QT TJ TJ MJ TJ TJ MJ TP TU TU TP RP EJ SP LQ TU SS SA TU TU TU LQ TV RA TV TP QJ SP TU TU TU TU SP SA TU RS TV 50 SA 51 TV 52 RA RG o OP1 RG62 30000 RG63 RG64 o RG65 RG66 o RG62 VF RG70 BK1 30000 30000 RG16 30000 RG3 Q A RG7 RG12 RG RG RG12 RG RG71 RG16 RG17 A RG } RG20 o Q Q Q 17 RG16 A A A RG17 RG33 RG56 Q25 RG33 RG67 30000 RG17 OP1 Q RG33 30000 RG71 RG56 OP1 A A A A 30000 RG64 A OP1 A 30000 A 30000 o o ~G36} 17 RG43} RG50 RG52 RG54 17 o RG53 GPIO RG54 ~G60} GP10 Exit Set address of routine into RG3 u-mask ~ Q Routine CW ~ A 27000 > CW? No: 30000> CW? NOi so out 22000>CW? If so, out No i 23000> CW? NOi so out Set QJ indicator bit = 0 CW = 22 --- or 27 --Set EJ initially Sentence number ~ A Check for matching sentence number in Vary File jn ~ ARu jn-r~Qu Set RP for Continuing Search r~~u Add r to Starting Point of Previous Search Reset EJ to continue search at next word Set address of Vary CW in transfer command Set Vary CW address in shift command Address of routine ~ Qv Set routine address in transfer command Set to address of exit line Transfer Vary CW to exit line of routine Determine if this Op File I item has been changed before No, so enter Op File address in Au Enter Op File I address in commands Enter # words of item in Au Add j = 3 Set into RP Decrease Op File I address in parameter Set transfer instruction to new address of Op Fi Ie litem Set address for insertion of new cross reference Increase # words in Op File I item by one 984 ® 53 54 55 56 57 60 61 62 63 64 65 66 67 70 71 72 RP TP TP 30000 30000 RG RG55 } Move Op File I item up one location 30000 Set QJ indicator bit = 1 RG7l SP 30000 17 TP QT MJ 0 0 0 0 0 0 0 0 CA RG62 A 0 77777 27000 30000 22000 23000 0 VFl 0 RG72 Q 30000 RG15 0 0 0 0 0 Vary CW ~ .~ u-mask ~ Q U Enter Vary CW as Cross Reference in Op File I Back to continue search 6 0 0 985 CONSTANT CALL WORD ROUTINE FOR GENERATION At the start of string-out 00 20000 00000 is put in fixed address 10, which is a counter register for the number of constants. Both u and v of 10 increase with each added constant. If n of 0 2,n n in 10 exceeds 1000 , the 8 computer stops with the alarm print-out -- (Sentence ( ) Too Many Constants. Input constant goes to A and the instruction RJ CW CWI activates the routine. The call word output goes to Q and A • v u The routine occupies 36 8 lines in region CW. Region CI, the list of constants, may occupy up to 1000 lines in the maximum-size problem. Needed 8 for the alarm print-out is the UP print-out subroutine. If a constant is already in list CL, entry to the routine gives the call word by determination of its position. If a constant is not in the list, it is added to it and given the next call-word-number assignment. 986 Flow Chart - CW Call Word Routine of Constants - Generation Is constant in Constant List? Up count in 10 of length of Constant List Yes Add constant to next position in list Yes Obtain position of constant in list Print Out: SENTENCE _ __ TOO MANY CONSTANTS Add position to base 66777 to form call word Put call word in Rewind tapes and stop computer . -t::\2 ~ Call Word-Generation o IA CW MJ 0 1 TU 10 30000 CW2 2 RP 3 EJ 30000 CL Q 10 CW7 } CW4 17 4 SN 5 SA 6 MJ When constant is not in list Adding Constant to list 7 TP 10 11 12 13 14 15 16 17 20 21 22 23 TV RA TJ RJ TP RJ o A 10 10 CW30 WA CW26 UP2 o CW22 Q CW20 CW27 CW17 WA2 ~3 } MJ o BQ6 RA TP SP AT QT CW20 Q 10 CW31 CW35 CW36 30000 17 Q Q 24 LQ 25 MJ 26 40 27 0 Q o 25 CW CW32 3 1 1 30 0 31 0 21001 66777 o 32 66 33 50 34 65 35 0 36 0 CA 51510 73012 66245 77777 14724 65150 6665 o 1001 o CL Exit Sets up u of repeat by using Constant List count in 10 Checks to see if constant is in eLf Con. List [-j t -(n-r)] (A)u [ - j, r - nJ + [ j t ~ = r -7 (A R) u Constant ~ q n ~ v of CW17 Counter 10 increased by 1 Is Call List ~ 1000? Gets sentence number print-out Sends parameter to error print-out routine and gets print-out: Too Many Constants Jump to rewind tapes and computer stop rtne. (n + CL) ~ v of CW20 Constant added to next position in list n ~ (AR)u (r + 66777)~ q. Call word in qu Extraneous mate~ia1 in q destroyed via mask and QT. Call word formed in A Call word put in Q u v . J ump to eXIt Parameter word used in print-out Used also as a constant in LS routine and in read generator Threshold check on size of CL Base number from which call words are determined by adding to position in list CL T006MA NYL'lCON S TAN T S Mask Address of 1st line of Constant List CW37 988 Routine D to Get Call Word of Referenced Line Number from List IZ - Generation To use this routine, the referenced line number is put in A. struction RJ LW LWI will put the call-word output in A and Q. u v Then inIf a line number is not found in list IZ, the computer will stop with the error printout: ALARM 2. COMPILATION INCONSISTENCY (POSSIBLE COMPUTER ERROR). RECOMPILE. If the call word of a line number is not found, the computer will stop with the error print-out: SENTENCE ( ) REFERENCED NUMBER _ __ IS NOT A PROGRAM SENTENCE. 989 Flow Chart - LW Generator Subroutine to Get Call Word of Referenced Line Number From Referenced-Line-Number List IZ T-----..;~ Is referenced 1i ne number in list? No Extract word following line number in list Is this word zero? Print-Out: ALARM 2. COMPILATION INCONSISTENCY POSSIBLE COMPUTER ERR OR • RECOMPI LE Yes PRINT-OUT: SENTENCE _ __ ___ REFERENCED NUMBER _ _ __ IS NOT AMONG PROGRAM SENTENCES Rewind all Rewind all Put this call word output in Au & Qv Generation--LW Routine to Get Call Word of Referenced Line No. from List IZ--Routine D IA MJ 0 1 TP 2 TU 3 RP 4 EJ 5 SN 6 SA 7 SA 10 TU 11 TP 12 ZJ 13 TP 14 LA 15 MJ .16 RJ 17 TP 20 MJ 21 22 23 24 25 26 27 30 31 32 33 34 35 07 40 0 54 50 67 0 01 66 51 65 26 65 CA LW 0 A 11 30000 IZ Q 11 LW23 A 30000 LW13 A A 0 WA LW22 0 77777 LW24 IZ 30313 26302 47253 0 34650 01240 32542 30506 30227 77777 LW36 30000 LW27 LW3 BR2 LW5 17 0 0 LW11 A LW16 } Q 17 Exit Entry.Storing line no. for possible print-out Setting up repeat via Reference List Counter Search for line number in Line No. Call Word List (n-rI] =-j, (r-n) [-j. (r - nJ] + [j, nJ = r r + IZ ~ Au Setting up u of next instruction Call word of line no. ~ Av Test if call word is there Call word ~ Qv Call word ~ Au - a, LW WA2 UP3 } CW15 77777 11 0 05430 70150 05401 Sentence no. Print-Out Referenced No. -- Is not a Program Sentence. Jumps to computer stop after rewind tapes via CW routine portion Used as a mask in LS routine Parameter for Print-Out Address of 1st line of line no. list REFERE NCEDllN UMBERll 0 15051 15254 44701 63050 77777 77777 llIS~NO T~AllPR OGRAM~ SEN TEN CE • Unused 991 Line Number Check Routine C -- Generation Instruction RJ HI HII activates this routine without input. The routine picks out the line number of the sentence under surveillance from buffer region BK and checks to see if this number has previously been put in Line Number Reference List IZ. If an equality is found, a check is made to see if the call word of the line number has been put in the address following the line number in IZ. If not, the call word of the line number is obtained from the buffer region and inserted in the v part of this location. 992 Flow Chart for Routine C Generation - HI Reference-List Line-Number Checking Routine Is line number in reference list IZ? Extract word following line number in list IZ Is this li~ Yest:;\ zero? .~ No r2\.J Is ~ ~\ call word of sentence in u position? No Put call word into line following referenced line number in list Put call word into line following referenced line number in list Shift call word in list until it is in v position Reference-List Line-Number Checking Routine C-- Generation IA HI o MJ o 1 2 TU 11 TP BKI 30000 IZ Q 3 RP 30000 HI3 A HI } HI5 17 4 EJ 5 6 7 10 SN SA SA TU HI26 o o A HI12 11 LQ HI12 Q25 12 13 14 15 16 TP 30000 HI BK3 HI27 Q HI23 HI17 BK3 30000 HI12 HI21 30000 25 HI HI24 30000 HI ZJ TP TJ TV Call word of sentence17 TU is in u position 20 TU 21 22 23 Call word 24 in BK3 is 25 in v po26 sition 27 LQ MJ TV TP 11 o Q BK3 MJ o 0 IZ 0 1 CA HI30 Exit Sets up u of repeat by counter 11 Line no. to A Is line no. in reference list IZ? -j t (r - n) j, n+ [- j t (r -n)] = r r + IZ ~ Au Sets up instruction to get call word of line number to A Puts address in OV of line that should have call word A HI14 A Exit if a call word is there Call word of sentence to A Is [0 1 OJ > (BK3). If so, call word is in v Sets up right ref.-list address in v of next instruction Call word to line following line no. in ref. list Sets up same ref.-list address in next instruction Transfers call word to v position Puts address into v of next instruction Call word to right line in ref. list o o 994 KI Illegal Line Jump Check Routine -- Generation After a call word has been obtained for a line number, it should be put in A (the rest of A must be cleared) for this test. (The regular call word u output of LW gives the call word as desired in A.) In Q should be a pseudou operation indicator. 40 0 0 indicates that a sentence is within a pseudo OPe Zero indicates being outside a pseudo Op. will activate this routine. Now instruction RJ Four error print-outs occur for attempted illegal jumps. by SENTENCE_,_ __ KI KII All are prefixed I) JUMP TO SENTENCE OUTSIDE PSEUDO OP FROM WITHIN PSEUDO OP IS NOT PERMITTED. 2) JUMP TO PSEUDO OP LINE FROM OUTSIDE PSEUDO OP IS NOT PERMITTED. 3) JUMP FROM ONE PSEUDO OP TO ANOTHER IS NOT PERMITTED. 4) JUMP TO HEADING OF PSEUDO OP IS NOT PERMITTED. The computer stops after each of these print-outs and all tapes are rewound. The call word comparisons within the routine are based on the convention that all sentences within a pseudo op, except the first, have a call word less than 23000 and all sentences outside a pseudo op have a call word greater than 22777. The call word of the first line or heading of a pseudo op is 40000 plus. Only the compute instruction may reference this line. A list IN of 2nd line pseudo-op call words is used to check illegal jumps from one pseudo op to another. 995 KI Illegal Line Jump Check Routine - Flow Chart Line No. Call Word Input in A -Pseudo-Op Indicator in Q u Is 400008 > call wor of line no.? Is sentence in pseudo operation? Is 230008 > call word of line no.? No No No Print-Out: SENTENCE JUMP TO HEADING OF PSEUDO OP IS NOT PERMITTED. Yes call word of no. > 22777? No Print-Out: SENTENCE_ JUMP TO SENTENCE OUTSIDE PSEUDO OP FROM WITHIN PSEUDO OP IS NOT PERMITTED. SENTENCE TO PSEUDO OP LINE FROM OUTSIDE PSEUDO OP IS NOT PERMITTED.. Print-Out: JUMP -..0 -..0 0' Rewind of all Using IN List of call words of pseudo op second lines, obtain information on the pseudo op ~ which the jump is being made. Using IN list, obtain information on the pseudo op from which jump is being made Are the 2 pseudo the same? No Print-Out: JUMP FROM ONE PSEUDO OP TO ANOTHER IS NOT PERMITTED. KI Illegal Line Jump Check Routine--Generation Line No. Call Word Input in Au Pseudo-Op Indicator in Q IA MJ o 1 BKI KI54 KI46 UP2 KI5l UP2 :3 } 6 TP TJ TP RJ TP RJ 7 MJ KIll KI52 KI45 o BQ6 KI14 KI23 UP3 } KI6 A Q 2 3 4 5 Call word < 40000 within pseudo-op 10 QJ 11 TJ 12 TP 13 MJ Outside pseudo-op 14 15 16 17 20 21 TP TP TJ 22 MJ Within pseudo-op KI o TP RJ TP o KI53 Q KI46 UP2 KI47 o 30000 KI57 KIlO ~3 ~I } :3 } } UP3 } KI6 KI24 23 TU IN 24 25 26 27 RP TJ TP TU 20000 JNl Q 30 SP 31 RP 32 TJ 33 TP 34 EJ BK3 20000 JNl KI126 Q 35 TP 36 RJ 37 TP KI46 UP2 KI50 UP3 } UP IN KI126 KI27 Q 40 MJ 41 42 43 44 45 TP IN o KI4l} KI26 KI126 KI3l 17 KI43 } KI33 ~I ~~ } MJ o TP MJ (} K~I3-3 0 KI55 20 IN } Exit Line No. to Print-Out Storage Is 40000> call word of line nOe? Sentence _ _ _ ~Jumpll To heading of pseudo-op is not permitted Jump to rewind of servos and computer stop Is sentence within pseudo-op? Is 23000> call word of line no.? Sentence Jump to sentence outside pseudo op from within pseudo op is not permitted Line no. call word Q u Is line no. call word> 22777? Sentence Jump To pseudo op sentence from outside pseudo op is not permitted Setting up u of next instruction for comparison of line no. call word with list IN of pseudo op 2nd lines Purpose of comparison is to find via Q to which pseudo op jump is being made Setting up u of instruction to number within IN list plus 20000 Getting call word of sentence to u of A Determining via Q in which pseudo op we are operating If pseudo op in which we are operating is the same as pseudo op to which we are jumping, Q and KI126 will be equal Jump Sentence From 1 pseudo op to another is not permi tted Parameter for Sentence Jump to Sentence outside pseudo op from within pseudo op is not permitted 997 46 0 47 40 KI55 KI75 4 12 50 40 KI107 10 51 40 KI117 7 52 53 54 55 56 57 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 100 101 102 103 104 105 106 107 110 0 0 0 65 26 0 01 66 66 51 30 27 31 34 52 01 01 52 66 66 67 01 31 67 01 51 65 52 66 01 51 30 52 50 01 66 34 66 27 31 27 34 01 66 0 23000 22777 40000 30506 30017 0 44674 51016 30502 67666 01526 51015 54514 66333 65306 51520 50516 30544 30272 51015 27510 46345 54514 66653 52653 01515 01505 30544 30272 31545 50300 67275 01665 51663 34650 01523 66663 51013 34503 01526 51015 65015 52305 66302 0 0 0 63050 77777 0 75201 53050 63001 53427 53067 15201 70171 45001 72751 13465 60101 73466 27777 26530 15152 03001 70151 42730 06727 20134 16601 73466 27777 14701 15265 10151 10124 33054 15051 05447 02722 33024 20151 53067 15201 05166 44734 72277 0 CA KI127 III 112 113 114 115 116 117 120 121 122 123 124 125 126 0 Jump Parameter for Sentence Parameter for __ to pseudo op sentence from outside pseudo op is not permitted Parameter for __ from one pseudo op to another is not permitted Parameter for __ to heading of pseudo op is not permitted SEN TEN CE~ ~JUMP~ TO~SEN TENCELl OUT SID ELlpSEU DOLlopLl FROMLlW ITHINLl P S E UD0 LlOPLlIS LlNOTLlLl PERMIT TED. TOLlPSE UDOLlOP ~LINELl FROM~O U T SID E ~PSEUD OLlOPLlI SLlNOTLl PERMIT TED • LlFROM~ ONELlps EUDOLlO PLlTO~A NOT HER LlISLlNO TLlPERM ITT ED. TOLlHEA DINGLlO FLlpSEU DOLlOPLl IS~NOT LlPERMI T TED • 998 LS Library List Routine - Generation The list LN built up on the drum starting at 50046 during Generation is a list of call words of library routines referenced. Each call word is stored in the u position. Call words less than 50200 designate Permanent Library Routines. Call words ~ 50200 designate library routines which have been put on the library tape on Uniservo 2 by the Librarian. LS Library List Routine distinguishes between the two types of library routines referenced and by means of two one-shot switches puts an indicator into counter 5 the first time each of the types is used. If a Permanent Library Routine has been referenced, 40 is put into the operation portion of counter 5. If a library routine from Uniservo 2 has been referenced, 20 is put into the operation portion of counter 5. Of course, when both types have been referenced, 60 is in the operation portion of 5. The input to the routine is the call word of the library routine in A. A u search is made of the list to see if that call word has previously been put in. If it is already there, a quick exit occurs. If it is not there, it is put in the list at the next empty space and counter 5 is increased by 00 00001 00001 to wO 2000n n where w is the indicator mentioned above and n is the cumulative number of call words in the list. Before the exit, a check is made to see if n is less than 100. If it is not, the following print-out occurs: SENTENCE ( ) TOO MANY LIBRARY ROUTINES. The blanks in this print-out are filled in, respectively, by a line number and the sentence type. Of course, if this improbable print-out occurs, all the tapes are rewound and the computer stops. 999 Flow Chart for Generation Is 50200 > call word of library routine? 1- shot switch. Ha s this path been traversed befo're? Library List Routine switch. Has this path bee traversed before? No 1- shot I.S Yes No Puts indicator into counter 5 that a permanent library routine has been referenced Yes Is library routine call word in list UN No I--' No Put indicator into counter 5 that a library routine on Uniservo 2 has been referenced Put call word of routine into library list UN o o Up counter 5 of library list routines o Is library list length > 99? Yes Rewind all tapes and stop compute Print-Out: SENTENCE ___ ( ) TOO MANY LIBRARY ROUTINES Library List Routine--Generation Input Call Word in Au o IA LS MJ o 30000 1 TP A Q 2 TJ LS40 LS7 3 4 RJ MJ o iS3 LSS 5 CC 5 LS12 LS42 6 o 7 MJ RJ 10 MJ 11 CC LS7 o 5 12 TP 13 TU Q 14 15 16 17 20 21 20000 RP EJ TV RA TP RA 22 TP 23 QT 24 TJ 25 26 27 30 31 32 33 34 35 36 37 RJ TP MJ 40 66 50 54 51 65 0 0 40 0 41 40 42 20 CA 5 rn 5 LS20 Q 5 LW2l 5 Exit Call Word ~ q Is 50200 > call word? If so, a Permanent Library Routine is being referenced Cail word is ~ 50-200 Puts indicator that library routine from Uniservo 2 is being referenced into 5 LS12 LSll LS12 LS4l Puts indicator that a Permanent Library Routine has been referenced into 5 Call Word ~ A A Sets up u of repeat so that library list LS14 may be compared ~16 } If library routine is already in list, go to exit Putting library routine call word in list LS20 } rn when it has not been found there LS37 30000 Adding 0 l I t o counter 5 Putting mask 07 77777 77777 into q Masking indicator bits out of 5 for transfer A to A as 0 2000n n LS Is 00 20100 00100 > A. Thus n t number of LS36 rout ines, must be < 10010 WA WA2} Print-Out: SENTENCE ( ) TOO MANY LS30 UP3 LIBRARY ROUTINES. Rewinds tapes and stops o CW15 computer Parameter for print-out LS3l 5 TOOl!\MA 51510 14724 NYl!\LIB 73014 63425 R AR Yl!\R 24547 30154 67663 45030 OUT I N E S 77777 77777 CI20000 CI Threshold for number of library roudnes. CI 10010 o iN Address of 1st line of library list 50200 0 Call word of 1st non-permanent library routine o 0 Indicator that a Permanent Library Routine has been referenced o 0 Indicator that Uniservo 2 Library Routine has been referenced LS43 CW27 Q = 1001 Routine for Conversion of Excess-Three to Flex Code Three regions VX (154 addresses), FC (100 8 addresses). and VE (6 ad8 dresses) -- comprise the total 262 needed for this routine. 8 The parameter input line. VX4, holds the address of the first line of input in the u portion. In the v portion is given the number of words of input. If every other line starting with the first address is to be selected as input, 40 is put in the operation code of VX4. If every line following the first address is to be used. 00 is put in the operation code. In the u portion of VX3, the desired address of the first line of output should be supplied. V of VX3 must be zero before entering routine. The routine when operated by instruction RJ VX2 VX will supply in the v portion of VX3 the number of words of output. The Flex code output is packed from the left with the necessary added shift-up or shift-down Flex codes. Every excess-three character from 00 to 76 has a corresponding Flex code or set of Flex codes assigned to it as shown on the accompanying table. 77, though assigned Flex code 77. is not stored in the output. Because of the addition of shift-up and shift-down Flex codes and the fact that some excess-three characters are represented by more than one Flex code, greater storage space must be allowed for the output than is needed for the input. In the table the first digit of each Flex code representation is not stored in the output. It is used only to distinguish between lower-case and capital letters. A 4 in the first position indicates lower-case; 0 indicates capital. A basic assumption in this routine is that the characters on the Flexowriter are in the standardized form shown in Table I on page 15 of PX38~(Input and Output Systems - Univac Scientific). Any changes made on the Flexowriter keyboard from this standard will cause erroneous results in the print and type instructions of UNICODE. The keyboard of proposed on the two Preparation, of the this requirement of the Unityper is assumed to be in accordance with the changes pages following the code table. See Chapter 8 t Tape UNICODE Manual for an explanation of a system of bypassing an altered keyboard. 1002 Excess Three to Flex Code Table Excess Three Character Where Different Excess Three Code Flex Code Character 0 1 056 004 Space ') A~L. "'SoJV '" / > < 437 452 474 470 464 462 466 472 460 433 054 413 01 12 046 070 446 442 446 030 023 016 022 020 026 013 005 014 062 060 411 24 12 3 4 5 6 7 10 II 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 1003 0 1 2 3 4 5 6 7 8 9 / gtr ( W A B C D E F G H I W W Isr Excess Three to Flex Code Table (Cont.) Excess Three Character Where Different Excess Three Code Flex Code 074 064 450 042 032 036 011 007 006 003 015 035 012 066 427 61 54 033 W ~ 73 74 037 052 044 454 054 024 001 034 017 031 027 025 021 75 76 77 072 444 077 40 * Character 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 1004 ~ I ) J K L M N 0 P Q R W * "V W V + / S T" U V W X y Z '\V = Ignore Proposed Unityper Changes PRESENT PROPOSED ADDITIONS SYMBOL PULSE CODE NAME 00 0000 Ignore 00 1101 Apostrophe 00 1110 Ampersand & 01 0000 Carriage return f 01 1101 Number 01 1110 NAME SYMBOL Superscript minus J Superscript slash / Greater than > Superscript three 3 # Superscript five 5 Cent t Superscript eight 8 01 1111 At one @ Less than < 10 0000 Tab t Superscript two 2 10 0001 Quotation " Superscript four 4 10 1101 Dollar $ Superscript six 6 10 1111 Question ? Superscript nine 9 11 0000 Sigma 2: Superscript zero 0 11 0001 Beta f3 Superscript one 1 11 0010 Colon 11 1101 Per cent G Superscript decimal point % Superscript Seven 1005 7 0000 -* 00 It 0001 6. 3· 01 10 IT • 2· 4· II In 0* 11 1* 0010 0011 - 0 . .• , 0100 1 0101 2 0110 3 0111 4 1000 5 1001 6 1010 7 1011 8 1100 q /* 1110 >** A B C D E F G H I ) .J K L M N 0 p Q R + / S T U V W X Y Z ( 6* rr f% Superscript symbols New symbols -- 8* <** rr r 7* * ** 1111 I' f& 5* • * fY W I: 1101 * = I q* r- ~ Excess Three To Flex Code Subroutine Flow Chart ~ Setups ~-L Has input been used up? No Put input word in working storage Convert excess three character of word to a set of Flex code characters Yes Pack to left and store last line of output Store output line and up count 1 Yes RJ switches to provide Flex shift ups (47) or shift downs (57) only when a change in Flex code sets is made from caps to lower case. and vice versa Pack a Flex code in working storage output line. Have all excess -3 characters of an input line been used? 6-point RJ distrib2' utor to check if an output line is filled Excess-Three to Flex Code Subroutine iAddress of 1st line of output VX3= Address of 1st 00 if VX4= every line of input line. 40 if everJ other line o IA MJ 1 RJ 2 MJ 3 0 4 0 5 TP 6 RP 7 10 11 12 13 14 15 16 17 TV TV TV TV TP TP TP QJ TP 20 MJ 21 TP 22 TV 23 TU 24 TU 25 LQ 26 TV 27 IJ 30 MJ 31 TP 32 LQ No. of words of input vx o o o VX5 Entry 30000 Exit VX152 10005 VX14l VX140 VX136 VX137 VX150 VX150 VX4 VX17 VX153 VE5 VXlO} VX65 VX72 VX47} VX54 VE } VEl Q VX2l VE2 Set up input line character index Set up n-point distributor to beginning values o VX22 VE2 [0 1 OJ ~ VE2 VE Number of words of input ~ VE Address of 1st input line ~ u of VX3l VX31 VE3 } Address of 1st output line~ v of VE3 25 VXl02 Address of 1st output line ~ v of VXl02 VX3l Index jump for number words of input VX12l Line of input ~ VE4 VE4 17 Initial shift of input line so 1st character will be in proper position Puts character XY to be masked out in right 6 side of u of VE4 [Sp fc OJ + [0 II OJ~[Sp fc + xy OJ o o VX147 VX4 VX4 VX3 VE3 VE3 VE o 30000 VE4 33 LQ VE4 34 35 36 37 TP VX142 VX143 40 QA Must be set at zero before usina subroutine No. of words of output 0 o EJ VX151 LA A o o o Set up to insure that the output will start with either a shift up or shift down 47 57 Clear 2 addresses of working storage Parameter VX4 ~ q Test to see if 40 is in operation code of q [0 2 oJ -7VE2 to enable input address to be incremented so every other line is taken ~VX36 If Flex code picked up is a 77 t storing part of routine is bypassed 44 AR~ AL 1008 41 SJ VX42 VX45 42 LA 43 SS A A o 44 3 Test if character is lower case. Negative means lower case 1 Left shift and spli t subtract to eliminate J 4 from Flex code representation MJ o VX47 Jump to switch 45 LA A 3 46 MJ 47 RJ o VX54 VX55 Left shift to properly position Flex code at far left of AL Jump to switch Entryt5witch to provide shift ups and shift downs in output only when a change is made from lower case to caps or vice versa 50 RJ 51 52 53 54 55 56 57 60 61 62 63 64 65 MJ SA MJ RJ RJ MJ SA 66 67 70 71 72 73 74 75 76 77 LQ SA TP SS RJ RJ RJ RJ RJ RJ MJ LA LQ SA TP SS VX54 trv~ A VAil~ o VX73 , Exit. No VX145 o VX47 VX47 VX60 VX50 VX57 VX73 o o VX144 VEl VEl A A VX64 VX64 VX64 VX64 VX64 VX64 o A VEl VEl A A 100 MJ o 101 VX73 ZJ VX52 o 6 o VEl o VE5 VXlOl VX33 116 TP VXl52 VE5 A A o + Exit +Exit. - no action. o VX64 VXl15 VX150 VX3 VX146 A A Exit. Entry' ~ When Switch has provided a 47 or 57 to be inserted in VEl, these three steps pack } the Flex code into the output line Clears AR VX65 N-Point VXlOl Distributor used to determine when each VXlOl output line has received VXlOl its six Flex code characters VXlOl VX10l VXl02 A no-action exit from the Switch causes sub6 routine to transfer the Flex code character 6 to the output, following which Aft is cleared, o and a jump is made to the n-point distributor VEl 102 TP 103 SA 104 SA 105 TP 106 S5 107 TP 110 5A 111 SA 112 TP 113 55 114 MJ 115 IJ VEl VXl02 VX146 t. action. 30000 When a = O?, an excess-three character has had its Flex code set used up Completed output line is stored v of instruction VXl02 is increased by 1 tl02 } o VEl g VX3 Clears AR Output line is cleared } Number of words of output is increased by 1 o Index jump to determine when a line of input has been exhausted Index is set up for next input line 1009 117 120 121 122 123 124 125 126 127 130 131 132 133 134 135 136 137 140 141 142 143 144 145 146 147 150 151 152 153 RA MJ TP ZJ TV RP TV LQ MJ TP 0 RA MJ 0 0 0 0 0 0 SP 0 0 0 0 0 0 07 0 0 CA VX31 0 VEl VXl23 VX134 10005 VX135 VEl 0 VX102 0 VX3 0 0 0 0 0 0 0 FC 77 0 0 0 1 0 70000 0 2 VX154 VE2 VX31 is increased to take next line of input VX27 Jump back to input-word index A VX2 } Test to see if output line is empty VX72 up n-point distributor to handle VX12 } Setting last line of output VX65 6 Loop of left shifting until elements in VEl VX64 are in leftmost position VX131 Putting last line into output 0 Completing count of output lines VX14 VX2 Handling final line of output VX130 VX126 VX55 VX50 VXl02 VX101 0 0 57 47 1 0 0 0 } } 5 0 Constant (used also by Read Generator) Region FC of Flex codes is not shown here because it has previously been given in the section explaining the tables used in the translation phase. EXCESS-THREE TO FLEX COlE USES OF WORKING STORAGE VE ,0 Index for number of words in input. 1 For a.sembling output characters. 2 To increment address from which input lines are taken. 3 To assemble first address of output. 4 To store line of excess-three characters while working on it. 5 Character index per line of input. 1010 3. GENERATORS 3.. GENERATORS The generators are described in the order in which they are loaded on the drum. See Generation Subroutine Regions in the preceding section for this order. 1013 Start Generator Flow Chart Generate prelude & MJ 0 30000 MJ 0 01003 t----aI Generate Op File I item Prelude & Op File I to tape START GENERATOR SUBROUTINE 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 RE RE RE PT2512 PL5360 FL2542 RE RE OP1047 WL2242 IA MJ RP TP SP TU TP RP PT 0 30010 PT16 WL3 A WL1 30002 PT26 WL3 A PT15 OP 0 PL 0 0 0 0 0 0 0 0 TP SP TU TP RJ MJ 0 0 0 0 0 0 0 MJ MJ 0 0 CA (OJ 0 PT30 Generation subroutine Input to generator 30000 PT3 -} PL 17 PL PL5 PT10 FL 17 FL OP1 OP2 PT FL 10 Exit Generate Prelude format } Sentence call word to prelude Standard line no. Generate Op File. I format } } Sentence call word } Parameters to Op (~tape) Exit Parameters 2 0 0 0 0 30000 01003 2 2 to Op File I Prelude format } Op File 1015 I format Jump Generation Routine The string-out input to the Jump Generator consists of 6 lines. The first four conform to the standard format: number of words in string-out in v part of first line, line number in second line, title in third line, and call word of sentence in v part of fourth line. The fifth line contains the line number of the line to which the jump is to be executed. 40 0 0 The sixth line contains if the sentence is within a pseudo op; if not, it is cleared. The Jump Generator builds up the Op File, prelude, and running program from this data. The first line of the generated running program is a dummy line, MJ 0 30000, put in to conform to the standard format of all generated running programs. In the v part of the second running program line is put the call word of the sentence to which the jump is to be made. Following this line is the ten line, 10 0 I, put in to ensure that the jump will be made to the second line of running program generated for the sentence. The first line of any running program has been standardized as the exit line of that segment of coding. Also put in the Op File is the call word of the line number to which the jump is to be made. A separate routine, KIt is used to determine if the jump is permitted. Jumps may be made within a pseudo operation only to other sentences that are also within the same pseudo OPe op to sentences within a pseudo or initial heading of a pseudo Jumps may not be made from outside a pseudo OPe Jumps may not be made to the first line OPe As with other generation routines, the final instruction is the reference to the op routine which stores the Op File and writes the generated routine on tape. 1016 Jump Generation Flow Chart .Put call words of current sentence in Op File and prelude ...... o...... -.I Finish building prelude by putting in line number Getting call word of sentence to be jumped to and putting it in running program & op file Check if jump- ] is illegal I - irite Op File,prel ude. and running program on tape ~ J Jump Generation RE JU2512 Generation Subroutine regions are also needed to assemble this tape IA MJ 1 SP 2 TU 3 TU -0 4 5 6 7 10 11 12 13 TP TP RJ TV TU TP RJ TP 14 RJ 15 MJ 16 0 17 20 21 22 23 24 25 26 27 30 31 32 0 0 0 0 0 0 0 0 0 MJ MJ 10 CA JU 0 BK3 30000 17 JU17 JU22 of sentence to 1st line of Op u position Call word of sentence to 1st line of A prelude in u position BKI JU27 Line no. to prelude BK4 Getting call word of line number to be A LW LWI jumped to from ref. list JU3l Call word to v of running prog. jump line Q JU21 Call word to Op File cross reference A BK5 } Puts pseudo op indicator into Q Q KI KII Check to see if jump is permitted OPI } Writes Op File & prelude & running program JU16 on tape OP OP2 0 JD Exit Parameter for writing Op File & generated JU22 JU17 routine on tape 30000 3 0 Op File "dummy" lines 2 30000 0 30000 11 0 3 0 0 0 Prelude "dummy" lines 0 0 0 0 0 0 30000 } 0 30000 Running program "dummy" lines 0 1 JU33 A word } Call File in } } 1018 If Generat ion The "if" string-out output VN - VN33 t as described in the write-up for samet becomes the input BK - BK33 of this routine. KB, the control routine, generates the coding needed for obtaining the variables or constants to be compared. If X or Y is a subscripted variable, a relative constant call word (10000 or 10001) is assigned to it in the coding. The regUlar call word of X or Y is stored following the generated routine. The processor later replaces the 10000 call word with the address of this stored call word. The stored call word in turn is replaced by the address of the first line of the array of the variable. This obviates the necessity of the routine keeping track of where the call word of the variable has been put and putting this address relative to 1000 in wherever a reference is made to the variable. When X or Y is a pseudo op subscripted variable, this indirect method is no longer necessary. Because the pseudo op call word is a call word of a call word, the address is obtained by using it directly. KB uses KC routine to generate the coding needed for getting the right address of an item in an array of values of a subscripted variable. The number of subscripts of a subscripted variable must never be zero. The call word of the first line of an array is obtained by using the subscripts but giving them zero value. Operation of KC is based upon the following formula: Z, the modulus t is the product of the number of values assignable to each subscript in the dimensipn statement. The subscripts vary from right to left. MK = Lo where Lo means the number of values retained for L as shown in dimension statement t viz: OIM X(IOtJOtKot~). MJ = ~·Ln· MI = JO·~·In· z = Io·Jo·KD-In- 1 [X(OtOtO,O~ means the address of the variable whose subscripts are zero. Thus, it is the address of the first line in an array. It is located by use of the relative constants 10000 and lOOOlt as explained above_ Thus the program divides the sum of the products and the value of L by the modulus Z. The remainder in A is added to the address represented by 1019 1 [X(O,O,O,O)] to give the final address of 1 [X(I,J,K,L~. This address is transferred to A where it is used in a TU instruction to set up a TP inu struction that will put the variable into a temporary storage location, 60000 for X and 60001 for Y. Following instructions give X and Y absolute or negative values, if desired. The processor changes 60000 and 60001 to assigned addresses. Coding for the tests needed is now generated. The threshold jumps that make the tests go to manual jumps within the coding. This is done to facilitate segmentation. In the v addresses of these manual jumps is put the call word of the line number to which the main jump is to be made. Following the manual jumps, fflO lines" are put to ensure that the jump to coding of a sentence goes to the second line of the coding, the first line being an exit. Subroutine KD generates the test coding for the situation in which three line numbers of possible jumps have been supplied in the string-out input. Subroutine KF takes care of the case in which there are two line numbers and one test which divides X and Y into two exhaustive categories. Also taken care of in this routine is the situation in which two tests are requested but no third line number is given for a final jump in case both fail. In the latter instance, of course, the jump is made back to the beginning address, 1000, of the coding. From here, a jump is made to the second line'of the coding for the subsequent sentence. Subroutine KK takes care of the case when just one test is made in an -if" sentence. In addition, a segment of it handles the details of termination and references the op routine to get the Op File and generated routine written on tape. KH consists of a group of subroutines which assist in all the functions described above. The Op File is stored and built up here. In its initial form KHS7 holds 0 30000 2 in the first line of Op File. This line is not preset at the start of a use of the Generation Routine. Hen~e. it becomes necessary to transfer the generation coding afresh either from drum or tape prior to each use of it. The v of this instruction is added to as lines are filled in the Op File. One subroutine of KH keeps a count of the line of the running program relative to 1000 as it loads output region GL. This count, called 1020 100x on ~if~ generation annotated coding, is used to compute jump addresses and to calculate total lines at end of ~if~ generation. Print-outs that may occur during~~generation are those which accompany use oi KI. the illegal line number check routine. (See separate write-up on KI.) In a KH subroutine. the call word of the line number is obtained from LW, sent to KI for checking. and then put in the generated routine. (See reference list write-up for print-out that may occur in LW.) KA holds constants uSed and KE holds duuooy instructions that are modified and assembled to make up the generated routine. Attached is an explanation of the use of temporary storage (addresses GLlOO - 112), a descriptive format of first eight lines of GL output, and samples of generated coding. 1021 Initial Lines of Output GL Prelude Exit line of running program o o u v Call word of sentence to u of GL. v = lOOx 1000 + 6. Thus v is no. lines generated routine incl. "10 lines" and prelude. 1 o o v v = 100x - 1000, number of lines subject to address modification. 2 o 3 o o o Number of inputs is zero. 4 o o o Number of outputs is zero 5 Line Number 6 MJ 20000 0 o v The 2 in 3rd digit from left is a count of temporaries used. Count of relative constants is in 4th digit from right. Line number of sentence v = lOOx - number of "10" lines + 3. This gives a jump to 2nd line of coding of subsequent sent. Entry line of running program. 7 Temporary Storage for If Generation GL Where each new line of running program is assembled before insertion in output GL. 100 101 o o lOOK 102 o o v Used in computing jump lines. 103 o o v Number of relative constants used. (10000 and/or 10001) 104 o o v 105 o v 106 o o o v Call word of subscripted variable equated to 10000. Call word of subscripted variable equated to 10001. Number of "10 lines" 107 o u v (BK15) 110 u v ( BK16) 111 o o u v (BK17) 112 o o v ( BK20) Ordinal number of running program line relative to 1000 ("10 lines" are included.) Always has next line to be used. 1022 Holds, alternatively, the values in BKlS - 20 on X and BK25 - 30 on Y when these are subscripted variables. IF GENERATION - SAMPLE CODING *Example 1 NOT in Pseudo-Op List < First test > Second test For both X and Y: Sign complement desired Absolute value desired X and Y subscripted variables with 4 subscripts each GL o 1 2 3 4 1000 1001 1002 5 6 7 o o o o o u 0 20000 0 0 50 42 02000 o o Line Number 1042 MJ 0 u o 10 SP MA u v 1003 11 MA u v 1004 12 MA u v 1005 1006 1007 1010 1011 1012 1013 1014 1015 1016 1017 1020 1021 1022 1023 1024 1025 1026 1027 1030 1031 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 TJ u u 33 34 35 36 37 u = Call word of "IF" sentence line no. DV SA TU TP TM TN SP MA MA MA 10000 A 30000 60000 60000 1007 Q 17 Br8... ced portion is ~oding to obtain X in 1011 60000 { prQper form in 60000. 60000 60000 . u o u v u DV u u u SA TU TP TM TN 10001 A 30000 60001 60001 v v 1022 Q 17 1024 60001 60001 60001 TP TJ 60000 A 60001 60001 1033 1034 TJ EJ u = Call word of L subscript u = Call word of MK = K multiplier v = Call word of K subscript u = Call word of MJ v ~ Call word of J u ~ Call word of MI v ~ Call word of I u ~ Call word of Z, modulus u = Call word of Z, modulus Coding to put Y in proper form in 60001. Explanations of u and v are same as for X above. X A Is X < Y? -7J> Is X ~ Y? *The sentence from which this program was developed read as follows: - ~ X( it jii kyl ) l <: - +-Y-fi,j t k,IJt lY(i,j,k,l)1 jump to sentence 54. if - IX(i.j.k,l)1 sentence 4ll. 1023 =- If t X( i.j ,x, l)t >lY(i.j,k,l) I jump to jump -to-Belttence 42, if ... MJ 10 MJ 10 MJ 10 1035 40 41 42 43 44 45 46 1036 47 o 1032 1033 1034 o o o o v X > Y. v = Call word of line number of 1st test. X < Y. 1 v 1 o v o o v = Call word of line number of 2nd test. v = Call word of 3rd line number. X = Y. 1 o v o v 1037 1040 1041 1042 10000 equated to 1035 by processor. word of 1st line of X array. 10001 equated to 1036 by processor. word of 1st line of Y array. Temporary storage. 60000 equated to by processor. Temporary storage. 60001 equated to by processor. 1st line of program of next sentence 2nd line of program of next sentence v = Call v = Call this address this address (exit). (entrance). Op Fi Ie KH 57 60 61 62 63 64 65 o o o o o o o u o 7 41 u 0 u 0 0 0 0 u u u u is 100x u is u is u is u is u is call word of - 1000 - "10 call word of call word of call word of call word of call word of "if" line number. lines" + 2 temporaries. X. Y 2nd test line number. 1st test line number. 3rd line number. The count kept in GLIOI of the ordinal program number line relative to 1000 is not the same as that shown above since it includes "10 lines". Proper deductions are made for this inclusion in computing the totals near the end of the program. 1024 *Example 2 In Pseudo Op List with a Pseudo Op subscripted variable of 3 subscripts for X & 2 for Y < = Single test Only one line number (one for above test) Sign Complement of X desired GL o , ~ 2 3 4 5 o o o o o u o 20000 0 0 Line Number MJ 0 SP u 33 o o o 1027 1000 1001 1002 10 MA u v 1003 11 MA u v 1004 1005 1006 1007 1010 1011 1012 1013 12 13 14 15 16 17 20 21 TJ 1014 1015 1016 1017 1020 1021 1022 1023 22 TJ 23 24 25 26 27 30 31 32 DV SA 6 7 DV SA TU TP TN SP MA TU TP TP TJ MJ 10 1024 1025 u = Call word of "Ir' sentence line number 25 o X > Y u u v u v u u u = = = = = = = Call word Call word Call word Call word Call word Call word Call word = Pseudo op of K subscript of MJ of J of MI of I of Z, modulus of Z,modulus call word of call word of X 1006 Q 17 1010 30000 60000 -This puts X into 60000 60000 60000 u o u = Call word of J subscript u u = Call word of MI v v = Call word of I u 1016 } u = Call word of Z, modulus u Q u u = Pseudo op call word of call word of Y 17 A 1020 -This puts Y into 60001 30000 60001 60001 A 60000 Is X > Y? 1000 0 v v = Call word of line no. of 1st test. X ~ Y. 0 1 Temp storage 60000 equated to this address by processor. Temp storage 60001 equated to this address by processor. u u u A Op File KH 57 60 61 o o o u o u 3 26 o u = Call word of "If" sentence line number. RURRlngprog. length including 2 temporaries u = Call word of line number of test *If - X(i,j,k) < = Y(i,j) .lump to sentence 1025 37~. *Example 3 < First test > Second test No 3rd line number X and Yare not subscripted variables. GL 1000 1001 1002 1003 1004 1005 1006 0 1 2 3 4 5 6 7 10 11 12 13 14 0 20000 0 0 0 0 Line Number MJ 1013 0 TP u 60000 TP u 60001 TP 60000 A TJ 60001 1007 EJ 60001 1000 MJ 0 v 1007 15 16 10 MJ 0 0 1 v 17 10 0 .1. 0 u 20 12 0 0 0 u = Ca 11 word of "if" sentence line number X u u =Y =Call =Ca 11 word of X word of Y Is X < Y? Is X ~ Y? v = Call word of line number of 2nd test. X> Y. v = Call word of line number of 1st test. X < Y. 1 1010 1011 1012 1013 Temporary (60000) Temporary (60001) 1st line of next sentence coding 2nd line of generated program of next sentence Op Fi Ie KH 57 60 61 62 *If X < Y jump 0 0 0 0 u 0 u u 4 12 0 0 u u u = Call = Call = Call word of "if" sentence line number word of 2nd test line number word of 1st test line number to sentence 67, if X > Y jump to sentence 33l1. 1026 IIJ 0 30000 to 1st Is X a pseudo-op line of object subscripted variable? No Put call word of subscri pted variable in Op File and up count of re lati ve constants in pre lude Subscri pt data to temporary storage Put 10000 in u of stolCed line, .. SA 30000 17 ICaarray word of modu Ius () put in u of J OJ- Flow Charts for If Generation Store call word variable given 10000 ca II word 11 stored instructions: TJ 30000 30000 DV 30000 Up count of relative constants used to output ~---------~ .. Reco form of generated coding used throughout in these flow charts for clarity. Actual instructions handled are in octal form. No No Is negative value of X desired? Store call worjOf variable given 10000 relative constant ca 11 word Yes Is Y a pseudo-op subscripted variable? No I'u t ca 11 wo rd of sub-scri pted variable in Op Fi Ie and up count of relative constants in pre lude Have any relative constants of 10000 type No been used? Put 10000 in u of stored line, SA 30000 17 ~ ~)unt ~ of relaconstants used ~ Ca 11 word of modu Ius of array put in u of stored i nstrllct ions: Store ca 11 word of variable given 10001 relative constant ca II word TP 30000 6000 I to output Is there an unconditional jump? Uncondi tiona I jump line number subroutine Line Number Call Word Subroutine Get ting call word of line number Call word to v of temporary holding IIJ 0 30000 TP 60000 A to output TJ 60001 30000 put in temporary storage 10 0 1 line to output 1st test line number subroutine MJ 0 1000 to temporary storage First Test Line Number Subroutine MJ 0 30000 Line number of 1st to temporary storage TP Line number call test obtained word subroutine 60000 A to output EJ 60001 30000 to tem po ra ry storage Second Test Line Number Subroutine Line number of 2nd to temporary storage Li ne numbe r ca 11 word subrou ti ne test obtained Uncondi tiona 1 Jump Line Nullllber Subroutine MJ 0 30000 Line number of unconditional jump obtained to temporary storage 11' 60001 A A 60001 TP 60000 A to output TJ 60000 30000 to temporary storage to output TP number call subroutine . to output L to temporary_ _ _T_J=-=60000.::.::;.,.-=-_10_00 storage ~8 TP 60000 to output A E J 60001 1000 to temporary storage T J 60001 1000 to temporary storage Subroutine to Put Line Store line in buffer region TP 60000 in the form 100X A to output TP 60000 A to output Up count of lines o temporary storage EJ 60001 30000 o temporary storage 100X + 2 to v of storage line Unconditional jump line no. subroutine TP 60001 A to output 1st test line number subroutine T J 60000 30000 to temporary storage 1 count to counter of .. 10 lines" Subroutine to Generate Coding for a Subscripted Variable 4 SPto temporary 30000 0J number subscript.s three? Yes Yes SP call word 0 of I to SP call word 0 of J to output Subscripts storage Yes SP callof Kword 0 L subscript call word to u of storage line to output I MA call MA 30000 30000 MA 30000 30000 to temporary to temporary Line to output call word word of KM of K to output 1-1 0 N ...0 DV call q word of modulus to output 17 of address to hold 1st I ine of array to output MA call call word word of I of IM to temporary storage TJ call word of modulus to output SA call word TU Line to output AN:=J to output NOT= TP 60000 A 27 to output MA eall call word word of ~JM of J to output '-----, EJ 60001 300-0-0}-0 to temporary storage 30 &--_---~ TP 60000 A to output TJ 60001 30000}-® to temporary storage 30 Termination Subroutine Sentence call word to u of 1st line of Op File Compute number of lines subject to address modification and store in 2nd line of prelude Two relative constant call words put at end of generated program Sentence call word to u of 1st line of prelude Compute proper jump Compute number of number of line rellines generated ative to 1000 that routine including will go to next UNI- - "10 1ine s" and pre 1CODE instruction. ude and put this Put no. in v of 1st number in 1st line of prelude line of object program Store Op File and write generated routine on tape Have zero relative constants been used? No Has only one relative constant been used? Yes One relative constant call word put at end of generated program Compute running program length including temporaries and store in 2nd line of Op File No = TJ 60000 100x+4 to output < TP 60000 A to output 2nd test -> ? No EJ 60001 100x+4 to output EJ 60000 30000 to temporary storage TJ 60001 30000 to temporary storage > EJ 60001 100x+3 to output TJ 60001 1000 to temporary storage < ~lst test ~qUa1S? J-----iII ;:. Is 2nd test an equals? 60000 A to output Is 1st test> ? No TJ 60001 10Ox+3 to output es 1st test line number subroutine 2nd test line number subroutine Line to output EJ 60001 1000 to temporary storage 2 to count of "ten" lines TJ 60000 30000 to temporary stora e TP 60001 A to output 10Ox+2 to v of storage line 2 to count of "Ion lines Line to output Unconditional jump line no. subroutine 1st test line number subroutine I < Is 2nd test an equals? TP 60001 A to output TJ 60000 10Ox+3 to output EJ 60000 1000 to temporary storage ~... MJ 0 1000-~ ~ to temporary st~ = f3i\. JTJ ~ 60001 lOOx+4 to output E"J 60001 30000 to temporary storage 10Ox+3 to v of storage line Line to ] output_ < 2nd test >? TP 60000 A to output No EJ 60001 100x+4 to output TJ 60001 30000 to temporary storage = TJ 60001 10Ox+4 to output 3 to count of "10" lines EJ 60001 30000 to temporary storage 100x+3 to v of storage line test line number subroutine 1st test line number subroutine Line to output Unconditional jump line no. subroutine > EJ TJ 60001 10Ox+4 to output 60001 10Ox+3 to output 2nd test line number subroutine 3 to count of "ten" lines > TP 60001 A to output Is 2nd test an equals? 3 to count of "ten lines tl No TJ 60000 100x+3 to output Unconditional jump line no. subroutine 1st test line number subroutine Unconditional jump line no. subroutine EJ 60000 10Ox+4 to output 1st test line number subroutine 2nd test line number subroutine = T J 60000 10Ox+4 to output EJ 60000 10Ox+3 to output Uncondi tiona 1 jump line no. subroutine 3 to count of "10" lines 2nd test line number subroutine 1st test line number subroutine IF Generation Regions RE RE RE RE RE RE RE RE RE RE KB2512 KA2644 KC2660 KD2737 KE3070 KF3123 KH3265 KK3353 SA3457 KR3462 Generation Subroutine regions are also needed to assemble this tape. 1033 If Generation KD - Unconditional jump with second test KB - Start- Control KF - Unconditional Jump and no second test. KF53 - no unconditional jump and a second test. KK - No unconditional jump and no second test. KK47-Termination loop. KC - Subscripted variable coding KH and KR - Subsidiary routines KA - Constants KE - Dummy instructions Unconditional jump wi th 0 second 1 test 2 3 < 1st test' 4 5 6 7 >2nd tesf\ 10 11 12 13 14 15 16 17 20 21 22 23 -=-2-n-=-d-t-e-s...... t 1.24 25 26 27 30 31 32 33 34 IA TP ZJ TP EJ EJ TP RJ TP EJ TP RJ RJ RA TP TV RJ RJ RJ RJ TP MJ TP RJ RJ RS TP TV RJ RJ KD BK7 KD2 BK4 KA4 KA5 KElO KH40 BK6 KA4 KEll KH24 KH40 GLI02 KE14 GLI02 KH40 KH3 KH7 KH13 KA4 o KEll KH30 KH40 GLI02 KE14 GLl02 KH40 KH13 35 RJ KH3 36 RJ 37 TP KA4 -=--'--1s-t-t-e-s..... t ~J 41 TP 42 RJ 43 TP 44 EJ KH7 o KEIO KH40 BK6 KA5 ~ ~41 } Is there a second test? } Is Is KD75 GLIOO} TP KH35 } Is ~25 first test an =? first test> ? 60000 A to output 2nd test an =? GLlOO KH2l KH35 TJ 60001 30000 To put proper jump (+3) in v of above Line to output Adding 1 to jump storage line in GLI02 KA EJ 60001 30000 GLIOO Jump (lOOX + 4) to v of above GLlOO Line to output KH35 KH Line no. of 2nd test to output plus 1110" line 1st test line no. + 1110" line to output KH4 KHIO Unconditional jump line number + 10 line to output 3 to GLI06 as count of number of 10 lines GLI06 KK47 Jump to termination loop GLIOO TJ 60001 30000 100X + 4 to v of above instruction KH25 KH35 Line to output KA 100X + 3 now in GLI02 GLlOO EJ 60001 30000 GLIOO 100X + 3 to v of above KH35 Line to output KHIO MJ 0 v followed by 10 line to output. v = unconditional jump line no. KH MJ 0 v followed.by 10 0 1. 2nd test line no. = v KH4 MJ 0 v (first test) with 10 0 1 to output GLI06 Number of 10 lines (3) to storage KK47 Jump to termination loop GLIOO} TP 60000 A to output KH35 ~61 } Is 2nd test > 1034 <2nd test 45 TP 46 RJ 47 RJ 50 RS 51 52 53 54 TP MJ TP TU 55 RJ 56 MJ 57 0 ->2nd test 1 60 0 61 TP 62 RJ 63 RJ 64 RA 65 TP 66 TV 67 RJ 70 RJ 71 RJ 72 RJ 73 TP >lst test I 74 MJ 75 TP 76 RJ 77 TP <2nd testl 100 EJ 101 TP 102 RJ 103 RJ 104 RA 105 TP 106 TV 107 RJ 110 RJ III RJ 112 RJ 113 TP = 2nd tes~MJ 115 TP 116 RJ 117 RJ 120 RS 121 TP 122 TV 123 RJ 124 RJ 125 RJ 126 RJ KEl4 KH30 KH40 GLI02 KE11 0 KE32 A GLIOO KH25 KH35 KR4 KR1 0 0 0 KE14 KH24 KH40 GL102 KEll GL102 KH40 KH3 KH7 KH13 KA4 0 KE15 KH40 BK6 KA4 KE16 'KH24 KH40 GLI02 KE24 GLI02 KH40 KH3 KH7 KH13 KA4 0 KE16 KH30 KH40 GLI02 KE24 GLI02 KH40 30000 0 0 GLloo KH21 KH35 KA GL100 GL100 KH35 KHI3 KH3 KH7 EJ 60001 30000 100X + 4 to v of above Line to output KA lOOX + 4 - 1 GL100 KD32 GL100 GLIOO TJ 60001 30000 TO A 30000 Puts 61 --- Call word into u of above instruction Puts address of next instruction into v of above instruction and sends line to output. [TV 61---N:O EJ 60001 30000 100X + 3 to v of above instruction Line to output 100X + 3 + 1 TJ 60001 30000 100X + 4 to v of above Line to output KH 2nd test KH4 1st test KH10 Unconditional test GL106 3 to count of ten lines KK47 To termination loop GL100} TP 60001 A to output KH35 Is 2nd test =? GLIOO TJ 60000 30000 KH21 100X + 3 to v of above KH35 Line to output KA 100X + 3 + 1 GL100 EJ 60000 30000 GL100 100X + 4 to v of above KH35 Line to output KH 2nd test KH4 1st test KH10 Unconditional test GL106 3 to count of "10" lines KK47 To termi~ation loop GLloo TJ 60000 30000 KH25 100X + 4 to v of above KH35 Line to output KA 100X + 4 - 1 GL100 EJ 60000 30000 GL100 100X + 3 to v of above KH35 Line to output KHIO rrnc6ridTtTonaT test KH 2nd test KH4 1st test ~115} 1035 127 TP 130 MJ CA StartControl IA MJ 1 TV 2 TV 3 TP o KA4 o KB o KKIOI KKI02 KAl KAI BKI KA2 KE KH40 BKII KB15 BK14 KAIO KHl6 20 TU 21 TP BK14 30 31 32 33 34 35 36 37 Nonsubscripted X 40 41 42 43 44 45 46 47 50 51 52 53 54 KE12 KAl KAll 30000 KH35 KH41 GLI03 GL2 GL3 } GL4 GL5 GLIOI GLIOO) KH35 f ~5 } 17 } KB37 KH14 KE31 GLI04 RA TP GLI03 KA KA7 Q QT BKll A TU TU A A KE27 } RP TP 30004 BK15 KA6 BKII KC KEI KH40 KB31 } GLI07 Q TP Qr RJ TP RJ MJ TO o A o MJ TP SP KEI BK14 TU A RJ TP KH40 BK31 KB57 BK13 KB51 QJ TP QJ TP RJ TP QJ 3 to count of "10'" lines To termination loop KD131 4 TP 5 TP 6 TP 7 TP 10 TP 11 TP 12 RJ Generation 13 TP coding for 14 ZJ X 15 SP 16 TJ 17 RJ 22 23 24 25 26 27 GLI06 KK47 KE3 KH40 BK12 KB55 KE30 A Exit GL6 to v of KH35 KH6 to v of KH41 Clearing GLI03, the counter of relative constants used o 20000 0 to output Clear GL3, GL4 Line no. to GL5 0 1000 to GLIOI MJ 0 30000 to GL6, first line of Object Program If BKII isn't zero, X is a subscripted variable If 77000> call word, it is a pseudo-op subscripted variable Puts call word of sub. var. in Op File & ups count of relative cons. used 10000 to u of SA 30000 17 Storing call word of variable given 10000 call word Count of relative const. used increased by 1 o 77777 0 mask to q Call word of modulus to ~l fTJ 30000 30000 Modulus call word to u of 30000 q LDV Subscript data to GLl07-l2 Mask of 0 0 77777 to q Number of subscripts to A Generation of coding for subscripted variable TP 30000 60000 to GLlOO and to generated output coding o KCl GLIOO} KH35 KB47 KE31 Call word to u of for pseudo op KB23 GLIOO TP 30000 60000 17 } GLIOO Call word to u of KH35 Line to generated ~B47 } Is X a constant? ~B53 instruction (SA 30000 17) to GLIOO above coding output } Is absolute value desired? GLIOO} TM 60000 60000 to output KH35 ~57 } Is negative value desired? 1036 55 TP 56 RJ 57 TP Generation 60 ZJ coding for 61 SP y 62 TJ 63 RJ 64 65 66 67 TP ZJ TU TP 70 MJ 71 TU 72 TP Non-subscripted y 73 74 75 76 77 100 101 RA TP QT TU TU RP 102 TP QT RJ TP RJ MJ TU MJ TP SP TU RJ TP QJ TP QJ TP RJ TP QJ TP RJ 103 104 105 106 107 110 III 112 113 114 115 116 117 120 121 122 123 124 125 126 127 130 131 TP TP ZJ CA KE4 KH40 BK2l KB6I BK24 KAlO KIH6 GLI03 KB66 KAl2 BK24 o KAII BK24 GLI03 KA7 BK2l A A 30004 BK25 KA6 BK2l KC KE2 KH40 o A o KE2 BK24 A KH40 BK32 KBl30 BK23 KBl22 KE5 KH40 BK22 KB126 KE6 KH40 BKlO KD KB132 GLlOO} TN 60000 60000 to output KH35 A Is Y a subscripted variable? 1 KRIO .., 17 ~ If 77000> call word, it is a pseudo op sub. KBllOJ variable Puts call word of sub. var. in Op File and KH14 ups count of reI. cons. used Have any relative constants of 10000 type A been used? KB71 } KE31 10001 to u of SA 30000 17 GLl05 Storing call word of variable given 10001 call word KB73 KE3l 10000 to u of SA 30000 17 Storing call word of variable given 10000 GLI04 call word Count of relative constants increased KA o 77777 0 to q Q TJ 30000 30000 } Modulus call word to u of { DV 30000 q KE30 KBl02 } Subscript data of Y to temporary storage GLl07 o 0 77777 to q Q Number of subscripts to A A KCl Gen. of coding for subscripted variable GLIOO} TP 30000 60001 to output KH35 KB120 Call word to u of SA 30000 17 for pseudo op KE31 KB74 TP 30000 60001 to output line GLIOO 17 } Call word to u of above line GLlOO KH35 Line to output ~E27 ~B120 } Is Y a constant? ~124} Is absolute value desired? GLlOO} KH35 TM ~130} Is negative value desired? GLIOO} KH35 TN A KF53 "I J 60001 60001 60001 to output 60001 to output Is there an unconditional jump? 1037 Unconditional Jump and no 2nd Test 0 1 2 3 4 5 6 7 10 1st test 11 12 13 14 15 16 17 20 21 22 =(lst) 23 24 25 26 > 1st 27 30 31 $ 1st 32 33 34 < 35 IA RJ TP RP TJ MJ MJ MJ MJ MJ KF SA2 KE7 30005 KF4 2 3 4 5 6 TP KEI0 KH40 KEll KH34 KH40 KIU3 KH7 KA3 0 KEIO KH40 KE14 0 KE15 KH40 KE16 0 KE15 KH40 KE16 KH34 KH40 KH KH13 KA3 0 KEIO KH40 KE14 0 KEIO KH40 KEll 0 BK7 KF55 BK4 KA4 KA5 KEI0 KH40 BK6 KA4 RJ TP RJ RJ RJ RJ TP MJ TP RJ TP MJ TP RJ TP MJ TP RJ TP RJ RJ RJ RJ TP MJ TP RJ TP MJ TP RJ TP MJ TP ZJ TP EJ EJ TP RJ 36 37 40 41 42 43 NOT = 44 (1st) 45 46 ~lst 47 50 51 52 No uncon- 53 ditional 54 jump and 55 a second 56 test 57 «1st test) 60 61 62 TP 63 EJ "'I SA } A KF47 ~ ? KF4 KFll < ? KF22 = ? KF26> ? KF32 $ ? KF43 NOT = ? GLI00 } KH35 GLI00 KH31 KH35 KHIO KH4 GLI06 KK47 GLIOO} KH35 GLIOO KF14 GLIOO} KH35 GLloo KF14 GLloo} KH35 GLIOO KH31 KH35 KH4 KHIO GLI06 KK47 GLIOO} KH35 GLIOO KF35 GLI00} KH35 GLIOO KF35 A KK } ~106} Puts MJ Z 0 in A where Z is code number for relation test Determining what first test is TP 60000 A to output TJ 60001 30000 100X + 2 to v of above Line to output Unconditional test 1st test 2 to count of 1'10" lines To termination loop TP 60000 A to output EJ 60001 30000 TP 60001 A to output TJ 60000 30000 TP 60001 A to output TJ 60000 30000 100X + 2 to v of above Line to output 1st test Unconditional jump 2 to count of "10" lines To termination loop TP 60000 A to output EJ 60001 30000 TP 60000 A to output TJ 60001 30000 Is there a second test? Is 1st test =? KF124 GLIOO} KH35 Is 1st test>? TP 60000 A to output ~75 Is 2nd test =? } 1038 TP RJ RJ TP RJ RJ 72 RJ 73 TP MJ 2nd test = 74 TP 75 76 RJ ..,.., nT no) 2nd test> 64 65 66 67 70 71 II 100 101 102 103 104 105 = (1st 106 test) 107 110 111 <~nd 112 te.st: 113 114 115 >2nd test1116 117 120 121 122 123 > 1st 124 test 125 126 127 < 2nd 1 130 test 131 132 133 134 135 = 2nd test 136 137 140 141 1 TP RS TV RJ TP MJ TP RJ TP EJ TP RJ RJ TP MJ TP RJ RJ TP MJ TP RJ TP EJ TP RJ RJ TP MJ TP RJ RJ TP MJ CA No Unconditional Jump & no Second Test 0 1 2 3 IA RJ TP RP TJ KEll KH24 KH40 KE21 KH40 KH3 KH7 KA3 0 KEll KH30 GLIOO KH21 KH35 TJ 60001 30000 100X + 3 to v of above Line to output GLIOO} EJ 60001 KH35 KH KH4 GLI06 KK47 GLIOO KH25 KH40 KH35 KE14 GLI02 GLI02 KH40 KE20 0 KEIO KH40 BK6 KA5 KE14 KH30 KH40 KEll 0 KE14 KH24 KH40 KE22 0 KE15 KH40 BK6 KA4 KE16 KH24 KH40 KE23 0 KE16 KH30 KH40 KE24 0 KF142 GLIOO KA GLIOO KH35 GLIOO KF70 GL100 } KH35 KK SA2 KE7 30005 KK4 ~117 } GL100 KH25 KH35 GLIOO KFI01 GL100 KH21 KH35 GLloo KF70 GLIOO} KH35 ~135} GLI00 KH21 KH35 GLI00 KF70 GL100 KH25 KH35 GL100 KFIOI SA A 1000 to output 2nd test setup 1st test setup 2 to count of ~tenff lines To termination TJ 60001 30000 100X + 4 to v of abo've Line to output EJ 60001 30000 100X + 4 - 1 100X + 3 to v of above instruction Line to output MJ 0 1000 TP 60000 A to output Is 2nd test>? EJ 60001 30000 100X + 4 to v of above Line to output TJ 60001 30000 EJ 60001 30000 100X + 3 to v of above Line to output TJ 60001 1000 TP 60001 A to output Is 2nd test =? TJ 60000 30000 looX + 3 to v 0 f above Line to output EJ 60000 1000 TJ 60000 30000 100X + 4 to v of above Line to output EJ 60000 30000 } ·1 KK43 2: ? KK44 in A where Z is code number test for relation Pu t s MJ Z 0 1039 4 MJ 2 5 MJ 3 6 MJ 4 7 MJ 5 <1st test 10 MJ 6 11 TP KElO 12 RJ KH40 13 TP KEll 14 RJ KH34 15 RJ KH40 16 TP KE20 17 RJ KH40 20 RJ KH7 21 TP KA = 1st L 22 MJ 0 KE 10 test ---"-23~TP 24 RJ KH40 25 TP KE14 -::::>:---_ _ _~2~6 MJ 0 27 TP KE15 30 RJ KH40 31 TP KE16 ~<~--______~3~2 MJ 0 33 TP KE15 34 RJ KH40 35 TP KE13 NOT = L 36 MJ 0 37 TP KElO 40 RJ KH40 41 TP KE2l ~_ _ _4..:::2=- MJ 0 43 TP KElO 44 RJ KH40 45 TP KE22 46 MJ 0 Termi47 SP BK3 nation 50 TU A Loop 51 TP A 52 TP GLI03 53 ZJ KK54 54 EJ KA No. of 55 TP GLl04 reI. cons. 56 RJ KH40 = 2 57 TP GLI05 60 RJ KH40 61 MJ 0 62 TP GLI04 63 RJ KH40 64 TP GLlOl 65 ST KA2 66 TV A 67 ST GLl06 70 AT KA3 l KKII < ? KK23 = ? KK27 > ? KK33 ~ ? KK37 NOT GLlOO} KH35 GLlOO KH3l KH35 GLlOO} KH35 KH4 GLl06 KK47 GLloo} KH35 GLloo KK14 GLloo} KH35 GLlOO KK14 GLloo} KH35 GLlOO KK17 GLlOO} KH35 GLlOO KK17 GLlOO} KH35 GLlOO KK17 17 } KH57 GL ~K64 } KK62 GLlOO KH35 GLlOO KH35 KK64 GLlOO} KH35 J A GLI GL ~60 } Determination of type of 1st test =? TP 60000 A to output TJ 60001 30000 100X + 2 to v of above Line to output MJ 0 1000 to output 1st test set-up 1 to count of '"10·' lines To termination loop TP 60000 A to output EJ 60001 30000 TP 60001 A to output TJ 60000 30000 TP 60001 A to output TJ 60000 1000 TP 60000 A to output EJ 60001 1000 TP 60000 A to output TJ 60001 1000 Sentence call word to u of 1st line of Op File Call word to u of 1st line of prelude Is number of relative const. equal to zero? Is number of reI. cons. equal to I? Relative constant call words put at end of generated program. Numbers were equated to 10000 and 10001 in coding Call word of no. equated to 10000 put at end Ordinal 100X program line to A Subtracting 1000 and putting in GLI 100X-IOOO to GLv lOOX-lOOo-number of "ten" lines + 2 to 2nd line of Op File 1040 71 RA 72 TP 73 ST GL GLIOI GLI06 74 AT 75 76 77 100 101 102 TV TP RJ MJ 0 0 KA4 A 103 0 CA Subscripted Variable Coding Number of subscripts are 4 o 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 1A MJ EJ EJ EJ TP SP TU RJ TP TU TV RJ TU TV RJ TU TV RJ TP TV RA RJ TP RJ TP RJ 32 RJ 33 MJ 34 0 35 RJ 3 sub- L 36 MJ . --3--7"'- TP scrIpts 40SP 41 42 TU RJ KKI03 OP o o o GL KKI04 100X - 1000 + 6 to v of prelude 1st line KA13 A A A GL6 OPI OP2 KB GL6 KH6l 1 J 100X - number of "ten" lines + 3 to v of 1st line of running program } Writing Op File and gen. routines on tape ~ KH57 KC o KH40 KE26 GLlll GLlll KH40 GLIIO GLIIO KH40 GLI07 GLI07 KH40 KE27 GLIOI GLIOO KH40 KE30 KH40 KE31 KH40 30000 KC53 KC45 KC37 GLIOO 17 } GLlOO KH35 GLlOO GLlOO GLlOO KH35 GLlOO GLlOO KH35 GLIOO GLlOO KH35 GLIOO GLIOO} KA3 KH35 GLIOO} KH35 GLlOO } KH35 KR4 KR KA KA3 KA4 KE25 GLl12 A o Are no. of subscripts I? Are no. of subscripts 2? Are no. of subscripts 3? SP 30000 0 Call word of L subscript to above line. Subscripts assumed to be 1,J,K,L Line to output MA 30000 30000 KJVl ~ u of above line K~ v of above Line to output JM to u of MA 30000 30000 J to v of above Line to output 1M to u of MA 30000 30000 I to v of above Line to output TJ Mod. 30000 lOOX + 2 to v of above Line to output DV Mod. q to output SA CW 17 to output. CW is call word of address of line that will hold address of 1st line of array TU A N1 to output. N1 means Next 1nstr. KC 62000 o KD56 KD53 1(8105 GLlOO A ~~l-()O } Stored constant used to identify dummy pseudo op functions TU 61--- N1 to output Return to finish handling variable Y SP 30000 0 Ksil"6sc-:rIpt call word to u of above KH40 KH35 Line to output o KE25 GUll 1041 43 2 sub- 1 44 scripts 45 46 47 50 51 1 sub- 7 52 script 53 54 55 56 TP MJ TP SP TU RJ TP MJ TP SP TU MJ CA KE26 o KE25 GLllO A KH40 KE26 o KE25 GLl07 A o GLlOO KC14 GLlOO 17 } GLlOO KH35 GLlOO KC17 GLlOO 17 } GLIOO KC2l MA 30000 30000 to output line SP 30000 0 J subscript call word to u of above Line to output MA 30000 30000 to output line SP I 30000 0 call word to u of above KC57 Subsidiary Subroutines 2nd test TA line no. 0 TP subroutine 1 TP 2 RJ MJ 1st test [4 TP line no. 5 TP subroutine 6 RJ ~MJ 0 TP di tiona 1 jump line 11 TP no. sub12 RJ routine 13 MJ SUbscri Pted 4 RJ yare call 15 RA word to Op. File b MJ 17 RJ 20 MJ 3 11 r +3 J ump setter +4 Jump setter l~~ ~~ 23 TV 24 U5 26 27 o + 2 Jump ~l setter 32 33 4 MJ TP RA TV MJ TP RA TV MJ TP Subroutine 35 to put line in 36 RA output 37 RA 40 MJ KH KE BK7 KH56 GLlOO o 30000 GLlOO KH45 KE BK5 KH56 A KE BKlO KH56 A o o KH44 GL2 o KD56 o GLlOl GLl02 GLl02 o GLlOl GLl02 GLl02 o GLlOl GLl02 GLl02 o GLlOO KH35 GLlOl o MJ 0 30000 to output line Line number of 2nd test to A Getting call word for line number, putting it in Op File, putting it in output and putting 10 line in output A MJ 0 30000 Line number 1st test to A Line number call word subroutine KH45 30000 GLlOO MJ 0 30000 Line no. of unconditional jump to A Line number call word subroutine KH45 30000 KH4l Call word sent to Op File Uf'S count of relative constants used in prelude KA2 30000 KD53 KB34 GLl02 TU 61 --- NI to output Return to finish handling variable X (1000 + count of lines) to GLl02 +3 KA4 GLlOO 30000 GLl02 } KA5 GLlOO 30000 GLl02 KA3 GLlOO 30000 LGL6] KA KA 30000 J v of GLIOO set to IOOX + 3 lOOX + 4 to v of output line 100X + 2 to v of output line Inserting output line in proper place in generated coding Upping v of KH35 by 1 Count of 1000 plus number of lines 1042 fl TP 42 RA 43 RA l44 MJ Li np (45 RJ number 46 TV call word 47 RJ subroutine 50 SP 51 TP 52 RJ 53 RJ Loads 0 p File for call word 55 ~4 Op File 1 6 build-up 57 space 60 61 62 63 64 65 Constants 0 1 2 3 4 5 6 7 10 11 12 13 Dummy Instructions for Use in Sui Id ing Generated Routine 0 1 2 3 4 5 6 7 10 11 12 13 14 15 A KH41 KH57 0 LW Q KH44 Q RJ MJ 0 0 0 0 0 0 0 CA SK33 KI KH40 KE17 KH40 0 30000 0 0 0 0 0 0 KH66 IA 0 0 0 0 0 0 0 0 0 0 0 0 CA KA 0 0 0 0 0 0 0 77777 77000 10000 10001 0 KA14 IA MJ TP TP TM TN TM TN MJ TP TJ 0 TJ EJ TP KE 0 30000 30000 60000 60000 60001 60001 0 60000 60001 2HOOO 60000 60001 60001 TP [RH6I] KA KA Loads Op File with call word Ups v of above by 1 Increases count of Op File lines by 1 30000 KII KH35 Getting call word of line number Call word to v of output line Call word to Op File Call word of line no. to Au Puts Pseudo-Op indicator in Q Check for illegal line numbers Line to output GLlOO} 10 0 LWI GLIOO KH41 17 Q KH35 30000 2 0 0 0 0 0 0 1 0 1000 2 3 4 77777 0 0 0 0 6 30000 60000 60001 60000 60000 60001 60001 0 A 30000 0 1000 30000 A 1043 1 to output 16 17 20 21 22 23 24 25 26 27 30 31 32 TJ 10 MJ EJ TJ EJ EJ SP MA TJ 60000 0 0 60001 60001 60000 60000 30000 30000 30000 30000 30000 A KE33 30000 1 1000 1000 1000 1000 30000 0 30000 30000 Q 17 30000 17 KE7 30000 CA SA BK4 A 0 SA3 IA TP TV RA RJ MJ SP TJ MJ SP TJ MJ CA KR KE32 GLIOI GLIOO KH40 0 BK14 KC34 0 BK24 KC34 0 KR13 TU A 30000 GL100 GLIOO} 100X + 1 to v of above KA Line to output KH35 30000 Is call word of variable X a dummy function 17 KHl7 of pseudo op? KB41 Is call word of variable Y a dummy function 17 KC35 of pseudo op? KB112 DV SA TU CA IA 0 SP 1 TU 2 MJ SUbroutin{~ to put 2 TU-A-NI in output 3 4 5 6 7 10 11 12 } Puts 1st test code relation number in Au and then in KE7 u . } } 1044 Print Generation Routine It is assumed that everything following PRINT# in this instruction is to be printed. Thus, parentheses are included in the print-out. data is generally self-explanatory assumed redundant. Since the printed comments following a print instruction are If they are included, the routine will include them in the printed output. It is further assumed that anyone Print instruction is no longer than 6 Unityper lines. Material that would fill more space than this should be divided into as many instructions as needed to bring each within the proper limit. The first line of the string-out contains the number of lines in the stringout. In the second line is the line number of the instruction. contains the title, PRINT. The third The v portion of the fourth line holds the call word assigned to the instruction. The fifth and succeeding lines contain the excess-three characters which will be converted to Flex code during generation. Excess-three codes are converted by the routine to Flex codes which are stored for later printing during the Object Program run. is referenced during this run to effect the printing. A library routine Because the library routine to print Flex code directly is much shorter than a library routine that could print directly from excess three, this procedure of converting from excess-three to Flex code during generation was adopted. Space saving during the Object Program run was considered of paramount importance. GL t the region in which the print subroutine is stored before writing on tape, has to have at its disposal a variable address length that will hold the 22a-address print subroutine and prelude plus the indeterminate group of Flex codes. The Flex codes, 'because of the addition of shift-up and shift-down codes and substitution of more than one Flex code for a corresponding excessthree character, will likely take up more space than the group of excess-three lines in BK. GL cannot exceed 5208 lines and in most cases will be far less. The size of the Op File 1 item for PRINT is 3 addresses. routine is 228 + number of words of Flex code. The number of words in the running program ts 12e +,nnntjet or words ofnex code. 1045 The generated sub- After the instruction in BK, the buffer region, has been identified during generation as PRINT, the control generation routine by instruction RJ UR activates the print generator. URI The print routine generates the coding needed for the print subroutine and gets it written on the proper tape. in NP for later writing on tape is the Op File 1 item. 1046 Also stored Flow Chart of Print Generation Routine + Translate "excess three" input print lines to Flex code and store Compute and build prelude of gen- E - erated routine _ 1 lop Fjle to storage and generated routine to tape 1 V ~ .. Prepare and insert parameter line of "Flex code print lines" for generated routine Arrange to have Flex-print routine I Build of library available by sending its fE-- Op File call word (50002) to LS library routine ~ ... C!>mpute storage ad .... dress of index parameter for print routine and put ~ address and parameter in obj ect program Get call word for character index (117) and put into generated routine Prepare object program j urn p exit to 2nd line of succeeding sentence of obj ec t program [- ~ Get cal: word for carriag~~ return (45) an(:l insert in genet'"ated routine Print Generation Regions RE RE UR2512 GL5360 Print generator Storage for generated subroutine plus prelude Generation Subroutine Regions are also needed to assemble this tape. 1048 Print Generation T 1\ TTn o MJ o 30000 1 TP RS TV TP TP RJ TP TU TV BK A A A UR75 } UR50 No. of words of excess 3 to parameter line UR50 UR51 VX4 VX3 Parameter words to X3 to Flex code routine VX2 VX VX3 c.rl}{\ SP AT UR76 GL20 URI06 URI06 URI06 UR63 URI06 URI06 GI20 URI06 } UR77 UR65 UR63 } URIOO 17 } Gf.21 20 TP 21 RJ 22 TV URIOI CW Q CWI UR64 23 24 25 26 27 30 31 32 TP RJ TU SP TU TU TV URI02 CW ~Wl RA Gf.20 UR53 33 TP RJ UR54 LS 35 36 37 40 41 42 43 TP TV TP TV URI04 GL20 46 MJ J.l-\ 2 3 4 5 6 7 10 11 12 13 14 15 16 17 34 RA TV TV RA RA RP TP 44 TP 45 RJ 47 0 50 0 ~p I~!!e Jii ~ lS4 0 un A BK3 A A BKI Gf.20 UR55 30020 UR55 UR47 OP o GL BK4 Gf.22 30000 Exit Entry. No. of lines of input -7 a } v ...."v A } Jump to X3 to Flex code routine Output parameter line from X3 to Flex code Changing u to address relative to 1000 Computing and putting temporary storage address in running program where needed Preparing jump exit of running program to 2nd line of succeeding subroutine Temp storage address in u and v sent to region accumulating subroutine, later to be used as a parameter in print tag rtne. Getting call word for carriage return Flex cod~ InsertIng call word for carriage return in program } UR65 17 UR52 UR55 UR53 '\. URI03 J Getting call word for index 117 Call word to running program Call word of statement to 1st line of Op File Computing & putting no. of lines in running program, including temporaries, into Op File Putting call word for print tag rtne. into A LN, so this routine will be available in LSI the library UR56 No. address modification lines to prelude Number unmodifiable constants to prelude UR57 UR62 Line no. to prelude UR55 } Computing & putting proper number in v URI05 of prelude 1st line Prelude & 1st line of running program to UR44 } GL assembly region OPI } Transferring Op File & subroutine to Op OP2 File from where it will go on tape later DR Exit to 1st line Parameter line for 0 p control routine UR52 o Parameter lines for X3 to Flex code } o } u = call word of print statement o 3 30000 v =no. lines, running program, including 50002 o temporaries Call word for print tag routine 1049 GL 0 55 0 30000 30000 1 56 0 0 30000 2 Pre- 3 lude 4 5 6 7 10 R~n- 11 nl ng 12 Pro-13 gram 14 15 16 17 20 21 57 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 100 101 102 103 104 105 0 0 0 0 0 0 30000 01007 0 01010 0 50002 2 0 0 1011 0 0 0 0 0 0 0 0 30000 30000 30000 0 0 0 0 MJ PR TP TP 10 TP 10 RJ 10 MJ 0 0 0 0 0 0 0 0 0 106 0 CA 0 0 0 0 UR107 = Call word of print statement. v = # lines prelude & routine v = number lines subject to address modific ation v = number of unmodifiab1e constants u Line number Exit - 1st line of running program v = 1 (45) u = 1 (117) v = temp. storage address 50000 } ~oooo Parameter lines to Print Tag Routine 50002 0 1000 4 0 1011 2 45 117 12 14 Jump to print tag routine Jump back to first line of running program 22 30000 1050 Compute Generation Routine This routine forms a code that sets up data in the proper location for the equation coding, followed by a return jump to this part. All the actual computational coding is done by the equation generation routine. The string-out input to the Compute Generator contains the call words of the variables or constants in the same sequence in which they appear in the input sentences. Subscripted variables have multipliers and moduli saved in addition to their call words. Thus one subscripted variable occupies 2. 3 or 4 locations. depending on how many subscripts it has, and the subscript call words follow thereafter. Functions within pseudo operations have only the call word of the function in the string-out and no argument call words. even though the arguments may be stated in the input sentence. At the end of every string-out is a line of zeros followed by 01 227-7 (the XS3 representation of !:J. .). .When a compute sentence contains several terms separated by "and's" in the input sentence. the string-out has a zero line inserted between the last call word of one term and the first call word of the following term. The Compute Generator builds up Operation File It prelude, running program and file of relative constants from this data. The first line of the generated coding - the exit line - is an MJ to the line that follows second after the last generated line. line. The last line of the running code is an MJ to the exit After this follows a list of generated relative constants. For terms that are not inside parentheses in the input sentence (that is, for the first string-out call word and those following zero lines) the routine generates: 1) In most cases (call-word types 66,65,64,4) RJ 10 2·) 25--00000 25--00001 or RJ 10 4--00000 4---00001 For subscripted variables (call-word type 77) TP 62000 64--TP 62001 64--1, _2 t 30 r 4 0f those.. lines M5I 'FP 6-2002depending on how many subscripts TP 62003 64--the subscripted variable has. RJ 24--24--10 00000 0001 liii'fiiilOi ..... } 1051 -~ - ~ .. - -,-.• - ,. --" 3) And for dummy functions ( call-word type 61) TU Call word + 1 a TV Call word + 1 a RA Call word of constant 1 a [JOOOO] a RJ DoooQ] The terms that are inside parentheses in the input sentence precede the code of the RJ line and ten line splits into two groups: of their respective symbol. Their handling those that are within or are input parameters to a pseudo operation, and those that are not. To set up input parameters for reference to a pseudo operation the routine generates: 4) 5) For functions (call-word type 66) f3 00 Call word {3 + 1 00 TP TP 00 25--- } For subscripted variables (call-word type 77) 00 TP 00 TP y TP TP TP 6) {3 (3+1 25--- Call word} in the location for relative constants 25--61--in the running code 61--00000 in Operation Fi Ie I Call word Call word relative constant running code 76X--00000 OP Fi Ie I 77--( 1) Call word of 63--1st multiplier with 1,2,3 or 4 subscripts (2) Call word of 63--No. (4) , (1) & (4), (1) & (2) 2nd multi& (4) or (1) & (2) & (3) & (4) plier of these rows appear in running (3) Call word of 63--code. 3rd multiplier (4)) Call word of 63--modulus y For all others (call-word types 64, 65 or 67) TP Call word running code 63--- For terms within parentheses of a function or a subscripted variable but not within a pseudo operation the routine generates: 1052 7) For subscripted variables ( call-word types 76 or 77) 8 00 Call word 8 TP TP (for 77 only) 8) 00 modulus Call word For all others TP (Call~word Call word Call word 75--- relative constants running code 62--OP File I (this does not apply for Call-word type 76) 00000 types 63,64,65 or 67) running code 62--- 1053 Flow Chart of Compute Generation Routine Clear spaces for Op File I LF, prelude LE, temp. storage LA 13 LA7 LA 11 Set CW of sentence in u of LE and u of IF Set line no. in LE5 and MJ 0 in LE6 Set in ill 4 addr. to beginning value LA 17 Get next str ing. word --;.. A (preadv.) LA 22 Yes V & VI ~-------------------------------------~ "Before get next" jump to "get next" No MJ place the stored RJ CW CW 10 0 1 and adv. counters and check Is it zero? LA 23 "Go to End" Yes Is it 8 XS3 l:::.. ? No Place CW in Op. File I LA 25 LA46 Are we inside pseudo? Are we inside parenth.? No LA 26 Put string.. word to Q and QT with mask Op. code ~ temp. LA33 LA30 Is the CW type 64,65,66? (25 type) No Is the CW type 77? (24 type) Yes 10 Yes L32 Is the CW type )~o Thus pseudo oper. 61? (4. ____ ). Adv" ind. for inside pseudo LA31 No 11 Yes 12 , RJ form 25 CW and set aside RJ CW CW 10 0 1 RJ form 24 CW and set aside RJ CW CW 10 0 1 Save CW in LC5 and change exit for zero str. word to ~ and set "inside something" to 1 RJ for 4 ____,CW and set aside RJ CW CW 10 0 1 ...... o CJl CJl , , Adv. ind. "inside something" Make presetting for hdl. 77 outside pseudo,rest exit of RJ Jump to get next string. word Jump to hdl. 77 in part where first row is done , Jump to ttbefore get next" string. word AdV. index "inside something" Jump to get next str ing. word Changed exit of zero string. word LA 134 LA 113 18 , Generate TO CW+l a TV CW+l a RA a "In a RJ [ ] [ ] and place it 8 Set no. of lines in . Op. File I and heading code in gen. ~ Go to End It • Adv. addresses for generated coding [, Restore jump for zero str ing-out word \ Jump to "get next tt MJ to EXIT 13 ....---~~ LAlOO LA74 I Thus single val. L.11.77 N / ' \ No Ivar. 64, 65, or 67. .. RJ generate Is the CW 77? I--~_O_ _ _~.,i Is the CW 17?\1----~ IV TP CW CW 11 20 21 \ I \ RJ to gen. and place 0 CW CW TP addr. 76X ___ _ of CW and adv. counters Adv. counters and check \ RJ to gen. and place 0 CW CW TP addr. of 61 __ _ CW and adv.ct. Place CW in Op File I Restore exit of RJ and prep. 25 CW MJ to gen and place 0 25_ 25__ TP addr 61 __ _ of CW Place CW in Op File I Adv. counters and check regions Jump to get next string word Restore exit of RJ Do presetting for hdl 17 inside pseudo (63 ___ ) Jump to hdl. 77 in part where first row is done Jump to get next string word 1057 LA53 L.A52 LA47 14 ~--..::;M' Is the CW 77? 15 No ~--~~ Yes RJ to string and place 0 CW CW TP addr 75 __ _ of CW and adv. count Place CW in Op File I Thus single valued Is the CW 76? I---~~ 63, 64, 65, or 67. (IV 62) RJ to generate IV 16 Tn CW 62 __ _ 16 Yes No 1 RJ to store and place o CW CW TP addr. of CW and adv. count Restore exit of RJ Make presetting for hdl. 77 outside pseudo Prepare to get next str. word Jump to handle 77 in part where first row is done T Jump to get next string word Mask out bit after 76 (# of subs cr.) and shift to v (62 ___ ) Adv. counters Adv. CW of subscript RJ to store and place TP CW 62 + # of loc. and adv. count Index jump on no. of subscr. Jump to get next string word 1058 IE-~-__ J Loop to get all subscripts and mod. Subroutines I II Generate and place o CW CW TP addr. [00000 + no. of loca(; of CW ". -first 2 or 3 bits filled by the different entries adv. addresses, check . exceeded regions and jump to get next stringout word Generate and put aside RJ CW CW 10 0 1 Advance index "inside something" and jump to get next string. word III Handle 77 CW cases with different entries for inside and outside pseudo operation, and jump to get next stringout word v When zero stringout word, place RJ CW CW ( t 10 0 1 was pu aside by II) and clear both ltinsJldes" and adv. resp. clear counters and go to get next stringout word IV VI Check whether CW is already in OP File I. When not, place it there and adv. with exceed. region check Only used in RJ by V Generate and place TP CW 62___ + no. of location Restore subrout. and advance counters with exceeded reg. check. Only ~ed in RJ by III and ® Compute Generator Regions RE RE RE RE RE RE RE RE RE LA2512 LB2710 LC3117 LJ3172 LK3213 L03217 LS3230 LT3241 LV3251 Main program Subroutines Constants Checks for exceeded regions Alarm print Alarm (> region LF) Alarm (> 1777) Alarm (> region LE) Alarm (> region LI) RE RE RE RE LP2000 LQ5360 LR6777 W7777 Constant Constant Constant Constant RE RE RE RE ID3263 LE5360 LI7000 LF3300 RE RE RE RE RE RE RE CW1211 BK2242 OPI047 WA653 UP421 BQ632 WB677 LI should always Temporaries Generated coding }fOIIOW LE so that in Storage for constants the end when adding Op File I the generated constants to LE the region never can be exceeded for for for for last last last last addr. addr. addr. addr. Generation subroutines used 1060 + I +I +1 +I of of of of exit region LF region LE region 7 10 IA MJ RP TP RP IP 10 SP TP TP 11 TP 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 TP o 1 2 3 4 5 6 LA o 10014 LC 10005 LC o BK3 A A 30000 LA3 } LD t~6 1 17 LE Place XS3 code of line number in Op File I Prepare exit line in prelude ~i4 } Set starting value in temporaries TP LD6 A EJ EJ TP LC LC7 LC LB144 LB173 LE5 ID5 W4 LCl ID6 ~46 TJ LD TP QT TJ LD6 LC23 LC23 LC17 Le15 RJ LB36 ID7 LA40 LA42 LA35 LB42 34 MJ 35 TP 36 RJ o LA17 LC2 WI LB36 LB32 37 40 41 42 43 MJ RJ MJ o TP W6 TV LC34 LA17 LB37 LB176 ID13 LA22 TP MJ o LC2 W 44 45 46 47 50 51 52 53 EJ EJ TJ TP QT EJ EJ RJ 54 MJ LB36 o WI LD6 Place sent. CW in prelude and Op File I LE6 TP TP RA TP TP } Clear space for prelude Const. used by LA14 LF BKI LC20 LC6 LA5 LC2 LC22 LA20 BK3 TV } Exit Clear temporaries } } Q (Pre-advanced) bring next string-out word in storage W6 and to A Is it zero? Is itll.? Are we inside something? Put string-out word -+Q Mask out operation code into ID7 and A CW type 77? CW type 6l? CW type 4? Left only CW type 64. 65, 66; jump to set as ide RJ CW CW 10 0 LA17 LA74 LC23 Q ill 7 LC23 LClO LB133 LA60 LBl16 0 LA17 LA55 } I Go to get next string-out word Set index "inside pseudo operatiOn"} Jump to set aside HJ CW CW CW4 10 D I Go to get next string-out word . RJ CW CW Jump to set aSIde 10 0 1 CW77 Jump to handle 77 CW Save CW 61---in ID13 v address Change exit for zero string-out word LAll3 Set f'ins ide something" to 1 Jump to get next string-out word Are we inside pseudo? Yes ---+ LA74 inside In parent. but not inside pseudo: somemask out Operation Code (thing CW type 77? CW type 76? Left only type 63, 64, 65 or 67:go qe'lferatirrg with 62 •.• 7 I tj 1061 @ @ @ @ @ 0 @ 55 RJ LB14 LB2l 56 RJ LB143 LB134 57 MJ 0 LBl12 60 RJ LB133 LB167 LC2l L06 WlO LC46 L06 LC15 Q lDlO 36 Q A ID6 67 MJ 70 RA 71 RJ 0 L06 LB133 LA70 LC2 LBl16 72 IJ 73 ZJ WlO LA70 LA73 LA17 61 62 63 64 65 66 TP QT LQ TP QT AT 74 75 76 77 100 TP QT EJ EJ RJ LD6 LC23 LC23 LC12 UH33 Q W7 LAI02 LAl05 LB160 101 102 MJ RJ 0 LB14 LA17 LB23 103 RJ 104 MJ LB143 0 LB134 LBl14 105 RJ LB14 LB15 106 TP LC23 Q 107 QS 110 RJ LC14 LB14 LD6 LB15 RJ to gener. and placing 0 CW CW TP Addr.75--of CW RJ to taking care of Op File I Jump to handle subscr. var. case RJ to gener. and placing CW CW 0 TP Addr. 75--of CW Mask out bit # of subscrIpts # of subscr. in v of ill 10 l } } } } CW Type 77 (not inside pseudo) .1 Prepare to get next string- CW type 76 out word @o_ never!Bring CW-l of first subinside Pseudoscript in storage W6 Op) Space filling jump (free) Up date CW Jump to aenerate and place TP [CW 62 •.. + # of locat. IJ on # of subscr. } Subscr. -1 Jump to get next string. (zero jump word needed since index by 1 too high) Operate code ---+ A and ID7 CW type 77? In parentheCW type 66? ses inside pseudo Ope Left only CW type 64, 65, or 67 Go to get next string. word RJ to gener. and place CW CW 0 CW type 77 inTP Addr. 76X ••. side pseudo of CW RJ to take care of Op File Jump to handle subscr. var. case RJ to gener. and place CW CW 0 TP Addr. 61 •.• of CW Put mask for CW code-Q Change CW in £D6 to sen t. CW25 ••• CW type 66 RJ to gener. and place ins ide pseudo CW CW 0 TP Addr. 61. .• of CW 1062 III RJ LB143 112 MJ o 113 114 115 116 117 RA SP TU TO TP ill 13 A A LC24 120 AT ID5 121 TV 122 TV 123 MJ A A 124 RP 125 TP 126 TV 30004 LC30 LC36 127 130 131 132 133 134 135 136 137 RA RJ RP TP MJ TV RS TV RS LD5 140 141 142 143 144 145 146 147 150 151 152 153 154 155 156 157 RS TV RS TV RA RA ST RS SP AT TV RA LQ RA RA LE6 LE6 LC20 LF1 LE2 LA162 LE LA163 LE2 LE LEI 160 RA LFl LQ 161 RA 162 RP 163 TP o LJ12 10003 LC LA22 ~~33 o LA17 ill 3 ~37 LE LE LEI ID4 LD4 LE2 LB140 A LE6 30000 LI 164 TP LC44 165 RJ MJ OP 166 RJ to take care of Op File I Jump to get reset stringL.A17 out word J Adv. CW by 1 , LC2 Move CW + 1 to u addr. 17 TO [ ] [ ] LC30 Place CW in u of TV [ ] [ ] } LC31 P t "1003" in v of A~form excl. 10 lines A u "next addr.+ 2" Add # of addr. in ge r. coding C A exc 1. 10 1ines ase LC30 2 Place "'next addr'W+ "(excl. 10 ·CW I'Ines ) .In v 0 f TV [[][~ LC31 } 1[ J 61 ... Place "next addr." (incl. LA167 10 lines) in RP command LA126 } Place 4 rows of generated coding 30000 LB134 o LEI LC43 LC22 LE2 11 Restore exit of case zero string. word } Adv. counters resp. clear # of 10cat. reI. 100 and both insides Fi 11 v of LE (LE7 +. •• )-LE } } Fill v of LEI (LE7 +••• ) - LE - 6 (6 is prelude coding) } Fill v of LE2 ~42 } Fi 11 ID5 } LFl } LC2 LC2 v of LF Fill v of LE6 (second addr. of next routine) Fill v of LFl ( LE6-LC20) tA162 } Prepare moving of generated LA163 constants LC37 Q33 1 !J Add constant-s to addresses # of generated LJ } Move constants to end of coding 30000 OP1 ~2 } Bring generated coding to tape 1063 Go to end 167 170 171 172 173 174 175 SP TU TP RJ TV TV MJ CA IA o SP I 1 2 3 4 5 6 7 10 11 I exit 161 162 175 12 13 14 15 16 17 20 21 22 176 x 23 24 25 26 27 II II exi t 1124 III AT TU MJ TU RA TV TP RA RJ RA RA MJ TV MJ TV MJ TV MJ TU RA TP SP TV RA MJ SP AT AT TP M.l TP 30 31 32 33 34 35 36 37 40 QS 41 MJ 42 TP 43 QS 44 MJ 45 RP 46 TP 47 RJ 50 TV LC30 A LC2 CW Q ID3 o Come from LA123 17 LC32 Patch for generating RA addr. 1 A } Get a CW for con st. 1 CWI LC32 LA125 LA124 Jump back to coding LA176 LB LD6 LD6 A o LD4 LC26 LD3 LC26 LD2 LJ12 L04 LOS 17 LI LC36 LJ15 } Form ~ CW CW in next storage addr. save CW in u in LC36 (used by LB135 in VI) t~~6 } LB7 30000 Generate TP 01 .•. CW + # of locat. and place it for gener. const. 0 CW CW for gener. code TP 01. .• CW + #1 oc. ~il } Advance counters Put 61000 in v of LC26 o LC27 1£2 30000 ££26 LB LC26 LB 1£ 11 LC26 Put 75000 in v of UC26 o 1£17 o LC16 o LA20 LB25 30000 LD7 A LC26 o LD6 ill 6 LC35 LC2 o 1£23 LC13 o LC23 1£14 o 10004 LC LBlll A Put 62000 in v of LC26 LB LB25 1£1 } Get next string-out word (in advance, not yet officially) into LD7 I.D7 Shift # of subscripts 9 bits to the left 6 10 LC26 } Put 76XOOO in v of LC26 Lel0 LB Form RJ CW CW } 17 } 1 and set it aside 10 ~ ~D13 LD 30000 Set index ftinside something" to 1 Only used in RJ ?n6 } Make 24 ... CW before LB32 ~D6 LB32 going to II } Make 25 ..• CW before going to II LB47 } Clear temp. storage Handl. of subscr. var. LD7 LBI06 Get next string-out word ~ A LOIO Modulus ~ u of LDI0 1064 51 52 53 54 55 56 57 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 TV RS SP RJ TP IJ MJ RJ TO TV TP RJ TO RJ IJ MJ SP RJ TO RJ IJ MJ 77 RJ 100 RJ 101 102 103 104 105 106 107 110 III 112 113 114 115 116 117 120 121 122 123 124 125 126 127 130 131 11162 11163 IV IV VI 16 . eXl t 1-32 133 134 TU RJ TO RJ MJ RA TU TP MJ TV MJ TV MJ SP TU MJ MJ TV MJ TV RA TV TP RA RJ A L07 WIO CW A LD7 o LBlll A A LOll CW A LB133 ID7 o lO12 CW A LB133 L07 o LB111 CW A LBl33 LOIO LB133 o LA20 LA20 30000 o LC40 o LC41 o L06 A o o LC16 o Lel5 LC26 ID3 LC26 LD2 LJ12 RA LD5 MJ TP o LC25 LD7 LC2 71 CWI LDIO } I/: } of subscr. -l~ v of LD7 LB60 Get const. CW for mod. CW for mod. ----;. u of LOIO First IJ on # of subscripts LBI03 LBl06 LD12 lOll Get next string -out word ~A Store multiplier 2 in L012(u) Store multiplier 1 in LOll(v) ., ~Wl } Get CW for multiplier 1 LC26 } Generate and place TP [CW mu 1t. 1] 62 .• • for multiple 1 63 •.• #of LB121 Second I J on # of subse r. 1 oeat. LB7l LBl03 71 } Get const. CW for multo 2 CWI LC26 } Generate and place TP [CW mu 1t. 2] 62. · . 63 .•• # of LB121 Third IJ on # of subser. LB77 locat. LBl03 LBlO6 Get next string-out word~A Get const. CW for multo 3 (this string CWI word has data only in v) Generate and place TP [CW mu 1t. 3] 62 •.. # of LC26 LB12l } for multiple 1 6r~~~t. LC26 } Generate and place TP [CW modu Ius] 62 .. • # of LB121 63 .•• LAl7 Go to get next string-out word locat. LCI LBIIO Get next string-out word to A (used as subrout. in III) A 30000 LB121 Set jump to IV62 in IV LB45 LB121 Set jump to IV63 in IV LB45 17 LC26 } Prepare IV 16 Generate and place TP CW LBl22 Jump to right entry 30000 LC26 Place 62 ••• in LC26 LBl25 LC26 Place 63 ••• in LC26 ID2 Add # of locat. to g~ in LC26 v address LB127 Place flnext addr. for gen. codind'in N! 30000 Place one line of generated coding LC2 LJll Adv. counters and check exceeded region [£-2 30000 Mask CW at hand ---;. A in u address Q } ... } 1 1065 VI . -y-eXlt 135 136 137 140 QT RP EJ TP 141 142 143 144 145 146 147 150 151 152 153 154 155 156 157 160 161 162 163 164 165 166 167 170 171 172 173 174 175 176 177 200 201 202 203 204 205 206 MJ RA MJ TV RP TP RA RJ RP TP TU RJ MJ TV MJ SP TU MJ TP RJ TP MJ SP TU TV MJ TP RJ MJ TP RA TU QT EJ TJ RA RA MJ CA LC36 20000 LF2 A o LBl36 o ID3 30002 LD13 L05 LJ12 10003 LC LD13 LB143 o LC15 o LD6 A o LA34 LA22 LC45 o LD6 A LCll o LC20 LB133 o LC46 LA20 LA20 30000 LC2 LC5 LA20 LA20 o A J LB140 } Compare whether already in Op File 1 LB143 When not yet in Op File 1, put OW in it LF2 (TP because space is not cleared before~) in v) LJ3 } Advance addresses (I (1 in u) LCl Used only in RJ 30000 LB146 LB147 } Place the 2 rows that have {RJ CW CW 30000 been set away 10 0 1 LC2 } Adv. counters LJI0 ~153 } Clear a 11 "ins ide's·' and counte r for number of addr. in array LC36 Put CW in u of LC36 LB134 RJ to take care of Op File 1 Jump to get next string-out word LA17 LC26 } Prepare 163 LB 17 } Prepare IV LC26 17 LB124 LA23 } Shortcut (skip everything up to LA17 next zero word) Restore LA23 LA23 LB144 Jump to handle zero word situation 17 LC26 LC26 Place MJ in end LB125 LC26 LB126 LA134 Mask for last 3 bits, come from LA41 Q LeI Advance to next string-out word ~B201 LB206 LB205 LCl LCI LA17 } Mask out Is Is It It It it it is is is LB207 1066 # of subscripts I? < 4? 4 advance once more 2 or 3: advance once more 1 go to get next string-out word Constants IA 0 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 50 51 52 LC 0 0 0 1 0 0 0 0 0 0 01 0 0 0 0 0 0 0 0 MJ 0 0 0 0 0 TP 0 TU 0 0 0 1 2 3 4 LE7 77777 76000 75000 66000 24000 25000 63000 62000 61000 01000 00700 10000 77000 1003 0 30000 1 30000 30000 30000 30000 LA113 0 LB144 TV RA RJ 0 RJ 0 0 TU TV TP 0 0 EJ 0 TP 0 MJ AT CA 0 0 22777 0 0 0 0 0 0 0 0 0 0 10000 0 0 77777 30000 1 30000 30000 30000 30000 0 XS3 "6.." } These four rows belong together (the 30000 must not be messed up) This instr.-const. must have zero's 0 30000 LE 0 LB122 0 0 LB124 LF A 0 6 LE LF LC7 0 A 0 0 LB173 7 LQ LR U>6 LU LP } For exceeded region checks LC53 1067 • t t Exceeded Region Tests 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 IA TJ TU MJ RA TJ TU MJ RA RA RA TJ TU MJ RA TJ TU MJ CA LJ LC51 I.S 0 LB140 LC47 LT 0 LD3 LD3 LD3 LC50 LO 0 LBI LC52 LV 0 LJ21 LA164 LKI LK LC2 LB142 LKI LK LC3 LC2 LC2 30000 LKI LK LC2 LB4 LKI LK } Gen. cons tan ts Alarm } Region LE Alarm } Region LF Alarm } Region LI Alarm 1068 Alarm Entrance 0 1 2 3 IA RJ TP RJ MJ CA LK WA 30000 UP2 0 LK4 WA2 UP3 UP BQ6 1\1 ......... l"\J.Q.LUI IA 0 40 32 66 27 30 12 7 27 10 65 CA 0 1 2 3 4 5 6 IB LSI IB2 30503 30270 30013 30276 12120 54306 22777 LS11 0 7 05424 12651 07226 50104 12427 56530 77777 1 J. Generated code exceeds 1777 addresses. Alarm 2 0 1 2 3 4 5 6 7 IA 0 40 54 01 52 01 30 30 CA LT LT1 LT2 30323 31515 01313 04013 72263 27227 LT10 0 6 45150 40151 44630 46501 03027 77777 Region for Op File 1 is exceeded. Alarm 3 0 1 2 3 4 5 6 7 10 IA 0 40 54 01 30 30 34 01 27 CA LO LOl L02 30323 31515 50305 27012 50320 30722 30272 LOll 0 7 45150 40132 42466 65127 13465 63030 27777 Region for generated coding is exceeded. 1069 Alarm 4 0 1 2 3 4 5 6 7 10 11 IA 0 40 54 01 30 30 65 01 26 22 CA LV LVI LV2 30323 31515 50305 27012 66245 34650 30302 77777 LV12 0 10 45150 40132 42466 65150 06665 13072 73027 77777 Region for generated constants is exceeded. 1070 Temporaries LD 0 1 r 1 [ 3 5 , ] ~ 10000 10000 ~ ~ 1 V( + 2), IV( + 1), 18( + 4), I( + 1) CW of gener. const. adv. by I(+ 1 in u and v) adv. by V(+ 1) cleared in beginning IV( + 1), 18(+ 4), I( + 1) Next string-out word Working space Working space Working space Working space CW CW Storage space f or, {RJ 10 0 1 0 7 10 11 12 13 14 1 Index "inside something" I Index pseudo opere Running # adv; by IV( + 1) r 18(= 0), I( + 1) Addr. of gen. code adv. by if 2 4 Compute Generate 10 0 } cleared later again 1 Generated Code: LE 0 1 0 sent.CW 0 2 cleared in beginning 3 4 5 6 Line # XS3 code MJ 0 01000 Set by LA12 and LA160 OP File I LF 0 0 senteCW ¢J } 1 2 3 4 Generated Constants LI 0 1 1071 not cleared in beginning Vary Generation Routine The Vary generator uses the string-out and the Vary File as built during the Translation Phase to prepare the relative coding necessary to perform the functions of the input Vary sentence. This generator also provides an Op File I item to be used by the Segmentation Phase. The relative coding is later modified by the Processor according to the information furnished by the Allocator. The generated Vary coding may be broken down into the sequence of functions performed by the Vary sentence. iIIoI1 ~- GL ..... v Set index CT to number of with words in sentence CI~f0 ~@ Yes ..... ...... Fir st indicator stringout address ~ CT2 '@ Is initial L ~-~-I~ ™ ~ GL Insert call ord of initial alue in uportion of GL Insert call word of variable in vportion of GL Store address of next generated instruction in CT MJ-O-__ _ Set index CT to number of with words in sentence First indicator stringout address ~ ~ Fill in v-portion of resume entry line -+GL Is variable fixed point? CT2 ~GL ~GL 10-0-1 GL TM- ___ -Q TM-___ -A Advance CT2 to next vari able's indicator Insert call word of limit in u-portion of GL Insert call word of increment in u-portion of GL Is limit variable absolute value? Insert call word of variables in uportion of GL TM-A-A ~GL ~GL J-Q-OI002 ~ GL ~ 15 ~----~ Advance CT2 to next variable's indicator Have all ' t ; ; t } ® for completion' 21 instructions been enerated? ~----r---- NO~ Insert call word of first temporary storage in v-portion of GL Insert call word of increment in u-portion of GL ~ nsert call word of limit in u·-portion of GIL, - - , - - - - - ' Insert call word of variable in v-portion of GL TJ-· ____ _ ..·01002 -~GL Insert call word of first temporary storage in uportion of GL Set index CT to number of with words in sentence Insert call word No of limit in uportion of GL Set number of working temps (10) in 3rd word of prelude First indicator stringout address ~ CT2 ~ Set second of Op File equal to I Is variabl~ Yes_~ fixed POiW~ I NoB TM- _____ Is 'dummy· able fixed FA-Q- __ _ -7 GL GL ~ Insert call word of variable in vportion of GL increment absolute value? TM- ____ -Q ~GL Insert call word of increment in v-portion of GL --------' Set index CT to number of wi th words in sentence -Q Insert call word of increment in u-portion of GL Insert call word of increment in u-portion of GL Advance CT2 to next able's indicator RA-___- __ _ ~GL o --? First indicator stringout address ~ GL Insert call word of vari able in u-portion of GL MJ-O- __ _ ~GL Is test indicator equal 10 zero? Yes Insert call word of increment in u-portion of GL Insert call word of vari able in vportion of GL Is increment absolute value? No 29 Store address from CT3 in v-portion of GL. (address of jump to range) Insert Q address in v-portion of GL 0:) I 'V Store address of next generated instruction in CT3 Insert address of first relative constant in u-portion of GL 10-0-4 ~GL ~ TP - _____ - - -- -~GL Insert callword (50002) of flex print fixed library routine in v-portion of GL RJ -50002-50002 Insert address of first temporary in v-portion of GL CW Find callword for constant 79 ~GL 10-0-3 ~GL Insert call word for 79 in u-portion of GL 10-2-0 ~GL , RS TP-lOOOl-50002 ~GL (10001 is address of second relative constant) , TP - _____ - _____ MS-O- ____ _ ~GL ~GL I Insert address of this in.~s.tr,u~Ji()n . . in vportion of GL 1077 Is test indicator = 22? (B variable, C-A = 0) Change entry line of generated routine to jump in at next instruction generated r-------; Is test indicator = 21? (B variable, C-A < 0) Modify component of form A(B)C Is test indicator = 14? (A,e variable B < 0) NO Is test indicator = 10? variable, B> 0) NO 1078 Test indicator = 20. (B variable, C-A> 0) NO Insert call word of increment in u-portion of GL SP-____ ....O ~GL Insert relative address of next instruction in u- ortion of GL ZJ-___ --__ ~GL Insert call word for constant zero in u-portion of GL Insert relative address of second following instruction (NI+I) in v-'portion of GL Insert call word of increment in u-portion of GL s increment ~ 44 MJ~- ____ _ -4-GL Insert relative address of next instruction in u-portion of GL SJ-___- __ ~GL I---_~ absolute value? Yes TM- _____-A ~GL ~GL Insert call word of increment in uportion of GL Insert relative address of alarm entry (from CT3) in v-'portion of GL TJ-_____ _ ~GL Insert c:all word for increment in u-portion of GL Insert relative addre~ of alarm entry (from 54 CT3) in v-portion of GL Inse~rt relative address of alarm ~ entry (from CT3) RS 54 in v'-portion of GL Add five (5) to relative address of next instruction Insert relative address of next instruction in v-portion of GL Add four (4) to relative address of next instruc-I---~ 49 tion Insert calculated relative address in u-portion of G ZJ-___ - __ ~GL I-' o co c Insert relative address of next in struction in u-portion of GL Insert relative address of alarm entry in v-portion of GL Add four (4) to current relative address I s increment absolute value? No MJ-O-__ _ ~GL Set indicator (CT4) when tests are generated Is limit absolute value? Advance CT2 to next vari able's indicator Insert calculated relative address in v-portion of GL Add three (3) to current relative address Have indicators for all variables been checked? I--~~ as test coding been generated? No Yes MJ-Q-Ol003 ~GL Put in relative constants and Flex codes Insert sentence call word in prelude and in Op File I item Adjust prelude to account for generation of tests Adjust Op File I item to account for generation of tests Number of lines subject to modification to second word of prelude Number of lines in prelude and routine to first word of prelude Sentence number to sixth word of prelude < Q) '"i Number of words in operating routine to second word of Op File I item "< en fs8\ ~ (1) ::s (1) '"i Q) c-+ o '"i "!Ej ..... o ..... o ~ n CD ..... ::::s- Insert call word of last sentence in third word of Op File I item Insert call word of exit sentence in fourth word of Op File I item Advance relative >---~ address counter (CTI) by one Store one instruction from EL in next location of generated coding region Insert number of lines in Op FiIE~ I item in first word of item ~--~ Advance to next word in generated coding region Transfer five words of string.out (next variable information) from address given by CT2 to temporary storage (TEO-TE4) tu \~Exit! ~ ~Vary Generator V . yVlXlt fI) TP-____-A TM-___ ..:--A ~GL --+ GL J-Q-__ _ Insert call word of limit in u-portion of GL ~GL ...... o co f'-' Insert call word of initial value in u-portion of GL Insert relative address of alarm entry (from CT3) in v-portion of GL --+ GL Insert call word of limit in u-portion of GL Is limit absolute value? Insert call word of limit in uportion of GL ~GL ~ TM- ____ -Q ~ GL Insert call word of initial value in u-portion of GL --+GL TJ-Q- __ _ ~GL Insert relative address of alarm entry (from CT3) in v-portion of GL Is initial value absolute value? No Insert call word of initial value in u-portion of GL s initial value absolute value? Set index to six CT~j ave all XS-3 digits been converted to Flex code (CT5=O)? Sentence number ~Q Next digi t -7A < m JoooS ~ Cil CD ISubtract 03 from XS-3 digit -~ ~ CD JoooS m c-+ 0 JoooS '"!I:l ....... 0 ~ ....... 0 co w Add base address of Flex code table Space character add 03 to XS-3 character required Flex code into relative constant word (') ::r Add m JoooS 70 Add 04 space code into relative constant word 1----~70 To convert XS-3 sentence number to Flex code, insert in relative constants c-+ en Vary Generator Regions RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE VY2512 IN2513 VA2517 VE2567 CE2627 VB2650 FX2673 FL2717 VC2746 FG2760 FD2776 VT3020 DJ3071 DK3130 DL3142 DM3177 EM3212 EN3235 VS3260 BP3304 CV3333 RS3353 ST3356 SA3361 CN3365 RC3460 CT3473 GL3501 TE3502 PF3507 ( 1) (4) (50) (40) (21) (23) (24) (27) (12 ) ( 16) (22) (51) (37) (12 ) (35) ( 13) (23) (23) (24) (27) (20) (3) (3) (4) ( 73) (13) (6) (1) (5) ( 5) 1084 RE RE RE CWl2ll LSl465 OPlO47 RE RE RE RE RE RE BR537 KIl336 LWl250 UP421 WA653 BQ632 nT." IA 0 MJ CA 0 1 2 3 4 Obtain CW for constant Insert Library CW in List I Write Generated routine and Op File I on tape Compiler of computer error routine Illegal jump check routine Sentence CW locating routine On line print routine Print heading routine To rewind tapes Sentence string -out Op File I Generated coding Vary File nrfnn .. n n.r. D~.::;q.::; RE RE RE PL5360 GC5366 VF47l0l VY 0 VYl 30000 IA IN RP 10006 IN2 } PL TP CN RP 10005 IN4 } PF TP CN MJ 0 VA CA IN5 Exit line Zeroize Prelude area Zeroize Op File I area {VAO = IN4} 1085 CD @ @) VA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 IA TP RJ TP RJ TP SP ZJ TU SP RP EJ SP LQ TU SS SA TU TU TU TU TP QT EJ MJ TU SP SJ TV LT TV TP SP TJ QT MJ QT TP RJ TV MJ CA VA CN34 RS2 CN34 RS2 CN34 BK7 VE VF BK6 30000 [VFl] VAll Q Q Q VA12 A A A A CN15 30000 BK3 0 30000 30000 VA33 CN3l 10024 Q CN55 BK3 CN54 CT 0 CT CN34 KI CT 0 VA50 GL RS GL RS GL 0 VA7 VAll 0 BR3 VA13 0 17 VAll 0 0 VA12 VA25 VA30 VA31 Q A VA30 VAlO CT 45 VA34 CEI Q CT Q 0 VA43 A VA45 A Q KII GL CE } } } M.l o - ~GL Store MJ 0 1003 ~GL Store MJ 0 - ~GL Is exit sentence number stated? No, so search Vary file for sentence number of last sentence in range Add r to VFl to find Exit call word Set to continue search } } } Set up Vary call word for this Vary File item ~A Has the cor. Vary File item been found ? No, back to continue search Save Exit call word Is there an implied resume? Yes, so set } © to @ Save Exit call word in CTv o ~ Q35 Sentence CW ~Ace Is 26000 > Sentence CW? If yes, then 22Exit CW ~ Au Exit CW ~Au 1 ~ Q35 indicates wi thin Pseudo-Op. Illegal sentence number check Fill v of Exit line 1086 @ VE 0 1 IA RJ TU VE LW A 2 TV () 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 TP QJ TP QT TJ TJ MJ SP SA TU LT TP QT QT RS LT IJ MJ BKI0 VES CN15 CT CN54 CN60 0 VF CN24 A 6 CN6l A VF CT3 43 CT3 0 25 26 27 30 31 32 33 34 35 36 37 TP QT EJ RA MJ TV MJ RJ TP RJ MJ CA CN15 30000 CT2 VE26 0 CN31 0 WA CN62 UP2 0 VE40 '.:: LWI CT CT Q VA36 Q CT2 VE12 VE32 VE34 17 0 VE26 A Q CT3 Q Q CT3 VE25 VE34 Q A VE32 CN53 VE23 CEI VA36 WA2 UP3 UP BQ6 } Obtain call word for Exit Save call word ~ Is stated Exit a Resume? } Yes t so Exit CW to CT2v and Pee J 26000 >CW? No, so is 27000 >CW? NOt so to alarm 1 J } VF m + VF2~Au Set beginning of search m jn ~Av n ~CT3 m~Q } n 0 l m jn SN CW26 SN CW26 5N SN CW26 CW22 SN CW22 n-m ~CT3 .;. 2 Checked all items? Yes, and not found t so error SN CW22 Does exit CW agree l with next Vary CW in Vary File? NOt so advance to next item and back Set to @ to avoid gen. lO--line © } If so OK Print alarm Rewind tapes and stop 1087 IA ~CE ® r ~~ Store Exit line 12 MJ 13 TP 14 TU CN26 TE2 GL CE14 GL GL TEl GL RS2 CT2 CT RS CN5 CE6 VB CA 0 CE22 No, so TP- - ~GL TP TM CW init TP CW·· TM Inl t CW var Store Advance to next variable's indicator Have we built all 'set initial value' instructions? Yes {VBO = CE21 IA TP 1 TP 2 SP 3 RJ VB CT1 CN34 BK5 LW CT3 GL Save address of JUMP TO RANGE MJ 0 GL 4 Q 20 IJ 21 MJ VB 0 TV RJ TP 7 RJ 5 6 @ RS [CE2 ] GL ST CT CT2 SA TP QJ 15 TV 16 RJ 17 RA @ o CN17 ST2 BK4 CN23 SA3 TE2 CEll CN27 3 RJ 4 TP 5 TP 6 RJ 7 TP 10 11 ® CE RS2 10 11 12 13 14 15 16 17 TV TP TP RJ TP QT TJ TJ o RS2 CN17 ST2 CTI BK4 CN23 SA3 CN15 TEl CN12 CN13 20 MJ o 21 22 TP TEl FL VB23 QJ CA gE13 10 } o 10 } VB21 FX FL Q FX ~GL ~ GL To find CW of first sentence of range Insert CW in MJ instruction Store GC Q A 1 Ye S t so TM - - LWI GL RS GL ST CT CT2 SA 0 Store Set index to ~ of WITH words String-out address of 1st indicator~ CT2 Store next variable info in TE-TE4 Is initial value absolute value? } 0 1 ~GL Store Fill in RESUME entry line Set index to U of WITH words Set address of first variable Transfer variable to temporary area CW of variable ~ A. 64000 > CW? No, 65000 > CW? No, so floating variable CW is 63 ..• , so determine if fixed or floating 1088 @ FX 5 IA TP TO RJ TP QJ TP FX CN27 TE3 RS2 TE4 FX22 VB2 Fixed GL GL RS Q FX5 } GL 6 7 10 11 12 13 14 15 16 17 20 TO RJ TP TO RJ TP RJ TP RJ RA IJ TE4 RS2 BP4 TEl RS2 CN30 RS2 CN33 RS2 CT2 CT GL RS GL GL RS GL RS GL RS CN5 VB13 21 22 23 MJ TP MJ CA 0 CN30 0 FX24 VC GL FX6 IA TP Floating Variable. (Build for completion) GL TM ~GL GL TM -70000 GL TM CW 70000 (CW of increment.) RS Store ~Ll1 } Is limit variable absolute value? GL Yes, so TM A~GL GL TM CW A (CW of limit) RS GL FS A - ~GL GL FS A CW (CW of variable) Is limit variable absolute value? ~L15 } GL No, so FS CW CW (CW u of limit.) RS Store GL TM - - A ~GL GL TM Q A RS Store GL TJ - - 01002 ~GL GL TJ 70000 01002 PL2 Set # W()rkYng temps into 3rd word of Prelude PFl Set word 2 of Op File 1 item = 1 FX16 To store 0 1 2 3 4 @ @ @ @ @ @ FL 20 TU 21 22 23 RJ TP TO FL CN27 RCI TE3 RS2 TE4 FL6 CN30 TE4 RS2 CN32 TEl TE4 FL16 TE4 RS2 CN30 CN27 RS2 CN33 RCI 24- TU CN16 25 26 TV MJ CA CNI 0 FL27 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 TV TO RJ TP QJ TP TO RJ TP TV TP QJ TO RJ TP Variable (Build test for completion) TM -Q~GL TM CWo Q~GL Inc Store Is limit variable absolute value? O~GL No, so SP 0 SP TM CWL A ~GL Store SS SS - O~GL CW o ~GL TM var A A ~GL TJ Q 1002~GL Store Store Store Advance to next indicator address Back if all tests for completion not generated TM 1089 A ~GL @ VC @ @ @ @ L FG 0 1 2 3 4 5 6 7 10 11 0 1 2 3 4 5 6 7 10 11 12 13 14 15 IA TP TP RJ TP QT TJ TJ MJ TP QJ CA VC BK4 CN23 SA3 CN15 TEl CN12 CN13 0 TEl FG VC12 (Increment Variable Control) Set index to U of WITH words CT Set address of first variable indicator CT2 To store group of CW's in TE SA Send CW of variable to A Q A 64000 > CW? VelO 65000 > CW? FD No, so floating variable FG CW is 63---; determine if fixed or Q floating FD IA TP QJ TP TU RJ TP TV TP QJ TU RJ TP TV MJ CA FG TE3 FG2 CN27 TE3 RS2 CN31 TEl TE3 FG12 TE3 RS2 CN26 TEl (Bui Id Floating increment variable instructions) Increment CW ~ Q Q FG5 Absolute value? GL Yes TM Q ~GL GL TM CWo Q Inc RS Store ~GL GL FA Q GL CW FA Q var. Q Is increment absolute value? FGII CW ~GL GL No; so FA CWo var. Store Inc RS GL TP Q -~GL GL CW TP Q var~ To store FD14 0 } } } FG16 1090 @ FD 0 1 2 3 4 ~ ~ 5 6 7 10 11 12 13 14 15 16 17 20 21 22 IA TP QJ TP TU RJ TP TU TP QJ TV MJ TV RJ RA IJ FD TE3 FD2 CN27 TE3 RS2 FD15 TEl TE3 FDII CN27 0 TE3 RS2 CT2 CT TP TV RJ CN34 CT3 RS2 0 FD23 M.l CA (Bu i Id fixed increment variable instr5. and Jump Back) Increment to Q Q Absolute value? FD5 GL YeS so TM Q ~ GL ~ TM CWo GL GL Inc Q RS Store ~ GL GL RA ~ RA CW GL GL var Q Is increment abs. value? FD13 ~ RA CW GL GL Yes var Q FD14 ~ GL CWo GL RA CW No, var Inc. RS Store CN5 Advance to next indicator VC2 Back if all increment instructions not generated ~ GL MJ 0 GL MJ 0 GL 01--- (Back to Jump to RS Store Range) VT {VTO = FD22} t } t 1091 ® ® i @ @ @ @ ® @ VT 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 50 IA TP TP RJ SP ZJ MJ TV TP TP TV SP RJ TU RJ TP TU TV RJ TP RJ TP RJ TP RJ TP TV RJ TP RJ TP TV RJ TV LQ QJ LQ QJ QJ LQ QJ QJ CA VT BK4 CN23 SA3 TE VT5 0 CN36 CTI CN26 RCI CN3 CW A RS2 CN26 CN35 CN25 RS2 CN20 ST2 CN25 RS2 CN21 ST2 CN36 CN25 RS2 CN22 ST2 CN7 CT1 RS2 CTI TE VT45 Q DJ DL Q DJ4 DK VT51 CT CT2 SA 0 VSl [VT6] VT5 CT3 GL GL 0 CWI GL RS GL GL GL RS GL ST GL RS GL ST GL GL RS GL ST GL GL RS GCl Q20 VT43 1 DJ2 VT46 Set index to ~ of WITH words Set address of 1st indicator Transfer 5 words to temporary Is indicator zero? } } Set ® to @) (CTl) ~CT3. Save alarm print address TP ~GL TP 70000 Find CW for 79 10 TP 67... 70000~GL Store ~GL TP TP 10000 TP 10000 50002 Store 10 0 3 ~GL Store TP 10001 50002 ~GL Store 10 0 4 ~GL Store R..T 50002 ~GL RJ 50002 50002 ~ GL Store 10 2 o ~GL Store MS o -~GL MS 0 01000+ ... Store Change entry to jump into first test 1 VT50 DJ16 = 14 DJ2, indicator = 10 = 30 indicator = 22 indicator = 21. DJ16, indicator = 20 DJ, indicator DL, indicator DJ4, DK12 t 1092 IA RJ MJ RJ MJ TP TU RJ TP SP SA OJ EM22 0 EN22 0 CN26 TE3 RS2 VA6 CTI CNI 1') .1. ... TU n 13 TV CT3 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 RJ MJ TP TP SP RJ TU RJ TP TU SP SA TV RJ TP TV RJ MJ CA RS2 0 TE3 OJ4 VA5 CN CW A RS2 CN33 TE3 CN2 CTI A RS2 CN34 CT3 RS2 0 OJ37 IA TP TO RJ TP SP SA TU TV OK CN26 TE3 RS2 CN35 CTI CNI A CT3 RJ MJ CA RS2 0 OK12 @ Indic.= @ @ @ OJ 0 1 14 Indic.= lO 2 3 Indic.= 22 4 5 6 7 10 11 Indic.= 20 @ @ Indic.= 21 OK 0 1 2 3 4 5 6 7 10 11 QJ f\ Indicators: 10, 14, 20(part 1) EM Build and store test instI. for case 2 VS EN Build ...... store test instr. for case ,J. VS GL TP A ~GL TP CWo GL A ~GL RS Store Inc -~GL ZJ GL 0 17 ~GL ZJ NI GL GL ZJ NI alarm ~GL entry RS Store VS gJ20} Is increment absolute value? ~ QUU GL O~GL SP for zero gWl} Find67 CW ••. GL SP CW zero 0 ~GL RS Store TJ --~GL GL TJ CWo GL Inc -~GL 0 0 NI + 1 ~GL TJ CWo GL Inc RS Store -~GL MJ 0 GL alarm~GL GL MJ 0 entry RS Store VS GL GL RS GL °GL17 GL RS VS - A~ GL TP TP CWinc A~GL Store SJ--~GL SJ NI-~GL SJ NI alarm entry Store 1093 @ ~ IA TP QJ TP MJ TP TO RJ TP QJ TP SP SA TV TP QJ SA MJ SA TO RJ TP SP SA TU TV RJ RJ TP QJ CA OL TE3 OL4 CN26 0 CN30 TE3 RS2 TE3 0I24 CN35 CTI CNI A TE2 0121 CN4 0 CN5 A RS2 VA6 CTI CNI A CT3 RS2 EN22 TE3 VS OL35 IA TP SP TP QJ SA OM CN34 CTI TE4 DM6 CN52 MJ SA 0 OM7 6 CN4 0 7 TV A GL 10 11 12 RJ RJ MJ CA RS2 EM22 0 OM13 RS EM VS Indic.= 30DL 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 @ ~ @ ® DM 0 I 2 3 4 5 (b variable, a and/or c variable Indicator = 30) Q Is increment absolute value? OI2 GL No, TP - - A ~ GL OL5 Yes, TM - - A ~ GL GL GL T(~) CWo A Inc RS Store Q Is increment absolute value? OLII S J - - ~GL GL 0 0 NI~GL GL SJ Q Is initial value absolute value? OL17 No, so add 4 to (A) 17 Dl22 Yes, so add 5 to (A) 17 NI~GL SJ b @ 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 IA TP AT \loJ TP MJ TP TU RJ TP QJ 0 Q EM2 GL EM5 GL GL RS Q EM14 GL GL RS GL GL 1 Q EM20 GL RS 30000 } Q EN2 GL EN5 GL GL RS Q EN14 GL GL RS GL GL } Q EN20 GL RS 30000 } Is initial value absolute value? J TP -A~GL T~ --A~GL TM CW init Store } A~GL Is limit absolute value? Q ~ GL TM CW I Q ~ GL Store Q ~GL TJ TJ Q alarm ~ GL entry Is limit value absolute value? No, so change u of TJ to CW of limi t Store Out Yes, TM - Is limit absolute value? TP --A~GL TM --A~GL T~ CW 1 A ~GL } Is initial value absolute value? TM - - Q ~ GL TM CW init Q~GL Store Q -~GL TJ TJ Q alarm entry Is initial value absolute value? No, so change u of TJ to initial value CW 1095 VS 0 1 2 IJ 3 4 5 6 7 TP 10 11 12 13 14 15 16 17 20 21 22 23 24 @ BP o 1 2 3 4 5 6 7 Exit IA TP RA 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 QJ TP RJ RJ TV RP TP TP TV TU TV TP TP TP QT RJ MJ CA IA LQ TU TU SP S5 SA TV SA SA TV TP SP SS AT SP RJ TU SP TU RA TP RJ MJ CA VS CN34 CT2 CT CT4 VS5 CN34 RS2 CV3 ST 30013 RC CNI CN7 CN36 RC CN2 CN16 CN55 CN36 IS 0 VS25 BP BK3 Q Q ST CN24 PLI A PL CN6 A BKI CTI CNlO PFl BK6 LW A GC2 A PF CN57 OP 0 BP27 CT4 Set indicator when tests are generated CN5 Advance to next indicator's address VT2 Have all variables been checked? } Yes, so have we put in tests? Q BP GL Yes, so MJ 0 1003 ~ GL RS Store CV Convert sentence U to Flex code VS12 VS13 } Put in relative constants and Flex codes 30000 PF Set word 1 of Op File I = 1 PFI Set word 2 of Op File I = 148 PF4 Insert 50002 CW into 5th word of Op. File I PL Set V of 1st word of Prelude = 118 PLI Set 2nd word of Prelude = 2 PL2 Build 3rd word of Prelude Q } 50002 call word ~Au A LSI Insert call word in List I BP To build Prelude and Op File I {BPO = VS24} Q17 PL PF Sentence CW to Prelude to Op File I o o o PLl o o PL PL5 o o PFI o LWI PF2 17 PF3 CN4 OPI OP2 VY ~ } } } } lines subject to address modification 1 to word 2 of Prelude U lines in Prelude + Rtne to 1st word of Prelude Store sentence number in word 6 of Prelude ~ words in running rtne. to 2nd word of Op File I item CW of last sentence to word 3 of Op File I } CW of Exit sentence to word 4 of Op File I } Add 4 to ~ lines in Op File I item To write Op File I and generated routines on tape To Exi t 1096 r'U vV @ RS CN6 r'."l: 1 2 3 4 5 6 7 IA TP TP IJ MJ LA LQ QT TJ BKI CT5 0 RC5 Q CN51 CN52 Q CV4 30000 6 6 A CV15 10 55 CN52 0 11 12 13 14 15 16 17 SA TV RA MJ SA AT MJ CA CN32 A RC5 0 CN52 RC5 0 CV20 0 CV13 30000 CV2 0 Re5 CV2 IA RJ RA MJ CA RS ST2 eTl 0 RS3 ST CNl [30000] IA TP RA MJ CA ST GL ST 0 ST3 [GC] CNl [30000] IA TU RP SA CT2 SA2 30005 SA3 [30000] TE 0 [30000] SA4 n v 0 1 2 5T 0 1 2 SA 0 1 2 3 TP MJ CA CV v.L.., Set index Sentence "It ~ Q Finished? Yest so out Next digit 3 > digit? Nn •• Vt ~A <:n .....<:lIhtr::lt"t -...,_ .... _....,- ...,."" -~ Add Base Flex code address Set address of Flex code Add into Flex word Add 3 Add into Flex word Store generated coding 1097 IA 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 43 44 45 46 47 50 51 52 53 54 55 56 57 60 61 0 0 0 0 0 0 0 MS 0 0 0 0 0 0 0 10 10 10 10 0 0 TP TP TM TM FA FS TJ MJ SJ RJ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 62 40 CN 0 0 0 0 0 5 0 0 0 0 0 0 0 0 lO 0 0 0 2 BKII VF2 10001 Q Q A Q A Q 0 10000 50002 0 0 0 0 0 0 0 0 0 0 0 0 2 0 77777 0 PL 0 0 CN63 0 1 2 117 4 5 6 14 1000 63000 64000 65000 67000 77777 2011 1 3 4 0 BKII GC 50002 A Q A CE4 CN37 1002 1003 0 VT41 37 52 74 70 64 62 66 72 60 33 77 3 0 26000 0 42 PF 27000 07777 10 1098 63 64 65 66 54 01 47 30 51 54 66 22 CA 30656 30723 67656 31305 01240 73016 30502 77777 CN73 74730 46601 60154 40166 17024 53050 63001 77777 IA 0 0 45 04 06 0 47 30 20 20 57 CA RC 20000 70000 47173 24200 16200 0 04053 06041 26140 04110 42454 RC13 11 70000 01225 60120 45700 0 02404 40622 61401 30315 50000 IA 0 CT 0 0 1 0 0 01000 2 0 0 0 3 0 0 0 4 0 0 0 5 0 0 0 CA CT6 /.., 01 70 71 72 RC 0 1 2 3 4 5 6 7 10 11 12 CT 0 R E ~ E M U E F U M E X I T ~ S T /\ R E R ~ T A A 0 ~ A D V A R Y !:J. S E N T E N C E ~ CR ~ N S t V A R Y S E N T E C E ~ ~ t ~ H A S ~ A N ~ I N D E F I N I T E 6- L 0 0 P CR CR ~ Holds CW for Exit line; then Index for ~ WITH words ~ lines running routine + 1000 (exclude 10 lines) Holds string-out address of next test indicator Address of instruction to jump to Range; then, address of Alarm Print instruction Indicator that test coding already appears Index for Sentence number conversion (not stored on MD) 1099 TP WL3 A Send resume C/W to A Test type of C/W "27!t type RJ LW LWI line # is processed by searching list IZ for a (VARY) statement with this line #. Test for 1t26 type C/W 1l No RJ RESUME GENERATION Flow Chart "22ft. type LW LWI line # is processed by searching list IZ for a (VARY) statement with this line #. .. ALARM ND ... - No Test for "22" type C/W Test (VARY) No .. ALARM fill for C/W NE I--- ...' v ~ Build PRELUDE ... ""- Test with KI for C/W within No same sub. prog. ... ALARM Build OP-FILE I STOP ~ L_ ~r , "-- EXIT 1100 RESUME GENERATION REGIONS RE RE RE RE RE RE RE RE RE RE RE RE RE NC2512 ND2651 NE2667 WI2242 LW1250 VF47l0l GL5360 TF2706 OPl047 KI1336 UP42 1 BQ632 WA653 RESUME GENERATO R o 1 2 3 4 ~;anch {J 11 12 rli~ Test for 22_15 116 U7 22 Branch Test Vary File for CW 20 21 22 23 24 25 IA MJ TP QT SS ZJ TP RJ TP QT SS ZJ TP RJ TP QT SS ZJ TP QT QT MJ o 26 RS 27 30 RA MJ Q TP QT ,3J 32 33 NC 0 WL3 NC6l NC62 NC13 WL4 LW 30000 Q A o Send cW to Q from Resume String-Out Mask i 14-9 Test for 27___ (subtract 27000 ) v NC5 NC2l Q NC56 NCl07 NC120 Send line no. k (referring to Vary sent.) Routine 0 finds CW for vary sent, in IZ Save CW in NC66 Mask i14-9 (xxOOO)v Test for 26 (subtract 26000 ) To prelude generation or error v Send line no. k (referring to Vary sent.) Routine D finds CW for Vary sent, in IZ Save CW in NC66 Mask i 14-9 (xxOOO)v Test for 22_ (subtract 22000)v To test Vary file or error Code word of Vary file (no. of words) Mask "n" & store in Index ~ NC56 Mask "m" & save in NCl07 Jump to correction (1) NellO NCIll NC130 0 o Subtract 1 from Index Add 2 to m Jump to correction (2) VF NC60 Q Changed to VFm + 2 Mask CW Q A LWI NC66 NC6l NC63 NDI NC4l WL4 A LW Q NC6l NC64 NDI VF NC57 NC60 LWI NC66 0 0 NC56 NCI07 0 A o A o o A 1101 ll~~ 37 40 41 42 43 44 45 46 47 50 51 52 53 54 55 56 57 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 100 101 102 103 104 105 106 107 110 III 112 113 114 115 116 117 EJ RA MJ TP MJ RP TP LQ NC66 NC32 0 NC66 0 30010 NC70 WL3 Q WLI NC66 30003 NClOO GL 0 NCl14 OP NC37 NCl06 NCl12 A NCl03 NC43 GL 17 GL GL5 GL7 NC5l TF TF NC125 OPI OP2 NC 0 0 77777 77000 27000 26000 22000 TU TP TV RP TP TU MJ TP RJ MJ 0 0 0 0 0 0 0 0 0 40 0 0 0 0 0 0 MJ MJ 0 0 0 TP RJ MJ 0 0 0 0 IJ MJ 0 0 0 0 2 0 NC67 KI 0 2 0 0 0 NC56 0 GL 0 0 0 Q KII NC41 0 0 1 2 NC32 NE1 TF 0 0 0 0 0 7777 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 } } Test with CW in NC66 for equality Increment VFm + 2 by 2 Jump to correction (3) Vary CW in A Jump to correction (4) Generate Prelude Format Move CW of Resume to '"ul! portion (0, CW, O)Q~(O, 0, O)gl Line no. CW Generate Op File I format CW Resume Jump to correction ( 5) (0 GL TF) Index 0 0 L(Vary CW) 0 10 2 0 0 CW Resume in u Prelude format 0 0 Line number 30000 0 3 } } } CW Vary in v CW Resume in u Op File I format CW Vary in u Send parameter to Q (4) ( 3) Parameter for Op rout ine 0 0 1102 120 121 122 123 124 125 126 127 130 131 132 TP LT RS LT MJ TP LT MJ LT RA MJ A NC56 NCI07 NC56 43 0 NC26 NC66 A 10017 TF2 NC134 0 NC133 63 NC32 NC133 NC32 0 1')') vn n 134 135 136 TP MJ TP CA NC136 NC32 NC53 0 VF Q NC137 ~ •.hJ NC56 25 NC56 V n V 1 J } 1 n~A Shift n to AO (1) n-m~NC56 = Index Index shiited right 1 or NC56/2 Move CW of Vary sent. to u address, jump to correction (6) (5) Shift to u position (2) Add to (VF). i. e .• VFm + 2 .J } Preset NC32 (6) Presetter for NC32 ERROR ROUTINE 0 1 2 3 4 5 6 7 10 11 12 13 14 15 IA MJ RJ TP RJ MJ 66 34 54 50 01 54 24 66 40 CA ND 0 WA N015 UP2 0 33305 65015 30313 26300 24011 73430 66304 22777 ND5 N016 BQ6 WAI UP3 UP NO 43001 05101 05430 16651 77024 16566 73050 77777 10 THERE~ ISe.NO~ REFERE NCE~TO ~A~(VA RY)~ST ATEMEN T. ERROR ROUTINE 0 1 2 3 4 5 6 7 10 11 12 IA MJ RJ TP RJ MJ 65 30 31 30 51 65 NE 0 WA NE16 UP2 0 66246 50660 30543 65012 50023 66305 BQ6 WAI UP3 UP NE 63047 15430 05026 40150 07234 06601 STATEM ENT~RE FERENC ESAA6N ON-EX I STENTll 1103 13 14 15 16 17 01 50 40 CA 70245 65305 26302 NE5 NE17 47343 06630 27777 11 (VARY) ~SENTE NCE. 1104 ~ Generate standard prelude and MJ 0 30000 MJ 0 CW of subprogram heading -... Generate Op File I item - Prelude + generated coding and Op File I to tape and storage EXIT GENERATOR RE RE RE RE RE PX2512 PL5360 FI.2546 OPl047 WL2242 IA 0 MJ 1 RP 2 TP 3 SP 4 TU 5 TP 6 TV PX 0 30010 PX20 WL3 A WLI WL4 RP TP SP TU SF TU TP RJ MJ 0 0 0 0 0 0 MJ MJ 0 0 0 0 CA 30003 PX30 WL3 A WL4 A PX33 OP 0 0 0 0 0 0 0 0 0 0 0 [0] PL PX34 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 31 32 33 30000 PX3 PL 17 PL PL5 PL7 PXll FL 17 FL 17 FL2 OPI OP2 PX 10 2 0 0 0 0 30000 30000 3 2 0 FL } } } } } } Generate Prelude Format Sentence call word to prelude Standard line no. CW Sub-routine heading ~2nd line of coding for sentence Generate Op File I Format Sentence call word to Ope File I CW subroutine heading to Op File I Prelude + Generated Coding and Op Fi Ie I to tape and storage Exit Prelude Format } Object Program Coding } Op File I Format CW of Subroutine heading Parameters 1106 Type Generator Then multivalued data NO C (A ) NO C(A )< 65000? R IE---I Form parameters for TR TR3 O;C(UK)+UL;O TR4 40;C(WK)+1;O R Box 1 C(WK) -?- Box 1 Type Generator - Cont. (WK)<=(WK)+2 SP [ J0 Then :~ call-l~ ~=.? YES C(A) C(A) == C(A) == )? (? YES (PC)*<:PC)+2 G=O? ..... ..... o i.e. merely print out input representation o -..0 o I ncrea se (TR4 "v by 1 (i.e. one IE:--...L.-........ more word for translation) lt ) ~<67000? YES 'ICn-~TEMP 3 FO ~~ < 64000? YES Type Generator - Cont. Form C (MK) + ML, Send to Box 2 (i.e. address for PT parameter in ML) Form o C(UK)+36000 C(TEMP 4) ( i • e. t PT parameter) Box 2 Form 0 C(MK)+3500 "PT" in AR (data for S.G.) (UK)+ (UK )+Temp 4 (MK)~ (MK)+I Increase contents of store referenced in Box 2 by I, to allow for" 1\ = 1\ " Form o C(TEMP 2) C(TEMP 3) in AR Form C(UK) + UL t Send to Box 3 Box 3 TP a [?] where C( a )= 1\ = 1\ i n flex i e (UK)+ (UK)+I Type Generator - Cont. "IC" e-1CCTEMP I)~~ ~_A"V" I "u" ..... ..... ..... ..... Form determine last subscript callword Form 5P(last C/W) 0 IN AR (TEMP ')'-" AR Form & store (5-2 ) in TEMP 3 Type Generator - Cont. Search dimension list for this item Q "v" (# subs) = I? ~A R (=s) 2nd line of dimension box --.-,. Q (Q) (mod., ~TEMP 4 # subs) Output is C/W OF 1 multiplier in A "u" Box 4 Add in to "A"v" C/W of "rth" subscript (from SL list) Initialize Set r = 1 in Box 4 to start at 3rd line of dimension box Add in MA - - - - to AR (Temp 3) <= (Temp 3) -1 Q "v" R ~~LQ (TEMP 4) 25 (i.e. modulus) ~~ Form TJ C/W(modulus) (OK)+2 in AR ~ r + 1 Form DV C/W(mod) Form +35000 Type Generator - Cont. r SA Q C (MK) 17 in AR ~_ _ _---' Form TU A C(OK)+i in AR "CV" ~ Form C(MK)+ML (address for 77__ _ C/W),send to Box 5 AR ltv" Box 5 TP TEMP 1 [?] (store 77 ___ C/W in mod const. list) (MK) <.= (MK)+l ...... ...... w ...... ~ N2 · C(OK) Store MJ 01000 o 37000 37000 to A C (BK3)~OP Fi Ie item line 1 "u". :tt: lines i tern ~line 1 "v" 2 (36000 value reI, to 1000) C(TEMP 3) -777 = running lines Op file item (line 2) C(OK) + C(MK) + C(UK) --~) TEMP 3 (37000 value reI. to 1000) in ML R C(OK)+C(MK)~TEMP TEMP 1 (35000 Add. reI. 1000) ---7 :tt: Type Generator - Cont. C(GK) - GL6~ TEMP 4 C(TEMP 4)+C(MK)~GLl (# lines for add. mod.) C(BK3) -+ GL Set C(MK)-l ~TEMP 4 C (UK) --+ GL2 to Initialize process 1 i st Transfer UL list to GL; last address in GL referenced by EX as initial start C(GLl)+C (GL2) +6 -+ GL ltv" ('# lines of gen coding) to store processed words at GL6 Parameter describing GL c. FL~<@> Type Generator - Cont. l---+ STOP o~ line GL3,GL4 '# ~GL5 Initialize to start address processing at loc. GL6 TYPE GENERATOR REGIONS Generation Subroutines RE RE RE RE RE RE l RE RE Library List Routine CS CW Constant Call Word Routine Machine Error Routine Excess Three Print-Out Routine Loads Generators and Op Files on Tape Rout ine to Print: Sentence - (Type) Rtne.to rewind aii tapes & stop computer TR ;: VX Exces s Three to Flex Code Routine Dimension List String-Out Buffer Input Buffer Output Region for Generated Rtne. LSl465 CSl211 BR537 UP42 I OPI047 WA653 = 80632 TRl670 RE RE RE DL40102 BK2242 GL5360 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 TY2512 IN2513 TG2530 MV2672 PR2760 MX3030 EX3044 SG3076 RL3137 ST3143 CK3147 FU3165 SB3173 CN3176 PC3272 OK3273 GK3274 UK3275 MK3276 WK3277 TM3300 SL3306 VE3312 FL3320 ML3730 UL4340 Generator proper Working Space (; Region used to build up Op File 1115 Type Generator IA MJ CA TY 0 TYI Exit 30000 Initialization o IA TV 1 RP 2 TV 3 TV TP 5 TP 6 TP 7 TP 4 10 11 12 13 14 TP TP TU SP RJ CA IN TG14l 10003 SG36 CN73 CN CN CNI CN3l CN70 CN CN73 CN56 RL3 IN15 TG13l IN3 SGlO FU5 PC UK MK OK GK WK WK o RL } ®~® Initialize sub-generator Initialize Op File routine to FL2 Clear PC UK~O MK~l OK~ 1000 GK~GIh } WK~BK4 } MJ 0 37002 Generated Main Routine IA TP 1 TP 2 TV 3 SP 4 RJ 5 SP 6 SA 7 RJ o 10 11 12 13 14 15 16 17 SP RJ SA RJ SP AT SP AT 20 TU 21 RA 22 SP 23 [0 TG TG132 TG23 TG133 TG126 CN67 SB CN4 o CS CSI CN57 o o Q RL3 RL CN5 o CS CSI CN47 RL3 CN4l WK UK CN63 WK WK [30000J 30000 o RL o TR4 17 TR3 TG22 CN45 0 30000] ffi=:~ Initialize subscript storing routine 458~AR } Place in constant pool PR 0 L (carriage return flex) formed and put in output } 79 ~A Find CW TP L(79) output 40 } 1 0 37000 formed and put in ~ A Start to form entry line for TR and inform TR of location for output r ~BOX r +2 I ~r Examine rth word Fl == TP A TM; F2 == MJ 0 TG36 1116 24 TJ 25 TP 26 RJ CN23 TG30 TG134 TG126 FU4 FU 27 MJ o TG34 30 TJ TU CN17 CN71 TG33 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 71 72 73 74 75 76 77 < 77000? No - i.e., 77--- type variable. Insert in Op File item Jump to ® < 6500Q? No - i.e~ 65,66 -- so"CV" wanted ®~@ Jump to ® Must be 64---i. e., "IC·' wanted ®~~]) RP EJ CA TGl27 TG34 o CN72 TG127 TG135 TG23 TG55 o 30004 TG53 1 CN25 TG40 J TG40 IA TG40 MJ TG47 TG45 PC CN2 PC CNI TG55 o TG136 TG131 TG51 o o PC ~ Jump to test PC ~0 Jump to set ( PC+2~PC ) PC - 1 ~ PC Jump to ® TG55 TG5l TG137 TG1l1 TG71 o TM1 A CN2l TG57 TR4 CNI o TG20 CN20 TG62 If zer~ continue; non-zero, jump to MJ TU TP MJ MJ RA RS MJ TV MJ SP ZJ TP MJ TP TJ RA MJ TJ RJ MJ TJ TP o o SB2 o CN17 CN14 S8 TG55 TG65 TM2 TG70 TG55 TM2 MJ o TJ TP RJ CNl6 CN15 SB2 TP RJ TP QT SP SA TV SP CA TGl40 TG1l1 TR2 TR CN24 Q S8 TR3 TM3 MK CN65 o A UK o TG101 (T ®~~2) ® Jump to Test for, 60 ( ) or none , CBD CBD~~ Jump to set 0 0~~ ® ® Jump to Not any of above t • • • CW. Save in TEMP 2 C(A) < 70000? No,.·. a dummy variable-count 1 more word for TR and jump to © C(A) < 67oo0? No - a numerical subscript - so note and jump to ® C(A) < 65000? No; a float ing variable, so "CV" ~ TEMP 3 and jump to ® C(A) < 64oo0? If so DUMMY No - so subscript, so "IC" ~ TEMP 3 Store in subscript list 0~®. Go translate Vmask~Q Save n (number flex words) in TEMP 4 Current number modifiable constants Plus ML, is address at which to store Parameter about to be formed C(UK) TGlOO 1117 IA SA AT SP SA SA RJ 106 RA 107 RA 100 101 102 103 104 105 110 III 112 113 114 115 116 117 120 121 122 123 124 125 126 127 130 131 132 133 134 135 136 137 RJ [0 SA RJ MJ SP TU RA SP SA TV TP RA RJ [0 SA RJ MJ TP SP MJ MJ 0 MJ 140 SP 141 o 1 2 3 4 5 6 7 TGlOO CNll TM3 MK CNI0 CN13 SG34 UK MK o C(MK) + 35000 = CW for parameter location And PT is routine used Subgen to produce coding UK + C (TEMP 4) - 4 UK 17 o SG TM3 CNI SG34 o A TM o o o o TM1 o CA TG142 IA RS LA TU SP SA RJ SP TU MV SB TM 17 MV TG36 PR TG115 TM 6 o --;> = = Jl SP TM1 17; J 2 MJ 0 TGl15 Form ncw required" '"IC or CV" Subgenerator Jump to ® Increase last parameter by 1 to allow for "t 1\ = 1\ l' Store "tl\=/\" in UL UK + Ll Ml =SaddP TMin "IC 17; L2 = MJ 0 MV i M2 =$ add in 1tCV"" 1 ~UK ~ 2 N J2 Constants 2 J l Nl (i.e. } t A) Obtain last stored subscript CW Add in SP _ _ Find appropriate dimension box MVIO 20000 BRI DL MVl2 Q 17 MK J;2 17 TG CNI 17 MV3 [30000J 17 CN52 o RL RL3 1 Subgenerator Either back t or out to processor Fl Ll SG [30000] A A + MK CK CK3 30000 3OO00J TM2 o SG34 SG TG14 o TGIOI 17 } TG117 A [30000] CNI UK CN64 o } TG123 A CN42 [30000] UK CNI CK CK3 30000 30000] [30000] o 0 10 RP 11 EJ 12 SN + 36000 = "u" of parameter 17 [ 30000] - jn 1118 +r 13 14 15 16 17 SA SA TU TP TP 20 21 22 23 24 QT EJ ST TU RA 25 TU MVI0 MVl1 o o A MV16 A +1: subs MV35 TM2 MV30 CN33 = I? CN24 CNl CN2 CN67 MV16 A MX MX12 MXll MXl 30 SA 31 SA 32 RJ 33 RA 34 IJ 35 LQ 36 QT 37 RJ CA [30000] o o IA SA SA RJ SP SA RJ SP SA MV40 CN55 OK RL3 50 51 52 53 54 55 56 57 SA RJ SP SA RJ SP RJ SP CN53 RL3 CN51 OK RL3 CN14 60 61 62 63 64 SA TV TP RA RJ CA Q CN61 RL3 MK CNIO SG34 RL CN33 MV27 25 A No, form &store S-2 Prepare to extract OW in order Form address of 3rd line of dim. box and initialize m-extractor Upon return, CW for 1 mult in A "u" Add in CW of 1 subscript and MA _ _ Store Prepare to pick up next subscript, then back Modulus ~ Q 'tv" A ~A Place in constant pool o TJ L(Mod) 2 TJ L(Mod) C (OK) + 2 Store CW (Mod) ~A "u" DV Mod Q Store Form 35---type pseudo CW of base 77--in A "u" o RL 17 o RL o 17 } o RL o o RL o SG CN65 o o } ~ CSI o MK CK3 } MX MK A TM Q subs, modu Ius ~ TEMP 4 TM3 40 41 42 43 44 45 46 47 ~ "# Q 26 TV 27 RJ 65 MJ 2nd line [30000] Q CN60 RL3 MV30 TM2 TM3 CN24 CS MV40 of 2nd line of box ~Address MV62 [30000J CNI CK TG13 1 } ~SA L(CW) 17 Store TU A 1 TU A "N. I ••• Store And "CV" is routine used Subgenerator C(MK) + ML is address in mod. list for 77---CW Store base r.W MK+l~MK Check length Jump back to MV66 1119 ® (Main Routine) Sub-Processor IA o SP 1 RJ 2 TP 3 SP 4 TP 5 6 AT AT 7 ST 10 SP 11 TP 12 SA 13 ST 14 SP 15 ST 16 AT 17 TP PR CN6 RL3 CN34 OK A MK UK CN7 BK3 A FU5 CN66 GK CN70 MK UK o RL ML MJ 0 1000 Stored Set up index address line TM TMI TM2 FLI 35000 (i.e., ML) Val. reI. 1000 36000 (i.e., UL) val. reI. 1000 37000 (i.e., temp) val. reI. 1000 Total ~ lines in running prog.(incl.temps) 17 GL CW this routine CW this routine to u of output line CW and number of lines complete Op File I item C(GK) - GL6 = # lines for modification by this routine o o } o } FL TM3 GLI GL2 Complete prelude 20 21 22 23 24 25 26 27 TP TP TP RS SP TU TV RJ 30 TU 31 SP 32 ST 33 RJ 34 35 36 37 TV SP 40 41 42 43 AT [0 TP SP SA SA CN CN BKI TM3 CN70 A CN70 EX13 CN65 MK CNI EX13 EX7 UK CN62 30000 UL GLI GL2 CN3 TV 45 TP 46 RJ 47 MJ CN43 OP CA PR50 44 A o GL3 GL4 GL5 CNI 17 EX EX7 Set up index for GL mod. Extract words from GL6 Store words at GL6 Exchange 35, 36, 37*s in GL EX EX o TM3 EX PR40 17 PR37 30000] } Set in address in GL for UL consts. Form RP order Repeated transfer from UL [30000 ] o o o GL OPI OP2 TY Now process mod. consts. } Total ~ output lines Parameter Output EXIT 1120 ~OP ~ GL Subroutine to Extract Multipliers and Obtain Appropriate CW's Til J.A o TP 1 MJ 2 TV 3 MJ 4 LQ RA TV 7 QT 5 6 10 RJ 11 MJ 12 0 13 0 CA lIJrV lV1A [300001 0 -0 - [30000] MX13 MXl o MX7 Q 25 MX CN33 MX12 MX1 rl\T~A vn,,"':t CS o o o A CSI [30000] MX2 MX4 1 line ~Q Switch (initially MX2) FLIP Reverse u u" and "v" Modify entry for next application FIDP Extract n Place in constant pool Exit MX14 Replacing 35---, 36---, 37--- Addresses with Values Relative 1000 o IA TP 1 QT 2 EJ 3 RJ 4 LQ 5 6 RJ LQ 7 TP 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 EX [30000] Q CN44 CN35 EX31 Q EX31 Q Q A EX7 EX14 25 EX14 17 [30000] TP QT RP EJ CN33 CNI EX o [30000J TM4 Q TM5 CN23 30003 EX31 CNIO EX20 MJ MJ o o RA TM4 RA RA IJ MJ line to Q Inspect nOp. code" If a 10 line, O.K. Process "v" Shift "u"~"v" Process "u'" Restore Q And output it in GL 1 EX EX7 TM3 Back for next line EXIT Save Q Mask off 1st two digits MJ o EX26 EX24 TM2 EX27 TMI EX27 RA TM4 TM SS TM5 35 Add in val. (35) Subtract original 1st two digits Q . S_eJ:. res.ul t back in Q Exit back to main level MJ RA 30 TP 31 MJ CA o TM4 A o o [30000 ] 35 36 37 Add in val (37) 36 Add in val (36) EX 32 1121 Subgenerator t to Produce Coding Handling Parameters o IA SG TP A 1 SA 2 RJ 3 SP 4 RJ 5 QT 6 7 EJ EJ 10 RJ 11 RJ 12 RJ 13 RJ 14 SP 15 RJ 16 RS 17 TV 20 21 22 23 24 25 26 27 TV SP SA RJ SP RJ SP SA CN46 RL3 CN36 ST3 CN24 CN14 CN15 SG40 SG40 SG40 FU4 SG37 LS SG40 A SG35 SG37 CN50 RL3 CN37 ST3 SG37 SG37 30 SA 31 RJ 32 SP 33 RJ 34 MJ 35 0 36 0 37 0 40 0 CA CN54 RL3 CN40 ST3 IA RJ 1 RA 2 RJ RL ST3 OK CK3 3 MJ 0 CA RL4 o Q o RL o ST SG37 SG11 SG12 [30000] [30000] [30000] FU 17 LSI CNl SG20 "un & ttv" ~Q for PT, IC, CV Add in TP _ _ Store 10 0 3 Store Name of routine (1tvtt) to temp. Is it CV? Is it IC? ~~} Used before? {Initialized to SG13 No, insert in Op File 1, List I, then ensure this path not taken again Find address to be changed [30000] o o RL o Name to A ttv" Add in TP 35000 Store 10 0 4 ST 17 Store o Add in RJ _ _ Store o RL o ST o [30000] o SG26 o SG13 30000 30000 } 30000 30000 SG4l ST CNl CK1 [300ooJ 10 2 0 EXIT Erasable. Store Increment OK Check size of routine Exit 1122 IA 0 TV 1 TP 2 RA 3 MJ CA ST GK A GK 0 STI [ 30000] CNI [ 30000J SIT'lq Store Increment GK Exit A Error Print-Out Routine IA 0 SP 1 SA 2 SA 3 TJ 4 RJ 5 TP 6 RJ 7 MJ 10 40 11 32 12 66 13 50 14 01 15 51 CA CK OK MK UK CN32 WA CKI0 UP2 0 CKll 30503 30270 66305 66515 50322 CK16 0 0 0 [ 30000] WAI UP3 UP BQ6 5 05424 16530 02630 10146 27777 1 Sum 3 counters J } Print-Out: Sentence _(Type) Print-Out: Generated Sentence Too Long Jump to rewind tapes and computer stop Parameter for print-out routine GENERA TED6SE NTENCE ~TOO~L ONG. Updating Op File 1 Item 0 1 2 3 4 5 IA LA TV TP RA MJ 0 CA FU A FU5 A FU5 0 0 FU6 17 FU2 [30000J CNI [30000J [30000] Shift CW to "u" field Where? Store in item Increment counter Exit Counter Storing SS in Subscript List (SL) IA 0 TP 1 RA 2 MJ CA SB A SB 0 SB3 30000 CNI 30000 Store subscript CW Increment " V" address and exit Constants IA 0 0 1 0 CN 0 0 1 2 (} 0 3 0 4 0 0 2 6 0 45 0 1123 5 0 6 MJ 7 0 0 0 0 117 1000 777 36000 37000 50002 50062 50112 64000 65000 10 11 12 13 14 15 16 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 21 22 23 24 25 26 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 35000 } 67000 70000 76000 77000 77777 40 120 0 30 0 31 0 32 0 33 0 34 0 35 10 36 10 37 10 CA 0 2 0 1000 0 1776 1 0 37000 37000 0 0 3 0 0 4 CN40 IA 40 10 41 40 42 57 43 0 44 77 45 0 46 TP 47 TP CN40 2 1 04440 GL 0 2 0 0 50 51 52 53 54 55 56 57 TP TU SP SA HJ TJ MJ PH Pseudo-address codes PT } CV IC Library call words v-mask :Q~ } Various string-out symbols Check on length of gen. coding 0 0 40000 FL 0 0 0 37000 35000 0 32000 1 0 0 0 17 0 0 0 2 0 37002 0 0 1124 60 61 62 63 64 65 66 67 MA DV RP 0 0 0 0 0 73 0 31000 PR41 0 UL ML FL SL ML 0 SL 0 CN14 GL6 0 n. "II.T, ,.. \'A~ 1;) V 0 BK4 CN74 70 0 71 0 ..,.'" ,'- 0 0 30000 UL V CA 0 n. FL2 1125 OK ~14l0 TK~ START 3 MK-+O Set up VK Start to scan at BK7 Start to store subs at SL Start to store Mts at Prepare Op File 1 item and prelude so far as possible Inspect rth word of stringout ~ 770OQ? No MM r..... en c-+ Scan dimension list for this entry Store thi s C/W in Op File I item Extract 2nd line of dim. box~ note # subscripts in ER = I? Build SL list (# subscripts of vbl's in stringout) Extract 1 multiplier from dimension list _ Place it in .... ... the constant pool ,..., Bui Id MM Ii st (C/Wts of muItipliers & moduli in constant pool) ... 5-1 mul tipliers? -'" Yes d)0 \~ ~-.;..t Find modulus, place in con st. pool, note C/W in MM list 0-f+ 2_ OK ~~r+5~r TK+l~TK ~,--O_K_+_>6_0K_+_5 H __ VK - l~VK MK +1 VK ~3-B = O? yet? So 2-4 columns variables in sentence # = # Vbles = I? Yes No vbles (columns) # Main increment after one application of this routine is 20 10 (1 bkt.) 20 ---;.. NC RA # Vbles = S? J-N_0---l~ OK+1 ~ OK Yes Then increment after buffer emptying is 2(S-V) --+ NCI 4 ---+ NC ~ ____________________________,__ ~O~NCI , 0{ OK+MK+TK = U lines for modification OK~lOOO OK + TK + GL6 = add. ret. GL for mod. consts. OK + MK + 1000 = add. reI. 1000 for XS3 words Prepare to store gen. coding at GL6; Start to 1---.::..1 Generate scan at BK7. J 0 Exit Start to scan SL list from SL Start to scan MM list from !VIM OK + 1000 = add •. reI. 1000 for mod. consts. I----~ Complete prelude, up date list I ~----------~ 0..... ..... w o ~ Place current line "# in const. pool (to be used as identifying symbol) Generate "10 3 2" (to cause buffer emptying as required) Gen. "TP L(XS3) BF" ~ Generate --.. "TP LN A" .~ "i~niN rG FLN " ~ Generate "EJ FLN lOll" Gen. . "TP TN FTN " "- . -'" Generate "RJ IW IWn t-- Gen. "RP 3 n 1010" where n = "# of heading words I--- Form X = #. heads. + 2010 J--~ + C (NC1), & place in const. pool Examine rth word of stringout Fetch (r+s)th word, which is last subscript quoted. (~A"u") ~ Generate "RA BI L(x)1t 77000? Yes Generate t---~ "TV BI IW" Box 1 Store this C/W as a mod. const. for running prog. Generate "10 0 121" S--D_--] ~~ Look-up #. subscript s in SL list (formed during pass 1) Obtain contents of (r+p)th word (Po=O) which I--~ should be 1st subscript quoted Generate "SP ? 0" No AUu" Obtain one entry from MM list which is multiplier for this subscript Anv Obtain one entry from MM list. Gen. "TJ mod a+,,-) J---.::aIwhich is modulusJ---::W where a is locafor this vble. tion of this order (-+ Altu") "MA '" n (for 1 subscr iplt lt II processed? Thus. gen. Gen. ItDV mod Q" Gen. "SA N Gen. f3 17" where . f3 = add. I reI. 1000, of const. as in Box 1 ... "TO A a +1", where a = current loc. reI. 1000 ~ r + s ~ r ... Clear AI ER l~ER (i.e. assume fix. pt.) ~~ C/W ~ Yes 65000? Clear ER, as 1 - - - : : . 1 floating pt. LA A 17 No Add to A "TP 0 A" and store in gen list Yes Gen "RJ IW IW" Gen " 10-3 -C (ER )" 1----.::..1 r + 1~ r ~-.::.IVK-1~VK f;\ _(,~:n BI G(NG)" I--~ It~~n L(BF165) ~ 1000" (test Gen "RJ IW IW" Gen "10 - 3 - 2" C (NCl) for full buffer) Gen I---~ "RA BI C (NC 1 ) STOP Gen "MJ 0 1000" -1 Transfer heads to ~ locations fOllowingParam.~ QP mod. constants . _ LIST GENERATOR REGIONS Generation Subroutines RE RE RE LS1465 CS12ll BR537 OPlO47 RE RW50023 RE RE RE DL40102 BK2242 GL5360 RE WW12 RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE LI2512 IN2513 PA2532 PB2632 PC2666 RL3ll3 ST3ll6 OR3l2l CN3l36 0K3l73 TK3l74 MK3l75 VK3l76 NC3l77 ER3201 TC3204 SL3205 MM32 12 FL3236 fE Library List Routine CS = CW Constant Call Word Routine Machine Error Routine Routine to Transfer Generated Routine and Op File to Tape List of call words of tape numbers referenced for use of STOP instruction Dimension List Buffer input region for string-out Buffer output region for generated routine Fixed location where READ and LIST indicators are stored Generator proper Used to store Op File for LIST NL71002 } 7 in these addresses is TN7l003 Fixed output locations } a code figure to keep BI7l004 processor from modifying BF7l005 LIST Buffer location addresses 1136 IA LI MJ 0 CA LII 30000 Exit Preliminary Initialization IA TP TP TP TP IN CN7 CN3 CN BK5 4 TTl CN24 5 6 TV TV 7 SP TP TP CN25 CN26 BK3 o 1 2 3 10 11 12 13 14 15 16 .1.U A AT CN27 CN24 CN3 TP TP TP CA CN CN BKI IN17 TV OK TK MK 1410 running lines at least 3 tllO lines" o modifiable constants Set up variable counter Start scanning string-out at BK7 Build subscript List from SL Build mult. & mod. List from MM VK PA PA15 PA34 17 GL FL2 PA5 FL } GL3 GL4 GL5 Routine CW to Prelude Note CW of IW routine Future cross-refs. to be stored at FL3 Call word and at least no. 3 of lines to 1st line of Op File o inputs o outputs Line number to Prelude "LIST" Generator - First Pass o 1 2 3 4 5 6 7 IA SP TJ TU RP EJ LT RA SN PA [30000] CN14 6 [30000] DL 10017 FL SA SA TU TP PA3 PA4 A [30000] CN20 A CNI CN2 10 II 12 13 14 15 16 17 TP EJ ST 20 21 22 23 24 25 TO RA TU TP TP [0 QT Q PA13 PA13 A PA76 0 PA55 PA3 BRI PA5 [30000] } CNI 17 0 0 PA13 Inspect rth word of string-out Multivalued? Yes t scan Dimension List Build Op File 1 item -jn +r +r +DL =)add. of 2nd line (modulus; S) Q ER [30000] PA40 ERI Using v-mask t note ~ subscripts (s) Build subscript list Is s = I? NOt form & store (S-2) PA37 CN15 PA24 PA25 Note address of 2nd line Form address of 3rd line [300()0] Q 30000 30000] flip-flop oflll-ext.ractor 1 line of dim. box ~ Q CD TP ® PA25; @ MJ 0 PA27 S~t 1137 26 27 MJ 30 31 32 33 34 35 36 37 RA TP QT RJ TP RA IJ TP CA 40 41 42 43 44 45 46 47 LQ LQ IA 50 51 52 53 54 55 56 57 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 QT RJ TV 0 Q Jump to extract v-field Q "u" ~ Q n v" PA32 25 PA24 CN15 PA76 PA25 CN20 A CS CSI A [30000] PA34 CNI ERI PA24 [30000] Q PA40 PA40 Q CN20 CS PA34 Modify for next line Reset flip-flop to CD Extract v field Insert in constant pool, and find CW Build MM list (A "un) Back for more multipliers 2nd line again to Q Shift modulus to nv" and extract it 25 A CSI PA44 } Place in pool and place in MM list TP RA SP AT PA34 ER PA CNI 17 PA RA RA RA AT RA RA RA RA PA5 PA15 OK ER MK OK TK PA CNI CNI CN4 OK CNI CN2 CNI CN15 Op File Item building op. updated SL list building OPe updated OK + 4 ----;. OK OK + 5 ~OK 1 mod constant OK + 2 ~ OK (S. V. variable entry) On e tt 10 1in e " RS VK ZJ CNI PA62 SP EJ TP EJ RA SP PA BK5 CNI CNIO CN5 OK CN5 o vk - 1 ~ vk If zero, wrap up this pass. ~umber variables ~ A PA73 NC PA74 CNI No, > 1. 20 10 ~ INC = 5? No, OK + 1 ~OK SS BK5 1 TP MJ TP TP MJ TP MJ CA A NCI PB NC NCI PB PA25 PA27 A o CN4 CN o PA77 o [30000] S ~ A "u" Bring r count up to date r + 1 ~r = I? o 5~A } 2(5 - } Jump to initialization, Pass 2 1 vble, INC = 4 1 or 5 vbles., SUBINC = 0 Jump to init., Pass 2 Constants for m flip-flop PAIOO 1138 v) = SUBINC Initialization t Pass 2 o IA SP PB OK 1 AT MK 2 7 AT SS SA TV SP AT TK MK CN23 A ER CN12 10 11 12 13 14 15 16 17 ST TP SP AT TP TU TU TU 20 21 22 23 24 25 26 27 TP 30 31 32 33 SP SA SA RJ CA 3 4 5 6 TV SP RJ SP SA SA TV o ER GLI C(OK)+C(MK)+C(TK) o C( OK)+C(TK)+GL6 o =# lines for add. mod. = add. re 1. GL for mods. PC53 TC o C(OK)+C(MK)+IOOO = XS3 add. reI. 1000 MK BK6 BK6 ER MK GL2 C(OK)+1000 = mod. const. add. rei. 1000 #. unmods. FLI BK5 VK CN24 CN25 CN26 PC51 PC55 PC 74 CNl2 CN23 CN27 OK ST o LS LSI Total number of running lines Set variable counter Set to scan at BK7 Start obtaining #. subs from SL list Start obtaining mults. and mods. from MM list Set OK to 1000 Start storing output at GL6 tt50077 n to A Update list I GLI GL2 CN6 A o o o +6 TC BK6 OR14 RL2 PB34 o XS3 add. reI. 1000 + #. heads RL Store MJ 0 Exi t o GL o o =# lines for prelude Second Pass PC BKI CS OR RL2 ORI RL2 OR2 RL2 7 IA SP RJ SA RJ SP RJ SP RJ 10 SP CNI6 1-1 SA CN2 o o + 2 in ltv" 12 13 RJ TP ST2 GL7 5T ER Store it "TP CW (Jj\J) A o 1 2 3 4 5 6 o CSI o This line number Insert in constant pool (CW ---;. A "u") Add in TP-A RL o EJ NL 1011 o RJ IW IW RL RL Basic "ten line" 1139 CN21 ER RL2 OR ER 14 TV 15 16 17 SP RJ TP 20 21 22 23 24 25 26 27 30 31 32 33 34 35 36 37 TU TV SP RJ SP SA RJ SP TP TU TV SP RJ SP SA SA CA BK4 CN22 ER RL2 GL2 OR3 RL2 40 41 42 43 44 45 46 47 IA RJ SP SA RJ SP RJ SP SA PC40 CS OR4 R12 OR5 RL2 CN32 CN11 50 51 52 53 54 55 56 57 RJ SP TJ TP RA TP RA SP ST2 [30000] CN14 A PC53 [30000] PC55 ER 60 61 62 63 64 65 66 67 SA TU SP SA RJ SP EJ ST PC5l o A PC62 [30000] 17 OR6 o Rl2 RL ER o CNI PC102 CN2 ERI 70 71 SP SA TC OR A CN17 ER R12 GI2 CNlO NC1 PC40 Q ~"TP CW( LN) FLN 0 RL ER ER ER } TP CW(TN) FTN 0 RL 17 0 RL 17 ER ER ER Store this line # heads ~ A "un ~RP 3n 1010 Store XS3 add. reI. 1000 } TP L(XS3) BF 0 RL Store this line # heads 0 0 + 20 10 0 + SUBINC = CSI Insert in constant pool 0 0 RL 0 RL 0 0 ~ota1 RA const. } RA BI L (INC 1) to output } TV BI IW to output Basic 10 line + appropriate value to reach IW "store" line PC5l CN15 ST 0 PC130 [300ooJ CN1 ER CN15 17 0 0 Examine rth word Multivalued Yes t store this CW as a running mod.const. Set for next time # SS ~ER Modify # SS~A "u" Find location of Last subscript for '"SP _ Last CW --:;. A "u" Add in SP 0 Store this line More than 1 subscript? Yes t ott form and store (S-2) Add 1 u to find first subscript 1140 order 72 73 74 75 76 77 TU SP SA SA RJ RA CA 100 101 1A RA 1J A PC73 [30000] o [30000] o OR7 o RL RL2 PC73 CN15 PC100 Subscript ~ v field Multip1ier--;'u field MA ~ Op field Store Modify to pick up next subscript 102 TU 103 104 105 106 107 RA SP TP SA SA PCloo PC74 ERI PC74 PC74 ORlO [30000] ER1 OK 110 111 112 113 114 115 116 117 RJ SP SA RJ SP SA RJ RA RL2 ER1 OR11 RL2 MK OR12 RL2 MK RL 0 0 RL 17 0 RL CNI 120 121 122 123 124 125 126 127 SP SA RJ SP AT TP TP MJ OR13 OK RL2 ER PC51 CN A 0 o o TU A 1 Complete line RL 17 PC51 S ER PC134 130 TP CNI ER 131 132 133 134 135 136 137 TJ TP CN13 CN PC133 ER 17 LA SA RJ SP RJ CA A CN15 PC73 PC lOS CN15 o ER1 o o A OR o RL RL2 OR2 o RL RL2 PC140 To pick up next multiplier To pick up modulus Set for next time TJ-2 Save CW (Mod) TJ CW (Mod) 2 Complete TJ line Store -CW (Mod)DV-Q Store Add. reI. 1000 of mod. consts. . "SA CW (Base) 17" Modify MK for next time ~A r +s "u" ~r Clear A and ER then jump to form TP [ ] A Single valued. 1 ~ ER "v" (i.e., assume fixed) Text v, 65000 Floating, clear ER "v" CW ~ A "u" TP-A Store RJ 1W 1W Store this line 1141 IA SP SA RA RS ZJ SP RJ PC140 CN16 o ER o ST2 ST PC5l CN15 VK CN1 pe51 PC146 NC o CS CSI 150 151 152 153 154 155 156 157 SP OR4 SA RJ SP RJ TP TU TV Q o o cs CS1 CN12 160 161 162 163 164 165 166 167 SP RJ SP RJ SP SA RJ SP ER RL2 OR2 RL2 CN16 CN2 ST2 NC1 o 170 171 172 173 174 175 176 177 ZJ RJ SP SA RJ TP TV SP CA PC17l CS OR4 Q RL2 OR14 CN12 ER PC200 200 201 202 203 204 205 206 207 IA RJ SP SA TU TU TV RP TP PC200 RL2 GL2 CN17 A PC51 PC53 [0] [30000] 210 211 212 213 TP RJ TP QS CN3l OP CN15 CN15 140 141 142 143 144 145 146 147 R.J RL2 CN30 Basic 10-line (10 Plus 0 or 1 r + 1 ~r Vble count decreased by 1 INC~A Place in const. pool RA Bl Complete line Store BF165 ~A Insert in pool RL o ORIO ER A ER ER RL o 3 0) TJ L(BF165) 1000 formed and put in output } o RJ IW IW to output Basic 10-1ine Add 2 to complete it o Subinc PC175 CS] Zero? No, insert in pool RL o ST o o RL ER ER o RL 17 0 PC206 PC207 PC207 PC2l0 [30000] OPI OP2 Q WW ~ A } RA BI Subinc formed & put in output } MJ 0 1000 formed in A Store #: heads + 30000 ~ A "u" Transfer heading codes Parameter to output handler Go output l~Q Inform processor of "LIST" 1142 BK4 RW [0] RWI 214 215 216 217 SP TU RP EJ 220 221 222 223 224 RA SA TV TP MJ CA RW CN33 CN34 0 PC223 A [30000 ] BK4 L1 0 PC225 0 1 2 1A RJ RA MJ CA RL ST2 OK 0 RL3 ST eNl [30000] 0 1 2 1A TP RA MJ CA ST A ST 0 ST3 [30000J CNI [30000] L I 0 1 2 3 4 5 6 7 10 11 12 13 14 0 1 2 3 4 5 6 7 10 11 1A TP EJ RJ RP RA TV SP MA OR 0 NL 50077 [30000J B1 B1 0 0 Tape#CW~A 0 PC216 PC220 PC224 1 Already in list of CW's? J No, increment index by 1 Add [RW] And insert in list Exit 32000 1011 50077 1010 0 50077 0 0 TJ DV SA TU MJ CA 0 2 0 31000 0 17 32000 1 0 1 OR15 1A 0 0 0 0 CN 0 0 0 0 2 3 0 0 4 0 0 0 0 0 0 5 6 0 0 0 0 24 121 0 1 16 1143 12 13 14 15 16 17 0 0 0 0 10 0 20 21 22 23 24 25 26 27 0 0 0 0 0 0 0 0 30 31 32 33 34 0 0 10 0 0 CA 0 0 0 1 1000 65000 77000 0 3 0 30000 BF 0 0 0 0 BK7 SL 77777 NL TN GL6 FL3 SL MM MM 0 50077 0 GL 0 1 0 CN35 1172 FL 0 1 RW 1144 Flow Charts oi Read Generator Call word to 1st line of prelude & Ope File Clearing input and output lines of prelude Line number to prelude Increase 2 initial loading addresses of XS3 variables by one to allow for an added 10 line Increase XS3 variable loading address by 2 to allow for 2 added 10 lines in case of 2 variables Yes Count of 3 to v of first line of Ope File Call word of read library routine to Ope File Set up loa'ding routine Sf I s there a ttj ump line number? Set up Ope File loader FB Starting count of lines relative to 1000 in OK 1145 No Is 3 > number of variables? 31 + no. variables = number of lines subject to address modification. Put in 2nd line of prelude RL routine to load temporary in output TP Call word First temof vari- porary of ables Obj ect index Program Above line formed and sent to output. Twice number of variables = number of unmodifiable constants. Put in 3rd line of prelude 767 + preceding + 3 gives v of exit jump line. MJ 0 v formed in a temporary TU 1023 1011 TU 1024 1005 TU 1025 1010 Above 3 lines sent to output. Thrice no. of vars. +31 - 1 = no. of lines Object program including temporaries. Put in 2nd line of Ope File. Thrice no. of vars. + 31+6 = no. lines prelude and routine. Put in v of 1st line of prelude Set-ups to make the fol lowing choices. respectively from boxes in GK subroutine: TP 30000 50100 TP 30000 Temp. TV 30000 10OX+2 GK subroutine to put group of lines in output 1146 RA 1005 { Call word of . (0 1 0) IJ Call word of RA 1010 { (0 1 0) word of RA 1011 { Call (0 1 0) Above 3 lines formed to output and put in output FD subroutine to get call word, store it in generated routine and op. file, a get modulus index in A MJ 0 1026 1026+v o 1026+2v Call word }IOO5 of vari{ ables index ~-----t o o 1000 0 0 0 Above 4 lines formed and put in output. v = no. of variables. Store name of variable in output Set-ups to store variable names, call words and modulus indexes in output. 3:,0 Store modulus index of variable in output Al ter instructions I-----~ to get next variable 1147 index Zeroize 3rd line of prelude for no. of unmodifiable constants k 17 = no. of lines sub~ IS number of .Les ject of. to° address modvariables I? I Icatlon. Put in 2nd line of --------~-N-o-----prelude 36 = no. of lines subject to address modification. Put in 2nd line of prelude. 25 = no. lines generated routine including "10" lines and prelude. Put in 1st line of prelude It = 42 no. lines generated routine including "10" lines and prelude. Put in 1st line of prelude 27 to Ope File 2nd line as no. lines Object Program including temporary 15 = no. lines Object Program including temporary. Put in Op. File 2nd line. Set-ups to make the following choices, respectively. from the optional boxes in GK subroutine: Constant Call} 50100 TP {word of var. name TP{Call ~ord of } Temp. mod. Index TV 1013 lOOx+2 MJ 0 1030 formed in a temporary 5 Set-ups to make the following choices, respectively. from the optional boxes in GK subIE-- routine: TP{constant call J50l00 word of var. nam TP{Call word of } Temp. mod. index TV 1024 lOOx+2 1148 MJ 0 1016 formed in a temporary RL routine to load temporary in output ~o Variables index Modify set-ups to handle remaining variable Get constant call word for variable & store in a temporary GK subroutine to put group of lines in output FD subroutine to get subscripted variable call word. store it in generated routine and Op. File, and get modulus index _ __ Get call word for modulus index and put in temporary <0 1000 to output MJ 0 s there a "j ump to" line t--~ number? Load call word of line number in 0p. File Put call word of read library routine in library list 1 Store Op. File and put generated routine on tape via OPe trol routine ,--Put indicator (0 2 0) into WW (fixed location 12) to show that a READ is present. A GK Subroutine to Put Group of Lines in Output TP 1 30000 50100 10 0 lOR I RJ 50100 50100 2 TP {constant call}50l00 ~ 10 0 word of var. above 3 lines put in formed and put in outoutput put Get call word for line number _Yes~ Is there a "jump tO~N~ MJ ~ line number? ~ ~--------~------~ MJ 0 lOOx-l formed and put in output --~----------------~ 0 {Call word of line no. formed in a temporary ,. \ 30000 'Temporary < of Object Program TP {ca 11 \\Ord YTemporary of nodulus~ of Obj ect index Program formed and put" in output TP Is sentence within~es Put pseudo OPe indipseudo op? cator in Q ~----------------~ OIE--~O_ _----' , Test if jump is legall via KI subroutine MJ 0 Call word of line no. 10 0 1 above 2 lines to output TV 30000 TV 1013 TV fQ!il IQ[] ! lOOx+2 lOOx+2 1024 lOOx+2 formed and put in output J 1 RJ 50100 50100 {Call word 0 10 3 of con30000 q stant 1 ~ TP formed and put in outabove 3 lines put put in output RA lOOx-l \ Add one to count in first and second lines of prelude IORI IJ {!~mg~j:~i} Program to output 1150 RL Routine to Load Temporary in Output ~-~ ST subroutine to load line of generated routine Up count of lines relative to 1000 in OK t------~ ST Subroutine to Load Lines of Generated Routine Alter loade ~_~ Load line in generated ~---3IIIIinstruction routine output t - - - - - - - - ;.... for next time FB Subroutine to Load Op. File Load A into next line of Op. File 1ter storing instruction for next use of routine 1151 Up count of Ope File lines FD Subroutine to Get Call Word of Variable, Store It in Output, Put it in Op. File and Get Modulus Index in A Set up TS dimension list scanner Get call word of variable via TS subroutine Get modulus of variabl minus one in Av ~~ Put call word in generated routine output Load call word in Op. File via FB routine TS Subroutine to Get Call Word of Subscripted Variable From Dimension List Is variable in dimension list? Yes Compute position of variable in list No Rewind all tapes and stop computer after error print-out: ALARM 1. COMPILATION INCONSISTENCY 'POSSIBLE COMPUTER ERR OR' RECOMPILE 1152 Put call word of vari able into A READ GENERATOR REGIONS Generator + temporaries RE RE RE RE RE RE RE CSl211 LS1465 OPI047 BR537 LWl250 KIl336 VXl670 1 RE RE BP564 BQ632 J RE RE RE RE DL40102 LL47246 BK2242 GL5360 Dimension List = IZ t Referenced-line-number List Input buffer Generated routines output buffer RE WWl2 Fixed location holding read indicator RE RE RE RE RE RE RE RE RE RE RE2512 IN2513 FW2647 GK2726 RL3041 ST3044 FD3047 TS3063 FB3073 CN3077 RE RE RE OK3142 ER3143 FL3150 = CW t Call-word subroutine Generation subroutines Where Op Fi Ie I is built up 1153 READ GENERATOR Entry IA RE MJ 0 CA REI o IA SP IN BK3 1 TP A 2 TP A 3 TP TP TP CN CN BKI CN3 CN40 4 5 6 7 TV TP 10 TV 11 TP TV 12 13 14 15 16 SP TJ 17 20 21 22 23 SP ZJ 17 GL FL GL3 GL4 GLS FL FL2 CN3l ST CN13 OK FB CN32 BK4 o GKllO IN15 o AT SP TP BIG A GL2 SA ST GLI CNI FLI o } } } 1 CN4 o A 26 AT CN12 GL ERl 27 SA TP CN3 RE TV RJ SP A 36 37 40 41 42 43 44 45 46 47 50 } } FW GLI SA 34 35 } BIG TV 33 } CN3 CNlO 24 25 30 31 32 Exit 30000 SS RJ TP TU TV RJ TP RJ RA ST RJ RA RJ RL2 BIG CNI CS CN33 A ERI RL2 CN4l RL2 ER BQ16 RL2 ER RL2 o ER ER RL o o CSI ER ER ER RL ER RL BP45 ER RL CN15 RL } } } Call word to 1st line of prelude, GLu Call word to 1st line of Op File 1 item Clearing input and output lines of prelude Line number to prelude Number (3) to v of 1st line of Op File Call word (50100) to 3rd line of Op File. Library call word reference Initializing ST (load routine) to GL6 Initializing OK to read 0 0 1000 Sets up v of FB to FL3 Is there a ~jump to" line number in the sentence? Is 3 > number of variables? 31 + number variables = no. lines subject to address modification Number of unmodifiable constants twice number of variables Thrice no. of variables + 31 - 1 no. of lines of running program including temporaries Thrice no. of variables + 31 + 6 no. of lines prelude and routine 767 + above enumeration gives address of 1st temporary of running program MJ 0 !~ove formed to make 1st line a jump to 2nd line of next sentence Line to generated routine output Getting constant call word for no. variables minus one TP Call Word of First temp of Variables Index Object Program formed and sent to output = = = } TU 1023 1011 } TU 1024 1005 to output } TU 1025 1010 to output 1154 to output Setups for a sub- 51 52 53 54 55 56 57 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 100 101 102 103 104 105 106 107 110 RP TP RA SP AT RJ SP RJ TP TU 10003 CN26 ERI ER1 ERI GK72 BP45 CS CN32 CN27 IN53 GK73 CN1 17 ERI GK o CSI ER ER ER RL CN16 RL BP45 RL ER 17 ER TV RJ RA RJ RA RJ TP SP RI2 ER RL2 ER RL2 CN34 GL7 TU A TV RJ TP TV RJ TP SP TP RJ SP GLll RL2 RE CN13 RL2 CNI CN14 AT RL ERI 17 ER RL 17 ER RL INI05 IN122 Q A RL2 BKS ER RL ER ER } } } } 1005 Call word of to output } RA 1010 Call word of to output } RA 1011 to output } IJ Call word of Variables Index } MJ 0 1000 to output } } III TU 112 TV CN33 FD3 113 114 115 116 117 120 121 122 123 124 SP SA TV SA TV SP ST TP TP RJ CN33 BK5 ~N123 } A BK5 } CNI 30000 ER ER 30000 FD13 125 TP A 126 127 f30 131 132 A BK5 IN122 BP45 IN123 CNI lN125 eN! FD3 CNI ERI IN122 (0 1 0) (0 1 0) Call Word of (0 1 0) 1005 to output o 1026 0 to output o (1026 + v) 0 to output o (1026 + 2 v) 0 to output Setup to get variables from string-out at BK6 Setup to store call words in output at certain location } ~N125 ~Rl ~OOO Puts a succession of lines in output Gets constant call word for 0 1 0 RA ER RL2 ERI CN31 RJ IJ 00 30000 30000 to 3 temporaries Puts in u and v of ERI the address of 2nd temporary of Object Program } } Setup to store call words at above locat. + v. v = no. variables Setup to store modulus indexes at 1st location + 2 v Variables 'index (v - 1) formed in ERl Get variable from string-out input. Store variable as fixed const. in output. Get Dimension List call word of subscripteJ variable, store in output and Op Fi le t itget modulus - 1 and store in output Modif~yi1HJiM-tr. ··t1lget·· next variable Index jump to get remaining variables 1155 133 MJ CA Jump to termination of generation Zeroize number of unmodifiable constants Setup to scan string-out at BK6, beginning of X3 variable list MJ 0 _ -to temporary ER Variables index set up in ER2 Is number of variables one? 17 = number of lines subject to address modification 25 = number of lines generated routine, including ttlO" lines & prelude 15 = Op File count of running program including temporaries o 1013 0 to temporary as address holding call word of variable o 1014 1014 to temporary as address of temporary in Object Program Sets up FD routine to store call word in output MJ 0 1016 formed in ER FW 1 TU CN CN3l GL2 FW25 2 3 TP ST 5 TP RE CNI FW15 CN6 ER ER2 FW5 GLI 6 TV CN27 GL 7 TP CN5 FLI 10 TP CN17 GK75 11 TP CN23 ERI 12 TV CN34 FD3 13 CN30 15 TV MJ TP CNII ER FW24 GLI 16 TV CN36 GL 17 TP CN7 FLI 20 TP CN20 GK75 21 TP CN24 ERI 22 23 24 25 26 27 30 TV TV RJ FD3 ER RL ER TP RJ TP CN35 CN37 RL2 30000 ER CS 31 32 33 34 35 36 37 40 41 42 43 ~ZJ -2-v-a-r-i---'1 14 abIes FW44 IA o TP able 0 IN134 TP o A A CSI GK73 RJ FD13 FD RJ TP RJ RA RA RA IJ TP TV RJ CS CSI GK74 GK BP45 BP45 A GK72 GK75 FW25 FD3 ER2 RE CN13 RL2 eNl FW25 ER ER RL 36 = no. of lines subject to address modi- fication 42 = no. of lines gen. routine incl. 10 lines and prelude 27 = Op File count of Object Program lines, incl. temps o 1024 0 to temp. as address holding call word of variable o 1026 1026 to temp. as address of temporary of Object Program Setup FD rtne.to store call word in output MJ 0 1030 formed in ER Line to output Get constant call word for name of subscripted variable and store name in constant pool Store constant call word in temporary Get Dimension List call word of subscripted variable, store in output & Ope File, and get modulus minus one in A Get call word of modulus - I and store in temporary Put a succession of lines into output Altering instructions to get a remaining variable Jump back to get a remaining variable MJ 0 1000 to output 1156 Termination 44 45 46 47 5P BK4 ZJ SP FW46 ER3 FB3 50 SP 51 52 53 54 55 56 RJ RJ CN40 LS ~W50 ~B ~l } } } Q5 MJ CA CN42 OPI OP OP2 VX153 VX153 RE o FW57 IA TP TV TO RJ GK CN33 CN2l GK73 RL2 4 TP 5 TV RJ CN25 CNI 5T2 5T CN2l RL2 CN25 CN2 5T2 RE RL ER ER 5T ER } BK4 A GK76 OK CNI GK17 } o 1 2 3 6 TP RJ TP 10 TP RJ 11 TP 12 13 14 15 16 17 20 21 TV RJ TP TP 7 22 23 24 25 26 27 30 31 32 33 34 35 36 37 40 41 42 ZJ 5P 55 TV RJ MJ RJ TP TV RJ RA RA TP TO TV RJ TP Tll TV RA RJ SW A RL2 o RL2 CN25 CNI 5T2 GL GLI CN33 GK74 ERl RL2 CN35 GK75 OK Eft- RL2 } } ER ER ER RL } ER } ER ER o o ER RL GK32 RL ER ER ST CNI CNI ER ER ER RL ER ER ER CN2 RL } } Is there a "jump to" line number? Store call word of "jump to" line no. as cross reference in Ope File Call word referencing read routine in Library put into Library List Op File to storage and generated routine to tape Indicator bit (0 2 0) put in WW (fixed location 12) to show a "READ" is present TP 30000 50100 [ill formed and put in output. If more than 2 variables, the first; otherwise, the second Constant 50100 Call Word of Variable 10 0 1 formed in ER Line to output without upping count in OK of lines relative to 1000 RJ 50100 50100 to output TP 10 0 2 to output MJ 0 0 to ER Is there a "jump to" line no. in sentence? MJ 0 looX - 1 to output MJ 0 Call Word of Line No. to output } 10 0 1 to output } Adding one to prelude counts } TP 30000 or Temporary Call Word of Object of Modulus Index Program TV or 1013 or 1024 } 1157 to output looX + 2 to out put M.oxe t~han2 ya_r. ~ 1 var •• or 2 var. setups determine u of generated codIng 43 44 45 46 47 50 51 52 53 54 55 56 57 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 TP RJ TP TV RJ TP CN21 RL2 CN25 CN3 ST2 SS CN33 CN26 CN30 RL2 CNI CS CN32 OK CNI TU A TV· Q TV TU RJ SP RJ TP SP RJ TP TU SP SS RL2 CN34 ERI OK CN3 ER RL ER ER ST ER ER ER RL o CSI ER A ER RL TP } Putting 1 into constant pool and getting its call word into Qv RA RJ ~ LWI Q ER TP TP A A TP CN22 BK3 GKl05 GKl07 Q ER3 105 106 107 110 TP RJ MJ RA o CN35 KII GK24 CN2 III RP RA 20002 CN33 IN15 CNI CA GKl13 IA RJ RA RL ST2 OK ST CNI MJ CA 0 30000 ER4 KI ER4 A 30000 to output loox-l Call Word of 1 to output lOOX-; to output Subroutine exit 30000 TV q IJ Temporary of Object Program 30000 30000 } 30000 30000 30000 30000 TJ TP Generated 0 Routine 1 Loader Plus 2 lOOX Counter } ER 100 101 102 103 104 112 10 0 3 to output o o RL2 o o } 17 ER ER RL ER RJ MJ o RJ 50100 50100 to output o TV o } } Temporaries used in generation Getting call word for line number MJ 0 C~ll word of to ER Llne No. Storing call word of line no. in 2 temp~. Is call word of sentence > 22777? Put a word with U35 filled into Q to show Pseudo-O·p. condition Call word of line no. to A Test if jump is legal u A } Increase excess-3 variable loading address by 2 to allow for 2 added "ten~ lines Increase initial loading address of excessthree variables to allow for added "10" line following jump to line number Loads line into output of generated routin~ Ups count of lOOX. Ordinal count of number of generated routine line relative to 1000. Does not include "10~ lines. RL3 1158 Generated 0 Routine 1 Line Loader 2 IA TP RA ST ER ST Loads line into output Alters loading line for next line of output 30000 eNl MJ 0 30000 CA ST3 Control Subroutine to get call word of a variable from Dimension List, store it in output and Op File, and get modulus - 1 in A IA FD v o TP ER A Get call word of variable from Di- ~ ~i 3 TP LA RJ RA TU TP QT SS MJ CA 4 5 6 7 10 11 12 13 Get Call Word of 0 a vari1 able in Dimension List 2 3 4 5 6 7 Load Op File 1 o 1 2 3 Constants and Dummy Commands Used to Make up Generated Routine IA RP EJ SN SA SA TO TP MJ CA IA TP RA RA MJ CA iS7 i~ A 30000 A 17 FB BP45 FDIO FB3 TS6 A 30000 CS35 BP45 0 FD14 Q A 71 30000 1 J mension List Put call word in output } Put call word in Op File 1 } Extract modulus from Dimension List, subtract one from it, and put into Av TS o DL BRI TS2 Q TS TSI o o A TS6 30000 A o } 17 } If variable is not in list, computer stops after a rewind of tapes and pri nt-out: AI..ARM 1 COMILATION INCONSISTENCY'POSSIBLE COMPlITER ERROR' RECOMPILE Computing position of variable in list and getting call word of it into A 30000 TSIO FB A FB FL 0 FB4 30000 CNI CNI 30000 0 1 2 3 4 5 6 IA 0 0 0 0 0 0 0 CN 0 0 0 0 0 0 0 0 1 2 3 7 15 17 7 0 0 27 Storing line in Op File Increase storing order Up count of number of lines 1159 10 11 12 13 14 0 0 0 0 0 o o o o o 31 34 767 1000 1026 15 16 17 0 1 0 0 3 3 0 1013 0 20 0 1024 0 21 22 23 RJ 0 0 0 24 0 1026 1026 10 o o 30000 30000 25 1016 GL6 25 26 27 30 31 32 When more33 than 2 34 vars., GL37 is 35 initial loading 36 address 37 of X3 40 names 41 42 o o o o RA TP IJ TV o o o TU o CA 50100 50100 22777 1014 1014 1005 Q BK6 DL LL o o o o FL3 GL37 Gl24 GL40 Address holding call word of 1st variable for more-than-2-variab1e case Address holding call word of variable for I-variable case Address holding call word of 1st variable for 2-variable case Address of temporary of Object Program for I-variable case Address of temporary of Object Program for 2-variable case DL is initial location of Dimension List GL24 is loading address of variable when only one GL40 is initial loading addr. of variables when there are two 42 1030 50100 o 1023 1011 GL FL CN43 Call word of Read permanent library routine 1160 Start Z~Zl Generate GL 0 27--- 11 1 0 0 3 0 2 0 0 0 0 0 3 ~ 4 0 0 0 5 line # 6 MS 0 0 7 10 0 DA ? 10 EF 0 Stop Generator Flow Charts Place code for ~ Rewind 1 in CP. obtain CW Fill in v-add .. - of EF in GLlO ~ ;7_~_2 Generat FL 0 1 0 o 2 0 o 2 0 ~ Generate GLII RJ 50077 50071 ..... ..... 0..... Inspect indicator bits in 12 8 12 13 14 15 16 I--~ 10 3 RP 30003 TP ? RP 10024 TP ? 2 1005 WBl05 1001 WB144 Place word of'~rinter bkpt. stop" symbols in C.P. L Fill in GL16 "u'~r ~---~ 22 11 GL"v" GLl"v" 3 GL2"v" 3 --;. FL"v" 12 ~ FUttv" 50077 .~ FI2 "uIt ~ -~ ~ Extract n (# of tape no. CWts in rewind list) from RW No Form ~ = 3n Form ~ = 2n+3 Increment by 8 by 8 by 8 Fill in GL14"u" wi th ( 1042+8) GL GLI FLI Place GTH parameter to write 1 block from List buffer in C.P.; CW~ERl Place AT CW GT3 Set up RP in Box 1 to transfer 3 words; Set up RA in Box 1 to increment by 3 Place Set up RP in Box 1 to transfer 2 words; Set up RA in Box 1 to increment by 2 in ER3 RJ GT2 GT in ER4 when CW is that saved in ERl Place SP ? 17 in ER2 RJ l026+2n l024+2n in ER3 Stop Generator Flow Charts ~~et up TU in Box 1 Set up TP in Box 1 to start from GL17 ~o start at RWI n +-n-l C~} f~ ~ +2TP I ER2 3R,A a +2 F ER2 a +a Box 1 ? ? ---------' 0{ F . ncrement TU order in Box 1 to extract next line for RW ~ H s there a programmed Read? Insert 3 xS3 lines at end of generated Icoding Set up RL subroutine Check dimension to see if AUTO read required ~~~list -fi\ Set up RL subroutine No Generate TP, 10, RJ, 10, MJ, Par am.,) 3 flex code words. Set up prelude Parameter rtne. ~OP ~STOP \..J Stop Generator Flow Charts ~ TP - X+20 - 0 _____ 10 0 PR3 No 1 _I )..-_~ RJ - 0 - 0 10 PR2 PR >----iJII u.--~ \---~ MJ SA L (rew cod.) .1----1 0 10 0 PR2 >--~EF 0 A )..--~ SJ ~~SP 0 x-5 TP N~~ Zero to con s t .. pool MJ 0 x-13 x+6 x-3 A SP L(O) x+1 14 0 I---~ 0 11 to const .. pool Rewind ......" const.pool >--~code Stop Generator Flow Charts ®---i RJ GT2 GT ~ o (x+14) I MJ 0 30000 ~ 0 x+2 13 Insert 14 flex code words Increment GL by 36 GLI by 22 GL2 by 14 FLI by 33 In above routine X = address reI. 1000 of order currently being generated STOP GENERATOR REGIONS Generation Subroutines fE RE RE CS12ll BR537 OPl047 Call word routine (= CW) Machine error print-out routine Op control routine RE RE RE RE DlAOl02 BK2242 GL5360 RW50023 RE WW12 Dimension List Buffer input region Buffer output region for generated routine Rewind list of call words of tape no. 's referenced by read and list instructions Fixed location of read, list indicator RE RE RE RE RE RE RE ST2512 SG2513 HT2513 PG2702 RL3017 CN3024 ER3l37 Temporaries RE FL3l44 Where Op File I is built RE RE RE DA77300 PR77250 GT2l0 Object Program service routine UNICODE print-out routine Object program tape handler RE RE WB7l005 IW50077 List buffer (170) Call word for LIST permanent library routine Stop Generator 1166 STOP GENERATOR IA MJ CA HTO 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 IA TP RP TP SP LA TU TV TV TP RP TP SP RJ TV RP TP TV TV SP LA TU TP QT ZJ RP TP SP RJ TU TV TV TV CA IA TV TV TU TP QT TP TJTP TP ST ,... u 30000 Exit HT166 lIT 3 GL 0 17 GL GL GLI GLS lIT 13 GL6 0 CSI GLIO HT20 FL FL FLI Set indicator to zero Zeroize 5 lines of GL STl SG CN 10005 CN BK3 A A CN4 CN2 BKI 30003 CN32 CN27 CS Q 10003 CN CN24 CN24 BK3 A A WW CN17 HT30 30006 CN35 CN30 CS A CN7 CN4 CN2 SG40 0 17 FL Q A HT125 HT32 GLII 0 CSI GLl6 GL GLI GL2 SG40 CN2 CN5 CN35 CN12 RW A FL FLI FL2 Q ER ERI eN3- Hl'fH CN25 CN2 HT166 ERl } } } } } } } } Call word 11 ~ GL "v" 3 ~GLI ttv" Line number MS, "10" line, EF Rew. I code Fill in EF "v" Zeroize 3 lines for Op File item 2 ~ FL ·v" 2 ~ FLI "v" Call word I/O indicator word Is there a list? RJ, 10, RP, TP, RP, TP Stop word to constant pool Fill in TP flU" 22 -+ GL "~,, 11 ~ GLI ·'v" 3 ~L2 tty" 3~FL "v" 12~FLI tty" IW CW ~ FL2 "u" Mask for n from RW list Extract # tape call words (n) n~ERI Testv··<:· :4 4 or more, set indicator to large no. 3 ~ERI 1167 51 52 53 54 55 56 57 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 SP AT SA 1 ERI 17 GL14 ER1 } ERI ERI TU A RA RA RA SP RJ TP TP IJ TP GL GLI FLI CN31 CS TU TP TU TV MJ SP AT SA AT TU CA 100 101 102 103 104 105 106 107 110 III 112 113 114 115 116 117 120 121 122 123 124 125 126 127 130 131 A ERI CN15 IA TV TU TV IJ MJ TU RP TP RA RA MJ TV RS SA TP TV RJ TV RA RP TP QT ZJ TP TV TP o PG HT166 CNlOO ER1 CNlOl CN37 CNl12 CS1 ER1 ER2 HT73 ER3 ER3 ER4 HTl06 HTIIO HrIOI ER CN14 CN24 ER3 CN40 SG100 ER3 17 ER3 HT106 A o SG100 CNl05 CN42 CNl03 ER 0 [30000] [OJ ER2 HT107 HT105 0 HTl07 HT107 CN41 CN A PGl14 RL1 HT124 30003 CN106 CN20 HT151 CN 6 CN16 2n Form inc. for prelude (3n or 20 + 3) Add 1042, form (1042 + 3D, 1045 + 20) Fill in TP2 "un Increment prelude counters General GTH parameter to write 1 block to C.P. Save it SP-17~ER2 How many tapes? < 4; AT GT3 ~ER3 AT L( GTHp) GT3 - ER3 RJ GT2 GT ~ ER4 Set up RP to write 3 words Set up RA to inc. by 3 Jump 4 or more tapes; 2n ~A Add 1024 ~ 1024 + 2n in ER3 v" Add 0 37 2 ~ RJ 1026 + 2n ? in A Complete order Set up RP to write 2 words 1 .t Set up RA to inc. by 2 Set up TU order to start at RWI Start at GL17 Count down on n index Exit Complete SP order HTllO HT105 HTl07 HTl05 HTl13 ER2 HT110 [30000] [30000] CN17 HTI03 RLI CNI03 Increase by 1 "u" Now HT 103 "v" holds next address in GL Subtract GL17 Add 1007 Zeroize RL4 And set it up (add. reI. 1000) Execute PG coding o RL4 RL4 PG HT124 CN6 HT163 } 30000 ~127 ER ER ER1 } Increment by 14 Insert XS3 - "END OF OUTPUT" then go to conclusion No list - how about a programmed Read? No. prog. Read - investigate auto-read Set up ER with #77 CW's 77000 is 1st CW 1168 132 133 134 135 136 137 140 141 142 143 144 145 146 147 150 151 152 153 154 155 156 157 160 161 162 163 164 165 166 TU IJ MJ SP RP EJ CA IA SN SA SA TU TP QT ZJ RA MJ TV TP RJ MJ RP TP TV TV TV TV TP RJ MJ 0 CA 6 ER 0 ERI [0 ] HT136 HT135 HT155 0 BRI or HT140 LI .... Set up RP Count down on index Exit - no auto-read SG140 SG140 Q HT136 HT137 17 0 0 HT144 A [30000] Q CN25 A HT147 HT151 ER1 CN1 0 HT133 CN102 RLI CN13 RL4 PG114 PG 0 HT163 30011 HT157 CN55 GL11 CN7 GL CN4 GL1 CN2 GL2 CN4 FLI CN77 OP1 OP OP2 ST 0 0 0 SG167 Inspect X If zero, auto-read No - prepare to search for next CW Read coding - prepare to gen. coding Gen from GL11, add entr --+ 1002 Execute PG coding Go to conclusion NO READ, NO LIST 22 ~ GL "v" 11 ~ GL1 "v" 3 ~ GL2 "v" 11 ~ FLI "v" Conclusion - parameter to Op Exit Indicator word 1169 PG 0 1 2 3 4 5 6 7 IA SP AT IJ RS RJ TP RJ TP SG167 RL4 CN43 HT166 ER RL3 CN56 RL3 CN57 17 ER PG4 CN22 RL ER RLI ER Add. entr. ~ A "u" Add TP 20 0 Or < 4 tapes? Yes, subtract 3 "UH Store this running line 10 0 PR3 Store this 10 line RJ 0 0 10 11 12 13 14 IS 16 17 RJ TP RJ SP RJ TP TU RJ RL3 CN60 RL3 CN CS HT13 A RL3 RL ER RLI 0 CSI ER ER RL Store this running line 10 PR2 PR to output Clear A ~ Constant Pool 20 21 22 23 24 25 26 27 SP AT RJ SP AT RJ SP SA RL4 CN44 RL3 RL4 CN45 RL3 RL4 RL4 0 ER RL 17 ER RL 17 0 Add entr. ~ A "v" Add MS 0 1 Store this running line Add entr. ~ A "un Add ZJ 1 1000 Store it Entr. ~A "u" and A "v" 30 31 32 33 34 35 36 37 AT RJ SP AT SP RJ TU RJ CA CN46 RL3 RL4 CN47 CNlll CS A RL3 SG227 ER RL 0 ER 0 CSI ER RL Add 45 77775 00001 Store this (SJ line) Entr. ---::.A "v" Add TJ-2 40 41 42 43 44 45 46 47 IA SP AT RJ TP RJ SP RJ TP SG227 RL4 CN50 RL3 CN5l RL3 CN26 CS HTl15 RL ER RL 0 CSI ER SO 51 52 53 54 TU RJ TP RJ SP A RL3 CN34 RL3 RL4 RL ER RL 17 0 ER } } SP 1(0) o to output 1110~A Constan t Poo 1 TJ L( 11) X + 2 Store this ~ Entr. ~ A "v" Add 44 77777 77773 ~ MJ line Store it SP A 14 Store it Rewind code ~ A ~ C. P. (Constant Pool) SA-O ER Store it EF 0 A Store it Add entr. 1170 ~A "un ER ER PG60 CN22 Add TP 6 0 or less than 4? Yes - subtract 3 tlu" RJ TP RJ SP AT RJ IJ MJ RL3 CN56 RL3 RL4 CN53 RL3 HT166 0 RL ER RL1 0 ER RL PG70 PG77 Store it 10 0 PR3 Store this 10 line Add entre ~ A "v" Add 44 77777 77765 ( Store it How many tapes? < 4 - jump TP TU RJ TP RJ TP RJ SP CA CN100 ER1 RL3 CN101 RL3 CN54 RL3 RL4 SG267 ER ER RL ER RL ER RL 17 AT GT3 AT CW(Write param.) GT3 Store it RJ GT2 GT Store it MJ 0 30000 Store it Add entr. --+ A "u" IA AT RJ SP AT RJ TV RP TP SG267 ER CN21 RL RL3 RL4 17 ER CN23 RL RL3 RL1 PG107 30014 PGllO } CN63 [30000] Add 0 2 13 Store it Entr. ~ A flU" Add 0 14 1 Store it Extract address in GL list Insert Flex codes 110 111 112 113 114 RA RA RA RA MJ CA GL GL1 GL2 FL1 0 SG304 CNll CN7 CN6 CNI0 [30000] Inc. Inc. Inc. Inc. Exit RL 0 1 2 3 IA RA TP RA MJ SG304 RL4 ER RL1 0 eNI [30000] CN1 [30000] 55 56 AT IJ CN52 HT166 57 RS 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 100 101 102 103 104 105 106 107 4 [0 CA 0 01 ~ SG311 1171 GL ltv" by 368 GLI "v" by 228 GL2 "v" by 148 FLI "v" by 338 ~ MJ) 1 2 3 4 5 6 7 IA 0 0 0 0 0 0 0 0 SG311 0 0 0 0 0 0 0 0 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 0 0 0 0 0 0 0 0 0 0 0 0 0 7 2 2 0 0 30 31 32 33 34 35 36 37 0 74 CNO MS 10 EF RJ 10 RP CA 40 41 42 43 44 45 46 47 50 51 52 53 54 55 56 57 IA TP RP TP TP MS ZJ 45 TJ 44 SP TP 44 MJ TP 10 RJ 0 0 0 0 0 1 2 2 0 1 3 4 11 12 14 22 33 36 77 1002 1024 1042 77000 0 0 13 3 14 37 0 200 200 1 2 0 0 10000 61616 20100 0 0 0 IW 3 30003 SG351 16161 1005 0 DA A IW 2 1005 SG351 30002 10024 RWI 20 0 1 77775 0 77777 A 6 77777 0 1005 0 0 0 RJ in "u" General rewind Rewind #1 Breakpoint stop word Parameter to write 1 block from list buffer WBI05 1007 WB144 0 1 1000 00001 2 77773 14 0 77765 30000 0 PR3 0 1172 60 61 62 63 64 65 66 67 10 MJ 0 45 PR2 0 1006 47200 PR 1000 3 62204 cr , ENDLl 03 26041 23406 OFD RUN 45 01 14 45000 03041 06220 00000 22031 41454 cr cr TO LlREW IND Ll II 70 71 72 73 74 75 76 77 03 24 24 06 30 24 45 0 CA 04013 20121 03041 04051 01301 22140 GL SG411 01520 00104 70304 40604 40104 20157 10103 FL o LlTAPE SLl SETLl SERVOLl NO Ll IN Ll ALlHITLl START + cr ditto IA AT RJ 0 0 0 0 30 01 66 0 0 CA SG411 0 GT2 0 0 0 0 50270 51676 22010 0 0 SG424 100 101 102 103 104 105 106 107 110 III 112 04242 GT3 GT GLII GL17 2 CNI04 15131 65267 10101 13 CN2 L(2) ENDLlOF .6.0UTPU T.1\7\ L(3) 1173 Flow Chart for Dimension Generator o Call word ~--~ Set up index for number of subscripted variables 2 Preceding made-up Op File and the dummy line o o Modulus t----~ 0 30000 0, sent to op. of variable control routine for Above two lines made up storage of Op. File for Op File of variable in dimension list of variable -----~-f Variable index jump Mask out number of subscripts used with current variable from dimension list Alter instructions referencing --.-----1 dimen sion list so data on next variable wi 11 be secured Yes No Add 6 Alter instructions referencing dimension list so data on next variable will be secured Add 5 Alter instructions referencing dimension list so data on next variable will be secured DIMENSION GENERATOR RE RE RE CQ2512 C02547 OPI047 DL40102 0 1 IA MJ TP CQ 0 6 2 QT 30000 Q COlI A 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 TP IJ SP TV SP TV TP RJ IJ MJ TP QT TJ TJ RA RA RA MJ RA RA RA MJ RA RA RA A COlO DL2 A DL3 A C012 OP COlO 0 DL3 COlI CO2 C04 CQ5 CQ7 CQ15 0 CQ5 CQ7 CQ15 0 CQ5 CQ7 CQ15 0 CQ35 COlO CQ5 17 C013 71 C014 OPI OP2 CQ15 CQ Q A CQ31 CQ25 C07 C07 C07 CQ5 C06 C06 C06 CQ5 C05 C05 C05 CQ5 HE MJ CA 0 1 2 3 4 5 6 7 IA 0 0 0 0 0 0 0 0 0 0 0 0 0 4 5 6 10 0 0 11 12 13 14 15 0 0 0 C015 0 0 0 0 30000 CA C016 0 ~ Exit Mask # of arrays to establish index Set index } Call } Modulus -+ Op File 1 } Parameters to Op. ) } } } } word~Op File 1 Exit Mask # of subscripts 2 >(A)? No-add 4 (it must be Ot1) 4 > (A)? Add 6 Add 5 Add 4 CO 0 1 2 3 4 0 0 0 [oj 77777 C013 2 0 } No. of subscripts } Modifiers Index Mask Parameters } Op File 1 0 1175 Pseudo-Operation Heading (Generation) - Flow Chart Call word of second line of pseudo operation to v of second jump line of generated coding. Call word of pseudoop heading to u of first lines of Op File I and prelude Transfer generated routine to tape and Op. File to storage via Op control subroutine PSEUDO-OP HEADING-GENERATION HE RE RE BK2242 OPI047 PS2512 IA PS 1 MJ TV BK4 PS2l 2 LQ BK3 Q17 PSlO PSl2 OPI OP2 PS o 3 TU 4 TU 5 TP 6 RJ 7 MJ 10 0 11 12 13 14 15 0 0 17 0 0 0 0 0 20 MJ 16 21 MJ 22 10 23 o Q Q PS23 OP o [0] o [oj o o o o o o o o 0 PS12 CA PS24 30000 2 2 11 } } } Exit Call word of second line of subprogram to v of output iine Call word of Pseudo-Op heading to u of 1st line of Op File 1. Same to u of 1st line of prelude Transfer generated routine to tape and Op File to storage Exit Op File 1 3 o o o o 30000 } [0 ] Prelude of generated routine Generated routine plus "10" line 1 PSIO Parameter word for transfer of generator to tape and Op File to storage The line number in input buffer line bkl is inserted in PS17 by generation control prior to operation of this routine in the core. 1177 End of Tape--Generation Control of the End of Tape Generator is in the last part of the Control Generation subroutine. First the Op File is transferred to the proper storage area. Then RJ KB KBl does the following things: It closes out the Op File block, sending it to tape, and adds on an "End of Entry" block. In the "End of Entry" block following the first two lines, the contents of locations 5-17 are reproduced. Prior to this, the value of 14 is computed and a warning print-out given if the number of blocks scheduled to be put on tape 5 will exceed 2500. Two blocks of Z t·s are added to the tape holding the generation subroutines following an ttEnd of Entry" block. List I of the library routines referenced is sent to tape 5 with an initial block having in its second line the contents of counter 5. An "End of Entry~ block is added at the end. Next, RJ UG UGI puts the Dimension List on tape 5 with opening and closing blocks. RJ IG IGI puts the Constant List on tape 5. RJ BU BUI references a BX subroutine to build an excess-three symbol list of single-valued variables. Then the BU subroutine sends this list to tape 5 with the appropriate beginning and ending block. RJ EG EGI rewinds the string-out input tape and the generation-routine tapes and moves backward on tape 5 until the reader head is positioned just before the entry blocks of the Op File I data. RJ BE BEl gives the termination print-out for generation and provides the option of interruption or continuation of the UNICODE program. Subsidiary subroutine TE is another name for KB during the '"End of Tape 1t operation. TF is a list of labels and a mask. EW is a subroutine which adds Z's to a title block and transfers it to tape and contains a portion which puts List I on tape. IW is a subroutine which takes any length list and adds it to tape, computing the number of blocks and adding at the end an "End of Entry" block. 1178 RJ BV BV1 is an instruction within TE which in turn references regions BM, BN, and BO and computes the value of 14. Explanation of FS, a region of 7 temporaries used during operation of IW, is given in annotated form following the print-out of the Reco coding. 1179 End of Tape - Generation - Flow Chart A1 Transfer "End of Tape" generator from drum to core ~ Op File to storage Compute tape 5 data "End of Entry" to bufcode word, store in 14, ~ fer region I and print alarm, if needed ~ ~ Fill Op File buffer region with zt s Final Op File 1 block to tape 5 1 Put data of 5-17 in buffer region "End of Entry" block to tape holding generated routines "End of Entry" block to tape 5 DlMENS and (6) to 1st 2 lines of buffer region ~ E--- ~ 2 blocks of Z's to gen. routine tape List I put on tape 5 Block to tape 5 ~ LIST I and content of 5 to 1st 2 lines of buffer region Block IE-- put on tape 5 Dimension list to tape 5 "End of Entry" block to tape 5 1180 CONS~A and (10) to region. Block to tape 5. Constant List to tape 5. "End of Entry" block to tape 5. buff~r Build excess-three symbol list of singlevalued variables Jump to UNICODE control routine in drum to start set-up segmentation ..... ..... co ..... No Rewind all tapes and c:omputer stop SYMBOL and (7) to buffer region Block to tape 5. Symbol list to tape 5. End of Entry block to tape 5. Rewind string-out input tape. Rewind generation routine tape. Move back tape 5 to beginning of Op File. Print-out: END OF GENERATION. TO INTERRUPT COMPILATION SET A NOT= O. START. Construct Code Word For Tape Data (Word 14) Bits # B1ks Constant Pool List ..... ..... co N 1-26} # 15-2if Blks Symbol List Is v portion of word + # blocks symbol list ~ 2500(10)? Read List Indicator Bits from Location 12 # B1ks Corrected Problem + # B1ks Op File 1 + # Blks List I + # B1ks Dimension List + Blks Constant Pool # Warning. Uniservo data will exceed 2500 blocks. Attempt being made to continue compilation End of Tape--Generation Regions Generation Subroutine regions are also needed for assembly of this tape. RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE RE TE2512 TF2565 EW2573 IW2610 IG2675 UG2713 EG2732 BE2750 BU2774 BX3012 BV3052 BM3104 BN3123 803154 FS3214 BZ3223 BW4223 BY2777 1183 End of Tape -- Generation (See Control Generation Routine (CG77-lll) for control portion of these End-of-Tape Subroutines.) IA o MJ 1 2 TP ZJ 3 4 AT TV 5 6 7 10 TE o ES 30000 A TE3 RCI TE16 A TEl1 TP SS GP5 A ES 17 AT GP4 A TU RP TP TP RJ RA RJ A 10000 GP2 RC GT2 ES5 TEll TE13 30000 GT3 GT GPlO BV BV1 TF TFI 30013 NP NPI TE23 NP2 TE25 NP15 GT GPlO 44 TP TP RP TP RP TP RJ RA TP TP RP TP TP RJ RA TP TP RJ RA RJ RA TP 45 TP 46 TP 47 QT 50 51 52 ZJ RJ MJ TF2 TF5 5 TE51 EW4 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 CA 5 10153 GP2 GT2 ES5 TF TFI 10166 GP2 RC4 GT2 ES6 GP2 GP2 GT2 FS6 GT2 E56 ES5 o Exit Entry A Last block of Op File 1 filled with ZI S and transferred to tape 5 To set up code tape data word 14 and test length of data to go on Uniservo 5 End of entry block of Op File 1with data on 5-17 goes to Uniservo 5 GN GNI TE33 GN2 GT3 GT GPlO GN GNI GT GPlO GT GPIO FS5 NP Q NPI TE End of entry block of subroutines for Uniservo 4 or 7 2 blocks of Z's following subroutines on tape 4 or 7 Setting up counter of blocks from beginning of Op File on in tape 5 Start of transfer of List I to tape 5 EW EW5 TE53 1184 IA 30 1 01 2 46 3 26 4 27 o 5 0 CA o 1 2 3 4 IA RP TP TP RJ MJ 5 TP 6 TP 7 QT 10 RJ 11 TP 12 RA 13 MJ 14 0 CA TF 50270 30506 34656 51506 34473 7777 TF6 15131 65473 60104 56624 05065 EW 10166 GP2 RC GT2 :~ EW14 GP3 5 IW FS ;rOOOO IW64 Q FS2 IWI FS4 To finish transferring List I of library routine call words to tape 5 FS5 FS4 TE Adding in no. blocks of Library List I to accumulative block counter o o o END60F ~ENTRY LIST& CONSTA DIMENS Mask o GT3 j' Subroutine to fill a block containing 2 title lines with lines of zt s and transfer to tape 5 No. of blocks of library list goes to FS4 LN EW15 Subroutine Used to Transfer a List to Tape IA MJ 1 TP IW GPlO 30000 FS TP 3 TJ IW64 GP6 FS2 GP5 IW64 ~W20 ~W35 o 2 4 List in Drum TP 5 TJ 6 SP 7 TV 10 RP 11 TP 12 TP 13 RJ 14 RA 15 RS 16 RA o 30170 30000 RC GT2 FS FS2 IW64 17 IWll IW12 NP GT3 GT GPlO GP5 GP5 17 MJ o IW4 20 TP 21 TJ FS2 GP5 A A } } Exit Entry. Starting count of number of blocks with 1 Is list located in drum or core? Is l70>no. lines left in list? If so, go to partial-block portion Setting up transfer line for block transfer } Transferring block lines to buffer in core } Writing I block on tape Counting number of blocks Subtracting no. lines transferred from FS2 Increasing address to next line to be transferred Jump back to continue transferring data, } Is 170>no. lines left in list? If so, go to partial block portion } -Illookby block, to tape r IW35 1185 List in Core Partial Block to Tape 5 after Filling With Zs 22 23 24 25 26 27 30 31 32 33 34 35 36 GP5 DV TP TP SS AT A TV RJ RA MP AT TP ZJ SA ~~ ~~ 41 42 43 44 45 46 47 TU RP TP TP 55 TO FSI GPIO RC IW64 Gr2 FS FSI IW64 FS2 IW36 GP6 A IW64 A 30000 30000 GP5 FS2 A RA IW52 50 TV FS2 51 52 53 54 55 56 End of {57 Entry 60 Block 61 62 63 64 RA RP TP TP RJ RA TP TP RJ RA MJ 0 IW53 10000 GP2 RC GT2 FS TF TFI EW4 FS CA IW65 o o No. of whole blocks to be transferred ~FSI Remainder ~ FS2 FSI FS2 A 25 GT3 GT3 } Setting up parameter and transferring no. whole blocks of list to tape in one reference to tape handler GT FSI GP5 IW64 } A IW57 17 IW42 17 IW43 IW44 NP Upping block count Updating address for next line to be transferred No. lines left in list~A Setting up repeat lines to transfer remainder ·of data to NP } } Transferring data to NP A 17 IW52 GP4 IW53 ReI IW54 } 30000 ~3 } GPIO NP NPI } Calculating number of Z lines needed and setting up repeat lines accordingly Transferring Z lines to buffer region to fill up block Transferring final block to tape Upping block count END !J.OF } to terminatIng . !J.ENTRY block Block to tape Upping block count of list EW GPIO IW o Input line holds address of 1st line of list in v Routine to Put List of Constants on Tape 5 IA MJ ITP o 2 ZJ 3 TP 4 TP 5 RJ 6 TP 7 TP 10 QT IG o 30000 803 IG3 A TF3 10 EW4 IGl5 GP3 10 NP NPI IG } EW IW64 Q FS2 } Exit Entry If 803 is zero, the list of constants is nonexistent CONSTA to title line of block Counter to 2nd line of 1st blockette of block Sends 1st block to tape (title block) Sends input line to subroutine Masks out no. of words of constants to FS2 1186 11 12 13 14 RJ TP RA MJ IW FS FS5 1~ n v n v CA IG16 .L (A) its o.k. exit (u) not> (A) print warning: WARNING. UNISERVO 5 DATA WILL EXCEED 2500 BLOCKS. ATTEMPT BEING MADE TO CONTINUE COMPILATION. Exit 'I 0 0 77777 170 0 0 0 0 0 1 2 0 0 3 4705 21 03450 16750 47051 72466 44646 63030 00303 12645 12466 26601 03201 00166 10101 15066 00126 44624 02277 14v } UI~uJ. 0 0 0 0 ~ Mask Wordsa 1 b1k Constant pool Dimension List Symbol List Corr. probe + (ES5) + 1 Temp. Label + end Mask Mask Remainder + label + end 250010 + 1 Parameter for print WARNIN GAllUN ISERVO ~5LIDAT A~WILL ~EXCEE D~2500 ~BLOCK S .1l()'AT TEMPT~ BEING~ MAD~T O~~~~~ ~b.CONT INUE()'C OMPILA TION. 1191 Temporary Region FS 0 1 2 3 4 5 6 Number of blocks of any List transferred to tape Number of full blocks of a list transferred Number of lines in partial block or first-number of lines in list Number of blocks of constants on tape Number of blocks of Library List on tape Number of blocks accumulative back to beginning of Op File 1 Number of blocks of Dimension List 1192
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2004:08:06 20:49:57-07:00 Modify Date : 2009:10:01 06:49:02-07:00 Metadata Date : 2009:10:01 06:49:02-07:00 Producer : Adobe Acrobat 9.13 Paper Capture Plug-in Format : application/pdf Document ID : uuid:f3ab3fb7-f409-47f9-8848-1a5bd7285a12 Instance ID : uuid:03bd96c7-6cb4-4999-ae54-4570e79ae989 Page Layout : SinglePage Page Mode : UseOutlines Page Count : 632EXIF Metadata provided by EXIF.tools