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

1.1       root        1:    1  00000000                                  LL0:
                      2:    2  00000000                                         .data
                      3:    3  00000560 *                                       .text
                      4:    4  00000000                                         .align  1
                      5:    5  00000000                                         .globl  _pipe10
                      6:    6  00000000                                  _pipe10:
                      7:    7  00012514    0000                                 .word   L381
                      8:    8  00012516                                   # 
                      9:    9  00012516                                   # #include "evt_defs.h"
                     10:   10  00012516                                   # 
                     11:   11  00012516                                   # /*
                     12:   12  00012516                                   #  *********************************************************************
                     13:   13  00012516                                   #  *  FPP PIPELINED EVENTS TEST #10
                     14:   14  00012516                                   #  *
                     15:   15  00012516                                   #  *  This test will execute the following code: "LDD MULD CVLF $2"
                     16:   16  00012516                                   #  * with an underflow fault on the MULD. We will make sure that:
                     17:   17  00012516                                   #  * 1. The fault is detected, and
                     18:   18  00012516                                   #  * 2. the convert instruction is not executed.
                     19:   19  00012516                                   #  *********************************************************************
                     20:   20  00012516                                   # */
                     21:   21  00012516                                   # pipe10()
                     22:   22  00012516                                   # {
                     23:   23  00012516    13 0129                              jbr     L383
                     24:   24  00012519                                  L384:
                     25:   25  00012519                                   #     asm("moval (r13),_pre_event_fp");       /* save the frame pointer */
                     26:   26  00012519    ed 6d effffffff4              moval (r13),_pre_event_fp
                     27:   27  00012520                                   #     asm("moval (r14),_pre_event_sp");       /* save the stack pointer */
                     28:   28  00012520    ed 6e efffffffed              moval (r14),_pre_event_sp
                     29:   29  00012527                                   #     precision = DBL;
                     30:   30  00012527    0d 02 efffffffe6                     movl    $2,_precision
                     31:   31  0001252E                                   #     test_event = ARITH_CODE;                /* expect an arithmetic fault */
                     32:   32  0001252E    0d 34 efffffffdf                     movl    $52,_test_event
                     33:   33  00012535                                   #     exp_code = FLT_UNDFL_CODE;              /*  - specificly underflow    */
                     34:   34  00012535    0d 05 efffffffd8                     movl    $5,_exp_code
                     35:   35  0001253C                                   #     exp_event = FALSE;                      /* ... but not yet            */
                     36:   36  0001253C    4d efffffffd2                        clrl    _exp_event
                     37:   37  00012542                                   #     asm("movab _pipe10_ret,_event_return"); /* set event return address  */
                     38:   38  00012542    e9 ef000000a7 efffffffc7      movab _pipe10_ret,_event_return
                     39:   39  0001254D                                   #     max_index = mud_u_cnt;                  /* set max operand index      */
                     40:   40  0001254D    0d efffffffc1 efffffffbc             movl    _mud_u_cnt,_max_index
                     41:   41  00012558                                   #     for( index = 0; index < max_index; index++ )
                     42:   42  00012558    4d efffffffb6                        clrl    _index
                     43:   43  0001255E                                  L387:
                     44:   44  0001255E    1d efffffffb0 efffffffab             cmpl    _index,_max_index
                     45:   45  00012569    91 03 13 00d3                        jgeq    L386
                     46:   46  0001256E                                   #     {
                     47:   47  0001256E                                   #          dbl_ld_acc = mud_u_dat[index].op_1;        /* get the Acc data  */
                     48:   48  0001256E    48 04 efffffff9f 50                  shll    $4,_index,r0
                     49:   49  00012576    0c 8f00000000 50                     addl2   $_mud_u_dat,r0
                     50:   50  0001257D    0d a004 efffffff93                   movl    4(r0),_dbl_ld_acc+4
                     51:   51  00012585    0d 60 efffffff88                     movl    (r0),_dbl_ld_acc
                     52:   52  0001258C                                   #          dbl_value_1 = mud_u_dat[index].op_2;       /* get the B operand */
                     53:   53  0001258C    48 04 efffffff81 50                  shll    $4,_index,r0
                     54:   54  00012594    0c 8f00000008 50                     addl2   $_mud_u_dat+8,r0
                     55:   55  0001259B    0d a004 efffffff75                   movl    4(r0),_dbl_value_1+4
                     56:   56  000125A3    0d 60 efffffff6a                     movl    (r0),_dbl_value_1
                     57:   57  000125AA                                   #          asm("bispsw $0x60");                       /* enable ovfl&undfl */
                     58:   58  000125AA    8b 8860                       bispsw $0x60
                     59:   59  000125AD                                   #          asm(".globl _pipe10_lp1");
                     60:   60  000125AD                                  .globl _pipe10_lp1
                     61:   61  000125AD                                   #          asm("_pipe10_lp1:");
                     62:   62  000125AD                                  _pipe10_lp1:
                     63:   63  000125AD                                   #          asm("ldd _dbl_ld_acc");                    /* load the Acc.     */
                     64:   64  000125AD    07 efffffff61                 ldd _dbl_ld_acc
                     65:   65  000125B3                                   #          exp_event = test_event;                    /* expect event soon */
                     66:   66  000125B3    0d efffffff5b efffffff56             movl    _test_event,_exp_event
                     67:   67  000125BE                                   #          asm("muld _dbl_value_1");                  /* trigger the event */
                     68:   68  000125BE    e7 efffffff50                 muld _dbl_value_1
                     69:   69  000125C4                                   #          asm("cvlf $2");                            /* shouldn't get here*/
                     70:   70  000125C4    76 02                         cvlf $2
                     71:   71  000125C6                                   # /*
                     72:   72  000125C6                                   #  * If we got to here then there was no event
                     73:   73  000125C6                                   # */
                     74:   74  000125C6                                   #          if( force_loop )
                     75:   75  000125C6    5d efffffff48                        tstl    _force_loop
                     76:   76  000125CC    31 03                                jeql    L388
                     77:   77  000125CE                                   #               asm("brw _pipe10_lp1");;      /* loop on the error         */
                     78: Assemb00029CD4                                   #               asm("brw _pipe10_lp1");;      /* loop on the error         */
                     79: "pipe100012514 e 78: WARNING: brw: destination label is external
                     80:   78  000125CE    13 ffdc                       brw _pipe10_lp1
                     81:   79  000125D1                                  L388:
                     82:   80  000125D1                                   #          exp_event = FALSE;                 /* reset event expected flag */
                     83:   81  000125D1    4d efffffff3d                        clrl    _exp_event
                     84:   82  000125D7                                   #          asm("movl _pre_event_fp,fp");      /* restore the frame pointer */
                     85:   83  000125D7    0d efffffff37 5d              movl _pre_event_fp,fp
                     86:   84  000125DE                                   #          asm("movl _pre_event_sp,sp");      /* restore the stack pointer */
                     87:   85  000125DE    0d efffffff30 5e              movl _pre_event_sp,sp
                     88:   86  000125E5                                   #          asm("bicpsw $0x60");               /* disable ovfl & undfl evts */
                     89:   87  000125E5    9b 8860                       bicpsw $0x60
                     90:   88  000125E8                                   #          no_pipe10_evt();;                  /* report the error          */
                     91:   89  000125E8    fe 04 ef00000057                     callf   $4,_no_pipe10_evt
                     92:   90  000125EF                                   # /*
                     93:   91  000125EF                                   #  * Come here after the event
                     94:   92  000125EF                                   # */
                     95:   93  000125EF                                   #          asm(".globl _pipe10_ret");
                     96:   94  000125EF                                  .globl _pipe10_ret
                     97:   95  000125EF                                   #          asm("_pipe10_ret:");
                     98:   96  000125EF                                  _pipe10_ret:
                     99:   97  000125EF                                   #          asm("movl _pre_event_fp,fp");      /* restore the frame pointer */
                    100:   98  000125EF    0d efffffff1f 5d              movl _pre_event_fp,fp
                    101:   99  000125F6                                   #          asm("movl _pre_event_sp,sp");      /* restore the stack pointer */
                    102:  100  000125F6    0d efffffff18 5e              movl _pre_event_sp,sp
                    103:  101  000125FD                                   #          if( force_loop )
                    104:  102  000125FD    5d efffffff11                        tstl    _force_loop
                    105:  103  00012603    31 03                                jeql    L390
                    106:  104  00012605                                   #               asm("brw _pipe10_lp1");;      /* loop on the error         */
                    107: "pipe100012514 e 105: WARNING: brw: destination label is external
                    108:  105  00012605    13 ffa5                       brw _pipe10_lp1
                    109:  106  00012608                                  L390:
                    110:  107  00012608                                   #          asm("bicpsw $0x60");               /* disable ovfl & undfl evts */
                    111:  108  00012608    9b 8860                       bicpsw $0x60
                    112:  109  0001260B                                   #          if( post_evt_acc.m == 0x41000000 ) /* is the Acc. = floating 2? */
                    113:  110  0001260B    1d efffffff03 8f41000000             cmpl    _post_evt_acc,$1090519040
                    114:  111  00012616    21 09                                jneq    L391
                    115:  112  00012618                                   #               pipe10_queue_er();            /* queue not cleared error   */
                    116:  113  00012618    fe 04 ef000001f7                     callf   $4,_pipe10_queue_er
                    117:  114  0001261F                                   #          else if( (post_evt_acc.m) || (post_evt_acc.l) )  /* is Acc = 0? */
                    118:  115  0001261F    11 17                                jbr     L393
                    119:  116  00012621                                  L391:
                    120:  117  00012621    5d effffffeed                        tstl    _post_evt_acc
                    121:  118  00012627    21 08                                jneq    L9999
                    122:  119  00012629    5d effffffee9                        tstl    _post_evt_acc+4
                    123:  120  0001262F    31 07                                jeql    L394
                    124:  121  00012631                                  L9999:
                    125:  122  00012631                                   #               bad_pipe10_result();          /* incorrect result error    */
                    126:  123  00012631    fe 04 ef000000c2                     callf   $4,_bad_pipe10_result
                    127:  124  00012638                                   #          
                    128:  125  00012638                                   #     }
                    129:  126  00012638                                  L394:
                    130:  127  00012638                                  L393:
                    131:  128  00012638                                  L385:
                    132:  129  00012638    6d effffffed6                        incl    _index
                    133:  130  0001263E    13 ff1d                              jbr     L387
                    134:  131  00012641                                  L386:
                    135:  132  00012641                                   # }
                    136:  133  00012641    40                                   ret#2
                    137:  134  00012642                                         .set    L381,0x0
                    138:  135  00012642                                  L383:
                    139:  136  00012642    13 fed4                              jbr     L384
                    140:  137  00012645                                         .data
                    141:  138  00000560 *                                       .text
                    142:  139  00012645    00                                   .align  1
                    143:  140  00012646                                         .globl  _no_pipe10_evt
                    144:  141  00012646                                  _no_pipe10_evt:
                    145:  142  00012646    0000                                 .word   L396
                    146:  143  00012648                                   # 
                    147:  144  00012648                                   # 
                    148:  145  00012648                                   # 
                    149:  146  00012648                                   # /****************************************************************************
                    150:  147  00012648                                   # *           Report an "EVENT NOT DETECTED" error
                    151:  148  00012648                                   # *
                    152:  149  00012648                                   # * Cycle: xx. EVT test xx. subtest xx. index = xx. No underflow fault seen. 
                    153:  150  00012648                                   # * inst = LDD op1, MULD op2, CVLF '2'    (underflow fault on the MULD)
                    154:  151  00012648                                   # * op1 = xxxxxxxx xxxxxxxx,   op2 = xxxxxxxx xxxxxxxx
                    155:  152  00012648                                   # ****************************************************************************/
                    156:  153  00012648                                   # no_pipe10_evt()
                    157:  154  00012648                                   # {
                    158:  155  00012648    13 00ab                              jbr     L398
                    159:  156  0001264B                                  L399:
                    160:  157  0001264B                                   #     errcnt++;                               /* bump the error count    */
                    161:  158  0001264B    6d effffffec3                        incl    _errcnt
                    162:  159  00012651                                   #     if ( prt_error ) 
                    163:  160  00012651    5d effffffebd                        tstl    _prt_error
                    164:  161  00012657    31 76                                jeql    L400
                    165:  162  00012659                                   #     {
                    166:  163  00012659                                   #          print_pipe10_er( ". No underflow fault seen." );
                    167:  164  00012659                                         .data   1
                    168:  165  00000560 *                                L402:
                    169:  166  00000560 *  2E204E6F20756E646572666C6            .ascii  ". No underflow fault seen.\0"
                    170:                   F77206661756C74207365656E
                    171:                   2E00
                    172:  167  0000057b *                                       .text
                    173:  168  00012659    dd 8f00000560                        pushl   $L402
                    174:  169  0001265F    fe 08 ef000002cc                     callf   $8,_print_pipe10_er
                    175:  170  00012666                                   #          writes("op1 = ");
                    176:  171  00012666                                         .data   1
                    177:  172  0000057b *                                L404:
                    178:  173  0000057b *  6F7031203D2000                       .ascii  "op1 = \0"
                    179:  174  00000582 *                                       .text
                    180:  175  00012666    dd 8f0000057b                        pushl   $L404
                    181:  176  0001266C    fe 08 effffffea1                     callf   $8,_writes
                    182:  177  00012673                                   #          write32h( dbl_ld_acc.m );
                    183:  178  00012673    dd effffffe9b                        pushl   _dbl_ld_acc
                    184:  179  00012679    fe 08 effffffe94                     callf   $8,_write32h
                    185:  180  00012680                                   #          writec(' ');
                    186:  181  00012680    dd 20                                pushl   $32
                    187:  182  00012682    fe 08 effffffe8b                     callf   $8,_writec
                    188:  183  00012689                                   #          write32h( dbl_ld_acc.l );
                    189:  184  00012689    dd effffffe89                        pushl   _dbl_ld_acc+4
                    190:  185  0001268F    fe 08 effffffe7e                     callf   $8,_write32h
                    191:  186  00012696                                   #          writes(",   op2 = ");
                    192:  187  00012696                                         .data   1
                    193:  188  00000582 *                                L407:
                    194:  189  00000582 *  2C2020206F7032203D2000               .ascii  ",   op2 = \0"
                    195:  190  0000058d *                                       .text
                    196:  191  00012696    dd 8f00000582                        pushl   $L407
                    197:  192  0001269C    fe 08 effffffe71                     callf   $8,_writes
                    198:  193  000126A3                                   #          write32h( dbl_value_1.m );
                    199:  194  000126A3    dd effffffe6b                        pushl   _dbl_value_1
                    200:  195  000126A9    fe 08 effffffe64                     callf   $8,_write32h
                    201:  196  000126B0                                   #          writec(' ');
                    202:  197  000126B0    dd 20                                pushl   $32
                    203:  198  000126B2    fe 08 effffffe5b                     callf   $8,_writec
                    204:  199  000126B9                                   #          write32h( dbl_value_1.l );
                    205:  200  000126B9    dd effffffe59                        pushl   _dbl_value_1+4
                    206:  201  000126BF    fe 08 effffffe4e                     callf   $8,_write32h
                    207:  202  000126C6                                   #          writec('\n');
                    208:  203  000126C6    dd 0a                                pushl   $10
                    209:  204  000126C8    fe 08 effffffe45                     callf   $8,_writec
                    210:  205  000126CF                                   #     }
                    211:  206  000126CF                                   #     if ( halt_flg )                         /* halt on error?          */
                    212:  207  000126CF                                  L400:
                    213:  208  000126CF    5d effffffe3f                        tstl    _halt_flg
                    214:  209  000126D5    31 09                                jeql    L408
                    215:  210  000126D7                                   #          pipe10_halt( 1 );                  /* halt with a code of 1   */
                    216:  211  000126D7    dd 01                                pushl   $1
                    217:  212  000126D9    fe 08 ef000002f0                     callf   $8,_pipe10_halt
                    218:  213  000126E0                                   #     if ( loop_on_err ) 
                    219:  214  000126E0                                  L408:
                    220:  215  000126E0    5d effffffe2e                        tstl    _loop_on_err
                    221:  216  000126E6    31 0d                                jeql    L410
                    222:  217  000126E8                                   #     {
                    223:  218  000126E8                                   #          force_loop = TRUE;                 /* set the force loop flag */
                    224:  219  000126E8    0d 01 effffffe25                     movl    $1,_force_loop
                    225:  220  000126EF                                   #          asm("jmp _pipe10_lp1");            /* and loop                */
                    226:  221  000126EF    71 effffffeb8                 jmp _pipe10_lp1
                    227:  222  000126F5                                   #     };
                    228:  223  000126F5                                  L410:
                    229:  224  000126F5                                   # }
                    230:  225  000126F5    40                                   ret#2
                    231:  226  000126F6                                         .set    L396,0x0
                    232:  227  000126F6                                  L398:
                    233:  228  000126F6    13 ff52                              jbr     L399
                    234:  229  000126F9                                         .data
                    235:  230  00000560 *                                       .text
                    236:  231  000126F9    00                                   .align  1
                    237:  232  000126FA                                         .globl  _bad_pipe10_result
                    238:  233  000126FA                                  _bad_pipe10_result:
                    239:  234  000126FA    0000                                 .word   L411
                    240:  235  000126FC                                   # 
                    241:  236  000126FC                                   # 
                    242:  237  000126FC                                   # 
                    243:  238  000126FC                                   # 
                    244:  239  000126FC                                   # /****************************************************************************
                    245:  240  000126FC                                   # *           Report an "BAD ACCUMULATOR AFTER THE EVENT" error
                    246:  241  000126FC                                   # *
                    247:  242  000126FC                                   # * Cycle: xx. EVT test xx. subtest xx. index = xx. Bad final Accumulator. 
                    248:  243  000126FC                                   # * inst = LDD op1, MULD op2, CVLF '2'    (underflow fault on the MULD)
                    249:  244  000126FC                                   # * The 'Convert '2' to Floating Point' should not be executed.
                    250:  245  000126FC                                   # * op1 = xxxxxxxx xxxxxxxx, final Acc. = xxxxxxxx xxxxxxxx
                    251:  246  000126FC                                   # * op2 = xxxxxxxx xxxxxxxx,   expected = xxxxxxxx xxxxxxxx
                    252:  247  000126FC                                   # ****************************************************************************/
                    253:  248  000126FC                                   # bad_pipe10_result()
                    254:  249  000126FC                                   # {
                    255:  250  000126FC    13 0113                              jbr     L413
                    256:  251  000126FF                                  L414:
                    257:  252  000126FF                                   #     errcnt++;                               /* bump the error count    */
                    258:  253  000126FF    6d effffffe0f                        incl    _errcnt
                    259:  254  00012705                                   #     if ( prt_error ) 
                    260:  255  00012705    5d effffffe09                        tstl    _prt_error
                    261:  256  0001270B    21 03 13 00db                        jeql    L415
                    262:  257  00012710                                   #     {
                    263:  258  00012710                                   #          print_pipe10_er( ". Bad final Accumulator" );
                    264:  259  00012710                                         .data   1
                    265:  260  0000058d *                                L416:
                    266:  261  0000058d *  2E204261642066696E616C204            .ascii  ". Bad final Accumulator\0"
                    267:                   16363756D756C61746F7200
                    268:  262  000005a5 *                                       .text
                    269:  263  00012710    dd 8f0000058d                        pushl   $L416
                    270:  264  00012716    fe 08 ef00000215                     callf   $8,_print_pipe10_er
                    271:  265  0001271D                                   #          writes(
                    272:  266  0001271D                                   #           "The 'Convert '2' to Floating Point' should not be executed\n");
                    273:  267  0001271D                                         .data   1
                    274:  268  000005a5 *                                L417:
                    275:  269  000005a5 *  5468652027436F6E766572742            .ascii  "The 'Convert '2' to Floating Point' should not be executed\12\0"
                    276:                   027322720746F20466C6F6174
                    277:                   696E6720506F696E742720736
                    278:                   86F756C64206E6F7420626520
                    279:                   65786563757465640A00
                    280:  270  000005e1 *                                       .text
                    281:  271  0001271D    dd 8f000005a5                        pushl   $L417
                    282:  272  00012723    fe 08 effffffdea                     callf   $8,_writes
                    283:  273  0001272A                                   #          writes("op1 = ");
                    284:  274  0001272A                                         .data   1
                    285:  275  000005e1 *                                L418:
                    286:  276  000005e1 *  6F7031203D2000                       .ascii  "op1 = \0"
                    287:  277  000005e8 *                                       .text
                    288:  278  0001272A    dd 8f000005e1                        pushl   $L418
                    289:  279  00012730    fe 08 effffffddd                     callf   $8,_writes
                    290:  280  00012737                                   #          write32h( dbl_ld_acc.m );
                    291:  281  00012737    dd effffffdd7                        pushl   _dbl_ld_acc
                    292:  282  0001273D    fe 08 effffffdd0                     callf   $8,_write32h
                    293:  283  00012744                                   #          writec(' ');
                    294:  284  00012744    dd 20                                pushl   $32
                    295:  285  00012746    fe 08 effffffdc7                     callf   $8,_writec
                    296:  286  0001274D                                   #          write32h( dbl_ld_acc.l );
                    297:  287  0001274D    dd effffffdc5                        pushl   _dbl_ld_acc+4
                    298:  288  00012753    fe 08 effffffdba                     callf   $8,_write32h
                    299:  289  0001275A                                   #          writes(", final Acc. = ");
                    300:  290  0001275A                                         .data   1
                    301:  291  000005e8 *                                L419:
                    302:  292  000005e8 *  2C2066696E616C204163632E2            .ascii  ", final Acc. = \0"
                    303:                   03D2000
                    304:  293  000005f8 *                                       .text
                    305:  294  0001275A    dd 8f000005e8                        pushl   $L419
                    306:  295  00012760    fe 08 effffffdad                     callf   $8,_writes
                    307:  296  00012767                                   #          write32h( post_evt_acc.l );
                    308:  297  00012767    dd effffffdab                        pushl   _post_evt_acc+4
                    309:  298  0001276D    fe 08 effffffda0                     callf   $8,_write32h
                    310:  299  00012774                                   #          writec(' ');
                    311:  300  00012774    dd 20                                pushl   $32
                    312:  301  00012776    fe 08 effffffd97                     callf   $8,_writec
                    313:  302  0001277D                                   #          write32h( post_evt_acc.l );
                    314:  303  0001277D    dd effffffd95                        pushl   _post_evt_acc+4
                    315:  304  00012783    fe 08 effffffd8a                     callf   $8,_write32h
                    316:  305  0001278A                                   #          writes("\nop2 = ");
                    317:  306  0001278A                                         .data   1
                    318:  307  000005f8 *                                L420:
                    319:  308  000005f8 *  0A6F7032203D2000                     .ascii  "\12op2 = \0"
                    320:  309  00000600 *                                       .text
                    321:  310  0001278A    dd 8f000005f8                        pushl   $L420
                    322:  311  00012790    fe 08 effffffd7d                     callf   $8,_writes
                    323:  312  00012797                                   #          write32h( dbl_value_1.m );
                    324:  313  00012797    dd effffffd77                        pushl   _dbl_value_1
                    325:  314  0001279D    fe 08 effffffd70                     callf   $8,_write32h
                    326:  315  000127A4                                   #          writec(' ');
                    327:  316  000127A4    dd 20                                pushl   $32
                    328:  317  000127A6    fe 08 effffffd67                     callf   $8,_writec
                    329:  318  000127AD                                   #          write32h( dbl_value_1.l );
                    330:  319  000127AD    dd effffffd65                        pushl   _dbl_value_1+4
                    331:  320  000127B3    fe 08 effffffd5a                     callf   $8,_write32h
                    332:  321  000127BA                                   #          writes(",   expected = ");
                    333:  322  000127BA                                         .data   1
                    334:  323  00000600 *                                L421:
                    335:  324  00000600 *  2C20202065787065637465642            .ascii  ",   expected = \0"
                    336:                   03D2000
                    337:  325  00000610 *                                       .text
                    338:  326  000127BA    dd 8f00000600                        pushl   $L421
                    339:  327  000127C0    fe 08 effffffd4d                     callf   $8,_writes
                    340:  328  000127C7                                   #          write32h( 0 );                     /* the expected result = 0 */
                    341:  329  000127C7    dd 00                                pushl   $0
                    342:  330  000127C9    fe 08 effffffd44                     callf   $8,_write32h
                    343:  331  000127D0                                   #          writec(' ');
                    344:  332  000127D0    dd 20                                pushl   $32
                    345:  333  000127D2    fe 08 effffffd3b                     callf   $8,_writec
                    346:  334  000127D9                                   #          write32h( 0 );
                    347:  335  000127D9    dd 00                                pushl   $0
                    348:  336  000127DB    fe 08 effffffd32                     callf   $8,_write32h
                    349:  337  000127E2                                   #          writec('\n');
                    350:  338  000127E2    dd 0a                                pushl   $10
                    351:  339  000127E4    fe 08 effffffd29                     callf   $8,_writec
                    352:  340  000127EB                                   #     }
                    353:  341  000127EB                                   #     if ( halt_flg )                         /* halt on error?           */
                    354:  342  000127EB                                  L415:
                    355:  343  000127EB    5d effffffd23                        tstl    _halt_flg
                    356:  344  000127F1    31 09                                jeql    L422
                    357:  345  000127F3                                   #          pipe10_halt( 2 );                  /* halt with a code of 2    */
                    358:  346  000127F3    dd 02                                pushl   $2
                    359:  347  000127F5    fe 08 ef000001d4                     callf   $8,_pipe10_halt
                    360:  348  000127FC                                   #     if ( loop_on_err ) 
                    361:  349  000127FC                                  L422:
                    362:  350  000127FC    5d effffffd12                        tstl    _loop_on_err
                    363:  351  00012802    31 0d                                jeql    L423
                    364:  352  00012804                                   #     {
                    365:  353  00012804                                   #          force_loop = TRUE;                 /* set the force loop flag */
                    366:  354  00012804    0d 01 effffffd09                     movl    $1,_force_loop
                    367:  355  0001280B                                   #          asm("jmp _pipe10_lp1");            /* and loop                */
                    368:  356  0001280B    71 effffffd9c                 jmp _pipe10_lp1
                    369:  357  00012811                                   #     };
                    370:  358  00012811                                  L423:
                    371:  359  00012811                                   # }
                    372:  360  00012811    40                                   ret#2
                    373:  361  00012812                                         .set    L411,0x0
                    374:  362  00012812                                  L413:
                    375:  363  00012812    13 feea                              jbr     L414
                    376:  364  00012815                                         .data
                    377:  365  00000560 *                                       .text
                    378:  366  00012815    00                                   .align  1
                    379:  367  00012816                                         .globl  _pipe10_queue_er
                    380:  368  00012816                                  _pipe10_queue_er:
                    381:  369  00012816    0000                                 .word   L424
                    382:  370  00012818                                   # 
                    383:  371  00012818                                   # 
                    384:  372  00012818                                   # 
                    385:  373  00012818                                   # 
                    386:  374  00012818                                   # 
                    387:  375  00012818                                   # /****************************************************************************
                    388:  376  00012818                                   # *           Report an "FPP queue not cleared" message
                    389:  377  00012818                                   # *
                    390:  378  00012818                                   # * Cycle: xx. EVT test xx. subtest xx. index = xx. Fpp queue not cleared.
                    391:  379  00012818                                   # * inst = LDD op1, MULD op2, CVLF '2'    (underflow fault on the MULD)
                    392:  380  00012818                                   # * The 'Convert '2' to Floating Point' was apparently executed.
                    393:  381  00012818                                   # * op1 = xxxxxxxx xxxxxxxx, final Acc. = xxxxxxxx xxxxxxxx
                    394:  382  00012818                                   # * op2 = xxxxxxxx xxxxxxxx,   expected = xxxxxxxx xxxxxxxx
                    395:  383  00012818                                   # ****************************************************************************/
                    396:  384  00012818                                   # pipe10_queue_er()
                    397:  385  00012818                                   # {
                    398:  386  00012818    13 0113                              jbr     L426
                    399:  387  0001281B                                  L427:
                    400:  388  0001281B                                   #     errcnt++;                               /* bump the error count    */
                    401:  389  0001281B    6d effffffcf3                        incl    _errcnt
                    402:  390  00012821                                   #     if ( prt_error ) 
                    403:  391  00012821    5d effffffced                        tstl    _prt_error
                    404:  392  00012827    21 03 13 00db                        jeql    L428
                    405:  393  0001282C                                   #     {
                    406:  394  0001282C                                   #          print_pipe10_er( ". Fpp queue not cleared" );
                    407:  395  0001282C                                         .data   1
                    408:  396  00000610 *                                L429:
                    409:  397  00000610 *  2E20467070207175657565206            .ascii  ". Fpp queue not cleared\0"
                    410:                   E6F7420636C656172656400
                    411:  398  00000628 *                                       .text
                    412:  399  0001282C    dd 8f00000610                        pushl   $L429
                    413:  400  00012832    fe 08 ef000000f9                     callf   $8,_print_pipe10_er
                    414:  401  00012839                                   #          writes(
                    415:  402  00012839                                   #           "The 'Convert '2' to Floating Point' was apparently executed.\n");
                    416:  403  00012839                                         .data   1
                    417:  404  00000628 *                                L430:
                    418:  405  00000628 *  5468652027436F6E766572742            .ascii  "The 'Convert '2' to Floating Point' was apparently executed.\12\0"
                    419:                   027322720746F20466C6F6174
                    420:                   696E6720506F696E742720776
                    421:                   173206170706172656E746C79
                    422:                   2065786563757465642E0A00
                    423:  406  00000666 *                                       .text
                    424:  407  00012839    dd 8f00000628                        pushl   $L430
                    425:  408  0001283F    fe 08 effffffcce                     callf   $8,_writes
                    426:  409  00012846                                   #          writes("op1 = ");
                    427:  410  00012846                                         .data   1
                    428:  411  00000666 *                                L431:
                    429:  412  00000666 *  6F7031203D2000                       .ascii  "op1 = \0"
                    430:  413  0000066d *                                       .text
                    431:  414  00012846    dd 8f00000666                        pushl   $L431
                    432:  415  0001284C    fe 08 effffffcc1                     callf   $8,_writes
                    433:  416  00012853                                   #          write32h( dbl_ld_acc.m );
                    434:  417  00012853    dd effffffcbb                        pushl   _dbl_ld_acc
                    435:  418  00012859    fe 08 effffffcb4                     callf   $8,_write32h
                    436:  419  00012860                                   #          writec(' ');
                    437:  420  00012860    dd 20                                pushl   $32
                    438:  421  00012862    fe 08 effffffcab                     callf   $8,_writec
                    439:  422  00012869                                   #          write32h( dbl_ld_acc.l );
                    440:  423  00012869    dd effffffca9                        pushl   _dbl_ld_acc+4
                    441:  424  0001286F    fe 08 effffffc9e                     callf   $8,_write32h
                    442:  425  00012876                                   #          writes(", final Acc. = ");
                    443:  426  00012876                                         .data   1
                    444:  427  0000066d *                                L432:
                    445:  428  0000066d *  2C2066696E616C204163632E2            .ascii  ", final Acc. = \0"
                    446:                   03D2000
                    447:  429  0000067d *                                       .text
                    448:  430  00012876    dd 8f0000066d                        pushl   $L432
                    449:  431  0001287C    fe 08 effffffc91                     callf   $8,_writes
                    450:  432  00012883                                   #          write32h( post_evt_acc.m );
                    451:  433  00012883    dd effffffc8b                        pushl   _post_evt_acc
                    452:  434  00012889    fe 08 effffffc84                     callf   $8,_write32h
                    453:  435  00012890                                   #          writec(' ');
                    454:  436  00012890    dd 20                                pushl   $32
                    455:  437  00012892    fe 08 effffffc7b                     callf   $8,_writec
                    456:  438  00012899                                   #          write32h( post_evt_acc.l );
                    457:  439  00012899    dd effffffc79                        pushl   _post_evt_acc+4
                    458:  440  0001289F    fe 08 effffffc6e                     callf   $8,_write32h
                    459:  441  000128A6                                   #          writes("\nop2 = ");
                    460:  442  000128A6                                         .data   1
                    461:  443  0000067d *                                L433:
                    462:  444  0000067d *  0A6F7032203D2000                     .ascii  "\12op2 = \0"
                    463:  445  00000685 *                                       .text
                    464:  446  000128A6    dd 8f0000067d                        pushl   $L433
                    465:  447  000128AC    fe 08 effffffc61                     callf   $8,_writes
                    466:  448  000128B3                                   #          write32h( dbl_value_1.m );
                    467:  449  000128B3    dd effffffc5b                        pushl   _dbl_value_1
                    468:  450  000128B9    fe 08 effffffc54                     callf   $8,_write32h
                    469:  451  000128C0                                   #          writec(' ');
                    470:  452  000128C0    dd 20                                pushl   $32
                    471:  453  000128C2    fe 08 effffffc4b                     callf   $8,_writec
                    472:  454  000128C9                                   #          write32h( dbl_value_1.l );
                    473:  455  000128C9    dd effffffc49                        pushl   _dbl_value_1+4
                    474:  456  000128CF    fe 08 effffffc3e                     callf   $8,_write32h
                    475:  457  000128D6                                   #          writes(",   expected = ");
                    476:  458  000128D6                                         .data   1
                    477:  459  00000685 *                                L434:
                    478:  460  00000685 *  2C20202065787065637465642            .ascii  ",   expected = \0"
                    479:                   03D2000
                    480:  461  00000695 *                                       .text
                    481:  462  000128D6    dd 8f00000685                        pushl   $L434
                    482:  463  000128DC    fe 08 effffffc31                     callf   $8,_writes
                    483:  464  000128E3                                   #          write32h( 0 );                     /* the expected result = 0 */
                    484:  465  000128E3    dd 00                                pushl   $0
                    485:  466  000128E5    fe 08 effffffc28                     callf   $8,_write32h
                    486:  467  000128EC                                   #          writec(' ');
                    487:  468  000128EC    dd 20                                pushl   $32
                    488:  469  000128EE    fe 08 effffffc1f                     callf   $8,_writec
                    489:  470  000128F5                                   #          write32h( 0 );
                    490:  471  000128F5    dd 00                                pushl   $0
                    491:  472  000128F7    fe 08 effffffc16                     callf   $8,_write32h
                    492:  473  000128FE                                   #          writec('\n');
                    493:  474  000128FE    dd 0a                                pushl   $10
                    494:  475  00012900    fe 08 effffffc0d                     callf   $8,_writec
                    495:  476  00012907                                   #     }
                    496:  477  00012907                                   #     if ( halt_flg )                         /* halt on error?           */
                    497:  478  00012907                                  L428:
                    498:  479  00012907    5d effffffc07                        tstl    _halt_flg
                    499:  480  0001290D    31 09                                jeql    L435
                    500:  481  0001290F                                   #          pipe10_halt( 3 );                  /* halt with a code of 3    */
                    501:  482  0001290F    dd 03                                pushl   $3
                    502:  483  00012911    fe 08 ef000000b8                     callf   $8,_pipe10_halt
                    503:  484  00012918                                   #     if ( loop_on_err ) 
                    504:  485  00012918                                  L435:
                    505:  486  00012918    5d effffffbf6                        tstl    _loop_on_err
                    506:  487  0001291E    31 0d                                jeql    L436
                    507:  488  00012920                                   #     {
                    508:  489  00012920                                   #          force_loop = TRUE;                 /* set the force loop flag */
                    509:  490  00012920    0d 01 effffffbed                     movl    $1,_force_loop
                    510:  491  00012927                                   #          asm("jmp _pipe10_lp1");            /* and loop                */
                    511:  492  00012927    71 effffffc80                 jmp _pipe10_lp1
                    512:  493  0001292D                                   #     };
                    513:  494  0001292D                                  L436:
                    514:  495  0001292D                                   # }
                    515:  496  0001292D    40                                   ret#2
                    516:  497  0001292E                                         .set    L424,0x0
                    517:  498  0001292E                                  L426:
                    518:  499  0001292E    13 feea                              jbr     L427
                    519:  500  00012931                                         .data
                    520:  501  00000560 *                                       .text
                    521:  502  00012931    00                                   .align  1
                    522:  503  00012932                                         .globl  _print_pipe10_er
                    523:  504  00012932                                  _print_pipe10_er:
                    524:  505  00012932    0000                                 .word   L437
                    525:  506  00012934                                   # 
                    526:  507  00012934                                   # 
                    527:  508  00012934                                   # 
                    528:  509  00012934                                   # 
                    529:  510  00012934                                   # /****************************************************************************
                    530:  511  00012934                                   # *           Report an error message of the form:
                    531:  512  00012934                                   # *
                    532:  513  00012934                                   # * Cycle: xx. EVT test xx. subtest xx. index = xx.  <your message here>
                    533:  514  00012934                                   # * inst = LDD op1, MULD op2, CVLF '2'    (underflow fault on the MULD)
                    534:  515  00012934                                   # ****************************************************************************/
                    535:  516  00012934                                   # print_pipe10_er( msg )
                    536:  517  00012934                                   # char *msg;                                  /* error message to print   */
                    537:  518  00012934                                   # {
                    538:  519  00012934    13 0096                              jbr     L439
                    539:  520  00012937                                  L440:
                    540:  521  00012937                                   #          if( errcnt == 1 )                  /* 1st error?               */
                    541:  522  00012937    1d effffffbd7 01                     cmpl    _errcnt,$1
                    542:  523  0001293E    21 0d                                jneq    L441
                    543:  524  00012940                                   #               writes(" \n");                /* start a new print line   */
                    544:  525  00012940                                         .data   1
                    545:  526  00000695 *                                L442:
                    546:  527  00000695 *  200A00                               .ascii  " \12\0"
                    547:  528  00000698 *                                       .text
                    548:  529  00012940    dd 8f00000695                        pushl   $L442
                    549:  530  00012946    fe 08 effffffbc7                     callf   $8,_writes
                    550:  531  0001294D                                   #          writes("Cycle: ");
                    551:  532  0001294D                                  L441:
                    552:  533  0001294D                                         .data   1
                    553:  534  00000698 *                                L443:
                    554:  535  00000698 *  4379636C653A2000                     .ascii  "Cycle: \0"
                    555:  536  000006a0 *                                       .text
                    556:  537  0001294D    dd 8f00000698                        pushl   $L443
                    557:  538  00012953    fe 08 effffffbba                     callf   $8,_writes
                    558:  539  0001295A                                   #          writed( cycle );
                    559:  540  0001295A    dd effffffbb4                        pushl   _cycle
                    560:  541  00012960    fe 08 effffffbad                     callf   $8,_writed
                    561:  542  00012967                                   #          writes("  EVT test ");
                    562:  543  00012967                                         .data   1
                    563:  544  000006a0 *                                L445:
                    564:  545  000006a0 *  202045565420746573742000             .ascii  "  EVT test \0"
                    565:  546  000006ac *                                       .text
                    566:  547  00012967    dd 8f000006a0                        pushl   $L445
                    567:  548  0001296D    fe 08 effffffba0                     callf   $8,_writes
                    568:  549  00012974                                   #          writed( test_no );
                    569:  550  00012974    dd effffffb9a                        pushl   _test_no
                    570:  551  0001297A    fe 08 effffffb93                     callf   $8,_writed
                    571:  552  00012981                                   #          writes(". subtest ");
                    572:  553  00012981                                         .data   1
                    573:  554  000006ac *                                L446:
                    574:  555  000006ac *  2E20737562746573742000               .ascii  ". subtest \0"
                    575:  556  000006b7 *                                       .text
                    576:  557  00012981    dd 8f000006ac                        pushl   $L446
                    577:  558  00012987    fe 08 effffffb86                     callf   $8,_writes
                    578:  559  0001298E                                   #          writed( subtest );
                    579:  560  0001298E    dd effffffb80                        pushl   _subtest
                    580:  561  00012994    fe 08 effffffb79                     callf   $8,_writed
                    581:  562  0001299B                                   #          writes(". index = ");
                    582:  563  0001299B                                         .data   1
                    583:  564  000006b7 *                                L447:
                    584:  565  000006b7 *  2E20696E646578203D2000               .ascii  ". index = \0"
                    585:  566  000006c2 *                                       .text
                    586:  567  0001299B    dd 8f000006b7                        pushl   $L447
                    587:  568  000129A1    fe 08 effffffb6c                     callf   $8,_writes
                    588:  569  000129A8                                   #          writed( index );
                    589:  570  000129A8    dd effffffb66                        pushl   _index
                    590:  571  000129AE    fe 08 effffffb5f                     callf   $8,_writed
                    591:  572  000129B5                                   #          writes( msg );                     /* print the message */
                    592:  573  000129B5    dd ad04                              pushl   4(fp)
                    593:  574  000129B8    fe 08 effffffb55                     callf   $8,_writes
                    594:  575  000129BF                                   #          writes(
                    595:  576  000129BF                                   #     "\ninst = LDD op1, MULD op2, CVLF '2'    (underflow fault on the MULD)\n");
                    596:  577  000129BF                                         .data   1
                    597:  578  000006c2 *                                L448:
                    598:  579  000006c2 *  0A696E7374203D204C4444206            .ascii  "\12inst = LDD op1, MULD op2, CVLF '2'    (underflow fault on the M"
                    599:                   F70312C204D554C44206F7032
                    600:                   2C2043564C462027322720202
                    601:                   02028756E646572666C6F7720
                    602:                   6661756C74206F6E207468652
                    603:                   04D
                    604:  580  00000702 *  554C44290A00                         .ascii  "ULD)\12\0"
                    605:  581  00000708 *                                       .text
                    606:  582  000129BF    dd 8f000006c2                        pushl   $L448
                    607:  583  000129C5    fe 08 effffffb48                     callf   $8,_writes
                    608:  584  000129CC                                   # }
                    609:  585  000129CC    40                                   ret#2
                    610:  586  000129CD                                         .set    L437,0x0
                    611:  587  000129CD                                  L439:
                    612:  588  000129CD    13 ff67                              jbr     L440
                    613:  589  000129D0                                         .data
                    614:  590  00000560 *                                       .text
                    615:  591  000129D0                                         .align  1
                    616:  592  000129D0                                         .globl  _pipe10_halt
                    617:  593  000129D0                                  _pipe10_halt:
                    618:  594  000129D0    0000                                 .word   L449
                    619:  595  000129D2                                   # 
                    620:  596  000129D2                                   # 
                    621:  597  000129D2                                   # 
                    622:  598  000129D2                                   # /****************************************************************************
                    623:  599  000129D2                                   # *           halt on error routine
                    624:  600  000129D2                                   # ****************************************************************************/
                    625:  601  000129D2                                   # pipe10_halt( code )
                    626:  602  000129D2                                   # int code;                           /* error code to halt with */
                    627:  603  000129D2                                   # {
                    628:  604  000129D2    13 009b                              jbr     L451
                    629:  605  000129D5                                  L452:
                    630:  606  000129D5                                   #     err_code = code;
                    631:  607  000129D5    0d ad04 effffffb37                   movl    4(fp),_err_code
                    632:  608  000129DD                                   #     sgl_value_1 = dbl_ld_acc.m;
                    633:  609  000129DD    0d effffffb31 effffffb2c             movl    _dbl_ld_acc,_sgl_value_1
                    634:  610  000129E8                                   #     sgl_value_2 = dbl_ld_acc.l;
                    635:  611  000129E8    0d effffffb2a effffffb21             movl    _dbl_ld_acc+4,_sgl_value_2
                    636:  612  000129F3                                   #     sgl_value_3 = dbl_value_1.m;
                    637:  613  000129F3    0d effffffb1b effffffb16             movl    _dbl_value_1,_sgl_value_3
                    638:  614  000129FE                                   #     sgl_value_4 = dbl_value_1.l;
                    639:  615  000129FE    0d effffffb14 effffffb0b             movl    _dbl_value_1+4,_sgl_value_4
                    640:  616  00012A09                                   #     sgl_value_5 = post_evt_acc.m;
                    641:  617  00012A09    0d effffffb05 effffffb00             movl    _post_evt_acc,_sgl_value_5
                    642:  618  00012A14                                   #     sgl_value_6 = post_evt_acc.l;
                    643:  619  00012A14    0d effffffafe effffffaf5             movl    _post_evt_acc+4,_sgl_value_6
                    644:  620  00012A1F                                   #     asm("movl _test_no,r0");                /* r0  = test number       */
                    645:  621  00012A1F    0d effffffaef 50              movl _test_no,r0
                    646:  622  00012A26                                   #     asm("movl _subtest,r1");                /* r1  = subtest number    */
                    647:  623  00012A26    0d effffffae8 51              movl _subtest,r1
                    648:  624  00012A2D                                   #     asm("movl _err_code,r2");               /* r2  = error code        */
                    649:  625  00012A2D    0d effffffae1 52              movl _err_code,r2
                    650:  626  00012A34                                   #     asm("movl _cycle,r3");                  /* r3  = cycle count       */
                    651:  627  00012A34    0d effffffada 53              movl _cycle,r3
                    652:  628  00012A3B                                   #     asm("movl _sgl_value_1,r4");            /* r4  = MSW of operand 1  */
                    653:  629  00012A3B    0d effffffad3 54              movl _sgl_value_1,r4
                    654:  630  00012A42                                   #     asm("movl _sgl_value_2,r5");            /* r5  = LSW of operand 1  */
                    655:  631  00012A42    0d effffffacc 55              movl _sgl_value_2,r5
                    656:  632  00012A49                                   #     asm("movl _sgl_value_3,r6");            /* r6  = MSW of operand 2  */
                    657:  633  00012A49    0d effffffac5 56              movl _sgl_value_3,r6
                    658:  634  00012A50                                   #     asm("movl _sgl_value_4,r7");            /* r7  = LSW of operand 2  */
                    659:  635  00012A50    0d effffffabe 57              movl _sgl_value_4,r7
                    660:  636  00012A57                                   #     asm("movl _sgl_value_5,r8");            /* r8  = MSW of final Acc. */
                    661:  637  00012A57    0d effffffab7 58              movl _sgl_value_5,r8
                    662:  638  00012A5E                                   #     asm("movl _sgl_value_6,r9");            /* r9  = LSW of final Acc. */
                    663:  639  00012A5E    0d effffffab0 59              movl _sgl_value_6,r9
                    664:  640  00012A65                                   #     asm("clrl r10");                        /* r10 = 0 (expected Acc.) */
                    665:  641  00012A65    4d 5a                         clrl r10
                    666:  642  00012A67                                   #     asm("movl _index,r11");                 /* r11 = data index        */
                    667:  643  00012A67    0d effffffaa7 5b              movl _index,r11
                    668:  644  00012A6E                                   #     asm("halt");                            /* HALT ...                */
                    669:  645  00012A6E    00                            halt
                    670:  646  00012A6F                                   # }
                    671:  647  00012A6F    40                                   ret#2
                    672:  648  00012A70                                         .set    L449,0x0
                    673:  649  00012A70                                  L451:
                    674:  650  00012A70    13 ff62                              jbr     L452
                    675:  651  00012A73                                         .data
                    676:  651  00024F87                                         .data

unix.superglobalmegacorp.com

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