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

1.1       root        1:    1  00000000                                  LL0:
                      2:    2  00000000                                         .data
                      3:    3  00000a60 *                                       .text
                      4:    4  00000000                                         .align  1
                      5:    5  00000000                                         .globl  _expf
                      6:    6  00000000                                  _expf:
                      7:    7  00020B5C    0000                                 .word   L215
                      8:    8  00020B5E                                   # #include "fpp_defs.h"
                      9:    9  00020B5E                                   # 
                     10:   10  00020B5E                                   # 
                     11:   11  00020B5E                                   # 
                     12:   12  00020B5E                                   # /***************************************************************************
                     13:   13  00020B5E                                   # *
                     14:   14  00020B5E                                   # *   EXPF - SINGLE PRECISION FLOATING POINT EXPF FUNCTION TEST
                     15:   15  00020B5E                                   # *
                     16:   16  00020B5E                                   # *                   EXPF TEST MONITOR
                     17:   17  00020B5E                                   # *
                     18:   18  00020B5E                                   # *****************************************************************************/
                     19:   19  00020B5E                                   # expf()
                     20:   20  00020B5E                                   # {
                     21:   21  00020B5E    11 4f                                jbr     L217
                     22:   22  00020B60                                  L218:
                     23:   23  00020B60                                   #     asm(".globl _expf_t");
                     24:   24  00020B60                                  .globl _expf_t
                     25:   25  00020B60                                   #     asm("_expf_t:");                        /* entry address            */
                     26:   26  00020B60                                  _expf_t:
                     27:   27  00020B60                                   #     if( ( cycle == 1 ) && ( prt_hdrs ) )    /* print headers on 1st pass */
                     28:   28  00020B60    1d effffffff6 01                     cmpl    _cycle,$1
                     29:   29  00020B67    21 15                                jneq    L219
                     30:   30  00020B69    5d efffffffed                        tstl    _prt_hdrs
                     31:   31  00020B6F    31 0d                                jeql    L219
                     32:   32  00020B71                                   #     {
                     33:   33  00020B71                                   #        writes(" EXPF");
                     34:   34  00020B71                                         .data   1
                     35:   35  00000a60 *                                L221:
                     36:   36  00000a60 *  204558504600                         .ascii  " EXPF\0"
                     37:   37  00000a66 *                                       .text
                     38:   38  00020B71    dd 8f00000a60                        pushl   $L221
                     39:   39  00020B77    fe 08 efffffffde                     callf   $8,_writes
                     40:   40  00020B7E                                   #     }
                     41:   41  00020B7E                                   #     expf_1();                               /* test expf with delay       */
                     42:   42  00020B7E                                  L219:
                     43:   43  00020B7E    fe 04 ef0000002d                     callf   $4,_expf_1
                     44:   44  00020B85                                   #     expf_2();                               /* test expf                  */
                     45:   45  00020B85    fe 04 ef00000198                     callf   $4,_expf_2
                     46:   46  00020B8C                                   #     expf_3();                               /* register corruption        */
                     47:   47  00020B8C    fe 04 ef000002f1                     callf   $4,_expf_3
                     48:   48  00020B93                                   #     expf_4();                               /* test the PSL               */
                     49:   49  00020B93    fe 04 ef000004d4                     callf   $4,_expf_4
                     50:   50  00020B9A                                   #     expf_5();                               /* pipelined entry            */
                     51:   51  00020B9A    fe 04 ef0000067d                     callf   $4,_expf_5
                     52:   52  00020BA1                                   #     expf_6();                               /* pipelined exit             */
                     53:   53  00020BA1    fe 04 ef000007d2                     callf   $4,_expf_6
                     54:   54  00020BA8                                   #     asm("jmp *return");                     /* return to the test monitor */
                     55:   55  00020BA8    71 ffffffffae                 jmp *return
                     56:   56  00020BAE                                   # }
                     57:   57  00020BAE    40                                   ret#2
                     58:   58  00020BAF                                         .set    L215,0x0
                     59:   59  00020BAF                                  L217:
                     60:   60  00020BAF    11 af                                jbr     L218
                     61:   61  00020BB1                                         .data
                     62:   62  00000a60 *                                       .text
                     63:   63  00020BB1    00                                   .align  1
                     64:   64  00020BB2                                         .globl  _expf_1
                     65:   65  00020BB2                                  _expf_1:
                     66:   66  00020BB2    0000                                 .word   L228
                     67:   67  00020BB4                                   #   
                     68:   68  00020BB4                                   # 
                     69:   69  00020BB4                                   # 
                     70:   70  00020BB4                                   # /***************************************************************************
                     71:   71  00020BB4                                   # *
                     72:   72  00020BB4                                   # *   SUBTEST 1 - EXPF 
                     73:   73  00020BB4                                   # *
                     74:   74  00020BB4                                   # ***************************************************************************/
                     75:   75  00020BB4                                   # expf_1() 
                     76:   76  00020BB4                                   # {
                     77:   77  00020BB4    13 016a                              jbr     L230
                     78:   78  00020BB7                                  L231:
                     79:   79  00020BB7                                   # #define DELAY 10            /* wait 20 ticks between EXPF & STF */
                     80:   80  00020BB7                                   #     force_loop = FALSE;                        /* clear the LOOP flag */
                     81:   81  00020BB7    4d efffffff9f                        clrl    _force_loop
                     82:   82  00020BBD                                   #     subtest = 1;
                     83:   83  00020BBD    0d 01 efffffff98                     movl    $1,_subtest
                     84:   84  00020BC4                                   #         index = 0;
                     85:   85  00020BC4    4d efffffff92                        clrl    _index
                     86:   86  00020BCA                                   #     do 
                     87:   87  00020BCA                                  L234:
                     88:   88  00020BCA                                   #     {
                     89:   89  00020BCA                                   #        sgl_ld_acc   = expf_1_data[index].ld;   /* get the operand      */
                     90:   90  00020BCA    0d efffffff8c 50                     movl    _index,r0
                     91:   91  00020BD1    48 03 50 50                          shll    $3,r0,r0
                     92:   92  00020BD5    0d e000000000 efffffff7c             movl    _expf_1_data(r0),_sgl_ld_acc
                     93:   93  00020BE0                                   #        sgl_expected = expf_1_data[index].exp;  /* get expected results */
                     94:   94  00020BE0    0d efffffff76 50                     movl    _index,r0
                     95:   95  00020BE7    48 03 50 50                          shll    $3,r0,r0
                     96:   96  00020BEB    0d e000000004 efffffff66             movl    _expf_1_data+4(r0),_sgl_expected
                     97:   97  00020BF6                                   #        sgl_dummy1 = DELAY;
                     98:   98  00020BF6    0d 0a efffffff5f                     movl    $10,_sgl_dummy1
                     99:   99  00020BFD                                   # /*
                    100:  100  00020BFD                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    101:  101  00020BFD                                   #  * The force loop flag is set after the first error.
                    102:  102  00020BFD                                   # */
                    103:  103  00020BFD                                   #        asm("_expf_1_lp1:");
                    104:  104  00020BFD                                  _expf_1_lp1:
                    105:  105  00020BFD                                   #        asm("movl _sgl_ld_acc,r4");          /* set the data to load     */
                    106:  106  00020BFD    0d efffffff59 54              movl _sgl_ld_acc,r4
                    107:  107  00020C04                                   #        asm("ldf r4");                       /* load the accumulator     */
                    108:  108  00020C04    06 54                         ldf r4
                    109:  109  00020C06                                   #        asm("movl _sgl_dummy1,r0");          /* get the delay factor     */
                    110:  110  00020C06    0d efffffff50 50              movl _sgl_dummy1,r0
                    111:  111  00020C0D                                   #            asm("expf");                             /* get ACC.s' exponent      */
                    112:  112  00020C0D    55                            expf
                    113:  113  00020C0E                                   #        asm("1:");
                    114:  114  00020C0E                                  1:
                    115:  115  00020C0E                                   #        asm("decl r0");                      /* delay to let the EXPF    */
                    116:  116  00020C0E    7d 50                         decl r0
                    117:  117  00020C10                                   #        asm("bgtr 1b");                      /*   instruction finish     */
                    118:  118  00020C10    41 fc                         bgtr 1b
                    119:  119  00020C12                                   #        asm("stf r5");                       /* store the result         */
                    120:  120  00020C12    26 55                         stf r5
                    121:  121  00020C14                                   #            if( force_loop )
                    122:  122  00020C14    5d efffffff42                        tstl    _force_loop
                    123:  123  00020C1A    31 02                                jeql    L235
                    124:  124  00020C1C                                   #                 asm("brb _expf_1_lp1");;      /* loop on the error     */
                    125:  125  00020C1C    11 df                         brb _expf_1_lp1
                    126:  126  00020C1E                                  L235:
                    127:  127  00020C1E                                   # /* 
                    128:  128  00020C1E                                   #  * end error loop 
                    129:  129  00020C1E                                   # */
                    130:  130  00020C1E                                   #        asm("movl r5,_sgl_st_acc");          /* save the result          */
                    131:  131  00020C1E    0d 55 efffffff37              movl r5,_sgl_st_acc
                    132:  132  00020C25                                   #        if( sgl_st_acc != sgl_expected )     /* COMPARE the values       */
                    133:  133  00020C25    1d efffffff31 efffffff2c             cmpl    _sgl_st_acc,_sgl_expected
                    134:  134  00020C30    21 03 13 00d2                        jeql    L236
                    135:  135  00020C35                                   #        {
                    136:  136  00020C35                                   #           errcnt++;                         /* bump the error count     */
                    137:  137  00020C35    6d efffffff21                        incl    _errcnt
                    138:  138  00020C3B                                   #           if ( prt_error ) 
                    139:  139  00020C3B    5d efffffff1b                        tstl    _prt_error
                    140:  140  00020C41    21 03 13 009b                        jeql    L237
                    141:  141  00020C46                                   #           {
                    142:  142  00020C46                                   #              writes(" \n");         /* start a new print line   */
                    143:  143  00020C46                                         .data   1
                    144:  144  00000a66 *                                L238:
                    145:  145  00000a66 *  200A00                               .ascii  " \12\0"
                    146:  146  00000a69 *                                       .text
                    147:  147  00020C46    dd 8f00000a66                        pushl   $L238
                    148:  148  00020C4C    fe 08 efffffff09                     callf   $8,_writes
                    149:  149  00020C53                                   #              writes("cycle: ");
                    150:  150  00020C53                                         .data   1
                    151:  151  00000a69 *                                L239:
                    152:  152  00000a69 *  6379636C653A2000                     .ascii  "cycle: \0"
                    153:  153  00000a71 *                                       .text
                    154:  154  00020C53    dd 8f00000a69                        pushl   $L239
                    155:  155  00020C59    fe 08 effffffefc                     callf   $8,_writes
                    156:  156  00020C60                                   #              writed( cycle );
                    157:  157  00020C60    dd effffffef6                        pushl   _cycle
                    158:  158  00020C66    fe 08 effffffeef                     callf   $8,_writed
                    159:  159  00020C6D                                   #              writes("   EXPF test ");
                    160:  160  00020C6D                                         .data   1
                    161:  161  00000a71 *                                L241:
                    162:  162  00000a71 *  2020204558504620746573742            .ascii  "   EXPF test \0"
                    163:                   000
                    164:  163  00000a7f *                                       .text
                    165:  164  00020C6D    dd 8f00000a71                        pushl   $L241
                    166:  165  00020C73    fe 08 effffffee2                     callf   $8,_writes
                    167:  166  00020C7A                                   #              writed( test_no );
                    168:  167  00020C7A    dd effffffedc                        pushl   _test_no
                    169:  168  00020C80    fe 08 effffffed5                     callf   $8,_writed
                    170:  169  00020C87                                   #              writes(", subtest 1 (delayed store) - BAD FINAL ACC\n");
                    171:  170  00020C87                                         .data   1
                    172:  171  00000a7f *                                L242:
                    173:  172  00000a7f *  2C20737562746573742031202            .ascii  ", subtest 1 (delayed store) - BAD FINAL ACC\12\0"
                    174:                   864656C617965642073746F72
                    175:                   6529202D204241442046494E4
                    176:                   14C204143430A00
                    177:  173  00000aac *                                       .text
                    178:  174  00020C87    dd 8f00000a7f                        pushl   $L242
                    179:  175  00020C8D    fe 08 effffffec8                     callf   $8,_writes
                    180:  176  00020C94                                   #              print_expf_data();
                    181:  177  00020C94    fe 04 ef0000083b                     callf   $4,_print_expf_data
                    182:  178  00020C9B                                   #                  writes(",  data index = ");
                    183:  179  00020C9B                                         .data   1
                    184:  180  00000aac *                                L244:
                    185:  181  00000aac *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                    186:                   8203D2000
                    187:  182  00000abd *                                       .text
                    188:  183  00020C9B    dd 8f00000aac                        pushl   $L244
                    189:  184  00020CA1    fe 08 effffffeb4                     callf   $8,_writes
                    190:  185  00020CA8                                   #                  writed( index );
                    191:  186  00020CA8    dd effffffeae                        pushl   _index
                    192:  187  00020CAE    fe 08 effffffea7                     callf   $8,_writed
                    193:  188  00020CB5                                   #                  writec('\n');
                    194:  189  00020CB5    dd 0a                                pushl   $10
                    195:  190  00020CB7    fe 08 effffffe9e                     callf   $8,_writec
                    196:  191  00020CBE                                   #                  writes("                      Acc expected = ");
                    197:  192  00020CBE                                         .data   1
                    198:  193  00000abd *                                L246:
                    199:  194  00000abd *  2020202020202020202020202            .ascii  "                      Acc expected = \0"
                    200:                   0202020202020202020416363
                    201:                   206578706563746564203D200
                    202:                   0
                    203:  195  00000ae3 *                                       .text
                    204:  196  00020CBE    dd 8f00000abd                        pushl   $L246
                    205:  197  00020CC4    fe 08 effffffe91                     callf   $8,_writes
                    206:  198  00020CCB                                   #                  write32h( sgl_expected );
                    207:  199  00020CCB    dd effffffe8b                        pushl   _sgl_expected
                    208:  200  00020CD1    fe 08 effffffe84                     callf   $8,_write32h
                    209:  201  00020CD8                                   #                  writec('\n');
                    210:  202  00020CD8    dd 0a                                pushl   $10
                    211:  203  00020CDA    fe 08 effffffe7b                     callf   $8,_writec
                    212:  204  00020CE1                                   #               }
                    213:  205  00020CE1                                   #               if ( halt_flg )                       /* halt on error?        */
                    214:  206  00020CE1                                  L237:
                    215:  207  00020CE1    5d effffffe75                        tstl    _halt_flg
                    216:  208  00020CE7    31 09                                jeql    L248
                    217:  209  00020CE9                                   #              expf_er_halt( BAD_ACC_HLT );
                    218:  210  00020CE9    dd 01                                pushl   $1
                    219:  211  00020CEB    fe 08 ef00000820                     callf   $8,_expf_er_halt
                    220:  212  00020CF2                                   #               if ( loop_on_err ) 
                    221:  213  00020CF2                                  L248:
                    222:  214  00020CF2    5d effffffe64                        tstl    _loop_on_err
                    223:  215  00020CF8    31 0d                                jeql    L250
                    224:  216  00020CFA                                   #           {
                    225:  217  00020CFA                                   #              force_loop = TRUE;             /* set the force loop flag */
                    226:  218  00020CFA    0d 01 effffffe5b                     movl    $1,_force_loop
                    227:  219  00020D01                                   #              asm("jmp _expf_1_lp1");        /* and loop                */
                    228:  220  00020D01    71 effffffef6                 jmp _expf_1_lp1
                    229:  221  00020D07                                   #           }
                    230:  222  00020D07                                   #        }   /* end of compare error */
                    231:  223  00020D07                                  L250:
                    232:  224  00020D07                                   #     } while( index++ < max_expf_1_index );
                    233:  225  00020D07                                  L236:
                    234:  226  00020D07                                  L233:
                    235:  227  00020D07    0d effffffe4f 50                     movl    _index,r0
                    236:  228  00020D0E    6d effffffe48                        incl    _index
                    237:  229  00020D14    1d 50 effffffe41                     cmpl    r0,_max_expf_1_index
                    238:  230  00020D1B    81 03 13 feaa                        jlss    L234
                    239:  231  00020D20                                  L232:
                    240:  232  00020D20                                   # }  /* end of subtest 1 */
                    241:  233  00020D20    40                                   ret#2
                    242:  234  00020D21                                         .set    L228,0x0
                    243:  235  00020D21                                  L230:
                    244:  236  00020D21    13 fe93                              jbr     L231
                    245:  237  00020D24                                         .data
                    246:  238  00000a60 *                                       .text
                    247:  239  00020D24                                         .align  1
                    248:  240  00020D24                                         .globl  _expf_2
                    249:  241  00020D24                                  _expf_2:
                    250:  242  00020D24    0000                                 .word   L251
                    251:  243  00020D26                                   #   
                    252:  244  00020D26                                   # 
                    253:  245  00020D26                                   # 
                    254:  246  00020D26                                   # /***************************************************************************
                    255:  247  00020D26                                   # *
                    256:  248  00020D26                                   # *   SUBTEST 2 - EXPF FUNCTION 
                    257:  249  00020D26                                   # *
                    258:  250  00020D26                                   # ***************************************************************************/
                    259:  251  00020D26                                   # expf_2() 
                    260:  252  00020D26                                   # {
                    261:  253  00020D26    13 0158                              jbr     L253
                    262:  254  00020D29                                  L254:
                    263:  255  00020D29                                   #     force_loop = FALSE;                        /* clear the LOOP flag */
                    264:  256  00020D29    4d effffffe2d                        clrl    _force_loop
                    265:  257  00020D2F                                   #     subtest = 2;
                    266:  258  00020D2F    0d 02 effffffe26                     movl    $2,_subtest
                    267:  259  00020D36                                   #         index = 0;
                    268:  260  00020D36    4d effffffe20                        clrl    _index
                    269:  261  00020D3C                                   #     do 
                    270:  262  00020D3C                                  L257:
                    271:  263  00020D3C                                   #     {
                    272:  264  00020D3C                                   #        sgl_ld_acc   = expf_1_data[index].ld;   /* get the operand      */
                    273:  265  00020D3C    0d effffffe1a 50                     movl    _index,r0
                    274:  266  00020D43    48 03 50 50                          shll    $3,r0,r0
                    275:  267  00020D47    0d e000000000 effffffe0a             movl    _expf_1_data(r0),_sgl_ld_acc
                    276:  268  00020D52                                   #        sgl_expected = expf_1_data[index].exp;  /* get expected results */
                    277:  269  00020D52    0d effffffe04 50                     movl    _index,r0
                    278:  270  00020D59    48 03 50 50                          shll    $3,r0,r0
                    279:  271  00020D5D    0d e000000004 effffffdf4             movl    _expf_1_data+4(r0),_sgl_expected
                    280:  272  00020D68                                   # /*
                    281:  273  00020D68                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    282:  274  00020D68                                   #  * The force loop flag is set after the first error.
                    283:  275  00020D68                                   # */
                    284:  276  00020D68                                   #        asm("_expf_2_lp1:");
                    285:  277  00020D68                                  _expf_2_lp1:
                    286:  278  00020D68                                   #        asm("movl _sgl_ld_acc,r4");          /* set the data to load     */
                    287:  279  00020D68    0d effffffdee 54              movl _sgl_ld_acc,r4
                    288:  280  00020D6F                                   #        asm("ldf r4");                       /* load the accumulator     */
                    289:  281  00020D6F    06 54                         ldf r4
                    290:  282  00020D71                                   #            asm("expf");                             /* get ACC.'s exponent      */
                    291:  283  00020D71    55                            expf
                    292:  284  00020D72                                   #        asm("stf r5");                       /* store the result         */
                    293:  285  00020D72    26 55                         stf r5
                    294:  286  00020D74                                   #            if( force_loop )
                    295:  287  00020D74    5d effffffde2                        tstl    _force_loop
                    296:  288  00020D7A    31 02                                jeql    L258
                    297:  289  00020D7C                                   #                   asm("brb _expf_2_lp1");;      /* loop on the error     */
                    298:  290  00020D7C    11 ea                         brb _expf_2_lp1
                    299:  291  00020D7E                                  L258:
                    300:  292  00020D7E                                   # /* 
                    301:  293  00020D7E                                   #  * end error loop 
                    302:  294  00020D7E                                   # */
                    303:  295  00020D7E                                   #        asm("movl r5,_sgl_st_acc");          /* save the result          */
                    304:  296  00020D7E    0d 55 effffffdd7              movl r5,_sgl_st_acc
                    305:  297  00020D85                                   #        if( sgl_st_acc != sgl_expected )     /* COMPARE the values       */
                    306:  298  00020D85    1d effffffdd1 effffffdcc             cmpl    _sgl_st_acc,_sgl_expected
                    307:  299  00020D90    21 03 13 00d2                        jeql    L259
                    308:  300  00020D95                                   #        {
                    309:  301  00020D95                                   #           errcnt++;                         /* bump the error count     */
                    310:  302  00020D95    6d effffffdc1                        incl    _errcnt
                    311:  303  00020D9B                                   #           if ( prt_error ) 
                    312:  304  00020D9B    5d effffffdbb                        tstl    _prt_error
                    313:  305  00020DA1    21 03 13 009b                        jeql    L260
                    314:  306  00020DA6                                   #           {
                    315:  307  00020DA6                                   #              writes(" \n");         /* start a new print line   */
                    316:  308  00020DA6                                         .data   1
                    317:  309  00000ae3 *                                L261:
                    318:  310  00000ae3 *  200A00                               .ascii  " \12\0"
                    319:  311  00000ae6 *                                       .text
                    320:  312  00020DA6    dd 8f00000ae3                        pushl   $L261
                    321:  313  00020DAC    fe 08 effffffda9                     callf   $8,_writes
                    322:  314  00020DB3                                   #              writes("cycle: ");
                    323:  315  00020DB3                                         .data   1
                    324:  316  00000ae6 *                                L262:
                    325:  317  00000ae6 *  6379636C653A2000                     .ascii  "cycle: \0"
                    326:  318  00000aee *                                       .text
                    327:  319  00020DB3    dd 8f00000ae6                        pushl   $L262
                    328:  320  00020DB9    fe 08 effffffd9c                     callf   $8,_writes
                    329:  321  00020DC0                                   #              writed( cycle );
                    330:  322  00020DC0    dd effffffd96                        pushl   _cycle
                    331:  323  00020DC6    fe 08 effffffd8f                     callf   $8,_writed
                    332:  324  00020DCD                                   #              writes("   EXPF test ");
                    333:  325  00020DCD                                         .data   1
                    334:  326  00000aee *                                L263:
                    335:  327  00000aee *  2020204558504620746573742            .ascii  "   EXPF test \0"
                    336:                   000
                    337:  328  00000afc *                                       .text
                    338:  329  00020DCD    dd 8f00000aee                        pushl   $L263
                    339:  330  00020DD3    fe 08 effffffd82                     callf   $8,_writes
                    340:  331  00020DDA                                   #              writed( test_no );
                    341:  332  00020DDA    dd effffffd7c                        pushl   _test_no
                    342:  333  00020DE0    fe 08 effffffd75                     callf   $8,_writed
                    343:  334  00020DE7                                   #              writes(", subtest 2 (immediate store) - BAD FINAL ACC\n");
                    344:  335  00020DE7                                         .data   1
                    345:  336  00000afc *                                L264:
                    346:  337  00000afc *  2C20737562746573742032202            .ascii  ", subtest 2 (immediate store) - BAD FINAL ACC\12\0"
                    347:                   8696D6D656469617465207374
                    348:                   6F726529202D2042414420464
                    349:                   94E414C204143430A00
                    350:  338  00000b2b *                                       .text
                    351:  339  00020DE7    dd 8f00000afc                        pushl   $L264
                    352:  340  00020DED    fe 08 effffffd68                     callf   $8,_writes
                    353:  341  00020DF4                                   #              print_expf_data();
                    354:  342  00020DF4    fe 04 ef000006db                     callf   $4,_print_expf_data
                    355:  343  00020DFB                                   #                  writes(",  data index = ");
                    356:  344  00020DFB                                         .data   1
                    357:  345  00000b2b *                                L265:
                    358:  346  00000b2b *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                    359:                   8203D2000
                    360:  347  00000b3c *                                       .text
                    361:  348  00020DFB    dd 8f00000b2b                        pushl   $L265
                    362:  349  00020E01    fe 08 effffffd54                     callf   $8,_writes
                    363:  350  00020E08                                   #                  writed( index );
                    364:  351  00020E08    dd effffffd4e                        pushl   _index
                    365:  352  00020E0E    fe 08 effffffd47                     callf   $8,_writed
                    366:  353  00020E15                                   #                  writec('\n');
                    367:  354  00020E15    dd 0a                                pushl   $10
                    368:  355  00020E17    fe 08 effffffd3e                     callf   $8,_writec
                    369:  356  00020E1E                                   #                  writes("                      Acc expected = ");
                    370:  357  00020E1E                                         .data   1
                    371:  358  00000b3c *                                L266:
                    372:  359  00000b3c *  2020202020202020202020202            .ascii  "                      Acc expected = \0"
                    373:                   0202020202020202020416363
                    374:                   206578706563746564203D200
                    375:                   0
                    376:  360  00000b62 *                                       .text
                    377:  361  00020E1E    dd 8f00000b3c                        pushl   $L266
                    378:  362  00020E24    fe 08 effffffd31                     callf   $8,_writes
                    379:  363  00020E2B                                   #                  write32h( sgl_expected );
                    380:  364  00020E2B    dd effffffd2b                        pushl   _sgl_expected
                    381:  365  00020E31    fe 08 effffffd24                     callf   $8,_write32h
                    382:  366  00020E38                                   #                  writec('\n');
                    383:  367  00020E38    dd 0a                                pushl   $10
                    384:  368  00020E3A    fe 08 effffffd1b                     callf   $8,_writec
                    385:  369  00020E41                                   #               }
                    386:  370  00020E41                                   #               if ( halt_flg )                       /* halt on error?        */
                    387:  371  00020E41                                  L260:
                    388:  372  00020E41    5d effffffd15                        tstl    _halt_flg
                    389:  373  00020E47    31 09                                jeql    L267
                    390:  374  00020E49                                   #              expf_er_halt( BAD_ACC_HLT );
                    391:  375  00020E49    dd 01                                pushl   $1
                    392:  376  00020E4B    fe 08 ef000006c0                     callf   $8,_expf_er_halt
                    393:  377  00020E52                                   #               if ( loop_on_err ) 
                    394:  378  00020E52                                  L267:
                    395:  379  00020E52    5d effffffd04                        tstl    _loop_on_err
                    396:  380  00020E58    31 0d                                jeql    L268
                    397:  381  00020E5A                                   #           {
                    398:  382  00020E5A                                   #              force_loop = TRUE;             /* set the force loop flag */
                    399:  383  00020E5A    0d 01 effffffcfb                     movl    $1,_force_loop
                    400:  384  00020E61                                   #              asm("jmp _expf_2_lp1");        /* and loop                */
                    401:  385  00020E61    71 efffffff01                 jmp _expf_2_lp1
                    402:  386  00020E67                                   #           }
                    403:  387  00020E67                                   #        }   /* end of compare error */
                    404:  388  00020E67                                  L268:
                    405:  389  00020E67                                   #     } while( index++ < max_expf_1_index );
                    406:  390  00020E67                                  L259:
                    407:  391  00020E67                                  L256:
                    408:  392  00020E67    0d effffffcef 50                     movl    _index,r0
                    409:  393  00020E6E    6d effffffce8                        incl    _index
                    410:  394  00020E74    1d 50 effffffce1                     cmpl    r0,_max_expf_1_index
                    411:  395  00020E7B    81 03 13 febc                        jlss    L257
                    412:  396  00020E80                                  L255:
                    413:  397  00020E80                                   # }  /* end of subtest 2 */
                    414:  398  00020E80    40                                   ret#2
                    415:  399  00020E81                                         .set    L251,0x0
                    416:  400  00020E81                                  L253:
                    417:  401  00020E81    13 fea5                              jbr     L254
                    418:  402  00020E84                                         .data
                    419:  403  00000a60 *                                       .text
                    420:  404  00020E84                                         .align  1
                    421:  405  00020E84                                         .globl  _expf_3
                    422:  406  00020E84                                  _expf_3:
                    423:  407  00020E84    0000                                 .word   L269
                    424:  408  00020E86                                   #   
                    425:  409  00020E86                                   # 
                    426:  410  00020E86                                   # 
                    427:  411  00020E86                                   # /***************************************************************************
                    428:  412  00020E86                                   # *
                    429:  413  00020E86                                   # *   SUBTEST 3 - REGISTER INTEGRITY WITH THE EXPF FUNCTION 
                    430:  414  00020E86                                   # *
                    431:  415  00020E86                                   # ***************************************************************************/
                    432:  416  00020E86                                   # expf_3() 
                    433:  417  00020E86                                   # {
                    434:  418  00020E86    13 01e1                              jbr     L271
                    435:  419  00020E89                                  L272:
                    436:  420  00020E89                                   #     fill_reg_buf( load_regs );              /* set reg values to load */
                    437:  421  00020E89    dd 8f00000000                        pushl   $_load_regs
                    438:  422  00020E8F    fe 08 effffffcc6                     callf   $8,_fill_reg_buf
                    439:  423  00020E96                                   #     force_loop = FALSE;                     /* clear the LOOP flag */
                    440:  424  00020E96    4d effffffcc0                        clrl    _force_loop
                    441:  425  00020E9C                                   #     subtest = 3;
                    442:  426  00020E9C    0d 03 effffffcb9                     movl    $3,_subtest
                    443:  427  00020EA3                                   #         index = 0;
                    444:  428  00020EA3    4d effffffcb3                        clrl    _index
                    445:  429  00020EA9                                   #     do 
                    446:  430  00020EA9                                  L276:
                    447:  431  00020EA9                                   #     {
                    448:  432  00020EA9                                   #        sgl_ld_acc   = expf_1_data[index].ld;   /* get the operand      */
                    449:  433  00020EA9    0d effffffcad 50                     movl    _index,r0
                    450:  434  00020EB0    48 03 50 50                          shll    $3,r0,r0
                    451:  435  00020EB4    0d e000000000 effffffc9d             movl    _expf_1_data(r0),_sgl_ld_acc
                    452:  436  00020EBF                                   #        sgl_expected = expf_1_data[index].exp;  /* get expected results */
                    453:  437  00020EBF    0d effffffc97 50                     movl    _index,r0
                    454:  438  00020EC6    48 03 50 50                          shll    $3,r0,r0
                    455:  439  00020ECA    0d e000000004 effffffc87             movl    _expf_1_data+4(r0),_sgl_expected
                    456:  440  00020ED5                                   # /*
                    457:  441  00020ED5                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    458:  442  00020ED5                                   #  * The force loop flag is set after the first error.
                    459:  443  00020ED5                                   # */
                    460:  444  00020ED5                                   #        asm("_expf_3_lp1:");
                    461:  445  00020ED5                                  _expf_3_lp1:
                    462:  446  00020ED5                                   #        asm("loadr $0x1fff,_load_regs");     /* load regs 0 - 12 (FP)    */
                    463:  447  00020ED5    ab 891fff effffffc7e          loadr $0x1fff,_load_regs
                    464:  448  00020EDE                                   #        asm("ldf _sgl_ld_acc");              /* load the accumulator     */
                    465:  449  00020EDE    06 effffffc78                 ldf _sgl_ld_acc
                    466:  450  00020EE4                                   #        asm("expf");                         /* get ACC.'s exponent      */
                    467:  451  00020EE4    55                            expf
                    468:  452  00020EE5                                   #        asm("stf _sgl_st_acc");              /* store the result         */
                    469:  453  00020EE5    26 effffffc71                 stf _sgl_st_acc
                    470:  454  00020EEB                                   #        asm("storer $0x1fff,_store_regs");   /* store regs 0 - 12        */
                    471:  455  00020EEB    bb 891fff effffffc68          storer $0x1fff,_store_regs
                    472:  456  00020EF4                                   #            if( force_loop )
                    473:  457  00020EF4    5d effffffc62                        tstl    _force_loop
                    474:  458  00020EFA    31 02                                jeql    L277
                    475:  459  00020EFC                                   #                 asm("brb _expf_3_lp1");;      /* loop on the error     */
                    476:  460  00020EFC    11 d7                         brb _expf_3_lp1
                    477:  461  00020EFE                                  L277:
                    478:  462  00020EFE                                   # /* 
                    479:  463  00020EFE                                   #  * end error loop 
                    480:  464  00020EFE                                   # */
                    481:  465  00020EFE                                   #        reg_no = 0;
                    482:  466  00020EFE    4d effffffc58                        clrl    _reg_no
                    483:  467  00020F04                                   #        regs_ok = TRUE;
                    484:  468  00020F04    0d 01 effffffc51                     movl    $1,_regs_ok
                    485:  469  00020F0B                                   #        while( (reg_no < 13) && (regs_ok) )  /* check 1st 12 regs */
                    486:  470  00020F0B                                  L278:
                    487:  471  00020F0B    1d effffffc4b 0d                     cmpl    _reg_no,$13
                    488:  472  00020F12    81 35                                jgeq    L279
                    489:  473  00020F14    5d effffffc42                        tstl    _regs_ok
                    490:  474  00020F1A    31 2d                                jeql    L279
                    491:  475  00020F1C                                   #           if( store_regs[ reg_no ] == load_regs[ reg_no ] )
                    492:  476  00020F1C    0d effffffc3a 50                     movl    _reg_no,r0
                    493:  477  00020F23    0d effffffc33 51                     movl    _reg_no,r1
                    494:  478  00020F2A    1d 40effffffc2b                      cmpl    _store_regs[r0],_load_regs[r1]
                    495:                   41effffffc25 
                    496:  479  00020F37    21 08                                jneq    L280
                    497:  480  00020F39                                   #               reg_no++;
                    498:  481  00020F39    6d effffffc1d                        incl    _reg_no
                    499:  482  00020F3F                                   #           else
                    500:  483  00020F3F    11 06                                jbr     L281
                    501:  484  00020F41                                  L280:
                    502:  485  00020F41                                   #               regs_ok = FALSE;
                    503:  486  00020F41    4d effffffc15                        clrl    _regs_ok
                    504:  487  00020F47                                  L281:
                    505:  488  00020F47    11 c2                                jbr     L278
                    506:  489  00020F49                                  L279:
                    507:  490  00020F49                                   #        if( !regs_ok )
                    508:  491  00020F49    5d effffffc0d                        tstl    _regs_ok
                    509:  492  00020F4F    31 03 13 00fc                        jneq    L282
                    510:  493  00020F54                                   #        {
                    511:  494  00020F54                                   #           errcnt++;                         /* bump the error count     */
                    512:  495  00020F54    6d effffffc02                        incl    _errcnt
                    513:  496  00020F5A                                   #           if ( prt_error ) 
                    514:  497  00020F5A    5d effffffbfc                        tstl    _prt_error
                    515:  498  00020F60    21 03 13 00eb                        jeql    L283
                    516:  499  00020F65                                   #           {
                    517:  500  00020F65                                   #              writes(" \n");         /* start a new print line   */
                    518:  501  00020F65                                         .data   1
                    519:  502  00000b62 *                                L284:
                    520:  503  00000b62 *  200A00                               .ascii  " \12\0"
                    521:  504  00000b65 *                                       .text
                    522:  505  00020F65    dd 8f00000b62                        pushl   $L284
                    523:  506  00020F6B    fe 08 effffffbea                     callf   $8,_writes
                    524:  507  00020F72                                   #              writes("cycle: ");
                    525:  508  00020F72                                         .data   1
                    526:  509  00000b65 *                                L285:
                    527:  510  00000b65 *  6379636C653A2000                     .ascii  "cycle: \0"
                    528:  511  00000b6d *                                       .text
                    529:  512  00020F72    dd 8f00000b65                        pushl   $L285
                    530:  513  00020F78    fe 08 effffffbdd                     callf   $8,_writes
                    531:  514  00020F7F                                   #              writed( cycle );
                    532:  515  00020F7F    dd effffffbd7                        pushl   _cycle
                    533:  516  00020F85    fe 08 effffffbd0                     callf   $8,_writed
                    534:  517  00020F8C                                   #              writes("   EXPF test ");
                    535:  518  00020F8C                                         .data   1
                    536:  519  00000b6d *                                L286:
                    537:  520  00000b6d *  2020204558504620746573742            .ascii  "   EXPF test \0"
                    538:                   000
                    539:  521  00000b7b *                                       .text
                    540:  522  00020F8C    dd 8f00000b6d                        pushl   $L286
                    541:  523  00020F92    fe 08 effffffbc3                     callf   $8,_writes
                    542:  524  00020F99                                   #              writed( test_no );
                    543:  525  00020F99    dd effffffbbd                        pushl   _test_no
                    544:  526  00020F9F    fe 08 effffffbb6                     callf   $8,_writed
                    545:  527  00020FA6                                   #              writes(", subtest 3 - A REGISTER WAS MODIFIED\n"); {
                    546:  528  00020FA6                                         .data   1
                    547:  529  00000b7b *                                L287:
                    548:  530  00000b7b *  2C20737562746573742033202            .ascii  ", subtest 3 - A REGISTER WAS MODIFIED\12\0"
                    549:                   D204120524547495354455220
                    550:                   574153204D4F4449464945440
                    551:                   A00
                    552:  531  00000ba2 *                                       .text
                    553:  532  00020FA6    dd 8f00000b7b                        pushl   $L287
                    554:  533  00020FAC    fe 08 effffffba9                     callf   $8,_writes
                    555:  534  00020FB3                                   #              print_expf_data();
                    556:  535  00020FB3    fe 04 ef0000051c                     callf   $4,_print_expf_data
                    557:  536  00020FBA                                   #              writec('\n');
                    558:  537  00020FBA    dd 0a                                pushl   $10
                    559:  538  00020FBC    fe 08 effffffb99                     callf   $8,_writec
                    560:  539  00020FC3                                   #              writes("register ");
                    561:  540  00020FC3                                         .data   1
                    562:  541  00000ba2 *                                L288:
                    563:  542  00000ba2 *  72656769737465722000                 .ascii  "register \0"
                    564:  543  00000bac *                                       .text
                    565:  544  00020FC3    dd 8f00000ba2                        pushl   $L288
                    566:  545  00020FC9    fe 08 effffffb8c                     callf   $8,_writes
                    567:  546  00020FD0                                   #                  writed( reg_no );
                    568:  547  00020FD0    dd effffffb86                        pushl   _reg_no
                    569:  548  00020FD6    fe 08 effffffb7f                     callf   $8,_writed
                    570:  549  00020FDD                                   #              writes(" = ");
                    571:  550  00020FDD                                         .data   1
                    572:  551  00000bac *                                L289:
                    573:  552  00000bac *  203D2000                             .ascii  " = \0"
                    574:  553  00000bb0 *                                       .text
                    575:  554  00020FDD    dd 8f00000bac                        pushl   $L289
                    576:  555  00020FE3    fe 08 effffffb72                     callf   $8,_writes
                    577:  556  00020FEA                                   #              write32h( load_regs[reg_no] );
                    578:  557  00020FEA    0d effffffb6c 50                     movl    _reg_no,r0
                    579:  558  00020FF1    dd 40effffffb64                      pushl   _load_regs[r0]
                    580:  559  00020FF8    fe 08 effffffb5d                     callf   $8,_write32h
                    581:  560  00020FFF                                   #              writes(",  should be = ");
                    582:  561  00020FFF                                         .data   1
                    583:  562  00000bb0 *                                L290:
                    584:  563  00000bb0 *  2C202073686F756C642062652            .ascii  ",  should be = \0"
                    585:                   03D2000
                    586:  564  00000bc0 *                                       .text
                    587:  565  00020FFF    dd 8f00000bb0                        pushl   $L290
                    588:  566  00021005    fe 08 effffffb50                     callf   $8,_writes
                    589:  567  0002100C                                   #              write32h( store_regs[reg_no] );
                    590:  568  0002100C    0d effffffb4a 50                     movl    _reg_no,r0
                    591:  569  00021013    dd 40effffffb42                      pushl   _store_regs[r0]
                    592:  570  0002101A    fe 08 effffffb3b                     callf   $8,_write32h
                    593:  571  00021021                                   #              writec('\n');
                    594:  572  00021021    dd 0a                                pushl   $10
                    595:  573  00021023    fe 08 effffffb32                     callf   $8,_writec
                    596:  574  0002102A                                   #           }
                    597:  575  0002102A                                   #           if ( halt_flg )                   /* halt on error?        */
                    598:  576  0002102A    5d effffffb2c                        tstl    _halt_flg
                    599:  577  00021030    31 09                                jeql    L291
                    600:  578  00021032                                   #              expf_er_halt( BAD_REG_HLT );
                    601:  579  00021032    dd 02                                pushl   $2
                    602:  580  00021034    fe 08 ef000004d7                     callf   $8,_expf_er_halt
                    603:  581  0002103B                                   #           if ( loop_on_err ) 
                    604:  582  0002103B                                  L291:
                    605:  583  0002103B    5d effffffb1b                        tstl    _loop_on_err
                    606:  584  00021041    31 0d                                jeql    L292
                    607:  585  00021043                                   #           {
                    608:  586  00021043                                   #              force_loop = TRUE;             /* get the force loop flag */
                    609:  587  00021043    0d 01 effffffb12                     movl    $1,_force_loop
                    610:  588  0002104A                                   #              asm("jmp _expf_3_lp1");        /* and loop                */
                    611:  589  0002104A    71 effffffe85                 jmp _expf_3_lp1
                    612:  590  00021050                                   #           }
                    613:  591  00021050                                   #        }   /* end of compare error */
                    614:  592  00021050                                  L292:
                    615:  593  00021050                                   #        } /* end of while loop */
                    616:  594  00021050                                  L283:
                    617:  595  00021050                                   #     } while( index++ < max_expf_1_index );
                    618:  596  00021050                                  L282:
                    619:  597  00021050                                  L275:
                    620:  598  00021050    0d effffffb06 50                     movl    _index,r0
                    621:  599  00021057    6d effffffaff                        incl    _index
                    622:  600  0002105D    1d 50 effffffaf8                     cmpl    r0,_max_expf_1_index
                    623:  601  00021064    81 03 13 fe40                        jlss    L276
                    624:  602  00021069                                  L274:
                    625:  603  00021069                                   # }  /* end of subtest 3 */
                    626:  604  00021069    40                                   ret#2
                    627:  605  0002106A                                         .set    L269,0x0
                    628:  606  0002106A                                  L271:
                    629:  607  0002106A    13 fe1c                              jbr     L272
                    630:  608  0002106D                                         .data
                    631:  609  00000a60 *                                       .text
                    632:  610  0002106D    00                                   .align  1
                    633:  611  0002106E                                         .globl  _expf_4
                    634:  612  0002106E                                  _expf_4:
                    635:  613  0002106E    0000                                 .word   L293
                    636:  614  00021070                                   #   
                    637:  615  00021070                                   # 
                    638:  616  00021070                                   # 
                    639:  617  00021070                                   # /************************************************************************
                    640:  618  00021070                                   # *
                    641:  619  00021070                                   # *       SUBTEST 4 - Check for PSL corruption
                    642:  620  00021070                                   # *
                    643:  621  00021070                                   # ************************************************************************/
                    644:  622  00021070                                   # expf_4() 
                    645:  623  00021070                                   # {
                    646:  624  00021070    13 01a8                              jbr     L295
                    647:  625  00021073                                  L296:
                    648:  626  00021073                                   #         force_loop = FALSE;                     /* clear force_loop flg */
                    649:  627  00021073    4d effffffae3                        clrl    _force_loop
                    650:  628  00021079                                   #         subtest = 4;
                    651:  629  00021079    0d 04 effffffadc                     movl    $4,_subtest
                    652:  630  00021080                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
                    653:  631  00021080    dd 8f00000000                        pushl   $_load_regs
                    654:  632  00021086    fe 08 effffffacf                     callf   $8,_fill_reg_buf
                    655:  633  0002108D                                   #         for( index = 0; index < 3; index++ ) {
                    656:  634  0002108D    4d effffffac9                        clrl    _index
                    657:  635  00021093                                  L299:
                    658:  636  00021093    1d effffffac3 03                     cmpl    _index,$3
                    659:  637  0002109A    91 03 13 017b                        jgeq    L298
                    660:  638  0002109F                                   #              sgl_ld_acc   = expf_1_data[index].ld;    /* get operand 1 */
                    661:  639  0002109F    0d effffffab7 50                     movl    _index,r0
                    662:  640  000210A6    48 03 50 50                          shll    $3,r0,r0
                    663:  641  000210AA    0d e000000000 effffffaa7             movl    _expf_1_data(r0),_sgl_ld_acc
                    664:  642  000210B5                                   #              sgl_expected = expf_1_data[index].exp;   /* get expected  */
                    665:  643  000210B5    0d effffffaa1 50                     movl    _index,r0
                    666:  644  000210BC    48 03 50 50                          shll    $3,r0,r0
                    667:  645  000210C0    0d e000000004 effffffa91             movl    _expf_1_data+4(r0),_sgl_expected
                    668:  646  000210CB                                   #              sgl_dummy1 = status_array[status_index];    /* status = +, -, 0 */
                    669:  647  000210CB    0d effffffa8b 50                     movl    _status_index,r0
                    670:  648  000210D2    0d 40effffffa83                      movl    _status_array[r0],_sgl_dummy1
                    671:                   effffffa7e 
                    672:  649  000210DE                                   # /*
                    673:  650  000210DE                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    674:  651  000210DE                                   #  * The force loop flag is set after the first error.
                    675:  652  000210DE                                   # */
                    676:  653  000210DE                                   #              asm("_expf_4_lp1:");
                    677:  654  000210DE                                  _expf_4_lp1:
                    678:  655  000210DE                                   #              asm("ldf _sgl_ld_acc");            /* LOAD the accumulator  */
                    679:  656  000210DE    06 effffffa78                 ldf _sgl_ld_acc
                    680:  657  000210E4                                   #              asm("nop");
                    681:  658  000210E4    10                            nop
                    682:  659  000210E5                                   #              asm("tstl _sgl_dummy1");               /* set the PSL status    */
                    683:  660  000210E5    5d effffffa71                 tstl _sgl_dummy1
                    684:  661  000210EB                                   #          asm("movpsl _init_psl");           /* save the initial PSL  */
                    685:  662  000210EB    cd effffffa6b                 movpsl _init_psl
                    686:  663  000210F1                                   #              asm("expf");                       /* do the expf           */
                    687:  664  000210F1    55                            expf
                    688:  665  000210F2                                   #              asm("nop");
                    689:  666  000210F2    10                            nop
                    690:  667  000210F3                                   #              asm("movpsl _psl_val");            /* save the final PSL    */
                    691:  668  000210F3    cd effffffa63                 movpsl _psl_val
                    692:  669  000210F9                                   #              asm("stf _sgl_st_acc");            /* save the accumulator  */
                    693:  670  000210F9    26 effffffa5d                 stf _sgl_st_acc
                    694:  671  000210FF                                   #              if( force_loop )
                    695:  672  000210FF    5d effffffa57                        tstl    _force_loop
                    696:  673  00021105    31 02                                jeql    L300
                    697:  674  00021107                                   #                   asm("brb _expf_4_lp1");;      /* loop on the error     */
                    698:  675  00021107    11 d5                         brb _expf_4_lp1
                    699:  676  00021109                                  L300:
                    700:  677  00021109                                   # /*
                    701:  678  00021109                                   #  * Now compare the final PSL to the initial PSL -they should be the same
                    702:  679  00021109                                   # */
                    703:  680  00021109                                   #              exp_psl = init_psl;
                    704:  681  00021109    0d effffffa4d effffffa48             movl    _init_psl,_exp_psl
                    705:  682  00021114                                   #          if( psl_val != exp_psl ) {
                    706:  683  00021114    1d effffffa42 effffffa3d             cmpl    _psl_val,_exp_psl
                    707:  684  0002111F    21 03 13 00ed                        jeql    L301
                    708:  685  00021124                                   #                   errcnt++;                     /* bump the error count    */
                    709:  686  00021124    6d effffffa32                        incl    _errcnt
                    710:  687  0002112A                                   #                   if( prt_error ) {
                    711:  688  0002112A    5d effffffa2c                        tstl    _prt_error
                    712:  689  00021130    21 03 13 00b9                        jeql    L302
                    713:  690  00021135                                   #                        writes(" \n");      /* start a new print line  */
                    714:  691  00021135                                         .data   1
                    715:  692  00000bc0 *                                L303:
                    716:  693  00000bc0 *  200A00                               .ascii  " \12\0"
                    717:  694  00000bc3 *                                       .text
                    718:  695  00021135    dd 8f00000bc0                        pushl   $L303
                    719:  696  0002113B    fe 08 effffffa1a                     callf   $8,_writes
                    720:  697  00021142                                   #                        writes("cycle: ");
                    721:  698  00021142                                         .data   1
                    722:  699  00000bc3 *                                L304:
                    723:  700  00000bc3 *  6379636C653A2000                     .ascii  "cycle: \0"
                    724:  701  00000bcb *                                       .text
                    725:  702  00021142    dd 8f00000bc3                        pushl   $L304
                    726:  703  00021148    fe 08 effffffa0d                     callf   $8,_writes
                    727:  704  0002114F                                   #                        writed( cycle );
                    728:  705  0002114F    dd effffffa07                        pushl   _cycle
                    729:  706  00021155    fe 08 effffffa00                     callf   $8,_writed
                    730:  707  0002115C                                   #                    writes("   EXPF test ");
                    731:  708  0002115C                                         .data   1
                    732:  709  00000bcb *                                L305:
                    733:  710  00000bcb *  2020204558504620746573742            .ascii  "   EXPF test \0"
                    734:                   000
                    735:  711  00000bd9 *                                       .text
                    736:  712  0002115C    dd 8f00000bcb                        pushl   $L305
                    737:  713  00021162    fe 08 effffff9f3                     callf   $8,_writes
                    738:  714  00021169                                   #                    writed( test_no );
                    739:  715  00021169    dd effffff9ed                        pushl   _test_no
                    740:  716  0002116F    fe 08 effffff9e6                     callf   $8,_writed
                    741:  717  00021176                                   #                        writes(", subtest 4 - INCORRECT FINAL PSL\n");
                    742:  718  00021176                                         .data   1
                    743:  719  00000bd9 *                                L306:
                    744:  720  00000bd9 *  2C20737562746573742034202            .ascii  ", subtest 4 - INCORRECT FINAL PSL\12\0"
                    745:                   D20494E434F52524543542046
                    746:                   494E414C2050534C0A00
                    747:  721  00000bfc *                                       .text
                    748:  722  00021176    dd 8f00000bd9                        pushl   $L306
                    749:  723  0002117C    fe 08 effffff9d9                     callf   $8,_writes
                    750:  724  00021183                                   #                        print_expf_data();       /* print the operands      */
                    751:  725  00021183    fe 04 ef0000034c                     callf   $4,_print_expf_data
                    752:  726  0002118A                                   #                    writec('\n');
                    753:  727  0002118A    dd 0a                                pushl   $10
                    754:  728  0002118C    fe 08 effffff9c9                     callf   $8,_writec
                    755:  729  00021193                                   #                        writes("initial PSL = ");
                    756:  730  00021193                                         .data   1
                    757:  731  00000bfc *                                L307:
                    758:  732  00000bfc *  696E697469616C2050534C203            .ascii  "initial PSL = \0"
                    759:                   D2000
                    760:  733  00000c0b *                                       .text
                    761:  734  00021193    dd 8f00000bfc                        pushl   $L307
                    762:  735  00021199    fe 08 effffff9bc                     callf   $8,_writes
                    763:  736  000211A0                                   #                        write32h( init_psl );
                    764:  737  000211A0    dd effffff9b6                        pushl   _init_psl
                    765:  738  000211A6    fe 08 effffff9af                     callf   $8,_write32h
                    766:  739  000211AD                                   #                        writes(",  final PSL = ");
                    767:  740  000211AD                                         .data   1
                    768:  741  00000c0b *                                L308:
                    769:  742  00000c0b *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
                    770:                   03D2000
                    771:  743  00000c1b *                                       .text
                    772:  744  000211AD    dd 8f00000c0b                        pushl   $L308
                    773:  745  000211B3    fe 08 effffff9a2                     callf   $8,_writes
                    774:  746  000211BA                                   #                        write32h( psl_val );
                    775:  747  000211BA    dd effffff99c                        pushl   _psl_val
                    776:  748  000211C0    fe 08 effffff995                     callf   $8,_write32h
                    777:  749  000211C7                                   #                        writes(",  expected PSL = ");
                    778:  750  000211C7                                         .data   1
                    779:  751  00000c1b *                                L309:
                    780:  752  00000c1b *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
                    781:                   0534C203D2000
                    782:  753  00000c2e *                                       .text
                    783:  754  000211C7    dd 8f00000c1b                        pushl   $L309
                    784:  755  000211CD    fe 08 effffff988                     callf   $8,_writes
                    785:  756  000211D4                                   #                        write32h( exp_psl );
                    786:  757  000211D4    dd effffff982                        pushl   _exp_psl
                    787:  758  000211DA    fe 08 effffff97b                     callf   $8,_write32h
                    788:  759  000211E1                                   #                        writes("\n");
                    789:  760  000211E1                                         .data   1
                    790:  761  00000c2e *                                L310:
                    791:  762  00000c2e *  0A00                                 .ascii  "\12\0"
                    792:  763  00000c30 *                                       .text
                    793:  764  000211E1    dd 8f00000c2e                        pushl   $L310
                    794:  765  000211E7    fe 08 effffff96e                     callf   $8,_writes
                    795:  766  000211EE                                   #                   }
                    796:  767  000211EE                                   #                   if( halt_flg )   
                    797:  768  000211EE                                  L302:
                    798:  769  000211EE    5d effffff968                        tstl    _halt_flg
                    799:  770  000211F4    31 09                                jeql    L311
                    800:  771  000211F6                                   #                        expf_er_halt( BAD_PSL_HLT );   /* halt on the error */
                    801:  772  000211F6    dd 03                                pushl   $3
                    802:  773  000211F8    fe 08 ef00000313                     callf   $8,_expf_er_halt
                    803:  774  000211FF                                   #                    if( loop_on_err ) {
                    804:  775  000211FF                                  L311:
                    805:  776  000211FF    5d effffff957                        tstl    _loop_on_err
                    806:  777  00021205    31 0a                                jeql    L312
                    807:  778  00021207                                   #                         force_loop = TRUE;        /* set the force loop flag */
                    808:  779  00021207    0d 01 effffff94e                     movl    $1,_force_loop
                    809:  780  0002120E                                   #                         asm("brw _expf_4_lp1");;  /* and loop on the error   */
                    810:  781  0002120E    13 fecd                       brw _expf_4_lp1
                    811:  782  00021211                                   #                    }  /* end of loop on error */
                    812:  783  00021211                                   #              }  /* end of PSL corruption error */
                    813:  784  00021211                                  L312:
                    814:  785  00021211                                   #         }  /* end of WHILE loop */
                    815:  786  00021211                                  L301:
                    816:  787  00021211                                  L297:
                    817:  788  00021211    6d effffff945                        incl    _index
                    818:  789  00021217    13 fe79                              jbr     L299
                    819:  790  0002121A                                  L298:
                    820:  791  0002121A                                   # }  /* end of subtest 4 */
                    821:  792  0002121A    40                                   ret#2
                    822:  793  0002121B                                         .set    L293,0x0
                    823:  794  0002121B                                  L295:
                    824:  795  0002121B    13 fe55                              jbr     L296
                    825:  796  0002121E                                         .data
                    826:  797  00000a60 *                                       .text
                    827:  798  0002121E                                         .align  1
                    828:  799  0002121E                                         .globl  _expf_5
                    829:  800  0002121E                                  _expf_5:
                    830:  801  0002121E    0000                                 .word   L313
                    831:  802  00021220                                   #  
                    832:  803  00021220                                   # 
                    833:  804  00021220                                   # 
                    834:  805  00021220                                   # /************************************************************************
                    835:  806  00021220                                   # *
                    836:  807  00021220                                   # *               SUBTEST 5 - pipelined entry test
                    837:  808  00021220                                   # *
                    838:  809  00021220                                   # ************************************************************************/
                    839:  810  00021220                                   # expf_5() 
                    840:  811  00021220                                   # {
                    841:  812  00021220    13 0154                              jbr     L315
                    842:  813  00021223                                  L316:
                    843:  814  00021223                                   #         force_loop = FALSE;
                    844:  815  00021223    4d effffff933                        clrl    _force_loop
                    845:  816  00021229                                   #         subtest = 8;
                    846:  817  00021229    0d 08 effffff92c                     movl    $8,_subtest
                    847:  818  00021230                                   #         for( index = 0; index < max_expf_1_index; index++ ) {
                    848:  819  00021230    4d effffff926                        clrl    _index
                    849:  820  00021236                                  L319:
                    850:  821  00021236    1d effffff920 effffff91b             cmpl    _index,_max_expf_1_index
                    851:  822  00021241    91 03 13 0130                        jgeq    L318
                    852:  823  00021246                                   #              sgl_ld_acc   = expf_1_data[index].ld;   /* get operand 1       */
                    853:  824  00021246    0d effffff910 50                     movl    _index,r0
                    854:  825  0002124D    48 03 50 50                          shll    $3,r0,r0
                    855:  826  00021251    0d e000000000 effffff900             movl    _expf_1_data(r0),_sgl_ld_acc
                    856:  827  0002125C                                   #              sgl_expected = expf_1_data[index].exp;  /* get expected result */
                    857:  828  0002125C    0d effffff8fa 50                     movl    _index,r0
                    858:  829  00021263    48 03 50 50                          shll    $3,r0,r0
                    859:  830  00021267    0d e000000004 effffff8ea             movl    _expf_1_data+4(r0),_sgl_expected
                    860:  831  00021272                                   # /*
                    861:  832  00021272                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    862:  833  00021272                                   #  * The force loop flag is set after the first error.
                    863:  834  00021272                                   # */
                    864:  835  00021272                                   #              asm("_expf_5_lp1:");
                    865:  836  00021272                                  _expf_5_lp1:
                    866:  837  00021272                                   #              asm("movl $0,r0");                 /* clear r0                */
                    867:  838  00021272    0d 00 50                      movl $0,r0
                    868:  839  00021275                                   #              asm("ldf r0");                     /* load the Acc. with 0.0  */
                    869:  840  00021275    06 50                         ldf r0
                    870:  841  00021277                                   #              asm("addf _sgl_ld_acc");           /* add the 1st operand     */
                    871:  842  00021277    c6 effffff8df                 addf _sgl_ld_acc
                    872:  843  0002127D                                   #              asm("expf");                       /* get the expf            */
                    873:  844  0002127D    55                            expf
                    874:  845  0002127E                                   #              asm("stf _sgl_st_acc");            /* store the result        */
                    875:  846  0002127E    26 effffff8d8                 stf _sgl_st_acc
                    876:  847  00021284                                   #              if( force_loop )
                    877:  848  00021284    5d effffff8d2                        tstl    _force_loop
                    878:  849  0002128A    31 02                                jeql    L320
                    879:  850  0002128C                                   #                   asm("brb _expf_5_lp1");;      /* loop on the error       */
                    880:  851  0002128C    11 e4                         brb _expf_5_lp1
                    881:  852  0002128E                                  L320:
                    882:  853  0002128E                                   # /* 
                    883:  854  0002128E                                   #  * end error loop - test the results
                    884:  855  0002128E                                   # */
                    885:  856  0002128E                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                    886:  857  0002128E    1d effffff8c8 effffff8c3             cmpl    _sgl_st_acc,_sgl_expected
                    887:  858  00021299    21 03 13 00cf                        jeql    L321
                    888:  859  0002129E                                   #                    errcnt++;                    /* bump the error count   */
                    889:  860  0002129E    6d effffff8b8                        incl    _errcnt
                    890:  861  000212A4                                   #                    if( prt_error ) {
                    891:  862  000212A4    5d effffff8b2                        tstl    _prt_error
                    892:  863  000212AA    21 03 13 009b                        jeql    L322
                    893:  864  000212AF                                   #                         writes(" \n");      /* start a new print line */
                    894:  865  000212AF                                         .data   1
                    895:  866  00000c30 *                                L323:
                    896:  867  00000c30 *  200A00                               .ascii  " \12\0"
                    897:  868  00000c33 *                                       .text
                    898:  869  000212AF    dd 8f00000c30                        pushl   $L323
                    899:  870  000212B5    fe 08 effffff8a0                     callf   $8,_writes
                    900:  871  000212BC                                   #                         writes("cycle: ");
                    901:  872  000212BC                                         .data   1
                    902:  873  00000c33 *                                L324:
                    903:  874  00000c33 *  6379636C653A2000                     .ascii  "cycle: \0"
                    904:  875  00000c3b *                                       .text
                    905:  876  000212BC    dd 8f00000c33                        pushl   $L324
                    906:  877  000212C2    fe 08 effffff893                     callf   $8,_writes
                    907:  878  000212C9                                   #                         writed( cycle );
                    908:  879  000212C9    dd effffff88d                        pushl   _cycle
                    909:  880  000212CF    fe 08 effffff886                     callf   $8,_writed
                    910:  881  000212D6                                   #                     writes("   EXPF test ");
                    911:  882  000212D6                                         .data   1
                    912:  883  00000c3b *                                L325:
                    913:  884  00000c3b *  2020204558504620746573742            .ascii  "   EXPF test \0"
                    914:                   000
                    915:  885  00000c49 *                                       .text
                    916:  886  000212D6    dd 8f00000c3b                        pushl   $L325
                    917:  887  000212DC    fe 08 effffff879                     callf   $8,_writes
                    918:  888  000212E3                                   #                     writed( test_no );
                    919:  889  000212E3    dd effffff873                        pushl   _test_no
                    920:  890  000212E9    fe 08 effffff86c                     callf   $8,_writed
                    921:  891  000212F0                                   #                         writes(", subtest 5 (Piped Entry) - BAD FINAL ACC\n");
                    922:  892  000212F0                                         .data   1
                    923:  893  00000c49 *                                L326:
                    924:  894  00000c49 *  2C20737562746573742035202            .ascii  ", subtest 5 (Piped Entry) - BAD FINAL ACC\12\0"
                    925:                   8506970656420456E74727929
                    926:                   202D204241442046494E414C2
                    927:                   04143430A00
                    928:  895  00000c74 *                                       .text
                    929:  896  000212F0    dd 8f00000c49                        pushl   $L326
                    930:  897  000212F6    fe 08 effffff85f                     callf   $8,_writes
                    931:  898  000212FD                                   #                         print_expf_data();
                    932:  899  000212FD    fe 04 ef000001d2                     callf   $4,_print_expf_data
                    933:  900  00021304                                   #                         writes(",  data index = ");
                    934:  901  00021304                                         .data   1
                    935:  902  00000c74 *                                L327:
                    936:  903  00000c74 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                    937:                   8203D2000
                    938:  904  00000c85 *                                       .text
                    939:  905  00021304    dd 8f00000c74                        pushl   $L327
                    940:  906  0002130A    fe 08 effffff84b                     callf   $8,_writes
                    941:  907  00021311                                   #                         writed( index );
                    942:  908  00021311    dd effffff845                        pushl   _index
                    943:  909  00021317    fe 08 effffff83e                     callf   $8,_writed
                    944:  910  0002131E                                   #                         writec('\n');
                    945:  911  0002131E    dd 0a                                pushl   $10
                    946:  912  00021320    fe 08 effffff835                     callf   $8,_writec
                    947:  913  00021327                                   #                         writes("                      Acc expected = ");
                    948:  914  00021327                                         .data   1
                    949:  915  00000c85 *                                L328:
                    950:  916  00000c85 *  2020202020202020202020202            .ascii  "                      Acc expected = \0"
                    951:                   0202020202020202020416363
                    952:                   206578706563746564203D200
                    953:                   0
                    954:  917  00000cab *                                       .text
                    955:  918  00021327    dd 8f00000c85                        pushl   $L328
                    956:  919  0002132D    fe 08 effffff828                     callf   $8,_writes
                    957:  920  00021334                                   #                         write32h( sgl_expected );
                    958:  921  00021334    dd effffff822                        pushl   _sgl_expected
                    959:  922  0002133A    fe 08 effffff81b                     callf   $8,_write32h
                    960:  923  00021341                                   #                         writec('\n');
                    961:  924  00021341    dd 0a                                pushl   $10
                    962:  925  00021343    fe 08 effffff812                     callf   $8,_writec
                    963:  926  0002134A                                   #                    }
                    964:  927  0002134A                                   #                    if( halt_flg ) 
                    965:  928  0002134A                                  L322:
                    966:  929  0002134A    5d effffff80c                        tstl    _halt_flg
                    967:  930  00021350    31 09                                jeql    L329
                    968:  931  00021352                                   #                         expf_er_halt( BAD_ACC_HLT );    /* halt on the error */
                    969:  932  00021352    dd 01                                pushl   $1
                    970:  933  00021354    fe 08 ef000001b7                     callf   $8,_expf_er_halt
                    971:  934  0002135B                                   #                    if( loop_on_err ) {
                    972:  935  0002135B                                  L329:
                    973:  936  0002135B    5d effffff7fb                        tstl    _loop_on_err
                    974:  937  00021361    31 0a                                jeql    L330
                    975:  938  00021363                                   #                         force_loop = TRUE;        /* set the force loop flag */
                    976:  939  00021363    0d 01 effffff7f2                     movl    $1,_force_loop
                    977:  940  0002136A                                   #                         asm("brw _expf_5_lp1");;  /* and loop on the error   */
                    978:  941  0002136A    13 ff05                       brw _expf_5_lp1
                    979:  942  0002136D                                   #                    }  /* end of loop on error */
                    980:  943  0002136D                                   #              }   /* end of compare error */
                    981:  944  0002136D                                  L330:
                    982:  945  0002136D                                   #         }  /* end of WHILE loop */
                    983:  946  0002136D                                  L321:
                    984:  947  0002136D                                  L317:
                    985:  948  0002136D    6d effffff7e9                        incl    _index
                    986:  949  00021373    13 fec0                              jbr     L319
                    987:  950  00021376                                  L318:
                    988:  951  00021376                                   # }  /* end of subtest 5 */
                    989:  952  00021376    40                                   ret#2
                    990:  953  00021377                                         .set    L313,0x0
                    991:  954  00021377                                  L315:
                    992:  955  00021377    13 fea9                              jbr     L316
                    993:  956  0002137A                                         .data
                    994:  957  00000a60 *                                       .text
                    995:  958  0002137A                                         .align  1
                    996:  959  0002137A                                         .globl  _expf_6
                    997:  960  0002137A                                  _expf_6:
                    998:  961  0002137A    0000                                 .word   L331
                    999:  962  0002137C                                   #   
                   1000:  963  0002137C                                   # 
                   1001:  964  0002137C                                   # 
                   1002:  965  0002137C                                   # /************************************************************************
                   1003:  966  0002137C                                   # *
                   1004:  967  0002137C                                   # *               SUBTEST 6 - pipelined exit test
                   1005:  968  0002137C                                   # *
                   1006:  969  0002137C                                   # ************************************************************************/
                   1007:  970  0002137C                                   # expf_6() 
                   1008:  971  0002137C                                   # {
                   1009:  972  0002137C    13 0154                              jbr     L333
                   1010:  973  0002137F                                  L334:
                   1011:  974  0002137F                                   #         force_loop = FALSE;
                   1012:  975  0002137F    4d effffff7d7                        clrl    _force_loop
                   1013:  976  00021385                                   #         subtest = 8;
                   1014:  977  00021385    0d 08 effffff7d0                     movl    $8,_subtest
                   1015:  978  0002138C                                   #         for( index = 0; index < max_expf_1_index; index++ ) {
                   1016:  979  0002138C    4d effffff7ca                        clrl    _index
                   1017:  980  00021392                                  L337:
                   1018:  981  00021392    1d effffff7c4 effffff7bf             cmpl    _index,_max_expf_1_index
                   1019:  982  0002139D    91 03 13 0130                        jgeq    L336
                   1020:  983  000213A2                                   #              sgl_ld_acc   = expf_1_data[index].ld;   /* get operand 1       */
                   1021:  984  000213A2    0d effffff7b4 50                     movl    _index,r0
                   1022:  985  000213A9    48 03 50 50                          shll    $3,r0,r0
                   1023:  986  000213AD    0d e000000000 effffff7a4             movl    _expf_1_data(r0),_sgl_ld_acc
                   1024:  987  000213B8                                   #              sgl_expected = expf_1_data[index].exp;  /* get expected result */
                   1025:  988  000213B8    0d effffff79e 50                     movl    _index,r0
                   1026:  989  000213BF    48 03 50 50                          shll    $3,r0,r0
                   1027:  990  000213C3    0d e000000004 effffff78e             movl    _expf_1_data+4(r0),_sgl_expected
                   1028:  991  000213CE                                   # /*
                   1029:  992  000213CE                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                   1030:  993  000213CE                                   #  * The force loop flag is set after the first error.
                   1031:  994  000213CE                                   # */
                   1032:  995  000213CE                                   #              asm("_expf_6_lp1:");
                   1033:  996  000213CE                                  _expf_6_lp1:
                   1034:  997  000213CE                                   #              asm("movl $0,r0");                 /* clear r0                */
                   1035:  998  000213CE    0d 00 50                      movl $0,r0
                   1036:  999  000213D1                                   #              asm("ldf _sgl_ld_acc");             /* load the Acc.           */
                   1037: 1000  000213D1    06 effffff785                 ldf _sgl_ld_acc
                   1038: 1001  000213D7                                   #              asm("expf");                       /* get the expf            */
                   1039: 1002  000213D7    55                            expf
                   1040: 1003  000213D8                                   #              asm("addf r0");                    /* add a zero to the acc   */
                   1041: 1004  000213D8    c6 50                         addf r0
                   1042: 1005  000213DA                                   #              asm("stf _sgl_st_acc");            /* store the result        */
                   1043: 1006  000213DA    26 effffff77c                 stf _sgl_st_acc
                   1044: 1007  000213E0                                   #              if( force_loop )
                   1045: 1008  000213E0    5d effffff776                        tstl    _force_loop
                   1046: 1009  000213E6    31 02                                jeql    L338
                   1047: 1010  000213E8                                   #                   asm("brb _expf_6_lp1");;      /* loop on the error       */
                   1048: 1011  000213E8    11 e4                         brb _expf_6_lp1
                   1049: 1012  000213EA                                  L338:
                   1050: 1013  000213EA                                   # /* 
                   1051: 1014  000213EA                                   #  * end error loop - test the results
                   1052: 1015  000213EA                                   # */
                   1053: 1016  000213EA                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                   1054: 1017  000213EA    1d effffff76c effffff767             cmpl    _sgl_st_acc,_sgl_expected
                   1055: 1018  000213F5    21 03 13 00cf                        jeql    L339
                   1056: 1019  000213FA                                   #                    errcnt++;                    /* bump the error count   */
                   1057: 1020  000213FA    6d effffff75c                        incl    _errcnt
                   1058: 1021  00021400                                   #                    if( prt_error ) {
                   1059: 1022  00021400    5d effffff756                        tstl    _prt_error
                   1060: 1023  00021406    21 03 13 009b                        jeql    L340
                   1061: 1024  0002140B                                   #                         writes(" \n");      /* start a new print line */
                   1062: 1025  0002140B                                         .data   1
                   1063: 1026  00000cab *                                L341:
                   1064: 1027  00000cab *  200A00                               .ascii  " \12\0"
                   1065: 1028  00000cae *                                       .text
                   1066: 1029  0002140B    dd 8f00000cab                        pushl   $L341
                   1067: 1030  00021411    fe 08 effffff744                     callf   $8,_writes
                   1068: 1031  00021418                                   #                         writes("cycle: ");
                   1069: 1032  00021418                                         .data   1
                   1070: 1033  00000cae *                                L342:
                   1071: 1034  00000cae *  6379636C653A2000                     .ascii  "cycle: \0"
                   1072: 1035  00000cb6 *                                       .text
                   1073: 1036  00021418    dd 8f00000cae                        pushl   $L342
                   1074: 1037  0002141E    fe 08 effffff737                     callf   $8,_writes
                   1075: 1038  00021425                                   #                         writed( cycle );
                   1076: 1039  00021425    dd effffff731                        pushl   _cycle
                   1077: 1040  0002142B    fe 08 effffff72a                     callf   $8,_writed
                   1078: 1041  00021432                                   #                     writes("   EXPF test ");
                   1079: 1042  00021432                                         .data   1
                   1080: 1043  00000cb6 *                                L343:
                   1081: 1044  00000cb6 *  2020204558504620746573742            .ascii  "   EXPF test \0"
                   1082:                   000
                   1083: 1045  00000cc4 *                                       .text
                   1084: 1046  00021432    dd 8f00000cb6                        pushl   $L343
                   1085: 1047  00021438    fe 08 effffff71d                     callf   $8,_writes
                   1086: 1048  0002143F                                   #                     writed( test_no );
                   1087: 1049  0002143F    dd effffff717                        pushl   _test_no
                   1088: 1050  00021445    fe 08 effffff710                     callf   $8,_writed
                   1089: 1051  0002144C                                   #                         writes(", subtest 6 (Piped Exit) - BAD FINAL ACC\n");
                   1090: 1052  0002144C                                         .data   1
                   1091: 1053  00000cc4 *                                L344:
                   1092: 1054  00000cc4 *  2C20737562746573742036202            .ascii  ", subtest 6 (Piped Exit) - BAD FINAL ACC\12\0"
                   1093:                   8506970656420457869742920
                   1094:                   2D204241442046494E414C204
                   1095:                   143430A00
                   1096: 1055  00000cee *                                       .text
                   1097: 1056  0002144C    dd 8f00000cc4                        pushl   $L344
                   1098: 1057  00021452    fe 08 effffff703                     callf   $8,_writes
                   1099: 1058  00021459                                   #                         print_expf_data();
                   1100: 1059  00021459    fe 04 ef00000076                     callf   $4,_print_expf_data
                   1101: 1060  00021460                                   #                         writes(",  data index = ");
                   1102: 1061  00021460                                         .data   1
                   1103: 1062  00000cee *                                L345:
                   1104: 1063  00000cee *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                   1105:                   8203D2000
                   1106: 1064  00000cff *                                       .text
                   1107: 1065  00021460    dd 8f00000cee                        pushl   $L345
                   1108: 1066  00021466    fe 08 effffff6ef                     callf   $8,_writes
                   1109: 1067  0002146D                                   #                         writed( index );
                   1110: 1068  0002146D    dd effffff6e9                        pushl   _index
                   1111: 1069  00021473    fe 08 effffff6e2                     callf   $8,_writed
                   1112: 1070  0002147A                                   #                         writec('\n');
                   1113: 1071  0002147A    dd 0a                                pushl   $10
                   1114: 1072  0002147C    fe 08 effffff6d9                     callf   $8,_writec
                   1115: 1073  00021483                                   #                         writes("                      Acc expected = ");
                   1116: 1074  00021483                                         .data   1
                   1117: 1075  00000cff *                                L346:
                   1118: 1076  00000cff *  2020202020202020202020202            .ascii  "                      Acc expected = \0"
                   1119:                   0202020202020202020416363
                   1120:                   206578706563746564203D200
                   1121:                   0
                   1122: 1077  00000d25 *                                       .text
                   1123: 1078  00021483    dd 8f00000cff                        pushl   $L346
                   1124: 1079  00021489    fe 08 effffff6cc                     callf   $8,_writes
                   1125: 1080  00021490                                   #                         write32h( sgl_expected );
                   1126: 1081  00021490    dd effffff6c6                        pushl   _sgl_expected
                   1127: 1082  00021496    fe 08 effffff6bf                     callf   $8,_write32h
                   1128: 1083  0002149D                                   #                         writec('\n');
                   1129: 1084  0002149D    dd 0a                                pushl   $10
                   1130: 1085  0002149F    fe 08 effffff6b6                     callf   $8,_writec
                   1131: 1086  000214A6                                   #                    }
                   1132: 1087  000214A6                                   #                    if( halt_flg ) 
                   1133: 1088  000214A6                                  L340:
                   1134: 1089  000214A6    5d effffff6b0                        tstl    _halt_flg
                   1135: 1090  000214AC    31 09                                jeql    L347
                   1136: 1091  000214AE                                   #                         expf_er_halt( BAD_ACC_HLT );    /* halt on the error */
                   1137: 1092  000214AE    dd 01                                pushl   $1
                   1138: 1093  000214B0    fe 08 ef0000005b                     callf   $8,_expf_er_halt
                   1139: 1094  000214B7                                   #                    if( loop_on_err ) {
                   1140: 1095  000214B7                                  L347:
                   1141: 1096  000214B7    5d effffff69f                        tstl    _loop_on_err
                   1142: 1097  000214BD    31 0a                                jeql    L348
                   1143: 1098  000214BF                                   #                         force_loop = TRUE;        /* set the force loop flag */
                   1144: 1099  000214BF    0d 01 effffff696                     movl    $1,_force_loop
                   1145: 1100  000214C6                                   #                         asm("brw _expf_6_lp1");;  /* and loop on the error   */
                   1146: 1101  000214C6    13 ff05                       brw _expf_6_lp1
                   1147: 1102  000214C9                                   #                    }  /* end of loop on error */
                   1148: 1103  000214C9                                   #              }   /* end of compare error */
                   1149: 1104  000214C9                                  L348:
                   1150: 1105  000214C9                                   #         }  /* end of WHILE loop */
                   1151: 1106  000214C9                                  L339:
                   1152: 1107  000214C9                                  L335:
                   1153: 1108  000214C9    6d effffff68d                        incl    _index
                   1154: 1109  000214CF    13 fec0                              jbr     L337
                   1155: 1110  000214D2                                  L336:
                   1156: 1111  000214D2                                   # }  /* end of subtest 6 */
                   1157: 1112  000214D2    40                                   ret#2
                   1158: 1113  000214D3                                         .set    L331,0x0
                   1159: 1114  000214D3                                  L333:
                   1160: 1115  000214D3    13 fea9                              jbr     L334
                   1161: 1116  000214D6                                         .data
                   1162: 1117  00000a60 *                                       .text
                   1163: 1118  000214D6                                         .align  1
                   1164: 1119  000214D6                                         .globl  _print_expf_data
                   1165: 1120  000214D6                                  _print_expf_data:
                   1166: 1121  000214D6    0000                                 .word   L349
                   1167: 1122  000214D8                                   #   
                   1168: 1123  000214D8                                   # 
                   1169: 1124  000214D8                                   # 
                   1170: 1125  000214D8                                   # /**************************************************************************
                   1171: 1126  000214D8                                   # *
                   1172: 1127  000214D8                                   # *       PRINT THE DATA AND STORE RESULTS
                   1173: 1128  000214D8                                   # *
                   1174: 1129  000214D8                                   # *  initial Acc = xxxxxxxx,     stored = xxxxxxxx,   data index = xx
                   1175: 1130  000214D8                                   # *                        Acc expected = xxxxxxxx
                   1176: 1131  000214D8                                   # **************************************************************************/
                   1177: 1132  000214D8                                   # print_expf_data()
                   1178: 1133  000214D8                                   # {
                   1179: 1134  000214D8    11 35                                jbr     L351
                   1180: 1135  000214DA                                  L352:
                   1181: 1136  000214DA                                   #         writes("initial Acc = ");
                   1182: 1137  000214DA                                         .data   1
                   1183: 1138  00000d25 *                                L353:
                   1184: 1139  00000d25 *  696E697469616C20416363203            .ascii  "initial Acc = \0"
                   1185:                   D2000
                   1186: 1140  00000d34 *                                       .text
                   1187: 1141  000214DA    dd 8f00000d25                        pushl   $L353
                   1188: 1142  000214E0    fe 08 effffff675                     callf   $8,_writes
                   1189: 1143  000214E7                                   #         write32h( sgl_ld_acc );
                   1190: 1144  000214E7    dd effffff66f                        pushl   _sgl_ld_acc
                   1191: 1145  000214ED    fe 08 effffff668                     callf   $8,_write32h
                   1192: 1146  000214F4                                   #         writes(",  final Acc = ");
                   1193: 1147  000214F4                                         .data   1
                   1194: 1148  00000d34 *                                L354:
                   1195: 1149  00000d34 *  2C202066696E616C204163632            .ascii  ",  final Acc = \0"
                   1196:                   03D2000
                   1197: 1150  00000d44 *                                       .text
                   1198: 1151  000214F4    dd 8f00000d34                        pushl   $L354
                   1199: 1152  000214FA    fe 08 effffff65b                     callf   $8,_writes
                   1200: 1153  00021501                                   #         write32h( sgl_st_acc );
                   1201: 1154  00021501    dd effffff655                        pushl   _sgl_st_acc
                   1202: 1155  00021507    fe 08 effffff64e                     callf   $8,_write32h
                   1203: 1156  0002150E                                   # }
                   1204: 1157  0002150E    40                                   ret#2
                   1205: 1158  0002150F                                         .set    L349,0x0
                   1206: 1159  0002150F                                  L351:
                   1207: 1160  0002150F    11 c9                                jbr     L352
                   1208: 1161  00021511                                         .data
                   1209: 1162  00000a60 *                                       .text
                   1210: 1163  00021511    00                                   .align  1
                   1211: 1164  00021512                                         .globl  _expf_er_halt
                   1212: 1165  00021512                                  _expf_er_halt:
                   1213: 1166  00021512    0000                                 .word   L355
                   1214: 1167  00021514                                   #  
                   1215: 1168  00021514                                   # 
                   1216: 1169  00021514                                   # 
                   1217: 1170  00021514                                   # /**************************************************************************
                   1218: 1171  00021514                                   # *
                   1219: 1172  00021514                                   # *               HALT ON ERROR ROUTINE 
                   1220: 1173  00021514                                   # *
                   1221: 1174  00021514                                   # **************************************************************************/
                   1222: 1175  00021514                                   # expf_er_halt( halt_code )
                   1223: 1176  00021514                                   # int halt_code;
                   1224: 1177  00021514                                   # {
                   1225: 1178  00021514    13 00a0                              jbr     L357
                   1226: 1179  00021517                                  L358:
                   1227: 1180  00021517                                   #         sgl_dummy1 = halt_code;                 /* get the error type    */
                   1228: 1181  00021517    0d ad04 effffff63d                   movl    4(fp),_sgl_dummy1
                   1229: 1182  0002151F                                   #         asm("movl _test_no,r0");                /* r0  = test number     */
                   1230: 1183  0002151F    0d effffff637 50              movl _test_no,r0
                   1231: 1184  00021526                                   #         asm("movl _subtest,r1");                /* r1  = subtest number  */
                   1232: 1185  00021526    0d effffff630 51              movl _subtest,r1
                   1233: 1186  0002152D                                   #         asm("movl _sgl_dummy1,r2");             /* r2  = error code      */
                   1234: 1187  0002152D    0d effffff629 52              movl _sgl_dummy1,r2
                   1235: 1188  00021534                                   #         asm("movl _cycle,r3");                  /* r3  = cycle count     */
                   1236: 1189  00021534    0d effffff622 53              movl _cycle,r3
                   1237: 1190  0002153B                                   #         asm("movl _sgl_ld_acc,r4");             /* r4  = initial data    */
                   1238: 1191  0002153B    0d effffff61b 54              movl _sgl_ld_acc,r4
                   1239: 1192  00021542                                   #         asm("movl _sgl_st_acc,r5");             /* r5  = data stored     */
                   1240: 1193  00021542    0d effffff614 55              movl _sgl_st_acc,r5
                   1241: 1194  00021549                                   #         asm("movl _sgl_expected,r6");           /* r6  = data expected   */
                   1242: 1195  00021549    0d effffff60d 56              movl _sgl_expected,r6
                   1243: 1196  00021550                                   #         asm("movl _index,r7");                  /* r7  = data index      */
                   1244: 1197  00021550    0d effffff606 57              movl _index,r7
                   1245: 1198  00021557                                   #         if( halt_code == BAD_REG_HLT ) {
                   1246: 1199  00021557    1d ad04 02                           cmpl    4(fp),$2
                   1247: 1200  0002155B    21 3d                                jneq    L359
                   1248: 1201  0002155D                                   #              sgl_dummy1 = load_regs[index2];
                   1249: 1202  0002155D    0d effffff5f9 50                     movl    _index2,r0
                   1250: 1203  00021564    0d 40effffff5f1                      movl    _load_regs[r0],_sgl_dummy1
                   1251:                   effffff5ec 
                   1252: 1204  00021570                                   #              sgl_dummy2 = store_regs[index2];
                   1253: 1205  00021570    0d effffff5e6 50                     movl    _index2,r0
                   1254: 1206  00021577    0d 40effffff5de                      movl    _store_regs[r0],_sgl_dummy2
                   1255:                   effffff5d9 
                   1256: 1207  00021583                                   #              asm("movl _index2,r6");            /* r6  = bad register #  */
                   1257: 1208  00021583    0d effffff5d3 56              movl _index2,r6
                   1258: 1209  0002158A                                   #              asm("movl _sgl_dummy2,r7");        /* r7  = actual value    */
                   1259: 1210  0002158A    0d effffff5cc 57              movl _sgl_dummy2,r7
                   1260: 1211  00021591                                   #              asm("movl _sgl_dummy1,r8");        /* r8  = expected value  */
                   1261: 1212  00021591    0d effffff5c5 58              movl _sgl_dummy1,r8
                   1262: 1213  00021598                                   #         } else
                   1263: 1214  00021598    11 1b                                jbr     L360
                   1264: 1215  0002159A                                  L359:
                   1265: 1216  0002159A                                   #           if( halt_code == BAD_PSL_HLT ) {
                   1266: 1217  0002159A    1d ad04 03                           cmpl    4(fp),$3
                   1267: 1218  0002159E    21 15                                jneq    L361
                   1268: 1219  000215A0                                   #              asm("movl _init_psl,r6");          /* r6  = initial PSL     */
                   1269: 1220  000215A0    0d effffff5b6 56              movl _init_psl,r6
                   1270: 1221  000215A7                                   #              asm("movl _psl_val,r7");           /* r7  = final PSL       */
                   1271: 1222  000215A7    0d effffff5af 57              movl _psl_val,r7
                   1272: 1223  000215AE                                   #              asm("movl _exp_psl,r8");           /* r8  = expected PSL    */
                   1273: 1224  000215AE    0d effffff5a8 58              movl _exp_psl,r8
                   1274: 1225  000215B5                                   #         };
                   1275: 1226  000215B5                                  L361:
                   1276: 1227  000215B5                                  L360:
                   1277: 1228  000215B5                                   #         asm("halt");                            /* HALT ...              */
                   1278: 1229  000215B5    00                            halt
                   1279: 1230  000215B6                                   # }  
                   1280: 1231  000215B6    40                                   ret#2
                   1281: 1232  000215B7                                         .set    L355,0x0
                   1282: 1233  000215B7                                  L357:
                   1283: 1234  000215B7    13 ff5d                              jbr     L358
                   1284: 1235  000215BA                                         .data
                   1285: 1235  00042116                                         .data

unix.superglobalmegacorp.com

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