ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:08 2020
Source File: \s3farc.asm
1 | *************************************************** S3A00010
2 | * * S3A00020
3 | * SUBROUTINE NAME- * S3A00030
4 | * FULL NAME- FLOATING ACCUMULATOR RANGE CHECK* S3A00040
5 | * SUBPROGRAM. * S3A00050
6 | * CODE NAME- FARC * S3A00060
7 | * PURPOSE- THIS SUBROUTINE CHECKS THE VALUE IN * S3A00070
8 | * FAC AND SETS OVERFLOW AND UNDERFLOW * S3A00080
9 | * INDICATORS. IF FAC IS TOO LARGE OR TOO * S3A00090
10 | * SMALL, THE MAXIMUM POSITIVE OR NEGATIVE * S3A00100
11 | * NUMBER RESPECTIVELY, IS RETURNED IN FAC. * S3A00110
12 | * METHOD-SEE IBM 1130 SUBROUTINE LIBRARY MANUAL.* S3A00120
13 | * CAPABILITIES AND LIMITATIONS- SEE IBM 1130 * S3A00130
14 | * SUBROUTINE LIBRARY MANUAL. * S3A00140
15 | * SPECIAL FEATURES- N/A * S3A00150
16 | * ADDITIONAL INFORMATION- * S3A00160
17 | * ESTIMATED EXECUTION TIME- SEE IBM 1130 * S3A00170
18 | * SUBROUTINE LIBRARY MANUAL * S3A00180
19 | * * S3A00190
20 | *************************************************** S3A00200
LIBF FARC -V1.
22 | LIBR S3A00220
23 | ENT FARC S3A00230
0000 7002 24 | FARC MDX *+2 S3A00240
0001 4C80 0000 25 | BSC I *-* LOADER INSERT. S3A00250
0003 C37D 26 | LD 3 125 CHECK FAC EXPONENT. S3A00260
0004 4C28 000AR 27 | BSC L UNDER,+Z UNDERFLOW IF NEGATIVE. S3A00270
0006 1808 28 | SRA 8 OVERFLOW IF GREATER S3A00280
0007 4C20 000FR 29 | BSC L OVER,Z THAN 255. S3A00290
0009 70F7 30 | MDX FARC+1 RETURN IF FAC IS OK. S3A00300
000A 10A0 31 | UNDER SLT 32 UNDERFLOW PROCESS. S3A00310
000B D37D 32 | STO 3 125 SET FAC TO 0.0. S3A00320
000C DB7E 33 | STD 3 126 S3A00330
000D C011 34 | LD UNDCD SET PROGRAM INDICATOR S3A00340
000E 7009 35 | MDX XY TO UNDERFLOW CONDITION. S3A00350
000F C00E 36 | OVER LD MAXXP OVERFLOW PROCESS S3A00360
0010 D37D 37 | STO 3 125 SET FAC EXPONENT TO 255 S3A00370
0011 C37E 38 | LD 3 126 GET MANTISSA FROM FAC S3A00380
0012 4828 39 | BSC +Z BR IF NON-NEG S3A00390
0013 C808 40 | LDD MAXN IF FAC NEG,GET MAX NEG NO. S3A00400
0014 4810 41 | BSC - BR IF NEG S3A00410
0015 C804 42 | PLUS LDD MAXP IF FAC PTV,GET MAX PTV NO. S3A00420
0016 DB7E 43 | STD 3 126 STORE IN FAC S3A00430
0017 C008 44 | LD OVRCD SET PROGRAM INDICATOR TO S3A00440
0018 D37A 45 | XY STO 3 122 OVERFLOW CONDITION. S3A00450
0019 70E7 46 | MDX FARC+1 RETURN. S3A00460
47 | * S3A00470
48 | *CONSTANTS AREA S3A00480
49 | * S3A00490
001A 50 | BSS E 0 S3A00500
001A 7FFF 51 | MAXP DC /7FFF MAX + MANTISSA. S3A00510
001B FFFF 52 | DC /FFFF S3A00520
001C 8000 53 | MAXN DC /8000 MAX - MANTISSA. S3A00530
001D 0001 54 | DC /0001 S3A00540
001E 00FF 55 | MAXXP DC 255 MAXIMUM LEGAL EXPONENT S3A00550
001F 0003 56 | UNDCD DC 3 UNDERFLOW CODE. S3A00560
0020 0001 57 | OVRCD DC 1 OVERFLOW CODE. S3A00570
0021 58 | END S3A00580
There were no errors in this assembly
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
FARC 0000R 24 30 46
MAXN 001CR 53 40
MAXP 001AR 51 42
MAXXP 001ER 55 36
OVER 000FR 36 29
OVRCD 0020R 57 44
PLUS 0015R 42
UNDCD 001FR 56 34
UNDER 000AR 31 27
XY 0018R 45 35