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

1.1       root        1:    1  00000000                                  LL0:
                      2:    2  00000000                                         .data
                      3:    3  00000504 *                                       .text
                      4:    4  00000000                                         .align  1
                      5:    5  00000000                                         .globl  _pipe12
                      6:    6  00000000                                  _pipe12:
                      7:    7  00012F00    0000                                 .word   L381
                      8:    8  00012F02                                   # 
                      9:    9  00012F02                                   # 
                     10:   10  00012F02                                   # #include "evt_defs.h"
                     11:   11  00012F02                                   # 
                     12:   12  00012F02                                   # /*
                     13:   13  00012F02                                   #  *********************************************************************
                     14:   14  00012F02                                   #  *  FPP PIPELINED EVENTS TEST #12
                     15:   15  00012F02                                   #  *
                     16:   16  00012F02                                   #  *  This test will execute the following code: "LDD CVDF LDD"
                     17:   17  00012F02                                   #  * with an overflow fault on the CVDF. We will make sure that:
                     18:   18  00012F02                                   #  * 1. The fault is detected, and
                     19:   19  00012F02                                   #  * 2. the 2nd load instruction is not executed.
                     20:   20  00012F02                                   #  *********************************************************************
                     21:   21  00012F02                                   # */
                     22:   22  00012F02                                   # pipe12()
                     23:   23  00012F02                                   # {
                     24:   24  00012F02    13 0125                              jbr     L383
                     25:   25  00012F05                                  L384:
                     26:   26  00012F05                                   #     asm("moval (r13),_pre_event_fp");       /* save the frame pointer */
                     27:   27  00012F05    ed 6d effffffff4              moval (r13),_pre_event_fp
                     28:   28  00012F0C                                   #     asm("moval (r14),_pre_event_sp");       /* save the stack pointer */
                     29:   29  00012F0C    ed 6e efffffffed              moval (r14),_pre_event_sp
                     30:   30  00012F13                                   #     precision = DBL;
                     31:   31  00012F13    0d 02 efffffffe6                     movl    $2,_precision
                     32:   32  00012F1A                                   #     test_event = ARITH_CODE;                /* expect an arithmetic fault */
                     33:   33  00012F1A    0d 34 efffffffdf                     movl    $52,_test_event
                     34:   34  00012F21                                   #     exp_code = FLT_OVFL_CODE;               /*  - specificly underflow    */
                     35:   35  00012F21    0d 04 efffffffd8                     movl    $4,_exp_code
                     36:   36  00012F28                                   #     exp_event = FALSE;                      /* ... but not yet            */
                     37:   37  00012F28    4d efffffffd2                        clrl    _exp_event
                     38:   38  00012F2E                                   #     asm("movab _pipe12_ret,_event_return"); /* set event return address  */
                     39:   39  00012F2E    e9 ef0000009e efffffffc7      movab _pipe12_ret,_event_return
                     40:   40  00012F39                                   #     max_index = cvdf_ov_cnt;                /* set max operand index      */
                     41:   41  00012F39    0d efffffffc1 efffffffbc             movl    _cvdf_ov_cnt,_max_index
                     42:   42  00012F44                                   #     for( index = 0; index < max_index; index++ )
                     43:   43  00012F44    4d efffffffb6                        clrl    _index
                     44:   44  00012F4A                                  L387:
                     45:   45  00012F4A    1d efffffffb0 efffffffab             cmpl    _index,_max_index
                     46:   46  00012F55    91 03 13 00cf                        jgeq    L386
                     47:   47  00012F5A                                   #     {
                     48:   48  00012F5A                                   #          dbl_ld_acc = cvdf_ov_dat[index].op_1;      /* get the Acc data  */
                     49:   49  00012F5A    48 04 efffffff9f 50                  shll    $4,_index,r0
                     50:   50  00012F62    0c 8f00000000 50                     addl2   $_cvdf_ov_dat,r0
                     51:   51  00012F69    0d a004 efffffff93                   movl    4(r0),_dbl_ld_acc+4
                     52:   52  00012F71    0d 60 efffffff88                     movl    (r0),_dbl_ld_acc
                     53:   53  00012F78                                   #          dbl_value_1.m = 0x12345678;                /* dummy load data   */
                     54:   54  00012F78    0d 8f12345678 efffffff7d             movl    $305419896,_dbl_value_1
                     55:   55  00012F83                                   #          dbl_value_1.l = 0xfedcba98;
                     56:   56  00012F83    0d 8ffedcba98 efffffff76             movl    $-19088744,_dbl_value_1+4
                     57:   57  00012F8E                                   #          asm(".globl _pipe12_lp1");
                     58:   58  00012F8E                                  .globl _pipe12_lp1
                     59:   59  00012F8E                                   #          asm("_pipe12_lp1:");
                     60:   60  00012F8E                                  _pipe12_lp1:
                     61:   61  00012F8E                                   #          asm("bispsw $0x60");                       /* enable ovfl&undfl */
                     62:   62  00012F8E    8b 8860                       bispsw $0x60
                     63:   63  00012F91                                   #          asm("ldd _dbl_ld_acc");                    /* load the Acc.     */
                     64:   64  00012F91    07 efffffff69                 ldd _dbl_ld_acc
                     65:   65  00012F97                                   #          exp_event = test_event;                    /* expect event soon */
                     66:   66  00012F97    0d efffffff63 efffffff5e             movl    _test_event,_exp_event
                     67:   67  00012FA2                                   #          asm("cvdf");                               /* trigger the event */
                     68:   68  00012FA2    a6                            cvdf
                     69:   69  00012FA3                                   #          asm("ldd _dbl_value_1");           /* we shouldn't get to here  */
                     70:   70  00012FA3    07 efffffff57                 ldd _dbl_value_1
                     71:   71  00012FA9                                   # /*
                     72:   72  00012FA9                                   #  * If we got to here then there was no event
                     73:   73  00012FA9                                   # */
                     74:   74  00012FA9                                   #          if( force_loop )
                     75:   75  00012FA9    5d efffffff51                        tstl    _force_loop
                     76:   76  00012FAF    31 03                                jeql    L388
                     77:   77  00012FB1                                   #               asm("brw _pipe12_lp1");;      /* loop on the error         */
                     78: Assemb0002A6C0                                   #               asm("brw _pipe12_lp1");;      /* loop on the error         */
                     79: "pipe100012F02 e 78: WARNING: brw: destination label is external
                     80:   78  00012FB1    13 ffda                       brw _pipe12_lp1
                     81:   79  00012FB4                                  L388:
                     82:   80  00012FB4                                   #          exp_event = FALSE;                 /* reset event expected flag */
                     83:   81  00012FB4    4d efffffff46                        clrl    _exp_event
                     84:   82  00012FBA                                   #          asm("bicpsw $0x60");               /* disable ovfl & undfl evts */
                     85:   83  00012FBA    9b 8860                       bicpsw $0x60
                     86:   84  00012FBD                                   #          asm("movl _pre_event_fp,fp");      /* restore the frame pointer */
                     87:   85  00012FBD    0d efffffff3d 5d              movl _pre_event_fp,fp
                     88:   86  00012FC4                                   #          asm("movl _pre_event_sp,sp");      /* restore the stack pointer */
                     89:   87  00012FC4    0d efffffff36 5e              movl _pre_event_sp,sp
                     90:   88  00012FCB                                   #          no_pipe12_evt();;                  /* report the error          */
                     91:   89  00012FCB    fe 04 ef0000005c                     callf   $4,_no_pipe12_evt
                     92:   90  00012FD2                                   # /*
                     93:   91  00012FD2                                   #  * Come here after the event
                     94:   92  00012FD2                                   # */
                     95:   93  00012FD2                                   #          asm(".globl _pipe12_ret");
                     96:   94  00012FD2                                  .globl _pipe12_ret
                     97:   95  00012FD2                                   #          asm("_pipe12_ret:");
                     98:   96  00012FD2                                  _pipe12_ret:
                     99:   97  00012FD2                                   #          asm("movl _pre_event_fp,fp");      /* restore the frame pointer */
                    100:   98  00012FD2    0d efffffff28 5d              movl _pre_event_fp,fp
                    101:   99  00012FD9                                   #          asm("movl _pre_event_sp,sp");      /* restore the stack pointer */
                    102:  100  00012FD9    0d efffffff21 5e              movl _pre_event_sp,sp
                    103:  101  00012FE0                                   #          if( force_loop )
                    104:  102  00012FE0    5d efffffff1a                        tstl    _force_loop
                    105:  103  00012FE6    31 03                                jeql    L390
                    106:  104  00012FE8                                   #               asm("brw _pipe12_lp1");;      /* loop on the error         */
                    107: "pipe100012F02 e 105: WARNING: brw: destination label is external
                    108:  105  00012FE8    13 ffa3                       brw _pipe12_lp1
                    109:  106  00012FEB                                  L390:
                    110:  107  00012FEB                                   #          asm("bicpsw $0x60");               /* disable ovfl & undfl evts */
                    111:  108  00012FEB    9b 8860                       bicpsw $0x60
                    112:  109  00012FEE                                   #          if( (post_evt_acc.m == dbl_value_1.m) &&   /* was the 2nd 'LDD' */
                    113:  110  00012FEE                                   #              (post_evt_acc.l == dbl_value_1.l) )    /*    executed?      */
                    114:  111  00012FEE    1d efffffff0c efffffff07             cmpl    _post_evt_acc,_dbl_value_1
                    115:  112  00012FF9    21 16                                jneq    L391
                    116:  113  00012FFB    1d efffffff03 effffffefe             cmpl    _post_evt_acc+4,_dbl_value_1+4
                    117:  114  00013006    21 09                                jneq    L391
                    118:  115  00013008                                   #               pipe12_queue_er();            /* queue not cleared error   */
                    119:  116  00013008    fe 04 ef00000195                     callf   $4,_pipe12_queue_er
                    120:  117  0001300F                                   #          else if( post_evt_acc.m )          /* was the Acc. cleared?     */
                    121:  118  0001300F    11 0f                                jbr     L393
                    122:  119  00013011                                  L391:
                    123:  120  00013011    5d effffffee9                        tstl    _post_evt_acc
                    124:  121  00013017    31 07                                jeql    L394
                    125:  122  00013019                                   #               bad_pipe12_result();          /* incorrect result error    */
                    126:  123  00013019    fe 04 ef00000090                     callf   $4,_bad_pipe12_result
                    127:  124  00013020                                   #          
                    128:  125  00013020                                   #     }
                    129:  126  00013020                                  L394:
                    130:  127  00013020                                  L393:
                    131:  128  00013020                                  L385:
                    132:  129  00013020    6d effffffeda                        incl    _index
                    133:  130  00013026    13 ff21                              jbr     L387
                    134:  131  00013029                                  L386:
                    135:  132  00013029                                   # }
                    136:  133  00013029    40                                   ret#2
                    137:  134  0001302A                                         .set    L381,0x0
                    138:  135  0001302A                                  L383:
                    139:  136  0001302A    13 fed8                              jbr     L384
                    140:  137  0001302D                                         .data
                    141:  138  00000504 *                                       .text
                    142:  139  0001302D    00                                   .align  1
                    143:  140  0001302E                                         .globl  _no_pipe12_evt
                    144:  141  0001302E                                  _no_pipe12_evt:
                    145:  142  0001302E    0000                                 .word   L396
                    146:  143  00013030                                   # 
                    147:  144  00013030                                   # 
                    148:  145  00013030                                   # 
                    149:  146  00013030                                   # /****************************************************************************
                    150:  147  00013030                                   # *           Report an "EVENT NOT DETECTED" error
                    151:  148  00013030                                   # *
                    152:  149  00013030                                   # * Cycle: xx. EVT test xx. subtest xx. No overflow fault seen. index = xx
                    153:  150  00013030                                   # * inst = LDD op1, CVDF, LDD op2    (overflow fault on the CVDF)
                    154:  151  00013030                                   # * op1 = xxxxxxxx xxxxxxxx
                    155:  152  00013030                                   # ****************************************************************************/
                    156:  153  00013030                                   # no_pipe12_evt()
                    157:  154  00013030                                   # {
                    158:  155  00013030    11 7b                                jbr     L398
                    159:  156  00013032                                  L399:
                    160:  157  00013032                                   #     errcnt++;                               /* bump the error count    */
                    161:  158  00013032    6d effffffec8                        incl    _errcnt
                    162:  159  00013038                                   #     if ( prt_error ) 
                    163:  160  00013038    5d effffffec2                        tstl    _prt_error
                    164:  161  0001303E    31 46                                jeql    L400
                    165:  162  00013040                                   #     {
                    166:  163  00013040                                   #          print_pipe12_er( ". No overflow fault seen." );
                    167:  164  00013040                                         .data   1
                    168:  165  00000504 *                                L402:
                    169:  166  00000504 *  2E204E6F206F766572666C6F7            .ascii  ". No overflow fault seen.\0"
                    170:                   7206661756C74207365656E2E
                    171:                   00
                    172:  167  0000051e *                                       .text
                    173:  168  00013040    dd 8f00000504                        pushl   $L402
                    174:  169  00013046    fe 08 ef00000273                     callf   $8,_print_pipe12_er
                    175:  170  0001304D                                   #          writes("op1 = ");
                    176:  171  0001304D                                         .data   1
                    177:  172  0000051e *                                L404:
                    178:  173  0000051e *  6F7031203D2000                       .ascii  "op1 = \0"
                    179:  174  00000525 *                                       .text
                    180:  175  0001304D    dd 8f0000051e                        pushl   $L404
                    181:  176  00013053    fe 08 effffffea6                     callf   $8,_writes
                    182:  177  0001305A                                   #          write32h( dbl_ld_acc.m );
                    183:  178  0001305A    dd effffffea0                        pushl   _dbl_ld_acc
                    184:  179  00013060    fe 08 effffffe99                     callf   $8,_write32h
                    185:  180  00013067                                   #          writec(' ');
                    186:  181  00013067    dd 20                                pushl   $32
                    187:  182  00013069    fe 08 effffffe90                     callf   $8,_writec
                    188:  183  00013070                                   #          write32h( dbl_ld_acc.l );
                    189:  184  00013070    dd effffffe8e                        pushl   _dbl_ld_acc+4
                    190:  185  00013076    fe 08 effffffe83                     callf   $8,_write32h
                    191:  186  0001307D                                   #          writec('\n');
                    192:  187  0001307D    dd 0a                                pushl   $10
                    193:  188  0001307F    fe 08 effffffe7a                     callf   $8,_writec
                    194:  189  00013086                                   #     }
                    195:  190  00013086                                   #     if ( halt_flg )                         /* halt on error?          */
                    196:  191  00013086                                  L400:
                    197:  192  00013086    5d effffffe74                        tstl    _halt_flg
                    198:  193  0001308C    31 09                                jeql    L407
                    199:  194  0001308E                                   #          pipe12_halt( 1 );                  /* halt with a code of 1   */
                    200:  195  0001308E    dd 01                                pushl   $1
                    201:  196  00013090    fe 08 ef000002c7                     callf   $8,_pipe12_halt
                    202:  197  00013097                                   #     if ( loop_on_err ) 
                    203:  198  00013097                                  L407:
                    204:  199  00013097    5d effffffe63                        tstl    _loop_on_err
                    205:  200  0001309D    31 0d                                jeql    L409
                    206:  201  0001309F                                   #     {
                    207:  202  0001309F                                   #          force_loop = TRUE;                 /* set the force loop flag */
                    208:  203  0001309F    0d 01 effffffe5a                     movl    $1,_force_loop
                    209:  204  000130A6                                   #          asm("jmp _pipe12_lp1");            /* and loop                */
                    210:  205  000130A6    71 effffffee2                 jmp _pipe12_lp1
                    211:  206  000130AC                                   #     };
                    212:  207  000130AC                                  L409:
                    213:  208  000130AC                                   # }
                    214:  209  000130AC    40                                   ret#2
                    215:  210  000130AD                                         .set    L396,0x0
                    216:  211  000130AD                                  L398:
                    217:  212  000130AD    11 83                                jbr     L399
                    218:  213  000130AF                                         .data
                    219:  214  00000504 *                                       .text
                    220:  215  000130AF    00                                   .align  1
                    221:  216  000130B0                                         .globl  _bad_pipe12_result
                    222:  217  000130B0                                  _bad_pipe12_result:
                    223:  218  000130B0    0000                                 .word   L410
                    224:  219  000130B2                                   # 
                    225:  220  000130B2                                   # 
                    226:  221  000130B2                                   # 
                    227:  222  000130B2                                   # 
                    228:  223  000130B2                                   # /****************************************************************************
                    229:  224  000130B2                                   # *           Report an "BAD ACCUMULATOR AFTER THE EVENT" error
                    230:  225  000130B2                                   # *
                    231:  226  000130B2                                   # * Cycle: xx. EVT test xx. subtest xx. Bad final Accumulator. index = xx
                    232:  227  000130B2                                   # * inst = LDD op1, CVDF, LDD op2    (overflow fault on the CVDF)
                    233:  228  000130B2                                   # * The 2nd LOAD DOUBLE instruction should not be executed.
                    234:  229  000130B2                                   # * op1 = xxxxxxxx xxxxxxxx, final Acc. = xxxxxxxx
                    235:  230  000130B2                                   # * op2 = xxxxxxxx xxxxxxxx,   expected = xxxxxxxx 
                    236:  231  000130B2                                   # ****************************************************************************/
                    237:  232  000130B2                                   # bad_pipe12_result()
                    238:  233  000130B2                                   # {
                    239:  234  000130B2    13 00eb                              jbr     L412
                    240:  235  000130B5                                  L413:
                    241:  236  000130B5                                   #     errcnt++;                               /* bump the error count    */
                    242:  237  000130B5    6d effffffe45                        incl    _errcnt
                    243:  238  000130BB                                   #     if ( prt_error ) 
                    244:  239  000130BB    5d effffffe3f                        tstl    _prt_error
                    245:  240  000130C1    21 03 13 00b3                        jeql    L414
                    246:  241  000130C6                                   #     {
                    247:  242  000130C6                                   #          print_pipe12_er( ". Bad final Accumulator" );
                    248:  243  000130C6                                         .data   1
                    249:  244  00000525 *                                L415:
                    250:  245  00000525 *  2E204261642066696E616C204            .ascii  ". Bad final Accumulator\0"
                    251:                   16363756D756C61746F7200
                    252:  246  0000053d *                                       .text
                    253:  247  000130C6    dd 8f00000525                        pushl   $L415
                    254:  248  000130CC    fe 08 ef000001ed                     callf   $8,_print_pipe12_er
                    255:  249  000130D3                                   #          writes(
                    256:  250  000130D3                                   #           "The 2nd LOAD DOUBLE INSTRUCTION should not be executed\n");
                    257:  251  000130D3                                         .data   1
                    258:  252  0000053d *                                L416:
                    259:  253  0000053d *  54686520326E64204C4F41442            .ascii  "The 2nd LOAD DOUBLE INSTRUCTION should not be executed\12\0"
                    260:                   0444F55424C4520494E535452
                    261:                   554354494F4E2073686F756C6
                    262:                   4206E6F742062652065786563
                    263:                   757465640A00
                    264:  254  00000575 *                                       .text
                    265:  255  000130D3    dd 8f0000053d                        pushl   $L416
                    266:  256  000130D9    fe 08 effffffe20                     callf   $8,_writes
                    267:  257  000130E0                                   #          writes("op1 = ");
                    268:  258  000130E0                                         .data   1
                    269:  259  00000575 *                                L417:
                    270:  260  00000575 *  6F7031203D2000                       .ascii  "op1 = \0"
                    271:  261  0000057c *                                       .text
                    272:  262  000130E0    dd 8f00000575                        pushl   $L417
                    273:  263  000130E6    fe 08 effffffe13                     callf   $8,_writes
                    274:  264  000130ED                                   #          write32h( dbl_ld_acc.m );
                    275:  265  000130ED    dd effffffe0d                        pushl   _dbl_ld_acc
                    276:  266  000130F3    fe 08 effffffe06                     callf   $8,_write32h
                    277:  267  000130FA                                   #          writec(' ');
                    278:  268  000130FA    dd 20                                pushl   $32
                    279:  269  000130FC    fe 08 effffffdfd                     callf   $8,_writec
                    280:  270  00013103                                   #          write32h( dbl_ld_acc.l );
                    281:  271  00013103    dd effffffdfb                        pushl   _dbl_ld_acc+4
                    282:  272  00013109    fe 08 effffffdf0                     callf   $8,_write32h
                    283:  273  00013110                                   #          writes(", final Acc. = ");
                    284:  274  00013110                                         .data   1
                    285:  275  0000057c *                                L418:
                    286:  276  0000057c *  2C2066696E616C204163632E2            .ascii  ", final Acc. = \0"
                    287:                   03D2000
                    288:  277  0000058c *                                       .text
                    289:  278  00013110    dd 8f0000057c                        pushl   $L418
                    290:  279  00013116    fe 08 effffffde3                     callf   $8,_writes
                    291:  280  0001311D                                   #          write32h( post_evt_acc.m );
                    292:  281  0001311D    dd effffffddd                        pushl   _post_evt_acc
                    293:  282  00013123    fe 08 effffffdd6                     callf   $8,_write32h
                    294:  283  0001312A                                   #          writes("op2 = ");
                    295:  284  0001312A                                         .data   1
                    296:  285  0000058c *                                L419:
                    297:  286  0000058c *  6F7032203D2000                       .ascii  "op2 = \0"
                    298:  287  00000593 *                                       .text
                    299:  288  0001312A    dd 8f0000058c                        pushl   $L419
                    300:  289  00013130    fe 08 effffffdc9                     callf   $8,_writes
                    301:  290  00013137                                   #          write32h( dbl_value_1.m );
                    302:  291  00013137    dd effffffdc3                        pushl   _dbl_value_1
                    303:  292  0001313D    fe 08 effffffdbc                     callf   $8,_write32h
                    304:  293  00013144                                   #          writec(' ');
                    305:  294  00013144    dd 20                                pushl   $32
                    306:  295  00013146    fe 08 effffffdb3                     callf   $8,_writec
                    307:  296  0001314D                                   #          write32h( dbl_value_1.l );
                    308:  297  0001314D    dd effffffdb1                        pushl   _dbl_value_1+4
                    309:  298  00013153    fe 08 effffffda6                     callf   $8,_write32h
                    310:  299  0001315A                                   #          writes(",   expected = ");
                    311:  300  0001315A                                         .data   1
                    312:  301  00000593 *                                L420:
                    313:  302  00000593 *  2C20202065787065637465642            .ascii  ",   expected = \0"
                    314:                   03D2000
                    315:  303  000005a3 *                                       .text
                    316:  304  0001315A    dd 8f00000593                        pushl   $L420
                    317:  305  00013160    fe 08 effffffd99                     callf   $8,_writes
                    318:  306  00013167                                   #          write32h( 0 );             /* expected = floating '0.0' */
                    319:  307  00013167    dd 00                                pushl   $0
                    320:  308  00013169    fe 08 effffffd90                     callf   $8,_write32h
                    321:  309  00013170                                   #          writec('\n');
                    322:  310  00013170    dd 0a                                pushl   $10
                    323:  311  00013172    fe 08 effffffd87                     callf   $8,_writec
                    324:  312  00013179                                   #     }
                    325:  313  00013179                                   #     if ( halt_flg )                         /* halt on error?           */
                    326:  314  00013179                                  L414:
                    327:  315  00013179    5d effffffd81                        tstl    _halt_flg
                    328:  316  0001317F    31 09                                jeql    L421
                    329:  317  00013181                                   #          pipe12_halt( 2 );                  /* halt with a code of 2    */
                    330:  318  00013181    dd 02                                pushl   $2
                    331:  319  00013183    fe 08 ef000001d4                     callf   $8,_pipe12_halt
                    332:  320  0001318A                                   #     if ( loop_on_err ) 
                    333:  321  0001318A                                  L421:
                    334:  322  0001318A    5d effffffd70                        tstl    _loop_on_err
                    335:  323  00013190    31 0d                                jeql    L422
                    336:  324  00013192                                   #     {
                    337:  325  00013192                                   #          force_loop = TRUE;         /* set the force loop flag */
                    338:  326  00013192    0d 01 effffffd67                     movl    $1,_force_loop
                    339:  327  00013199                                   #          asm("jmp _pipe12_lp1");    /* and loop                */
                    340:  328  00013199    71 effffffdef                 jmp _pipe12_lp1
                    341:  329  0001319F                                   #     };
                    342:  330  0001319F                                  L422:
                    343:  331  0001319F                                   # }
                    344:  332  0001319F    40                                   ret#2
                    345:  333  000131A0                                         .set    L410,0x0
                    346:  334  000131A0                                  L412:
                    347:  335  000131A0    13 ff12                              jbr     L413
                    348:  336  000131A3                                         .data
                    349:  337  00000504 *                                       .text
                    350:  338  000131A3    00                                   .align  1
                    351:  339  000131A4                                         .globl  _pipe12_queue_er
                    352:  340  000131A4                                  _pipe12_queue_er:
                    353:  341  000131A4    0000                                 .word   L423
                    354:  342  000131A6                                   # 
                    355:  343  000131A6                                   # 
                    356:  344  000131A6                                   # 
                    357:  345  000131A6                                   # 
                    358:  346  000131A6                                   # 
                    359:  347  000131A6                                   # /****************************************************************************
                    360:  348  000131A6                                   # *           Report an "FPP queue not cleared" message
                    361:  349  000131A6                                   # *
                    362:  350  000131A6                                   # * Cycle: xx. EVT test xx. subtest xx. Fpp queue not cleared. index = xx
                    363:  351  000131A6                                   # * inst = LDD op1, CVDF, LDD op2    (overflow fault on the CVDF)
                    364:  352  000131A6                                   # * The 2nd load double instruction was apparently executed.
                    365:  353  000131A6                                   # * op1 = xxxxxxxx xxxxxxxx, final Acc. = xxxxxxxx xxxxxxxx
                    366:  354  000131A6                                   # * op2 = xxxxxxxx xxxxxxxx,   expected = xxxxxxxx xxxxxxxx
                    367:  355  000131A6                                   # ****************************************************************************/
                    368:  356  000131A6                                   # pipe12_queue_er()
                    369:  357  000131A6                                   # {
                    370:  358  000131A6    13 0113                              jbr     L425
                    371:  359  000131A9                                  L426:
                    372:  360  000131A9                                   #     errcnt++;                               /* bump the error count    */
                    373:  361  000131A9    6d effffffd51                        incl    _errcnt
                    374:  362  000131AF                                   #     if ( prt_error ) 
                    375:  363  000131AF    5d effffffd4b                        tstl    _prt_error
                    376:  364  000131B5    21 03 13 00db                        jeql    L427
                    377:  365  000131BA                                   #     {
                    378:  366  000131BA                                   #          print_pipe12_er( ". Fpp queue not cleared" );
                    379:  367  000131BA                                         .data   1
                    380:  368  000005a3 *                                L428:
                    381:  369  000005a3 *  2E20467070207175657565206            .ascii  ". Fpp queue not cleared\0"
                    382:                   E6F7420636C656172656400
                    383:  370  000005bb *                                       .text
                    384:  371  000131BA    dd 8f000005a3                        pushl   $L428
                    385:  372  000131C0    fe 08 ef000000f9                     callf   $8,_print_pipe12_er
                    386:  373  000131C7                                   #          writes(
                    387:  374  000131C7                                   #           "The 2nd load double instruction was apparently executed.\n");
                    388:  375  000131C7                                         .data   1
                    389:  376  000005bb *                                L429:
                    390:  377  000005bb *  54686520326E64206C6F61642            .ascii  "The 2nd load double instruction was apparently executed.\12\0"
                    391:                   0646F75626C6520696E737472
                    392:                   756374696F6E2077617320617
                    393:                   0706172656E746C7920657865
                    394:                   63757465642E0A00
                    395:  378  000005f5 *                                       .text
                    396:  379  000131C7    dd 8f000005bb                        pushl   $L429
                    397:  380  000131CD    fe 08 effffffd2c                     callf   $8,_writes
                    398:  381  000131D4                                   #          writes("op1 = ");
                    399:  382  000131D4                                         .data   1
                    400:  383  000005f5 *                                L430:
                    401:  384  000005f5 *  6F7031203D2000                       .ascii  "op1 = \0"
                    402:  385  000005fc *                                       .text
                    403:  386  000131D4    dd 8f000005f5                        pushl   $L430
                    404:  387  000131DA    fe 08 effffffd1f                     callf   $8,_writes
                    405:  388  000131E1                                   #          write32h( dbl_ld_acc.m );
                    406:  389  000131E1    dd effffffd19                        pushl   _dbl_ld_acc
                    407:  390  000131E7    fe 08 effffffd12                     callf   $8,_write32h
                    408:  391  000131EE                                   #          writec(' ');
                    409:  392  000131EE    dd 20                                pushl   $32
                    410:  393  000131F0    fe 08 effffffd09                     callf   $8,_writec
                    411:  394  000131F7                                   #          write32h( dbl_ld_acc.l );
                    412:  395  000131F7    dd effffffd07                        pushl   _dbl_ld_acc+4
                    413:  396  000131FD    fe 08 effffffcfc                     callf   $8,_write32h
                    414:  397  00013204                                   #          writes(", final Acc. = ");
                    415:  398  00013204                                         .data   1
                    416:  399  000005fc *                                L431:
                    417:  400  000005fc *  2C2066696E616C204163632E2            .ascii  ", final Acc. = \0"
                    418:                   03D2000
                    419:  401  0000060c *                                       .text
                    420:  402  00013204    dd 8f000005fc                        pushl   $L431
                    421:  403  0001320A    fe 08 effffffcef                     callf   $8,_writes
                    422:  404  00013211                                   #          write32h( post_evt_acc.m );
                    423:  405  00013211    dd effffffce9                        pushl   _post_evt_acc
                    424:  406  00013217    fe 08 effffffce2                     callf   $8,_write32h
                    425:  407  0001321E                                   #          writec(' ');
                    426:  408  0001321E    dd 20                                pushl   $32
                    427:  409  00013220    fe 08 effffffcd9                     callf   $8,_writec
                    428:  410  00013227                                   #          write32h( post_evt_acc.l );
                    429:  411  00013227    dd effffffcd7                        pushl   _post_evt_acc+4
                    430:  412  0001322D    fe 08 effffffccc                     callf   $8,_write32h
                    431:  413  00013234                                   #          writes("\nop2 = ");
                    432:  414  00013234                                         .data   1
                    433:  415  0000060c *                                L432:
                    434:  416  0000060c *  0A6F7032203D2000                     .ascii  "\12op2 = \0"
                    435:  417  00000614 *                                       .text
                    436:  418  00013234    dd 8f0000060c                        pushl   $L432
                    437:  419  0001323A    fe 08 effffffcbf                     callf   $8,_writes
                    438:  420  00013241                                   #          write32h( dbl_value_1.m );
                    439:  421  00013241    dd effffffcb9                        pushl   _dbl_value_1
                    440:  422  00013247    fe 08 effffffcb2                     callf   $8,_write32h
                    441:  423  0001324E                                   #          writec(' ');
                    442:  424  0001324E    dd 20                                pushl   $32
                    443:  425  00013250    fe 08 effffffca9                     callf   $8,_writec
                    444:  426  00013257                                   #          write32h( dbl_value_1.l );
                    445:  427  00013257    dd effffffca7                        pushl   _dbl_value_1+4
                    446:  428  0001325D    fe 08 effffffc9c                     callf   $8,_write32h
                    447:  429  00013264                                   #          writes(",   expected = ");
                    448:  430  00013264                                         .data   1
                    449:  431  00000614 *                                L433:
                    450:  432  00000614 *  2C20202065787065637465642            .ascii  ",   expected = \0"
                    451:                   03D2000
                    452:  433  00000624 *                                       .text
                    453:  434  00013264    dd 8f00000614                        pushl   $L433
                    454:  435  0001326A    fe 08 effffffc8f                     callf   $8,_writes
                    455:  436  00013271                                   #          write32h( 0x );                    /* expected = floating '0' */
                    456:  437  00013271    dd 00                                pushl   $0
                    457:  438  00013273    fe 08 effffffc86                     callf   $8,_write32h
                    458:  439  0001327A                                   #          writec(' ');
                    459:  440  0001327A    dd 20                                pushl   $32
                    460:  441  0001327C    fe 08 effffffc7d                     callf   $8,_writec
                    461:  442  00013283                                   #          write32h( 0 );
                    462:  443  00013283    dd 00                                pushl   $0
                    463:  444  00013285    fe 08 effffffc74                     callf   $8,_write32h
                    464:  445  0001328C                                   #          writec('\n');
                    465:  446  0001328C    dd 0a                                pushl   $10
                    466:  447  0001328E    fe 08 effffffc6b                     callf   $8,_writec
                    467:  448  00013295                                   #     }
                    468:  449  00013295                                   #     if ( halt_flg )                         /* halt on error?           */
                    469:  450  00013295                                  L427:
                    470:  451  00013295    5d effffffc65                        tstl    _halt_flg
                    471:  452  0001329B    31 09                                jeql    L434
                    472:  453  0001329D                                   #          pipe12_halt( 3 );                  /* halt with a code of 3    */
                    473:  454  0001329D    dd 03                                pushl   $3
                    474:  455  0001329F    fe 08 ef000000b8                     callf   $8,_pipe12_halt
                    475:  456  000132A6                                   #     if ( loop_on_err ) 
                    476:  457  000132A6                                  L434:
                    477:  458  000132A6    5d effffffc54                        tstl    _loop_on_err
                    478:  459  000132AC    31 0d                                jeql    L435
                    479:  460  000132AE                                   #     {
                    480:  461  000132AE                                   #          force_loop = TRUE;         /* set the force loop flag */
                    481:  462  000132AE    0d 01 effffffc4b                     movl    $1,_force_loop
                    482:  463  000132B5                                   #          asm("jmp _pipe12_lp1");    /* and loop                */
                    483:  464  000132B5    71 effffffcd3                 jmp _pipe12_lp1
                    484:  465  000132BB                                   #     };
                    485:  466  000132BB                                  L435:
                    486:  467  000132BB                                   # }
                    487:  468  000132BB    40                                   ret#2
                    488:  469  000132BC                                         .set    L423,0x0
                    489:  470  000132BC                                  L425:
                    490:  471  000132BC    13 feea                              jbr     L426
                    491:  472  000132BF                                         .data
                    492:  473  00000504 *                                       .text
                    493:  474  000132BF    00                                   .align  1
                    494:  475  000132C0                                         .globl  _print_pipe12_er
                    495:  476  000132C0                                  _print_pipe12_er:
                    496:  477  000132C0    0000                                 .word   L436
                    497:  478  000132C2                                   # 
                    498:  479  000132C2                                   # 
                    499:  480  000132C2                                   # 
                    500:  481  000132C2                                   # 
                    501:  482  000132C2                                   # /****************************************************************************
                    502:  483  000132C2                                   # *           Report an error message of the form:
                    503:  484  000132C2                                   # *
                    504:  485  000132C2                                   # * Cycle: xx. EVT test xx. subtest xx. <your message here> index = xx
                    505:  486  000132C2                                   # * inst = LDD op1, CVDF, LDD op2    (overflow fault on the CVDF)
                    506:  487  000132C2                                   # ****************************************************************************/
                    507:  488  000132C2                                   # print_pipe12_er( msg )
                    508:  489  000132C2                                   # char *msg;                                  /* error message to print   */
                    509:  490  000132C2                                   # {
                    510:  491  000132C2    13 0096                              jbr     L438
                    511:  492  000132C5                                  L439:
                    512:  493  000132C5                                   #          if( errcnt == 1 )                  /* 1st error?               */
                    513:  494  000132C5    1d effffffc35 01                     cmpl    _errcnt,$1
                    514:  495  000132CC    21 0d                                jneq    L440
                    515:  496  000132CE                                   #               writes(" \n");                /* start a new print line   */
                    516:  497  000132CE                                         .data   1
                    517:  498  00000624 *                                L441:
                    518:  499  00000624 *  200A00                               .ascii  " \12\0"
                    519:  500  00000627 *                                       .text
                    520:  501  000132CE    dd 8f00000624                        pushl   $L441
                    521:  502  000132D4    fe 08 effffffc25                     callf   $8,_writes
                    522:  503  000132DB                                   #          writes("Cycle: ");
                    523:  504  000132DB                                  L440:
                    524:  505  000132DB                                         .data   1
                    525:  506  00000627 *                                L442:
                    526:  507  00000627 *  4379636C653A2000                     .ascii  "Cycle: \0"
                    527:  508  0000062f *                                       .text
                    528:  509  000132DB    dd 8f00000627                        pushl   $L442
                    529:  510  000132E1    fe 08 effffffc18                     callf   $8,_writes
                    530:  511  000132E8                                   #          writed( cycle );
                    531:  512  000132E8    dd effffffc12                        pushl   _cycle
                    532:  513  000132EE    fe 08 effffffc0b                     callf   $8,_writed
                    533:  514  000132F5                                   #          writes("  EVT test ");
                    534:  515  000132F5                                         .data   1
                    535:  516  0000062f *                                L444:
                    536:  517  0000062f *  202045565420746573742000             .ascii  "  EVT test \0"
                    537:  518  0000063b *                                       .text
                    538:  519  000132F5    dd 8f0000062f                        pushl   $L444
                    539:  520  000132FB    fe 08 effffffbfe                     callf   $8,_writes
                    540:  521  00013302                                   #          writed( test_no );
                    541:  522  00013302    dd effffffbf8                        pushl   _test_no
                    542:  523  00013308    fe 08 effffffbf1                     callf   $8,_writed
                    543:  524  0001330F                                   #          writes(". subtest ");
                    544:  525  0001330F                                         .data   1
                    545:  526  0000063b *                                L445:
                    546:  527  0000063b *  2E20737562746573742000               .ascii  ". subtest \0"
                    547:  528  00000646 *                                       .text
                    548:  529  0001330F    dd 8f0000063b                        pushl   $L445
                    549:  530  00013315    fe 08 effffffbe4                     callf   $8,_writes
                    550:  531  0001331C                                   #          writed( subtest );
                    551:  532  0001331C    dd effffffbde                        pushl   _subtest
                    552:  533  00013322    fe 08 effffffbd7                     callf   $8,_writed
                    553:  534  00013329                                   #          writes( msg );                     /* print the message */
                    554:  535  00013329    dd ad04                              pushl   4(fp)
                    555:  536  0001332C    fe 08 effffffbcd                     callf   $8,_writes
                    556:  537  00013333                                   #          writes(" index = ");
                    557:  538  00013333                                         .data   1
                    558:  539  00000646 *                                L446:
                    559:  540  00000646 *  20696E646578203D2000                 .ascii  " index = \0"
                    560:  541  00000650 *                                       .text
                    561:  542  00013333    dd 8f00000646                        pushl   $L446
                    562:  543  00013339    fe 08 effffffbc0                     callf   $8,_writes
                    563:  544  00013340                                   #          writed( index );
                    564:  545  00013340    dd effffffbba                        pushl   _index
                    565:  546  00013346    fe 08 effffffbb3                     callf   $8,_writed
                    566:  547  0001334D                                   #          writes(
                    567:  548  0001334D                                   #           "\ninst = LDD op1, CVDF, LDD op2    (overflow fault on the CVDF)\n");
                    568:  549  0001334D                                         .data   1
                    569:  550  00000650 *                                L447:
                    570:  551  00000650 *  0A696E7374203D204C4444206            .ascii  "\12inst = LDD op1, CVDF, LDD op2    (overflow fault on the CVDF)\12\0"
                    571:                   F70312C20435644462C204C44
                    572:                   44206F703220202020286F766
                    573:                   572666C6F77206661756C7420
                    574:                   6F6E207468652043564446290
                    575:                   A00
                    576:  552  00000690 *                                       .text
                    577:  553  0001334D    dd 8f00000650                        pushl   $L447
                    578:  554  00013353    fe 08 effffffba6                     callf   $8,_writes
                    579:  555  0001335A                                   # }
                    580:  556  0001335A    40                                   ret#2
                    581:  557  0001335B                                         .set    L436,0x0
                    582:  558  0001335B                                  L438:
                    583:  559  0001335B    13 ff67                              jbr     L439
                    584:  560  0001335E                                         .data
                    585:  561  00000504 *                                       .text
                    586:  562  0001335E                                         .align  1
                    587:  563  0001335E                                         .globl  _pipe12_halt
                    588:  564  0001335E                                  _pipe12_halt:
                    589:  565  0001335E    0000                                 .word   L448
                    590:  566  00013360                                   # 
                    591:  567  00013360                                   # 
                    592:  568  00013360                                   # 
                    593:  569  00013360                                   # /****************************************************************************
                    594:  570  00013360                                   # *           halt on error routine
                    595:  571  00013360                                   # ****************************************************************************/
                    596:  572  00013360                                   # pipe12_halt( code )
                    597:  573  00013360                                   # int code;                           /* error code to halt with */
                    598:  574  00013360                                   # {
                    599:  575  00013360    13 009b                              jbr     L450
                    600:  576  00013363                                  L451:
                    601:  577  00013363                                   #     err_code = code;
                    602:  578  00013363    0d ad04 effffffb95                   movl    4(fp),_err_code
                    603:  579  0001336B                                   #     sgl_value_1 = dbl_ld_acc.m;
                    604:  580  0001336B    0d effffffb8f effffffb8a             movl    _dbl_ld_acc,_sgl_value_1
                    605:  581  00013376                                   #     sgl_value_2 = dbl_ld_acc.l;
                    606:  582  00013376    0d effffffb88 effffffb7f             movl    _dbl_ld_acc+4,_sgl_value_2
                    607:  583  00013381                                   #     sgl_value_3 = dbl_value_1.m;
                    608:  584  00013381    0d effffffb79 effffffb74             movl    _dbl_value_1,_sgl_value_3
                    609:  585  0001338C                                   #     sgl_value_4 = dbl_value_1.l;
                    610:  586  0001338C    0d effffffb72 effffffb69             movl    _dbl_value_1+4,_sgl_value_4
                    611:  587  00013397                                   #     sgl_value_5 = post_evt_acc.m;
                    612:  588  00013397    0d effffffb63 effffffb5e             movl    _post_evt_acc,_sgl_value_5
                    613:  589  000133A2                                   #     sgl_value_6 = post_evt_acc.l;
                    614:  590  000133A2    0d effffffb5c effffffb53             movl    _post_evt_acc+4,_sgl_value_6
                    615:  591  000133AD                                   #     asm("movl _test_no,r0");                /* r0  = test number       */
                    616:  592  000133AD    0d effffffb4d 50              movl _test_no,r0
                    617:  593  000133B4                                   #     asm("movl _subtest,r1");                /* r1  = subtest number    */
                    618:  594  000133B4    0d effffffb46 51              movl _subtest,r1
                    619:  595  000133BB                                   #     asm("movl _err_code,r2");               /* r2  = error code        */
                    620:  596  000133BB    0d effffffb3f 52              movl _err_code,r2
                    621:  597  000133C2                                   #     asm("movl _cycle,r3");                  /* r3  = cycle count       */
                    622:  598  000133C2    0d effffffb38 53              movl _cycle,r3
                    623:  599  000133C9                                   #     asm("movl _sgl_value_1,r4");            /* r4  = MSW of 1st load.  */
                    624:  600  000133C9    0d effffffb31 54              movl _sgl_value_1,r4
                    625:  601  000133D0                                   #     asm("movl _sgl_value_2,r5");            /* r5  = LSW of 1st load.  */
                    626:  602  000133D0    0d effffffb2a 55              movl _sgl_value_2,r5
                    627:  603  000133D7                                   #     asm("movl _sgl_value_3,r6");            /* r6  = MSW of 2nd load.  */
                    628:  604  000133D7    0d effffffb23 56              movl _sgl_value_3,r6
                    629:  605  000133DE                                   #     asm("movl _sgl_value_4,r7");            /* r7  = LSW of 2nd load.  */
                    630:  606  000133DE    0d effffffb1c 57              movl _sgl_value_4,r7
                    631:  607  000133E5                                   #     asm("movl _sgl_value_5,r8");            /* r8  = MSW of final Acc. */
                    632:  608  000133E5    0d effffffb15 58              movl _sgl_value_5,r8
                    633:  609  000133EC                                   #     asm("movl _sgl_value_6,r9");            /* r9  = LSW of final Acc. */
                    634:  610  000133EC    0d effffffb0e 59              movl _sgl_value_6,r9
                    635:  611  000133F3                                   #     asm("clrl r10");                        /* r10 = expected ( '0' )  */
                    636:  612  000133F3    4d 5a                         clrl r10
                    637:  613  000133F5                                   #     asm("movl _index,r11");                 /* r11 = data index        */
                    638:  614  000133F5    0d effffffb05 5b              movl _index,r11
                    639:  615  000133FC                                   #     asm("halt");                            /* HALT ...                */
                    640:  616  000133FC    00                            halt
                    641:  617  000133FD                                   # }
                    642:  618  000133FD    40                                   ret#2
                    643:  619  000133FE                                         .set    L448,0x0
                    644:  620  000133FE                                  L450:
                    645:  621  000133FE    13 ff62                              jbr     L451
                    646:  622  00013401                                         .data
                    647:  622  00026301                                         .data

unix.superglobalmegacorp.com

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