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