1 1 FORTRAN PACKAGE MISSING 1 FROM ORIGINAL LISTING 1 REWRITTEN BY ROBERTO SANCHO 1 IN MAY 2018 1 1 FORTRAN PACKAGE 1 ENTRY POINTS 1 SYN LAAAA 1999 INITIAL LOCN SYN ACC 0000 RESERVE ACC 1 1 BUILT-IN SUBROUTINES (180 WORDS) 1 SYN E00AA 1961 CHECK OVERLOW (0) SYN E00TH 1962 FLOAT (U) TO FIX (L) (501) SYN E00AE 1963 FIX (L) TO FLOAT (U) (4) SYN E00AF 1964 FIX (L) TO FLOAT (U) AND (ACC) (5) SYN E00AQ 1965 READ ENTRY (16) SYN E00AR 1966 PUNCH ENTRY (17) SYN EZZZA 1967 SAVE INDEX REG SYN EZZZB 1968 RESTORE INDEX REG 1 1 POWER SUBROUTINES 1 SYN E00AK 1949 FIX (L) ** FIX (ACC) TO FIX (L) (10) SYN E00AL 1948 FLOAT (U) ** FIX (ACC) TO FLOAT (U) AND (ACC) (11) SYN E00LQ 1947 FLOAT (U) ** FLOAT (ACC) TO FLOAT (U) AND (ACC) (302) 1 1 FUNCTION SUBROUTINES 1 SYN E00AB 1969 LOGF (1) SYN E00AC 1970 EXPF (2) SYN E00LO 1971 LNF (300) SYN E00LP 1972 EXPNF (301) SYN E00AV 1973 COSF (21) SYN E00AW 1974 SINF (22) SYN E00AX 1975 SQRTF (23) SYN E00AY 1976 ABSF (24) SYN E00AZ 1945 INTF (25) SYN E00BA 1946 MAXF (26) 1 1 1 END OF FORTRAN PACKAGE ENTRY POINTS 1 1 ----------------------------------- 1 1 FORTRAN 1 PACKAGE RESERVATION 1 FOR PACKAGE BUILD 1 1 INCLUDES 1 - FLOAT FIX CONVERSIONS 1 - FORTRAN READ PUNCH STATEMENS 1 - FORTRAN POWER OPERATOR 1 - FORTRAN FUNCTIONS 1 EXCLUDES 1 - NOTHING 1 REG Y0002 0002 FORTRANSIT 1 VARS START ADDR BLR 0000 1400 RESERVE ALL 1 DRUM EXCEPT 1 PACK SPACE 1 1 END OF PACKAGE RESERVATION 1 1 ----------------------------------- 1 1 FORTRAN 1 PACKAGE RESERVATION 1 FOR PACKAGE USE 1 1 INCLUDES 1 - FLOAT FIX CONVERSIONS 1 - FORTRAN READ PUNCH STATEMENS 1 - FORTRAN POWER OPERATOR 1 - FORTRAN FUNCTIONS 1 EXCLUDES 1 - NOTHING 1 REG P1951 1960 READ BAND REG J1977 1986 PUNCH BAND REG W1988 1998 STORAGE BAND BLR 1401 1999 RESERVE 1 PACK SPACE 1 1 END OF PACKAGE RESERVATION 1 1 ----------------------------------- 1 1 FORTRAN PACKAGE 1 SOURCE CODE 1 BLR 1945 1950 ENTRY POWER SUBR TOTAL RESERVATION REG P1951 1960 READ BAND 1947 - 1999, 0000 BLR 1961 1968 ENTRY BUILT-IN SUBR (54 WORDS) BLR 1969 1976 ENTRY FUNC SUBR REG J1977 1986 PUNCH BAND BLR 1987 1987 REG W1988 1998 STORAGE BAND 1 1 SAVE INDEX REGISTERS 1 EZZZA STD EZZZX LDD 8005 STD EZZIA LDD 8006 STD EZZIB LDD 8007 STD EZZIC EZZZX 1 1 RESTORE SAVED INDEX REGISTERS AND RETURN TO ERTHX 1 EZZZB LDD EZZIA RAA 8001 LDD EZZIB RAB 8001 LDD EZZIC RAC 8001 ERTHX EZZZX 00 0000 0000 EZZIA 00 0000 0000 EZZIB 00 0000 0000 EZZIC 00 0000 0000 1 1 OVERFLOW CHECKING 1 E00AA BOV 8001 HLT 0100 8001 ALARM ARITHMETIC OVERFLOW 1 1 (L) FIXED POINT <- (U) FLOAT 1 E00TH STD ERTHX FLOAT UPPER SRT 0002 TO FIX LOWER STU ARTHA SAVE MANTISSA RAM 8002 TEST EXP SLO N51 STORE ZERO BMI AD1 IF LESS THAN SLO N10 51 ALARM BMI AD3 IF GRTR THAN SRT 0004 60 ALO ONET LDD AD2A MODIFY SDA AD2 SHIFT RAL ARTHA SLT 0002 AD2 AD1 RAL 8003 ERTHX STORE ZERO AD2 SRT 0000 ERTHX SHIFT CONST AD2A SRT 0000 ERTHX AD3 LDD ERTHX HLT 0501 8001 ALARM FLOAT >= 10E10 THUS CANNOT BE CONVERTED TO FIX N10 10 0000 0000 N51 51 0000 0000 ONET 00 0001 0000 ERTHX 00 0000 0000 ARTHA 00 0000 0000 1 1 (U) AND (ACC) FLOAT <- (L) FIXED POINT 1 E00AF STD ARTHA FLOAT TO UP LDD E00AE AND ACC STU ACC ARTHA 1 1 (U) FLOAT <- (L) FIXED POINT 1 E00AE STD ERTHX FLOAT TO UP RAU 8002 AE0 ONLY AE0 SCT 0000 NORMALIZE STL ARTHB BOV AD1 ZERO CHECK RAL 8003 SRD 0002 ROUND FOR SLT 0002 PLACING EXP NZU AE6 CHECK ROUND LDD 8003 OVERFLOW SRT 0001 ALO 8001 AE6 AE6 BMI AE2 INSERT ALO AJ3 AE5 EXPONENT AE2 SLO AJ3 AE5 AE5 SLO ARTHB RAU 8002 ERTHX AJ3 00 0000 0060 ARTHB 00 0000 0000 1 1 PUNCH CARD 1 E00AR STD ERTHX PUNCH OUT LDD J0008 SIA J0008 STORE STMNT LDD ONET SDA NVARS AND NVARS TO PCH SLO 8001 IF STMT ZERO NZE AR3 PUNCH IF RAL 8000 8000 IS NEG BMI AR3 ERTHX ELSE EXIT AR3 LDD AR3A AR5 INIT PCH CARD AR3A RAL NVARS DEC NVARS SLO ONET BMI AR8 TEST WORD STL NVARS COUNT ALO 8002 GET NWORD ADDR RAL W0002 IN LOWER LDD NWORD SDA NWORD STORE NUM OF WORDS TO PUNCH SLT 0004 LDD ADWRD SDA ADWRD AR4 STORE ADDR OF WORD TO PUNCH AR4 RAL NPCH IS CARD FULL SLO ARN7 BMI AR4A PCH J0001 YES PUNCH AND LDD AR4A AR5 CALL INIT CARD AR4A RAL NPCH INCR NO OF ALO ONET PUNCHED WORDS NPCH STL NPCH RAL ADWRD INDR ADWRD ALO ONET STL ADWRD SLO ONET ALO 8002 GET ADWRD RAL Y0000 CONTENTS STL DATWD STORE IN DATWD RAU DATLD ALO NPCH STORE AT ALO 8003 J0000 PLUS STD J0000 NPCH RAL NWORD DECR VAR NWORDS SLO ONET TO BE PUNCHED NZE AR3A BMI AR3A STL NWORD AR4 AR5 STD AR5X SUB INIT PCH CARD RAL J0008 INCR CARD ALO ONET NUMBER STL J0008 STU NPCH CARD WITH ZERO STD J0001 PUNCHED WORDS STD J0002 SET PUNCH STD J0003 BAND TO STD J0004 ZEROES STD J0005 STD J0006 STD J0007 AR5X AR8 PCH J0001 ERTHX PUNCH ONET 00 0001 0000 ARN7 00 0007 0000 J0008 00 0000 0000 CARD COUNTER J0010 80 0000 0080 CONTROL CNST AR5X 00 0000 0000 EXIT FOR SUB INIT PCH CARD NVARS 00 0000 0000 NUM OF VARS TO PCH NWORD 00 0000 0000 NUM OF WORDS PER VAR TO PCH ADWRD 00 0000 0000 ADDR OF WORD TO PCH NPCH 00 0000 0000 NUM OF WORDS PUNCHED IN CHARD DATWD 00 0000 0000 DATA WORD TO BE PUNCHED 1 1 READ CARD 1 E00AQ STD ERTHX READ IN LDD ONET SDA NVARS NVARS TO READ STU NPCH AQ3A INIT TO ZERO AQ3A RAL NVARS DEC NVARS SLO ONET BMI ERTHX EXIT IF ZERO STL NVARS ALO 8002 GET NWORD ADDR RAL W0002 IN LOWER LDD NWORD SDA NWORD STORE NUM OF WORDS TO RD SLT 0004 LDD ADWRD SDA ADWRD AQ4 STORE ADDR OF WORD TO RD AQ4 RAL NPCH CHECK IF SHOULD RD NEW CARD NZE AQ4A RCD P0001 YES READ CARD LDD ARN7 STD NPCH AQ4A AQ4A RAL NPCH DECR NO OF AVAILABLE SLO ONET PUNCHED WORDS NPCH IN READ CARD STL NPCH RAL ARN7 SLO NPCH GET WORD AT ALO 8002 P0000 PLUS LDD P0000 NPCH IN DIST STD DATWD STORE IT IN DATWD RAU DATLD ALO ADWRD INCR ADWRD ALO ONET STL ADWRD SLO ONET ALO 8003 SET ADWRD STD Y0000 CONTENTS FROM UPPER RAL NWORD DECR VAR NWORDS SLO ONET TO BE READ NZE AQ3A BMI AQ3A STL NWORD AQ4 ONET 00 0001 0000 DATLD LDD DATWD 8002 LOAD CARD WORD INTO DIST AND JUMP TO LOWER 1 1 ALARM IF TRY TO USE A NOT DEFINED SUBROUTINE 1 E00AK HLT 9010 8001 ALARM FIX ** FIX UNDEF E00AL HLT 9011 8001 ALARM FLOAT ** FIX UNDEF E00LQ HLT 9302 8001 ALARM FLOAT ** FLOAT UNDEF E00AB HLT 9001 8001 ALARM LOGF UNDEF E00AC HLT 9002 8001 ALARM EXPF UNDEF E00LO HLT 9300 8001 ALARM LNF UNDEF E00LP HLT 9301 8001 ALARM EXPNF UNDEF E00AV HLT 9021 8001 ALARM COSF UNDEF E00AW HLT 9022 8001 ALARM SINF UNDEF E00AX HLT 9023 8001 ALARM SQRTF UNDEF E00AY HLT 9024 8001 ALARM ABSF UNDEF E00AZ HLT 9025 8001 ALARM INTF UNDEF E00BA HLT 9026 8001 ALARM MAXF UNDEF EZZTY HLT 9099 8001 ALARM FUNCTION ARG IS FIX BUT SHOULD BE FLOAT 1 1 START OF SUBROUTINES 1 1 (L) AND (ACC) FIXED <- (L) FIXED ** (ACC) FIXED 1 E00AK STD ERTHX POWER FIX FIX. M ** P STL ARTHA AK1 M IS ARGMNT AK1 RAM ACC P EQUALS STL ARTHB ABVAL POWER RAL ONE H IS RESULT STL ARTHC AK3 INIT TO ONE AK3 RAU ARTHB P IS GTST MPY N50 INTGR IN STU ARTHB P OVER TWO RAL 8002 IS REMAINDER NZE AK5 ZERO RAU ARTHC IF NOT H IS MPY ARTHA H TIMES M NZU AK12 STL ARTHC AK5 AK5 RAU ARTHB NZU AK6 IS P ZERO RAU ARTHA IF NOT MPY 8001 M EQUALS NZU AK12 STL ARTHA AK3 M SQUARED AK6 RAU ACC IS POWER NEG BMI AK7 IF SO IS H RAM ARTHC ZERO NZE AK8 IF NOT IS H SLO ONE ONE NZE AK10 AK7 AK7 RAL ARTHC AK11 EXHIBIT H AK10 RAL 8003 AK11 AK11 STL ACC ERTHX AK12 LDD ERTHX HLT 0003 8001 ALARM OVERFLOW. FIX**FIX RESULTS IN VALUE >= 10E10 AK8 LDD ERTHX HLT 0010 8001 ALARM ZERO RAISED TO NEG N50 50 0000 0000 ONE 00 0000 0001 ARTHC 00 0000 0000 1 1 (U) AND (ACC) FLOAT <- (U) FLOAT ** (ACC) FIXED 1 E00AL STD ERTHX POWER FLOAT FIX. M ** P STU ARTHA AL1 M IS ARGMNT AL1 RAM ACC P EQUALS STL ARTHB ABVAL POWER RAL FP1 H IS RESULT STL ARTHC AL3 INIT TO FLOAT ONE AL3 RAU ARTHB P IS GTST MPY N50 INTGR IN STU ARTHB P OVER TWO RAL 8002 IS REMAINDER NZE AL5 ZERO RAU ARTHC IF NOT H IS FMP ARTHA H TIMES M BOV AL12 STU ARTHC AL5 AL5 RAU ARTHB NZU AL6 IS P ZERO RAU ARTHA IF NOT FMP 8001 M EQUALS BOV AL12 STU ARTHA AL3 M SQUARED AL6 RAU ACC IS POWER NEG BMI AL7 IF SO IS H RAM ARTHC ZERO NZE AL8 IF NOT CALC RAU FP1 H RECIPROCAL FDV ARTHC AL11 AL7 RAU ARTHC AL11 EXHIBIT H AL11 STU ACC ERTHX AL12 LDD ERTHX HLT 0049 8001 ALARM OVERFLOW. FLOAT**FIX RESULTS IN VALUE >= 10E49 AL8 LDD ERTHX HLT 0011 8001 ALARM ZERO RAISED TO NEG N50 50 0000 0000 FP1 10 0000 0051 1 1 (U) FLOAT <- 10 ** (U) FLOAT 1 E00AC STD ERTHX EXPONENTIAL NZE AC5 IS ARGUMENT NZU EZZTY ALARM FUNCTION ARG IS FIX BUT SHOULD BE FLOAT SRT 0002 ZERO STU ARTHC IF NOT LET RSM 8002 N BE MANTSA ALO N52 X BE POWER BMI AC4 IS X GRTR SLT 0001 THAN TEN NZU AC5 OR LESS THAN SRT 0005 MINUS EIGHT ALO AC6 IF X WITHIN STL ARTHB BOUNDS GEN RAU ARTHC INT AND SRT 0006 ARTHB FRACT PARTS N52 52 0000 0000 OF ARGUMENT AC6 SRT 0000 IS ARG NEG BMI AC8 IF SO INT IS STU ARTHB AC1 INT MINUS 1 AC8 SUP ONE AND FRACT IS STU ARTHB FRACT PLUS 1 RAL 8002 ALO N999 AC1 AC1 STL ARTHC ARTHC IS FRAC PART RAU 8002 ARTHB IS INT PART MPY AC18 GENERATE RAU 8003 AUP AC17 POLYNOMIAL MPY ARTHC RAU 8003 APPROXIM AUP AC16 ATION MPY ARTHC RAU 8003 FOR AUP AC15 MPY ARTHC EXPONENTIAL RAU 8003 AUP AC14 MPY ARTHC RAU 8003 AUP AC13 MPY ARTHC RAU 8003 AUP AC12 MPY ARTHC SQUARE RAU 8003 RESULT AUP N10 SCALE AND MPY 8003 FLOAT THEN SRT 0001 EXIT STU ARTHA RAU AC19 AUP ARTHB BMI AC20 SRT 0002 NZU AC21 AUP ARTHA SRT 0008 AC20 AC4 RAL ARTHC BMI AC21 RAU 8003 ERTHX RESULT ZERO AC5 RAU FP1 ERTHX RESULT 1 BECAUSE ARGMNT IS ZERO AC20 RAU 8002 ERTHX RESULT IN UPPER AC21 LDD ERTHX HLT 0049 8001 ALARM OVERFLOW. 10**FLOAT RESULTS IN VALUE >= 10E49 AC12 11 5129 2776 AC13 06 6273 0884 AC14 02 5439 3575 AC15 00 7295 1737 AC16 00 1742 1120 AC17 00 0255 4918 AC18 00 0093 2643 AC19 00 0000 0051 N999 99 9999 9999 N10 10 0000 0000 ONE 00 0000 0001 FP1 10 0000 0051 ARTHC 00 0000 0000 1 1 (U) FLOAT <- LOG 10 (U) FLOAT 1 E00AB NZE AB10 IF LOG ARG ZERO NZU EZZTY ALARM FUNCTION ARG IS FIX BUT SHOULD BE FLOAT BMI AB10 OR NEG ALARM STD ERTHX SRT 0002 STL ARTHB STORE POWER RAU 8003 FORM Z AUP AB1 EQUAL ARG STU ARTHC MINUS ROOT SUP AB2 TEN OVER ARG DVR ARTHC PLUS ROOT STL ARTHA TEN RAU 8002 MPY 8001 Z SQUARE STU ARTHC RAU 8003 GENERATE MPY AB7 RAU 8003 POLYNOMIAL AUP AB6 MPY ARTHC APPROXIMATN RAU 8003 AUP AB5 MPY ARTHC RAU 8003 AUP AB4 MPY ARTHC RAU 8003 AUP AB3 MPY ARTHA RAL 8003 ALO N50 SRT 0002 ALO ARTHB ADD POWER SLO N50 SRD 0002 ROUND RAU 8002 SCT 0000 NORMALIZE BOV AB12 BMI AB13 SUP AB9 AB11 ADJUST AB11 SUP 8002 AB12 POWER AB12 RAU 8003 FSB FP1 ERTHX AB13 AUP AB9 AB11 AB10 HLT 0001 8001 ALARM LOG (ZERO OR NEGAVIVE) AB1 00 3162 2780 AB2 00 6324 5560 AB3 86 8591 7180 AB4 28 9335 5240 AB5 17 7522 0710 AB6 09 4376 4760 AB7 19 1337 7140 N50 50 0000 0000 FP1 10 0000 0051 AB9 00 0000 0054 ARTHC 00 0000 0000 1 1 (U) AND (ACC) FLOAT <- (U) FLOAT ** (ACC) FLOAT 1 U**ACC = 10**(LOG10(U)*ACC) 1 = EXP(LOG10(U)*ACC) 1 E00LQ STD LQ1 LDD E00AB LOG 10 (U) FMP ACC MULT BY ACC LDD LQ1 E00AC 10 ** U LQ1 00 0000 0000 1 1 (U) FLOAT <- LOG E (U) FLOAT 1 LN(U) = LOG(U) / LOG(E) 1 LOG10(E)=0.4342944819 1 E00LO STD LQ1 LDD E00AB LOG 10 (U) FDV LOGE LQ1 DIV BY LOG(E) CONST LQ1 00 0000 0000 LOGE 43 4294 4850 1 1 (U) FLOAT <- E ** (U) FLOAT 1 EXPN(U) = E ** U = EXP(LOG10(E)*U) 1 E=2.71828182846 1 E00LP STD LQ1 FMP LOGE MULT BY LOG(E) CONST LDD LQ1 E00AC 10 ** U LQ1 00 0000 0000 LOGE 43 4294 4850 1 1 (U) FLOAT <- ABSOLUTE VALUE (U) FLOAT 1 E00AY NZE 8001 EXIT IF ZERO NZU EZZTY ALARM FUNCTION ARG IS FIX BUT SHOULD BE FLOAT STD ERTHX RAM 8003 REMOVE SGN RAU 8002 ERTHX RESULT IN UPPER AND EXIT 1 1 (U) FLOAT <- INTEGER PART (U) FLOAT 1 E00AZ NZE 8001 EXIT IF ZERO NZU EZZTY ALARM FUNCTION ARG IS FIX BUT SHOULD BE FLOAT STD ERTHX STU ARTHC SAVE ARG SRT 0002 EXP IN LOWER STU ARTHA MANT IN H RSM 8002 MAKE EXP NEG ALO N57 BMI AZ4 BIG NUM SO NO FRACT PART TO REMOVE ALO N01 SLT 0001 NZU AZ5 SMALL NUM SO NO INT PART SRT 0005 SET AS RIGHT ALO AZ6 SHIFTS TO DO STL ARTHB RAU ARTHA ARTHB N57 57 0000 0000 N01 01 0000 0000 AZ6 SRT 0000 RAU 8003 AE0 GO TO FIX TO FLOAT CONVERSION ROUTINE AZ5 RAU 8002 RAU 8002 ERTHX RETURN ZERO AZ4 RAU ARTHC ERTHX RETURN THE ARG UNCHANGED 1 1 (U) FLOAT <- MAX (FLOAT, FLOAT, ...) 1 SHOULD HAVE TWO OR MORE FLOAT PARAMETERS 1 E00BA STD ERTHX STU ARTHA ARG IS MAX RAL ERTHX BA0 BA0 SLO BA10 BMI BA9 NO MORE ARGS RAL ERTHX SET ARG ADDR LDD BA1 TO BE READ SDA BA1 BA1 BA1 RAU 0000 READ ARG STU ARTHB FSB ARTHA IS GRTR THAN BMI BA2 CURRENT RESULT RAU ARTHB YES STORE AS STU ARTHA BA2 NEW RESULT BA2 RAL ERTHX SELECT NEXT SLO ONET ARG STL ERTHX BA0 BA9 RAU ARTHA ERTHX RESULT IN UPPER BA10 00 P0000 0000 FIST ARG ADDR 1 1 (U) FLOAT <- SQUARE ROOT (U) FLOAT 1 E00AX NZE 8001 EXIT IF ZERO NZU EZZTY ALARM FUNCTION ARG IS FIX BUT SHOULD BE FLOAT BMI AX1 ALARM SQRT(NEG) STD ERTHX SRT 0002 NZU AX2 TEST FOR ZRO SLO N01 CONVERT FORTRANSIT EXP (1.0=1E51) TO IT EXP (1.0=1E50) STL ARTHB BREAK UP EXP RAL 8003 AND MANTISSA SLT 0002 CALCULATE STL ARTHA INITIAL X AUP ONE AX3 AX4 RAU ARTHA CALCULATE DVR ARTHC NEXT X SLO 8001 VALUE NZE AX5 BMI AX5 TEST FOR END ALO 8001 ALO 8001 AX3 AX3 DVR TWO RECYCLE STL ARTHC AX4 AX5 RAL ARTHB MODIFY ALO N49 EXPONENT SRT 0008 DIV TWO ALO 8003 STL ARTHB TEST EVEN OR NZU AX6 ODD EXP RAU ARTHC EXP ODD SRT 0001 MPY AX11 MPY BY SQRT SRD 0010 AX7 OF 10 AX7 SLT 0002 ALO ARTHB ALO ONE EXP 50 TO 51 RAU 8002 ERTHX GO TO EXIT AX6 RAL ARTHC EXP EVEN SRD 0002 AX7 AX2 RAU 8003 ERTHX RESULT ZERO AX1 HLT 0012 8001 ALARM SQRT WITH NEGATIVE ARGUMENT ONE 00 0000 0001 CONSTANTS TWO 00 0000 0002 N49 49 0000 0000 AX11 03 1622 7766 1 1 (U) FLOAT <- COSINUS (U) FLOAT (ARG IN RADIANS: COS(PI/2) = 0) 1 E00AV STD ERTHX AV0 AV0 NZE AV4 COS(0) IS ONE NZU EZZTY ALARM FUNCTION ARG IS FIX BUT SHOULD BE FLOAT SRT 0002 ARGUMENT STU ARTHA ALARM IF PWR RSM 8002 OVERSCALE ALO N01 CONVERT FORTRANSIT EXP (1.0=1E51) TO IT EXP (1.0=1E50) ALO N57 COSX EQUALS BMI AV2 ONE IF PWR SLO AV3 UNDERSCALE BMI AV4 SRT 0004 ALO AV5 STL AV6 RAU ARTHA FORM MPY AV7 AV6 FRACTIONAL AV6 HLT AV6 AV23 AND INTGRL AV23 STL ARTHC PARTS RAU 8003 MPY N50 FORM S AS STL ARTHB ONE MINUS RSM ARTHC TWICE ABVAL SML 8001 OF FRACTNL ALO N999 PART RAU 8002 STU ARTHA MPY 8001 FORM SINE STU ARTHC RAU AV16 POLYNOMIAL MPY ARTHC APPROXIMATOR RAU 8003 AUP AV15 MPY ARTHC RAU 8003 AUP AV14 MPY ARTHC RAU 8003 AUP AV13 MPY ARTHC SRT 0001 RAU 8003 AUP PIH EQUALS ONE MPY ARTHA SCT 0000 BOV AV19 STL ARTHA RAL 8003 ROUND SRT 0002 AND STL ARTHC ADJUST RSU ARTHA POWER SRT 0002 BMI AV25 SUP 8003 ALO N50 AV24 AV24 AUP ARTHC SLT 0002 AV22 AV22 STU ARTHA DETERMINE RAU ARTHB SIGN OF NZU AV20 RESULT RSL ARTHA AV26 AV20 RAL ARTHA AV26 AV25 SUP 8003 SLO N50 AV24 AV2 RAU ARTHB OVERSCALE LDD ERTHX DISPLAY HLT 0013 8001 ALARM RADIAN ARG TOO BIG AV26 RAU 8002 BMI AV27 AUP ONE ERTHX AV27 SUP ONE ERTHX AV4 RAL AV21 AV26 COSX IS ONE AV19 RAL 8002 COSX IS ZERO SLO 8001 AV26 AV17 RAU AV21 AV22 COSX IS PLUS AV3 11 0000 0000 OR MINUS 1 AV5 SRD 0011 AV23 AV7 31 8309 8862 PIH 15 7079 6327 PI / 2 INTEGER AV13 - 64 5963 7111 AV14 07 9689 6793 AV15 - 00 4673 7656 AV16 00 0151 4842 AV21 10 0000 0050 N999 99 9999 9999 N50 50 0000 0000 ONE 00 0000 0001 N01 01 0000 0000 N57 57 0000 0000 1 1 (U) FLOAT <- SINUS (U) FLOAT (ARG IN RADIANS: SIN(PI/2) = 1) 1 E00AW NZE 8001 SIN(0) IS ZERO NZU EZZTY ALARM FUNCTION ARG IS FIX BUT SHOULD BE FLOAT STD ERTHX STU ARTHA RAU PIHF FSB ARTHA AV0 SIN A = COS(PI/2 - A) PIHF 15 7079 6351 PI / 2 FLOAT 1 1 END OF FORTRAN PACKAGE 1