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

1.1       root        1:    1  00000000                                  LL0:
                      2:    2  00000000                                         .data
                      3:    3  00000488 *                                       .text
                      4:    4  00000000                                         .align  1
                      5:    5  00000000                                         .globl  _pipe9
                      6:    6  00000000                                  _pipe9:
                      7:    7  0001208C    0000                                 .word   L381
                      8:    8  0001208E                                   # 
                      9:    9  0001208E                                   # #include "evt_defs.h"
                     10:   10  0001208E                                   # 
                     11:   11  0001208E                                   # /*
                     12:   12  0001208E                                   #  *********************************************************************
                     13:   13  0001208E                                   #  *  FPP PIPELINED EVENTS TEST #9
                     14:   14  0001208E                                   #  *
                     15:   15  0001208E                                   #  *  This test will execute the following code: "LDF DIVF CVLF $2"
                     16:   16  0001208E                                   #  * with a divide by zero fault on the DIVF. We will make sure that:
                     17:   17  0001208E                                   #  * 1. The fault is detected, and
                     18:   18  0001208E                                   #  * 2. the convert instruction is not executed.
                     19:   19  0001208E                                   #  *********************************************************************
                     20:   20  0001208E                                   # */
                     21:   21  0001208E                                   # pipe9()
                     22:   22  0001208E                                   # {
                     23:   23  0001208E    13 0146                              jbr     L383
                     24:   24  00012091                                  L384:
                     25:   25  00012091                                   #     asm("moval (r13),_pre_event_fp");       /* save the frame pointer */
                     26:   26  00012091    ed 6d effffffff4              moval (r13),_pre_event_fp
                     27:   27  00012098                                   #     asm("moval (r14),_pre_event_sp");       /* save the stack pointer */
                     28:   28  00012098    ed 6e efffffffed              moval (r14),_pre_event_sp
                     29:   29  0001209F                                   #     precision = SGL;
                     30:   30  0001209F    0d 01 efffffffe6                     movl    $1,_precision
                     31:   31  000120A6                                   #     test_event = ARITH_CODE;                /* expect an arithmetic fault */
                     32:   32  000120A6    0d 34 efffffffdf                     movl    $52,_test_event
                     33:   33  000120AD                                   #     exp_code = FLT_0_DIV_CODE;              /*  - specificly div by 0     */
                     34:   34  000120AD    0d 03 efffffffd8                     movl    $3,_exp_code
                     35:   35  000120B4                                   #     exp_event = FALSE;                      /* ... but not yet            */
                     36:   36  000120B4    4d efffffffd2                        clrl    _exp_event
                     37:   37  000120BA                                   #     asm("movab _pipe9_ret,_event_return"); /* set event return address   */
                     38:   38  000120BA    e9 ef000000c7 efffffffc7      movab _pipe9_ret,_event_return
                     39:   39  000120C5                                   #     max_index = zero_divide_cnt;            /* set max operand index      */
                     40:   40  000120C5    0d efffffffc1 efffffffbc             movl    _zero_divide_cnt,_max_index
                     41:   41  000120D0                                   #     for( index = 0; index < max_index; index++ )
                     42:   42  000120D0    4d efffffffb6                        clrl    _index
                     43:   43  000120D6                                  L387:
                     44:   44  000120D6    1d efffffffb0 efffffffab             cmpl    _index,_max_index
                     45:   45  000120E1    91 03 13 00f0                        jgeq    L386
                     46:   46  000120E6                                   #     {
                     47:   47  000120E6                                   #          dbl_ld_acc = zero_divide_data[index].op_1;  /* get the Acc data */
                     48:   48  000120E6    48 04 efffffff9f 50                  shll    $4,_index,r0
                     49:   49  000120EE    0c 8f00000000 50                     addl2   $_zero_divide_data,r0
                     50:   50  000120F5    0d a004 efffffff93                   movl    4(r0),_dbl_ld_acc+4
                     51:   51  000120FD    0d 60 efffffff88                     movl    (r0),_dbl_ld_acc
                     52:   52  00012104                                   #          dbl_value_1 = zero_divide_data[index].op_2; /* get the '0' data */
                     53:   53  00012104    48 04 efffffff81 50                  shll    $4,_index,r0
                     54:   54  0001210C    0c 8f00000008 50                     addl2   $_zero_divide_data+8,r0
                     55:   55  00012113    0d a004 efffffff75                   movl    4(r0),_dbl_value_1+4
                     56:   56  0001211B    0d 60 efffffff6a                     movl    (r0),_dbl_value_1
                     57:   57  00012122                                   #          if( dbl_ld_acc.m & 0x7f800000 )
                     58:   58  00012122    3d 8f7f800000 efffffff5f             bitl    $2139095040,_dbl_ld_acc
                     59:   59  0001212D    31 0d                                jeql    L388
                     60:   60  0001212F                                   #               dbl_expected.m = dbl_ld_acc.m;        /* The final Acc s/b */
                     61:   61  0001212F    0d efffffff57 efffffff52             movl    _dbl_ld_acc,_dbl_expected
                     62:   62  0001213A                                   #          else
                     63:   63  0001213A    11 06                                jbr     L389
                     64:   64  0001213C                                  L388:
                     65:   65  0001213C                                   #               dbl_expected.m = 0;                   /* = the initial Acc */
                     66:   66  0001213C    4d efffffff4a                        clrl    _dbl_expected
                     67:   67  00012142                                  L389:
                     68:   68  00012142                                   #          asm("bispsw $0x60");                       /* enable ovfl,undfl */
                     69:   69  00012142    8b 8860                       bispsw $0x60
                     70:   70  00012145                                   #          asm(".globl _pipe9_lp1");
                     71:   71  00012145                                  .globl _pipe9_lp1
                     72:   72  00012145                                   #          asm("_pipe9_lp1:");
                     73:   73  00012145                                  _pipe9_lp1:
                     74:   74  00012145                                   #          asm("ldf _dbl_ld_acc");                    /* load the Acc.     */
                     75:   75  00012145    06 efffffff41                 ldf _dbl_ld_acc
                     76:   76  0001214B                                   #          exp_event = test_event;                    /* expect event soon */
                     77:   77  0001214B    0d efffffff3b efffffff36             movl    _test_event,_exp_event
                     78:   78  00012156                                   #          asm("divf _dbl_value_1");                  /* trigger the event */
                     79:   79  00012156    f6 efffffff30                 divf _dbl_value_1
                     80:   80  0001215C                                   #          asm("cvlf $2");                            /* shouldn't get here*/
                     81:   81  0001215C    76 02                         cvlf $2
                     82:   82  0001215E                                   # /*
                     83:   83  0001215E                                   #  * If we got to here then there was no event
                     84:   84  0001215E                                   # */
                     85:   85  0001215E                                   #          if( force_loop )
                     86:   86  0001215E    5d efffffff28                        tstl    _force_loop
                     87:   87  00012164    31 03                                jeql    L390
                     88:   88  00012166                                   #               asm("brw _pipe9_lp1");;       /* loop on the error         */
                     89: Assemb0002984C                                   #               asm("brw _pipe9_lp1");;       /* loop on the error         */
                     90: "pipe90002984C  89: WARNING: brw: destination label is external
                     91:   89  00012166    13 ffdc                       brw _pipe9_lp1
                     92:   90  00012169                                  L390:
                     93:   91  00012169                                   #          exp_event = FALSE;                 /* reset event expected flag */
                     94:   92  00012169    4d efffffff1d                        clrl    _exp_event
                     95:   93  0001216F                                   #          asm("movl _pre_event_fp,fp");      /* restore the frame pointer */
                     96:   94  0001216F    0d efffffff17 5d              movl _pre_event_fp,fp
                     97:   95  00012176                                   #          asm("movl _pre_event_sp,sp");      /* restore the stack pointer */
                     98:   96  00012176    0d efffffff10 5e              movl _pre_event_sp,sp
                     99:   97  0001217D                                   #          asm("bicpsw $0x60");               /* disable ovfl & undfl evts */
                    100:   98  0001217D    9b 8860                       bicpsw $0x60
                    101:   99  00012180                                   #          no_pipe9_evt();;                   /* report the error          */
                    102:  100  00012180    fe 04 ef00000053                     callf   $4,_no_pipe9_evt
                    103:  101  00012187                                   # /*
                    104:  102  00012187                                   #  * Come here after the event
                    105:  103  00012187                                   # */
                    106:  104  00012187                                   #          asm(".globl _pipe9_ret");
                    107:  105  00012187                                  .globl _pipe9_ret
                    108:  106  00012187                                   #          asm("_pipe9_ret:");
                    109:  107  00012187                                  _pipe9_ret:
                    110:  108  00012187                                   #          asm("movl _pre_event_fp,fp");      /* restore the frame pointer */
                    111:  109  00012187    0d effffffeff 5d              movl _pre_event_fp,fp
                    112:  110  0001218E                                   #          asm("movl _pre_event_sp,sp");      /* restore the stack pointer */
                    113:  111  0001218E    0d effffffef8 5e              movl _pre_event_sp,sp
                    114:  112  00012195                                   #          if( force_loop )
                    115:  113  00012195    5d effffffef1                        tstl    _force_loop
                    116:  114  0001219B    31 03                                jeql    L392
                    117:  115  0001219D                                   #               asm("brw _pipe9_lp1");;       /* loop on the error         */
                    118: "pipe90002984C  116: WARNING: brw: destination label is external
                    119:  116  0001219D    13 ffa5                       brw _pipe9_lp1
                    120:  117  000121A0                                  L392:
                    121:  118  000121A0                                   #          asm("bicpsw $0x60");               /* disable ovfl & undfl evts */
                    122:  119  000121A0    9b 8860                       bicpsw $0x60
                    123:  120  000121A3                                   #          if( post_evt_acc.m != dbl_expected.m ) /* was the Acc modified? */
                    124:  121  000121A3    1d effffffee3 effffffede             cmpl    _post_evt_acc,_dbl_expected
                    125:  122  000121AE    31 1d                                jeql    L393
                    126:  123  000121B0                                   #          {
                    127:  124  000121B0                                   #               if( post_evt_acc.m == 0x41000000 )  /* is Acc. = 2.0 ?     */
                    128:  125  000121B0    1d effffffed6 8f41000000             cmpl    _post_evt_acc,$1090519040
                    129:  126  000121BB    21 09                                jneq    L394
                    130:  127  000121BD                                   #                    pipe9_queue_er();        /* queue not cleared error   */
                    131:  128  000121BD    fe 04 ef00000168                     callf   $4,_pipe9_queue_er
                    132:  129  000121C4                                   #               else
                    133:  130  000121C4    11 07                                jbr     L396
                    134:  131  000121C6                                  L394:
                    135:  132  000121C6                                   #                    bad_pipe9_result();      /* incorrect result error    */
                    136:  133  000121C6    fe 04 ef00000093                     callf   $4,_bad_pipe9_result
                    137:  134  000121CD                                  L396:
                    138:  135  000121CD                                   #          }
                    139:  136  000121CD                                   #     }
                    140:  137  000121CD                                  L393:
                    141:  138  000121CD                                  L385:
                    142:  139  000121CD    6d effffffeb9                        incl    _index
                    143:  140  000121D3    13 ff00                              jbr     L387
                    144:  141  000121D6                                  L386:
                    145:  142  000121D6                                   # }
                    146:  143  000121D6    40                                   ret#2
                    147:  144  000121D7                                         .set    L381,0x0
                    148:  145  000121D7                                  L383:
                    149:  146  000121D7    13 feb7                              jbr     L384
                    150:  147  000121DA                                         .data
                    151:  148  00000488 *                                       .text
                    152:  149  000121DA                                         .align  1
                    153:  150  000121DA                                         .globl  _no_pipe9_evt
                    154:  151  000121DA                                  _no_pipe9_evt:
                    155:  152  000121DA    0000                                 .word   L398
                    156:  153  000121DC                                   # 
                    157:  154  000121DC                                   # 
                    158:  155  000121DC                                   # 
                    159:  156  000121DC                                   # /****************************************************************************
                    160:  157  000121DC                                   # *           Report an "EVENT NOT DETECTED" error
                    161:  158  000121DC                                   # *
                    162:  159  000121DC                                   # * Cycle: xx. EVT test xx. subtest xx. No 'divide by 0' fault seen. index = xx
                    163:  160  000121DC                                   # * inst = LDF op1, DIVF op2, CVLF '2'    ('divide by 0' fault on DIVF)
                    164:  161  000121DC                                   # * op1 = xxxxxxxx,   op2 = xxxxxxxx
                    165:  162  000121DC                                   # ****************************************************************************/
                    166:  163  000121DC                                   # no_pipe9_evt()
                    167:  164  000121DC                                   # {
                    168:  165  000121DC    11 7f                                jbr     L400
                    169:  166  000121DE                                  L401:
                    170:  167  000121DE                                   #     errcnt++;                               /* bump the error count    */
                    171:  168  000121DE    6d effffffea8                        incl    _errcnt
                    172:  169  000121E4                                   #     if ( prt_error ) 
                    173:  170  000121E4    5d effffffea2                        tstl    _prt_error
                    174:  171  000121EA    31 4a                                jeql    L402
                    175:  172  000121EC                                   #     {
                    176:  173  000121EC                                   #          print_pipe9_er( ". No 'divide by 0' fault seen." );
                    177:  174  000121EC                                         .data   1
                    178:  175  00000488 *                                L404:
                    179:  176  00000488 *  2E204E6F20276469766964652            .ascii  ". No 'divide by 0' fault seen.\0"
                    180:                   06279203027206661756C7420
                    181:                   7365656E2E00
                    182:  177  000004a7 *                                       .text
                    183:  178  000121EC    dd 8f00000488                        pushl   $L404
                    184:  179  000121F2    fe 08 ef000001ff                     callf   $8,_print_pipe9_er
                    185:  180  000121F9                                   #          writes("op1 = ");
                    186:  181  000121F9                                         .data   1
                    187:  182  000004a7 *                                L406:
                    188:  183  000004a7 *  6F7031203D2000                       .ascii  "op1 = \0"
                    189:  184  000004ae *                                       .text
                    190:  185  000121F9    dd 8f000004a7                        pushl   $L406
                    191:  186  000121FF    fe 08 effffffe86                     callf   $8,_writes
                    192:  187  00012206                                   #          write32h( dbl_ld_acc.m );
                    193:  188  00012206    dd effffffe80                        pushl   _dbl_ld_acc
                    194:  189  0001220C    fe 08 effffffe79                     callf   $8,_write32h
                    195:  190  00012213                                   #          writes(",   op2 = ");
                    196:  191  00012213                                         .data   1
                    197:  192  000004ae *                                L408:
                    198:  193  000004ae *  2C2020206F7032203D2000               .ascii  ",   op2 = \0"
                    199:  194  000004b9 *                                       .text
                    200:  195  00012213    dd 8f000004ae                        pushl   $L408
                    201:  196  00012219    fe 08 effffffe6c                     callf   $8,_writes
                    202:  197  00012220                                   #          write32h( dbl_value_1.m );
                    203:  198  00012220    dd effffffe66                        pushl   _dbl_value_1
                    204:  199  00012226    fe 08 effffffe5f                     callf   $8,_write32h
                    205:  200  0001222D                                   #          writec('\n');
                    206:  201  0001222D    dd 0a                                pushl   $10
                    207:  202  0001222F    fe 08 effffffe56                     callf   $8,_writec
                    208:  203  00012236                                   #     }
                    209:  204  00012236                                   #     if ( halt_flg )                         /* halt on error?          */
                    210:  205  00012236                                  L402:
                    211:  206  00012236    5d effffffe50                        tstl    _halt_flg
                    212:  207  0001223C    31 09                                jeql    L410
                    213:  208  0001223E                                   #          pipe9_halt( 1 );                   /* halt with a code of 1   */
                    214:  209  0001223E    dd 01                                pushl   $1
                    215:  210  00012240    fe 08 ef0000025d                     callf   $8,_pipe9_halt
                    216:  211  00012247                                   #     if ( loop_on_err ) 
                    217:  212  00012247                                  L410:
                    218:  213  00012247    5d effffffe3f                        tstl    _loop_on_err
                    219:  214  0001224D    31 0d                                jeql    L412
                    220:  215  0001224F                                   #     {
                    221:  216  0001224F                                   #          force_loop = TRUE;                 /* set the force loop flag */
                    222:  217  0001224F    0d 01 effffffe36                     movl    $1,_force_loop
                    223:  218  00012256                                   #          asm("jmp _pipe9_lp1");             /* and loop                */
                    224:  219  00012256    71 effffffee9                 jmp _pipe9_lp1
                    225:  220  0001225C                                   #     };
                    226:  221  0001225C                                  L412:
                    227:  222  0001225C                                   # }
                    228:  223  0001225C    40                                   ret#2
                    229:  224  0001225D                                         .set    L398,0x0
                    230:  225  0001225D                                  L400:
                    231:  226  0001225D    13 ff7e                              jbr     L401
                    232:  227  00012260                                         .data
                    233:  228  00000488 *                                       .text
                    234:  229  00012260                                         .align  1
                    235:  230  00012260                                         .globl  _bad_pipe9_result
                    236:  231  00012260                                  _bad_pipe9_result:
                    237:  232  00012260    0000                                 .word   L413
                    238:  233  00012262                                   # 
                    239:  234  00012262                                   # 
                    240:  235  00012262                                   # 
                    241:  236  00012262                                   # 
                    242:  237  00012262                                   # /****************************************************************************
                    243:  238  00012262                                   # *           Report an "BAD ACCUMULATOR AFTER THE EVENT" error
                    244:  239  00012262                                   # *
                    245:  240  00012262                                   # * Cycle: xx. EVT test xx. subtest xx. Bad final Accumulator. index = xx
                    246:  241  00012262                                   # * inst = LDF op1, DIVF op2, CVLF '2'    ('divide by 0' fault on DIVF)
                    247:  242  00012262                                   # * The 'Convert '2' to Floating Point' should not be executed.
                    248:  243  00012262                                   # * op_1 = xxxxxxxx, op2 = xxxxxxxx, final Acc. = xxxxxxxx, expected = xxxxxxxx 
                    249:  244  00012262                                   # ****************************************************************************/
                    250:  245  00012262                                   # bad_pipe9_result()
                    251:  246  00012262                                   # {
                    252:  247  00012262    13 00c3                              jbr     L415
                    253:  248  00012265                                  L416:
                    254:  249  00012265                                   #     errcnt++;                               /* bump the error count    */
                    255:  250  00012265    6d effffffe21                        incl    _errcnt
                    256:  251  0001226B                                   #     if ( prt_error ) 
                    257:  252  0001226B    5d effffffe1b                        tstl    _prt_error
                    258:  253  00012271    21 03 13 008b                        jeql    L417
                    259:  254  00012276                                   #     {
                    260:  255  00012276                                   #          print_pipe9_er( ". Bad final Accumulator" );
                    261:  256  00012276                                         .data   1
                    262:  257  000004b9 *                                L418:
                    263:  258  000004b9 *  2E204261642066696E616C204            .ascii  ". Bad final Accumulator\0"
                    264:                   16363756D756C61746F7200
                    265:  259  000004d1 *                                       .text
                    266:  260  00012276    dd 8f000004b9                        pushl   $L418
                    267:  261  0001227C    fe 08 ef00000175                     callf   $8,_print_pipe9_er
                    268:  262  00012283                                   #          writes(
                    269:  263  00012283                                   #           "The 'Convert '2' to Floating Point' should not be executed\n");
                    270:  264  00012283                                         .data   1
                    271:  265  000004d1 *                                L419:
                    272:  266  000004d1 *  5468652027436F6E766572742            .ascii  "The 'Convert '2' to Floating Point' should not be executed\12\0"
                    273:                   027322720746F20466C6F6174
                    274:                   696E6720506F696E742720736
                    275:                   86F756C64206E6F7420626520
                    276:                   65786563757465640A00
                    277:  267  0000050d *                                       .text
                    278:  268  00012283    dd 8f000004d1                        pushl   $L419
                    279:  269  00012289    fe 08 effffffdfc                     callf   $8,_writes
                    280:  270  00012290                                   #          writes("op1 = ");
                    281:  271  00012290                                         .data   1
                    282:  272  0000050d *                                L420:
                    283:  273  0000050d *  6F7031203D2000                       .ascii  "op1 = \0"
                    284:  274  00000514 *                                       .text
                    285:  275  00012290    dd 8f0000050d                        pushl   $L420
                    286:  276  00012296    fe 08 effffffdef                     callf   $8,_writes
                    287:  277  0001229D                                   #          write32h( dbl_ld_acc.m );
                    288:  278  0001229D    dd effffffde9                        pushl   _dbl_ld_acc
                    289:  279  000122A3    fe 08 effffffde2                     callf   $8,_write32h
                    290:  280  000122AA                                   #          writes(", op1 = ");
                    291:  281  000122AA                                         .data   1
                    292:  282  00000514 *                                L421:
                    293:  283  00000514 *  2C206F7031203D2000                   .ascii  ", op1 = \0"
                    294:  284  0000051d *                                       .text
                    295:  285  000122AA    dd 8f00000514                        pushl   $L421
                    296:  286  000122B0    fe 08 effffffdd5                     callf   $8,_writes
                    297:  287  000122B7                                   #          write32h( dbl_value_1.m );
                    298:  288  000122B7    dd effffffdcf                        pushl   _dbl_value_1
                    299:  289  000122BD    fe 08 effffffdc8                     callf   $8,_write32h
                    300:  290  000122C4                                   #          writes(", final Acc. = ");
                    301:  291  000122C4                                         .data   1
                    302:  292  0000051d *                                L422:
                    303:  293  0000051d *  2C2066696E616C204163632E2            .ascii  ", final Acc. = \0"
                    304:                   03D2000
                    305:  294  0000052d *                                       .text
                    306:  295  000122C4    dd 8f0000051d                        pushl   $L422
                    307:  296  000122CA    fe 08 effffffdbb                     callf   $8,_writes
                    308:  297  000122D1                                   #          write32h( post_evt_acc.m );
                    309:  298  000122D1    dd effffffdb5                        pushl   _post_evt_acc
                    310:  299  000122D7    fe 08 effffffdae                     callf   $8,_write32h
                    311:  300  000122DE                                   #          writes(", expected = ");
                    312:  301  000122DE                                         .data   1
                    313:  302  0000052d *                                L423:
                    314:  303  0000052d *  2C206578706563746564203D2            .ascii  ", expected = \0"
                    315:                   000
                    316:  304  0000053b *                                       .text
                    317:  305  000122DE    dd 8f0000052d                        pushl   $L423
                    318:  306  000122E4    fe 08 effffffda1                     callf   $8,_writes
                    319:  307  000122EB                                   #          write32h( dbl_expected.m );        /* the expected result = 0 */
                    320:  308  000122EB    dd effffffd9b                        pushl   _dbl_expected
                    321:  309  000122F1    fe 08 effffffd94                     callf   $8,_write32h
                    322:  310  000122F8                                   #          writec('\n');
                    323:  311  000122F8    dd 0a                                pushl   $10
                    324:  312  000122FA    fe 08 effffffd8b                     callf   $8,_writec
                    325:  313  00012301                                   #     }
                    326:  314  00012301                                   #     if ( halt_flg )                         /* halt on error?           */
                    327:  315  00012301                                  L417:
                    328:  316  00012301    5d effffffd85                        tstl    _halt_flg
                    329:  317  00012307    31 09                                jeql    L424
                    330:  318  00012309                                   #          pipe9_halt( 2 );                   /* halt with a code of 2    */
                    331:  319  00012309    dd 02                                pushl   $2
                    332:  320  0001230B    fe 08 ef00000192                     callf   $8,_pipe9_halt
                    333:  321  00012312                                   #     if ( loop_on_err ) 
                    334:  322  00012312                                  L424:
                    335:  323  00012312    5d effffffd74                        tstl    _loop_on_err
                    336:  324  00012318    31 0d                                jeql    L425
                    337:  325  0001231A                                   #     {
                    338:  326  0001231A                                   #          force_loop = TRUE;         /* set the force loop flag */
                    339:  327  0001231A    0d 01 effffffd6b                     movl    $1,_force_loop
                    340:  328  00012321                                   #          asm("jmp _pipe9_lp1");     /* and loop                */
                    341:  329  00012321    71 effffffe1e                 jmp _pipe9_lp1
                    342:  330  00012327                                   #     };
                    343:  331  00012327                                  L425:
                    344:  332  00012327                                   # }
                    345:  333  00012327    40                                   ret#2
                    346:  334  00012328                                         .set    L413,0x0
                    347:  335  00012328                                  L415:
                    348:  336  00012328    13 ff3a                              jbr     L416
                    349:  337  0001232B                                         .data
                    350:  338  00000488 *                                       .text
                    351:  339  0001232B    00                                   .align  1
                    352:  340  0001232C                                         .globl  _pipe9_queue_er
                    353:  341  0001232C                                  _pipe9_queue_er:
                    354:  342  0001232C    0000                                 .word   L426
                    355:  343  0001232E                                   # 
                    356:  344  0001232E                                   # 
                    357:  345  0001232E                                   # 
                    358:  346  0001232E                                   # 
                    359:  347  0001232E                                   # 
                    360:  348  0001232E                                   # /****************************************************************************
                    361:  349  0001232E                                   # *           Report an "FPP queue not cleared" message
                    362:  350  0001232E                                   # *
                    363:  351  0001232E                                   # * Cycle: xx. EVT test xx. subtest xx. Fpp queue not cleared. index = xx
                    364:  352  0001232E                                   # * inst = LDF op1, DIVF op2, CVLF '2'    ('divide by 0' fault on DIVF)
                    365:  353  0001232E                                   # * The 'Convert '2' to Floating Point' was apparently executed.
                    366:  354  0001232E                                   # * op1 = xxxxxxxx, op2 = xxxxxxxx, final Acc. = xxxxxxxx, expected = xxxxxxxx 
                    367:  355  0001232E                                   # ****************************************************************************/
                    368:  356  0001232E                                   # pipe9_queue_er()
                    369:  357  0001232E                                   # {
                    370:  358  0001232E    13 00c3                              jbr     L428
                    371:  359  00012331                                  L429:
                    372:  360  00012331                                   #     errcnt++;                               /* bump the error count    */
                    373:  361  00012331    6d effffffd55                        incl    _errcnt
                    374:  362  00012337                                   #     if ( prt_error ) 
                    375:  363  00012337    5d effffffd4f                        tstl    _prt_error
                    376:  364  0001233D    21 03 13 008b                        jeql    L430
                    377:  365  00012342                                   #     {
                    378:  366  00012342                                   #          print_pipe9_er( ". Fpp queue not cleared" );
                    379:  367  00012342                                         .data   1
                    380:  368  0000053b *                                L431:
                    381:  369  0000053b *  2E20467070207175657565206            .ascii  ". Fpp queue not cleared\0"
                    382:                   E6F7420636C656172656400
                    383:  370  00000553 *                                       .text
                    384:  371  00012342    dd 8f0000053b                        pushl   $L431
                    385:  372  00012348    fe 08 ef000000a9                     callf   $8,_print_pipe9_er
                    386:  373  0001234F                                   #          writes(
                    387:  374  0001234F                                   #           "The 'Convert '2' to Floating Point' was apparently executed.\n");
                    388:  375  0001234F                                         .data   1
                    389:  376  00000553 *                                L432:
                    390:  377  00000553 *  5468652027436F6E766572742            .ascii  "The 'Convert '2' to Floating Point' was apparently executed.\12\0"
                    391:                   027322720746F20466C6F6174
                    392:                   696E6720506F696E742720776
                    393:                   173206170706172656E746C79
                    394:                   2065786563757465642E0A00
                    395:  378  00000591 *                                       .text
                    396:  379  0001234F    dd 8f00000553                        pushl   $L432
                    397:  380  00012355    fe 08 effffffd30                     callf   $8,_writes
                    398:  381  0001235C                                   #          writes("op1 = ");
                    399:  382  0001235C                                         .data   1
                    400:  383  00000591 *                                L433:
                    401:  384  00000591 *  6F7031203D2000                       .ascii  "op1 = \0"
                    402:  385  00000598 *                                       .text
                    403:  386  0001235C    dd 8f00000591                        pushl   $L433
                    404:  387  00012362    fe 08 effffffd23                     callf   $8,_writes
                    405:  388  00012369                                   #          write32h( dbl_ld_acc.m );
                    406:  389  00012369    dd effffffd1d                        pushl   _dbl_ld_acc
                    407:  390  0001236F    fe 08 effffffd16                     callf   $8,_write32h
                    408:  391  00012376                                   #          writes(", op1 = ");
                    409:  392  00012376                                         .data   1
                    410:  393  00000598 *                                L434:
                    411:  394  00000598 *  2C206F7031203D2000                   .ascii  ", op1 = \0"
                    412:  395  000005a1 *                                       .text
                    413:  396  00012376    dd 8f00000598                        pushl   $L434
                    414:  397  0001237C    fe 08 effffffd09                     callf   $8,_writes
                    415:  398  00012383                                   #          write32h( dbl_value_1.m );
                    416:  399  00012383    dd effffffd03                        pushl   _dbl_value_1
                    417:  400  00012389    fe 08 effffffcfc                     callf   $8,_write32h
                    418:  401  00012390                                   #          writes(", final Acc. = ");
                    419:  402  00012390                                         .data   1
                    420:  403  000005a1 *                                L435:
                    421:  404  000005a1 *  2C2066696E616C204163632E2            .ascii  ", final Acc. = \0"
                    422:                   03D2000
                    423:  405  000005b1 *                                       .text
                    424:  406  00012390    dd 8f000005a1                        pushl   $L435
                    425:  407  00012396    fe 08 effffffcef                     callf   $8,_writes
                    426:  408  0001239D                                   #          write32h( post_evt_acc.m );
                    427:  409  0001239D    dd effffffce9                        pushl   _post_evt_acc
                    428:  410  000123A3    fe 08 effffffce2                     callf   $8,_write32h
                    429:  411  000123AA                                   #          writes(", expected = ");
                    430:  412  000123AA                                         .data   1
                    431:  413  000005b1 *                                L436:
                    432:  414  000005b1 *  2C206578706563746564203D2            .ascii  ", expected = \0"
                    433:                   000
                    434:  415  000005bf *                                       .text
                    435:  416  000123AA    dd 8f000005b1                        pushl   $L436
                    436:  417  000123B0    fe 08 effffffcd5                     callf   $8,_writes
                    437:  418  000123B7                                   #          write32h( 0x80000000 );            /* the expected result = 0 */
                    438:  419  000123B7    dd 8f80000000                        pushl   $-2147483648
                    439:  420  000123BD    fe 08 effffffcc8                     callf   $8,_write32h
                    440:  421  000123C4                                   #          writec('\n');
                    441:  422  000123C4    dd 0a                                pushl   $10
                    442:  423  000123C6    fe 08 effffffcbf                     callf   $8,_writec
                    443:  424  000123CD                                   #     }
                    444:  425  000123CD                                   #     if ( halt_flg )                         /* halt on error?           */
                    445:  426  000123CD                                  L430:
                    446:  427  000123CD    5d effffffcb9                        tstl    _halt_flg
                    447:  428  000123D3    31 09                                jeql    L437
                    448:  429  000123D5                                   #          pipe9_halt( 3 );                   /* halt with a code of 3    */
                    449:  430  000123D5    dd 03                                pushl   $3
                    450:  431  000123D7    fe 08 ef000000c6                     callf   $8,_pipe9_halt
                    451:  432  000123DE                                   #     if ( loop_on_err ) 
                    452:  433  000123DE                                  L437:
                    453:  434  000123DE    5d effffffca8                        tstl    _loop_on_err
                    454:  435  000123E4    31 0d                                jeql    L438
                    455:  436  000123E6                                   #     {
                    456:  437  000123E6                                   #          force_loop = TRUE;         /* set the force loop flag */
                    457:  438  000123E6    0d 01 effffffc9f                     movl    $1,_force_loop
                    458:  439  000123ED                                   #          asm("jmp _pipe9_lp1");     /* and loop                */
                    459:  440  000123ED    71 effffffd52                 jmp _pipe9_lp1
                    460:  441  000123F3                                   #     };
                    461:  442  000123F3                                  L438:
                    462:  443  000123F3                                   # }
                    463:  444  000123F3    40                                   ret#2
                    464:  445  000123F4                                         .set    L426,0x0
                    465:  446  000123F4                                  L428:
                    466:  447  000123F4    13 ff3a                              jbr     L429
                    467:  448  000123F7                                         .data
                    468:  449  00000488 *                                       .text
                    469:  450  000123F7    00                                   .align  1
                    470:  451  000123F8                                         .globl  _print_pipe9_er
                    471:  452  000123F8                                  _print_pipe9_er:
                    472:  453  000123F8    0000                                 .word   L439
                    473:  454  000123FA                                   # 
                    474:  455  000123FA                                   # 
                    475:  456  000123FA                                   # 
                    476:  457  000123FA                                   # 
                    477:  458  000123FA                                   # /****************************************************************************
                    478:  459  000123FA                                   # *           Report an error message of the form:
                    479:  460  000123FA                                   # *
                    480:  461  000123FA                                   # * Cycle: xx. EVT test xx. subtest xx. <your message here> index = xx
                    481:  462  000123FA                                   # * inst = LDF op1, DIVF op2, CVLF '2'    ('divide by 0' fault on DIVF)
                    482:  463  000123FA                                   # ****************************************************************************/
                    483:  464  000123FA                                   # print_pipe9_er( msg )
                    484:  465  000123FA                                   # char *msg;                                  /* error message to print   */
                    485:  466  000123FA                                   # {
                    486:  467  000123FA    13 00a3                              jbr     L441
                    487:  468  000123FD                                  L442:
                    488:  469  000123FD                                   #          if( errcnt == 1 )                  /* 1st error?               */
                    489:  470  000123FD    1d effffffc89 01                     cmpl    _errcnt,$1
                    490:  471  00012404    21 0d                                jneq    L443
                    491:  472  00012406                                   #               writes(" \n");                /* start a new print line   */
                    492:  473  00012406                                         .data   1
                    493:  474  000005bf *                                L444:
                    494:  475  000005bf *  200A00                               .ascii  " \12\0"
                    495:  476  000005c2 *                                       .text
                    496:  477  00012406    dd 8f000005bf                        pushl   $L444
                    497:  478  0001240C    fe 08 effffffc79                     callf   $8,_writes
                    498:  479  00012413                                   #          writes("Cycle: ");
                    499:  480  00012413                                  L443:
                    500:  481  00012413                                         .data   1
                    501:  482  000005c2 *                                L445:
                    502:  483  000005c2 *  4379636C653A2000                     .ascii  "Cycle: \0"
                    503:  484  000005ca *                                       .text
                    504:  485  00012413    dd 8f000005c2                        pushl   $L445
                    505:  486  00012419    fe 08 effffffc6c                     callf   $8,_writes
                    506:  487  00012420                                   #          writed( cycle );
                    507:  488  00012420    dd effffffc66                        pushl   _cycle
                    508:  489  00012426    fe 08 effffffc5f                     callf   $8,_writed
                    509:  490  0001242D                                   #          writes("  EVT test ");
                    510:  491  0001242D                                         .data   1
                    511:  492  000005ca *                                L447:
                    512:  493  000005ca *  202045565420746573742000             .ascii  "  EVT test \0"
                    513:  494  000005d6 *                                       .text
                    514:  495  0001242D    dd 8f000005ca                        pushl   $L447
                    515:  496  00012433    fe 08 effffffc52                     callf   $8,_writes
                    516:  497  0001243A                                   #          writed( test_no );
                    517:  498  0001243A    dd effffffc4c                        pushl   _test_no
                    518:  499  00012440    fe 08 effffffc45                     callf   $8,_writed
                    519:  500  00012447                                   #          writes(". subtest ");
                    520:  501  00012447                                         .data   1
                    521:  502  000005d6 *                                L448:
                    522:  503  000005d6 *  2E20737562746573742000               .ascii  ". subtest \0"
                    523:  504  000005e1 *                                       .text
                    524:  505  00012447    dd 8f000005d6                        pushl   $L448
                    525:  506  0001244D    fe 08 effffffc38                     callf   $8,_writes
                    526:  507  00012454                                   #          writed( subtest );
                    527:  508  00012454    dd effffffc32                        pushl   _subtest
                    528:  509  0001245A    fe 08 effffffc2b                     callf   $8,_writed
                    529:  510  00012461                                   #          writes( msg );                     /* print the message */
                    530:  511  00012461    dd ad04                              pushl   4(fp)
                    531:  512  00012464    fe 08 effffffc21                     callf   $8,_writes
                    532:  513  0001246B                                   #          writes(" index = ");
                    533:  514  0001246B                                         .data   1
                    534:  515  000005e1 *                                L449:
                    535:  516  000005e1 *  20696E646578203D2000                 .ascii  " index = \0"
                    536:  517  000005eb *                                       .text
                    537:  518  0001246B    dd 8f000005e1                        pushl   $L449
                    538:  519  00012471    fe 08 effffffc14                     callf   $8,_writes
                    539:  520  00012478                                   #          writed( index );
                    540:  521  00012478    dd effffffc0e                        pushl   _index
                    541:  522  0001247E    fe 08 effffffc07                     callf   $8,_writed
                    542:  523  00012485                                   #          writes("\ninst = LDF op1, DIVF op2, CVLF '2'");
                    543:  524  00012485                                         .data   1
                    544:  525  000005eb *                                L450:
                    545:  526  000005eb *  0A696E7374203D204C4446206            .ascii  "\12inst = LDF op1, DIVF op2, CVLF '2'\0"
                    546:                   F70312C2044495646206F7032
                    547:                   2C2043564C462027322700
                    548:  527  0000060f *                                       .text
                    549:  528  00012485    dd 8f000005eb                        pushl   $L450
                    550:  529  0001248B    fe 08 effffffbfa                     callf   $8,_writes
                    551:  530  00012492                                   #          writes("    ('divide by 0' fault on DIVF)\n");
                    552:  531  00012492                                         .data   1
                    553:  532  0000060f *                                L451:
                    554:  533  0000060f *  2020202028276469766964652            .ascii  "    ('divide by 0' fault on DIVF)\12\0"
                    555:                   06279203027206661756C7420
                    556:                   6F6E2044495646290A00
                    557:  534  00000632 *                                       .text
                    558:  535  00012492    dd 8f0000060f                        pushl   $L451
                    559:  536  00012498    fe 08 effffffbed                     callf   $8,_writes
                    560:  537  0001249F                                   # }
                    561:  538  0001249F    40                                   ret#2
                    562:  539  000124A0                                         .set    L439,0x0
                    563:  540  000124A0                                  L441:
                    564:  541  000124A0    13 ff5a                              jbr     L442
                    565:  542  000124A3                                         .data
                    566:  543  00000488 *                                       .text
                    567:  544  000124A3    00                                   .align  1
                    568:  545  000124A4                                         .globl  _pipe9_halt
                    569:  546  000124A4                                  _pipe9_halt:
                    570:  547  000124A4    0000                                 .word   L452
                    571:  548  000124A6                                   # 
                    572:  549  000124A6                                   # 
                    573:  550  000124A6                                   # 
                    574:  551  000124A6                                   # /****************************************************************************
                    575:  552  000124A6                                   # *           halt on error routine
                    576:  553  000124A6                                   # ****************************************************************************/
                    577:  554  000124A6                                   # pipe9_halt( code )
                    578:  555  000124A6                                   # int code;                           /* error code to halt with */
                    579:  556  000124A6                                   # {
                    580:  557  000124A6    11 6a                                jbr     L454
                    581:  558  000124A8                                  L455:
                    582:  559  000124A8                                   #     err_code = code;
                    583:  560  000124A8    0d ad04 effffffbdc                   movl    4(fp),_err_code
                    584:  561  000124B0                                   #     sgl_value_1 = dbl_ld_acc.m;
                    585:  562  000124B0    0d effffffbd6 effffffbd1             movl    _dbl_ld_acc,_sgl_value_1
                    586:  563  000124BB                                   #     sgl_value_2 = dbl_value_1.m;
                    587:  564  000124BB    0d effffffbcb effffffbc6             movl    _dbl_value_1,_sgl_value_2
                    588:  565  000124C6                                   #     sgl_value_3 = post_evt_acc.m;
                    589:  566  000124C6    0d effffffbc0 effffffbbb             movl    _post_evt_acc,_sgl_value_3
                    590:  567  000124D1                                   #     asm("movl _test_no,r0");                /* r0 = test number          */
                    591:  568  000124D1    0d effffffbb5 50              movl _test_no,r0
                    592:  569  000124D8                                   #     asm("movl _subtest,r1");                /* r1 = subtest number       */
                    593:  570  000124D8    0d effffffbae 51              movl _subtest,r1
                    594:  571  000124DF                                   #     asm("movl _err_code,r2");               /* r2 = error code           */
                    595:  572  000124DF    0d effffffba7 52              movl _err_code,r2
                    596:  573  000124E6                                   #     asm("movl _cycle,r3");                  /* r3 = cycle count          */
                    597:  574  000124E6    0d effffffba0 53              movl _cycle,r3
                    598:  575  000124ED                                   #     asm("movl _sgl_value_1,r4");            /* r4 = initial accumulator  */
                    599:  576  000124ED    0d effffffb99 54              movl _sgl_value_1,r4
                    600:  577  000124F4                                   #     asm("movl _sgl_value_2,r5");            /* r5 = divide operand       */
                    601:  578  000124F4    0d effffffb92 55              movl _sgl_value_2,r5
                    602:  579  000124FB                                   #     asm("movl _sgl_value_3,r6");            /* r6 = final accumulator    */
                    603:  580  000124FB    0d effffffb8b 56              movl _sgl_value_3,r6
                    604:  581  00012502                                   #     asm("movl $0x80000000,r7");             /* r7 = expected accumulator */
                    605:  582  00012502    0d 8f80000000 57              movl $0x80000000,r7
                    606:  583  00012509                                   #     asm("movl _index,r8");                  /* r8 = data index           */
                    607:  584  00012509    0d effffffb7d 58              movl _index,r8
                    608:  585  00012510                                   #     asm("halt");                            /* HALT ...                  */
                    609:  586  00012510    00                            halt
                    610:  587  00012511                                   # }
                    611:  588  00012511    40                                   ret#2
                    612:  589  00012512                                         .set    L452,0x0
                    613:  590  00012512                                  L454:
                    614:  591  00012512    11 94                                jbr     L455
                    615:  592  00000488 *                                       .data
                    616:  592  00000488 *                                       .data

unix.superglobalmegacorp.com

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