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