Annotation of cci/d/macro4/mull3.lst, revision 1.1

1.1     ! root        1:    1  00000000                                  LL0:
        !             2:    2  00000000                                         .data
        !             3:    3  00000d38 *                                       .text
        !             4:    4  00000000                                         .align  1
        !             5:    5  00000000                                         .globl  _mull3
        !             6:    6  00000000                                  _mull3:
        !             7:    7  00024C8C    0000                                 .word   L215
        !             8:    8  00024C8E                                   # #include "fpp_defs.h"
        !             9:    9  00024C8E                                   # 
        !            10:   10  00024C8E                                   # 
        !            11:   11  00024C8E                                   # /***************************************************************************
        !            12:   12  00024C8E                                   # *
        !            13:   13  00024C8E                                   # *       MULL3 -MULTIPLY INTEGER 3 INSTRUCTION TEST
        !            14:   14  00024C8E                                   # *
        !            15:   15  00024C8E                                   # *****************************************************************************/
        !            16:   16  00024C8E                                   # mull3()
        !            17:   17  00024C8E                                   # {
        !            18:   18  00024C8E    11 4f                                jbr     L217
        !            19:   19  00024C90                                  L218:
        !            20:   20  00024C90                                   #         asm(".globl _mull3_t");
        !            21:   21  00024C90                                  .globl _mull3_t
        !            22:   22  00024C90                                   #         asm("_mull3_t:");                       /* entry address            */
        !            23:   23  00024C90                                  _mull3_t:
        !            24:   24  00024C90                                   #         if( (cycle == 1) && (prt_hdrs) )        /* print headers on 1st cycle */
        !            25:   25  00024C90    1d effffffff6 01                     cmpl    _cycle,$1
        !            26:   26  00024C97    21 15                                jneq    L219
        !            27:   27  00024C99    5d efffffffed                        tstl    _prt_hdrs
        !            28:   28  00024C9F    31 0d                                jeql    L219
        !            29:   29  00024CA1                                   #         {
        !            30:   30  00024CA1                                   #            writes(" MULL3");
        !            31:   31  00024CA1                                         .data   1
        !            32:   32  00000d38 *                                L221:
        !            33:   33  00000d38 *  204D554C4C3300                       .ascii  " MULL3\0"
        !            34:   34  00000d3f *                                       .text
        !            35:   35  00024CA1    dd 8f00000d38                        pushl   $L221
        !            36:   36  00024CA7    fe 08 efffffffde                     callf   $8,_writes
        !            37:   37  00024CAE                                   #         }
        !            38:   38  00024CAE                                   #         mull3_1();                              /* register data / SGL acc. */
        !            39:   39  00024CAE                                  L219:
        !            40:   40  00024CAE    fe 04 ef0000002d                     callf   $4,_mull3_1
        !            41:   41  00024CB5                                   #         mull3_2();                              /* memory data   / DBL acc. */
        !            42:   42  00024CB5    fe 04 ef000001d0                     callf   $4,_mull3_2
        !            43:   43  00024CBC                                   #         mull3_3();                              /* register corruption test */
        !            44:   44  00024CBC    fe 04 ef000003d3                     callf   $4,_mull3_3
        !            45:   45  00024CC3                                   #         mull3_4();                              /* PSL corruption test      */
        !            46:   46  00024CC3    fe 04 ef0000055c                     callf   $4,_mull3_4
        !            47:   47  00024CCA                                   #         mull3_5();                              /* pipelined entry test     */
        !            48:   48  00024CCA    fe 04 ef000006f9                     callf   $4,_mull3_5
        !            49:   49  00024CD1                                   #         mull3_6();                              /* pipelined exit test      */
        !            50:   50  00024CD1    fe 04 ef000008be                     callf   $4,_mull3_6
        !            51:   51  00024CD8                                   #         asm("jmp *return");                     /* return to the test monitor */
        !            52:   52  00024CD8    71 ffffffffae                 jmp *return
        !            53:   53  00024CDE                                   # }
        !            54:   54  00024CDE    40                                   ret#2
        !            55:   55  00024CDF                                         .set    L215,0x0
        !            56:   56  00024CDF                                  L217:
        !            57:   57  00024CDF    11 af                                jbr     L218
        !            58:   58  00024CE1                                         .data
        !            59:   59  00000d38 *                                       .text
        !            60:   60  00024CE1    00                                   .align  1
        !            61:   61  00024CE2                                         .globl  _mull3_1
        !            62:   62  00024CE2                                  _mull3_1:
        !            63:   63  00024CE2    0000                                 .word   L228
        !            64:   64  00024CE4                                   #   
        !            65:   65  00024CE4                                   # 
        !            66:   66  00024CE4                                   # 
        !            67:   67  00024CE4                                   # /************************************************************************
        !            68:   68  00024CE4                                   # *
        !            69:   69  00024CE4                                   # *        SUBTEST 1 - register addressing / single precsion accumulator
        !            70:   70  00024CE4                                   # *
        !            71:   71  00024CE4                                   # ************************************************************************/
        !            72:   72  00024CE4                                   # mull3_1() 
        !            73:   73  00024CE4                                   # {
        !            74:   74  00024CE4    13 01a2                              jbr     L230
        !            75:   75  00024CE7                                  L231:
        !            76:   76  00024CE7                                   #         force_loop = FALSE;
        !            77:   77  00024CE7    4d efffffff9f                        clrl    _force_loop
        !            78:   78  00024CED                                   #         subtest = 1;
        !            79:   79  00024CED    0d 01 efffffff98                     movl    $1,_subtest
        !            80:   80  00024CF4                                   #         for( index = 0; index < max_mull_1_index; index++ ) {
        !            81:   81  00024CF4    4d efffffff92                        clrl    _index
        !            82:   82  00024CFA                                  L234:
        !            83:   83  00024CFA    1d efffffff8c efffffff87             cmpl    _index,_max_mull_1_index
        !            84:   84  00024D05    91 03 13 017e                        jgeq    L233
        !            85:   85  00024D0A                                   #            sgl_value_1  = mull_1_data[index].op_1; /* get operand 1        */
        !            86:   86  00024D0A    5c 0c efffffff7b 50                  mull3   $12,_index,r0
        !            87:   87  00024D12    0d e000000000 efffffff6f             movl    _mull_1_data(r0),_sgl_value_1
        !            88:   88  00024D1D                                   #            sgl_value_2  = mull_1_data[index].op_2; /* get operand 2        */
        !            89:   89  00024D1D    5c 0c efffffff68 50                  mull3   $12,_index,r0
        !            90:   90  00024D25    0d e000000004 efffffff5c             movl    _mull_1_data+4(r0),_sgl_value_2
        !            91:   91  00024D30                                   #        sgl_value_4  = mull_1_data[index].exp;  /* get expected results */
        !            92:   92  00024D30    5c 0c efffffff55 50                  mull3   $12,_index,r0
        !            93:   93  00024D38    0d e000000008 efffffff49             movl    _mull_1_data+8(r0),_sgl_value_4
        !            94:   94  00024D43                                   #            sgl_ld_acc   = 0x12345678;                  /* set acc data pattern */
        !            95:   95  00024D43    0d 8f12345678 efffffff3e             movl    $305419896,_sgl_ld_acc
        !            96:   96  00024D4E                                   #        sgl_expected = sgl_ld_acc;              /* final Acc expected   */
        !            97:   97  00024D4E    0d efffffff38 efffffff33             movl    _sgl_ld_acc,_sgl_expected
        !            98:   98  00024D59                                   # /*
        !            99:   99  00024D59                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           100:  100  00024D59                                   # */
        !           101:  101  00024D59                                   #            asm("_mull3_1_lp1:");
        !           102:  102  00024D59                                  _mull3_1_lp1:
        !           103:  103  00024D59                                   #            asm("movl _sgl_value_1,r3");         /* move the 1st data to r3 */
        !           104:  104  00024D59    0d efffffff2d 53              movl _sgl_value_1,r3
        !           105:  105  00024D60                                   #            asm("movl _sgl_value_2,r4");         /* move the 2nd data to r4 */
        !           106:  106  00024D60    0d efffffff26 54              movl _sgl_value_2,r4
        !           107:  107  00024D67                                   #            asm("ldf _sgl_ld_acc");          /* load the acc            */
        !           108:  108  00024D67    06 efffffff1f                 ldf _sgl_ld_acc
        !           109:  109  00024D6D                                   #        asm("mull3 r3,r4,r5");               /* do the multiply         */
        !           110:  110  00024D6D    5c 53 54 55                   mull3 r3,r4,r5
        !           111:  111  00024D71                                   #            asm("nop");
        !           112:  112  00024D71    10                            nop
        !           113:  113  00024D72                                   #            asm("stf _sgl_st_acc");          /* save the acc            */
        !           114:  114  00024D72    26 efffffff14                 stf _sgl_st_acc
        !           115:  115  00024D78                                   #            if( force_loop )
        !           116:  116  00024D78    5d efffffff0e                        tstl    _force_loop
        !           117:  117  00024D7E    31 02                                jeql    L235
        !           118:  118  00024D80                                   #                 asm("brb _mull3_1_lp1");;
        !           119:  119  00024D80    11 d7                         brb _mull3_1_lp1
        !           120:  120  00024D82                                  L235:
        !           121:  121  00024D82                                   #            asm("movl r5,_sgl_value_3");
        !           122:  122  00024D82    0d 55 efffffff03              movl r5,_sgl_value_3
        !           123:  123  00024D89                                   #        if( sgl_expected != sgl_st_acc )  {   /* COMPARE the values      */
        !           124:  124  00024D89    1d effffffefd effffffef8             cmpl    _sgl_expected,_sgl_st_acc
        !           125:  125  00024D94    21 03 13 0098                        jeql    L236
        !           126:  126  00024D99                                   #               errcnt++;                         /* bump the error count    */
        !           127:  127  00024D99    6d effffffeed                        incl    _errcnt
        !           128:  128  00024D9F                                   #               if ( prt_error ) {
        !           129:  129  00024D9F    5d effffffee7                        tstl    _prt_error
        !           130:  130  00024DA5    31 64                                jeql    L237
        !           131:  131  00024DA7                                   #                   print_mull3_error("(Reg. Data) -THE ACC WAS MODIFIED");
        !           132:  132  00024DA7                                         .data   1
        !           133:  133  00000d3f *                                L239:
        !           134:  134  00000d3f *  285265672E204461746129202            .ascii  "(Reg. Data) -THE ACC WAS MODIFIED\0"
        !           135:                   D544845204143432057415320
        !           136:                   4D4F44494649454400
        !           137:  135  00000d61 *                                       .text
        !           138:  136  00024DA7    dd 8f00000d3f                        pushl   $L239
        !           139:  137  00024DAD    fe 08 ef000009ae                     callf   $8,_print_mull3_error
        !           140:  138  00024DB4                                   #               writes("initial Acc = ");
        !           141:  139  00024DB4                                         .data   1
        !           142:  140  00000d61 *                                L240:
        !           143:  141  00000d61 *  696E697469616C20416363203            .ascii  "initial Acc = \0"
        !           144:                   D2000
        !           145:  142  00000d70 *                                       .text
        !           146:  143  00024DB4    dd 8f00000d61                        pushl   $L240
        !           147:  144  00024DBA    fe 08 effffffecb                     callf   $8,_writes
        !           148:  145  00024DC1                                   #                   write32h( sgl_ld_acc );
        !           149:  146  00024DC1    dd effffffec5                        pushl   _sgl_ld_acc
        !           150:  147  00024DC7    fe 08 effffffebe                     callf   $8,_write32h
        !           151:  148  00024DCE                                   #                   writes(",     final Acc = ");
        !           152:  149  00024DCE                                         .data   1
        !           153:  150  00000d70 *                                L242:
        !           154:  151  00000d70 *  2C202020202066696E616C204            .ascii  ",     final Acc = \0"
        !           155:                   16363203D2000
        !           156:  152  00000d83 *                                       .text
        !           157:  153  00024DCE    dd 8f00000d70                        pushl   $L242
        !           158:  154  00024DD4    fe 08 effffffeb1                     callf   $8,_writes
        !           159:  155  00024DDB                                   #                   write32h( sgl_st_acc );
        !           160:  156  00024DDB    dd effffffeab                        pushl   _sgl_st_acc
        !           161:  157  00024DE1    fe 08 effffffea4                     callf   $8,_write32h
        !           162:  158  00024DE8                                   #               writes("\n                            expected Acc = ");
        !           163:  159  00024DE8                                         .data   1
        !           164:  160  00000d83 *                                L243:
        !           165:  161  00000d83 *  0A20202020202020202020202            .ascii  "\12                            expected Acc = \0"
        !           166:                   0202020202020202020202020
        !           167:                   2020202065787065637465642
        !           168:                   0416363203D2000
        !           169:  162  00000db0 *                                       .text
        !           170:  163  00024DE8    dd 8f00000d83                        pushl   $L243
        !           171:  164  00024DEE    fe 08 effffffe97                     callf   $8,_writes
        !           172:  165  00024DF5                                   #                   write32h( sgl_expected );
        !           173:  166  00024DF5    dd effffffe91                        pushl   _sgl_expected
        !           174:  167  00024DFB    fe 08 effffffe8a                     callf   $8,_write32h
        !           175:  168  00024E02                                   #                   writec('\n');
        !           176:  169  00024E02    dd 0a                                pushl   $10
        !           177:  170  00024E04    fe 08 effffffe81                     callf   $8,_writec
        !           178:  171  00024E0B                                   #               }
        !           179:  172  00024E0B                                   #           if ( halt_flg )                   /* halt on error?          */
        !           180:  173  00024E0B                                  L237:
        !           181:  174  00024E0B    5d effffffe7b                        tstl    _halt_flg
        !           182:  175  00024E11    31 09                                jeql    L245
        !           183:  176  00024E13                                   #                   mull3_halt( 4 );
        !           184:  177  00024E13    dd 04                                pushl   $4
        !           185:  178  00024E15    fe 08 ef00000a4c                     callf   $8,_mull3_halt
        !           186:  179  00024E1C                                   #               if ( loop_on_err ) {
        !           187:  180  00024E1C                                  L245:
        !           188:  181  00024E1C    5d effffffe6a                        tstl    _loop_on_err
        !           189:  182  00024E22    31 0d                                jeql    L247
        !           190:  183  00024E24                                   #                   force_loop = TRUE;            /* set the force loop flag */
        !           191:  184  00024E24    0d 01 effffffe61                     movl    $1,_force_loop
        !           192:  185  00024E2B                                   #                   asm("jmp _mull3_1_lp1");      /* and loop                */
        !           193:  186  00024E2B    71 efffffff28                 jmp _mull3_1_lp1
        !           194:  187  00024E31                                   #               }  /* end of loop-on-error */
        !           195:  188  00024E31                                   #            } /* end of acc corr error */
        !           196:  189  00024E31                                  L247:
        !           197:  190  00024E31                                   #        if( sgl_value_4 != sgl_value_3 )    /* COMPARE the values      */
        !           198:  191  00024E31                                  L236:
        !           199:  192  00024E31    1d effffffe55 effffffe50             cmpl    _sgl_value_4,_sgl_value_3
        !           200:  193  00024E3C    31 41                                jeql    L248
        !           201:  194  00024E3E                                   #            {
        !           202:  195  00024E3E                                   #               errcnt++;                         /* bump the error count    */
        !           203:  196  00024E3E    6d effffffe48                        incl    _errcnt
        !           204:  197  00024E44                                   #               if ( prt_error ) {
        !           205:  198  00024E44    5d effffffe42                        tstl    _prt_error
        !           206:  199  00024E4A    31 0d                                jeql    L249
        !           207:  200  00024E4C                                   #                   print_mull3_error("(Reg. Data) -BAD MULTIPLY RESULT");
        !           208:  201  00024E4C                                         .data   1
        !           209:  202  00000db0 *                                L250:
        !           210:  203  00000db0 *  285265672E204461746129202            .ascii  "(Reg. Data) -BAD MULTIPLY RESULT\0"
        !           211:                   D424144204D554C5449504C59
        !           212:                   20524553554C5400
        !           213:  204  00000dd1 *                                       .text
        !           214:  205  00024E4C    dd 8f00000db0                        pushl   $L250
        !           215:  206  00024E52    fe 08 ef00000909                     callf   $8,_print_mull3_error
        !           216:  207  00024E59                                   #               }
        !           217:  208  00024E59                                   #           if ( halt_flg )                   /* halt on error?          */
        !           218:  209  00024E59                                  L249:
        !           219:  210  00024E59    5d effffffe2d                        tstl    _halt_flg
        !           220:  211  00024E5F    31 09                                jeql    L251
        !           221:  212  00024E61                                   #                   mull3_halt( 1 );
        !           222:  213  00024E61    dd 01                                pushl   $1
        !           223:  214  00024E63    fe 08 ef000009fe                     callf   $8,_mull3_halt
        !           224:  215  00024E6A                                   #               if ( loop_on_err ) {
        !           225:  216  00024E6A                                  L251:
        !           226:  217  00024E6A    5d effffffe1c                        tstl    _loop_on_err
        !           227:  218  00024E70    31 0d                                jeql    L252
        !           228:  219  00024E72                                   #                   force_loop = TRUE;            /* set the force loop flag */
        !           229:  220  00024E72    0d 01 effffffe13                     movl    $1,_force_loop
        !           230:  221  00024E79                                   #                   asm("jmp _mull3_1_lp1");      /* and loop                */
        !           231:  222  00024E79    71 effffffeda                 jmp _mull3_1_lp1
        !           232:  223  00024E7F                                   #               }  /* end of loop-on-error */
        !           233:  224  00024E7F                                   #            } /* end of multiply error */
        !           234:  225  00024E7F                                  L252:
        !           235:  226  00024E7F                                   #         }
        !           236:  227  00024E7F                                  L248:
        !           237:  228  00024E7F                                  L232:
        !           238:  229  00024E7F    6d effffffe07                        incl    _index
        !           239:  230  00024E85    13 fe72                              jbr     L234
        !           240:  231  00024E88                                  L233:
        !           241:  232  00024E88                                   # }  /* end of subtest 1 */
        !           242:  233  00024E88    40                                   ret#2
        !           243:  234  00024E89                                         .set    L228,0x0
        !           244:  235  00024E89                                  L230:
        !           245:  236  00024E89    13 fe5b                              jbr     L231
        !           246:  237  00024E8C                                         .data
        !           247:  238  00000d38 *                                       .text
        !           248:  239  00024E8C                                         .align  1
        !           249:  240  00024E8C                                         .globl  _mull3_2
        !           250:  241  00024E8C                                  _mull3_2:
        !           251:  242  00024E8C    0000                                 .word   L253
        !           252:  243  00024E8E                                   #   
        !           253:  244  00024E8E                                   # 
        !           254:  245  00024E8E                                   # 
        !           255:  246  00024E8E                                   # /************************************************************************
        !           256:  247  00024E8E                                   # *
        !           257:  248  00024E8E                                   # *        SUBTEST 2 - cache addressing / double precsion accumulator
        !           258:  249  00024E8E                                   # *
        !           259:  250  00024E8E                                   # ************************************************************************/
        !           260:  251  00024E8E                                   # mull3_2() 
        !           261:  252  00024E8E                                   # {
        !           262:  253  00024E8E    13 0201                              jbr     L255
        !           263:  254  00024E91                                  L256:
        !           264:  255  00024E91                                   #         force_loop = FALSE;
        !           265:  256  00024E91    4d effffffdf5                        clrl    _force_loop
        !           266:  257  00024E97                                   #         subtest = 2;
        !           267:  258  00024E97    0d 02 effffffdee                     movl    $2,_subtest
        !           268:  259  00024E9E                                   #         for( index = 0; index < max_mull_1_index; index++ ) {
        !           269:  260  00024E9E    4d effffffde8                        clrl    _index
        !           270:  261  00024EA4                                  L259:
        !           271:  262  00024EA4    1d effffffde2 effffffddd             cmpl    _index,_max_mull_1_index
        !           272:  263  00024EAF    91 03 13 01dd                        jgeq    L258
        !           273:  264  00024EB4                                   #            sgl_value_1  = mull_1_data[index].op_1; /* get operand 1        */
        !           274:  265  00024EB4    5c 0c effffffdd1 50                  mull3   $12,_index,r0
        !           275:  266  00024EBC    0d e000000000 effffffdc5             movl    _mull_1_data(r0),_sgl_value_1
        !           276:  267  00024EC7                                   #            sgl_value_2  = mull_1_data[index].op_2; /* get operand 2        */
        !           277:  268  00024EC7    5c 0c effffffdbe 50                  mull3   $12,_index,r0
        !           278:  269  00024ECF    0d e000000004 effffffdb2             movl    _mull_1_data+4(r0),_sgl_value_2
        !           279:  270  00024EDA                                   #        sgl_value_4  = mull_1_data[index].exp;  /* get expected results */
        !           280:  271  00024EDA    5c 0c effffffdab 50                  mull3   $12,_index,r0
        !           281:  272  00024EE2    0d e000000008 effffffd9f             movl    _mull_1_data+8(r0),_sgl_value_4
        !           282:  273  00024EED                                   #            dbl_ld_acc.m = 0x12345678;                  /* set acc data pattern */
        !           283:  274  00024EED    0d 8f12345678 effffffd94             movl    $305419896,_dbl_ld_acc
        !           284:  275  00024EF8                                   #            dbl_ld_acc.l = 0x9abcdef0;
        !           285:  276  00024EF8    0d 8f9abcdef0 effffffd8d             movl    $-1698898192,_dbl_ld_acc+4
        !           286:  277  00024F03                                   #        dbl_expected.m = dbl_ld_acc.m;          /* final Acc expected   */
        !           287:  278  00024F03    0d effffffd83 effffffd7e             movl    _dbl_ld_acc,_dbl_expected
        !           288:  279  00024F0E                                   #        dbl_expected.l = dbl_ld_acc.l;
        !           289:  280  00024F0E    0d effffffd7c effffffd77             movl    _dbl_ld_acc+4,_dbl_expected+4
        !           290:  281  00024F19                                   # /*
        !           291:  282  00024F19                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           292:  283  00024F19                                   # */
        !           293:  284  00024F19                                   #            asm("_mull3_2_lp1:");
        !           294:  285  00024F19                                  _mull3_2_lp1:
        !           295:  286  00024F19                                   #            asm("ldd _dbl_ld_acc");          /* load the acc            */
        !           296:  287  00024F19    07 effffffd6d                 ldd _dbl_ld_acc
        !           297:  288  00024F1F                                   #        asm("mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3"); 
        !           298:  289  00024F1F    5c effffffd67 effffffd62      mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3
        !           299:                   effffffd5d 
        !           300:  290  00024F2F                                   #            asm("nop");
        !           301:  291  00024F2F    10                            nop
        !           302:  292  00024F30                                   #            asm("std _dbl_st_acc");          /* save the acc            */
        !           303:  293  00024F30    27 effffffd56                 std _dbl_st_acc
        !           304:  294  00024F36                                   #            if( force_loop )
        !           305:  295  00024F36    5d effffffd50                        tstl    _force_loop
        !           306:  296  00024F3C    31 02                                jeql    L260
        !           307:  297  00024F3E                                   #                 asm("brb _mull3_2_lp1");;
        !           308:  298  00024F3E    11 d9                         brb _mull3_2_lp1
        !           309:  299  00024F40                                  L260:
        !           310:  300  00024F40                                   #        if( (dbl_expected.m != dbl_st_acc.m) ||    /* COMPARE the Acc */
        !           311:  301  00024F40                                   #            (dbl_expected.l != dbl_st_acc.l) )  { 
        !           312:  302  00024F40    1d effffffd46 effffffd41             cmpl    _dbl_expected,_dbl_st_acc
        !           313:  303  00024F4B    21 10                                jneq    L9999
        !           314:  304  00024F4D    1d effffffd3d effffffd38             cmpl    _dbl_expected+4,_dbl_st_acc+4
        !           315:  305  00024F58    21 03 13 00dd                        jeql    L261
        !           316:  306  00024F5D                                  L9999:
        !           317:  307  00024F5D                                   #               errcnt++;                         /* bump the error count    */
        !           318:  308  00024F5D    6d effffffd29                        incl    _errcnt
        !           319:  309  00024F63                                   #               if ( prt_error ) {
        !           320:  310  00024F63    5d effffffd23                        tstl    _prt_error
        !           321:  311  00024F69    21 03 13 00a6                        jeql    L262
        !           322:  312  00024F6E                                   #                   print_mull3_error("(Memory data) -THE ACC WAS MODIFIED");
        !           323:  313  00024F6E                                         .data   1
        !           324:  314  00000dd1 *                                L263:
        !           325:  315  00000dd1 *  284D656D6F727920646174612            .ascii  "(Memory data) -THE ACC WAS MODIFIED\0"
        !           326:                   9202D54484520414343205741
        !           327:                   53204D4F44494649454400
        !           328:  316  00000df5 *                                       .text
        !           329:  317  00024F6E    dd 8f00000dd1                        pushl   $L263
        !           330:  318  00024F74    fe 08 ef000007e7                     callf   $8,_print_mull3_error
        !           331:  319  00024F7B                                   #               writes("initial Acc = ");
        !           332:  320  00024F7B                                         .data   1
        !           333:  321  00000df5 *                                L264:
        !           334:  322  00000df5 *  696E697469616C20416363203            .ascii  "initial Acc = \0"
        !           335:                   D2000
        !           336:  323  00000e04 *                                       .text
        !           337:  324  00024F7B    dd 8f00000df5                        pushl   $L264
        !           338:  325  00024F81    fe 08 effffffd04                     callf   $8,_writes
        !           339:  326  00024F88                                   #                   write32h( dbl_ld_acc.m );
        !           340:  327  00024F88    dd effffffcfe                        pushl   _dbl_ld_acc
        !           341:  328  00024F8E    fe 08 effffffcf7                     callf   $8,_write32h
        !           342:  329  00024F95                                   #               writec(' ');
        !           343:  330  00024F95    dd 20                                pushl   $32
        !           344:  331  00024F97    fe 08 effffffcee                     callf   $8,_writec
        !           345:  332  00024F9E                                   #                   write32h( dbl_ld_acc.l );
        !           346:  333  00024F9E    dd effffffcec                        pushl   _dbl_ld_acc+4
        !           347:  334  00024FA4    fe 08 effffffce1                     callf   $8,_write32h
        !           348:  335  00024FAB                                   #                   writes(",     final Acc = ");
        !           349:  336  00024FAB                                         .data   1
        !           350:  337  00000e04 *                                L265:
        !           351:  338  00000e04 *  2C202020202066696E616C204            .ascii  ",     final Acc = \0"
        !           352:                   16363203D2000
        !           353:  339  00000e17 *                                       .text
        !           354:  340  00024FAB    dd 8f00000e04                        pushl   $L265
        !           355:  341  00024FB1    fe 08 effffffcd4                     callf   $8,_writes
        !           356:  342  00024FB8                                   #                   write32h( dbl_st_acc.m );
        !           357:  343  00024FB8    dd effffffcce                        pushl   _dbl_st_acc
        !           358:  344  00024FBE    fe 08 effffffcc7                     callf   $8,_write32h
        !           359:  345  00024FC5                                   #               writec(' ');
        !           360:  346  00024FC5    dd 20                                pushl   $32
        !           361:  347  00024FC7    fe 08 effffffcbe                     callf   $8,_writec
        !           362:  348  00024FCE                                   #                   write32h( dbl_st_acc.l );
        !           363:  349  00024FCE    dd effffffcbc                        pushl   _dbl_st_acc+4
        !           364:  350  00024FD4    fe 08 effffffcb1                     callf   $8,_write32h
        !           365:  351  00024FDB                                   #               writes("\n                                  expected Acc = ");
        !           366:  352  00024FDB                                         .data   1
        !           367:  353  00000e17 *                                L266:
        !           368:  354  00000e17 *  0A20202020202020202020202            .ascii  "\12                                  expected Acc = \0"
        !           369:                   0202020202020202020202020
        !           370:                   2020202020202020202065787
        !           371:                   0656374656420416363203D20
        !           372:                   00
        !           373:  355  00000e4a *                                       .text
        !           374:  356  00024FDB    dd 8f00000e17                        pushl   $L266
        !           375:  357  00024FE1    fe 08 effffffca4                     callf   $8,_writes
        !           376:  358  00024FE8                                   #                   write32h( dbl_expected.m );
        !           377:  359  00024FE8    dd effffffc9e                        pushl   _dbl_expected
        !           378:  360  00024FEE    fe 08 effffffc97                     callf   $8,_write32h
        !           379:  361  00024FF5                                   #               writec(' ');
        !           380:  362  00024FF5    dd 20                                pushl   $32
        !           381:  363  00024FF7    fe 08 effffffc8e                     callf   $8,_writec
        !           382:  364  00024FFE                                   #                   write32h( dbl_expected.l );
        !           383:  365  00024FFE    dd effffffc8c                        pushl   _dbl_expected+4
        !           384:  366  00025004    fe 08 effffffc81                     callf   $8,_write32h
        !           385:  367  0002500B                                   #                   writec('\n');
        !           386:  368  0002500B    dd 0a                                pushl   $10
        !           387:  369  0002500D    fe 08 effffffc78                     callf   $8,_writec
        !           388:  370  00025014                                   #               }
        !           389:  371  00025014                                   #           if ( halt_flg )                   /* halt on error?          */
        !           390:  372  00025014                                  L262:
        !           391:  373  00025014    5d effffffc72                        tstl    _halt_flg
        !           392:  374  0002501A    31 09                                jeql    L267
        !           393:  375  0002501C                                   #                   mull3_halt( 4 );
        !           394:  376  0002501C    dd 04                                pushl   $4
        !           395:  377  0002501E    fe 08 ef00000843                     callf   $8,_mull3_halt
        !           396:  378  00025025                                   #               if ( loop_on_err ) {
        !           397:  379  00025025                                  L267:
        !           398:  380  00025025    5d effffffc61                        tstl    _loop_on_err
        !           399:  381  0002502B    31 0d                                jeql    L268
        !           400:  382  0002502D                                   #                   force_loop = TRUE;            /* set the force loop flag */
        !           401:  383  0002502D    0d 01 effffffc58                     movl    $1,_force_loop
        !           402:  384  00025034                                   #                   asm("jmp _mull3_2_lp1");      /* and loop                */
        !           403:  385  00025034    71 effffffedf                 jmp _mull3_2_lp1
        !           404:  386  0002503A                                   #               }  /* end of loop-on-error */
        !           405:  387  0002503A                                   #            } /* end of acc corr error */
        !           406:  388  0002503A                                  L268:
        !           407:  389  0002503A                                   #        if( sgl_value_4 != sgl_value_3 )    /* COMPARE the values      */
        !           408:  390  0002503A                                  L261:
        !           409:  391  0002503A    1d effffffc4c effffffc47             cmpl    _sgl_value_4,_sgl_value_3
        !           410:  392  00025045    31 41                                jeql    L269
        !           411:  393  00025047                                   #            {
        !           412:  394  00025047                                   #               errcnt++;                         /* bump the error count    */
        !           413:  395  00025047    6d effffffc3f                        incl    _errcnt
        !           414:  396  0002504D                                   #               if ( prt_error ) {
        !           415:  397  0002504D    5d effffffc39                        tstl    _prt_error
        !           416:  398  00025053    31 0d                                jeql    L270
        !           417:  399  00025055                                   #                   print_mull3_error("(Memory data) -BAD MULTIPLY RESULT");
        !           418:  400  00025055                                         .data   1
        !           419:  401  00000e4a *                                L271:
        !           420:  402  00000e4a *  284D656D6F727920646174612            .ascii  "(Memory data) -BAD MULTIPLY RESULT\0"
        !           421:                   9202D424144204D554C544950
        !           422:                   4C5920524553554C5400
        !           423:  403  00000e6d *                                       .text
        !           424:  404  00025055    dd 8f00000e4a                        pushl   $L271
        !           425:  405  0002505B    fe 08 ef00000700                     callf   $8,_print_mull3_error
        !           426:  406  00025062                                   #               }
        !           427:  407  00025062                                   #           if ( halt_flg )                   /* halt on error?          */
        !           428:  408  00025062                                  L270:
        !           429:  409  00025062    5d effffffc24                        tstl    _halt_flg
        !           430:  410  00025068    31 09                                jeql    L272
        !           431:  411  0002506A                                   #                   mull3_halt( 1 );
        !           432:  412  0002506A    dd 01                                pushl   $1
        !           433:  413  0002506C    fe 08 ef000007f5                     callf   $8,_mull3_halt
        !           434:  414  00025073                                   #               if ( loop_on_err ) {
        !           435:  415  00025073                                  L272:
        !           436:  416  00025073    5d effffffc13                        tstl    _loop_on_err
        !           437:  417  00025079    31 0d                                jeql    L273
        !           438:  418  0002507B                                   #                   force_loop = TRUE;            /* set the force loop flag */
        !           439:  419  0002507B    0d 01 effffffc0a                     movl    $1,_force_loop
        !           440:  420  00025082                                   #                   asm("jmp _mull3_2_lp1");      /* and loop                */
        !           441:  421  00025082    71 effffffe91                 jmp _mull3_2_lp1
        !           442:  422  00025088                                   #               }  /* end of loop-on-error */
        !           443:  423  00025088                                   #            } /* end of multiply error */
        !           444:  424  00025088                                  L273:
        !           445:  425  00025088                                   #         }
        !           446:  426  00025088                                  L269:
        !           447:  427  00025088                                  L257:
        !           448:  428  00025088    6d effffffbfe                        incl    _index
        !           449:  429  0002508E    13 fe13                              jbr     L259
        !           450:  430  00025091                                  L258:
        !           451:  431  00025091                                   # }  /* end of subtest 2 */
        !           452:  432  00025091    40                                   ret#2
        !           453:  433  00025092                                         .set    L253,0x0
        !           454:  434  00025092                                  L255:
        !           455:  435  00025092    13 fdfc                              jbr     L256
        !           456:  436  00025095                                         .data
        !           457:  437  00000d38 *                                       .text
        !           458:  438  00025095    00                                   .align  1
        !           459:  439  00025096                                         .globl  _mull3_3
        !           460:  440  00025096                                  _mull3_3:
        !           461:  441  00025096    0000                                 .word   L274
        !           462:  442  00025098                                   #   
        !           463:  443  00025098                                   # 
        !           464:  444  00025098                                   # 
        !           465:  445  00025098                                   # /************************************************************************
        !           466:  446  00025098                                   # *
        !           467:  447  00025098                                   # *               SUBTEST 3 - register corruption test
        !           468:  448  00025098                                   # *
        !           469:  449  00025098                                   # ************************************************************************/
        !           470:  450  00025098                                   # mull3_3() 
        !           471:  451  00025098                                   # {
        !           472:  452  00025098    13 0188                              jbr     L276
        !           473:  453  0002509B                                  L277:
        !           474:  454  0002509B                                   #         force_loop = FALSE;
        !           475:  455  0002509B    4d effffffbeb                        clrl    _force_loop
        !           476:  456  000250A1                                   #         subtest = 2;
        !           477:  457  000250A1    0d 02 effffffbe4                     movl    $2,_subtest
        !           478:  458  000250A8                                   #         fill_reg_buf( load_regs );          /* get pattern for registers */
        !           479:  459  000250A8    dd 8f00000000                        pushl   $_load_regs
        !           480:  460  000250AE    fe 08 effffffbd7                     callf   $8,_fill_reg_buf
        !           481:  461  000250B5                                   #     for( index = 0; index < max_mull_1_index; index++ ) {
        !           482:  462  000250B5    4d effffffbd1                        clrl    _index
        !           483:  463  000250BB                                  L281:
        !           484:  464  000250BB    1d effffffbcb effffffbc6             cmpl    _index,_max_mull_1_index
        !           485:  465  000250C6    91 03 13 0157                        jgeq    L280
        !           486:  466  000250CB                                   #            sgl_value_1  = mull_1_data[index].op_1; /* get operand 1        */
        !           487:  467  000250CB    5c 0c effffffbba 50                  mull3   $12,_index,r0
        !           488:  468  000250D3    0d e000000000 effffffbae             movl    _mull_1_data(r0),_sgl_value_1
        !           489:  469  000250DE                                   #            sgl_value_2  = mull_1_data[index].op_2; /* get operand 2        */
        !           490:  470  000250DE    5c 0c effffffba7 50                  mull3   $12,_index,r0
        !           491:  471  000250E6    0d e000000004 effffffb9b             movl    _mull_1_data+4(r0),_sgl_value_2
        !           492:  472  000250F1                                   #            sgl_value_4  = mull_1_data[index].exp;  /* get expected results */
        !           493:  473  000250F1    5c 0c effffffb94 50                  mull3   $12,_index,r0
        !           494:  474  000250F9    0d e000000008 effffffb88             movl    _mull_1_data+8(r0),_sgl_value_4
        !           495:  475  00025104                                   # /*
        !           496:  476  00025104                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           497:  477  00025104                                   # */
        !           498:  478  00025104                                   #            asm("_mull3_3_lp1:");
        !           499:  479  00025104                                  _mull3_3_lp1:
        !           500:  480  00025104                                   #            asm("loadr $0x1fff,_load_regs"); /* load regs 0 - 12     */
        !           501:  481  00025104    ab 891fff effffffb7f          loadr $0x1fff,_load_regs
        !           502:  482  0002510D                                   #        asm("mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3");
        !           503:  483  0002510D    5c effffffb79 effffffb74      mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3
        !           504:                   effffffb6f 
        !           505:  484  0002511D                                   #            asm("nop");
        !           506:  485  0002511D    10                            nop
        !           507:  486  0002511E                                   #            asm("storer $0x1fff,_store_regs");       /* store regs 0 - 12    */
        !           508:  487  0002511E    bb 891fff effffffb65          storer $0x1fff,_store_regs
        !           509:  488  00025127                                   #        if( force_loop )
        !           510:  489  00025127    5d effffffb5f                        tstl    _force_loop
        !           511:  490  0002512D    31 02                                jeql    L282
        !           512:  491  0002512F                                   #                 asm("brb _mull3_3_lp1");
        !           513:  492  0002512F    11 d3                         brb _mull3_3_lp1
        !           514:  493  00025131                                   # /*
        !           515:  494  00025131                                   #  * Now check the result
        !           516:  495  00025131                                   # */
        !           517:  496  00025131                                   #         index2 = 0;
        !           518:  497  00025131                                  L282:
        !           519:  498  00025131    4d effffffb55                        clrl    _index2
        !           520:  499  00025137                                   #         while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
        !           521:  500  00025137                                  L283:
        !           522:  501  00025137    0d effffffb4f 50                     movl    _index2,r0
        !           523:  502  0002513E    0d effffffb48 51                     movl    _index2,r1
        !           524:  503  00025145    1d 40effffffb40                      cmpl    _load_regs[r0],_store_regs[r1]
        !           525:                   41effffffb3a 
        !           526:  504  00025152    21 11                                jneq    L284
        !           527:  505  00025154    1d effffffb32 0d                     cmpl    _index2,$13
        !           528:  506  0002515B    81 08                                jgeq    L284
        !           529:  507  0002515D                                   #              index2++;                          /* check reg values        */
        !           530:  508  0002515D    6d effffffb29                        incl    _index2
        !           531:  509  00025163    11 d2                                jbr     L283
        !           532:  510  00025165                                  L284:
        !           533:  511  00025165                                   #         if( index2 < 13 ) {                     /* error if index2 < 13    */
        !           534:  512  00025165    1d effffffb21 0d                     cmpl    _index2,$13
        !           535:  513  0002516C    91 03 13 00a8                        jgeq    L285
        !           536:  514  00025171                                   #               errcnt++;                         /* bump the error count    */
        !           537:  515  00025171    6d effffffb15                        incl    _errcnt
        !           538:  516  00025177                                   #           if ( prt_error ) {
        !           539:  517  00025177    5d effffffb0f                        tstl    _prt_error
        !           540:  518  0002517D    31 74                                jeql    L286
        !           541:  519  0002517F                                   #                   print_mull3_error(" -A REGISTER WAS MODIFIED");
        !           542:  520  0002517F                                         .data   1
        !           543:  521  00000e6d *                                L287:
        !           544:  522  00000e6d *  202D412052454749535445522            .ascii  " -A REGISTER WAS MODIFIED\0"
        !           545:                   0574153204D4F444946494544
        !           546:                   00
        !           547:  523  00000e87 *                                       .text
        !           548:  524  0002517F    dd 8f00000e6d                        pushl   $L287
        !           549:  525  00025185    fe 08 ef000005d6                     callf   $8,_print_mull3_error
        !           550:  526  0002518C                                   #                   writes("register ");
        !           551:  527  0002518C                                         .data   1
        !           552:  528  00000e87 *                                L288:
        !           553:  529  00000e87 *  72656769737465722000                 .ascii  "register \0"
        !           554:  530  00000e91 *                                       .text
        !           555:  531  0002518C    dd 8f00000e87                        pushl   $L288
        !           556:  532  00025192    fe 08 effffffaf3                     callf   $8,_writes
        !           557:  533  00025199                                   #               writeh( index2 );
        !           558:  534  00025199    dd effffffaed                        pushl   _index2
        !           559:  535  0002519F    fe 08 effffffae6                     callf   $8,_writeh
        !           560:  536  000251A6                                   #               writes(" = ");
        !           561:  537  000251A6                                         .data   1
        !           562:  538  00000e91 *                                L290:
        !           563:  539  00000e91 *  203D2000                             .ascii  " = \0"
        !           564:  540  00000e95 *                                       .text
        !           565:  541  000251A6    dd 8f00000e91                        pushl   $L290
        !           566:  542  000251AC    fe 08 effffffad9                     callf   $8,_writes
        !           567:  543  000251B3                                   #               write32h( store_regs[index2] );
        !           568:  544  000251B3    0d effffffad3 50                     movl    _index2,r0
        !           569:  545  000251BA    dd 40effffffacb                      pushl   _store_regs[r0]
        !           570:  546  000251C1    fe 08 effffffac4                     callf   $8,_write32h
        !           571:  547  000251C8                                   #               writes(",  should be = ");
        !           572:  548  000251C8                                         .data   1
        !           573:  549  00000e95 *                                L291:
        !           574:  550  00000e95 *  2C202073686F756C642062652            .ascii  ",  should be = \0"
        !           575:                   03D2000
        !           576:  551  00000ea5 *                                       .text
        !           577:  552  000251C8    dd 8f00000e95                        pushl   $L291
        !           578:  553  000251CE    fe 08 effffffab7                     callf   $8,_writes
        !           579:  554  000251D5                                   #                   write32h( load_regs[index2] );
        !           580:  555  000251D5    0d effffffab1 50                     movl    _index2,r0
        !           581:  556  000251DC    dd 40effffffaa9                      pushl   _load_regs[r0]
        !           582:  557  000251E3    fe 08 effffffaa2                     callf   $8,_write32h
        !           583:  558  000251EA                                   #                   writec('\n');
        !           584:  559  000251EA    dd 0a                                pushl   $10
        !           585:  560  000251EC    fe 08 effffffa99                     callf   $8,_writec
        !           586:  561  000251F3                                   #               }
        !           587:  562  000251F3                                   #           if ( halt_flg )                   /* halt on error?          */
        !           588:  563  000251F3                                  L286:
        !           589:  564  000251F3    5d effffffa93                        tstl    _halt_flg
        !           590:  565  000251F9    31 09                                jeql    L292
        !           591:  566  000251FB                                   #                   mull3_halt( 2 );
        !           592:  567  000251FB    dd 02                                pushl   $2
        !           593:  568  000251FD    fe 08 ef00000664                     callf   $8,_mull3_halt
        !           594:  569  00025204                                   #               if ( loop_on_err ) {
        !           595:  570  00025204                                  L292:
        !           596:  571  00025204    5d effffffa82                        tstl    _loop_on_err
        !           597:  572  0002520A    31 0d                                jeql    L293
        !           598:  573  0002520C                                   #                   force_loop = TRUE;            /* set the force loop flag */
        !           599:  574  0002520C    0d 01 effffffa79                     movl    $1,_force_loop
        !           600:  575  00025213                                   #                   asm("jmp _mull3_3_lp1");      /* and loop                */
        !           601:  576  00025213    71 effffffeeb                 jmp _mull3_3_lp1
        !           602:  577  00025219                                   #               };  /* end of loop-on-error */
        !           603:  578  00025219                                  L293:
        !           604:  579  00025219                                   #            } /* end of multiply error */
        !           605:  580  00025219                                   #         }
        !           606:  581  00025219                                  L285:
        !           607:  582  00025219                                  L279:
        !           608:  583  00025219    6d effffffa6d                        incl    _index
        !           609:  584  0002521F    13 fe99                              jbr     L281
        !           610:  585  00025222                                  L280:
        !           611:  586  00025222                                   # }  /* end of subtest 3 */
        !           612:  587  00025222    40                                   ret#2
        !           613:  588  00025223                                         .set    L274,0x0
        !           614:  589  00025223                                  L276:
        !           615:  590  00025223    13 fe75                              jbr     L277
        !           616:  591  00025226                                         .data
        !           617:  592  00000d38 *                                       .text
        !           618:  593  00025226                                         .align  1
        !           619:  594  00025226                                         .globl  _mull3_4
        !           620:  595  00025226                                  _mull3_4:
        !           621:  596  00025226    0000                                 .word   L294
        !           622:  597  00025228                                   # 
        !           623:  598  00025228                                   # 
        !           624:  599  00025228                                   # 
        !           625:  600  00025228                                   # /************************************************************************
        !           626:  601  00025228                                   # *
        !           627:  602  00025228                                   # *               SUBTEST 4 - PSL corruption test
        !           628:  603  00025228                                   # *
        !           629:  604  00025228                                   # ************************************************************************/
        !           630:  605  00025228                                   # mull3_4() 
        !           631:  606  00025228                                   # {
        !           632:  607  00025228    13 019c                              jbr     L296
        !           633:  608  0002522B                                  L297:
        !           634:  609  0002522B                                   #         force_loop = FALSE;
        !           635:  610  0002522B    4d effffffa5b                        clrl    _force_loop
        !           636:  611  00025231                                   #         subtest = 4;
        !           637:  612  00025231    0d 04 effffffa54                     movl    $4,_subtest
        !           638:  613  00025238                                   #     status_index = 0;
        !           639:  614  00025238    4d effffffa4e                        clrl    _status_index
        !           640:  615  0002523E                                   #     for( index = 0; index < max_mull_1_index; index++ ) {
        !           641:  616  0002523E    4d effffffa48                        clrl    _index
        !           642:  617  00025244                                  L300:
        !           643:  618  00025244    1d effffffa42 effffffa3d             cmpl    _index,_max_mull_1_index
        !           644:  619  0002524F    91 03 13 0172                        jgeq    L299
        !           645:  620  00025254                                   #            sgl_value_1  = mull_1_data[index].op_1; /* get operand 1        */
        !           646:  621  00025254    5c 0c effffffa31 50                  mull3   $12,_index,r0
        !           647:  622  0002525C    0d e000000000 effffffa25             movl    _mull_1_data(r0),_sgl_value_1
        !           648:  623  00025267                                   #            sgl_value_2  = mull_1_data[index].op_2; /* get operand 2        */
        !           649:  624  00025267    5c 0c effffffa1e 50                  mull3   $12,_index,r0
        !           650:  625  0002526F    0d e000000004 effffffa12             movl    _mull_1_data+4(r0),_sgl_value_2
        !           651:  626  0002527A                                   #            sgl_value_4  = mull_1_data[index].exp;  /* get expected results */
        !           652:  627  0002527A    5c 0c effffffa0b 50                  mull3   $12,_index,r0
        !           653:  628  00025282    0d e000000008 effffff9ff             movl    _mull_1_data+8(r0),_sgl_value_4
        !           654:  629  0002528D                                   #            sgl_dummy1   = status_array[status_index]; /* status = +, -, 0 */
        !           655:  630  0002528D    0d effffff9f9 50                     movl    _status_index,r0
        !           656:  631  00025294    0d 40effffff9f1                      movl    _status_array[r0],_sgl_dummy1
        !           657:                   effffff9ec 
        !           658:  632  000252A0                                   # /*
        !           659:  633  000252A0                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           660:  634  000252A0                                   # */
        !           661:  635  000252A0                                   #            asm("_mull3_4_lp1:");
        !           662:  636  000252A0                                  _mull3_4_lp1:
        !           663:  637  000252A0                                   #            asm("tstl _sgl_dummy1");
        !           664:  638  000252A0    5d effffff9e6                 tstl _sgl_dummy1
        !           665:  639  000252A6                                   #        asm("movpsl _init_psl");             /* save the initial PSL */
        !           666:  640  000252A6    cd effffff9e0                 movpsl _init_psl
        !           667:  641  000252AC                                   #        asm("mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3");
        !           668:  642  000252AC    5c effffff9da effffff9d5      mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3
        !           669:                   effffff9d0 
        !           670:  643  000252BC                                   #        asm("movpsl _psl_val");              /* save the final PSL   */
        !           671:  644  000252BC    cd effffff9ca                 movpsl _psl_val
        !           672:  645  000252C2                                   #        if( force_loop )
        !           673:  646  000252C2    5d effffff9c4                        tstl    _force_loop
        !           674:  647  000252C8    31 02                                jeql    L301
        !           675:  648  000252CA                                   #                 asm("brb _mull3_4_lp1");
        !           676:  649  000252CA    11 d4                         brb _mull3_4_lp1
        !           677:  650  000252CC                                   # /*
        !           678:  651  000252CC                                   #  * Now check the result
        !           679:  652  000252CC                                   # */
        !           680:  653  000252CC                                   #         exp_psl = init_psl & 0xffffff3;             /* strip off the PSL status */
        !           681:  654  000252CC                                  L301:
        !           682:  655  000252CC    bc 8f0ffffff3 effffff9b5             andl3   $268435443,_init_psl,r0
        !           683:                   50 
        !           684:  656  000252D8    0d 50 effffff9ad                     movl    r0,_exp_psl
        !           685:  657  000252DF                                   #     if( sgl_value_4 < 0 )                   /* check the MULL result */
        !           686:  658  000252DF    5d effffff9a7                        tstl    _sgl_value_4
        !           687:  659  000252E5    81 07                                jgeq    L302
        !           688:  660  000252E7                                   #        exp_psl |= PSL_N;                    /* set the NEGATIVE bit */
        !           689:  661  000252E7    8c 08 effffff99e                     orl2    $8,_exp_psl
        !           690:  662  000252EE                                   #     if( !sgl_value_4 )
        !           691:  663  000252EE                                  L302:
        !           692:  664  000252EE    5d effffff998                        tstl    _sgl_value_4
        !           693:  665  000252F4    21 07                                jneq    L303
        !           694:  666  000252F6                                   #        exp_psl |= PSL_Z;                    /* set the ZERO bit */
        !           695:  667  000252F6    8c 04 effffff98f                     orl2    $4,_exp_psl
        !           696:  668  000252FD                                   #         if( psl_val != exp_psl ) {          /* was the final PSL correct */
        !           697:  669  000252FD                                  L303:
        !           698:  670  000252FD    1d effffff989 effffff984             cmpl    _psl_val,_exp_psl
        !           699:  671  00025308    21 03 13 0098                        jeql    L304
        !           700:  672  0002530D                                   #               errcnt++;                         /* bump the error count    */
        !           701:  673  0002530D    6d effffff979                        incl    _errcnt
        !           702:  674  00025313                                   #           if ( prt_error ) {
        !           703:  675  00025313    5d effffff973                        tstl    _prt_error
        !           704:  676  00025319    31 64                                jeql    L305
        !           705:  677  0002531B                                   #                   print_mull3_error(" -INCORRECT FINAL PSL");
        !           706:  678  0002531B                                         .data   1
        !           707:  679  00000ea5 *                                L306:
        !           708:  680  00000ea5 *  202D494E434F5252454354204            .ascii  " -INCORRECT FINAL PSL\0"
        !           709:                   6494E414C2050534C00
        !           710:  681  00000ebb *                                       .text
        !           711:  682  0002531B    dd 8f00000ea5                        pushl   $L306
        !           712:  683  00025321    fe 08 ef0000043a                     callf   $8,_print_mull3_error
        !           713:  684  00025328                                   #                   writes("initial PSL = ");
        !           714:  685  00025328                                         .data   1
        !           715:  686  00000ebb *                                L307:
        !           716:  687  00000ebb *  696E697469616C2050534C203            .ascii  "initial PSL = \0"
        !           717:                   D2000
        !           718:  688  00000eca *                                       .text
        !           719:  689  00025328    dd 8f00000ebb                        pushl   $L307
        !           720:  690  0002532E    fe 08 effffff957                     callf   $8,_writes
        !           721:  691  00025335                                   #               write32h( init_psl );
        !           722:  692  00025335    dd effffff951                        pushl   _init_psl
        !           723:  693  0002533B    fe 08 effffff94a                     callf   $8,_write32h
        !           724:  694  00025342                                   #               writes(",  final PSL = ");
        !           725:  695  00025342                                         .data   1
        !           726:  696  00000eca *                                L308:
        !           727:  697  00000eca *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
        !           728:                   03D2000
        !           729:  698  00000eda *                                       .text
        !           730:  699  00025342    dd 8f00000eca                        pushl   $L308
        !           731:  700  00025348    fe 08 effffff93d                     callf   $8,_writes
        !           732:  701  0002534F                                   #               write32h( psl_val );
        !           733:  702  0002534F    dd effffff937                        pushl   _psl_val
        !           734:  703  00025355    fe 08 effffff930                     callf   $8,_write32h
        !           735:  704  0002535C                                   #               writes(",  expected PSL = ");
        !           736:  705  0002535C                                         .data   1
        !           737:  706  00000eda *                                L309:
        !           738:  707  00000eda *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
        !           739:                   0534C203D2000
        !           740:  708  00000eed *                                       .text
        !           741:  709  0002535C    dd 8f00000eda                        pushl   $L309
        !           742:  710  00025362    fe 08 effffff923                     callf   $8,_writes
        !           743:  711  00025369                                   #               write32h( exp_psl );
        !           744:  712  00025369    dd effffff91d                        pushl   _exp_psl
        !           745:  713  0002536F    fe 08 effffff916                     callf   $8,_write32h
        !           746:  714  00025376                                   #                   writec('\n');
        !           747:  715  00025376    dd 0a                                pushl   $10
        !           748:  716  00025378    fe 08 effffff90d                     callf   $8,_writec
        !           749:  717  0002537F                                   #               }
        !           750:  718  0002537F                                   #           if ( halt_flg )                   /* halt on error?          */
        !           751:  719  0002537F                                  L305:
        !           752:  720  0002537F    5d effffff907                        tstl    _halt_flg
        !           753:  721  00025385    31 09                                jeql    L310
        !           754:  722  00025387                                   #                   mull3_halt( 3 );
        !           755:  723  00025387    dd 03                                pushl   $3
        !           756:  724  00025389    fe 08 ef000004d8                     callf   $8,_mull3_halt
        !           757:  725  00025390                                   #               if ( loop_on_err ) {
        !           758:  726  00025390                                  L310:
        !           759:  727  00025390    5d effffff8f6                        tstl    _loop_on_err
        !           760:  728  00025396    31 0d                                jeql    L311
        !           761:  729  00025398                                   #                   force_loop = TRUE;            /* set the force loop flag */
        !           762:  730  00025398    0d 01 effffff8ed                     movl    $1,_force_loop
        !           763:  731  0002539F                                   #                   asm("jmp _mull3_4_lp1");      /* and loop                */
        !           764:  732  0002539F    71 effffffefb                 jmp _mull3_4_lp1
        !           765:  733  000253A5                                   #               };  /* end of loop-on-error */
        !           766:  734  000253A5                                  L311:
        !           767:  735  000253A5                                   #            }; /* end of error */
        !           768:  736  000253A5                                  L304:
        !           769:  737  000253A5                                   #        if( ++status_index >= 3 )
        !           770:  738  000253A5    6d effffff8e1                        incl    _status_index
        !           771:  739  000253AB    0d effffff8db 50                     movl    _status_index,r0
        !           772:  740  000253B2    1d 50 03                             cmpl    r0,$3
        !           773:  741  000253B5    91 06                                jlss    L312
        !           774:  742  000253B7                                   #           status_index = 0;
        !           775:  743  000253B7    4d effffff8cf                        clrl    _status_index
        !           776:  744  000253BD                                   #         }
        !           777:  745  000253BD                                  L312:
        !           778:  746  000253BD                                  L298:
        !           779:  747  000253BD    6d effffff8c9                        incl    _index
        !           780:  748  000253C3    13 fe7e                              jbr     L300
        !           781:  749  000253C6                                  L299:
        !           782:  750  000253C6                                   # }  /* end of subtest 4 */
        !           783:  751  000253C6    40                                   ret#2
        !           784:  752  000253C7                                         .set    L294,0x0
        !           785:  753  000253C7                                  L296:
        !           786:  754  000253C7    13 fe61                              jbr     L297
        !           787:  755  000253CA                                         .data
        !           788:  756  00000d38 *                                       .text
        !           789:  757  000253CA                                         .align  1
        !           790:  758  000253CA                                         .globl  _mull3_5
        !           791:  759  000253CA                                  _mull3_5:
        !           792:  760  000253CA    0000                                 .word   L313
        !           793:  761  000253CC                                   # 
        !           794:  762  000253CC                                   # 
        !           795:  763  000253CC                                   # 
        !           796:  764  000253CC                                   # /************************************************************************
        !           797:  765  000253CC                                   # *
        !           798:  766  000253CC                                   # *        SUBTEST 5 - Pipelined Entry test
        !           799:  767  000253CC                                   # *
        !           800:  768  000253CC                                   # ************************************************************************/
        !           801:  769  000253CC                                   # mull3_5() 
        !           802:  770  000253CC                                   # {
        !           803:  771  000253CC    13 01c3                              jbr     L315
        !           804:  772  000253CF                                  L316:
        !           805:  773  000253CF                                   #         force_loop = FALSE;
        !           806:  774  000253CF    4d effffff8b7                        clrl    _force_loop
        !           807:  775  000253D5                                   #         subtest = 5;
        !           808:  776  000253D5    0d 05 effffff8b0                     movl    $5,_subtest
        !           809:  777  000253DC                                   #         for( index = 0; index < max_mull_1_index; index++ ) {
        !           810:  778  000253DC    4d effffff8aa                        clrl    _index
        !           811:  779  000253E2                                  L319:
        !           812:  780  000253E2    1d effffff8a4 effffff89f             cmpl    _index,_max_mull_1_index
        !           813:  781  000253ED    91 03 13 019f                        jgeq    L318
        !           814:  782  000253F2                                   #            sgl_value_1  = mull_1_data[index].op_1; /* get operand 1        */
        !           815:  783  000253F2    5c 0c effffff893 50                  mull3   $12,_index,r0
        !           816:  784  000253FA    0d e000000000 effffff887             movl    _mull_1_data(r0),_sgl_value_1
        !           817:  785  00025405                                   #            sgl_value_2  = mull_1_data[index].op_2; /* get operand 2        */
        !           818:  786  00025405    5c 0c effffff880 50                  mull3   $12,_index,r0
        !           819:  787  0002540D    0d e000000004 effffff874             movl    _mull_1_data+4(r0),_sgl_value_2
        !           820:  788  00025418                                   #        sgl_value_4  = mull_1_data[index].exp;  /* get expected results */
        !           821:  789  00025418    5c 0c effffff86d 50                  mull3   $12,_index,r0
        !           822:  790  00025420    0d e000000008 effffff861             movl    _mull_1_data+8(r0),_sgl_value_4
        !           823:  791  0002542B                                   #            sgl_ld_acc   = 0x12345678;                  /* set acc data pattern */
        !           824:  792  0002542B    0d 8f12345678 effffff856             movl    $305419896,_sgl_ld_acc
        !           825:  793  00025436                                   #        sgl_expected = sgl_ld_acc;              /* final Acc expected   */
        !           826:  794  00025436    0d effffff850 effffff84b             movl    _sgl_ld_acc,_sgl_expected
        !           827:  795  00025441                                   #        sgl_value_10 = 0x40800000;              /* floating "1.0"       */
        !           828:  796  00025441    0d 8f40800000 effffff840             movl    $1082130432,_sgl_value_10
        !           829:  797  0002544C                                   # /*
        !           830:  798  0002544C                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           831:  799  0002544C                                   # */
        !           832:  800  0002544C                                   #            asm("_mull3_5_lp1:");
        !           833:  801  0002544C                                  _mull3_5_lp1:
        !           834:  802  0002544C                                   #            asm("ldf _sgl_ld_acc");          /* load the acc            */
        !           835:  803  0002544C    06 effffff83a                 ldf _sgl_ld_acc
        !           836:  804  00025452                                   #        asm("mulf _sgl_value_10");           /* do a floating multiply  */
        !           837:  805  00025452    e6 effffff834                 mulf _sgl_value_10
        !           838:  806  00025458                                   #        asm("mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3");
        !           839:  807  00025458    5c effffff82e effffff829      mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3
        !           840:                   effffff824 
        !           841:  808  00025468                                   #            asm("stf _sgl_st_acc");          /* save the acc            */
        !           842:  809  00025468    26 effffff81e                 stf _sgl_st_acc
        !           843:  810  0002546E                                   #            if( force_loop )
        !           844:  811  0002546E    5d effffff818                        tstl    _force_loop
        !           845:  812  00025474    31 02                                jeql    L320
        !           846:  813  00025476                                   #                 asm("brb _mull3_5_lp1");;
        !           847:  814  00025476    11 d4                         brb _mull3_5_lp1
        !           848:  815  00025478                                  L320:
        !           849:  816  00025478                                   #        if( sgl_expected != sgl_st_acc )  {   /* COMPARE the values      */
        !           850:  817  00025478    1d effffff80e effffff809             cmpl    _sgl_expected,_sgl_st_acc
        !           851:  818  00025483    21 03 13 00b2                        jeql    L321
        !           852:  819  00025488                                   #               errcnt++;                         /* bump the error count    */
        !           853:  820  00025488    6d effffff7fe                        incl    _errcnt
        !           854:  821  0002548E                                   #               if ( prt_error ) {
        !           855:  822  0002548E    5d effffff7f8                        tstl    _prt_error
        !           856:  823  00025494    31 7e                                jeql    L322
        !           857:  824  00025496                                   #                   print_mull3_error("(Piped Entry) -BAD FINAL ACC");
        !           858:  825  00025496                                         .data   1
        !           859:  826  00000eed *                                L323:
        !           860:  827  00000eed *  28506970656420456E7472792            .ascii  "(Piped Entry) -BAD FINAL ACC\0"
        !           861:                   9202D4241442046494E414C20
        !           862:                   41434300
        !           863:  828  00000f0a *                                       .text
        !           864:  829  00025496    dd 8f00000eed                        pushl   $L323
        !           865:  830  0002549C    fe 08 ef000002bf                     callf   $8,_print_mull3_error
        !           866:  831  000254A3                                   #               writes("initial Acc = ");
        !           867:  832  000254A3                                         .data   1
        !           868:  833  00000f0a *                                L324:
        !           869:  834  00000f0a *  696E697469616C20416363203            .ascii  "initial Acc = \0"
        !           870:                   D2000
        !           871:  835  00000f19 *                                       .text
        !           872:  836  000254A3    dd 8f00000f0a                        pushl   $L324
        !           873:  837  000254A9    fe 08 effffff7dc                     callf   $8,_writes
        !           874:  838  000254B0                                   #                   write32h( sgl_ld_acc );
        !           875:  839  000254B0    dd effffff7d6                        pushl   _sgl_ld_acc
        !           876:  840  000254B6    fe 08 effffff7cf                     callf   $8,_write32h
        !           877:  841  000254BD                                   #                   writes(",     final Acc = ");
        !           878:  842  000254BD                                         .data   1
        !           879:  843  00000f19 *                                L325:
        !           880:  844  00000f19 *  2C202020202066696E616C204            .ascii  ",     final Acc = \0"
        !           881:                   16363203D2000
        !           882:  845  00000f2c *                                       .text
        !           883:  846  000254BD    dd 8f00000f19                        pushl   $L325
        !           884:  847  000254C3    fe 08 effffff7c2                     callf   $8,_writes
        !           885:  848  000254CA                                   #                   write32h( sgl_st_acc );
        !           886:  849  000254CA    dd effffff7bc                        pushl   _sgl_st_acc
        !           887:  850  000254D0    fe 08 effffff7b5                     callf   $8,_write32h
        !           888:  851  000254D7                                   #               writes("\nFPP operand = ");
        !           889:  852  000254D7                                         .data   1
        !           890:  853  00000f2c *                                L326:
        !           891:  854  00000f2c *  0A465050206F706572616E642            .ascii  "\12FPP operand = \0"
        !           892:                   03D2000
        !           893:  855  00000f3c *                                       .text
        !           894:  856  000254D7    dd 8f00000f2c                        pushl   $L326
        !           895:  857  000254DD    fe 08 effffff7a8                     callf   $8,_writes
        !           896:  858  000254E4                                   #               write32h( sgl_value_10 );
        !           897:  859  000254E4    dd effffff7a2                        pushl   _sgl_value_10
        !           898:  860  000254EA    fe 08 effffff79b                     callf   $8,_write32h
        !           899:  861  000254F1                                   #               writes(",  expected Acc = ");
        !           900:  862  000254F1                                         .data   1
        !           901:  863  00000f3c *                                L327:
        !           902:  864  00000f3c *  2C20206578706563746564204            .ascii  ",  expected Acc = \0"
        !           903:                   16363203D2000
        !           904:  865  00000f4f *                                       .text
        !           905:  866  000254F1    dd 8f00000f3c                        pushl   $L327
        !           906:  867  000254F7    fe 08 effffff78e                     callf   $8,_writes
        !           907:  868  000254FE                                   #                   write32h( sgl_expected );
        !           908:  869  000254FE    dd effffff788                        pushl   _sgl_expected
        !           909:  870  00025504    fe 08 effffff781                     callf   $8,_write32h
        !           910:  871  0002550B                                   #                   writec('\n');
        !           911:  872  0002550B    dd 0a                                pushl   $10
        !           912:  873  0002550D    fe 08 effffff778                     callf   $8,_writec
        !           913:  874  00025514                                   #               }
        !           914:  875  00025514                                   #           if ( halt_flg )                   /* halt on error?          */
        !           915:  876  00025514                                  L322:
        !           916:  877  00025514    5d effffff772                        tstl    _halt_flg
        !           917:  878  0002551A    31 09                                jeql    L328
        !           918:  879  0002551C                                   #                   mull3_halt( 5 );
        !           919:  880  0002551C    dd 05                                pushl   $5
        !           920:  881  0002551E    fe 08 ef00000343                     callf   $8,_mull3_halt
        !           921:  882  00025525                                   #               if ( loop_on_err ) {
        !           922:  883  00025525                                  L328:
        !           923:  884  00025525    5d effffff761                        tstl    _loop_on_err
        !           924:  885  0002552B    31 0d                                jeql    L329
        !           925:  886  0002552D                                   #                   force_loop = TRUE;            /* set the force loop flag */
        !           926:  887  0002552D    0d 01 effffff758                     movl    $1,_force_loop
        !           927:  888  00025534                                   #                   asm("jmp _mull3_5_lp1");      /* and loop                */
        !           928:  889  00025534    71 efffffff12                 jmp _mull3_5_lp1
        !           929:  890  0002553A                                   #               }  /* end of loop-on-error */
        !           930:  891  0002553A                                   #            } /* end of acc corr error */
        !           931:  892  0002553A                                  L329:
        !           932:  893  0002553A                                   #        if( sgl_value_4 != sgl_value_3 )    /* COMPARE the values      */
        !           933:  894  0002553A                                  L321:
        !           934:  895  0002553A    1d effffff74c effffff747             cmpl    _sgl_value_4,_sgl_value_3
        !           935:  896  00025545    31 41                                jeql    L330
        !           936:  897  00025547                                   #            {
        !           937:  898  00025547                                   #               errcnt++;                         /* bump the error count    */
        !           938:  899  00025547    6d effffff73f                        incl    _errcnt
        !           939:  900  0002554D                                   #               if ( prt_error ) {
        !           940:  901  0002554D    5d effffff739                        tstl    _prt_error
        !           941:  902  00025553    31 0d                                jeql    L331
        !           942:  903  00025555                                   #                   print_mull3_error("(Piped Entry) -BAD MULTIPLY RESULT");
        !           943:  904  00025555                                         .data   1
        !           944:  905  00000f4f *                                L332:
        !           945:  906  00000f4f *  28506970656420456E7472792            .ascii  "(Piped Entry) -BAD MULTIPLY RESULT\0"
        !           946:                   9202D424144204D554C544950
        !           947:                   4C5920524553554C5400
        !           948:  907  00000f72 *                                       .text
        !           949:  908  00025555    dd 8f00000f4f                        pushl   $L332
        !           950:  909  0002555B    fe 08 ef00000200                     callf   $8,_print_mull3_error
        !           951:  910  00025562                                   #               }
        !           952:  911  00025562                                   #           if ( halt_flg )                   /* halt on error?          */
        !           953:  912  00025562                                  L331:
        !           954:  913  00025562    5d effffff724                        tstl    _halt_flg
        !           955:  914  00025568    31 09                                jeql    L333
        !           956:  915  0002556A                                   #                   mull3_halt( 1 );
        !           957:  916  0002556A    dd 01                                pushl   $1
        !           958:  917  0002556C    fe 08 ef000002f5                     callf   $8,_mull3_halt
        !           959:  918  00025573                                   #               if ( loop_on_err ) {
        !           960:  919  00025573                                  L333:
        !           961:  920  00025573    5d effffff713                        tstl    _loop_on_err
        !           962:  921  00025579    31 0d                                jeql    L334
        !           963:  922  0002557B                                   #                   force_loop = TRUE;            /* set the force loop flag */
        !           964:  923  0002557B    0d 01 effffff70a                     movl    $1,_force_loop
        !           965:  924  00025582                                   #                   asm("jmp _mull3_5_lp1");      /* and loop                */
        !           966:  925  00025582    71 effffffec4                 jmp _mull3_5_lp1
        !           967:  926  00025588                                   #               }  /* end of loop-on-error */
        !           968:  927  00025588                                   #            } /* end of multiply error */
        !           969:  928  00025588                                  L334:
        !           970:  929  00025588                                   #         }
        !           971:  930  00025588                                  L330:
        !           972:  931  00025588                                  L317:
        !           973:  932  00025588    6d effffff6fe                        incl    _index
        !           974:  933  0002558E    13 fe51                              jbr     L319
        !           975:  934  00025591                                  L318:
        !           976:  935  00025591                                   # }  /* end of subtest 5 */
        !           977:  936  00025591    40                                   ret#2
        !           978:  937  00025592                                         .set    L313,0x0
        !           979:  938  00025592                                  L315:
        !           980:  939  00025592    13 fe3a                              jbr     L316
        !           981:  940  00025595                                         .data
        !           982:  941  00000d38 *                                       .text
        !           983:  942  00025595    00                                   .align  1
        !           984:  943  00025596                                         .globl  _mull3_6
        !           985:  944  00025596                                  _mull3_6:
        !           986:  945  00025596    0000                                 .word   L335
        !           987:  946  00025598                                   #   
        !           988:  947  00025598                                   # 
        !           989:  948  00025598                                   # 
        !           990:  949  00025598                                   # /************************************************************************
        !           991:  950  00025598                                   # *
        !           992:  951  00025598                                   # *        SUBTEST 6 - Pipelined Exit test
        !           993:  952  00025598                                   # *
        !           994:  953  00025598                                   # ************************************************************************/
        !           995:  954  00025598                                   # mull3_6() 
        !           996:  955  00025598                                   # {
        !           997:  956  00025598    13 01c3                              jbr     L337
        !           998:  957  0002559B                                  L338:
        !           999:  958  0002559B                                   #         force_loop = FALSE;
        !          1000:  959  0002559B    4d effffff6eb                        clrl    _force_loop
        !          1001:  960  000255A1                                   #         subtest = 6;
        !          1002:  961  000255A1    0d 06 effffff6e4                     movl    $6,_subtest
        !          1003:  962  000255A8                                   #         for( index = 0; index < max_mull_1_index; index++ ) {
        !          1004:  963  000255A8    4d effffff6de                        clrl    _index
        !          1005:  964  000255AE                                  L341:
        !          1006:  965  000255AE    1d effffff6d8 effffff6d3             cmpl    _index,_max_mull_1_index
        !          1007:  966  000255B9    91 03 13 019f                        jgeq    L340
        !          1008:  967  000255BE                                   #            sgl_value_1  = mull_1_data[index].op_1; /* get operand 1        */
        !          1009:  968  000255BE    5c 0c effffff6c7 50                  mull3   $12,_index,r0
        !          1010:  969  000255C6    0d e000000000 effffff6bb             movl    _mull_1_data(r0),_sgl_value_1
        !          1011:  970  000255D1                                   #            sgl_value_2  = mull_1_data[index].op_2; /* get operand 2        */
        !          1012:  971  000255D1    5c 0c effffff6b4 50                  mull3   $12,_index,r0
        !          1013:  972  000255D9    0d e000000004 effffff6a8             movl    _mull_1_data+4(r0),_sgl_value_2
        !          1014:  973  000255E4                                   #        sgl_value_4  = mull_1_data[index].exp;  /* get expected results */
        !          1015:  974  000255E4    5c 0c effffff6a1 50                  mull3   $12,_index,r0
        !          1016:  975  000255EC    0d e000000008 effffff695             movl    _mull_1_data+8(r0),_sgl_value_4
        !          1017:  976  000255F7                                   #        sgl_ld_acc   = 0x40800000;              /* floating "1.0"       */
        !          1018:  977  000255F7    0d 8f40800000 effffff68a             movl    $1082130432,_sgl_ld_acc
        !          1019:  978  00025602                                   #            sgl_value_10 = 0x12345678;                  /* set acc data pattern */
        !          1020:  979  00025602    0d 8f12345678 effffff67f             movl    $305419896,_sgl_value_10
        !          1021:  980  0002560D                                   #        sgl_expected = sgl_value_10;            /* final Acc expected   */
        !          1022:  981  0002560D    0d effffff679 effffff674             movl    _sgl_value_10,_sgl_expected
        !          1023:  982  00025618                                   # /*
        !          1024:  983  00025618                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !          1025:  984  00025618                                   # */
        !          1026:  985  00025618                                   #            asm("_mull3_6_lp1:");
        !          1027:  986  00025618                                  _mull3_6_lp1:
        !          1028:  987  00025618                                   #            asm("ldf _sgl_ld_acc");          /* load the acc            */
        !          1029:  988  00025618    06 effffff66e                 ldf _sgl_ld_acc
        !          1030:  989  0002561E                                   #        asm("mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3"); 
        !          1031:  990  0002561E    5c effffff668 effffff663      mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3
        !          1032:                   effffff65e 
        !          1033:  991  0002562E                                   #        asm("mulf _sgl_value_10");           /* do a floating multiply  */
        !          1034:  992  0002562E    e6 effffff658                 mulf _sgl_value_10
        !          1035:  993  00025634                                   #            asm("stf _sgl_st_acc");          /* save the acc            */
        !          1036:  994  00025634    26 effffff652                 stf _sgl_st_acc
        !          1037:  995  0002563A                                   #            if( force_loop )
        !          1038:  996  0002563A    5d effffff64c                        tstl    _force_loop
        !          1039:  997  00025640    31 02                                jeql    L342
        !          1040:  998  00025642                                   #                 asm("brb _mull3_6_lp1");;
        !          1041:  999  00025642    11 d4                         brb _mull3_6_lp1
        !          1042: 1000  00025644                                  L342:
        !          1043: 1001  00025644                                   #        if( sgl_expected != sgl_st_acc )  {   /* COMPARE the values      */
        !          1044: 1002  00025644    1d effffff642 effffff63d             cmpl    _sgl_expected,_sgl_st_acc
        !          1045: 1003  0002564F    21 03 13 00b2                        jeql    L343
        !          1046: 1004  00025654                                   #               errcnt++;                         /* bump the error count    */
        !          1047: 1005  00025654    6d effffff632                        incl    _errcnt
        !          1048: 1006  0002565A                                   #               if ( prt_error ) {
        !          1049: 1007  0002565A    5d effffff62c                        tstl    _prt_error
        !          1050: 1008  00025660    31 7e                                jeql    L344
        !          1051: 1009  00025662                                   #                   print_mull3_error("(Piped Exit) -BAD FINAL ACC");
        !          1052: 1010  00025662                                         .data   1
        !          1053: 1011  00000f72 *                                L345:
        !          1054: 1012  00000f72 *  2850697065642045786974292            .ascii  "(Piped Exit) -BAD FINAL ACC\0"
        !          1055:                   02D4241442046494E414C2041
        !          1056:                   434300
        !          1057: 1013  00000f8e *                                       .text
        !          1058: 1014  00025662    dd 8f00000f72                        pushl   $L345
        !          1059: 1015  00025668    fe 08 ef000000f3                     callf   $8,_print_mull3_error
        !          1060: 1016  0002566F                                   #               writes("initial Acc = ");
        !          1061: 1017  0002566F                                         .data   1
        !          1062: 1018  00000f8e *                                L346:
        !          1063: 1019  00000f8e *  696E697469616C20416363203            .ascii  "initial Acc = \0"
        !          1064:                   D2000
        !          1065: 1020  00000f9d *                                       .text
        !          1066: 1021  0002566F    dd 8f00000f8e                        pushl   $L346
        !          1067: 1022  00025675    fe 08 effffff610                     callf   $8,_writes
        !          1068: 1023  0002567C                                   #                   write32h( sgl_ld_acc );
        !          1069: 1024  0002567C    dd effffff60a                        pushl   _sgl_ld_acc
        !          1070: 1025  00025682    fe 08 effffff603                     callf   $8,_write32h
        !          1071: 1026  00025689                                   #                   writes(",     final Acc = ");
        !          1072: 1027  00025689                                         .data   1
        !          1073: 1028  00000f9d *                                L347:
        !          1074: 1029  00000f9d *  2C202020202066696E616C204            .ascii  ",     final Acc = \0"
        !          1075:                   16363203D2000
        !          1076: 1030  00000fb0 *                                       .text
        !          1077: 1031  00025689    dd 8f00000f9d                        pushl   $L347
        !          1078: 1032  0002568F    fe 08 effffff5f6                     callf   $8,_writes
        !          1079: 1033  00025696                                   #                   write32h( sgl_st_acc );
        !          1080: 1034  00025696    dd effffff5f0                        pushl   _sgl_st_acc
        !          1081: 1035  0002569C    fe 08 effffff5e9                     callf   $8,_write32h
        !          1082: 1036  000256A3                                   #               writes("\nFPP operand = ");
        !          1083: 1037  000256A3                                         .data   1
        !          1084: 1038  00000fb0 *                                L348:
        !          1085: 1039  00000fb0 *  0A465050206F706572616E642            .ascii  "\12FPP operand = \0"
        !          1086:                   03D2000
        !          1087: 1040  00000fc0 *                                       .text
        !          1088: 1041  000256A3    dd 8f00000fb0                        pushl   $L348
        !          1089: 1042  000256A9    fe 08 effffff5dc                     callf   $8,_writes
        !          1090: 1043  000256B0                                   #               write32h( sgl_value_10 );
        !          1091: 1044  000256B0    dd effffff5d6                        pushl   _sgl_value_10
        !          1092: 1045  000256B6    fe 08 effffff5cf                     callf   $8,_write32h
        !          1093: 1046  000256BD                                   #               writes(",  expected Acc = ");
        !          1094: 1047  000256BD                                         .data   1
        !          1095: 1048  00000fc0 *                                L349:
        !          1096: 1049  00000fc0 *  2C20206578706563746564204            .ascii  ",  expected Acc = \0"
        !          1097:                   16363203D2000
        !          1098: 1050  00000fd3 *                                       .text
        !          1099: 1051  000256BD    dd 8f00000fc0                        pushl   $L349
        !          1100: 1052  000256C3    fe 08 effffff5c2                     callf   $8,_writes
        !          1101: 1053  000256CA                                   #                   write32h( sgl_expected );
        !          1102: 1054  000256CA    dd effffff5bc                        pushl   _sgl_expected
        !          1103: 1055  000256D0    fe 08 effffff5b5                     callf   $8,_write32h
        !          1104: 1056  000256D7                                   #                   writec('\n');
        !          1105: 1057  000256D7    dd 0a                                pushl   $10
        !          1106: 1058  000256D9    fe 08 effffff5ac                     callf   $8,_writec
        !          1107: 1059  000256E0                                   #               }
        !          1108: 1060  000256E0                                   #           if ( halt_flg )                   /* halt on error?          */
        !          1109: 1061  000256E0                                  L344:
        !          1110: 1062  000256E0    5d effffff5a6                        tstl    _halt_flg
        !          1111: 1063  000256E6    31 09                                jeql    L350
        !          1112: 1064  000256E8                                   #                   mull3_halt( 5 );
        !          1113: 1065  000256E8    dd 05                                pushl   $5
        !          1114: 1066  000256EA    fe 08 ef00000177                     callf   $8,_mull3_halt
        !          1115: 1067  000256F1                                   #               if ( loop_on_err ) {
        !          1116: 1068  000256F1                                  L350:
        !          1117: 1069  000256F1    5d effffff595                        tstl    _loop_on_err
        !          1118: 1070  000256F7    31 0d                                jeql    L351
        !          1119: 1071  000256F9                                   #                   force_loop = TRUE;            /* set the force loop flag */
        !          1120: 1072  000256F9    0d 01 effffff58c                     movl    $1,_force_loop
        !          1121: 1073  00025700                                   #                   asm("jmp _mull3_6_lp1");      /* and loop                */
        !          1122: 1074  00025700    71 efffffff12                 jmp _mull3_6_lp1
        !          1123: 1075  00025706                                   #               }  /* end of loop-on-error */
        !          1124: 1076  00025706                                   #            } /* end of acc corr error */
        !          1125: 1077  00025706                                  L351:
        !          1126: 1078  00025706                                   #        if( sgl_value_4 != sgl_value_3 )    /* COMPARE the values      */
        !          1127: 1079  00025706                                  L343:
        !          1128: 1080  00025706    1d effffff580 effffff57b             cmpl    _sgl_value_4,_sgl_value_3
        !          1129: 1081  00025711    31 41                                jeql    L352
        !          1130: 1082  00025713                                   #            {
        !          1131: 1083  00025713                                   #               errcnt++;                         /* bump the error count    */
        !          1132: 1084  00025713    6d effffff573                        incl    _errcnt
        !          1133: 1085  00025719                                   #               if ( prt_error ) {
        !          1134: 1086  00025719    5d effffff56d                        tstl    _prt_error
        !          1135: 1087  0002571F    31 0d                                jeql    L353
        !          1136: 1088  00025721                                   #                   print_mull3_error("(Piped Exit) -BAD MULTIPLY RESULT");
        !          1137: 1089  00025721                                         .data   1
        !          1138: 1090  00000fd3 *                                L354:
        !          1139: 1091  00000fd3 *  2850697065642045786974292            .ascii  "(Piped Exit) -BAD MULTIPLY RESULT\0"
        !          1140:                   02D424144204D554C5449504C
        !          1141:                   5920524553554C5400
        !          1142: 1092  00000ff5 *                                       .text
        !          1143: 1093  00025721    dd 8f00000fd3                        pushl   $L354
        !          1144: 1094  00025727    fe 08 ef00000034                     callf   $8,_print_mull3_error
        !          1145: 1095  0002572E                                   #               }
        !          1146: 1096  0002572E                                   #           if ( halt_flg )                   /* halt on error?          */
        !          1147: 1097  0002572E                                  L353:
        !          1148: 1098  0002572E    5d effffff558                        tstl    _halt_flg
        !          1149: 1099  00025734    31 09                                jeql    L355
        !          1150: 1100  00025736                                   #                   mull3_halt( 1 );
        !          1151: 1101  00025736    dd 01                                pushl   $1
        !          1152: 1102  00025738    fe 08 ef00000129                     callf   $8,_mull3_halt
        !          1153: 1103  0002573F                                   #               if ( loop_on_err ) {
        !          1154: 1104  0002573F                                  L355:
        !          1155: 1105  0002573F    5d effffff547                        tstl    _loop_on_err
        !          1156: 1106  00025745    31 0d                                jeql    L356
        !          1157: 1107  00025747                                   #                   force_loop = TRUE;            /* set the force loop flag */
        !          1158: 1108  00025747    0d 01 effffff53e                     movl    $1,_force_loop
        !          1159: 1109  0002574E                                   #                   asm("jmp _mull3_6_lp1");      /* and loop                */
        !          1160: 1110  0002574E    71 effffffec4                 jmp _mull3_6_lp1
        !          1161: 1111  00025754                                   #               }  /* end of loop-on-error */
        !          1162: 1112  00025754                                   #            } /* end of multiply error */
        !          1163: 1113  00025754                                  L356:
        !          1164: 1114  00025754                                   #         }
        !          1165: 1115  00025754                                  L352:
        !          1166: 1116  00025754                                  L339:
        !          1167: 1117  00025754    6d effffff532                        incl    _index
        !          1168: 1118  0002575A    13 fe51                              jbr     L341
        !          1169: 1119  0002575D                                  L340:
        !          1170: 1120  0002575D                                   # }  /* end of subtest 6 */
        !          1171: 1121  0002575D    40                                   ret#2
        !          1172: 1122  0002575E                                         .set    L335,0x0
        !          1173: 1123  0002575E                                  L337:
        !          1174: 1124  0002575E    13 fe3a                              jbr     L338
        !          1175: 1125  00025761                                         .data
        !          1176: 1126  00000d38 *                                       .text
        !          1177: 1127  00025761    00                                   .align  1
        !          1178: 1128  00025762                                         .globl  _print_mull3_error
        !          1179: 1129  00025762                                  _print_mull3_error:
        !          1180: 1130  00025762    0000                                 .word   L357
        !          1181: 1131  00025764                                   #   
        !          1182: 1132  00025764                                   # 
        !          1183: 1133  00025764                                   # 
        !          1184: 1134  00025764                                   # /*****************************************************************************
        !          1185: 1135  00025764                                   # *
        !          1186: 1136  00025764                                   # *               Print an error message of the form:
        !          1187: 1137  00025764                                   # *
        !          1188: 1138  00025764                                   # *  cycle: xx  MULL3 test xx, subtest xx  <"your message here">
        !          1189: 1139  00025764                                   # *    operand 1 = xxxxxxxx,        result = xxxxxxxx,   data index = xx
        !          1190: 1140  00025764                                   # *    operand 2 = xxxxxxxx,      expected = xxxxxxxx
        !          1191: 1141  00025764                                   # *
        !          1192: 1142  00025764                                   # *****************************************************************************/
        !          1193: 1143  00025764                                   # print_mull3_error(msg)
        !          1194: 1144  00025764                                   # char *msg;                                      /* addressing mode msg */
        !          1195: 1145  00025764                                   # {
        !          1196: 1146  00025764    13 00fe                              jbr     L359
        !          1197: 1147  00025767                                  L360:
        !          1198: 1148  00025767                                   #                  writes(" \n");             /* start a new print line   */
        !          1199: 1149  00025767                                         .data   1
        !          1200: 1150  00000ff5 *                                L361:
        !          1201: 1151  00000ff5 *  200A00                               .ascii  " \12\0"
        !          1202: 1152  00000ff8 *                                       .text
        !          1203: 1153  00025767    dd 8f00000ff5                        pushl   $L361
        !          1204: 1154  0002576D    fe 08 effffff518                     callf   $8,_writes
        !          1205: 1155  00025774                                   #                  writes("cycle: ");
        !          1206: 1156  00025774                                         .data   1
        !          1207: 1157  00000ff8 *                                L362:
        !          1208: 1158  00000ff8 *  6379636C653A2000                     .ascii  "cycle: \0"
        !          1209: 1159  00001000 *                                       .text
        !          1210: 1160  00025774    dd 8f00000ff8                        pushl   $L362
        !          1211: 1161  0002577A    fe 08 effffff50b                     callf   $8,_writes
        !          1212: 1162  00025781                                   #                  writed( cycle );
        !          1213: 1163  00025781    dd effffff505                        pushl   _cycle
        !          1214: 1164  00025787    fe 08 effffff4fe                     callf   $8,_writed
        !          1215: 1165  0002578E                                   #                  writes("  MULL3 test ");
        !          1216: 1166  0002578E                                         .data   1
        !          1217: 1167  00001000 *                                L364:
        !          1218: 1168  00001000 *  20204D554C4C3320746573742            .ascii  "  MULL3 test \0"
        !          1219:                   000
        !          1220: 1169  0000100e *                                       .text
        !          1221: 1170  0002578E    dd 8f00001000                        pushl   $L364
        !          1222: 1171  00025794    fe 08 effffff4f1                     callf   $8,_writes
        !          1223: 1172  0002579B                                   #                  writed( test_no );
        !          1224: 1173  0002579B    dd effffff4eb                        pushl   _test_no
        !          1225: 1174  000257A1    fe 08 effffff4e4                     callf   $8,_writed
        !          1226: 1175  000257A8                                   #              writes(", subtest ");
        !          1227: 1176  000257A8                                         .data   1
        !          1228: 1177  0000100e *                                L365:
        !          1229: 1178  0000100e *  2C20737562746573742000               .ascii  ", subtest \0"
        !          1230: 1179  00001019 *                                       .text
        !          1231: 1180  000257A8    dd 8f0000100e                        pushl   $L365
        !          1232: 1181  000257AE    fe 08 effffff4d7                     callf   $8,_writes
        !          1233: 1182  000257B5                                   #              writed( subtest );
        !          1234: 1183  000257B5    dd effffff4d1                        pushl   _subtest
        !          1235: 1184  000257BB    fe 08 effffff4ca                     callf   $8,_writed
        !          1236: 1185  000257C2                                   #              writes("  ");
        !          1237: 1186  000257C2                                         .data   1
        !          1238: 1187  00001019 *                                L366:
        !          1239: 1188  00001019 *  202000                               .ascii  "  \0"
        !          1240: 1189  0000101c *                                       .text
        !          1241: 1190  000257C2    dd 8f00001019                        pushl   $L366
        !          1242: 1191  000257C8    fe 08 effffff4bd                     callf   $8,_writes
        !          1243: 1192  000257CF                                   #              writes( msg );
        !          1244: 1193  000257CF    dd ad04                              pushl   4(fp)
        !          1245: 1194  000257D2    fe 08 effffff4b3                     callf   $8,_writes
        !          1246: 1195  000257D9                                   #                  writes("\n  operand 1 = ");
        !          1247: 1196  000257D9                                         .data   1
        !          1248: 1197  0000101c *                                L367:
        !          1249: 1198  0000101c *  0A20206F706572616E6420312            .ascii  "\12  operand 1 = \0"
        !          1250:                   03D2000
        !          1251: 1199  0000102c *                                       .text
        !          1252: 1200  000257D9    dd 8f0000101c                        pushl   $L367
        !          1253: 1201  000257DF    fe 08 effffff4a6                     callf   $8,_writes
        !          1254: 1202  000257E6                                   #              write32h( sgl_value_1 );
        !          1255: 1203  000257E6    dd effffff4a0                        pushl   _sgl_value_1
        !          1256: 1204  000257EC    fe 08 effffff499                     callf   $8,_write32h
        !          1257: 1205  000257F3                                   #              writes(",        result = ");
        !          1258: 1206  000257F3                                         .data   1
        !          1259: 1207  0000102c *                                L368:
        !          1260: 1208  0000102c *  2C20202020202020207265737            .ascii  ",        result = \0"
        !          1261:                   56C74203D2000
        !          1262: 1209  0000103f *                                       .text
        !          1263: 1210  000257F3    dd 8f0000102c                        pushl   $L368
        !          1264: 1211  000257F9    fe 08 effffff48c                     callf   $8,_writes
        !          1265: 1212  00025800                                   #              write32h( sgl_value_3 );
        !          1266: 1213  00025800    dd effffff486                        pushl   _sgl_value_3
        !          1267: 1214  00025806    fe 08 effffff47f                     callf   $8,_write32h
        !          1268: 1215  0002580D                                   #              writes(",   data index = ");
        !          1269: 1216  0002580D                                         .data   1
        !          1270: 1217  0000103f *                                L369:
        !          1271: 1218  0000103f *  2C2020206461746120696E646            .ascii  ",   data index = \0"
        !          1272:                   578203D2000
        !          1273: 1219  00001051 *                                       .text
        !          1274: 1220  0002580D    dd 8f0000103f                        pushl   $L369
        !          1275: 1221  00025813    fe 08 effffff472                     callf   $8,_writes
        !          1276: 1222  0002581A                                   #              writed( index );
        !          1277: 1223  0002581A    dd effffff46c                        pushl   _index
        !          1278: 1224  00025820    fe 08 effffff465                     callf   $8,_writed
        !          1279: 1225  00025827                                   #                  writes("\n  operand 2 = ");
        !          1280: 1226  00025827                                         .data   1
        !          1281: 1227  00001051 *                                L370:
        !          1282: 1228  00001051 *  0A20206F706572616E6420322            .ascii  "\12  operand 2 = \0"
        !          1283:                   03D2000
        !          1284: 1229  00001061 *                                       .text
        !          1285: 1230  00025827    dd 8f00001051                        pushl   $L370
        !          1286: 1231  0002582D    fe 08 effffff458                     callf   $8,_writes
        !          1287: 1232  00025834                                   #              write32h( sgl_value_2 );
        !          1288: 1233  00025834    dd effffff452                        pushl   _sgl_value_2
        !          1289: 1234  0002583A    fe 08 effffff44b                     callf   $8,_write32h
        !          1290: 1235  00025841                                   #              writes(",      expected = ");
        !          1291: 1236  00025841                                         .data   1
        !          1292: 1237  00001061 *                                L371:
        !          1293: 1238  00001061 *  2C20202020202065787065637            .ascii  ",      expected = \0"
        !          1294:                   46564203D2000
        !          1295: 1239  00001074 *                                       .text
        !          1296: 1240  00025841    dd 8f00001061                        pushl   $L371
        !          1297: 1241  00025847    fe 08 effffff43e                     callf   $8,_writes
        !          1298: 1242  0002584E                                   #              write32h( sgl_value_4 );
        !          1299: 1243  0002584E    dd effffff438                        pushl   _sgl_value_4
        !          1300: 1244  00025854    fe 08 effffff431                     callf   $8,_write32h
        !          1301: 1245  0002585B                                   #              writec('\n');
        !          1302: 1246  0002585B    dd 0a                                pushl   $10
        !          1303: 1247  0002585D    fe 08 effffff428                     callf   $8,_writec
        !          1304: 1248  00025864                                   # }
        !          1305: 1249  00025864    40                                   ret#2
        !          1306: 1250  00025865                                         .set    L357,0x0
        !          1307: 1251  00025865                                  L359:
        !          1308: 1252  00025865    13 feff                              jbr     L360
        !          1309: 1253  00025868                                         .data
        !          1310: 1254  00000d38 *                                       .text
        !          1311: 1255  00025868                                         .align  1
        !          1312: 1256  00025868                                         .globl  _mull3_halt
        !          1313: 1257  00025868                                  _mull3_halt:
        !          1314: 1258  00025868    0000                                 .word   L372
        !          1315: 1259  0002586A                                   #   
        !          1316: 1260  0002586A                                   # 
        !          1317: 1261  0002586A                                   # 
        !          1318: 1262  0002586A                                   # /***************************************************************************
        !          1319: 1263  0002586A                                   # *
        !          1320: 1264  0002586A                                   # *               HALT ON AN ERROR
        !          1321: 1265  0002586A                                   # *
        !          1322: 1266  0002586A                                   # ***************************************************************************/
        !          1323: 1267  0002586A                                   # mull3_halt( code )
        !          1324: 1268  0002586A                                   # int code;                                   /* error code to use */
        !          1325: 1269  0002586A                                   # {
        !          1326: 1270  0002586A    13 0152                              jbr     L374
        !          1327: 1271  0002586D                                  L375:
        !          1328: 1272  0002586D                                   #     sgl_dummy1 = code;                      /* save the error code    */
        !          1329: 1273  0002586D    0d ad04 effffff417                   movl    4(fp),_sgl_dummy1
        !          1330: 1274  00025875                                   #         asm("movl _test_no,r0");                    /* r0  = test number      */
        !          1331: 1275  00025875    0d effffff411 50              movl _test_no,r0
        !          1332: 1276  0002587C                                   #         asm("movl _subtest,r1");                    /* r1  = subtest number   */
        !          1333: 1277  0002587C    0d effffff40a 51              movl _subtest,r1
        !          1334: 1278  00025883                                   #         asm("movl _sgl_dummy1,r2");                 /* r2  = error code       */
        !          1335: 1279  00025883    0d effffff403 52              movl _sgl_dummy1,r2
        !          1336: 1280  0002588A                                   #         asm("movl _cycle,r3");                      /* r3  = cycle count      */
        !          1337: 1281  0002588A    0d effffff3fc 53              movl _cycle,r3
        !          1338: 1282  00025891                                   #         asm("movl _sgl_value_1,r4");                /* r4  = operand 1        */
        !          1339: 1283  00025891    0d effffff3f5 54              movl _sgl_value_1,r4
        !          1340: 1284  00025898                                   #         asm("movl _sgl_value_2,r5");                /* r5  = operand 2        */
        !          1341: 1285  00025898    0d effffff3ee 55              movl _sgl_value_2,r5
        !          1342: 1286  0002589F                                   #         asm("movl _sgl_value_3,r6");                /* r6  = MULL3's result   */
        !          1343: 1287  0002589F    0d effffff3e7 56              movl _sgl_value_3,r6
        !          1344: 1288  000258A6                                   #     if( code == 1 ) {
        !          1345: 1289  000258A6    1d ad04 01                           cmpl    4(fp),$1
        !          1346: 1290  000258AA    21 11                                jneq    L376
        !          1347: 1291  000258AC                                   #          asm("movl _sgl_value_4,r7");       /* r7  = expected result  */
        !          1348: 1292  000258AC    0d effffff3da 57              movl _sgl_value_4,r7
        !          1349: 1293  000258B3                                   #          asm("movl _index,r8");;            /* r8  = data index       */
        !          1350: 1294  000258B3    0d effffff3d3 58              movl _index,r8
        !          1351: 1295  000258BA                                   #     }
        !          1352: 1296  000258BA                                   #      else if( code == 2 )  {  /* corrupted register */
        !          1353: 1297  000258BA    13 0100                              jbr     L377
        !          1354: 1298  000258BD                                  L376:
        !          1355: 1299  000258BD    1d ad04 02                           cmpl    4(fp),$2
        !          1356: 1300  000258C1    21 3e                                jneq    L378
        !          1357: 1301  000258C3                                   #          sgl_dummy1 = store_regs[index2];   /* get the actual reg data */
        !          1358: 1302  000258C3    0d effffff3c3 50                     movl    _index2,r0
        !          1359: 1303  000258CA    0d 40effffff3bb                      movl    _store_regs[r0],_sgl_dummy1
        !          1360:                   effffff3b6 
        !          1361: 1304  000258D6                                   #          sgl_dummy2 = load_regs[index2];    /* get the data expected  */
        !          1362: 1305  000258D6    0d effffff3b0 50                     movl    _index2,r0
        !          1363: 1306  000258DD    0d 40effffff3a8                      movl    _load_regs[r0],_sgl_dummy2
        !          1364:                   effffff3a3 
        !          1365: 1307  000258E9                                   #          asm("movl _index2,r7");            /* r7  = register number  */
        !          1366: 1308  000258E9    0d effffff39d 57              movl _index2,r7
        !          1367: 1309  000258F0                                   #          asm("movl _sgl_dummy1,r8");        /* r8  = final reg value  */
        !          1368: 1310  000258F0    0d effffff396 58              movl _sgl_dummy1,r8
        !          1369: 1311  000258F7                                   #          asm("movl _sgl_dummy2,r9");        /* r9  = expected value   */
        !          1370: 1312  000258F7    0d effffff38f 59              movl _sgl_dummy2,r9
        !          1371: 1313  000258FE                                   #     }
        !          1372: 1314  000258FE                                   #      else if( code == 3 ) {  /* corrupted PSL */
        !          1373: 1315  000258FE    13 00bc                              jbr     L379
        !          1374: 1316  00025901                                  L378:
        !          1375: 1317  00025901    1d ad04 03                           cmpl    4(fp),$3
        !          1376: 1318  00025905    21 18                                jneq    L380
        !          1377: 1319  00025907                                   #              asm("movl _init_psl,r7");          /* r7  = initial PSL     */
        !          1378: 1320  00025907    0d effffff37f 57              movl _init_psl,r7
        !          1379: 1321  0002590E                                   #              asm("movl _psl_val,r8");           /* r8  = final PSL       */
        !          1380: 1322  0002590E    0d effffff378 58              movl _psl_val,r8
        !          1381: 1323  00025915                                   #              asm("movl _exp_psl,r9");           /* r9  = expected PSL    */
        !          1382: 1324  00025915    0d effffff371 59              movl _exp_psl,r9
        !          1383: 1325  0002591C                                   #         }
        !          1384: 1326  0002591C                                   #      else if( code == 4 ) {  /* corrupted Acc */
        !          1385: 1327  0002591C    13 009e                              jbr     L381
        !          1386: 1328  0002591F                                  L380:
        !          1387: 1329  0002591F    1d ad04 04                           cmpl    4(fp),$4
        !          1388: 1330  00025923    21 6f                                jneq    L382
        !          1389: 1331  00025925                                   #          if( subtest == 1 ) {       /* single precision */
        !          1390: 1332  00025925    1d effffff361 01                     cmpl    _subtest,$1
        !          1391: 1333  0002592C    21 33                                jneq    L383
        !          1392: 1334  0002592E                                   #              dbl_ld_acc.m = sgl_ld_acc;
        !          1393: 1335  0002592E    0d effffff358 effffff353             movl    _sgl_ld_acc,_dbl_ld_acc
        !          1394: 1336  00025939                                   #              dbl_ld_acc.l = 0;
        !          1395: 1337  00025939    4d effffff351                        clrl    _dbl_ld_acc+4
        !          1396: 1338  0002593F                                   #              dbl_st_acc.m = sgl_st_acc;
        !          1397: 1339  0002593F    0d effffff347 effffff342             movl    _sgl_st_acc,_dbl_st_acc
        !          1398: 1340  0002594A                                   #              dbl_st_acc.l = 0;
        !          1399: 1341  0002594A    4d effffff340                        clrl    _dbl_st_acc+4
        !          1400: 1342  00025950                                   #              dbl_expected.m = sgl_expected;
        !          1401: 1343  00025950    0d effffff336 effffff331             movl    _sgl_expected,_dbl_expected
        !          1402: 1344  0002595B                                   #              dbl_expected.l = 0;
        !          1403: 1345  0002595B    4d effffff32f                        clrl    _dbl_expected+4
        !          1404: 1346  00025961                                   #          };
        !          1405: 1347  00025961                                  L383:
        !          1406: 1348  00025961                                   #          asm("movl _index,r7");             /* r7  = data index       */
        !          1407: 1349  00025961    0d effffff325 57              movl _index,r7
        !          1408: 1350  00025968                                   #          asm("movl _dbl_ld_acc,r8");        /* r8  = MS initial Acc.  */
        !          1409: 1351  00025968    0d effffff31e 58              movl _dbl_ld_acc,r8
        !          1410: 1352  0002596F                                   #          asm("movl _dbl_ld_acc+4,r9");      /* r9  = LS initial Acc.  */
        !          1411: 1353  0002596F    0d effffff31b 59              movl _dbl_ld_acc+4,r9
        !          1412: 1354  00025976                                   #          asm("movl _dbl_st_acc,r10");       /* r10 = MS final Acc.    */
        !          1413: 1355  00025976    0d effffff310 5a              movl _dbl_st_acc,r10
        !          1414: 1356  0002597D                                   #          asm("movl _dbl_st_acc+4,r11");     /* r11 = LS final Acc.    */
        !          1415: 1357  0002597D    0d effffff30d 5b              movl _dbl_st_acc+4,r11
        !          1416: 1358  00025984                                   #          asm("movl _dbl_expected,r12");     /* r12 = MS expected Acc. */
        !          1417: 1359  00025984    0d effffff302 5c              movl _dbl_expected,r12
        !          1418: 1360  0002598B                                   #          asm("movl _dbl_expected+4,r13");   /* r13 = LS expected Acc. */
        !          1419: 1361  0002598B    0d effffff2ff 5d              movl _dbl_expected+4,r13
        !          1420: 1362  00025992                                   #     }
        !          1421: 1363  00025992                                   #      else if( code == 5 ) {  /* bad final Acc */
        !          1422: 1364  00025992    11 29                                jbr     L384
        !          1423: 1365  00025994                                  L382:
        !          1424: 1366  00025994    1d ad04 05                           cmpl    4(fp),$5
        !          1425: 1367  00025998    21 23                                jneq    L385
        !          1426: 1368  0002599A                                   #          asm("movl _index,r7");             /* r7  = data index       */
        !          1427: 1369  0002599A    0d effffff2ec 57              movl _index,r7
        !          1428: 1370  000259A1                                   #          asm("movl _sgl_ld_acc,r8");        /* r8  = initial Acc.     */
        !          1429: 1371  000259A1    0d effffff2e5 58              movl _sgl_ld_acc,r8
        !          1430: 1372  000259A8                                   #          asm("movl _sgl_value_10,r9");      /* r9  = fpp operand      */
        !          1431: 1373  000259A8    0d effffff2de 59              movl _sgl_value_10,r9
        !          1432: 1374  000259AF                                   #          asm("movl _sgl_st_acc,r10");       /* r10 = final Acc.       */
        !          1433: 1375  000259AF    0d effffff2d7 5a              movl _sgl_st_acc,r10
        !          1434: 1376  000259B6                                   #          asm("movl _sgl_expected,r11");     /* r11 = expected Acc.    */
        !          1435: 1377  000259B6    0d effffff2d0 5b              movl _sgl_expected,r11
        !          1436: 1378  000259BD                                   #     };
        !          1437: 1379  000259BD                                  L385:
        !          1438: 1380  000259BD                                  L384:
        !          1439: 1381  000259BD                                  L381:
        !          1440: 1382  000259BD                                  L379:
        !          1441: 1383  000259BD                                  L377:
        !          1442: 1384  000259BD                                   #     asm("halt");                   /* HALT ...                */
        !          1443: 1385  000259BD    00                            halt
        !          1444: 1386  000259BE                                   # }
        !          1445: 1387  000259BE    40                                   ret#2
        !          1446: 1388  000259BF                                         .set    L372,0x0
        !          1447: 1389  000259BF                                  L374:
        !          1448: 1390  000259BF    13 feab                              jbr     L375
        !          1449: 1391  000259C2                                         .data
        !          1450: 1391  0004A64E                                         .data

unix.superglobalmegacorp.com

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