CLEAR STORAGE 1     ,008015,022026,030037,044,049,053053N000000N00001026                                         1
 CLEAR STORAGE 2     L068116,105106,110117B101/I9I#071029C029056B026/B001/0991,001/001117I0?                      2
 BOOTSTRAP           ,008015,022029,036040,047054,061068,072/061039              ,0010011040                      3
0                          FORTRAN COMPILER -- ARITHMETIC PACKAGE -- PHASE 63                             PAGE    1
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  101                JOB   FORTRAN COMPILER -- ARITHMETIC PACKAGE -- PHASE 63
  102                CTL   6611
  103         *
  104         * THIS PHASE IS COMPRISED OF THE ARITHMETIC ROUTINE WHICH IS
  105         * LOADED BY GEAUX PHASE 2.
  106         *
  107                ORG   87                                                                 0087
  108     89  X1     DCW   000                                                      3  0089                       4
  109     91         DC    00                                                       2  0091                       4
  110     94  X2     DCW   000                                                      3  0094                       4
  111     96         DC    00                                                       2  0096                       4
  112     99  X3     DCW   000                                                      3  0099                       4
  113    100         DC    0                                                        1  0100                       4
  114         *
  115         * ARITHMETIC INTERPRETER
  116         *
  117         * GENERAL FORM OF INTERPRETED STRING IS
  118         * OPERAND [ OPERATOR OPERAND ... ],
  119         * HOWEVER, IF OPERAND HAS A WORD MARK, IT'S AN OPERATOR,
  120         * USUALLY A FUNCTION CALL.  OPERANDS ARE MACHINE ADDRESSES,
  121         * WITH A TAG IN THE TENS DIGIT TO INDICATE TYPE: A- OR B-
  122         * ZONE ALONE INDICATES INTEGER.  OPERATORS ARE ONE CHARACTER.
  123         * SUBSCRIPT CALCULATIONS ARE SURROUNDED BY $...$.
  124         *
  125         * TWO ACCUMULATORS IN THE PRINT AREA ARE USED.  THE LOW-ORDER
  126         * DIGIT OF AN OPERAND IS LOADED INTO ACCUMULATOR 1 AT 250; IT
  127         * EXTENDS LEFTWARD  BY THE LENGTH OF THE OPERAND, AND RIGHTWARD
  128         * FROM THE LEFT END BY THE MANTISSA WIDTH.  ACCUMULATOR 2 HAS ITS
  129         * HIGH-ORDER DIGIT AT ACCHI&1; IT EXTENDS RIGHTWARD BY THE MANTISSA
  130         * WIDTH.
  131         *
  132         * IN THE FORTRAN MANUAL C24-1455, THE HIGH-ORDER DIGIT OF
  133         * ACCUM 2 IS LABELED ACCHI&1.
  134         *
  135         ACCHI  EQU   279                                                         0279
  136         *
  137         * MOSTLY, INDEX REGISTER USAGE IS
  138         * X1 = OPERAND ADDRESS
  139         * X2 = INTERPRETER'S COUNTER, LOW-ORDER DIGIT OF ACCUM 1
  140         * X3 = OPERAND WIDTH
  141         *
  142         * ADDRESS IN PHASE 62
  143         *
  144         LDRET  EQU   227  RETURN HERE AFTER LOADING                              0227
  145         *
  146                ORG   700                                                                0700
  147    700  ARITF  SBR   X2                                                       4  0700  H 094                5
1                          FORTRAN COMPILER -- ARITHMETIC PACKAGE -- PHASE 63                             PAGE    2
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  148    704         SBR   X1-3        INTERPRETER ADDRESS FOR DUMPS                4  0704  H 086                5
  149    708         SBR   ERMSI&6     INTERPRETER ADDRESS FOR ERR MSGS             4  0708  H V06                5
  150    712  NXTOP  MCW   2&X2,X1     X1 = OPERAND (RESULT) ADDRESS                7  0712  M 0!2 089            5
  151    719         SAR   SX2A&6      SAVE X2-1                                    4  0719  Q 765                5
  152    723  NXTOP0 SBR   SX2B&6        TWICE                                      4  0723  H S27                5
  153    727         BCE   DOSUB,0&X2,$  SUBSCRIPT?                                 8  0727  B S06 0!0 $          5
  154    735         SBR   RES&6,0&X1  SAVE X1 (RESULT ADDRESS)                     7  0735  H T75 0|0            6
  155    742         CS    303         CLEAR ACCUMUMULATORS                         4  0742  / 303                6
  156    746         CS                                                             1  0746  /                    6
  157    747         CS                                                             1  0747  /                    6
  158    748         LCA   KZ1,ACCHI&1     SET HIGH-ORDER ZERO IN ACCUM 2           7  0748  L W85 280            6
  159    755  NXTOP1 S     X1&2        CLEAR X1                                     4  0755  S 091                6
  160    759  SX2A   SBR   X2,0-0      RECOVER X2 = ADDR(OPERAND) - 1               7  0759  H 094 000            6
  161    766         C     4&X2,ASGOP  COMPARE OP TO ASSIGNMENT OP                  7  0766  C 0!4 W86            7
  162    773         MCW   4&X2,SAVOP  SAVE WHATEVER OPERATOR IT IS                 7  0773  M 0!4 924            7
  163    780         SW    201                                                      4  0780  , 201                7
  164    784         BL    FUNC        FUNC IF ASSIGNMENT OP .LT. OPERATOR          5  0784  B T05 T              7
  165         *
  166         * ASSIGNMENT OP GREATER OR EQUAL TO OPERATOR, I.E., OPERATOR IS
  167         * BLANK, ., ) LOZENGE, } GROUP MARK, &, $, *, -, /, COMMA, %, #
  168         *
  169    789         SBR   NXTOP2&6,4&X2  SAVE ADDR OF OPERATOR                     7  0789  H 874 0!4            7
  170    796         BCE   DOSUB5,5&X2,$  SUBSCRIPT?                                8  0796  B /99 0!5 $          7
  171    804         MCW   7&X2,X1     SECOND OPERAND ADDRESS TO X1                 7  0804  M 0!7 089            8
  172    811         SAR   SX2A&6      SAVE 4&X2                                    4  0811  Q 765                8
  173    815  TSTZON BWZ   ARITI,X1-1,K  OPERAND 2 TAG IS B ZONE (INTEGER)?         8  0815  V V30 088 K          8
  174    823         BWZ   ARITI,X1-1,S  OPERAND 2 TAG IS A ZONE (INTEGER)?         8  0823  V V30 088 S          8
  175    831         SBR   X3,0        LOADER PLUGS MANTISSA WIDTH INTO B           7  0831  H 099 000            8
  176    838         CW    IFLAG       INDICATE FLOATING POINT                      4  0838  ) W87                8
  177    842         MCW   0&X1,EXP1-1   SAVE EXPONENT 1                            7  0842  M 0|0 W82            9
  178    849         SAR   X1          SAVE MANTISSA 1 ADDRESS                      4  0849  Q 089                9
  179    853         MCW   0&X1,250    MANTISSA 1 TO ACCUMULATOR 1                  7  0853  M 0|0 250            9
  180         * FROM HERE, X2 INDEXES ACCUM 1, FIRST HIGH, THEN LOW DIGIT
  181    860         SBR   X2          SET X2 TO ACCUM 1 ADDRESS - OP WIDTH         4  0860  H 094                9
  182    864         LCA   KZ1         APPEND A HIGH-ORDER ZERO TO ACCUM 1          4  0864  L W85                9
  183    868  NXTOP2 BW    NOSIGN,0-0  WM UNDER OPERATOR?                           8  0868  V 883 000 1          9
  184    876         MZ    250,ZAS     SIGN OF OPERAND 1 DETERMINES ZA OR ZS        7  0876  Y 250 |87           10
  185    883  NOSIGN S     KZ1,252&X3  ADD ZEROS BELOW MANTISSA                     7  0883  S W85 2E2           10
  186    890         C     1&X2,KZ1    COMPARE OPERAND HIGH-ORDER DIGIT TO 0        7  0890  C 0!1 W85           10
  187    897         A     X3,X2       X2 NOW AT LOW-ORDER DIGIT OF ACCUM 1         7  0897  A 099 094           10
  188    904         BCE   FDIV,SAVOP,/  DIVIDE?                                    8  0904  B S33 924 /         10
  189    912         BCE   FMPY,SAVOP,*  MULTIPLY?                                  8  0912  B S62 924 *         11
  190    920         S     SAVOP         TURN IT BACK TO ZA                         4  0920  S 924               11
  191    924  SAVOP  ZA    ZAS           COPY THIS OP CODE                          4  0924  ? |87               11
  192    928         BCE   NMLZ1,ACCHI&1,0   HIGH-ORDER DIGIT OF ACCUM 2 ZERO?      8  0928  B |17 280 0         11
  193    936         BE    CLRWK         ACCUM 1 HIGH-ORDER DIGIT IS ZERO           5  0936  B /34 S             11
  194    941         S     EXP1-1,EXP2-1  EXP2 IS NOW EXP2 - EXP1                   7  0941  S W82 W79           11
  195    948         ZA    EXP2,X1&1     MOVE ABS(EXP2-EXP1) TO X1                  7  0948  ? W80 090           12
  196    955         C     X3,X1  COMPARE MANTISSA WIDTH AND ABS(EXP2-EXP1)         7  0955  C 099 089           12
  197    962         BM    E1GTE2,EXP2-1  EXP1 .GT. EXP2                            8  0962  V /65 W79 K         12
1                          FORTRAN COMPILER -- ARITHMETIC PACKAGE -- PHASE 63                             PAGE    3
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  198    970         BH    EXDGMW        ABS(EXP2-EXP1) .GT. MANTISSA WIDTH         5  0970  B /88 U             12
  199    975         A     EXP2-1,EXP1-1  ADD EXP2-EXP1 TO EXP1                     7  0975  A W79 W82           12
  200    982         ZA    250,250&X1    SHIFT MANTISSA RIGHT BY EXP2-EXP1          7  0982  ? 250 2V0           13
  201    989         ZA    X3&1,X1&1     X1 AND X3 NOW BOTH MANTISSA WIDTH          7  0989  ? 100 090           13
  202    996  ADDSUB MZ    ZAS,0&X2      SIGN OF ACCUM 1 DEPENDS ON OP              7  0996  Y |87 0!0           13
  203  1 003         A     ACCHI&X1,0&X2   ADD (SUBTRACT) MANTISSAS                 7  1003  A 2X9 0!0           13
  204         *
  205         * RELOCATABLE FUNCTIONS RETURN HERE TOO
  206         *
  207  1 010  FRET   MZ    0&X2,ZAS                                                 7  1010  Y 0!0 |87           13
  208         *
  209         * NORMALIZE FLOATING-POINT RESULT OF A SINGLE ARITHMETIC
  210         * OPERATION; PLACE THE NORMALIZED RESULT IN THE WORKING
  211         * ACCUMULATOR.  IF EXPONENT OVERFLOW IS DETECTED, GO TO ERMSG TO
  212         * PRINT MESSAGE (NOF); THEN GO TO STR99.  IF EXPONENT UNDERFLOW
  213         * IS DETECTED, GO TO STRZE.  HERE, THE LOW-ORDER DIGIT OF THE
  214         * RESULT IS INDEXED BY X2.
  215         *
  216         * THE NORMALIZED RESULT IS LEFT IN ACCUM 2.
  217         *
  218  1 017  NMLZ1  ZA    EXP1-1,EXP2-1                                            7  1017  ? W82 W79           14
  219  1 024  NMLZ2  MCW   RM,1&X2    INSERT RM AFTER LOW-ORDER DIGIT               7  1024  M W75 0!1           14
  220  1 031         MZ               CHAIN                                         1  1031  Y                   14
  221  1 032         MZ                 TWO ZEROS                                   1  1032  Y                   14
  222  1 033         A                AND ADD ANOTHER ONE                           1  1033  A                   14
  223  1 034         MN               DECR A AND B (COPIES JUNK TO UNUSED)          1  1034  D                   14
  224  1 035         SBR   X1         X1 IS NOW TWO BELOW ACCUM 1 HIGH-ORDER        4  1035  H 089               14
  225  1 039         S     ACCHI&2&X3    CLEAR ACCUM 2                              4  1039  S 2H1               15
  226  1 043  NMLZL  BCE   STRZE,2&X1,|  RECORD MARK INDICATES ZERO RESULT          8  1043  B /42 0|2 |         15
  227  1 051         SBR   X1            BUMP X1                                    4  1051  H 089               15
  228  1 055         BCE   NMLZL,1&X1,0  ZERO MEANS MORE NORMALIZATION NEEDED       8  1055  B |43 0|1 0         15
  229  1 063         MCM   1&X1,ACCHI&1      NORMALIZE                              7  1063  P 0|1 280           15
  230  1 070         S     X3,X2                                                    7  1070  S 099 094           15
  231  1 077         CW                  DECREASE AS AND BS TO                      1  1077  )                   15
  232  1 078         CW                    REFER TO X2 AND X1                       1  1078  )                   16
  233  1 079         S                   S    X2,X1                                 1  1079  S                   16
  234  1 080         S     X1,EXP2-1     STORE NORMALIZED EXPONENT                  7  1080  S 089 W79           16
  235  1 087  ZAS    ZA    ACCHI&X3        ZS IF ACCUM 1 NEGATIVE                   4  1087  ? 2G9               16
  236  1 091         SW                                                             1  1091  ,                   16
  237  1 092         BCE   CLRWK,EXP2-3,0                                           8  1092  B /34 W77 0         16
  238  1 100         BM    STRZE,EXP2-1  EXPONENT UNDERFLOW                         8  1100  V /42 W79 K         16
  239  1 108         B     ERMSG         EXPONENT OVERFLOW                          4  1108  B U71               17
  240  1 114         DCW   @NOF@                                                    3  1114                      17
  241         *
  242         * EXPONENT OVERFLOW; SET RESULT MAGNITUDE EQUAL TO LARGEST
  243         * VALUE POSSIBLE IN FLOATING-POINT NOTATION; SET RESULT SIGN
  244         * AS APPROPRIATE.
  245         *
  246  1 115  STR99  ZA    KP99,EXP2-1   -99 TO EXP2                                7  1115  ? W89 W79           17
  247  1 122         MN    KP99,ACCHI&X3   ALL 9'S                                  7  1122  D W89 2G9           17
1                          FORTRAN COMPILER -- ARITHMETIC PACKAGE -- PHASE 63                             PAGE    4
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  248  1 129         MCW                   TO MANTISSA                              1  1129  M                   17
  249  1 130         MCW   ACCHI-1&X3            IN ACCUM2                          4  1130  M 2G8               17
  250         *
  251         * CLEAR ACCUM 1 AFTER AN INDIVIDUAL ARITHMETIC OPERATION
  252         *
  253  1 134  CLRWK  CS    ACCHI-1                                                  4  1134  / 278               17
  254  1 138         B     NXTOP1                                                   4  1138  B 755               18
  255         *
  256         * EXPONENT UNDERFLOW, OR RESULT IS ZERO.  SET FLOATING-POINT
  257         * RESULT TO ZERO
  258         *
  259  1 142  STRZE  S     EXP2-1  EXP2 = 0                                         4  1142  S W79               18
  260  1 146         S     ACCHI&X3  ACCUM 2 MANTISSA = 0                           4  1146  S 2G9               18
  261  1 150         B     CLRWK                                                    4  1150  B /34               18
  262         *
  263         * DIVISION BY ZERO
  264         *
  265  1 154  DVERR  B     ERMSG                                                    4  1154  B U71               18
  266  1 160         DCW   @DZE@  DIVIDE BY ZERO MESSAGE                            3  1160                      18
  267  1 161         B     STR99  INSERT OVERFLOW EXPONENT                          4  1161  B /15               18
  268         *
  269         * EXP1 IS GREATER THAN EXP2
  270         *
  271  1 165  E1GTE2 BH    NMLZ1  ABS(EXP2-EXP1) .GT. MANTISSA WIDTH                5  1165  B |17 U             19
  272  1 170         S     X3&1,X1&1  SUBTR MAN. WIDTH FROM ABS(EXP2-EXP1)          7  1170  S 100 090           19
  273  1 177         MZ    ACCHI&X3,ACCHI&X1  MOVE ZONE OVER TO NEW WIDTH           7  1177  Y 2G9 2X9           19
  274  1 184         B     ADDSUB  GO ADD (OR SUBTRACT) MANTISSAS                   4  1184  B 996               19
  275         *
  276         * ABS(EXP2-EXP1) .GT. MANTISSA WIDTH
  277         *
  278  1 188  EXDGMW A     EXP1-1,EXP2-1  RESTORE EXP2                              7  1188  A W82 W79           19
  279  1 195         B     CLRWK                                                    4  1195  B /34               19
  280         *
  281         * CALCULATE SUBSCRIPTED ADDRESS USING A RELOCATABLE ROUTINE THAT
  282         * IS ONLY LOADED IF NEEDED.
  283         *
  284  1 199  DOSUB5 SBR   X2,5&X2  BUMP X2 TO BEGINNING OF SUBSCRIPT INFO          7  1199  H 094 0!5           20
  285  1 206  DOSUB  B     0-0  LOADER PLUGS SUBSCRIPT ROUTINE ADDRESS HERE         4  1206  B 000               20
  286         *
  287  1 210         MN    0&X2  SUBTRACT 4 FROM X2                                 4  1210  D 0!0               20
  288  1 214         MN                                                             1  1214  D                   20
  289  1 215         MN                                                             1  1215  D                   20
  290  1 216         MN                                                             1  1216  D                   20
  291  1 217         SAR   SX2A&6                                                   4  1217  Q 765               20
  292  1 221  SX2B   BCE   NXTOP0,0-0,$                                             8  1221  B 723 000 $         21
  293  1 229         B     TSTZON                                                   4  1229  B 815               21
  294         *
  295         * FLOATING-POINT DIVIDE
  296         *
  297  1 233  FDIV   BE    DVERR     DIVIDE BY ZERO (COMPARE WAS AT NOSIGN)         5  1233  B /54 S             21
1                          FORTRAN COMPILER -- ARITHMETIC PACKAGE -- PHASE 63                             PAGE    5
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  298  1 238         MN    ACCHI&X3,1&X2                                            7  1238  D 2G9 0!1           21
  299  1 245         MCW                                                            1  1245  M                   21
  300  1 246         MN                                                             1  1246  D                   21
  301  1 247         D     0&X1,251  DIVIDE MANTISSAS.                              7  1247  % 0|0 251           21
  302  1 254         ZS    EXP1-1    NEGATE EXPONENT                                4  1254  ! W82               22
  303  1 258         B     EXPS      GO ADD EXPONENTS, NORMALIZE, ETC.              4  1258  B S83               22
  304         *
  305         * FLOATING-POINT MULTIPLY
  306         *
  307  1 262  FMPY   M     ACCHI&X3,251&X3  MULTIPLY MANTISSAS                      7  1262  @ 2G9 2E1           22
  308  1 269         SBR   X2,3&X2                                                  7  1269  H 094 0!3           22
  309  1 276         S     KP2,EXP2-1                                               7  1276  S W90 W79           22
  310  1 283  EXPS   A     EXP1-1,EXP2-1  ADD EXPONENTS                             7  1283  A W82 W79           22
  311  1 290         MZ    ACCHI&X3,*&1  PREPARE TO                                 7  1290  Y 2G9 S97           23
  312  1 297         ZA    ZAS           SET SIGN OF RESULT                         4  1297  ? |87               23
  313  1 301         B     NMLZ2       NORMALIZE                                    4  1301  B |24               23
  314         *
  315         * ASSIGNMENT OPERATOR IS LESS THAN CURRENT OPERATOR, I.E.,
  316         * CURRENT OPERATOR IS ONE OF @, ?, A-I, !, J-R, |, S-Z, 0-9.
  317         * IF NOT RECORD MARK, IT'S THE FIRST CHARACTER OF WHAT WOULD
  318         * OTHERWISE BE AN OPERAND, SO BUMP THE OPERAND ADDRESS.
  319         *
  320  1 305  FUNC   BCE   DONE,4&X2,|  DONE (RECORD MARK)?                         8  1305  B T31 0!4 |         23
  321  1 313         SBR   SX2A&6,1&X2  BUMP OPERAND ADDR                           7  1313  H 765 0!1           23
  322  1 320         C     ACCHI&1,KZ1      HIGH-ORDER ACCUM 2 MANTISSA DIGIT       7  1320  C 280 W85           23
  323         * THE LOADER PLUGS THE RELOCATABLE FUNCTION SELECTOR ADDRESS HERE
  324  1 327  QFUNCT B     0            GO TO FUNCTION SELECTOR                     4  1327  B 000               24
  325  1 331  DONE   BCE   RES,ACCHI&1,0    FLOATING-POINT RESULT ZERO?             8  1331  B T69 280 0         24
  326  1 339         BW    RES,IFLAG    INTEGER RESULT?                             8  1339  V T69 W87 1         24
  327  1 347         BW    FPRES,4&X2   WM UNDER OPERATOR?                          8  1347  V T92 0!4 1         24
  328  1 355         SBR   X3,2&X3                                                  7  1355  H 099 0?2           24
  329  1 362  SEXP2  MCM   EXP2-2,ACCHI-1&X3  MOVE EXP2 TO ACCUM 2                  7  1362  P W78 2G8           25
  330  1 369  RES    LCA   ACCHI&X3,0     STORE ACCUMULATOR TO SAVED B              7  1369  L 2G9 000           25
  331  1 376         BW    5&X2,4&X2    RETURN IF DONE (WORD MARK)                  8  1376  V 0!5 0!4 1         25
  332  1 384         SAR   X2           BUMP X2 TO NEXT OPERAND                     4  1384  Q 094               25
  333  1 388         B     NXTOP                                                    4  1388  B 712               25
  334         *
  335         * ROUND NONZERO FLOATING-POINT RESULT
  336         *
  337  1 392  FPRES  A     KP5,ACCHI-1&X3   ROUND MANTISSA                          7  1392  A W91 2G8           25
  338  1 399         BWZ   CARRY,ACCHI&1,S  CARRY IN ACC2 SHOWN BY A-ZONE?          8  1399  V U18 280 S         26
  339  1 407  CPZONE MZ    ACCHI&X3,ACCHI-2&X3  MOVE ZONE FROM EXP TO MAN           7  1407  Y 2G9 2G7           26
  340  1 414         B     SEXP2                                                    4  1414  B T62               26
  341  1 418  CARRY  A     KP1,EXP2-1   BUMP EXPONENT                               7  1418  A W92 W79           26
  342  1 425         BCE   FOVFL,EXP2-3,1  OVERFLOW?                                8  1425  B U48 W77 1         26
  343  1 433         S     ACCHI&X3       CLEAR MANTISSA                            4  1433  S 2G9               26
  344  1 437         LCA   K1B-1,ACCHI&1  AND PUT 1 IN ITS HIGH-ORDER DIGIT         7  1437  L W93 280           27
  345  1 444         B     CPZONE                                                   4  1444  B U07               27
  346         *
  347         * FLOATING-POINT OVERFLOW -- HIGH-ORDER DIGIT OF EXP2 IS 1
1                          FORTRAN COMPILER -- ARITHMETIC PACKAGE -- PHASE 63                             PAGE    6
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  348         *
  349  1 448  FOVFL  MN    KP99,ACCHI&X3  99 TO                                     7  1448  D W89 2G9           27
  350  1 455         MCW                  EXPONENT                                  1  1455  M                   27
  351  1 456         MCW   ACCHI-1&X3     ALL 9S TO MANTISSA                        4  1456  M 2G8               27
  352  1 460         S     KP1,EXP2-1                                               7  1460  S W92 W79           27
  353  1 467         B     CPZONE                                                   4  1467  B U07               27
  354         *
  355         * PRINT APPROPRIATE ERROR MESSAGES, WHICH INCLUDES A MNEMONIC
  356         * THREE-CHARACTER CODE AND THE DISPLAY ADDRESS IN THE GENERATED
  357         * PROCEDURE OF THE SOURCE PROGRAM STATEMENT BEING EXECUTED.  THIS
  358         * SUBROUTINE IS USED TO RECORD CIRCUMSTANCES, OCCURRING DURING
  359         * ARITHMETIC OPERATIONS, WHICH MAY AFFECT THE CALCULATION
  360         * ADVERSELY.
  361         *
  362  1 471  ERMSG  SBR   ERSVX&6    SAVE RETURN ADDRESS                           4  1471  H U92               28
  363  1 475         CS    202&X3                                                   4  1475  / 2?2               28
  364  1 479         SBR   ERSX3&6,0&X3  SAVE X3                                    7  1479  H V25 0?0           28
  365  1 486  ERSVX  SBR   X3,0       RETURN ADDRESS TO X3                          7  1486  H 099 000           28
  366  1 493         MCW   2&X3,212   MNEMONIC TO PRINT AREA                        7  1493  M 0?2 212           28
  367  1 500  ERMSI  SBR   217,0      INTERPRETER ADDRESS TO PRINT AREA             7  1500  H 217 000           28
  368  1 507         W                                                              1  1507  2                   28
  369  1 508         SW    201                                                      4  1508  , 201               29
  370  1 512         SBR   ERMSGX&3,3&X3  RETURN ADDRESS TO EXIT                    7  1512  H V29 0?3           29
  371  1 519  ERSX3  SBR   X3,0       RESTORE X3                                    7  1519  H 099 000           29
  372  1 526  ERMSGX B     0                                                        4  1526  B 000               29
  373         *
  374         * OPERAND TENS DIGIT HAS A OR B BUT NOT AB ZONE (INTEGER ARITH.)
  375         *
  376  1 530  ARITI  SBR   X3,0          LOADER PUTS INTEGER SIZE IN B              7  1530  H 099 000           29
  377  1 537         SW    IFLAG         INDICATE INTEGER                           4  1537  , W87               29
  378  1 541         MCS   0&X1,250      OPERAND TO ACCUMULATOR 1                   7  1541  Z 0|0 250           30
  379  1 548         BCE   XDIV,SAVOP,/  DIVIDE?                                    8  1548  B W23 924 /         30
  380  1 556         BCE   XMPY,SAVOP,*  MULTIPLY?                                  8  1556  B V98 924 *         30
  381  1 564         BM    XSUB,SAVOP    SUBTRACT?                                  8  1564  V V87 924 K         30
  382  1 572         A     0&X1,ACCHI&X3   ADD OPERAND TO ACCUMULATOR 2             7  1572  A 0|0 2G9           30
  383  1 579  XSIGN  ZA    ACCHI&X3        PUT A SIGN ON THE ACCUMULATOR            4  1579  ? 2G9               31
  384  1 583         B     CLRWK                                                    4  1583  B /34               31
  385  1 587  XSUB   S     0&X1,ACCHI&X3   SUBTRACT OPERAND FROM ACCUMULATOR 2      7  1587  S 0|0 2G9           31
  386  1 594         B     XSIGN                                                    4  1594  B V79               31
  387  1 598  XMPY   LCA   0&X1,250      MOVE OPERAND TO ACCUMULATOR 1              7  1598  L 0|0 250           31
  388  1 605         M     ACCHI&X3,251&X3                                          7  1605  @ 2G9 2E1           31
  389  1 612         MCW   251&X3,ACCHI&X3                                          7  1612  M 2E1 2G9           32
  390  1 619         B     CLRWK                                                    4  1619  B /34               32
  391  1 623  XDIV   BCE   DVERR,250,    DIVIDE BY ZERO?                            8  1623  B /54 250           32
  392  1 631         MCW   0&X1,250&X3                                              7  1631  M 0|0 2E0           32
  393  1 638         MN                                                             1  1638  D                   32
  394  1 639         SBR   MOVEQ&3       STORE ADDR TO MOVE TO ACCUM 2              4  1639  H W64               32
  395  1 643         LCA   ACCHI&X3                                                 4  1643  L 2G9               32
  396  1 647         ZA    ACCHI&X3,250&X3                                          7  1647  ? 2G9 2E0           33
  397  1 654         D     0&X1,251                                                 7  1654  % 0|0 251           33
1                          FORTRAN COMPILER -- ARITHMETIC PACKAGE -- PHASE 63                             PAGE    7
0 SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD
 
  398  1 661  MOVEQ  MCW   249,ACCHI&X3                                             7  1661  M 249 2G9           33
  399  1 668         B     CLRWK                                                    4  1668  B /34               33
  400         *
  401         * DATA
  402         *
  403  1 674         DCW   000     CHAINED TO RM                                    3  1674                      33
  404  1 675  RM     DCW   @|@                                                      1  1675                      33
  405  1 676         DCW   0                                                        1  1676                      33
  406  1 680  EXP2   DCW   @000|@  EXPONENT OF ACCUM 2, AND ZERO AND RM             4  1680                      34
  407  1 683  EXP1   DCW   000     EXPONENT OF ACCUM 1, AND ZERO                    3  1683                      34
  408  1 684  K8     DCW   8                                                        1  1684                      34
  409  1 685  KZ1    DCW   0                                                        1  1685                      34
  410  1 686  ASGOP  DCW   @#@     ASSIGNMENT OPERATOR                              1  1686                      34
  411  1 687  IFLAG  DCW   #1      WORD MARK INDICATES INTEGER                      1  1687                      34
  412  1 689  KP99   DCW   &99     USED FOR OVERFLOW                                2  1689                      34
  413  1 690  KP2    DCW   &2                                                       1  1690                      35
  414  1 691  KP5    DCW   &5                                                       1  1691                      35
  415  1 692  KP1    DCW   &1                                                       1  1692                      35
  416  1 694  K1B    DCW   @1 @                                                     2  1694                      35
  417  1 695         DCW   0                                                        1  1695                      35
  418  1 696  GMWM   DCW   @}@                                                      1  1696              GMARK   35
  419                EX    LDRET                                                             B 227               36
  420                END                                                                     / 000 080
1                          FORTRAN COMPILER -- ARITHMETIC PACKAGE -- PHASE 63                             PAGE    8
0SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  

 ACCHI     279    ADDSUB    996    ARITF     700    ARITI    1530    ASGOP    1686    CARRY    1418    CLRWK    1134   
 CPZONE   1407    DONE     1331    DOSUB    1206    DOSUB5   1199    DVERR    1154    E1GTE2   1165    ERMSG    1471   
 ERMSGX   1526    ERMSI    1500    ERSVX    1486    ERSX3    1519    EXDGMW   1188    EXP1     1683    EXP2     1680   
 EXPS     1283    FDIV     1233    FMPY     1262    FOVFL    1448    FPRES    1392    FRET     1010    FUNC     1305   
 GMWM     1696    IFLAG    1687    K1B      1694    K8       1684    KP1      1692    KP2      1690    KP5      1691   
 KP99     1689    KZ1      1685    LDRET     227    MOVEQ    1661    NMLZ1    1017    NMLZ2    1024    NMLZL    1043   
 NOSIGN    883    NXTOP     712    NXTOP0    723    NXTOP1    755    NXTOP2    868    QFUNCT   1327    RES      1369   
 RM       1675    SAVOP     924    SEXP2    1362    STR99    1115    STRZE    1142    SX2A      759    SX2B     1221   
 TSTZON    815    X1         89    X2         94    X3         99    XDIV     1623    XMPY     1598    XSIGN    1579   
 XSUB     1587    ZAS      1087