ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:07 2020
Source File: \r1faxi.asm
1 | *************************************************** R1B00010
2 | * * R1B00020
3 | * SUBROUTINE NAME- * R1B00030
4 | * FULL NAME- STANDARD PRECISION FLOATING- * R1B00040
5 | * POINT A**I FUNCTION. * R1B00050
6 | * CODE NAME- FAXI/FAXIX * R1B00060
7 | * PURPOSE- THIS FUNCTION COMPUTES A STANDARD * R1B00070
8 | * PRECISION FLOATING POINT NUMBER TAKEN TO AN* R1B00080
9 | * INTEGER EXPONENT. * R1B00090
10 | * METHOD-SEE IBM 1130 SUBROUTINE LIBRARY MANUAL.* R1B00100
11 | * CAPABILITIES AND LIMITATIONS- SEE IBM 1130 * R1B00110
12 | * SUBROUTINE LIBRARY MANUAL. * R1B00120
13 | * SPECIAL FEATURES- N/A * R1B00130
14 | * ADDITIONAL INFORMATION- * R1B00140
15 | * ESTIMATED EXECUTION TIME- SEE IBM 1130 * R1B00150
16 | * SUBROUTINE LIBRARY MANUAL * R1B00160
17 | * * R1B00170
18 | *************************************************** R1B00180
LIBF FAXI -V1.
20 | LIBR R1B00200
21 | SPR R1B00210
22 | ENT FAXI R1B00220
23 | ENT FAXIX R1B00230
0000 6932 24 | FAXIX STX 1 SAVE+1 SAVE XR1 R1B00240
0001 C400 0000 25 | LD L *-* CALL+1 R1B00250
0003 7004 26 | MDX COM R1B00260
0004 692E 27 | FAXI STX 1 SAVE+1 SAVE XR1 R1B00270
0005 C400 0000 28 | LD L *-* CALL+1 R1B00280
0007 6100 29 | LDX 1 0 XR1=ZERO R1B00290
0008 D003 30 | COM STO *+3 R1B00300
0009 8039 31 | A ONE BUILD EXIT R1B00310
000A D02A 32 | STO EXIT+1 R1B00320
000B 7580 0000 33 | MDX I1 *-* OP ADDRESS INTO XR1 R1B00330
000D 1000 34 | NOP IF MDX CAUSES BR, SKIP NOP R1B00340
35 | * R1B00350
36 | *CHECK FOR SPECIAL CONDITIONS. GET SIGN OF I. USE R1B00360
37 | *ABSOLUTE VALUE OF I. INITIALIZE FACTR. R1B00370
38 | * R1B00380
000E C37E 39 | LD 3 126 GET FLT PT BASE=A R1B00390
000F 4C18 003CR 40 | BSC L ZOER,+- BR A=ZERO R1B00400
0011 C100 41 | LD 1 0 GET INTEGER EXPONENT=I R1B00410
0012 4C18 0039R 42 | BSC L STONE,+- BR I=ZERO R1B00420
0014 C831 43 | LDD FL1 GET FLT PT 1 R1B00430
0015 D834 44 | STD FACTR FACTR=1 R1B00440
0016 1010 45 | SLA 16 CLEAR ACCUMULATOR R1B00450
0017 9100 46 | S 1 0 GET - I R1B00460
0018 4808 47 | BSC + SKIP IF -I IS PTV R1B00470
0019 C100 48 | LD 1 0 -I NEG,GET I R1B00480
001A D029 49 | STO I STORE ABS VALUE OF I R1B00490
50 | * R1B00500
51 | *COMPUTE A**I R1B00510
52 | * R1B00520
001B 068A*3580 53 | EVEN LIBF FSTO GET CONTENTS OF FAC R1B00530
001C 0048R 54 | DC A STORE IN A R1B00540
001D C026 55 | LD I R1B00550
001E 4C04 0029R 56 | BSC L MULT,E BR IF LEAST BIT OF I = ONE R1B00560
0020 1801 57 | SHRT1 SRA 1 REPLACE I WITH I/2 R1B00570
0021 D022 58 | STO I R1B00580
0022 4C18 002FR 59 | BSC L NEGCK,+- BR IF I=ZERO R1B00590
0024 064C*4000 60 | LIBF FLD GET (A) INTO FAC R1B00600
0025 0048R 61 | DC A R1B00610
0026 0651*7A00 62 | LIBF FMPY MPY,STORE (A)((A) IN FAC R1B00620
0027 0048R 63 | DC A R1B00630
0028 70F2 64 | MDX EVEN R1B00640
0029 0651*7A00 65 | MULT LIBF FMPY R1B00650
002A 004AR 66 | DC FACTR R1B00660
002B 068A*3580 67 | LIBF FSTO R1B00670
002C 004AR 68 | DC FACTR FACTR=FACTR*A R1B00680
002D C016 69 | LD I GET I R1B00690
002E 70F1 70 | MDX SHRT1 RET TO REITERATE R1B00700
71 | * R1B00710
72 | *IF I WAS NEGATIVE,TAKE RECIPROCAL OF RESULT R1B00720
73 | * R1B00730
002F C100 74 | NEGCK LD 1 0 GET ORIGINAL I R1B00740
0030 4C08 0036R 75 | BSC L RCPR,+ BR IF I NEGATIVE R1B00750
0032 6500 0000 76 | SAVE LDX L1 *-* RESTORE XR1 R1B00760
0034 4C00 0000 77 | EXIT BSC L *-* (FAC)=(FACTR) R1B00770
78 | * R1B00780
79 | *SUBROUTINES TO TAKE RECIPROCAL, LOAD ONE INTO FAC R1B00790
80 | *OR SET ERROR INDICATORS. R1B00800
81 | * R1B00810
0036 0612*5640 82 | RCPR LIBF FDVR R1B00820
0037 0046R 83 | DC FL1 R1B00830
0038 70F9 84 | MDX SAVE (FAC)=1/(FACTR) R1B00840
0039 064C*4000 85 | STONE LIBF FLD SINCE I=O,A NOT ZERO R1B00850
003A 0046R 86 | DC FL1 SET A**I=1 R1B00860
003B 70F6 87 | MDX SAVE (FAC)=1 R1B00870
003C C100 88 | ZOER LD 1 0 CHECK I. IF NOT POSITIVE, R1B00880
003D 4C30 0032R 89 | BSC L SAVE,-Z TURN ON A**I PROGRAM R1B00890
003F C00C 90 | LD AIEBT ERROR INDICATOR. R1B00900
0040 EB7C 91 | OR 3 124 R1B00910
0041 D37C 92 | STO 3 124 R1B00920
0042 70EF 93 | MDX SAVE R1B00930
94 | * R1B00940
95 | *CONSTANTS AREA R1B00950
96 | * R1B00960
0043 0001 97 | ONE DC 1 SINGLE WORD ONE R1B00970
0044 0000 98 | I DC 0 STORE INTEGER EXPONENT R1B00980
0046 4000 0081 99 | FL1 DEC 1.0 FLT PT STD PREC ONE R1B00990
0048 0000 0000 100 | A DEC 0.0 STORE FLT PT BASE R1B01000
004A 0000 0000 101 | FACTR DEC 0.0 STORE RESULTS R1B01010
004C 0020 102 | AIEBT DC /20 BIT 10--A**I ERROR BIT. R1B01020
004D 103 | END R1B01030
There were no errors in this assembly
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
A 0048R 100 54 61 63
AIEBT 004CR 102 90
COM 0008R 30 26
EVEN 001BR 53 64
EXIT 0034R 77 32
FACTR 004AR 101 44 66 68
FAXI 0004R 27
FAXIX 0000R 24
FL1 0046R 99 43 83 86
I 0044R 98 49 55 58 69
MULT 0029R 65 56
NEGCK 002FR 74 59
ONE 0043R 97 31
RCPR 0036R 82 75
SAVE 0032R 76 24 27 84 87 89 93
SHRT1 0020R 57 70
STONE 0039R 85 42
ZOER 003CR 88 40