Annotation of cci/d/macro4/mull2.lst, revision 1.1.1.1

1.1       root        1:    1  00000000                                  LL0:
                      2:    2  00000000                                         .data
                      3:    3  00000d58 *                                       .text
                      4:    4  00000000                                         .align  1
                      5:    5  00000000                                         .globl  _mull2
                      6:    6  00000000                                  _mull2:
                      7:    7  00023F34    0000                                 .word   L215
                      8:    8  00023F36                                   # #include "fpp_defs.h"
                      9:    9  00023F36                                   # 
                     10:   10  00023F36                                   # 
                     11:   11  00023F36                                   # /***************************************************************************
                     12:   12  00023F36                                   # *
                     13:   13  00023F36                                   # *       MULL2 -MULTIPLY INTEGER 2 INSTRUCTION TEST
                     14:   14  00023F36                                   # *
                     15:   15  00023F36                                   # *****************************************************************************/
                     16:   16  00023F36                                   # mull2()
                     17:   17  00023F36                                   # {
                     18:   18  00023F36    11 4f                                jbr     L217
                     19:   19  00023F38                                  L218:
                     20:   20  00023F38                                   #         asm(".globl _mull2_t");
                     21:   21  00023F38                                  .globl _mull2_t
                     22:   22  00023F38                                   #         asm("_mull2_t:");                       /* entry address            */
                     23:   23  00023F38                                  _mull2_t:
                     24:   24  00023F38                                   #         if( (cycle == 1) && (prt_hdrs) )        /* print headers on 1st cycle */
                     25:   25  00023F38    1d effffffff6 01                     cmpl    _cycle,$1
                     26:   26  00023F3F    21 15                                jneq    L219
                     27:   27  00023F41    5d efffffffed                        tstl    _prt_hdrs
                     28:   28  00023F47    31 0d                                jeql    L219
                     29:   29  00023F49                                   #         {
                     30:   30  00023F49                                   #            writes(" MULL2");
                     31:   31  00023F49                                         .data   1
                     32:   32  00000d58 *                                L221:
                     33:   33  00000d58 *  204D554C4C3200                       .ascii  " MULL2\0"
                     34:   34  00000d5f *                                       .text
                     35:   35  00023F49    dd 8f00000d58                        pushl   $L221
                     36:   36  00023F4F    fe 08 efffffffde                     callf   $8,_writes
                     37:   37  00023F56                                   #         }
                     38:   38  00023F56                                   #         mull2_1();                              /* register data / SGL acc. */
                     39:   39  00023F56                                  L219:
                     40:   40  00023F56    fe 04 ef0000002d                     callf   $4,_mull2_1
                     41:   41  00023F5D                                   #         mull2_2();                              /* memory data   / DBL acc. */
                     42:   42  00023F5D    fe 04 ef000001d2                     callf   $4,_mull2_2
                     43:   43  00023F64                                   #         mull2_3();                              /* register corruption test */
                     44:   44  00023F64    fe 04 ef000003db                     callf   $4,_mull2_3
                     45:   45  00023F6B                                   #         mull2_4();                              /* PSL corruption test      */
                     46:   46  00023F6B    fe 04 ef0000056a                     callf   $4,_mull2_4
                     47:   47  00023F72                                   #         mull2_5();                              /* pipelined entry test     */
                     48:   48  00023F72    fe 04 ef0000070d                     callf   $4,_mull2_5
                     49:   49  00023F79                                   #         mull2_6();                              /* pipelined exit test      */
                     50:   50  00023F79    fe 04 ef000008d8                     callf   $4,_mull2_6
                     51:   51  00023F80                                   #         asm("jmp *return");                     /* return to the test monitor */
                     52:   52  00023F80    71 ffffffffae                 jmp *return
                     53:   53  00023F86                                   # }
                     54:   54  00023F86    40                                   ret#2
                     55:   55  00023F87                                         .set    L215,0x0
                     56:   56  00023F87                                  L217:
                     57:   57  00023F87    11 af                                jbr     L218
                     58:   58  00023F89                                         .data
                     59:   59  00000d58 *                                       .text
                     60:   60  00023F89    00                                   .align  1
                     61:   61  00023F8A                                         .globl  _mull2_1
                     62:   62  00023F8A                                  _mull2_1:
                     63:   63  00023F8A    0000                                 .word   L228
                     64:   64  00023F8C                                   #   
                     65:   65  00023F8C                                   # 
                     66:   66  00023F8C                                   # 
                     67:   67  00023F8C                                   # /************************************************************************
                     68:   68  00023F8C                                   # *
                     69:   69  00023F8C                                   # *        SUBTEST 1 - register addressing / single precsion accumulator
                     70:   70  00023F8C                                   # *
                     71:   71  00023F8C                                   # ************************************************************************/
                     72:   72  00023F8C                                   # mull2_1() 
                     73:   73  00023F8C                                   # {
                     74:   74  00023F8C    13 01a4                              jbr     L230
                     75:   75  00023F8F                                  L231:
                     76:   76  00023F8F                                   #         force_loop = FALSE;
                     77:   77  00023F8F    4d efffffff9f                        clrl    _force_loop
                     78:   78  00023F95                                   #         subtest = 1;
                     79:   79  00023F95    0d 01 efffffff98                     movl    $1,_subtest
                     80:   80  00023F9C                                   #         for( index = 0; index < max_mull_1_index; index++ ) {
                     81:   81  00023F9C    4d efffffff92                        clrl    _index
                     82:   82  00023FA2                                  L234:
                     83:   83  00023FA2    1d efffffff8c efffffff87             cmpl    _index,_max_mull_1_index
                     84:   84  00023FAD    91 03 13 0180                        jgeq    L233
                     85:   85  00023FB2                                   #            sgl_value_1  = mull_1_data[index].op_1; /* get operand 1        */
                     86:   86  00023FB2    5c 0c efffffff7b 50                  mull3   $12,_index,r0
                     87:   87  00023FBA    0d e000000000 efffffff6f             movl    _mull_1_data(r0),_sgl_value_1
                     88:   88  00023FC5                                   #            sgl_value_2  = mull_1_data[index].op_2; /* get operand 2        */
                     89:   89  00023FC5    5c 0c efffffff68 50                  mull3   $12,_index,r0
                     90:   90  00023FCD    0d e000000004 efffffff5c             movl    _mull_1_data+4(r0),_sgl_value_2
                     91:   91  00023FD8                                   #        sgl_value_4  = mull_1_data[index].exp;  /* get expected results */
                     92:   92  00023FD8    5c 0c efffffff55 50                  mull3   $12,_index,r0
                     93:   93  00023FE0    0d e000000008 efffffff49             movl    _mull_1_data+8(r0),_sgl_value_4
                     94:   94  00023FEB                                   #            sgl_ld_acc   = 0x12345678;                  /* set acc data pattern */
                     95:   95  00023FEB    0d 8f12345678 efffffff3e             movl    $305419896,_sgl_ld_acc
                     96:   96  00023FF6                                   #        sgl_expected = sgl_ld_acc;              /* final Acc expected   */
                     97:   97  00023FF6    0d efffffff38 efffffff33             movl    _sgl_ld_acc,_sgl_expected
                     98:   98  00024001                                   # /*
                     99:   99  00024001                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    100:  100  00024001                                   # */
                    101:  101  00024001                                   #            asm("_mull2_1_lp1:");
                    102:  102  00024001                                  _mull2_1_lp1:
                    103:  103  00024001                                   #            asm("movl _sgl_value_1,r3");         /* move the 1st data to r3 */
                    104:  104  00024001    0d efffffff2d 53              movl _sgl_value_1,r3
                    105:  105  00024008                                   #            asm("movl _sgl_value_2,r4");         /* move the 2nd data to r4 */
                    106:  106  00024008    0d efffffff26 54              movl _sgl_value_2,r4
                    107:  107  0002400F                                   #            asm("movl _sgl_ld_acc,r5");      /* move the acc data to r5 */
                    108:  108  0002400F    0d efffffff1f 55              movl _sgl_ld_acc,r5
                    109:  109  00024016                                   #            asm("ldf r5");                   /* load the acc            */
                    110:  110  00024016    06 55                         ldf r5
                    111:  111  00024018                                   #        asm("mull2 r3,r4");                  /* do the multiply         */
                    112:  112  00024018    4c 53 54                      mull2 r3,r4
                    113:  113  0002401B                                   #            asm("nop");
                    114:  114  0002401B    10                            nop
                    115:  115  0002401C                                   #            asm("stf _sgl_st_acc");          /* save the acc            */
                    116:  116  0002401C    26 efffffff12                 stf _sgl_st_acc
                    117:  117  00024022                                   #            if( force_loop )
                    118:  118  00024022    5d efffffff0c                        tstl    _force_loop
                    119:  119  00024028    31 02                                jeql    L235
                    120:  120  0002402A                                   #                 asm("brb _mull2_1_lp1");;
                    121:  121  0002402A    11 d5                         brb _mull2_1_lp1
                    122:  122  0002402C                                  L235:
                    123:  123  0002402C                                   #            asm("movl r4,_sgl_value_3");
                    124:  124  0002402C    0d 54 efffffff01              movl r4,_sgl_value_3
                    125:  125  00024033                                   #        if( sgl_expected != sgl_st_acc )  {   /* COMPARE the values      */
                    126:  126  00024033    1d effffffefb effffffef6             cmpl    _sgl_expected,_sgl_st_acc
                    127:  127  0002403E    21 03 13 0098                        jeql    L236
                    128:  128  00024043                                   #               errcnt++;                         /* bump the error count    */
                    129:  129  00024043    6d effffffeeb                        incl    _errcnt
                    130:  130  00024049                                   #               if ( prt_error ) {
                    131:  131  00024049    5d effffffee5                        tstl    _prt_error
                    132:  132  0002404F    31 64                                jeql    L237
                    133:  133  00024051                                   #                   print_mull2_error("(Reg. Data) -THE ACC WAS MODIFIED");
                    134:  134  00024051                                         .data   1
                    135:  135  00000d5f *                                L239:
                    136:  136  00000d5f *  285265672E204461746129202            .ascii  "(Reg. Data) -THE ACC WAS MODIFIED\0"
                    137:                   D544845204143432057415320
                    138:                   4D4F44494649454400
                    139:  137  00000d81 *                                       .text
                    140:  138  00024051    dd 8f00000d5f                        pushl   $L239
                    141:  139  00024057    fe 08 ef000009cc                     callf   $8,_print_mull2_error
                    142:  140  0002405E                                   #               writes("initial Acc = ");
                    143:  141  0002405E                                         .data   1
                    144:  142  00000d81 *                                L240:
                    145:  143  00000d81 *  696E697469616C20416363203            .ascii  "initial Acc = \0"
                    146:                   D2000
                    147:  144  00000d90 *                                       .text
                    148:  145  0002405E    dd 8f00000d81                        pushl   $L240
                    149:  146  00024064    fe 08 effffffec9                     callf   $8,_writes
                    150:  147  0002406B                                   #                   write32h( sgl_ld_acc );
                    151:  148  0002406B    dd effffffec3                        pushl   _sgl_ld_acc
                    152:  149  00024071    fe 08 effffffebc                     callf   $8,_write32h
                    153:  150  00024078                                   #                   writes(",     final Acc = ");
                    154:  151  00024078                                         .data   1
                    155:  152  00000d90 *                                L242:
                    156:  153  00000d90 *  2C202020202066696E616C204            .ascii  ",     final Acc = \0"
                    157:                   16363203D2000
                    158:  154  00000da3 *                                       .text
                    159:  155  00024078    dd 8f00000d90                        pushl   $L242
                    160:  156  0002407E    fe 08 effffffeaf                     callf   $8,_writes
                    161:  157  00024085                                   #                   write32h( sgl_st_acc );
                    162:  158  00024085    dd effffffea9                        pushl   _sgl_st_acc
                    163:  159  0002408B    fe 08 effffffea2                     callf   $8,_write32h
                    164:  160  00024092                                   #               writes("\n                         expected Acc = ");
                    165:  161  00024092                                         .data   1
                    166:  162  00000da3 *                                L243:
                    167:  163  00000da3 *  0A20202020202020202020202            .ascii  "\12                         expected Acc = \0"
                    168:                   0202020202020202020202020
                    169:                   2065787065637465642041636
                    170:                   3203D2000
                    171:  164  00000dcd *                                       .text
                    172:  165  00024092    dd 8f00000da3                        pushl   $L243
                    173:  166  00024098    fe 08 effffffe95                     callf   $8,_writes
                    174:  167  0002409F                                   #                   write32h( sgl_expected );
                    175:  168  0002409F    dd effffffe8f                        pushl   _sgl_expected
                    176:  169  000240A5    fe 08 effffffe88                     callf   $8,_write32h
                    177:  170  000240AC                                   #                   writec('\n');
                    178:  171  000240AC    dd 0a                                pushl   $10
                    179:  172  000240AE    fe 08 effffffe7f                     callf   $8,_writec
                    180:  173  000240B5                                   #               }
                    181:  174  000240B5                                   #           if ( halt_flg )                   /* halt on error?          */
                    182:  175  000240B5                                  L237:
                    183:  176  000240B5    5d effffffe79                        tstl    _halt_flg
                    184:  177  000240BB    31 09                                jeql    L245
                    185:  178  000240BD                                   #                   mull2_halt( 4 );
                    186:  179  000240BD    dd 04                                pushl   $4
                    187:  180  000240BF    fe 08 ef00000a6a                     callf   $8,_mull2_halt
                    188:  181  000240C6                                   #               if ( loop_on_err ) {
                    189:  182  000240C6                                  L245:
                    190:  183  000240C6    5d effffffe68                        tstl    _loop_on_err
                    191:  184  000240CC    31 0d                                jeql    L247
                    192:  185  000240CE                                   #                   force_loop = TRUE;            /* set the force loop flag */
                    193:  186  000240CE    0d 01 effffffe5f                     movl    $1,_force_loop
                    194:  187  000240D5                                   #                   asm("jmp _mull2_1_lp1");      /* and loop                */
                    195:  188  000240D5    71 efffffff26                 jmp _mull2_1_lp1
                    196:  189  000240DB                                   #               }  /* end of loop-on-error */
                    197:  190  000240DB                                   #            } /* end of acc corr error */
                    198:  191  000240DB                                  L247:
                    199:  192  000240DB                                   #        if( sgl_value_4 != sgl_value_3 )    /* COMPARE the values      */
                    200:  193  000240DB                                  L236:
                    201:  194  000240DB    1d effffffe53 effffffe4e             cmpl    _sgl_value_4,_sgl_value_3
                    202:  195  000240E6    31 41                                jeql    L248
                    203:  196  000240E8                                   #            {
                    204:  197  000240E8                                   #               errcnt++;                         /* bump the error count    */
                    205:  198  000240E8    6d effffffe46                        incl    _errcnt
                    206:  199  000240EE                                   #               if ( prt_error ) {
                    207:  200  000240EE    5d effffffe40                        tstl    _prt_error
                    208:  201  000240F4    31 0d                                jeql    L249
                    209:  202  000240F6                                   #                   print_mull2_error("(Reg. Data) -BAD MULTIPLY RESULT");
                    210:  203  000240F6                                         .data   1
                    211:  204  00000dcd *                                L250:
                    212:  205  00000dcd *  285265672E204461746129202            .ascii  "(Reg. Data) -BAD MULTIPLY RESULT\0"
                    213:                   D424144204D554C5449504C59
                    214:                   20524553554C5400
                    215:  206  00000dee *                                       .text
                    216:  207  000240F6    dd 8f00000dcd                        pushl   $L250
                    217:  208  000240FC    fe 08 ef00000927                     callf   $8,_print_mull2_error
                    218:  209  00024103                                   #               }
                    219:  210  00024103                                   #           if ( halt_flg )                   /* halt on error?          */
                    220:  211  00024103                                  L249:
                    221:  212  00024103    5d effffffe2b                        tstl    _halt_flg
                    222:  213  00024109    31 09                                jeql    L251
                    223:  214  0002410B                                   #                   mull2_halt( 1 );
                    224:  215  0002410B    dd 01                                pushl   $1
                    225:  216  0002410D    fe 08 ef00000a1c                     callf   $8,_mull2_halt
                    226:  217  00024114                                   #               if ( loop_on_err ) {
                    227:  218  00024114                                  L251:
                    228:  219  00024114    5d effffffe1a                        tstl    _loop_on_err
                    229:  220  0002411A    31 0d                                jeql    L252
                    230:  221  0002411C                                   #                   force_loop = TRUE;            /* set the force loop flag */
                    231:  222  0002411C    0d 01 effffffe11                     movl    $1,_force_loop
                    232:  223  00024123                                   #                   asm("jmp _mull2_1_lp1");      /* and loop                */
                    233:  224  00024123    71 effffffed8                 jmp _mull2_1_lp1
                    234:  225  00024129                                   #               }  /* end of loop-on-error */
                    235:  226  00024129                                   #            } /* end of multiply error */
                    236:  227  00024129                                  L252:
                    237:  228  00024129                                   #         }
                    238:  229  00024129                                  L248:
                    239:  230  00024129                                  L232:
                    240:  231  00024129    6d effffffe05                        incl    _index
                    241:  232  0002412F    13 fe70                              jbr     L234
                    242:  233  00024132                                  L233:
                    243:  234  00024132                                   # }  /* end of subtest 1 */
                    244:  235  00024132    40                                   ret#2
                    245:  236  00024133                                         .set    L228,0x0
                    246:  237  00024133                                  L230:
                    247:  238  00024133    13 fe59                              jbr     L231
                    248:  239  00024136                                         .data
                    249:  240  00000d58 *                                       .text
                    250:  241  00024136                                         .align  1
                    251:  242  00024136                                         .globl  _mull2_2
                    252:  243  00024136                                  _mull2_2:
                    253:  244  00024136    0000                                 .word   L253
                    254:  245  00024138                                   #   
                    255:  246  00024138                                   # 
                    256:  247  00024138                                   # 
                    257:  248  00024138                                   # /************************************************************************
                    258:  249  00024138                                   # *
                    259:  250  00024138                                   # *        SUBTEST 2 - cache addressing / double precsion accumulator
                    260:  251  00024138                                   # *
                    261:  252  00024138                                   # ************************************************************************/
                    262:  253  00024138                                   # mull2_2() 
                    263:  254  00024138                                   # {
                    264:  255  00024138    13 0207                              jbr     L255
                    265:  256  0002413B                                  L256:
                    266:  257  0002413B                                   #         force_loop = FALSE;
                    267:  258  0002413B    4d effffffdf3                        clrl    _force_loop
                    268:  259  00024141                                   #         subtest = 2;
                    269:  260  00024141    0d 02 effffffdec                     movl    $2,_subtest
                    270:  261  00024148                                   #         for( index = 0; index < max_mull_1_index; index++ ) {
                    271:  262  00024148    4d effffffde6                        clrl    _index
                    272:  263  0002414E                                  L259:
                    273:  264  0002414E    1d effffffde0 effffffddb             cmpl    _index,_max_mull_1_index
                    274:  265  00024159    91 03 13 01e3                        jgeq    L258
                    275:  266  0002415E                                   #            sgl_value_1  = mull_1_data[index].op_1; /* get operand 1        */
                    276:  267  0002415E    5c 0c effffffdcf 50                  mull3   $12,_index,r0
                    277:  268  00024166    0d e000000000 effffffdc3             movl    _mull_1_data(r0),_sgl_value_1
                    278:  269  00024171                                   #            sgl_value_2  = mull_1_data[index].op_2; /* get operand 2        */
                    279:  270  00024171    5c 0c effffffdbc 50                  mull3   $12,_index,r0
                    280:  271  00024179    0d e000000004 effffffdb0             movl    _mull_1_data+4(r0),_sgl_value_2
                    281:  272  00024184                                   #        sgl_value_4  = mull_1_data[index].exp;  /* get expected results */
                    282:  273  00024184    5c 0c effffffda9 50                  mull3   $12,_index,r0
                    283:  274  0002418C    0d e000000008 effffffd9d             movl    _mull_1_data+8(r0),_sgl_value_4
                    284:  275  00024197                                   #            dbl_ld_acc.m = 0x12345678;                  /* set acc data pattern */
                    285:  276  00024197    0d 8f12345678 effffffd92             movl    $305419896,_dbl_ld_acc
                    286:  277  000241A2                                   #            dbl_ld_acc.l = 0x9abcdef0;
                    287:  278  000241A2    0d 8f9abcdef0 effffffd8b             movl    $-1698898192,_dbl_ld_acc+4
                    288:  279  000241AD                                   #        dbl_expected.m = dbl_ld_acc.m;          /* final Acc expected   */
                    289:  280  000241AD    0d effffffd81 effffffd7c             movl    _dbl_ld_acc,_dbl_expected
                    290:  281  000241B8                                   #        dbl_expected.l = dbl_ld_acc.l;
                    291:  282  000241B8    0d effffffd7a effffffd75             movl    _dbl_ld_acc+4,_dbl_expected+4
                    292:  283  000241C3                                   # /*
                    293:  284  000241C3                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    294:  285  000241C3                                   # */
                    295:  286  000241C3                                   #            asm("_mull2_2_lp1:");
                    296:  287  000241C3                                  _mull2_2_lp1:
                    297:  288  000241C3                                   #        sgl_value_3 = sgl_value_2;           /* set initial op 2 data   */
                    298:  289  000241C3    0d effffffd6b effffffd66             movl    _sgl_value_2,_sgl_value_3
                    299:  290  000241CE                                   #            asm("ldd _dbl_ld_acc");          /* load the acc            */
                    300:  291  000241CE    07 effffffd60                 ldd _dbl_ld_acc
                    301:  292  000241D4                                   #        asm("mull2 _sgl_value_1,_sgl_value_3"); /* multiply the integers */
                    302:  293  000241D4    4c effffffd5a effffffd55      mull2 _sgl_value_1,_sgl_value_3
                    303:  294  000241DF                                   #            asm("nop");
                    304:  295  000241DF    10                            nop
                    305:  296  000241E0                                   #            asm("std _dbl_st_acc");          /* save the acc            */
                    306:  297  000241E0    27 effffffd4e                 std _dbl_st_acc
                    307:  298  000241E6                                   #            if( force_loop )
                    308:  299  000241E6    5d effffffd48                        tstl    _force_loop
                    309:  300  000241EC    31 02                                jeql    L260
                    310:  301  000241EE                                   #                 asm("brb _mull2_2_lp1");;
                    311:  302  000241EE    11 d3                         brb _mull2_2_lp1
                    312:  303  000241F0                                  L260:
                    313:  304  000241F0                                   #        if( (dbl_expected.m != dbl_st_acc.m) ||    /* COMPARE the Acc */
                    314:  305  000241F0                                   #            (dbl_expected.l != dbl_st_acc.l) )  { 
                    315:  306  000241F0    1d effffffd3e effffffd39             cmpl    _dbl_expected,_dbl_st_acc
                    316:  307  000241FB    21 10                                jneq    L9999
                    317:  308  000241FD    1d effffffd35 effffffd30             cmpl    _dbl_expected+4,_dbl_st_acc+4
                    318:  309  00024208    21 03 13 00dd                        jeql    L261
                    319:  310  0002420D                                  L9999:
                    320:  311  0002420D                                   #               errcnt++;                         /* bump the error count    */
                    321:  312  0002420D    6d effffffd21                        incl    _errcnt
                    322:  313  00024213                                   #               if ( prt_error ) {
                    323:  314  00024213    5d effffffd1b                        tstl    _prt_error
                    324:  315  00024219    21 03 13 00a6                        jeql    L262
                    325:  316  0002421E                                   #                   print_mull2_error("(Memory data) -THE ACC WAS MODIFIED");
                    326:  317  0002421E                                         .data   1
                    327:  318  00000dee *                                L263:
                    328:  319  00000dee *  284D656D6F727920646174612            .ascii  "(Memory data) -THE ACC WAS MODIFIED\0"
                    329:                   9202D54484520414343205741
                    330:                   53204D4F44494649454400
                    331:  320  00000e12 *                                       .text
                    332:  321  0002421E    dd 8f00000dee                        pushl   $L263
                    333:  322  00024224    fe 08 ef000007ff                     callf   $8,_print_mull2_error
                    334:  323  0002422B                                   #               writes("initial Acc = ");
                    335:  324  0002422B                                         .data   1
                    336:  325  00000e12 *                                L264:
                    337:  326  00000e12 *  696E697469616C20416363203            .ascii  "initial Acc = \0"
                    338:                   D2000
                    339:  327  00000e21 *                                       .text
                    340:  328  0002422B    dd 8f00000e12                        pushl   $L264
                    341:  329  00024231    fe 08 effffffcfc                     callf   $8,_writes
                    342:  330  00024238                                   #                   write32h( dbl_ld_acc.m );
                    343:  331  00024238    dd effffffcf6                        pushl   _dbl_ld_acc
                    344:  332  0002423E    fe 08 effffffcef                     callf   $8,_write32h
                    345:  333  00024245                                   #               writec(' ');
                    346:  334  00024245    dd 20                                pushl   $32
                    347:  335  00024247    fe 08 effffffce6                     callf   $8,_writec
                    348:  336  0002424E                                   #                   write32h( dbl_ld_acc.l );
                    349:  337  0002424E    dd effffffce4                        pushl   _dbl_ld_acc+4
                    350:  338  00024254    fe 08 effffffcd9                     callf   $8,_write32h
                    351:  339  0002425B                                   #                   writes(",     final Acc = ");
                    352:  340  0002425B                                         .data   1
                    353:  341  00000e21 *                                L265:
                    354:  342  00000e21 *  2C202020202066696E616C204            .ascii  ",     final Acc = \0"
                    355:                   16363203D2000
                    356:  343  00000e34 *                                       .text
                    357:  344  0002425B    dd 8f00000e21                        pushl   $L265
                    358:  345  00024261    fe 08 effffffccc                     callf   $8,_writes
                    359:  346  00024268                                   #                   write32h( dbl_st_acc.m );
                    360:  347  00024268    dd effffffcc6                        pushl   _dbl_st_acc
                    361:  348  0002426E    fe 08 effffffcbf                     callf   $8,_write32h
                    362:  349  00024275                                   #               writec(' ');
                    363:  350  00024275    dd 20                                pushl   $32
                    364:  351  00024277    fe 08 effffffcb6                     callf   $8,_writec
                    365:  352  0002427E                                   #                   write32h( dbl_st_acc.l );
                    366:  353  0002427E    dd effffffcb4                        pushl   _dbl_st_acc+4
                    367:  354  00024284    fe 08 effffffca9                     callf   $8,_write32h
                    368:  355  0002428B                                   #               writes("\n                                  expected Acc = ");
                    369:  356  0002428B                                         .data   1
                    370:  357  00000e34 *                                L266:
                    371:  358  00000e34 *  0A20202020202020202020202            .ascii  "\12                                  expected Acc = \0"
                    372:                   0202020202020202020202020
                    373:                   2020202020202020202065787
                    374:                   0656374656420416363203D20
                    375:                   00
                    376:  359  00000e67 *                                       .text
                    377:  360  0002428B    dd 8f00000e34                        pushl   $L266
                    378:  361  00024291    fe 08 effffffc9c                     callf   $8,_writes
                    379:  362  00024298                                   #                   write32h( dbl_expected.m );
                    380:  363  00024298    dd effffffc96                        pushl   _dbl_expected
                    381:  364  0002429E    fe 08 effffffc8f                     callf   $8,_write32h
                    382:  365  000242A5                                   #               writec(' ');
                    383:  366  000242A5    dd 20                                pushl   $32
                    384:  367  000242A7    fe 08 effffffc86                     callf   $8,_writec
                    385:  368  000242AE                                   #                   write32h( dbl_expected.l );
                    386:  369  000242AE    dd effffffc84                        pushl   _dbl_expected+4
                    387:  370  000242B4    fe 08 effffffc79                     callf   $8,_write32h
                    388:  371  000242BB                                   #                   writec('\n');
                    389:  372  000242BB    dd 0a                                pushl   $10
                    390:  373  000242BD    fe 08 effffffc70                     callf   $8,_writec
                    391:  374  000242C4                                   #               }
                    392:  375  000242C4                                   #           if ( halt_flg )                   /* halt on error?          */
                    393:  376  000242C4                                  L262:
                    394:  377  000242C4    5d effffffc6a                        tstl    _halt_flg
                    395:  378  000242CA    31 09                                jeql    L267
                    396:  379  000242CC                                   #                   mull2_halt( 4 );
                    397:  380  000242CC    dd 04                                pushl   $4
                    398:  381  000242CE    fe 08 ef0000085b                     callf   $8,_mull2_halt
                    399:  382  000242D5                                   #               if ( loop_on_err ) {
                    400:  383  000242D5                                  L267:
                    401:  384  000242D5    5d effffffc59                        tstl    _loop_on_err
                    402:  385  000242DB    31 0d                                jeql    L268
                    403:  386  000242DD                                   #                   force_loop = TRUE;            /* set the force loop flag */
                    404:  387  000242DD    0d 01 effffffc50                     movl    $1,_force_loop
                    405:  388  000242E4                                   #                   asm("jmp _mull2_2_lp1");      /* and loop                */
                    406:  389  000242E4    71 effffffed9                 jmp _mull2_2_lp1
                    407:  390  000242EA                                   #               }  /* end of loop-on-error */
                    408:  391  000242EA                                   #            } /* end of acc corr error */
                    409:  392  000242EA                                  L268:
                    410:  393  000242EA                                   #        if( sgl_value_4 != sgl_value_3 )    /* COMPARE the values      */
                    411:  394  000242EA                                  L261:
                    412:  395  000242EA    1d effffffc44 effffffc3f             cmpl    _sgl_value_4,_sgl_value_3
                    413:  396  000242F5    31 41                                jeql    L269
                    414:  397  000242F7                                   #            {
                    415:  398  000242F7                                   #               errcnt++;                         /* bump the error count    */
                    416:  399  000242F7    6d effffffc37                        incl    _errcnt
                    417:  400  000242FD                                   #               if ( prt_error ) {
                    418:  401  000242FD    5d effffffc31                        tstl    _prt_error
                    419:  402  00024303    31 0d                                jeql    L270
                    420:  403  00024305                                   #                   print_mull2_error("(Memory data) -BAD MULTIPLY RESULT");
                    421:  404  00024305                                         .data   1
                    422:  405  00000e67 *                                L271:
                    423:  406  00000e67 *  284D656D6F727920646174612            .ascii  "(Memory data) -BAD MULTIPLY RESULT\0"
                    424:                   9202D424144204D554C544950
                    425:                   4C5920524553554C5400
                    426:  407  00000e8a *                                       .text
                    427:  408  00024305    dd 8f00000e67                        pushl   $L271
                    428:  409  0002430B    fe 08 ef00000718                     callf   $8,_print_mull2_error
                    429:  410  00024312                                   #               }
                    430:  411  00024312                                   #           if ( halt_flg )                   /* halt on error?          */
                    431:  412  00024312                                  L270:
                    432:  413  00024312    5d effffffc1c                        tstl    _halt_flg
                    433:  414  00024318    31 09                                jeql    L272
                    434:  415  0002431A                                   #                   mull2_halt( 1 );
                    435:  416  0002431A    dd 01                                pushl   $1
                    436:  417  0002431C    fe 08 ef0000080d                     callf   $8,_mull2_halt
                    437:  418  00024323                                   #               if ( loop_on_err ) {
                    438:  419  00024323                                  L272:
                    439:  420  00024323    5d effffffc0b                        tstl    _loop_on_err
                    440:  421  00024329    31 0d                                jeql    L273
                    441:  422  0002432B                                   #                   force_loop = TRUE;            /* set the force loop flag */
                    442:  423  0002432B    0d 01 effffffc02                     movl    $1,_force_loop
                    443:  424  00024332                                   #                   asm("jmp _mull2_2_lp1");      /* and loop                */
                    444:  425  00024332    71 effffffe8b                 jmp _mull2_2_lp1
                    445:  426  00024338                                   #               }  /* end of loop-on-error */
                    446:  427  00024338                                   #            } /* end of multiply error */
                    447:  428  00024338                                  L273:
                    448:  429  00024338                                   #         }
                    449:  430  00024338                                  L269:
                    450:  431  00024338                                  L257:
                    451:  432  00024338    6d effffffbf6                        incl    _index
                    452:  433  0002433E    13 fe0d                              jbr     L259
                    453:  434  00024341                                  L258:
                    454:  435  00024341                                   # }  /* end of subtest 2 */
                    455:  436  00024341    40                                   ret#2
                    456:  437  00024342                                         .set    L253,0x0
                    457:  438  00024342                                  L255:
                    458:  439  00024342    13 fdf6                              jbr     L256
                    459:  440  00024345                                         .data
                    460:  441  00000d58 *                                       .text
                    461:  442  00024345    00                                   .align  1
                    462:  443  00024346                                         .globl  _mull2_3
                    463:  444  00024346                                  _mull2_3:
                    464:  445  00024346    0000                                 .word   L274
                    465:  446  00024348                                   #   
                    466:  447  00024348                                   # 
                    467:  448  00024348                                   # 
                    468:  449  00024348                                   # /************************************************************************
                    469:  450  00024348                                   # *
                    470:  451  00024348                                   # *               SUBTEST 3 - register corruption test
                    471:  452  00024348                                   # *
                    472:  453  00024348                                   # ************************************************************************/
                    473:  454  00024348                                   # mull2_3() 
                    474:  455  00024348                                   # {
                    475:  456  00024348    13 018e                              jbr     L276
                    476:  457  0002434B                                  L277:
                    477:  458  0002434B                                   #         force_loop = FALSE;
                    478:  459  0002434B    4d effffffbe3                        clrl    _force_loop
                    479:  460  00024351                                   #         subtest = 3;
                    480:  461  00024351    0d 03 effffffbdc                     movl    $3,_subtest
                    481:  462  00024358                                   #         fill_reg_buf( load_regs );          /* get pattern for registers */
                    482:  463  00024358    dd 8f00000000                        pushl   $_load_regs
                    483:  464  0002435E    fe 08 effffffbcf                     callf   $8,_fill_reg_buf
                    484:  465  00024365                                   #     for( index = 0; index < max_mull_1_index; index++ ) {
                    485:  466  00024365    4d effffffbc9                        clrl    _index
                    486:  467  0002436B                                  L281:
                    487:  468  0002436B    1d effffffbc3 effffffbbe             cmpl    _index,_max_mull_1_index
                    488:  469  00024376    91 03 13 015d                        jgeq    L280
                    489:  470  0002437B                                   #            sgl_value_1  = mull_1_data[index].op_1; /* get operand 1        */
                    490:  471  0002437B    5c 0c effffffbb2 50                  mull3   $12,_index,r0
                    491:  472  00024383    0d e000000000 effffffba6             movl    _mull_1_data(r0),_sgl_value_1
                    492:  473  0002438E                                   #            sgl_value_2  = mull_1_data[index].op_2; /* get operand 2        */
                    493:  474  0002438E    5c 0c effffffb9f 50                  mull3   $12,_index,r0
                    494:  475  00024396    0d e000000004 effffffb93             movl    _mull_1_data+4(r0),_sgl_value_2
                    495:  476  000243A1                                   #            sgl_value_4  = mull_1_data[index].exp;  /* get expected results */
                    496:  477  000243A1    5c 0c effffffb8c 50                  mull3   $12,_index,r0
                    497:  478  000243A9    0d e000000008 effffffb80             movl    _mull_1_data+8(r0),_sgl_value_4
                    498:  479  000243B4                                   # /*
                    499:  480  000243B4                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    500:  481  000243B4                                   # */
                    501:  482  000243B4                                   #            asm("_mull2_3_lp1:");
                    502:  483  000243B4                                  _mull2_3_lp1:
                    503:  484  000243B4                                   #        sgl_value_3 = sgl_value_2;           /* set operand 2        */
                    504:  485  000243B4    0d effffffb7a effffffb75             movl    _sgl_value_2,_sgl_value_3
                    505:  486  000243BF                                   #            asm("loadr $0x1fff,_load_regs"); /* load regs 0 - 12     */
                    506:  487  000243BF    ab 891fff effffffb6c          loadr $0x1fff,_load_regs
                    507:  488  000243C8                                   #        asm("mull2 _sgl_value_1,_sgl_value_3");/* do the multiply    */
                    508:  489  000243C8    4c effffffb66 effffffb61      mull2 _sgl_value_1,_sgl_value_3
                    509:  490  000243D3                                   #            asm("nop");
                    510:  491  000243D3    10                            nop
                    511:  492  000243D4                                   #            asm("storer $0x1fff,_store_regs");       /* store regs 0 - 12    */
                    512:  493  000243D4    bb 891fff effffffb57          storer $0x1fff,_store_regs
                    513:  494  000243DD                                   #        if( force_loop )
                    514:  495  000243DD    5d effffffb51                        tstl    _force_loop
                    515:  496  000243E3    31 02                                jeql    L282
                    516:  497  000243E5                                   #                 asm("brb _mull2_3_lp1");
                    517:  498  000243E5    11 cd                         brb _mull2_3_lp1
                    518:  499  000243E7                                   # /*
                    519:  500  000243E7                                   #  * Now check the result
                    520:  501  000243E7                                   # */
                    521:  502  000243E7                                   #         index2 = 0;
                    522:  503  000243E7                                  L282:
                    523:  504  000243E7    4d effffffb47                        clrl    _index2
                    524:  505  000243ED                                   #         while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
                    525:  506  000243ED                                  L283:
                    526:  507  000243ED    0d effffffb41 50                     movl    _index2,r0
                    527:  508  000243F4    0d effffffb3a 51                     movl    _index2,r1
                    528:  509  000243FB    1d 40effffffb32                      cmpl    _load_regs[r0],_store_regs[r1]
                    529:                   41effffffb2c 
                    530:  510  00024408    21 11                                jneq    L284
                    531:  511  0002440A    1d effffffb24 0d                     cmpl    _index2,$13
                    532:  512  00024411    81 08                                jgeq    L284
                    533:  513  00024413                                   #              index2++;                          /* check reg values        */
                    534:  514  00024413    6d effffffb1b                        incl    _index2
                    535:  515  00024419    11 d2                                jbr     L283
                    536:  516  0002441B                                  L284:
                    537:  517  0002441B                                   #         if( index2 < 13 ) {                     /* error if index2 < 13    */
                    538:  518  0002441B    1d effffffb13 0d                     cmpl    _index2,$13
                    539:  519  00024422    91 03 13 00a8                        jgeq    L285
                    540:  520  00024427                                   #               errcnt++;                         /* bump the error count    */
                    541:  521  00024427    6d effffffb07                        incl    _errcnt
                    542:  522  0002442D                                   #           if ( prt_error ) {
                    543:  523  0002442D    5d effffffb01                        tstl    _prt_error
                    544:  524  00024433    31 74                                jeql    L286
                    545:  525  00024435                                   #                   print_mull2_error(" -A REGISTER WAS MODIFIED");
                    546:  526  00024435                                         .data   1
                    547:  527  00000e8a *                                L287:
                    548:  528  00000e8a *  202D412052454749535445522            .ascii  " -A REGISTER WAS MODIFIED\0"
                    549:                   0574153204D4F444946494544
                    550:                   00
                    551:  529  00000ea4 *                                       .text
                    552:  530  00024435    dd 8f00000e8a                        pushl   $L287
                    553:  531  0002443B    fe 08 ef000005e8                     callf   $8,_print_mull2_error
                    554:  532  00024442                                   #                   writes("register ");
                    555:  533  00024442                                         .data   1
                    556:  534  00000ea4 *                                L288:
                    557:  535  00000ea4 *  72656769737465722000                 .ascii  "register \0"
                    558:  536  00000eae *                                       .text
                    559:  537  00024442    dd 8f00000ea4                        pushl   $L288
                    560:  538  00024448    fe 08 effffffae5                     callf   $8,_writes
                    561:  539  0002444F                                   #               writeh( index2 );
                    562:  540  0002444F    dd effffffadf                        pushl   _index2
                    563:  541  00024455    fe 08 effffffad8                     callf   $8,_writeh
                    564:  542  0002445C                                   #               writes(" = ");
                    565:  543  0002445C                                         .data   1
                    566:  544  00000eae *                                L290:
                    567:  545  00000eae *  203D2000                             .ascii  " = \0"
                    568:  546  00000eb2 *                                       .text
                    569:  547  0002445C    dd 8f00000eae                        pushl   $L290
                    570:  548  00024462    fe 08 effffffacb                     callf   $8,_writes
                    571:  549  00024469                                   #               write32h( store_regs[index2] );
                    572:  550  00024469    0d effffffac5 50                     movl    _index2,r0
                    573:  551  00024470    dd 40effffffabd                      pushl   _store_regs[r0]
                    574:  552  00024477    fe 08 effffffab6                     callf   $8,_write32h
                    575:  553  0002447E                                   #               writes(",  should be = ");
                    576:  554  0002447E                                         .data   1
                    577:  555  00000eb2 *                                L291:
                    578:  556  00000eb2 *  2C202073686F756C642062652            .ascii  ",  should be = \0"
                    579:                   03D2000
                    580:  557  00000ec2 *                                       .text
                    581:  558  0002447E    dd 8f00000eb2                        pushl   $L291
                    582:  559  00024484    fe 08 effffffaa9                     callf   $8,_writes
                    583:  560  0002448B                                   #                   write32h( load_regs[index2] );
                    584:  561  0002448B    0d effffffaa3 50                     movl    _index2,r0
                    585:  562  00024492    dd 40effffffa9b                      pushl   _load_regs[r0]
                    586:  563  00024499    fe 08 effffffa94                     callf   $8,_write32h
                    587:  564  000244A0                                   #                   writec('\n');
                    588:  565  000244A0    dd 0a                                pushl   $10
                    589:  566  000244A2    fe 08 effffffa8b                     callf   $8,_writec
                    590:  567  000244A9                                   #               }
                    591:  568  000244A9                                   #           if ( halt_flg )                   /* halt on error?          */
                    592:  569  000244A9                                  L286:
                    593:  570  000244A9    5d effffffa85                        tstl    _halt_flg
                    594:  571  000244AF    31 09                                jeql    L292
                    595:  572  000244B1                                   #                   mull2_halt( 2 );
                    596:  573  000244B1    dd 02                                pushl   $2
                    597:  574  000244B3    fe 08 ef00000676                     callf   $8,_mull2_halt
                    598:  575  000244BA                                   #               if ( loop_on_err ) {
                    599:  576  000244BA                                  L292:
                    600:  577  000244BA    5d effffffa74                        tstl    _loop_on_err
                    601:  578  000244C0    31 0d                                jeql    L293
                    602:  579  000244C2                                   #                   force_loop = TRUE;            /* set the force loop flag */
                    603:  580  000244C2    0d 01 effffffa6b                     movl    $1,_force_loop
                    604:  581  000244C9                                   #                   asm("jmp _mull2_3_lp1");      /* and loop                */
                    605:  582  000244C9    71 effffffee5                 jmp _mull2_3_lp1
                    606:  583  000244CF                                   #               };  /* end of loop-on-error */
                    607:  584  000244CF                                  L293:
                    608:  585  000244CF                                   #            } /* end of multiply error */
                    609:  586  000244CF                                   #         }
                    610:  587  000244CF                                  L285:
                    611:  588  000244CF                                  L279:
                    612:  589  000244CF    6d effffffa5f                        incl    _index
                    613:  590  000244D5    13 fe93                              jbr     L281
                    614:  591  000244D8                                  L280:
                    615:  592  000244D8                                   # }  /* end of subtest 3 */
                    616:  593  000244D8    40                                   ret#2
                    617:  594  000244D9                                         .set    L274,0x0
                    618:  595  000244D9                                  L276:
                    619:  596  000244D9    13 fe6f                              jbr     L277
                    620:  597  000244DC                                         .data
                    621:  598  00000d58 *                                       .text
                    622:  599  000244DC                                         .align  1
                    623:  600  000244DC                                         .globl  _mull2_4
                    624:  601  000244DC                                  _mull2_4:
                    625:  602  000244DC    0000                                 .word   L294
                    626:  603  000244DE                                   #   
                    627:  604  000244DE                                   # 
                    628:  605  000244DE                                   # 
                    629:  606  000244DE                                   # /************************************************************************
                    630:  607  000244DE                                   # *
                    631:  608  000244DE                                   # *               SUBTEST 4 - PSL corruption test
                    632:  609  000244DE                                   # *
                    633:  610  000244DE                                   # ************************************************************************/
                    634:  611  000244DE                                   # mull2_4() 
                    635:  612  000244DE                                   # {
                    636:  613  000244DE    13 01a2                              jbr     L296
                    637:  614  000244E1                                  L297:
                    638:  615  000244E1                                   #         force_loop = FALSE;
                    639:  616  000244E1    4d effffffa4d                        clrl    _force_loop
                    640:  617  000244E7                                   #         subtest = 4;
                    641:  618  000244E7    0d 04 effffffa46                     movl    $4,_subtest
                    642:  619  000244EE                                   #     status_index = 0;
                    643:  620  000244EE    4d effffffa40                        clrl    _status_index
                    644:  621  000244F4                                   #     for( index = 0; index < max_mull_1_index; index++ ) {
                    645:  622  000244F4    4d effffffa3a                        clrl    _index
                    646:  623  000244FA                                  L300:
                    647:  624  000244FA    1d effffffa34 effffffa2f             cmpl    _index,_max_mull_1_index
                    648:  625  00024505    91 03 13 0178                        jgeq    L299
                    649:  626  0002450A                                   #            sgl_value_1  = mull_1_data[index].op_1; /* get operand 1        */
                    650:  627  0002450A    5c 0c effffffa23 50                  mull3   $12,_index,r0
                    651:  628  00024512    0d e000000000 effffffa17             movl    _mull_1_data(r0),_sgl_value_1
                    652:  629  0002451D                                   #            sgl_value_2  = mull_1_data[index].op_2; /* get operand 2        */
                    653:  630  0002451D    5c 0c effffffa10 50                  mull3   $12,_index,r0
                    654:  631  00024525    0d e000000004 effffffa04             movl    _mull_1_data+4(r0),_sgl_value_2
                    655:  632  00024530                                   #            sgl_value_4  = mull_1_data[index].exp;  /* get expected results */
                    656:  633  00024530    5c 0c effffff9fd 50                  mull3   $12,_index,r0
                    657:  634  00024538    0d e000000008 effffff9f1             movl    _mull_1_data+8(r0),_sgl_value_4
                    658:  635  00024543                                   #            sgl_dummy1   = status_array[status_index]; /* status = +, -, 0 */
                    659:  636  00024543    0d effffff9eb 50                     movl    _status_index,r0
                    660:  637  0002454A    0d 40effffff9e3                      movl    _status_array[r0],_sgl_dummy1
                    661:                   effffff9de 
                    662:  638  00024556                                   # /*
                    663:  639  00024556                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    664:  640  00024556                                   # */
                    665:  641  00024556                                   #            asm("_mull2_4_lp1:");
                    666:  642  00024556                                  _mull2_4_lp1:
                    667:  643  00024556                                   #        sgl_value_3 = sgl_value_2;           /* set operand 2        */
                    668:  644  00024556    0d effffff9d8 effffff9d3             movl    _sgl_value_2,_sgl_value_3
                    669:  645  00024561                                   #            asm("tstl _sgl_dummy1");
                    670:  646  00024561    5d effffff9cd                 tstl _sgl_dummy1
                    671:  647  00024567                                   #        asm("movpsl _init_psl");             /* save the initial PSL */
                    672:  648  00024567    cd effffff9c7                 movpsl _init_psl
                    673:  649  0002456D                                   #        asm("mull2 _sgl_value_1,_sgl_value_3");/* do the multiply    */
                    674:  650  0002456D    4c effffff9c1 effffff9bc      mull2 _sgl_value_1,_sgl_value_3
                    675:  651  00024578                                   #        asm("movpsl _psl_val");              /* save the final PSL   */
                    676:  652  00024578    cd effffff9b6                 movpsl _psl_val
                    677:  653  0002457E                                   #        if( force_loop )
                    678:  654  0002457E    5d effffff9b0                        tstl    _force_loop
                    679:  655  00024584    31 02                                jeql    L301
                    680:  656  00024586                                   #                 asm("brb _mull2_4_lp1");
                    681:  657  00024586    11 ce                         brb _mull2_4_lp1
                    682:  658  00024588                                   # /*
                    683:  659  00024588                                   #  * Now check the result
                    684:  660  00024588                                   # */
                    685:  661  00024588                                   #         exp_psl = init_psl & 0xffffff3;             /* strip off the PSL status */
                    686:  662  00024588                                  L301:
                    687:  663  00024588    bc 8f0ffffff3 effffff9a1             andl3   $268435443,_init_psl,r0
                    688:                   50 
                    689:  664  00024594    0d 50 effffff999                     movl    r0,_exp_psl
                    690:  665  0002459B                                   #     if( sgl_value_4 < 0 )                   /* check the MULL result */
                    691:  666  0002459B    5d effffff993                        tstl    _sgl_value_4
                    692:  667  000245A1    81 07                                jgeq    L302
                    693:  668  000245A3                                   #        exp_psl |= PSL_N;                    /* set the NEGATIVE bit */
                    694:  669  000245A3    8c 08 effffff98a                     orl2    $8,_exp_psl
                    695:  670  000245AA                                   #     if( !sgl_value_4 )
                    696:  671  000245AA                                  L302:
                    697:  672  000245AA    5d effffff984                        tstl    _sgl_value_4
                    698:  673  000245B0    21 07                                jneq    L303
                    699:  674  000245B2                                   #        exp_psl |= PSL_Z;                    /* set the ZERO bit */
                    700:  675  000245B2    8c 04 effffff97b                     orl2    $4,_exp_psl
                    701:  676  000245B9                                   #         if( psl_val != exp_psl ) {          /* was the final PSL correct */
                    702:  677  000245B9                                  L303:
                    703:  678  000245B9    1d effffff975 effffff970             cmpl    _psl_val,_exp_psl
                    704:  679  000245C4    21 03 13 0098                        jeql    L304
                    705:  680  000245C9                                   #               errcnt++;                         /* bump the error count    */
                    706:  681  000245C9    6d effffff965                        incl    _errcnt
                    707:  682  000245CF                                   #           if ( prt_error ) {
                    708:  683  000245CF    5d effffff95f                        tstl    _prt_error
                    709:  684  000245D5    31 64                                jeql    L305
                    710:  685  000245D7                                   #                   print_mull2_error(" -INCORRECT FINAL PSL");
                    711:  686  000245D7                                         .data   1
                    712:  687  00000ec2 *                                L306:
                    713:  688  00000ec2 *  202D494E434F5252454354204            .ascii  " -INCORRECT FINAL PSL\0"
                    714:                   6494E414C2050534C00
                    715:  689  00000ed8 *                                       .text
                    716:  690  000245D7    dd 8f00000ec2                        pushl   $L306
                    717:  691  000245DD    fe 08 ef00000446                     callf   $8,_print_mull2_error
                    718:  692  000245E4                                   #                   writes("initial PSL = ");
                    719:  693  000245E4                                         .data   1
                    720:  694  00000ed8 *                                L307:
                    721:  695  00000ed8 *  696E697469616C2050534C203            .ascii  "initial PSL = \0"
                    722:                   D2000
                    723:  696  00000ee7 *                                       .text
                    724:  697  000245E4    dd 8f00000ed8                        pushl   $L307
                    725:  698  000245EA    fe 08 effffff943                     callf   $8,_writes
                    726:  699  000245F1                                   #               write32h( init_psl );
                    727:  700  000245F1    dd effffff93d                        pushl   _init_psl
                    728:  701  000245F7    fe 08 effffff936                     callf   $8,_write32h
                    729:  702  000245FE                                   #               writes(",  final PSL = ");
                    730:  703  000245FE                                         .data   1
                    731:  704  00000ee7 *                                L308:
                    732:  705  00000ee7 *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
                    733:                   03D2000
                    734:  706  00000ef7 *                                       .text
                    735:  707  000245FE    dd 8f00000ee7                        pushl   $L308
                    736:  708  00024604    fe 08 effffff929                     callf   $8,_writes
                    737:  709  0002460B                                   #               write32h( psl_val );
                    738:  710  0002460B    dd effffff923                        pushl   _psl_val
                    739:  711  00024611    fe 08 effffff91c                     callf   $8,_write32h
                    740:  712  00024618                                   #               writes(",  expected PSL = ");
                    741:  713  00024618                                         .data   1
                    742:  714  00000ef7 *                                L309:
                    743:  715  00000ef7 *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
                    744:                   0534C203D2000
                    745:  716  00000f0a *                                       .text
                    746:  717  00024618    dd 8f00000ef7                        pushl   $L309
                    747:  718  0002461E    fe 08 effffff90f                     callf   $8,_writes
                    748:  719  00024625                                   #               write32h( exp_psl );
                    749:  720  00024625    dd effffff909                        pushl   _exp_psl
                    750:  721  0002462B    fe 08 effffff902                     callf   $8,_write32h
                    751:  722  00024632                                   #                   writec('\n');
                    752:  723  00024632    dd 0a                                pushl   $10
                    753:  724  00024634    fe 08 effffff8f9                     callf   $8,_writec
                    754:  725  0002463B                                   #               }
                    755:  726  0002463B                                   #           if ( halt_flg )                   /* halt on error?          */
                    756:  727  0002463B                                  L305:
                    757:  728  0002463B    5d effffff8f3                        tstl    _halt_flg
                    758:  729  00024641    31 09                                jeql    L310
                    759:  730  00024643                                   #                   mull2_halt( 3 );
                    760:  731  00024643    dd 03                                pushl   $3
                    761:  732  00024645    fe 08 ef000004e4                     callf   $8,_mull2_halt
                    762:  733  0002464C                                   #               if ( loop_on_err ) {
                    763:  734  0002464C                                  L310:
                    764:  735  0002464C    5d effffff8e2                        tstl    _loop_on_err
                    765:  736  00024652    31 0d                                jeql    L311
                    766:  737  00024654                                   #                   force_loop = TRUE;            /* set the force loop flag */
                    767:  738  00024654    0d 01 effffff8d9                     movl    $1,_force_loop
                    768:  739  0002465B                                   #                   asm("jmp _mull2_4_lp1");      /* and loop                */
                    769:  740  0002465B    71 effffffef5                 jmp _mull2_4_lp1
                    770:  741  00024661                                   #               };  /* end of loop-on-error */
                    771:  742  00024661                                  L311:
                    772:  743  00024661                                   #            }; /* end of error */
                    773:  744  00024661                                  L304:
                    774:  745  00024661                                   #        if( ++status_index >= 3 )
                    775:  746  00024661    6d effffff8cd                        incl    _status_index
                    776:  747  00024667    0d effffff8c7 50                     movl    _status_index,r0
                    777:  748  0002466E    1d 50 03                             cmpl    r0,$3
                    778:  749  00024671    91 06                                jlss    L312
                    779:  750  00024673                                   #           status_index = 0;
                    780:  751  00024673    4d effffff8bb                        clrl    _status_index
                    781:  752  00024679                                   #         }
                    782:  753  00024679                                  L312:
                    783:  754  00024679                                  L298:
                    784:  755  00024679    6d effffff8b5                        incl    _index
                    785:  756  0002467F    13 fe78                              jbr     L300
                    786:  757  00024682                                  L299:
                    787:  758  00024682                                   # }  /* end of subtest 4 */
                    788:  759  00024682    40                                   ret#2
                    789:  760  00024683                                         .set    L294,0x0
                    790:  761  00024683                                  L296:
                    791:  762  00024683    13 fe5b                              jbr     L297
                    792:  763  00024686                                         .data
                    793:  764  00000d58 *                                       .text
                    794:  765  00024686                                         .align  1
                    795:  766  00024686                                         .globl  _mull2_5
                    796:  767  00024686                                  _mull2_5:
                    797:  768  00024686    0000                                 .word   L313
                    798:  769  00024688                                   #   
                    799:  770  00024688                                   # 
                    800:  771  00024688                                   # 
                    801:  772  00024688                                   # /************************************************************************
                    802:  773  00024688                                   # *
                    803:  774  00024688                                   # *        SUBTEST 5 - Pipelined Entry test
                    804:  775  00024688                                   # *
                    805:  776  00024688                                   # ************************************************************************/
                    806:  777  00024688                                   # mull2_5() 
                    807:  778  00024688                                   # {
                    808:  779  00024688    13 01ca                              jbr     L315
                    809:  780  0002468B                                  L316:
                    810:  781  0002468B                                   #         force_loop = FALSE;
                    811:  782  0002468B    4d effffff8a3                        clrl    _force_loop
                    812:  783  00024691                                   #         subtest = 5;
                    813:  784  00024691    0d 05 effffff89c                     movl    $5,_subtest
                    814:  785  00024698                                   #         for( index = 0; index < max_mull_1_index; index++ ) {
                    815:  786  00024698    4d effffff896                        clrl    _index
                    816:  787  0002469E                                  L319:
                    817:  788  0002469E    1d effffff890 effffff88b             cmpl    _index,_max_mull_1_index
                    818:  789  000246A9    91 03 13 01a6                        jgeq    L318
                    819:  790  000246AE                                   #            sgl_value_1  = mull_1_data[index].op_1; /* get operand 1        */
                    820:  791  000246AE    5c 0c effffff87f 50                  mull3   $12,_index,r0
                    821:  792  000246B6    0d e000000000 effffff873             movl    _mull_1_data(r0),_sgl_value_1
                    822:  793  000246C1                                   #            sgl_value_2  = mull_1_data[index].op_2; /* get operand 2        */
                    823:  794  000246C1    5c 0c effffff86c 50                  mull3   $12,_index,r0
                    824:  795  000246C9    0d e000000004 effffff860             movl    _mull_1_data+4(r0),_sgl_value_2
                    825:  796  000246D4                                   #        sgl_value_4  = mull_1_data[index].exp;  /* get expected results */
                    826:  797  000246D4    5c 0c effffff859 50                  mull3   $12,_index,r0
                    827:  798  000246DC    0d e000000008 effffff84d             movl    _mull_1_data+8(r0),_sgl_value_4
                    828:  799  000246E7                                   #            sgl_ld_acc   = 0x12345678;                  /* set acc data pattern */
                    829:  800  000246E7    0d 8f12345678 effffff842             movl    $305419896,_sgl_ld_acc
                    830:  801  000246F2                                   #        sgl_expected = sgl_ld_acc;              /* final Acc expected   */
                    831:  802  000246F2    0d effffff83c effffff837             movl    _sgl_ld_acc,_sgl_expected
                    832:  803  000246FD                                   #        sgl_value_10 = 0x40800000;              /* floating "1.0"       */
                    833:  804  000246FD    0d 8f40800000 effffff82c             movl    $1082130432,_sgl_value_10
                    834:  805  00024708                                   # /*
                    835:  806  00024708                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    836:  807  00024708                                   # */
                    837:  808  00024708                                   #            asm("_mull2_5_lp1:");
                    838:  809  00024708                                  _mull2_5_lp1:
                    839:  810  00024708                                   #        sgl_value_3 = sgl_value_2;           /* set integer operand 2   */
                    840:  811  00024708    0d effffff826 effffff821             movl    _sgl_value_2,_sgl_value_3
                    841:  812  00024713                                   #            asm("ldf _sgl_ld_acc");          /* load the acc            */
                    842:  813  00024713    06 effffff81b                 ldf _sgl_ld_acc
                    843:  814  00024719                                   #        asm("mulf _sgl_value_10");           /* do a floating multiply  */
                    844:  815  00024719    e6 effffff815                 mulf _sgl_value_10
                    845:  816  0002471F                                   #        asm("mull2 _sgl_value_1,_sgl_value_3"); /* do the int. multiply */
                    846:  817  0002471F    4c effffff80f effffff80a      mull2 _sgl_value_1,_sgl_value_3
                    847:  818  0002472A                                   #            asm("nop");
                    848:  819  0002472A    10                            nop
                    849:  820  0002472B                                   #        asm("stf _sgl_st_acc");              /* save the acc            */
                    850:  821  0002472B    26 effffff803                 stf _sgl_st_acc
                    851:  822  00024731                                   #            if( force_loop )
                    852:  823  00024731    5d effffff7fd                        tstl    _force_loop
                    853:  824  00024737    31 02                                jeql    L320
                    854:  825  00024739                                   #                 asm("brb _mull2_5_lp1");;
                    855:  826  00024739    11 cd                         brb _mull2_5_lp1
                    856:  827  0002473B                                  L320:
                    857:  828  0002473B                                   #        if( sgl_expected != sgl_st_acc )  {   /* COMPARE the values      */
                    858:  829  0002473B    1d effffff7f3 effffff7ee             cmpl    _sgl_expected,_sgl_st_acc
                    859:  830  00024746    21 03 13 00b2                        jeql    L321
                    860:  831  0002474B                                   #               errcnt++;                         /* bump the error count    */
                    861:  832  0002474B    6d effffff7e3                        incl    _errcnt
                    862:  833  00024751                                   #               if ( prt_error ) {
                    863:  834  00024751    5d effffff7dd                        tstl    _prt_error
                    864:  835  00024757    31 7e                                jeql    L322
                    865:  836  00024759                                   #                   print_mull2_error("(Piped Entry) -BAD FINAL ACC");
                    866:  837  00024759                                         .data   1
                    867:  838  00000f0a *                                L323:
                    868:  839  00000f0a *  28506970656420456E7472792            .ascii  "(Piped Entry) -BAD FINAL ACC\0"
                    869:                   9202D4241442046494E414C20
                    870:                   41434300
                    871:  840  00000f27 *                                       .text
                    872:  841  00024759    dd 8f00000f0a                        pushl   $L323
                    873:  842  0002475F    fe 08 ef000002c4                     callf   $8,_print_mull2_error
                    874:  843  00024766                                   #               writes("initial Acc = ");
                    875:  844  00024766                                         .data   1
                    876:  845  00000f27 *                                L324:
                    877:  846  00000f27 *  696E697469616C20416363203            .ascii  "initial Acc = \0"
                    878:                   D2000
                    879:  847  00000f36 *                                       .text
                    880:  848  00024766    dd 8f00000f27                        pushl   $L324
                    881:  849  0002476C    fe 08 effffff7c1                     callf   $8,_writes
                    882:  850  00024773                                   #                   write32h( sgl_ld_acc );
                    883:  851  00024773    dd effffff7bb                        pushl   _sgl_ld_acc
                    884:  852  00024779    fe 08 effffff7b4                     callf   $8,_write32h
                    885:  853  00024780                                   #                   writes(",     final Acc = ");
                    886:  854  00024780                                         .data   1
                    887:  855  00000f36 *                                L325:
                    888:  856  00000f36 *  2C202020202066696E616C204            .ascii  ",     final Acc = \0"
                    889:                   16363203D2000
                    890:  857  00000f49 *                                       .text
                    891:  858  00024780    dd 8f00000f36                        pushl   $L325
                    892:  859  00024786    fe 08 effffff7a7                     callf   $8,_writes
                    893:  860  0002478D                                   #                   write32h( sgl_st_acc );
                    894:  861  0002478D    dd effffff7a1                        pushl   _sgl_st_acc
                    895:  862  00024793    fe 08 effffff79a                     callf   $8,_write32h
                    896:  863  0002479A                                   #               writes("\nFPP operand = ");
                    897:  864  0002479A                                         .data   1
                    898:  865  00000f49 *                                L326:
                    899:  866  00000f49 *  0A465050206F706572616E642            .ascii  "\12FPP operand = \0"
                    900:                   03D2000
                    901:  867  00000f59 *                                       .text
                    902:  868  0002479A    dd 8f00000f49                        pushl   $L326
                    903:  869  000247A0    fe 08 effffff78d                     callf   $8,_writes
                    904:  870  000247A7                                   #               write32h( sgl_value_10 );
                    905:  871  000247A7    dd effffff787                        pushl   _sgl_value_10
                    906:  872  000247AD    fe 08 effffff780                     callf   $8,_write32h
                    907:  873  000247B4                                   #               writes(",  expected Acc = ");
                    908:  874  000247B4                                         .data   1
                    909:  875  00000f59 *                                L327:
                    910:  876  00000f59 *  2C20206578706563746564204            .ascii  ",  expected Acc = \0"
                    911:                   16363203D2000
                    912:  877  00000f6c *                                       .text
                    913:  878  000247B4    dd 8f00000f59                        pushl   $L327
                    914:  879  000247BA    fe 08 effffff773                     callf   $8,_writes
                    915:  880  000247C1                                   #                   write32h( sgl_expected );
                    916:  881  000247C1    dd effffff76d                        pushl   _sgl_expected
                    917:  882  000247C7    fe 08 effffff766                     callf   $8,_write32h
                    918:  883  000247CE                                   #                   writec('\n');
                    919:  884  000247CE    dd 0a                                pushl   $10
                    920:  885  000247D0    fe 08 effffff75d                     callf   $8,_writec
                    921:  886  000247D7                                   #               }
                    922:  887  000247D7                                   #           if ( halt_flg )                   /* halt on error?          */
                    923:  888  000247D7                                  L322:
                    924:  889  000247D7    5d effffff757                        tstl    _halt_flg
                    925:  890  000247DD    31 09                                jeql    L328
                    926:  891  000247DF                                   #                   mull2_halt( 5 );
                    927:  892  000247DF    dd 05                                pushl   $5
                    928:  893  000247E1    fe 08 ef00000348                     callf   $8,_mull2_halt
                    929:  894  000247E8                                   #               if ( loop_on_err ) {
                    930:  895  000247E8                                  L328:
                    931:  896  000247E8    5d effffff746                        tstl    _loop_on_err
                    932:  897  000247EE    31 0d                                jeql    L329
                    933:  898  000247F0                                   #                   force_loop = TRUE;            /* set the force loop flag */
                    934:  899  000247F0    0d 01 effffff73d                     movl    $1,_force_loop
                    935:  900  000247F7                                   #                   asm("jmp _mull2_5_lp1");      /* and loop                */
                    936:  901  000247F7    71 efffffff0b                 jmp _mull2_5_lp1
                    937:  902  000247FD                                   #               }  /* end of loop-on-error */
                    938:  903  000247FD                                   #            } /* end of acc corr error */
                    939:  904  000247FD                                  L329:
                    940:  905  000247FD                                   #        if( sgl_value_4 != sgl_value_3 )    /* COMPARE the values      */
                    941:  906  000247FD                                  L321:
                    942:  907  000247FD    1d effffff731 effffff72c             cmpl    _sgl_value_4,_sgl_value_3
                    943:  908  00024808    31 41                                jeql    L330
                    944:  909  0002480A                                   #            {
                    945:  910  0002480A                                   #               errcnt++;                         /* bump the error count    */
                    946:  911  0002480A    6d effffff724                        incl    _errcnt
                    947:  912  00024810                                   #               if ( prt_error ) {
                    948:  913  00024810    5d effffff71e                        tstl    _prt_error
                    949:  914  00024816    31 0d                                jeql    L331
                    950:  915  00024818                                   #                   print_mull2_error("(Piped Entry) -BAD MULTIPLY RESULT");
                    951:  916  00024818                                         .data   1
                    952:  917  00000f6c *                                L332:
                    953:  918  00000f6c *  28506970656420456E7472792            .ascii  "(Piped Entry) -BAD MULTIPLY RESULT\0"
                    954:                   9202D424144204D554C544950
                    955:                   4C5920524553554C5400
                    956:  919  00000f8f *                                       .text
                    957:  920  00024818    dd 8f00000f6c                        pushl   $L332
                    958:  921  0002481E    fe 08 ef00000205                     callf   $8,_print_mull2_error
                    959:  922  00024825                                   #               }
                    960:  923  00024825                                   #           if ( halt_flg )                   /* halt on error?          */
                    961:  924  00024825                                  L331:
                    962:  925  00024825    5d effffff709                        tstl    _halt_flg
                    963:  926  0002482B    31 09                                jeql    L333
                    964:  927  0002482D                                   #                   mull2_halt( 1 );
                    965:  928  0002482D    dd 01                                pushl   $1
                    966:  929  0002482F    fe 08 ef000002fa                     callf   $8,_mull2_halt
                    967:  930  00024836                                   #               if ( loop_on_err ) {
                    968:  931  00024836                                  L333:
                    969:  932  00024836    5d effffff6f8                        tstl    _loop_on_err
                    970:  933  0002483C    31 0d                                jeql    L334
                    971:  934  0002483E                                   #                   force_loop = TRUE;            /* set the force loop flag */
                    972:  935  0002483E    0d 01 effffff6ef                     movl    $1,_force_loop
                    973:  936  00024845                                   #                   asm("jmp _mull2_5_lp1");      /* and loop                */
                    974:  937  00024845    71 effffffebd                 jmp _mull2_5_lp1
                    975:  938  0002484B                                   #               }  /* end of loop-on-error */
                    976:  939  0002484B                                   #            } /* end of multiply error */
                    977:  940  0002484B                                  L334:
                    978:  941  0002484B                                   #         }
                    979:  942  0002484B                                  L330:
                    980:  943  0002484B                                  L317:
                    981:  944  0002484B    6d effffff6e3                        incl    _index
                    982:  945  00024851    13 fe4a                              jbr     L319
                    983:  946  00024854                                  L318:
                    984:  947  00024854                                   # }  /* end of subtest 5 */
                    985:  948  00024854    40                                   ret#2
                    986:  949  00024855                                         .set    L313,0x0
                    987:  950  00024855                                  L315:
                    988:  951  00024855    13 fe33                              jbr     L316
                    989:  952  00024858                                         .data
                    990:  953  00000d58 *                                       .text
                    991:  954  00024858                                         .align  1
                    992:  955  00024858                                         .globl  _mull2_6
                    993:  956  00024858                                  _mull2_6:
                    994:  957  00024858    0000                                 .word   L335
                    995:  958  0002485A                                   #   
                    996:  959  0002485A                                   # 
                    997:  960  0002485A                                   # 
                    998:  961  0002485A                                   # /************************************************************************
                    999:  962  0002485A                                   # *
                   1000:  963  0002485A                                   # *        SUBTEST 6 - Pipelined Exit test
                   1001:  964  0002485A                                   # *
                   1002:  965  0002485A                                   # ************************************************************************/
                   1003:  966  0002485A                                   # mull2_6() 
                   1004:  967  0002485A                                   # {
                   1005:  968  0002485A    13 01c9                              jbr     L337
                   1006:  969  0002485D                                  L338:
                   1007:  970  0002485D                                   #         force_loop = FALSE;
                   1008:  971  0002485D    4d effffff6d1                        clrl    _force_loop
                   1009:  972  00024863                                   #         subtest = 6;
                   1010:  973  00024863    0d 06 effffff6ca                     movl    $6,_subtest
                   1011:  974  0002486A                                   #         for( index = 0; index < max_mull_1_index; index++ ) {
                   1012:  975  0002486A    4d effffff6c4                        clrl    _index
                   1013:  976  00024870                                  L341:
                   1014:  977  00024870    1d effffff6be effffff6b9             cmpl    _index,_max_mull_1_index
                   1015:  978  0002487B    91 03 13 01a5                        jgeq    L340
                   1016:  979  00024880                                   #            sgl_value_1  = mull_1_data[index].op_1; /* get operand 1        */
                   1017:  980  00024880    5c 0c effffff6ad 50                  mull3   $12,_index,r0
                   1018:  981  00024888    0d e000000000 effffff6a1             movl    _mull_1_data(r0),_sgl_value_1
                   1019:  982  00024893                                   #            sgl_value_2  = mull_1_data[index].op_2; /* get operand 2        */
                   1020:  983  00024893    5c 0c effffff69a 50                  mull3   $12,_index,r0
                   1021:  984  0002489B    0d e000000004 effffff68e             movl    _mull_1_data+4(r0),_sgl_value_2
                   1022:  985  000248A6                                   #        sgl_value_4  = mull_1_data[index].exp;  /* get expected results */
                   1023:  986  000248A6    5c 0c effffff687 50                  mull3   $12,_index,r0
                   1024:  987  000248AE    0d e000000008 effffff67b             movl    _mull_1_data+8(r0),_sgl_value_4
                   1025:  988  000248B9                                   #        sgl_ld_acc   = 0x40800000;              /* floating "1.0"       */
                   1026:  989  000248B9    0d 8f40800000 effffff670             movl    $1082130432,_sgl_ld_acc
                   1027:  990  000248C4                                   #            sgl_value_10 = 0x12345678;                  /* set acc data pattern */
                   1028:  991  000248C4    0d 8f12345678 effffff665             movl    $305419896,_sgl_value_10
                   1029:  992  000248CF                                   #        sgl_expected = sgl_value_10;            /* final Acc expected   */
                   1030:  993  000248CF    0d effffff65f effffff65a             movl    _sgl_value_10,_sgl_expected
                   1031:  994  000248DA                                   # /*
                   1032:  995  000248DA                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                   1033:  996  000248DA                                   # */
                   1034:  997  000248DA                                   #            asm("_mull2_6_lp1:");
                   1035:  998  000248DA                                  _mull2_6_lp1:
                   1036:  999  000248DA                                   #        sgl_value_3 = sgl_value_2;           /* set integer operand 2   */
                   1037: 1000  000248DA    0d effffff654 effffff64f             movl    _sgl_value_2,_sgl_value_3
                   1038: 1001  000248E5                                   #            asm("ldf _sgl_ld_acc");          /* load the acc            */
                   1039: 1002  000248E5    06 effffff649                 ldf _sgl_ld_acc
                   1040: 1003  000248EB                                   #        asm("mull2 _sgl_value_1,_sgl_value_3"); /* do the int. multiply */
                   1041: 1004  000248EB    4c effffff643 effffff63e      mull2 _sgl_value_1,_sgl_value_3
                   1042: 1005  000248F6                                   #        asm("mulf _sgl_value_10");           /* do a floating multiply  */
                   1043: 1006  000248F6    e6 effffff638                 mulf _sgl_value_10
                   1044: 1007  000248FC                                   #            asm("stf _sgl_st_acc");          /* save the acc            */
                   1045: 1008  000248FC    26 effffff632                 stf _sgl_st_acc
                   1046: 1009  00024902                                   #            if( force_loop )
                   1047: 1010  00024902    5d effffff62c                        tstl    _force_loop
                   1048: 1011  00024908    31 02                                jeql    L342
                   1049: 1012  0002490A                                   #                 asm("brb _mull2_6_lp1");;
                   1050: 1013  0002490A    11 ce                         brb _mull2_6_lp1
                   1051: 1014  0002490C                                  L342:
                   1052: 1015  0002490C                                   #        if( sgl_expected != sgl_st_acc )  {   /* COMPARE the values      */
                   1053: 1016  0002490C    1d effffff622 effffff61d             cmpl    _sgl_expected,_sgl_st_acc
                   1054: 1017  00024917    21 03 13 00b2                        jeql    L343
                   1055: 1018  0002491C                                   #               errcnt++;                         /* bump the error count    */
                   1056: 1019  0002491C    6d effffff612                        incl    _errcnt
                   1057: 1020  00024922                                   #               if ( prt_error ) {
                   1058: 1021  00024922    5d effffff60c                        tstl    _prt_error
                   1059: 1022  00024928    31 7e                                jeql    L344
                   1060: 1023  0002492A                                   #                   print_mull2_error("(Piped Exit) -BAD FINAL ACC");
                   1061: 1024  0002492A                                         .data   1
                   1062: 1025  00000f8f *                                L345:
                   1063: 1026  00000f8f *  2850697065642045786974292            .ascii  "(Piped Exit) -BAD FINAL ACC\0"
                   1064:                   02D4241442046494E414C2041
                   1065:                   434300
                   1066: 1027  00000fab *                                       .text
                   1067: 1028  0002492A    dd 8f00000f8f                        pushl   $L345
                   1068: 1029  00024930    fe 08 ef000000f3                     callf   $8,_print_mull2_error
                   1069: 1030  00024937                                   #               writes("initial Acc = ");
                   1070: 1031  00024937                                         .data   1
                   1071: 1032  00000fab *                                L346:
                   1072: 1033  00000fab *  696E697469616C20416363203            .ascii  "initial Acc = \0"
                   1073:                   D2000
                   1074: 1034  00000fba *                                       .text
                   1075: 1035  00024937    dd 8f00000fab                        pushl   $L346
                   1076: 1036  0002493D    fe 08 effffff5f0                     callf   $8,_writes
                   1077: 1037  00024944                                   #                   write32h( sgl_ld_acc );
                   1078: 1038  00024944    dd effffff5ea                        pushl   _sgl_ld_acc
                   1079: 1039  0002494A    fe 08 effffff5e3                     callf   $8,_write32h
                   1080: 1040  00024951                                   #                   writes(",     final Acc = ");
                   1081: 1041  00024951                                         .data   1
                   1082: 1042  00000fba *                                L347:
                   1083: 1043  00000fba *  2C202020202066696E616C204            .ascii  ",     final Acc = \0"
                   1084:                   16363203D2000
                   1085: 1044  00000fcd *                                       .text
                   1086: 1045  00024951    dd 8f00000fba                        pushl   $L347
                   1087: 1046  00024957    fe 08 effffff5d6                     callf   $8,_writes
                   1088: 1047  0002495E                                   #                   write32h( sgl_st_acc );
                   1089: 1048  0002495E    dd effffff5d0                        pushl   _sgl_st_acc
                   1090: 1049  00024964    fe 08 effffff5c9                     callf   $8,_write32h
                   1091: 1050  0002496B                                   #               writes("\nFPP operand = ");
                   1092: 1051  0002496B                                         .data   1
                   1093: 1052  00000fcd *                                L348:
                   1094: 1053  00000fcd *  0A465050206F706572616E642            .ascii  "\12FPP operand = \0"
                   1095:                   03D2000
                   1096: 1054  00000fdd *                                       .text
                   1097: 1055  0002496B    dd 8f00000fcd                        pushl   $L348
                   1098: 1056  00024971    fe 08 effffff5bc                     callf   $8,_writes
                   1099: 1057  00024978                                   #               write32h( sgl_value_10 );
                   1100: 1058  00024978    dd effffff5b6                        pushl   _sgl_value_10
                   1101: 1059  0002497E    fe 08 effffff5af                     callf   $8,_write32h
                   1102: 1060  00024985                                   #               writes(",  expected Acc = ");
                   1103: 1061  00024985                                         .data   1
                   1104: 1062  00000fdd *                                L349:
                   1105: 1063  00000fdd *  2C20206578706563746564204            .ascii  ",  expected Acc = \0"
                   1106:                   16363203D2000
                   1107: 1064  00000ff0 *                                       .text
                   1108: 1065  00024985    dd 8f00000fdd                        pushl   $L349
                   1109: 1066  0002498B    fe 08 effffff5a2                     callf   $8,_writes
                   1110: 1067  00024992                                   #                   write32h( sgl_expected );
                   1111: 1068  00024992    dd effffff59c                        pushl   _sgl_expected
                   1112: 1069  00024998    fe 08 effffff595                     callf   $8,_write32h
                   1113: 1070  0002499F                                   #                   writec('\n');
                   1114: 1071  0002499F    dd 0a                                pushl   $10
                   1115: 1072  000249A1    fe 08 effffff58c                     callf   $8,_writec
                   1116: 1073  000249A8                                   #               }
                   1117: 1074  000249A8                                   #           if ( halt_flg )                   /* halt on error?          */
                   1118: 1075  000249A8                                  L344:
                   1119: 1076  000249A8    5d effffff586                        tstl    _halt_flg
                   1120: 1077  000249AE    31 09                                jeql    L350
                   1121: 1078  000249B0                                   #                   mull2_halt( 5 );
                   1122: 1079  000249B0    dd 05                                pushl   $5
                   1123: 1080  000249B2    fe 08 ef00000177                     callf   $8,_mull2_halt
                   1124: 1081  000249B9                                   #               if ( loop_on_err ) {
                   1125: 1082  000249B9                                  L350:
                   1126: 1083  000249B9    5d effffff575                        tstl    _loop_on_err
                   1127: 1084  000249BF    31 0d                                jeql    L351
                   1128: 1085  000249C1                                   #                   force_loop = TRUE;            /* set the force loop flag */
                   1129: 1086  000249C1    0d 01 effffff56c                     movl    $1,_force_loop
                   1130: 1087  000249C8                                   #                   asm("jmp _mull2_6_lp1");      /* and loop                */
                   1131: 1088  000249C8    71 efffffff0c                 jmp _mull2_6_lp1
                   1132: 1089  000249CE                                   #               }  /* end of loop-on-error */
                   1133: 1090  000249CE                                   #            } /* end of acc corr error */
                   1134: 1091  000249CE                                  L351:
                   1135: 1092  000249CE                                   #        if( sgl_value_4 != sgl_value_3 )    /* COMPARE the values      */
                   1136: 1093  000249CE                                  L343:
                   1137: 1094  000249CE    1d effffff560 effffff55b             cmpl    _sgl_value_4,_sgl_value_3
                   1138: 1095  000249D9    31 41                                jeql    L352
                   1139: 1096  000249DB                                   #            {
                   1140: 1097  000249DB                                   #               errcnt++;                         /* bump the error count    */
                   1141: 1098  000249DB    6d effffff553                        incl    _errcnt
                   1142: 1099  000249E1                                   #               if ( prt_error ) {
                   1143: 1100  000249E1    5d effffff54d                        tstl    _prt_error
                   1144: 1101  000249E7    31 0d                                jeql    L353
                   1145: 1102  000249E9                                   #                   print_mull2_error("(Piped Exit) -BAD MULTIPLY RESULT");
                   1146: 1103  000249E9                                         .data   1
                   1147: 1104  00000ff0 *                                L354:
                   1148: 1105  00000ff0 *  2850697065642045786974292            .ascii  "(Piped Exit) -BAD MULTIPLY RESULT\0"
                   1149:                   02D424144204D554C5449504C
                   1150:                   5920524553554C5400
                   1151: 1106  00001012 *                                       .text
                   1152: 1107  000249E9    dd 8f00000ff0                        pushl   $L354
                   1153: 1108  000249EF    fe 08 ef00000034                     callf   $8,_print_mull2_error
                   1154: 1109  000249F6                                   #               }
                   1155: 1110  000249F6                                   #           if ( halt_flg )                   /* halt on error?          */
                   1156: 1111  000249F6                                  L353:
                   1157: 1112  000249F6    5d effffff538                        tstl    _halt_flg
                   1158: 1113  000249FC    31 09                                jeql    L355
                   1159: 1114  000249FE                                   #                   mull2_halt( 1 );
                   1160: 1115  000249FE    dd 01                                pushl   $1
                   1161: 1116  00024A00    fe 08 ef00000129                     callf   $8,_mull2_halt
                   1162: 1117  00024A07                                   #               if ( loop_on_err ) {
                   1163: 1118  00024A07                                  L355:
                   1164: 1119  00024A07    5d effffff527                        tstl    _loop_on_err
                   1165: 1120  00024A0D    31 0d                                jeql    L356
                   1166: 1121  00024A0F                                   #                   force_loop = TRUE;            /* set the force loop flag */
                   1167: 1122  00024A0F    0d 01 effffff51e                     movl    $1,_force_loop
                   1168: 1123  00024A16                                   #                   asm("jmp _mull2_6_lp1");      /* and loop                */
                   1169: 1124  00024A16    71 effffffebe                 jmp _mull2_6_lp1
                   1170: 1125  00024A1C                                   #               }  /* end of loop-on-error */
                   1171: 1126  00024A1C                                   #            } /* end of multiply error */
                   1172: 1127  00024A1C                                  L356:
                   1173: 1128  00024A1C                                   #         }
                   1174: 1129  00024A1C                                  L352:
                   1175: 1130  00024A1C                                  L339:
                   1176: 1131  00024A1C    6d effffff512                        incl    _index
                   1177: 1132  00024A22    13 fe4b                              jbr     L341
                   1178: 1133  00024A25                                  L340:
                   1179: 1134  00024A25                                   # }  /* end of subtest 6 */
                   1180: 1135  00024A25    40                                   ret#2
                   1181: 1136  00024A26                                         .set    L335,0x0
                   1182: 1137  00024A26                                  L337:
                   1183: 1138  00024A26    13 fe34                              jbr     L338
                   1184: 1139  00024A29                                         .data
                   1185: 1140  00000d58 *                                       .text
                   1186: 1141  00024A29    00                                   .align  1
                   1187: 1142  00024A2A                                         .globl  _print_mull2_error
                   1188: 1143  00024A2A                                  _print_mull2_error:
                   1189: 1144  00024A2A    0000                                 .word   L357
                   1190: 1145  00024A2C                                   #   
                   1191: 1146  00024A2C                                   # 
                   1192: 1147  00024A2C                                   # 
                   1193: 1148  00024A2C                                   # /*****************************************************************************
                   1194: 1149  00024A2C                                   # *
                   1195: 1150  00024A2C                                   # *               Print an error message of the form:
                   1196: 1151  00024A2C                                   # *
                   1197: 1152  00024A2C                                   # *  cycle: xx  MULL2 test xx, subtest xx  <"your message here">
                   1198: 1153  00024A2C                                   # *    operand 1 = xxxxxxxx,        result = xxxxxxxx,   data index = xx
                   1199: 1154  00024A2C                                   # *    operand 2 = xxxxxxxx,      expected = xxxxxxxx
                   1200: 1155  00024A2C                                   # *
                   1201: 1156  00024A2C                                   # *****************************************************************************/
                   1202: 1157  00024A2C                                   # print_mull2_error(msg)
                   1203: 1158  00024A2C                                   # char *msg;                                      /* addressing mode msg */
                   1204: 1159  00024A2C                                   # {
                   1205: 1160  00024A2C    13 00fe                              jbr     L359
                   1206: 1161  00024A2F                                  L360:
                   1207: 1162  00024A2F                                   #                  writes(" \n");             /* start a new print line   */
                   1208: 1163  00024A2F                                         .data   1
                   1209: 1164  00001012 *                                L361:
                   1210: 1165  00001012 *  200A00                               .ascii  " \12\0"
                   1211: 1166  00001015 *                                       .text
                   1212: 1167  00024A2F    dd 8f00001012                        pushl   $L361
                   1213: 1168  00024A35    fe 08 effffff4f8                     callf   $8,_writes
                   1214: 1169  00024A3C                                   #                  writes("cycle: ");
                   1215: 1170  00024A3C                                         .data   1
                   1216: 1171  00001015 *                                L362:
                   1217: 1172  00001015 *  6379636C653A2000                     .ascii  "cycle: \0"
                   1218: 1173  0000101d *                                       .text
                   1219: 1174  00024A3C    dd 8f00001015                        pushl   $L362
                   1220: 1175  00024A42    fe 08 effffff4eb                     callf   $8,_writes
                   1221: 1176  00024A49                                   #                  writed( cycle );
                   1222: 1177  00024A49    dd effffff4e5                        pushl   _cycle
                   1223: 1178  00024A4F    fe 08 effffff4de                     callf   $8,_writed
                   1224: 1179  00024A56                                   #                  writes("  MULL2 test ");
                   1225: 1180  00024A56                                         .data   1
                   1226: 1181  0000101d *                                L364:
                   1227: 1182  0000101d *  20204D554C4C3220746573742            .ascii  "  MULL2 test \0"
                   1228:                   000
                   1229: 1183  0000102b *                                       .text
                   1230: 1184  00024A56    dd 8f0000101d                        pushl   $L364
                   1231: 1185  00024A5C    fe 08 effffff4d1                     callf   $8,_writes
                   1232: 1186  00024A63                                   #                  writed( test_no );
                   1233: 1187  00024A63    dd effffff4cb                        pushl   _test_no
                   1234: 1188  00024A69    fe 08 effffff4c4                     callf   $8,_writed
                   1235: 1189  00024A70                                   #              writes(", subtest ");
                   1236: 1190  00024A70                                         .data   1
                   1237: 1191  0000102b *                                L365:
                   1238: 1192  0000102b *  2C20737562746573742000               .ascii  ", subtest \0"
                   1239: 1193  00001036 *                                       .text
                   1240: 1194  00024A70    dd 8f0000102b                        pushl   $L365
                   1241: 1195  00024A76    fe 08 effffff4b7                     callf   $8,_writes
                   1242: 1196  00024A7D                                   #              writed( subtest );
                   1243: 1197  00024A7D    dd effffff4b1                        pushl   _subtest
                   1244: 1198  00024A83    fe 08 effffff4aa                     callf   $8,_writed
                   1245: 1199  00024A8A                                   #              writes("  ");
                   1246: 1200  00024A8A                                         .data   1
                   1247: 1201  00001036 *                                L366:
                   1248: 1202  00001036 *  202000                               .ascii  "  \0"
                   1249: 1203  00001039 *                                       .text
                   1250: 1204  00024A8A    dd 8f00001036                        pushl   $L366
                   1251: 1205  00024A90    fe 08 effffff49d                     callf   $8,_writes
                   1252: 1206  00024A97                                   #              writes( msg );
                   1253: 1207  00024A97    dd ad04                              pushl   4(fp)
                   1254: 1208  00024A9A    fe 08 effffff493                     callf   $8,_writes
                   1255: 1209  00024AA1                                   #                  writes("\n  operand 1 = ");
                   1256: 1210  00024AA1                                         .data   1
                   1257: 1211  00001039 *                                L367:
                   1258: 1212  00001039 *  0A20206F706572616E6420312            .ascii  "\12  operand 1 = \0"
                   1259:                   03D2000
                   1260: 1213  00001049 *                                       .text
                   1261: 1214  00024AA1    dd 8f00001039                        pushl   $L367
                   1262: 1215  00024AA7    fe 08 effffff486                     callf   $8,_writes
                   1263: 1216  00024AAE                                   #              write32h( sgl_value_1 );
                   1264: 1217  00024AAE    dd effffff480                        pushl   _sgl_value_1
                   1265: 1218  00024AB4    fe 08 effffff479                     callf   $8,_write32h
                   1266: 1219  00024ABB                                   #              writes(",        result = ");
                   1267: 1220  00024ABB                                         .data   1
                   1268: 1221  00001049 *                                L368:
                   1269: 1222  00001049 *  2C20202020202020207265737            .ascii  ",        result = \0"
                   1270:                   56C74203D2000
                   1271: 1223  0000105c *                                       .text
                   1272: 1224  00024ABB    dd 8f00001049                        pushl   $L368
                   1273: 1225  00024AC1    fe 08 effffff46c                     callf   $8,_writes
                   1274: 1226  00024AC8                                   #              write32h( sgl_value_3 );
                   1275: 1227  00024AC8    dd effffff466                        pushl   _sgl_value_3
                   1276: 1228  00024ACE    fe 08 effffff45f                     callf   $8,_write32h
                   1277: 1229  00024AD5                                   #              writes(",   data index = ");
                   1278: 1230  00024AD5                                         .data   1
                   1279: 1231  0000105c *                                L369:
                   1280: 1232  0000105c *  2C2020206461746120696E646            .ascii  ",   data index = \0"
                   1281:                   578203D2000
                   1282: 1233  0000106e *                                       .text
                   1283: 1234  00024AD5    dd 8f0000105c                        pushl   $L369
                   1284: 1235  00024ADB    fe 08 effffff452                     callf   $8,_writes
                   1285: 1236  00024AE2                                   #              writed( index );
                   1286: 1237  00024AE2    dd effffff44c                        pushl   _index
                   1287: 1238  00024AE8    fe 08 effffff445                     callf   $8,_writed
                   1288: 1239  00024AEF                                   #                  writes("\n  operand 2 = ");
                   1289: 1240  00024AEF                                         .data   1
                   1290: 1241  0000106e *                                L370:
                   1291: 1242  0000106e *  0A20206F706572616E6420322            .ascii  "\12  operand 2 = \0"
                   1292:                   03D2000
                   1293: 1243  0000107e *                                       .text
                   1294: 1244  00024AEF    dd 8f0000106e                        pushl   $L370
                   1295: 1245  00024AF5    fe 08 effffff438                     callf   $8,_writes
                   1296: 1246  00024AFC                                   #              write32h( sgl_value_2 );
                   1297: 1247  00024AFC    dd effffff432                        pushl   _sgl_value_2
                   1298: 1248  00024B02    fe 08 effffff42b                     callf   $8,_write32h
                   1299: 1249  00024B09                                   #              writes(",      expected = ");
                   1300: 1250  00024B09                                         .data   1
                   1301: 1251  0000107e *                                L371:
                   1302: 1252  0000107e *  2C20202020202065787065637            .ascii  ",      expected = \0"
                   1303:                   46564203D2000
                   1304: 1253  00001091 *                                       .text
                   1305: 1254  00024B09    dd 8f0000107e                        pushl   $L371
                   1306: 1255  00024B0F    fe 08 effffff41e                     callf   $8,_writes
                   1307: 1256  00024B16                                   #              write32h( sgl_value_4 );
                   1308: 1257  00024B16    dd effffff418                        pushl   _sgl_value_4
                   1309: 1258  00024B1C    fe 08 effffff411                     callf   $8,_write32h
                   1310: 1259  00024B23                                   #              writec('\n');
                   1311: 1260  00024B23    dd 0a                                pushl   $10
                   1312: 1261  00024B25    fe 08 effffff408                     callf   $8,_writec
                   1313: 1262  00024B2C                                   # }
                   1314: 1263  00024B2C    40                                   ret#2
                   1315: 1264  00024B2D                                         .set    L357,0x0
                   1316: 1265  00024B2D                                  L359:
                   1317: 1266  00024B2D    13 feff                              jbr     L360
                   1318: 1267  00024B30                                         .data
                   1319: 1268  00000d58 *                                       .text
                   1320: 1269  00024B30                                         .align  1
                   1321: 1270  00024B30                                         .globl  _mull2_halt
                   1322: 1271  00024B30                                  _mull2_halt:
                   1323: 1272  00024B30    0000                                 .word   L372
                   1324: 1273  00024B32                                   #   
                   1325: 1274  00024B32                                   # 
                   1326: 1275  00024B32                                   # 
                   1327: 1276  00024B32                                   # /***************************************************************************
                   1328: 1277  00024B32                                   # *
                   1329: 1278  00024B32                                   # *               HALT ON AN ERROR
                   1330: 1279  00024B32                                   # *
                   1331: 1280  00024B32                                   # ***************************************************************************/
                   1332: 1281  00024B32                                   # mull2_halt( code )
                   1333: 1282  00024B32                                   # int code;                                   /* error code to use */
                   1334: 1283  00024B32                                   # {
                   1335: 1284  00024B32    13 0152                              jbr     L374
                   1336: 1285  00024B35                                  L375:
                   1337: 1286  00024B35                                   #     sgl_dummy1 = code;                      /* save the error code    */
                   1338: 1287  00024B35    0d ad04 effffff3f7                   movl    4(fp),_sgl_dummy1
                   1339: 1288  00024B3D                                   #         asm("movl _test_no,r0");                    /* r0  = test number      */
                   1340: 1289  00024B3D    0d effffff3f1 50              movl _test_no,r0
                   1341: 1290  00024B44                                   #         asm("movl _subtest,r1");                    /* r1  = subtest number   */
                   1342: 1291  00024B44    0d effffff3ea 51              movl _subtest,r1
                   1343: 1292  00024B4B                                   #         asm("movl _sgl_dummy1,r2");                 /* r2  = error code       */
                   1344: 1293  00024B4B    0d effffff3e3 52              movl _sgl_dummy1,r2
                   1345: 1294  00024B52                                   #         asm("movl _cycle,r3");                      /* r3  = cycle count      */
                   1346: 1295  00024B52    0d effffff3dc 53              movl _cycle,r3
                   1347: 1296  00024B59                                   #         asm("movl _sgl_value_1,r4");                /* r4  = operand 1        */
                   1348: 1297  00024B59    0d effffff3d5 54              movl _sgl_value_1,r4
                   1349: 1298  00024B60                                   #         asm("movl _sgl_value_2,r5");                /* r5  = operand 2        */
                   1350: 1299  00024B60    0d effffff3ce 55              movl _sgl_value_2,r5
                   1351: 1300  00024B67                                   #         asm("movl _sgl_value_3,r6");                /* r6  = MULL2's result   */
                   1352: 1301  00024B67    0d effffff3c7 56              movl _sgl_value_3,r6
                   1353: 1302  00024B6E                                   #     if( code == 1 ) {
                   1354: 1303  00024B6E    1d ad04 01                           cmpl    4(fp),$1
                   1355: 1304  00024B72    21 11                                jneq    L376
                   1356: 1305  00024B74                                   #          asm("movl _sgl_value_4,r7");       /* r7  = expected result  */
                   1357: 1306  00024B74    0d effffff3ba 57              movl _sgl_value_4,r7
                   1358: 1307  00024B7B                                   #          asm("movl _index,r8");;            /* r8  = data index       */
                   1359: 1308  00024B7B    0d effffff3b3 58              movl _index,r8
                   1360: 1309  00024B82                                   #     }
                   1361: 1310  00024B82                                   #      else if( code == 2 )  {  /* corrupted register */
                   1362: 1311  00024B82    13 0100                              jbr     L377
                   1363: 1312  00024B85                                  L376:
                   1364: 1313  00024B85    1d ad04 02                           cmpl    4(fp),$2
                   1365: 1314  00024B89    21 3e                                jneq    L378
                   1366: 1315  00024B8B                                   #          sgl_dummy1 = store_regs[index2];   /* get the actual reg data */
                   1367: 1316  00024B8B    0d effffff3a3 50                     movl    _index2,r0
                   1368: 1317  00024B92    0d 40effffff39b                      movl    _store_regs[r0],_sgl_dummy1
                   1369:                   effffff396 
                   1370: 1318  00024B9E                                   #          sgl_dummy2 = load_regs[index2];    /* get the data expected  */
                   1371: 1319  00024B9E    0d effffff390 50                     movl    _index2,r0
                   1372: 1320  00024BA5    0d 40effffff388                      movl    _load_regs[r0],_sgl_dummy2
                   1373:                   effffff383 
                   1374: 1321  00024BB1                                   #          asm("movl _index2,r7");            /* r7  = register number  */
                   1375: 1322  00024BB1    0d effffff37d 57              movl _index2,r7
                   1376: 1323  00024BB8                                   #          asm("movl _sgl_dummy1,r8");        /* r8  = final reg value  */
                   1377: 1324  00024BB8    0d effffff376 58              movl _sgl_dummy1,r8
                   1378: 1325  00024BBF                                   #          asm("movl _sgl_dummy2,r9");        /* r9  = expected value   */
                   1379: 1326  00024BBF    0d effffff36f 59              movl _sgl_dummy2,r9
                   1380: 1327  00024BC6                                   #     }
                   1381: 1328  00024BC6                                   #      else if( code == 3 ) {  /* corrupted PSL */
                   1382: 1329  00024BC6    13 00bc                              jbr     L379
                   1383: 1330  00024BC9                                  L378:
                   1384: 1331  00024BC9    1d ad04 03                           cmpl    4(fp),$3
                   1385: 1332  00024BCD    21 18                                jneq    L380
                   1386: 1333  00024BCF                                   #              asm("movl _init_psl,r7");          /* r7  = initial PSL     */
                   1387: 1334  00024BCF    0d effffff35f 57              movl _init_psl,r7
                   1388: 1335  00024BD6                                   #              asm("movl _psl_val,r8");           /* r8  = final PSL       */
                   1389: 1336  00024BD6    0d effffff358 58              movl _psl_val,r8
                   1390: 1337  00024BDD                                   #              asm("movl _exp_psl,r9");           /* r9  = expected PSL    */
                   1391: 1338  00024BDD    0d effffff351 59              movl _exp_psl,r9
                   1392: 1339  00024BE4                                   #         }
                   1393: 1340  00024BE4                                   #      else if( code == 4 ) {  /* corrupted Acc */
                   1394: 1341  00024BE4    13 009e                              jbr     L381
                   1395: 1342  00024BE7                                  L380:
                   1396: 1343  00024BE7    1d ad04 04                           cmpl    4(fp),$4
                   1397: 1344  00024BEB    21 6f                                jneq    L382
                   1398: 1345  00024BED                                   #          if( subtest == 1 ) {       /* single precision */
                   1399: 1346  00024BED    1d effffff341 01                     cmpl    _subtest,$1
                   1400: 1347  00024BF4    21 33                                jneq    L383
                   1401: 1348  00024BF6                                   #              dbl_ld_acc.m = sgl_ld_acc;
                   1402: 1349  00024BF6    0d effffff338 effffff333             movl    _sgl_ld_acc,_dbl_ld_acc
                   1403: 1350  00024C01                                   #              dbl_ld_acc.l = 0;
                   1404: 1351  00024C01    4d effffff331                        clrl    _dbl_ld_acc+4
                   1405: 1352  00024C07                                   #              dbl_st_acc.m = sgl_st_acc;
                   1406: 1353  00024C07    0d effffff327 effffff322             movl    _sgl_st_acc,_dbl_st_acc
                   1407: 1354  00024C12                                   #              dbl_st_acc.l = 0;
                   1408: 1355  00024C12    4d effffff320                        clrl    _dbl_st_acc+4
                   1409: 1356  00024C18                                   #              dbl_expected.m = sgl_expected;
                   1410: 1357  00024C18    0d effffff316 effffff311             movl    _sgl_expected,_dbl_expected
                   1411: 1358  00024C23                                   #              dbl_expected.l = 0;
                   1412: 1359  00024C23    4d effffff30f                        clrl    _dbl_expected+4
                   1413: 1360  00024C29                                   #          };
                   1414: 1361  00024C29                                  L383:
                   1415: 1362  00024C29                                   #          asm("movl _index,r7");             /* r7  = data index       */
                   1416: 1363  00024C29    0d effffff305 57              movl _index,r7
                   1417: 1364  00024C30                                   #          asm("movl _dbl_ld_acc,r8");        /* r8  = MS initial Acc.  */
                   1418: 1365  00024C30    0d effffff2fe 58              movl _dbl_ld_acc,r8
                   1419: 1366  00024C37                                   #          asm("movl _dbl_ld_acc+4,r9");      /* r9  = LS initial Acc.  */
                   1420: 1367  00024C37    0d effffff2fb 59              movl _dbl_ld_acc+4,r9
                   1421: 1368  00024C3E                                   #          asm("movl _dbl_st_acc,r10");       /* r10 = MS final Acc.    */
                   1422: 1369  00024C3E    0d effffff2f0 5a              movl _dbl_st_acc,r10
                   1423: 1370  00024C45                                   #          asm("movl _dbl_st_acc+4,r11");     /* r11 = LS final Acc.    */
                   1424: 1371  00024C45    0d effffff2ed 5b              movl _dbl_st_acc+4,r11
                   1425: 1372  00024C4C                                   #          asm("movl _dbl_expected,r12");     /* r12 = MS expected Acc. */
                   1426: 1373  00024C4C    0d effffff2e2 5c              movl _dbl_expected,r12
                   1427: 1374  00024C53                                   #          asm("movl _dbl_expected+4,r13");   /* r13 = LS expected Acc. */
                   1428: 1375  00024C53    0d effffff2df 5d              movl _dbl_expected+4,r13
                   1429: 1376  00024C5A                                   #     }
                   1430: 1377  00024C5A                                   #      else if( code == 5 ) {  /* bad final Acc */
                   1431: 1378  00024C5A    11 29                                jbr     L384
                   1432: 1379  00024C5C                                  L382:
                   1433: 1380  00024C5C    1d ad04 05                           cmpl    4(fp),$5
                   1434: 1381  00024C60    21 23                                jneq    L385
                   1435: 1382  00024C62                                   #          asm("movl _index,r7");             /* r7  = data index       */
                   1436: 1383  00024C62    0d effffff2cc 57              movl _index,r7
                   1437: 1384  00024C69                                   #          asm("movl _sgl_ld_acc,r8");        /* r8  = initial Acc.     */
                   1438: 1385  00024C69    0d effffff2c5 58              movl _sgl_ld_acc,r8
                   1439: 1386  00024C70                                   #          asm("movl _sgl_value_10,r9");      /* r9  = fpp operand      */
                   1440: 1387  00024C70    0d effffff2be 59              movl _sgl_value_10,r9
                   1441: 1388  00024C77                                   #          asm("movl _sgl_st_acc,r10");       /* r10 = final Acc.       */
                   1442: 1389  00024C77    0d effffff2b7 5a              movl _sgl_st_acc,r10
                   1443: 1390  00024C7E                                   #          asm("movl _sgl_expected,r11");     /* r11 = expected Acc.    */
                   1444: 1391  00024C7E    0d effffff2b0 5b              movl _sgl_expected,r11
                   1445: 1392  00024C85                                   #     };
                   1446: 1393  00024C85                                  L385:
                   1447: 1394  00024C85                                  L384:
                   1448: 1395  00024C85                                  L381:
                   1449: 1396  00024C85                                  L379:
                   1450: 1397  00024C85                                  L377:
                   1451: 1398  00024C85                                   #     asm("halt");                   /* HALT ...                */
                   1452: 1399  00024C85    00                            halt
                   1453: 1400  00024C86                                   # }
                   1454: 1401  00024C86    40                                   ret#2
                   1455: 1402  00024C87                                         .set    L372,0x0
                   1456: 1403  00024C87                                  L374:
                   1457: 1404  00024C87    13 feab                              jbr     L375
                   1458: 1405  00024C8A                                         .data
                   1459: 1405  00048BBE                                         .data

unix.superglobalmegacorp.com

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