Home
DATE: at - The UK Mirror Service
Contents
1. 6020 Meus 20 4 5105300 MONPAY LOCATION COMMAND CRR CLA TYA CLA TYA TAB CLA TYA CLA TYA TAB CLA TYA CLA TYA TAB CLA _ CLA TYA CRR FCA FST FCA PRINT TAB FCA FMP FST FCA FSB FST FCA PRINT TAB FCA PRINT FCA FSB FST TAB FCA PRINT CRR DONE 21 ADDRESS Rent 7770 t IN PAL TTTT INT 105051 715 dA auct 7770 1 PAYMENT PAYMENT BALANCE MONRATE INTEREST MONPAY INTEREST PRINCIPL PRINCIPL INTEREST BALANCE PRINCIPL BALANCE BALANCE ALF CNO1 ALF CNO2 ALF CNO ALFCNO _ FLOCNOT FLOCNO2 ALFCNO ALFCNO COMCNO1 ALFCNO ALFCNOS ALFCNO9 ALFCNI ALFCN11 ALFCNI2 START AREF BREF BALANCE RATE N MONRATE STOREO MONPAY TAG 01 PAYMENT INTEREST PRINCIPL DONE ALFCNO ALFCNO2 ALFCNO ALFCNO4 FLOCNO2 ALFCNO ALFCNO COMCNO ALFCNO ALFCN ALFCNO9 ALFCN1O ALFCN11 ALFCNi2 ENDTABLE FCA PAYMENT FAD 1 FST PAYMENT FSB N TMI TAG 01400001 TZE TAG 01400001 TRA START END BALANCE RATE N 12 242 6 ue e 000 562045105300 PAYMENT PR INT 34385 0000000 0030000 0000000 0030010 0000000 0030020 0000000 003 1100 0000000 0031120 0000000 003 1140 0000000 0031 160 0000000 0031200 0000000 0031220 0000000 0030460 0000000 003 124 0 0
2. _ ae ae W o m RECOMP II Users Program No 103 issued in July 1961 permits the following I II III SALT statements may be typed as rapidly as desired However typing speed is still restricted when typing SCRAP coding via an ENTER SCRAP statement The SALT program may be initialized for re use by depressing ERROR RESET and START 2 Thus it is not necessary to re load the SALT tape if compiling a new program NOTE After initializing for re use advance at least two folds of tape and depress START 1 if typewriter input is to be used or place paper tape in photoreader and depress START 3 if paper tape input is to be used The SALT program can now process an offline prepared tape that has been typed in SALT language To use the SALT program and a tape prepared offline the following is necess ary 1 NOTE NOTE Prepare the offline tape The SALT input should be typed just as it would be on line There should be at least eight blanks on the tape between each character A Friden Flexowriter model FPC 5 modified according to RECOMP Technical Bulletin No 21 will automatically insert blanks between each character Load and verify the SALT program verify place the program tape in the photoreader past the zero memory section that is at the beginning of the tape Set tab override switch in the ON position Place offline prepared tape in photoreader Depress START 3 This w
3. BALANCE 1200 RATE 0 MONTHLY PAYMENT 54 82 PAYMENT PRING IPAE INTEREST BALANCE 1 00 82 00 1154 1 2 2 nES 16186 E 0 47 21 61 96 33 17 57 26 91 8 7 00 26 90 I m 00 48 28 6 54 823 66 9 00 48 64 6 18 TT 10 00 12 01 5 51 i 00 11 00 49 3 EX 16 63 12 00 9 0 626 13 00 50 5 6 76 15 00 30 4 33 6 I 15 00 50 i 3 95 19 3 16 00 51 2 3 24 423 13 17 00 51 64 3 1 372 19 19 00 52 03 2 79 320 17 19 00 52 42 2 40 265 05 20 00 52 81 2 01 215 2 21 00 53021 1 61 162 03 22 00 25 6 1 22 108 42 23 00 54 01 81 5s 1 2 55 1 ott OO 27 6 CODING INFORMATION 6 1 FUNCTION TABLE The SALT compiler contains a list of permissible func tion names in locations 2300 to 2327 Three function names SQRT EXP and LN must be included The names for the other functions may be changed if necessary The standard revised SALT compiler program recog nizes the names described 52 1 1 whose names are listed in Function names in this table are right justified preceded by as many blanks as are necessary to make eight characters total There must be amp minus zero word after the list The SALT compiler does not itself generate any coding for the functions The function name is punched out during the SALT phase to be recognized as a SCRAP macro The functions recognized by the standard revised SALT are defined as macros in the revised SC
4. fifteen 15 characters counting the decimal point if used as a character Neither the integral part nor the fractional part of a number may con tain more than eleven 11 characters For example Plus signs may be omitted VARIABLES A variable is an all alphabetic word containing at most eight 8 letters See 3 1 for restrictions on variable names Examples of permissible variables are DELTA X NSUBSIX ITEM SUBSCRIPTED VARIABLES Subscripted variables have the form V K or V K J where Vis a variable and K and J are either numbers or variables The names of a subscripted variable should contain at most seven 7 letters because the assembly program SCRAP places a letter K at the beginning of the subscripted variable name Using eight 8 letters may not cause an error in the machine language program but the assembly printout will replace the first letter with a K as mentioned above Subseripted variables in SALT may refer to elements in a one or a two dimensional list or table Examples of proper subscripted variables are MATRIX I J MATRIX ROW COLUMN X 5 X J MATRIX 5 J VECTOR P An example of a subscripted variable which is not permitted is TENSOR I J K the user attempts to input a third dimension the program will reject the input and result in an error return 2 1 2 1 5 The subscripts themselves may represent mixed number values but only the integer part is used in th
5. machine language programming and coding SALT translates state ments in this simple format to a RECOMP II symbolic code format which is later assembled by the SCRAP program into absolute machine language The assembled program utilizes relevant sub routines contained in RECOMP II Program No 50 Program Prepara tion Package Number Two This combination of programs enables the RECOMP II to offer what is known as automatic programming EXPRESSING PROBLEMS IN SALT FORMAT Expressing a problem in SALT language is much like writing in standard mathematical notation Additionally SALT language is used to provide for input and output of information Statements in SALT language may be grouped as ARITHMETIC STATEMENTS which are the algebraic equations used in solving the problem INPUT OUTPUT STATEMENTS which provide for input of information from the typewriter or photoreader and output of information on the typewriter and CONTROL STATEMENTS which are used for transfer of control from one statement to another in the program Such statements are used to control repetitions and conditional transfers SALT STATEMENT GRAMMAR STATEMENT ELEMENTS SALT statements consist of combinations of numbers variables subscripted variables functions expressions and keywords 2 1 1 2 1 2 2 1 3 NUMBERS Numbers in SALT are the ordinary decimal numbers in the common format They are restricted in that they may contain no more than
6. tape will be much shorter than either the SALT output or the SCRAP FIRST PASS tape This final tape will be in command format if sense switch B was on and in the more compact alpha format if sense switch B was off g The final program is not yet in memory If it is desired to try the program it must be read in through the photoreader Then it may be redumped with any dump routine if desired After loading the final program load PPP 2 RECOMP II Program No 50 This will halt at 3000 the starting point of the final program Press Start to begin h If it is desired to have the entire progran on a single tape see the description of PPP 2 for the procedure of punching those subroutines utilized When this is done be certain to punch also the calling sequence regions EXAMPLE An example of the use of SALT and SCRAP coding to solve a Mortgage Amortiza tion problem is shown The first and second passes of the assembly are included It is desired to compute the monthly payment a loan and to obtain a complete amortization schedule including payment number principal interest and new balance The formulas to compute the desired results may be found in standard textbooks on the subject The relationships may be expressed as Monthly rate MONRATE syearly rate 12 Monthly payment MONPAY sbalance x monthly rate 1 monthly rate 1 7 where N is the number of monthly payments Interest INTEREST balance x mont
7. 000000 003 1260 0000000 003 1300 0000000 0030620 0000000 0030670 0000000 0030700 4 0000000 0030710 0000000 0030720 0000000 0030730 0000000 0030750 00000000030 079 00000000031 0000000 0031010 0000000 003 1020 0000000 0031030 00000000035 1040 0000000 0031050 0000000 0031060 0000000 0031070 4 0000000 003 1320 END FIRST PASS 22 LOCATION COMMAND ORG START TYC AREF TYA BREF CLA ADDRESS ALPCNO AL Noe N RATE FLOCNO1 MONRATE N STOREO MONRATE FLOCNO2 27001 STOREO 27201 STOREO1 FLOCNO2 STOREOI STOREO1 BALANCE MONRATE STOREO MONPAY 00370 00100 ALFCNO5 OUI L30000 1200310 7200100 0030670 7277700 0030700 7277640 5723 100 5730030 3531 100 0030710 727777 5723100 5730051 3531120 0030720 7277 740 5723100 5730100 3531140 3031120 0530730 3531160 343 1140 3531200 303 1160 0430750 5727001 073 1200 5727201 3531200 3030750 0631200 3531200 3031100 0731160 0531200 3531220 7200370 7200100 0030770 7277 700 003 1000 23 LOCATION COMMAND TAG 01 FST ADDRESS 2256 MON 00870 0150 09160 ALL ROB gue 00 ALFCNO9 00 ALFCN11 WENE p 00100 ALFCNOT ALF ERO INTEREST MONPAY INTEREST PRINCIPL 7277770 0031010 6022560 3031220 5722531 7200370 7200100 7200370 720
8. 0100 0031020 7277750 0031030 7277700 7200330 7200100 0031040 7277 700 003 1050 TeTTT10 1200330 7200100 003 1060 7277 1700 003 1070 7277750 7200330 7200100 0031020 7277750 0030670 7277700 7200370 7200100 3030750 353 1240 303 1240 4572253 1 7200330 7200100 3031 100 0731 160 3531260 3031220 0631260 2h LOCATION COMMAND DONE ALFCNO2 FLOCNOI FLOCNO ALFCNO ALFCN COMCNO1 ALFCNOT ALF CN ALFCNO9 ALFCN10 ALFCNT1 ALFCNI2 ALPHA ALPHA ALPHA ALPHA DECIMAL DECIMAL ALPHA ALPHA COMMAND ALPHA ALPHA ALPHA ALPHA ALPHA ALPHA END ADDRESS PRINCIPL 422531 00330 00100 INTEREST 22531 BALANCE PRINCI PL BALANCE 4 00330 100150 BALANCE 22531 008 0 00 PAYMENT FLOCNO2 PAYMENT N 01400001 TAG 01400001 START BALANCE RATE N 12 1 dera PAYMENT 0006020 5705300 PAYMENT PR INCI PAL INT EREST 3531300 303 1300 5722531 7200330 7200100 3031260 572253 143031 100 0631300353 100 7200330 7200100 303 1100 5722531 7200370 7200100 303 1240 0430750 353 124040631 140 5130461 5030461 7710710 1 01 HIY MY 20908000 952070020111009 7154 1020 0000000 000000 0000000 0000000 0000020 4000000 0000000 0000000 0000001 63051001222 220 O 000 120410202000000 ve nae Et Sakae 0 ibe 7441 020 2063 100 052022 1 0000000 25 26
9. AP Assembly tape Set sense switch C off Set sense switch B on if printout of the first pass of SCRAP is desired The assembly is very much faster if B is off Turn sense switch D on This will make absolute assignment of symbolic locations on the first pass c Place the SALT punched output tape in the photoreader and press Start 1 d After the typewriter prints END OF FIRST PASS advance several folds of blank tape and press Start 3 This is the SAVE routine of SCRAP This is necessary in order to per form the second pass of the assembly in the event the computer memory contents will be changed between passes 5 15 It is improvident to ignore this procedure After the SAVE material is punched advance several folds of leader and tear off the first pass output Leave at least 2 folds of tape for the next put leader Label this tape SCRAP FIRST PASS program to avoid confusing it with the 5 other tapes which will be around the computer e Sense switch C must be off Place the SCRAP FIRST PASS tape in the photoreader and press Start 2 If there has been any change in the contents of computer memory since the first pass was punched relozd the SCRAP Assembly program then the SAVE tape then place the SCRAP FIRST PASS tape in the photo reader and press Start 2 f When the second pass is completed the absolute machine language tape has been punched Tear off and label this tape with the name of the program This
10. ESSION that is proper under the conditions of 2 1 5 describing EXPRESSIONS INPUT OUTPUT STATEMENTS Keywords used for input output are READY READZ PRINT CXP TAB and CRR statements have the form READY variable or READY subscripted variable READY statements may have a location tag One value only is typed in on a READY statement Examples of proper READY statements are Ol READY X READY INPUT READY MATRIX I J READY TABLE ITEM 6 23 READY DATAS The format of the value typed in is discussed fully in the descrip tion for Program Preparation Package Number Two These examples of proper formats should make the input format clear The format is variable as shown 1 7 53 1 I 3 9599 1 0 698 7631 The numbers are typed using the top keys of the typewriter using any common format for the values In addition extremely large or small values may be input Be the notation s by AN 007 1 11 10 means 1l X 10 10 1 616 means 1 6 X 106 j 511 READZ PRINT CXP TAB Terminate the typing of the value with a carriage return tab Space or blank statements have the form READZ variable or READZ subscripted variable READZ statements will not carry location tags thru the second pass of SCRAP Therefore they may not be addressed by any tag given them in SALT If it is necessary to address them a dummy statement before the READZ statement may be used The dummy sta
11. O TO SALT tab tab tab C R ROUTINE RETURN 12 In the above coding L S means letter shift F S means figure shift and C R means carriage return The address 7760 is a special code used to type alphanumeric characters No more than 8 characters includ ing shifts may be in the heading A and N are codes to identify the information that follows the tab Tab means depress the tab key The mnemonic codes CLA TYA etc are typed in as shown Depressing the carriage return key terminates each line of SCRAP coding Always return to SALT to make an END statement SALT statements are accepted after the line of SCRAP coding GOTOSALT tab tab tab C R statements have the unique form ROUTINE namef where name is the name of the subroutine This statement allows the construction of very simple subroutines The use is illustrated in the description of the RETURN statement Statements have the form RETURN name where name is the name of the subroutine The RETURN statement may be tagged with the permissible numerals or up to 7 alpha characters Examples of ROUTINE and RETURN statements are ROUTINE FOFX Y BETA amp X 3 BETA 7 amp X 2 BETA 2 RETURN FOFX or ROUTINE subroutine GOBACK RETURN FACTOR When a subroutine is to be used it is entered with a GOTO name statement or an IF statement The SALT statements defining a subroutine should be near or at the end of the SALT program aft
12. RAP SCRAP must generate calling sequences to the subroutines which will evaluate the function 6 2 ORIGIN SALT sets up all program starting locations to be 3000 0 If for some reason it is desired to change this starting location enter the new location in the following manner before pressing Start 1 Set location counter to 0502 0 b Turn fill tab on typewriter down and depress F key c Type blank blank XXXX blank C R where XXXX is the new origin APPENDIX TO RECOMP II USERS PROGRAM NO 103 PROGRAM TITLE PROGRAM CLASSIFICATION AUTHOR CHECKED BY PURPOSE DATE SIGNAL CORP RECOMP ALGEBRAIC TRANSLATOR SALT Executive and Control H D Goddard Autonetics Industrial Products RECOMP II Users Program No 103 has been modified to allow typing of SALT statements as rapidly as desired initialize the SALT program for re use and to permit processing of off line tapes typed in SALT language H D Goddard The Signal Corps RECOMP Algebraic Translator SALT is a one pass compiler system which translates from algebraic statements into amp SCRAP assembly program July 1961 Published by RECOMP Users Library at AUTONETICS INDUSTRIAL PRODUCTS A DIVISION OF NORTH AMERICAN AVIATION INC 3400 E 70th Street Long Beach 5 Calif PROGRAM TITLE SIGNAL CORP RECOMP ALGEBRAIC TRANSLATOR SALT eee m Qum oe
13. RECOMP II USERS PROGRAM NO 1034 PROGRAM TITIE PROGRAM CLASSIFICATION AUTHOR CHECKED BY PURPOSE DATE REISSUED SIGNAL CORPS RECOMP ALGEBRAIC TRANSLATOR SALT Executive and Control T J Tobias U S Army Signal Engineering Agency Arlington Hall Station Arlington Virginia This program was modified and adapted for use with a subroutine package RECOMP II Program No 50 P2 2 by L Raphael and England and the text was rewritten by S Lynn of Autonetics Industrial Products R S Lynn and D Goddard The Signal Corps RECOMP Algebraic Translator SALT is a one pass compiler system which translates from algebraic statements into a SCRAP assembly language program This program may then be assembled by use of the SCRAP processor January 1960 January 1961 Published by RECOMP Users library at AUTONETICS INDUSTRIAL PRODUCTS A DIVISION OF NORTH AMERICAN AVIATION INC 3400 E 70th St Long Beach 5 Calif 1 2 he 5 TABLE OF CONTENTS SUMMARY OF OPERATINO INSTRUCTIONS EXPRESSING PROBLEMS IN SALT FORMAT SALT STATEMENT GRAMMAR RESTRICTIONS OPERATING INSTRUCTIONS EXAMPLE CODING INFORMATION Page Page Page Page Page 1 12 13 13 15 15 26 27 1 26 36 he 5 6 Te 9 10 11 12 13 SUMMARY OF OPERATING INSTRUCTIONS See l for Greater Detail Load and verify SALT compiler Press Start 1 Type in SALT coding After
14. RUCTIONS Load SALT tape The memory will be cleared by a short program at the beginning of the tape after which the tape will continue to load The tape may be verified by placing the tape in the photoreader past the short memory zero program and pressing the Verify button Set typewriter margins at 10 and 90 Set tab stops at 20 35 and 50 Set tab override switch in the off position Advance at least two folds of blank tape Press Start 1 to begin TYPING STATEMENTS The ALPHA light must be on and the COMPUTE off before typing each character Each number or name must be separated by a space figure shift letter shift or carriage return A tab does not separate The symbols amp and comma are individually recognized if they are the first symbols of a new field but not when contained within a field Typing extra spaces letter shifts figure shifts or carriage returns is permitted where they do not change the total meaning 1 2 6 1 2 8 3 Examine each statement for errors If there are type symbol to enter the statement If errors are discovered type line feed symbol next to the M key and type in the correct statement If an error is recognized after the has been typed and before the tape has begun to punch it may be corrected by depressing the stop button error reset button and Start 1 Enter the correct statement If the incorrec
15. ST 23 would save storage for 23 floating point values in a region called LIST ARRAY TABLE 5 6 would save storage for 5 X 6 30 floating point values in a region called TABLE statements have the unique form PAUSES The SCRAP assembly will halt at this point in the program For use of this special instruction see the SCRAP program description Statements have the unique form ENTER SCRAP This permits the typing of SCRAP coding in the manner described in the SCRAP program description One enters SCRAP coding to accomplish that which may not be done with SALT statements The SALT compiler ordinarily generates SCRAP coding for assembly by the SCRAP program There are no provisions in SALT for generating alphanumeric output This problem is Solved by entering the proper SCRAP coding directly using the ENTER SCRAP statement To input SCRAP coding set margins at 10 and 90 and tab stops at 20 35 and 50 Suppose that two function values had been computed using regular SALT coding say X and X prime Let these values be in symbolic locations X and XPRIME The SALT and SCRAP coding to label and output these values could be CRR ENTER SCRAP tab gt CLA tab A tab 1 5 X F S C R tab TYA tab N tab 7760 C R tab tab tab X C R tab PRINT tab tab C R tab CRR tab tab C R tab CLA tab A tab L S X F S C R tab TYA tab N tab 7760 C R tab FCA tab tab XPRTME C R tab PRINT tab tab C R tab HALT tab tab C R G
16. e machine language program SCRAP will print out the fractional part on the assembly printout if a mixed number was entered in SALT However the machine language program shifts off the fraction part in computing addresses FUNCTIONS Functions have the form F E where F is the alphabetic name of a function and E is an expression as described under 2 1 5 The following functions are defined in SALT and SCRAP SQRT E means ME SIN E Sine of E automatic angle reduction Cos E cosine of E automatic angle reduction TAN E tangent of E automatic angle reduction ARCTAN E Arctangent of E ARCSIN E Arcsine of E ARCCOS E Arccosine of E LOGTWO E log E 100 Log of common logarithm LN E log E natural logarithm ABS E lel EXP E e EXPTWO E 25 EXPTEN E 10 ANGRED E E modulo 77 in sidus 3XArguments of trigonometric functions must be in radians Additional functions may be defined by the user See 6 1 EXPRESSIONS An EXPRESSION is a statement element or a combination of elements Numbers variables subscripted variables and functions are expressions 2 1 6 2 1 6 1 If and are expressions then the following also expressions Y XY means X Y Y X amp Y means X times Y X Y X Y means xi X Y X X Y means X Y illustrating use of more parentheses than required X Y Y Note that using parentheses when not required is permitt
17. ed If the user attempts to input X Y or any other case of two signs in jux taposition the program will reject the statement and error return Examples of are A amp X12 B amp X4 C meaning 2 0 A 2 N 1 SQRT 2 amp A meaning T 1 X X I J K amp ARCTAN 1 770 Y L0G K J meaning ij Arctan 1 770 K K log y 10 7 KEYWORDS Keywords relate elements in SALT statements in a manner that is easier to illustrate than to define In the following discussion a tag refers to a symbolic location assigned to a SALT statement See 2 1 6 3 ARITHMETIC STATEMENTS Keywords used in arithmetic statements are equality sign addition subtraction multiplication division exponentiation terminates the statement GP Rg In general arithmetic statements have the form Variable expression 2 1 6 2 READY 21 16 means 21 X 101 and so on The form m be expressed a b where a is any proper value in common format times 10 to the lal lt 939 1 and The value of the variable is defined by the expression For example LIST A B SQRT LIS 1 19 10 amp GROUP 0800 1 Arithmetic statements may have a location tag the following examples MODIFY and COMPUTE are location tags assigned to their respective statements MODIFY X X 1 COMPUTE ELEMENT 5 ELEMENT 5 ELEMENT J An arithmetic statement may contain any EXPR
18. er a STOP or GOTO statement which would prevent control passing sequentially to the coding in ROUTINE In other words do not place ROUTINE definition in the middle of a pro gram unless care is taken to transfer control around the routine statements have the unique form END This must be the very last statement in every SALT program The compiler will not accept further statements 30 3 2 3 3 yell 4 1 2 epu hele 1 5 hed li 2 1 h 2 2 13 RESTRICTIONS The following letter combinations may not be used as names of variables or subscripts a the single letter C b any function name defined in SALT or SCRAP c any symbolic command or pseudo operation code defined in SALT or SCRAP such as CLA or HALT d the name of any array prefixed by a K or an R If for example VECTOR is a subscripted variable do not use RVECTOR or KVECTOR e the name of any subroutine prefixed by an R If ROUTINE 2n SORT is defined in the program do not use RSORT f any location tag Certain restrictions must be recognized in the use of tags a Tags must be all alpha characters up to eight letters or all Arabic numerals from 00 to 99 Note that OO is a different tag from as Ol is different from 1 b Do not use tags on a READZ statement or an ARRAY statement No statement containing an arithmetic expression may contain more than 128 variables numbers and keywords OPERATING INST
19. haracters The code 777 or 776n is used to specify the number of characters to be typed An n of zero specifies 8 characters From 1 thru 7 characters are specified by an n of 1 thru 7 respectively After SCRAP is entered the second time note that no L S is used before MONTHLY because the CRR leaves the typewriter in letter shift The CRR macro types a L S C The 3 READY commands are for the purpose of entering from the typewriter the balance rate and N when using the final assembled program The command pair CIA 0006020 5705300 STO N 2256 modifies the output subroutine calling sequence to allow 6 places to the left of the decimal point and 2 places to the right The DO statement specifies the first payment number as 1 and increments this number by 1 each time the statements in the loop are performed until 17 the computations for the nth payment are performed The program then transfers to START and the program may be repeated with new information if desired In the Assignment Table of the first pass printout the alpha characters designated by ALFCNOS ALFCNO6 ALFCN10 and ALFCN12 are printed in figure shift rather than letter shift This is not an error The type writer is left in figure shift after typing the figures XX of any The alpha characters of the other ALFCN words are in letter shift because a letter shift was typed at the beginning of each of the address fields TIn the sa
20. hly rate Principal PRINCIPL smonthly payment interest Balance BALANCE sbalance principal 16 The monthly ES will remain constant the interest and balance for each month become less and the principal becomes greater In SALT coding these relationships may be expressed as MONRATE sRATE 12 MONPAY BALANCE amp MONRATE 1 MONRATE 1 N INTEREST BALANCE amp MONRATE PRINOIPL IMONPAY INTEREST BALANCE BALANCE PRINCIPL These arithmetic statements are used in the SALT coding in the order shown MONRATE and MONPAY are computed only once The INTEREST PRINCIPL and BALANCE are computed for each month under the control of a DO statement The DO statement contains the lower and upper limits of the payment number and the amount by which it is incremented SALT language may not be used to output headings The more detailed SCRAP language must be used for this purpose Explanation of Mortgage Amortization Program Coding The tag START is used at the beginning to permit repetition of the pro gram with new data SCRAP must be entered to type alphanumeric informa tion In the line of coding tagged AREF the letter shift L S might have been omitted because after the initial carriage return the type writer is left in letter shift In line BREF the spaces sp are for appearance Similarly other spaces in alphabetic type addresses are used to position the output Blanks b are typed to make a total of 8 c
21. ill generate a SALT punched tape Further processing i e the generation of the lst and 2nd passes in SCRAP is the same as specified in RECOMP II Users Program No 103 issued in January 1961 If the SALT program detects an error while processing an offline prepar ed tape it will do the following a 1f it is a SALT statement it will print ERROR or PAIR ERROR followed by a print out of the statement b If it is an error in SCRAP coding i e symbolic coding entered via an ENTER SCRAP statement it will print SCRAP CODE ERROR There will be no print out of the error See RECOMP Technical Bulletin No 21 for information concerning the preparation and use of a decimal data tape
22. mple problem 1200 was entered after BALANCE was typed 09 entered after RATE was typed and 2l was entered after N was typed START CRR ENTER SCRA AREF CLA TYA BREF CLA TYA READY FST GOTOSALT MONRATE RATE 12 N 5 A N A N 18 BALANCE m RES RATE app o L iR pap bbbb i N BALANCE amp MONRATE 1 MONRATE 1 N ENTER SCRA CRR CLA TYA CLA TYA CLA STO PRINT CRR CRR CLA TYA CLA TYA TAB CLA TYA CLA TYA TAB CLA TYA CLA TYA 2 gt 2 gt 2 gt 2 gt Z gt MONTHLY ment b 7777 0006020 5705300 2256 MONPAY ap apap Ap Ap bbb gom Tf TO r p N TPAL TT bs PL PINT O ST bbb 115 19 TAB m Lh b GA a vu CLA GOTOSAL T 7 CRR DO DONE FOR PAYMENT 1 1 N PRINT PAYMENTS TABS INTEREST BALANCE amp MONRATE PRINCIPL MONPAY I NTEREST PRINT PRINCIPL TABS PRINT INTEREST BALANCE BALANCE PRINCIPL PRINT BALANCE DONE CRR 60 TO START ENDS LOCATION COMMAND J START AREF BREF ORG CRR CLA ADDRESS 3000 BALANCE 7770 TT BALANCE RATE TTTT RATE N 717 N RATE 12 MONRATE N STOREO MONRATE 1 STOREO STOREO1 1 STOREO1 STOREO BALANCE MONRATE MONPAY MONTHLY
23. properly indexed Permitted Not permitted c The last statement in the range of a DO loop may not be an IF or a GOTO statement A CONTINUE statement may be used as a dumy last statement statements have the form STOP A STOP statement may be tagged A halt is generated in the final machine language program The STOP should be used only at the end of a program usually because it is not possible to continue the program after STOP merely by pressing start button The location counter would have to be changed before the program could be continued statements usually have the form tag CONTINUES CONTINUE statements are dummy statements which are used as last state ments in a DO loop instead of an IF or GOTO and as a means of tagging an ARRAY or READZ which may not be directly tagged For example START CONTINUE ARRAY REGION 5 10 RDZ CONTINUES READZ DATA statements have the form ARRAY subscripted variable or ARRAY subscripted variable rows columns PAUSE ENTER SCRAP 11 ARRAY statements may not be directly tagged but be addressed using a dummy statement as described in the preceding paragraph ARRAY statements save storage space for vectors and matrices which are to be defined and used in the program ARRAY statements must come before any reference whatsoever to a subscripted variable and it is provident to make all ARRAY statements the first statements in a SALT program ARRAY LI
24. rry a location tag Statements have the form TABS TAB statements may be tagged This command causes the typewriter to tab CRR 2 10603 GO TO if and only if the tab defeat switch is in the off position Otherwise the typewriter will carriage return statements have the form CRRY CRR statements may be tagged This command causes the typewriter to letter shift and carriage return CONTROL STATEMENTS A location tag is the symbolic name of a certain location Location tags are involved in most control statements Tags are either all Arabic numerals or all alphabetic characters The numerals may be from 00 through 99 The location 00 is distinct from 0 If more than two digits are attempted as a tag the SCRAP assembly will cut off and ignore the excess leading numerals As many as eight alphabetic characters may e used for a tag Array and routine names should be restricted to seven letters because the SCRAP program places a K or an R in front of the name and if there are already eight letters a misspelling will occur This does not necessarily cause an error in the final machine language problem however A tag identifying a statement is followed by a comma as in the examples DONE GO TO FINISH 18 K K4M Statements are of the form GOTO tag or GO TO tag The GOTO statement may be tagged This statement unconditionally transfers control to the location specified by the tag in the address IF Example
25. s of GOTO statements are 23 GOTO START GOTO 14 ENDPASS GO ITERATE statements have two forms a IF expression minus zero plus b IF SENSE n on off These statements may be tagged In form a three location tags follow the parentheses They need not be distinct that is two tags may be the same or all three for that matter Control is transferred to one of these locations according to the value of expression In form b n stands for B C or D referring to the three sense switches on the console Two location tags follow the parentheses Control is transferred to one of these locations according to the condition of the sense switch referred to Examples of proper IF statements are 3 1 REDO REDO OUTS IF SENSE D OUTPUT ITERATE In the first example if 3 is negative or zero control is trans ferred to location REDO If 3 is positive control is transferred to OUT In the second example if sense switch D is on control is transferred to OUTPUT Otherwise control is transferred to ITERATE statements have the form DO tag FOR variable 1 1 inc u l The DO statement controls iteration loops The variable may be a variable or a subscript The value of the variable goes from 1 1 lower limit to u l upper limit by increments of inc The tag specifies the last statement in the range of the DO statement For example LOOP DO SWITCH FOR K 1 1 M means perform all
26. state ments starting just past the DO statement down to and including the SWITCH statement with K 1 the first time K 2 the second time and so on until incrementing K by 1 would make it greater than DO ITERATE FOR K 1 2 7 FUNCTION THETA K SIGMA K CRR PRINT FUNCTIONS TAP ITERATE PRINT K This DO loop would print out actual value of function 91 03 1 0000000000 03 3 0000000000 eJ Tg 50000000000 70000000000 Do loops may be contained within the range of another DO loop A simple example is DO OUTPUT FOR K 1 1 3 Range of DO OUTPUT FOR J 1 1 h outer loop Range of inner loop PRINT MATRIX K J OUTPUT CRR This would print Myo Mis Myy Moy Moo Ms My Note that the inner DO loop is done before control is transferred to the outer DO loop The DO loops are said to be nested Note some restrictions on the use of DO loops In the diagrams the brackets represent the range of statements under control of a DO statement a If the range of a DO statement includes another DO statement all statements in the range of this second statement must also be in the range of the first DO statement Permitted Not Permitted STOP CONTINUE ARRAY 10 b No transfer of control by IF or GOTO statements is permitted into the range of any DO statement from outside its range since such transfers would not permit the DO loop to be
27. t statement has started punching there is no remedy but to start the whole operation over again back to 4 1 1 It is possible sometimes to patch the error by SALT statements which will nullify the error or to correct the error during the SCRAP first pass but in general this is difficult and perhaps unrewarding If the compiler program finds format errors in the statement there will be an ERROR printout Discover source of error usually one of field termina tion or parenthesis usage and retype the correct statement If there is an output error due to fast typing press Error Reset button Start l and retype the statement If it is desired to enter SCRAP coding the SCRAP program description should be consulted For simple typing of labels see remarks under ENTER SCRAP statement TERMINATION Every SALT program must end with the statement END Using SCRAP assenbly program It is not necessary to be familiar with SCRAP to be able to process most SALT programs The procedure for using SALT and SCRAP is essentially as follows a Load SALT compiler tape and type in the SALT statements making up your program After the last statement has been punched advance several folds of leader and tear off the tape leaving at least 2 folds for the next tape It is provident to write SALT output program on the tape punched by the SALT compiler program Reset the margins and tabs if they have been changed b Load the SCR
28. tement is of the form tag CONTINUE or tag CRR The READZ causes the photoreader to try to read paper tape and to store the input information in the memory starting at the location assigned to the variable The information may be in any proper mode N C F or Le The tape may be prepared off line After the last word to be entered there must be at least eight 8 spaces then 122131 C R S The eight spaces allow the logic time to change modes the L22131 sets the location counter to location 2213 1 the carriage return acts as an enter code and the letter S acts as a start code statements have the form PRINT variablef For example PRINT ANSWER or PRINT MATRIX K J Print statements may have a location tag The PRINT statement types the value of the variable in fixed point format if the exponent power of ten of the variable is between 13 and 130 Otherwise the value is typed in floating point format Any formatting of output must be taken care of by the user as no carriage return nor tab is included in the PRINT subroutine statements have the form CXP The CXP statement may be used as a check point during program debugging If Sense Switch B is on it will type the absolute memory location of the CXP command that will be in the final SCRAP assembled machine language program followed by the contents of the A and R registers in floating point format The and R are not destroyed statements may ca
29. the last statement END has been punched tear off and label SALT punched tape Load and verify SCRAP Assembly Place SALT punched tape in photoreader Set sense switch B on if printout of first pass is desired Set sense switch D on Sense switch C must be off Press Start 1 After END OF FIRST PASS is typed advance several folds of blank tape and press Start 3 This punches SAVE material Tear off and label first pass punched tape and place it in the photoreader Sense switch D is not used Set sense switch C off If printed copy of second pass including absolute coding Is desired set sense switch B on Press Start 2 When second pass has completed punching tear off and label the tape This is the SCRAP assembled program If the first and second passes were not run sequentially or if memory contents were altered load SCRAP Assembly then the SAVE material Place first pass punched tape in photoreader and go to step 11 To use the SCRAP assembled program load the program tape and PPP 2 or the single tape containing the assembled program plus subroutines from PPP 2 See 1 3 h Set the location counter to the origin which is usually 3000 0 and press the Start button 1 1 1 1 2 1 3 2 2 1 SIGNAL CORPS RECOMP ALGEBRAIC TRANSLATOR SALT INTRODUCTION SALT is a RECOMP II program which allows the user to express his problem in a simple format eliminating for the user the task of
Download Pdf Manuals
Related Search
Related Contents
software Symmons S-96-1-X Installation Guide INSTR,XMTR SYS,MINILINK,21L ProDAQ 3424 ADC User Manual TC 310 - NUSSBAUM France Benutzerhandbuch für CRT konsole und HRC-C Toshiba Satellite C855D-S5196 ASUS PU301LA User's Manual Copyright © All rights reserved.
Failed to retrieve file