ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:08 2020
Source File: \s3xmd.asm
1 | *************************************************** S3H00010
2 | * * S3H00020
3 | * SUBROUTINE NAME- * S3H00030
4 | * FULL NAME- FIXED-POINT (FRACTIONAL) DOUBLE-* S3H00040
5 | * WORD MULTIPLY FUNCTION. * S3H00050
6 | * CODE NAME- XMD * S3H00060
7 | * PURPOSE- THIS FUNCTION PERFORMS A FIXED-POINT * S3H00070
8 | * MULTIPLY OF TWO FIXED-POINT DOUBLE-WORD * S3H00080
9 | * FRACTIONS GIVING A DOUBLE WORD RESULT. * S3H00090
10 | * METHOD-SEE IBM 1130 SUBROUTINE LIBRARY MANUAL.* S3H00100
11 | * CAPABILITIES AND LIMITATIONS- SEE IBM 1130 * S3H00110
12 | * SUBROUTINE LIBRARY MANUAL. * S3H00120
13 | * SPECIAL FEATURES- N/A * S3H00130
14 | * ADDITIONAL INFORMATION- * S3H00140
15 | * ESTIMATED EXECUTION TIME- SEE IBM 1130 * S3H00150
16 | * SUBROUTINE LIBRARY MANUAL * S3H00160
17 | * * S3H00170
18 | *************************************************** S3H00180
LIBF XMD -V1.
20 | LIBR S3H00200
21 | ENT XMD S3H00210
0000 7002 22 | XMD MDX *+2 S3H00220
0001 4C80 0000 23 | XMDX BSC I *-* LOADER INSERT. S3H00230
0003 D836 24 | STD P SAVE MULTIPLICAND S3H00240
0004 F37E 25 | EOR 3 126 COMPUTE AND STORE S3H00250
0005 D030 26 | STO PSGN PRODUCT SIGN. S3H00260
0006 10A0 27 | SLT 32 CLEAR ACC AND EXT S3H00270
0007 9B7E 28 | SD 3 126 GET THE ABS VALUE OF THE S3H00280
0008 4828 29 | BSC +Z MULTIPLIER AND STORE IN EXT S3H00290
0009 CB7E 30 | LDD 3 126 S3H00300
000A D831 31 | STD Q S3H00310
000B 10A0 32 | SLT 32 CLEAR ACC AND EXT S3H00320
000C 982D 33 | SD P GET THE ABSOLUTE VALUE OF S3H00330
000D 4810 34 | BSC - THE MULTIPLICAND AND STORE S3H00340
000E D82B 35 | STD P IN P S3H00350
000F C02A 36 | LD P S3H00360
0010 A02B 37 | M Q MPY MOST SIGNIFICANT HALVES S3H00370
0011 1081 38 | SLT 1 SCALE PRODUCT S3H00380
0012 D82B 39 | STD PS STORE PARTIAL PRODUCT S3H00390
0013 C027 40 | LD P+1 SECOND HALF OF MULTIPLICAND S3H00400
0014 A027 41 | M Q TIMES FIRST HALF OF MPYER S3H00410
0015 4828 42 | BSC +Z BR IF PTV. OTHERWISE S3H00420
0016 8025 43 | A Q ADD TO CORRECT SIGN S3H00430
0017 1881 44 | SRT 1 SCALE PRODUCT S3H00440
0018 D827 45 | STD PS1 ST PARTIAL CROSS-PRODUCT S3H00450
0019 C023 46 | LD Q+1 LEAST HALF MULTIPLIER S3H00460
001A A01F 47 | M P FIRST HALF MULTIPLICAND S3H00470
001B 4828 48 | BSC +Z BR IF PTV.OTHERWISE S3H00480
001C 801D 49 | A P ADD TO CORRECT SIGN S3H00490
001D 1881 50 | SRT 1 SCALE PRODUCT,ADD PREVIOUS S3H00500
001E 8821 51 | AD PS1 PARTIAL CROSS-PRODUCT S3H00510
001F D820 52 | STD PS1 S3H00520
0020 C01C 53 | LD Q+1 LEAST HALF OF MPYER SCALED S3H00530
0021 1801 54 | SRA 1 FOR MULTIPLICATION. S3H00540
0022 D012 55 | STO PS3 S3H00550
0023 C017 56 | LD P+1 MPY BY LEAST HALF OF MULTI- S3H00560
0024 A010 57 | M PS3 PLICAND. S3H00570
0025 4828 58 | BSC +Z BR IF PTV. OTHERWISE S3H00580
0026 800E 59 | A PS3 ADD TO CORRECT SIGN S3H00590
0027 1890 60 | SRT 16 ALIGN W/CROSS-PRODUCTS S3H00600
0028 8817 61 | AD PS1 AND ADD. S3H00610
0029 880E 62 | AD ROUND HALF-ADJUST RESULT. S3H00620
002A 188E 63 | SRT 14 ALIGN W/PARTIAL PRODUCT S3H00630
002B 8812 64 | AD PS ADD FIRST PARTIAL PRODUCT S3H00640
002C D811 65 | STD PS AND STORE FINAL PRODUCT S3H00650
002D C008 66 | LD PSGN RESTORE CORRECT SIGN TO S3H00660
002E 4C10 0033R 67 | BSC L *+3,- THE RESULT. S3H00670
0030 10A0 68 | SLT 32 S3H00680
0031 980C 69 | SD PS PUT RESULT IN THE ACC AND S3H00690
0032 70CE 70 | MDX XMDX EXTENSION FOR RETURN. S3H00700
0033 C00A 71 | LD PS S3H00710
0034 70CC 72 | MDX XMDX S3H00720
73 | * S3H00730
74 | *CONSTANTS AND BUFFER AREA S3H00740
75 | * S3H00750
0035 0000 76 | PS3 DC 0 STORE LEAST HALF OF MPYER. S3H00760
0036 0000 77 | PSGN DC 0 BIT 0 IS PRODUCT SIGN. S3H00770
0038 0000 2000 78 | ROUND DEC 8192 CONSTANT FOR ROUNDING OFF. S3H00780
003A 79 | P BSS E 2 MULTIPLICAND BUFFER S3H00790
003C 80 | Q BSS E 2 MULTIPLIER BUFFER S3H00800
003E 81 | PS BSS E 2 PARTIAL PRODUCT S3H00810
0040 82 | PS1 BSS E 2 PARTIAL CROSS-PRODUCT S3H00820
0042 83 | END S3H00830
There were no errors in this assembly
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
P 003AR 79 24 33 35 36 40 47 49 56
PS 003ER 81 39 64 65 69 71
PS1 0040R 82 45 51 52 61
PS3 0035R 76 55 57 59
PSGN 0036R 77 26 66
Q 003CR 80 31 37 41 43 46 53
ROUND 0038R 78 62
XMD 0000R 22
XMDX 0001R 23 70 72