Annotation of cci/d/fpevent/int_ov_test.lst, revision 1.1.1.1

1.1       root        1:    1  00000000                                  LL0:
                      2:    2  00000000                                         .data
                      3:    3  000003a0 *                                       .text
                      4:    4  00000000                                         .align  1
                      5:    5  00000000                                         .globl  _int_ovfl_test
                      6:    6  00000000                                  _int_ovfl_test:
                      7:    7  0000DAB0    0000                                 .word   L381
                      8:    8  0000DAB2                                   # 
                      9:    9  0000DAB2                                   # #include "evt_defs.h"
                     10:   10  0000DAB2                                   # 
                     11:   11  0000DAB2                                   # /*
                     12:   12  0000DAB2                                   #  ********************************************************************
                     13:   13  0000DAB2                                   #  *
                     14:   14  0000DAB2                                   #  *  MONITOR FOR THE FPP INTEGER-OVERFLOW EVENT TEST
                     15:   15  0000DAB2                                   #  *
                     16:   16  0000DAB2                                   #  *  This test will generate integer-overflow faults with the FPP. 
                     17:   17  0000DAB2                                   #  *  There are 2 ways for the floating point to generate integer overflows:
                     18:   18  0000DAB2                                   #  *  -either with the convert floating to integer instructions (CVFL, CVDL),
                     19:   19  0000DAB2                                   #  *  or with the longword integer multiply instructions (MULL2, MULL3).
                     20:   20  0000DAB2                                   #  *  CVFL and CVDL can cause integer overflows because any floating point
                     21:   21  0000DAB2                                   #  *  accumulator larger than +(2**23)-1 or -2**23 will be too big to store 
                     22:   22  0000DAB2                                   #  *  as a longword integer.
                     23:   23  0000DAB2                                   #  *  The test will cause the overflows with and without the integer
                     24:   24  0000DAB2                                   #  *  overflow event being enabled. If the event is enabled we'll get an
                     25:   25  0000DAB2                                   #  *  arithmetic trap (but the overflow bit (V) will NOT be set in the PSL.
                     26:   26  0000DAB2                                   #  *  If the event is disabled then no event will occur but the 'V' bit
                     27:   27  0000DAB2                                   #  *  will be set in the PSL.
                     28:   28  0000DAB2                                   #  *  The integer multiplys will only be tested if there is an active FPP
                     29:   29  0000DAB2                                   #  *  in the system. The converts will always be tested.
                     30:   30  0000DAB2                                   #  *
                     31:   31  0000DAB2                                   #  *  26-Mar-85  : written
                     32:   32  0000DAB2                                   #  *  20-Jul-85  : added MULL2, MULL3
                     33:   33  0000DAB2                                   #  *
                     34:   34  0000DAB2                                   #  ********************************************************************
                     35:   35  0000DAB2                                   # */
                     36:   36  0000DAB2                                   # int_ovfl_test()
                     37:   37  0000DAB2                                   # {
                     38:   38  0000DAB2    13 0126                              jbr     L383
                     39:   39  0000DAB5                                  L384:
                     40:   40  0000DAB5                                   #     event_msg = "Integer Overflow";
                     41:   41  0000DAB5                                         .data   1
                     42:   42  000003a0 *                                L385:
                     43:   43  000003a0 *  496E7465676572204F7665726            .ascii  "Integer Overflow\0"
                     44:                   66C6F7700
                     45:   44  000003b1 *                                       .text
                     46:   45  0000DAB5    0d 8f000003a0 effffffff0             movl    $L385,_event_msg
                     47:   46  0000DAC0                                   #     test_event = ARITH_CODE;        /* expect an arithmetic fault */
                     48:   47  0000DAC0    0d 34 efffffffe9                     movl    $52,_test_event
                     49:   48  0000DAC7                                   #     exp_code = INT_OVFL_CODE;       /*  -specificly integer overflow */
                     50:   49  0000DAC7    0d 01 efffffffe2                     movl    $1,_exp_code
                     51:   50  0000DACE                                   #     if( evt_inst )  {               /* was the op-code specified? */
                     52:   51  0000DACE    5d efffffffdc                        tstl    _evt_inst
                     53:   52  0000DAD4    21 03 13 00dd                        jeql    L386
                     54:   53  0000DAD9                                   #           if( evt_inst == CVFL_OP_CODE ) 
                     55:   54  0000DAD9    1d efffffffd1 890086                 cmpl    _evt_inst,$134
                     56:   55  0000DAE2    21 0a                                jneq    L387
                     57:   56  0000DAE4                                   #                run_cvfl();          /* test the CVFL instruction */
                     58:   57  0000DAE4    fe 04 ef000000f3                     callf   $4,_run_cvfl
                     59:   58  0000DAEB                                   #           else if( evt_inst == CVDL_OP_CODE ) 
                     60:   59  0000DAEB    13 00c6                              jbr     L389
                     61:   60  0000DAEE                                  L387:
                     62:   61  0000DAEE    1d efffffffbc 890087                 cmpl    _evt_inst,$135
                     63:   62  0000DAF7    21 0a                                jneq    L390
                     64:   63  0000DAF9                                   #                run_cvdl();          /* test the CVDL instruction */
                     65:   64  0000DAF9    fe 04 ef0000017a                     callf   $4,_run_cvdl
                     66:   65  0000DB00                                   #           else if( evt_inst == MULL2_OP_CODE ) {
                     67:   66  0000DB00    13 00b1                              jbr     L392
                     68:   67  0000DB03                                  L390:
                     69:   68  0000DB03    1d efffffffa7 884c                   cmpl    _evt_inst,$76
                     70:   69  0000DB0B    21 31                                jneq    L393
                     71:   70  0000DB0D                                   #                if( !no_fpp_wcs )
                     72:   71  0000DB0D    5d efffffff9d                        tstl    _no_fpp_wcs
                     73:   72  0000DB13    21 09                                jneq    L394
                     74:   73  0000DB15                                   #                     run_mull2();    /* test the MULL2 instruction */
                     75:   74  0000DB15    fe 04 ef000001fa                     callf   $4,_run_mull2
                     76:   75  0000DB1C                                   #                else {
                     77:   76  0000DB1C    11 1e                                jbr     L396
                     78:   77  0000DB1E                                  L394:
                     79:   78  0000DB1E                                   #                     if( (prt_hdrs) && (cycle == 1) ) 
                     80:   79  0000DB1E    5d efffffff8c                        tstl    _prt_hdrs
                     81:   80  0000DB24    31 16                                jeql    L397
                     82:   81  0000DB26    1d efffffff84 01                     cmpl    _cycle,$1
                     83:   82  0000DB2D    21 0d                                jneq    L397
                     84:   83  0000DB2F                                   #                         writes("MULL2 is only tested with FPP hardware\n");
                     85:   84  0000DB2F                                         .data   1
                     86:   85  000003b1 *                                L399:
                     87:   86  000003b1 *  4D554C4C32206973206F6E6C7            .ascii  "MULL2 is only tested with FPP hardware\12\0"
                     88:                   9207465737465642077697468
                     89:                   2046505020686172647761726
                     90:                   50A00
                     91:   87  000003d9 *                                       .text
                     92:   88  0000DB2F    dd 8f000003b1                        pushl   $L399
                     93:   89  0000DB35    fe 08 efffffff74                     callf   $8,_writes
                     94:   90  0000DB3C                                   #                }
                     95:   91  0000DB3C                                  L397:
                     96:   92  0000DB3C                                  L396:
                     97:   93  0000DB3C                                   #           }
                     98:   94  0000DB3C                                   #           else if( evt_inst == MULL3_OP_CODE ) {
                     99:   95  0000DB3C    11 76                                jbr     L400
                    100:   96  0000DB3E                                  L393:
                    101:   97  0000DB3E    1d efffffff6c 885c                   cmpl    _evt_inst,$92
                    102:   98  0000DB46    21 31                                jneq    L401
                    103:   99  0000DB48                                   #                if( !no_fpp_wcs )
                    104:  100  0000DB48    5d efffffff62                        tstl    _no_fpp_wcs
                    105:  101  0000DB4E    21 09                                jneq    L402
                    106:  102  0000DB50                                   #                     run_mull3();    /* test the MULL3 instruction */
                    107:  103  0000DB50    fe 04 ef0000025b                     callf   $4,_run_mull3
                    108:  104  0000DB57                                   #                else {
                    109:  105  0000DB57    11 1e                                jbr     L404
                    110:  106  0000DB59                                  L402:
                    111:  107  0000DB59                                   #                     if( (prt_hdrs) && (cycle == 1) ) 
                    112:  108  0000DB59    5d efffffff51                        tstl    _prt_hdrs
                    113:  109  0000DB5F    31 16                                jeql    L405
                    114:  110  0000DB61    1d efffffff49 01                     cmpl    _cycle,$1
                    115:  111  0000DB68    21 0d                                jneq    L405
                    116:  112  0000DB6A                                   #                         writes("MULL3 is only tested with FPP hardware\n");
                    117:  113  0000DB6A                                         .data   1
                    118:  114  000003d9 *                                L406:
                    119:  115  000003d9 *  4D554C4C33206973206F6E6C7            .ascii  "MULL3 is only tested with FPP hardware\12\0"
                    120:                   9207465737465642077697468
                    121:                   2046505020686172647761726
                    122:                   50A00
                    123:  116  00000401 *                                       .text
                    124:  117  0000DB6A    dd 8f000003d9                        pushl   $L406
                    125:  118  0000DB70    fe 08 efffffff39                     callf   $8,_writes
                    126:  119  0000DB77                                   #                }
                    127:  120  0000DB77                                  L405:
                    128:  121  0000DB77                                  L404:
                    129:  122  0000DB77                                   #           }
                    130:  123  0000DB77                                   #           else if( (prt_hdrs) && (cycle == 1) ) {
                    131:  124  0000DB77    11 3b                                jbr     L407
                    132:  125  0000DB79                                  L401:
                    133:  126  0000DB79    5d efffffff31                        tstl    _prt_hdrs
                    134:  127  0000DB7F    31 33                                jeql    L408
                    135:  128  0000DB81    1d efffffff29 01                     cmpl    _cycle,$1
                    136:  129  0000DB88    21 2a                                jneq    L408
                    137:  130  0000DB8A                                   #                writes(
                    138:  131  0000DB8A                                   #                  "There are no INTEGER OVERFLOW faults with op-code ");
                    139:  132  0000DB8A                                         .data   1
                    140:  133  00000401 *                                L409:
                    141:  134  00000401 *  546865726520617265206E6F2            .ascii  "There are no INTEGER OVERFLOW faults with op-code \0"
                    142:                   0494E5445474552204F564552
                    143:                   464C4F57206661756C7473207
                    144:                   7697468206F702D636F646520
                    145:                   00
                    146:  135  00000434 *                                       .text
                    147:  136  0000DB8A    dd 8f00000401                        pushl   $L409
                    148:  137  0000DB90    fe 08 efffffff19                     callf   $8,_writes
                    149:  138  0000DB97                                   #                writeh( evt_inst );  /* print the ersatz op-code  */
                    150:  139  0000DB97    dd efffffff13                        pushl   _evt_inst
                    151:  140  0000DB9D    fe 08 efffffff0c                     callf   $8,_writeh
                    152:  141  0000DBA4                                   #                writec('\n');
                    153:  142  0000DBA4    dd 0a                                pushl   $10
                    154:  143  0000DBA6    fe 08 efffffff03                     callf   $8,_writec
                    155:  144  0000DBAD                                   #                error = TRUE;        /* needed for line feed spacing */
                    156:  145  0000DBAD    0d 01 effffffefc                     movl    $1,_error
                    157:  146  0000DBB4                                   #           }
                    158:  147  0000DBB4                                   #     } 
                    159:  148  0000DBB4                                  L408:
                    160:  149  0000DBB4                                  L407:
                    161:  150  0000DBB4                                  L400:
                    162:  151  0000DBB4                                  L392:
                    163:  152  0000DBB4                                  L389:
                    164:  153  0000DBB4                                   #      else  {        /* test all instructions */
                    165:  154  0000DBB4    11 24                                jbr     L412
                    166:  155  0000DBB6                                  L386:
                    167:  156  0000DBB6                                   #          run_cvfl();                /* test the CVFL instruction */
                    168:  157  0000DBB6    fe 04 ef00000021                     callf   $4,_run_cvfl
                    169:  158  0000DBBD                                   #          run_cvdl();                /* test the CVDL instruction */
                    170:  159  0000DBBD    fe 04 ef000000b6                     callf   $4,_run_cvdl
                    171:  160  0000DBC4                                   #          if( !no_fpp_wcs ) {
                    172:  161  0000DBC4    5d effffffee6                        tstl    _no_fpp_wcs
                    173:  162  0000DBCA    21 0e                                jneq    L413
                    174:  163  0000DBCC                                   #               run_mull2();          /* test the MULL2 instruction */
                    175:  164  0000DBCC    fe 04 ef00000143                     callf   $4,_run_mull2
                    176:  165  0000DBD3                                   #               run_mull3();          /* test the MULL3 instruction */
                    177:  166  0000DBD3    fe 04 ef000001d8                     callf   $4,_run_mull3
                    178:  167  0000DBDA                                   #          }
                    179:  168  0000DBDA                                   #     }
                    180:  169  0000DBDA                                  L413:
                    181:  170  0000DBDA                                  L412:
                    182:  171  0000DBDA                                   # }
                    183:  172  0000DBDA    40                                   ret#2
                    184:  173  0000DBDB                                         .set    L381,0x0
                    185:  174  0000DBDB                                  L383:
                    186:  175  0000DBDB    13 fed7                              jbr     L384
                    187:  176  0000DBDE                                         .data
                    188:  177  000003a0 *                                       .text
                    189:  178  0000DBDE                                         .align  1
                    190:  179  0000DBDE                                         .globl  _run_cvfl
                    191:  180  0000DBDE                                  _run_cvfl:
                    192:  181  0000DBDE    0000                                 .word   L414
                    193:  182  0000DBE0                                   #  
                    194:  183  0000DBE0                                   # 
                    195:  184  0000DBE0                                   # /*
                    196:  185  0000DBE0                                   #  **********************************************************************
                    197:  186  0000DBE0                                   #  *
                    198:  187  0000DBE0                                   #  *  SET UP TO TEST INTEGER OVERFLOW WITH THE CVFL INSTRUCTION
                    199:  188  0000DBE0                                   #  *
                    200:  189  0000DBE0                                   #  **********************************************************************
                    201:  190  0000DBE0                                   # */
                    202:  191  0000DBE0                                   # run_cvfl()
                    203:  192  0000DBE0                                   # {
                    204:  193  0000DBE0    13 0094                              jbr     L416
                    205:  194  0000DBE3                                  L417:
                    206:  195  0000DBE3                                   #     valid_test = TRUE;              /* a test is being run */
                    207:  196  0000DBE3    0d 01 effffffec6                     movl    $1,_valid_test
                    208:  197  0000DBEA                                   #     op_code   =  CVFL_OP_CODE;      /* set the inst's op_code */
                    209:  198  0000DBEA    0d 890086 effffffebd                 movl    $134,_op_code
                    210:  199  0000DBF3                                   #     op_name   =  "CVFL ";           /* set the inst's name */
                    211:  200  0000DBF3                                         .data   1
                    212:  201  00000434 *                                L418:
                    213:  202  00000434 *  4356464C2000                         .ascii  "CVFL \0"
                    214:  203  0000043a *                                       .text
                    215:  204  0000DBF3    0d 8f00000434 effffffeb2             movl    $L418,_op_name
                    216:  205  0000DBFE                                   #     precision =  SGL;
                    217:  206  0000DBFE    0d 01 effffffeab                     movl    $1,_precision
                    218:  207  0000DC05                                   #     acc_ld_size = SGL;              /* load a single precision Acc. */
                    219:  208  0000DC05    0d 01 effffffea4                     movl    $1,_acc_ld_size
                    220:  209  0000DC0C                                   #     sgl_op    =  TRUE;
                    221:  210  0000DC0C    0d 01 effffffe9d                     movl    $1,_sgl_op
                    222:  211  0000DC13                                   #     no_ops    =  1;                 /* one operand */
                    223:  212  0000DC13    0d 01 effffffe96                     movl    $1,_no_ops
                    224:  213  0000DC1A                                   #     data_ptr  =  cvfl_ov_dat;       /* set the data ptr */
                    225:  214  0000DC1A    0d 8f00000000 effffffe8b             movl    $_cvfl_ov_dat,_data_ptr
                    226:  215  0000DC25                                   #     max_index =  cvfl_ov_cnt;       /* set the max index */
                    227:  216  0000DC25    0d effffffe85 effffffe80             movl    _cvfl_ov_cnt,_max_index
                    228:  217  0000DC30                                   #     if( (prt_hdrs) && (cycle == 1) ) 
                    229:  218  0000DC30    5d effffffe7a                        tstl    _prt_hdrs
                    230:  219  0000DC36    31 16                                jeql    L419
                    231:  220  0000DC38    1d effffffe72 01                     cmpl    _cycle,$1
                    232:  221  0000DC3F    21 0d                                jneq    L419
                    233:  222  0000DC41                                   #          writes( op_name );
                    234:  223  0000DC41    dd effffffe69                        pushl   _op_name
                    235:  224  0000DC47    fe 08 effffffe62                     callf   $8,_writes
                    236:  225  0000DC4E                                   #     disable_mask = 0;               /* don't disable any events   */
                    237:  226  0000DC4E                                  L419:
                    238:  227  0000DC4E    4b effffffe5c                        clrw    _disable_mask
                    239:  228  0000DC54                                   #     evt_disabled = FALSE;           /* expected event is enabled  */
                    240:  229  0000DC54    4d effffffe56                        clrl    _evt_disabled
                    241:  230  0000DC5A                                   #     test_inst();
                    242:  231  0000DC5A    fe 04 effffffe4f                     callf   $4,_test_inst
                    243:  232  0000DC61                                   #     disable_mask = PSL_EN_OVFL;     /* disable the int ovfl event */
                    244:  233  0000DC61    7f 20 effffffe48                     cvtlw   $32,_disable_mask
                    245:  234  0000DC68                                   #     evt_disabled = TRUE;
                    246:  235  0000DC68    0d 01 effffffe41                     movl    $1,_evt_disabled
                    247:  236  0000DC6F                                   #     test_inst();
                    248:  237  0000DC6F    fe 04 effffffe3a                     callf   $4,_test_inst
                    249:  238  0000DC76                                   # }
                    250:  239  0000DC76    40                                   ret#2
                    251:  240  0000DC77                                         .set    L414,0x0
                    252:  241  0000DC77                                  L416:
                    253:  242  0000DC77    13 ff69                              jbr     L417
                    254:  243  0000DC7A                                         .data
                    255:  244  000003a0 *                                       .text
                    256:  245  0000DC7A                                         .align  1
                    257:  246  0000DC7A                                         .globl  _run_cvdl
                    258:  247  0000DC7A                                  _run_cvdl:
                    259:  248  0000DC7A    0000                                 .word   L421
                    260:  249  0000DC7C                                   # 
                    261:  250  0000DC7C                                   # /*
                    262:  251  0000DC7C                                   #  **********************************************************************
                    263:  252  0000DC7C                                   #  *
                    264:  253  0000DC7C                                   #  *  SET UP TO TEST INTEGER OVERFLOW WITH THE CVDL INSTRUCTION
                    265:  254  0000DC7C                                   #  *
                    266:  255  0000DC7C                                   #  **********************************************************************
                    267:  256  0000DC7C                                   # */
                    268:  257  0000DC7C                                   # run_cvdl()
                    269:  258  0000DC7C                                   # {
                    270:  259  0000DC7C    13 0094                              jbr     L423
                    271:  260  0000DC7F                                  L424:
                    272:  261  0000DC7F                                   #     valid_test = TRUE;              /* a test is being run */
                    273:  262  0000DC7F    0d 01 effffffe2a                     movl    $1,_valid_test
                    274:  263  0000DC86                                   #     op_code   =  CVDL_OP_CODE;      /* set the inst's op_code */
                    275:  264  0000DC86    0d 890087 effffffe21                 movl    $135,_op_code
                    276:  265  0000DC8F                                   #     op_name   =  "CVDL ";           /* set the inst's name */
                    277:  266  0000DC8F                                         .data   1
                    278:  267  0000043a *                                L425:
                    279:  268  0000043a *  4356444C2000                         .ascii  "CVDL \0"
                    280:  269  00000440 *                                       .text
                    281:  270  0000DC8F    0d 8f0000043a effffffe16             movl    $L425,_op_name
                    282:  271  0000DC9A                                   #     precision =  DBL;
                    283:  272  0000DC9A    0d 02 effffffe0f                     movl    $2,_precision
                    284:  273  0000DCA1                                   #     acc_ld_size = DBL;              /* load a double precision Acc. */
                    285:  274  0000DCA1    0d 02 effffffe08                     movl    $2,_acc_ld_size
                    286:  275  0000DCA8                                   #     sgl_op    =  TRUE;
                    287:  276  0000DCA8    0d 01 effffffe01                     movl    $1,_sgl_op
                    288:  277  0000DCAF                                   #     no_ops    =  1;                 /* one operand */
                    289:  278  0000DCAF    0d 01 effffffdfa                     movl    $1,_no_ops
                    290:  279  0000DCB6                                   #     data_ptr  =  cvdl_ov_dat;       /* set the data ptr */
                    291:  280  0000DCB6    0d 8f00000000 effffffdef             movl    $_cvdl_ov_dat,_data_ptr
                    292:  281  0000DCC1                                   #     max_index =  cvdl_ov_cnt;       /* set the max index */
                    293:  282  0000DCC1    0d effffffde9 effffffde4             movl    _cvdl_ov_cnt,_max_index
                    294:  283  0000DCCC                                   #     if( (prt_hdrs) && (cycle == 1) ) 
                    295:  284  0000DCCC    5d effffffdde                        tstl    _prt_hdrs
                    296:  285  0000DCD2    31 16                                jeql    L426
                    297:  286  0000DCD4    1d effffffdd6 01                     cmpl    _cycle,$1
                    298:  287  0000DCDB    21 0d                                jneq    L426
                    299:  288  0000DCDD                                   #          writes( op_name );
                    300:  289  0000DCDD    dd effffffdcd                        pushl   _op_name
                    301:  290  0000DCE3    fe 08 effffffdc6                     callf   $8,_writes
                    302:  291  0000DCEA                                   #     disable_mask = 0;               /* don't disable any events   */
                    303:  292  0000DCEA                                  L426:
                    304:  293  0000DCEA    4b effffffdc0                        clrw    _disable_mask
                    305:  294  0000DCF0                                   #     evt_disabled = FALSE;           /* expected event is enabled  */
                    306:  295  0000DCF0    4d effffffdba                        clrl    _evt_disabled
                    307:  296  0000DCF6                                   #     test_inst();
                    308:  297  0000DCF6    fe 04 effffffdb3                     callf   $4,_test_inst
                    309:  298  0000DCFD                                   #     disable_mask = PSL_EN_OVFL;     /* disable the int ovfl event */
                    310:  299  0000DCFD    7f 20 effffffdac                     cvtlw   $32,_disable_mask
                    311:  300  0000DD04                                   #     evt_disabled = TRUE;
                    312:  301  0000DD04    0d 01 effffffda5                     movl    $1,_evt_disabled
                    313:  302  0000DD0B                                   #     test_inst();
                    314:  303  0000DD0B    fe 04 effffffd9e                     callf   $4,_test_inst
                    315:  304  0000DD12                                   # }
                    316:  305  0000DD12    40                                   ret#2
                    317:  306  0000DD13                                         .set    L421,0x0
                    318:  307  0000DD13                                  L423:
                    319:  308  0000DD13    13 ff69                              jbr     L424
                    320:  309  0000DD16                                         .data
                    321:  310  000003a0 *                                       .text
                    322:  311  0000DD16                                         .align  1
                    323:  312  0000DD16                                         .globl  _run_mull2
                    324:  313  0000DD16                                  _run_mull2:
                    325:  314  0000DD16    0000                                 .word   L427
                    326:  315  0000DD18                                   # 
                    327:  316  0000DD18                                   # 
                    328:  317  0000DD18                                   # /*
                    329:  318  0000DD18                                   #  **********************************************************************
                    330:  319  0000DD18                                   #  *
                    331:  320  0000DD18                                   #  *  SET UP TO TEST INTEGER OVERFLOW WITH THE MULL2 INSTRUCTION
                    332:  321  0000DD18                                   #  *
                    333:  322  0000DD18                                   #  **********************************************************************
                    334:  323  0000DD18                                   # */
                    335:  324  0000DD18                                   # run_mull2()
                    336:  325  0000DD18                                   # {
                    337:  326  0000DD18    13 0093                              jbr     L429
                    338:  327  0000DD1B                                  L430:
                    339:  328  0000DD1B                                   #     valid_test = TRUE;              /* a test is being run */
                    340:  329  0000DD1B    0d 01 effffffd8e                     movl    $1,_valid_test
                    341:  330  0000DD22                                   #     op_code   =  MULL2_OP_CODE;     /* set the inst's op_code */
                    342:  331  0000DD22    0d 884c effffffd86                   movl    $76,_op_code
                    343:  332  0000DD2A                                   #     op_name   =  "MULL2 ";          /* set the inst's name */
                    344:  333  0000DD2A                                         .data   1
                    345:  334  00000440 *                                L431:
                    346:  335  00000440 *  4D554C4C322000                       .ascii  "MULL2 \0"
                    347:  336  00000447 *                                       .text
                    348:  337  0000DD2A    0d 8f00000440 effffffd7b             movl    $L431,_op_name
                    349:  338  0000DD35                                   #     precision =  SGL;
                    350:  339  0000DD35    0d 01 effffffd74                     movl    $1,_precision
                    351:  340  0000DD3C                                   #     acc_ld_size = DBL;              /* load a double precision Acc. */
                    352:  341  0000DD3C    0d 02 effffffd6d                     movl    $2,_acc_ld_size
                    353:  342  0000DD43                                   #     sgl_op    =  TRUE;
                    354:  343  0000DD43    0d 01 effffffd66                     movl    $1,_sgl_op
                    355:  344  0000DD4A                                   #     no_ops    =  2;                 /* two operands */
                    356:  345  0000DD4A    0d 02 effffffd5f                     movl    $2,_no_ops
                    357:  346  0000DD51                                   #     data_ptr  =  mull_ov_dat;       /* set the data ptr */
                    358:  347  0000DD51    0d 8f00000000 effffffd54             movl    $_mull_ov_dat,_data_ptr
                    359:  348  0000DD5C                                   #     max_index =  mull_ov_cnt;       /* set the max index */
                    360:  349  0000DD5C    0d effffffd4e effffffd49             movl    _mull_ov_cnt,_max_index
                    361:  350  0000DD67                                   #     if( (prt_hdrs) && (cycle == 1) ) 
                    362:  351  0000DD67    5d effffffd43                        tstl    _prt_hdrs
                    363:  352  0000DD6D    31 16                                jeql    L432
                    364:  353  0000DD6F    1d effffffd3b 01                     cmpl    _cycle,$1
                    365:  354  0000DD76    21 0d                                jneq    L432
                    366:  355  0000DD78                                   #          writes( op_name );
                    367:  356  0000DD78    dd effffffd32                        pushl   _op_name
                    368:  357  0000DD7E    fe 08 effffffd2b                     callf   $8,_writes
                    369:  358  0000DD85                                   #     disable_mask = 0;               /* don't disable any events   */
                    370:  359  0000DD85                                  L432:
                    371:  360  0000DD85    4b effffffd25                        clrw    _disable_mask
                    372:  361  0000DD8B                                   #     evt_disabled = FALSE;           /* expected event is enabled  */
                    373:  362  0000DD8B    4d effffffd1f                        clrl    _evt_disabled
                    374:  363  0000DD91                                   #     test_inst();
                    375:  364  0000DD91    fe 04 effffffd18                     callf   $4,_test_inst
                    376:  365  0000DD98                                   #     disable_mask = PSL_EN_OVFL;     /* disable the int ovfl event */
                    377:  366  0000DD98    7f 20 effffffd11                     cvtlw   $32,_disable_mask
                    378:  367  0000DD9F                                   #     evt_disabled = TRUE;
                    379:  368  0000DD9F    0d 01 effffffd0a                     movl    $1,_evt_disabled
                    380:  369  0000DDA6                                   #     test_inst();
                    381:  370  0000DDA6    fe 04 effffffd03                     callf   $4,_test_inst
                    382:  371  0000DDAD                                   # }
                    383:  372  0000DDAD    40                                   ret#2
                    384:  373  0000DDAE                                         .set    L427,0x0
                    385:  374  0000DDAE                                  L429:
                    386:  375  0000DDAE    13 ff6a                              jbr     L430
                    387:  376  0000DDB1                                         .data
                    388:  377  000003a0 *                                       .text
                    389:  378  0000DDB1    00                                   .align  1
                    390:  379  0000DDB2                                         .globl  _run_mull3
                    391:  380  0000DDB2                                  _run_mull3:
                    392:  381  0000DDB2    0000                                 .word   L433
                    393:  382  0000DDB4                                   # 
                    394:  383  0000DDB4                                   # 
                    395:  384  0000DDB4                                   # 
                    396:  385  0000DDB4                                   # /*
                    397:  386  0000DDB4                                   #  **********************************************************************
                    398:  387  0000DDB4                                   #  *
                    399:  388  0000DDB4                                   #  *  SET UP TO TEST INTEGER OVERFLOW WITH THE MULL3 INSTRUCTION
                    400:  389  0000DDB4                                   #  *
                    401:  390  0000DDB4                                   #  **********************************************************************
                    402:  391  0000DDB4                                   # */
                    403:  392  0000DDB4                                   # run_mull3()
                    404:  393  0000DDB4                                   # {
                    405:  394  0000DDB4    13 0093                              jbr     L435
                    406:  395  0000DDB7                                  L436:
                    407:  396  0000DDB7                                   #     valid_test = TRUE;              /* a test is being run */
                    408:  397  0000DDB7    0d 01 effffffcf2                     movl    $1,_valid_test
                    409:  398  0000DDBE                                   #     op_code   =  MULL3_OP_CODE;     /* set the inst's op_code */
                    410:  399  0000DDBE    0d 885c effffffcea                   movl    $92,_op_code
                    411:  400  0000DDC6                                   #     op_name   =  "MULL3 ";          /* set the inst's name */
                    412:  401  0000DDC6                                         .data   1
                    413:  402  00000447 *                                L437:
                    414:  403  00000447 *  4D554C4C332000                       .ascii  "MULL3 \0"
                    415:  404  0000044e *                                       .text
                    416:  405  0000DDC6    0d 8f00000447 effffffcdf             movl    $L437,_op_name
                    417:  406  0000DDD1                                   #     precision =  SGL;
                    418:  407  0000DDD1    0d 01 effffffcd8                     movl    $1,_precision
                    419:  408  0000DDD8                                   #     acc_ld_size = DBL;              /* load a double precision Acc. */
                    420:  409  0000DDD8    0d 02 effffffcd1                     movl    $2,_acc_ld_size
                    421:  410  0000DDDF                                   #     sgl_op    =  TRUE;
                    422:  411  0000DDDF    0d 01 effffffcca                     movl    $1,_sgl_op
                    423:  412  0000DDE6                                   #     no_ops    =  3;                 /* three operands */
                    424:  413  0000DDE6    0d 03 effffffcc3                     movl    $3,_no_ops
                    425:  414  0000DDED                                   #     data_ptr  =  mull_ov_dat;       /* set the data ptr */
                    426:  415  0000DDED    0d 8f00000000 effffffcb8             movl    $_mull_ov_dat,_data_ptr
                    427:  416  0000DDF8                                   #     max_index =  mull_ov_cnt;       /* set the max index */
                    428:  417  0000DDF8    0d effffffcb2 effffffcad             movl    _mull_ov_cnt,_max_index
                    429:  418  0000DE03                                   #     if( (prt_hdrs) && (cycle == 1) ) 
                    430:  419  0000DE03    5d effffffca7                        tstl    _prt_hdrs
                    431:  420  0000DE09    31 16                                jeql    L438
                    432:  421  0000DE0B    1d effffffc9f 01                     cmpl    _cycle,$1
                    433:  422  0000DE12    21 0d                                jneq    L438
                    434:  423  0000DE14                                   #          writes( op_name );
                    435:  424  0000DE14    dd effffffc96                        pushl   _op_name
                    436:  425  0000DE1A    fe 08 effffffc8f                     callf   $8,_writes
                    437:  426  0000DE21                                   #     disable_mask = 0;               /* don't disable any events   */
                    438:  427  0000DE21                                  L438:
                    439:  428  0000DE21    4b effffffc89                        clrw    _disable_mask
                    440:  429  0000DE27                                   #     evt_disabled = FALSE;           /* expected event is enabled  */
                    441:  430  0000DE27    4d effffffc83                        clrl    _evt_disabled
                    442:  431  0000DE2D                                   #     test_inst();
                    443:  432  0000DE2D    fe 04 effffffc7c                     callf   $4,_test_inst
                    444:  433  0000DE34                                   #     disable_mask = PSL_EN_OVFL;     /* disable the int ovfl event */
                    445:  434  0000DE34    7f 20 effffffc75                     cvtlw   $32,_disable_mask
                    446:  435  0000DE3B                                   #     evt_disabled = TRUE;
                    447:  436  0000DE3B    0d 01 effffffc6e                     movl    $1,_evt_disabled
                    448:  437  0000DE42                                   #     test_inst();
                    449:  438  0000DE42    fe 04 effffffc67                     callf   $4,_test_inst
                    450:  439  0000DE49                                   # }
                    451:  440  0000DE49    40                                   ret#2
                    452:  441  0000DE4A                                         .set    L433,0x0
                    453:  442  0000DE4A                                  L435:
                    454:  443  0000DE4A    13 ff6a                              jbr     L436
                    455:  444  0000DE4D                                         .data
                    456:  445  000003a0 *                                 # 
                    457:  446  000003a0 *                                 # 
                    458:  446  000003a0 *                                 # 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.