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

1.1       root        1:    1  00000000                                  LL0:
                      2:    2  00000000                                         .data
                      3:    3  00000a58 *                                       .text
                      4:    4  00000000                                         .align  1
                      5:    5  00000000                                         .globl  _cosf
                      6:    6  00000000                                  _cosf:
                      7:    7  00022A78    0000                                 .word   L215
                      8:    8  00022A7A                                   # #include "fpp_defs.h"
                      9:    9  00022A7A                                   # 
                     10:   10  00022A7A                                   # 
                     11:   11  00022A7A                                   # 
                     12:   12  00022A7A                                   # /***************************************************************************
                     13:   13  00022A7A                                   # *
                     14:   14  00022A7A                                   # *   COSF - SINGLE PRECISION FLOATING POINT COSF FUNCTION TEST
                     15:   15  00022A7A                                   # *
                     16:   16  00022A7A                                   # *                   COSF TEST MONITOR
                     17:   17  00022A7A                                   # *
                     18:   18  00022A7A                                   # *****************************************************************************/
                     19:   19  00022A7A                                   # cosf()
                     20:   20  00022A7A                                   # {
                     21:   21  00022A7A    11 48                                jbr     L217
                     22:   22  00022A7C                                  L218:
                     23:   23  00022A7C                                   #     asm(".globl _cosf_t");
                     24:   24  00022A7C                                  .globl _cosf_t
                     25:   25  00022A7C                                   #     asm("_cosf_t:");                        /* entry address            */
                     26:   26  00022A7C                                  _cosf_t:
                     27:   27  00022A7C                                   #     if( ( cycle == 1 ) && ( prt_hdrs ) )    /* print headers on 1st pass */
                     28:   28  00022A7C    1d effffffff6 01                     cmpl    _cycle,$1
                     29:   29  00022A83    21 15                                jneq    L219
                     30:   30  00022A85    5d efffffffed                        tstl    _prt_hdrs
                     31:   31  00022A8B    31 0d                                jeql    L219
                     32:   32  00022A8D                                   #     {
                     33:   33  00022A8D                                   #        writes(" COSF");
                     34:   34  00022A8D                                         .data   1
                     35:   35  00000a58 *                                L221:
                     36:   36  00000a58 *  20434F534600                         .ascii  " COSF\0"
                     37:   37  00000a5e *                                       .text
                     38:   38  00022A8D    dd 8f00000a58                        pushl   $L221
                     39:   39  00022A93    fe 08 efffffffde                     callf   $8,_writes
                     40:   40  00022A9A                                   #     }
                     41:   41  00022A9A                                   #     cosf_1();                               /* test square root w/ delay  */
                     42:   42  00022A9A                                  L219:
                     43:   43  00022A9A    fe 04 ef00000025                     callf   $4,_cosf_1
                     44:   44  00022AA1                                   #     cosf_2();                               /* test square root           */
                     45:   45  00022AA1    fe 04 ef00000190                     callf   $4,_cosf_2
                     46:   46  00022AA8                                   #     cosf_3();                               /* register corruption        */
                     47:   47  00022AA8    fe 04 ef000002e9                     callf   $4,_cosf_3
                     48:   48  00022AAF                                   # /*  cosf_4();                               /* test the PSL               */
                     49:   49  00022AAF                                   #     cosf_5();                               /* pipelined entry            */
                     50:   50  00022AAF    fe 04 ef0000067c                     callf   $4,_cosf_5
                     51:   51  00022AB6                                   #     cosf_6();                               /* pipelined exit             */
                     52:   52  00022AB6    fe 04 ef000007d1                     callf   $4,_cosf_6
                     53:   53  00022ABD                                   #     asm("jmp *return");                     /* return to the test monitor */
                     54:   54  00022ABD    71 ffffffffb5                 jmp *return
                     55:   55  00022AC3                                   # }
                     56:   56  00022AC3    40                                   ret#2
                     57:   57  00022AC4                                         .set    L215,0x0
                     58:   58  00022AC4                                  L217:
                     59:   59  00022AC4    11 b6                                jbr     L218
                     60:   60  00022AC6                                         .data
                     61:   61  00000a58 *                                       .text
                     62:   62  00022AC6                                         .align  1
                     63:   63  00022AC6                                         .globl  _cosf_1
                     64:   64  00022AC6                                  _cosf_1:
                     65:   65  00022AC6    0000                                 .word   L227
                     66:   66  00022AC8                                   # 
                     67:   67  00022AC8                                   # /***************************************************************************
                     68:   68  00022AC8                                   # *
                     69:   69  00022AC8                                   # *   SUBTEST 1 - COSF FUNCTION 
                     70:   70  00022AC8                                   # *
                     71:   71  00022AC8                                   # ***************************************************************************/
                     72:   72  00022AC8                                   # cosf_1() 
                     73:   73  00022AC8                                   # {
                     74:   74  00022AC8    13 016a                              jbr     L229
                     75:   75  00022ACB                                  L230:
                     76:   76  00022ACB                                   # #define DELAY 20            /* wait 40 ticks between COSF and STF */
                     77:   77  00022ACB                                   #     force_loop = FALSE;                        /* clear the LOOP flag */
                     78:   78  00022ACB    4d efffffffa7                        clrl    _force_loop
                     79:   79  00022AD1                                   #     subtest = 1;
                     80:   80  00022AD1    0d 01 efffffffa0                     movl    $1,_subtest
                     81:   81  00022AD8                                   #         index = 0;
                     82:   82  00022AD8    4d efffffff9a                        clrl    _index
                     83:   83  00022ADE                                   #     do 
                     84:   84  00022ADE                                  L233:
                     85:   85  00022ADE                                   #     {
                     86:   86  00022ADE                                   #        sgl_ld_acc   = cosf_1_data[index].ld;   /* get the operand      */
                     87:   87  00022ADE    0d efffffff94 50                     movl    _index,r0
                     88:   88  00022AE5    48 03 50 50                          shll    $3,r0,r0
                     89:   89  00022AE9    0d e000000000 efffffff84             movl    _cosf_1_data(r0),_sgl_ld_acc
                     90:   90  00022AF4                                   #        sgl_expected = cosf_1_data[index].exp;  /* get expected results */
                     91:   91  00022AF4    0d efffffff7e 50                     movl    _index,r0
                     92:   92  00022AFB    48 03 50 50                          shll    $3,r0,r0
                     93:   93  00022AFF    0d e000000004 efffffff6e             movl    _cosf_1_data+4(r0),_sgl_expected
                     94:   94  00022B0A                                   #        sgl_dummy1 = DELAY;
                     95:   95  00022B0A    0d 14 efffffff67                     movl    $20,_sgl_dummy1
                     96:   96  00022B11                                   # /*
                     97:   97  00022B11                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                     98:   98  00022B11                                   #  * The force loop flag is set after the first error.
                     99:   99  00022B11                                   # */
                    100:  100  00022B11                                   #        asm("_cosf_1_lp1:");
                    101:  101  00022B11                                  _cosf_1_lp1:
                    102:  102  00022B11                                   #        asm("movl _sgl_ld_acc,r4");          /* set the data to load     */
                    103:  103  00022B11    0d efffffff61 54              movl _sgl_ld_acc,r4
                    104:  104  00022B18                                   #        asm("ldf r4");                       /* load the accumulator     */
                    105:  105  00022B18    06 54                         ldf r4
                    106:  106  00022B1A                                   #        asm("movl _sgl_dummy1,r0");          /* get the delay factor     */
                    107:  107  00022B1A    0d efffffff58 50              movl _sgl_dummy1,r0
                    108:  108  00022B21                                   #            asm("cosf");                             /* get ACC.'s cosine        */
                    109:  109  00022B21    15                            cosf
                    110:  110  00022B22                                   #        asm("1:");
                    111:  111  00022B22                                  1:
                    112:  112  00022B22                                   #        asm("decl r0");                      /* delay to let the COSF    */
                    113:  113  00022B22    7d 50                         decl r0
                    114:  114  00022B24                                   #        asm("bgtr 1b");                      /*   instruction finish     */
                    115:  115  00022B24    41 fc                         bgtr 1b
                    116:  116  00022B26                                   #        asm("stf r5");                       /* store the result         */
                    117:  117  00022B26    26 55                         stf r5
                    118:  118  00022B28                                   #            if( force_loop )
                    119:  119  00022B28    5d efffffff4a                        tstl    _force_loop
                    120:  120  00022B2E    31 02                                jeql    L234
                    121:  121  00022B30                                   #                 asm("brb _cosf_1_lp1");;      /* loop on the error     */
                    122:  122  00022B30    11 df                         brb _cosf_1_lp1
                    123:  123  00022B32                                  L234:
                    124:  124  00022B32                                   # /* 
                    125:  125  00022B32                                   #  * end error loop 
                    126:  126  00022B32                                   # */
                    127:  127  00022B32                                   #        asm("movl r5,_sgl_st_acc");          /* save the result          */
                    128:  128  00022B32    0d 55 efffffff3f              movl r5,_sgl_st_acc
                    129:  129  00022B39                                   #        if( sgl_st_acc != sgl_expected )     /* COMPARE the values       */
                    130:  130  00022B39    1d efffffff39 efffffff34             cmpl    _sgl_st_acc,_sgl_expected
                    131:  131  00022B44    21 03 13 00d2                        jeql    L235
                    132:  132  00022B49                                   #        {
                    133:  133  00022B49                                   #           errcnt++;                         /* bump the error count     */
                    134:  134  00022B49    6d efffffff29                        incl    _errcnt
                    135:  135  00022B4F                                   #           if ( prt_error ) {
                    136:  136  00022B4F    5d efffffff23                        tstl    _prt_error
                    137:  137  00022B55    21 03 13 009b                        jeql    L236
                    138:  138  00022B5A                                   #              writes(" \n");         /* start a new print line   */
                    139:  139  00022B5A                                         .data   1
                    140:  140  00000a5e *                                L237:
                    141:  141  00000a5e *  200A00                               .ascii  " \12\0"
                    142:  142  00000a61 *                                       .text
                    143:  143  00022B5A    dd 8f00000a5e                        pushl   $L237
                    144:  144  00022B60    fe 08 efffffff11                     callf   $8,_writes
                    145:  145  00022B67                                   #              writes("cycle: ");
                    146:  146  00022B67                                         .data   1
                    147:  147  00000a61 *                                L238:
                    148:  148  00000a61 *  6379636C653A2000                     .ascii  "cycle: \0"
                    149:  149  00000a69 *                                       .text
                    150:  150  00022B67    dd 8f00000a61                        pushl   $L238
                    151:  151  00022B6D    fe 08 efffffff04                     callf   $8,_writes
                    152:  152  00022B74                                   #              writed( cycle );
                    153:  153  00022B74    dd effffffefe                        pushl   _cycle
                    154:  154  00022B7A    fe 08 effffffef7                     callf   $8,_writed
                    155:  155  00022B81                                   #              writes("   COSF test ");
                    156:  156  00022B81                                         .data   1
                    157:  157  00000a69 *                                L240:
                    158:  158  00000a69 *  202020434F534620746573742            .ascii  "   COSF test \0"
                    159:                   000
                    160:  159  00000a77 *                                       .text
                    161:  160  00022B81    dd 8f00000a69                        pushl   $L240
                    162:  161  00022B87    fe 08 effffffeea                     callf   $8,_writes
                    163:  162  00022B8E                                   #              writed( test_no );
                    164:  163  00022B8E    dd effffffee4                        pushl   _test_no
                    165:  164  00022B94    fe 08 effffffedd                     callf   $8,_writed
                    166:  165  00022B9B                                   #              writes(", subtest 1 (delayed store) - BAD FINAL ACC\n");
                    167:  166  00022B9B                                         .data   1
                    168:  167  00000a77 *                                L241:
                    169:  168  00000a77 *  2C20737562746573742031202            .ascii  ", subtest 1 (delayed store) - BAD FINAL ACC\12\0"
                    170:                   864656C617965642073746F72
                    171:                   6529202D204241442046494E4
                    172:                   14C204143430A00
                    173:  169  00000aa4 *                                       .text
                    174:  170  00022B9B    dd 8f00000a77                        pushl   $L241
                    175:  171  00022BA1    fe 08 effffffed0                     callf   $8,_writes
                    176:  172  00022BA8                                   #              print_cosf_data();
                    177:  173  00022BA8    fe 04 ef0000083b                     callf   $4,_print_cosf_data
                    178:  174  00022BAF                                   #                  writes(",  data index = ");
                    179:  175  00022BAF                                         .data   1
                    180:  176  00000aa4 *                                L243:
                    181:  177  00000aa4 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                    182:                   8203D2000
                    183:  178  00000ab5 *                                       .text
                    184:  179  00022BAF    dd 8f00000aa4                        pushl   $L243
                    185:  180  00022BB5    fe 08 effffffebc                     callf   $8,_writes
                    186:  181  00022BBC                                   #                  writed( index );
                    187:  182  00022BBC    dd effffffeb6                        pushl   _index
                    188:  183  00022BC2    fe 08 effffffeaf                     callf   $8,_writed
                    189:  184  00022BC9                                   #                  writec('\n');
                    190:  185  00022BC9    dd 0a                                pushl   $10
                    191:  186  00022BCB    fe 08 effffffea6                     callf   $8,_writec
                    192:  187  00022BD2                                   #                  writes("                      Acc expected = ");
                    193:  188  00022BD2                                         .data   1
                    194:  189  00000ab5 *                                L245:
                    195:  190  00000ab5 *  2020202020202020202020202            .ascii  "                      Acc expected = \0"
                    196:                   0202020202020202020416363
                    197:                   206578706563746564203D200
                    198:                   0
                    199:  191  00000adb *                                       .text
                    200:  192  00022BD2    dd 8f00000ab5                        pushl   $L245
                    201:  193  00022BD8    fe 08 effffffe99                     callf   $8,_writes
                    202:  194  00022BDF                                   #                  write32h( sgl_expected );
                    203:  195  00022BDF    dd effffffe93                        pushl   _sgl_expected
                    204:  196  00022BE5    fe 08 effffffe8c                     callf   $8,_write32h
                    205:  197  00022BEC                                   #                  writec('\n');
                    206:  198  00022BEC    dd 0a                                pushl   $10
                    207:  199  00022BEE    fe 08 effffffe83                     callf   $8,_writec
                    208:  200  00022BF5                                   #               }
                    209:  201  00022BF5                                   #               if ( halt_flg )                       /* halt on error?        */
                    210:  202  00022BF5                                  L236:
                    211:  203  00022BF5    5d effffffe7d                        tstl    _halt_flg
                    212:  204  00022BFB    31 09                                jeql    L247
                    213:  205  00022BFD                                   #              cosf_er_halt( BAD_ACC_HLT );
                    214:  206  00022BFD    dd 01                                pushl   $1
                    215:  207  00022BFF    fe 08 ef00000820                     callf   $8,_cosf_er_halt
                    216:  208  00022C06                                   #               if ( loop_on_err ) 
                    217:  209  00022C06                                  L247:
                    218:  210  00022C06    5d effffffe6c                        tstl    _loop_on_err
                    219:  211  00022C0C    31 0d                                jeql    L249
                    220:  212  00022C0E                                   #           {
                    221:  213  00022C0E                                   #              force_loop = TRUE;             /* set the force loop flag */
                    222:  214  00022C0E    0d 01 effffffe63                     movl    $1,_force_loop
                    223:  215  00022C15                                   #              asm("jmp _cosf_1_lp1");        /* and loop                */
                    224:  216  00022C15    71 effffffef6                 jmp _cosf_1_lp1
                    225:  217  00022C1B                                   #           }
                    226:  218  00022C1B                                   #        }   /* end of compare error */
                    227:  219  00022C1B                                  L249:
                    228:  220  00022C1B                                   #     } while( index++ < max_cosf_1_index );
                    229:  221  00022C1B                                  L235:
                    230:  222  00022C1B                                  L232:
                    231:  223  00022C1B    0d effffffe57 50                     movl    _index,r0
                    232:  224  00022C22    6d effffffe50                        incl    _index
                    233:  225  00022C28    1d 50 effffffe49                     cmpl    r0,_max_cosf_1_index
                    234:  226  00022C2F    81 03 13 feaa                        jlss    L233
                    235:  227  00022C34                                  L231:
                    236:  228  00022C34                                   # }  /* end of subtest 1 */
                    237:  229  00022C34    40                                   ret#2
                    238:  230  00022C35                                         .set    L227,0x0
                    239:  231  00022C35                                  L229:
                    240:  232  00022C35    13 fe93                              jbr     L230
                    241:  233  00022C38                                         .data
                    242:  234  00000a58 *                                       .text
                    243:  235  00022C38                                         .align  1
                    244:  236  00022C38                                         .globl  _cosf_2
                    245:  237  00022C38                                  _cosf_2:
                    246:  238  00022C38    0000                                 .word   L250
                    247:  239  00022C3A                                   #   
                    248:  240  00022C3A                                   # 
                    249:  241  00022C3A                                   # 
                    250:  242  00022C3A                                   # /***************************************************************************
                    251:  243  00022C3A                                   # *
                    252:  244  00022C3A                                   # *   SUBTEST 2 - COSF FUNCTION 
                    253:  245  00022C3A                                   # *
                    254:  246  00022C3A                                   # ***************************************************************************/
                    255:  247  00022C3A                                   # cosf_2() 
                    256:  248  00022C3A                                   # {
                    257:  249  00022C3A    13 0158                              jbr     L252
                    258:  250  00022C3D                                  L253:
                    259:  251  00022C3D                                   #     force_loop = FALSE;                        /* clear the LOOP flag */
                    260:  252  00022C3D    4d effffffe35                        clrl    _force_loop
                    261:  253  00022C43                                   #     subtest = 2;
                    262:  254  00022C43    0d 02 effffffe2e                     movl    $2,_subtest
                    263:  255  00022C4A                                   #         index = 0;
                    264:  256  00022C4A    4d effffffe28                        clrl    _index
                    265:  257  00022C50                                   #     do 
                    266:  258  00022C50                                  L256:
                    267:  259  00022C50                                   #     {
                    268:  260  00022C50                                   #        sgl_ld_acc   = cosf_1_data[index].ld;   /* get the operand      */
                    269:  261  00022C50    0d effffffe22 50                     movl    _index,r0
                    270:  262  00022C57    48 03 50 50                          shll    $3,r0,r0
                    271:  263  00022C5B    0d e000000000 effffffe12             movl    _cosf_1_data(r0),_sgl_ld_acc
                    272:  264  00022C66                                   #        sgl_expected = cosf_1_data[index].exp;  /* get expected results */
                    273:  265  00022C66    0d effffffe0c 50                     movl    _index,r0
                    274:  266  00022C6D    48 03 50 50                          shll    $3,r0,r0
                    275:  267  00022C71    0d e000000004 effffffdfc             movl    _cosf_1_data+4(r0),_sgl_expected
                    276:  268  00022C7C                                   # /*
                    277:  269  00022C7C                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    278:  270  00022C7C                                   #  * The force loop flag is set after the first error.
                    279:  271  00022C7C                                   # */
                    280:  272  00022C7C                                   #        asm("_cosf_2_lp1:");
                    281:  273  00022C7C                                  _cosf_2_lp1:
                    282:  274  00022C7C                                   #        asm("movl _sgl_ld_acc,r4");          /* set the data to load     */
                    283:  275  00022C7C    0d effffffdf6 54              movl _sgl_ld_acc,r4
                    284:  276  00022C83                                   #        asm("ldf r4");                       /* load the accumulator     */
                    285:  277  00022C83    06 54                         ldf r4
                    286:  278  00022C85                                   #            asm("cosf");                             /* get ACC.'s cosine        */
                    287:  279  00022C85    15                            cosf
                    288:  280  00022C86                                   #        asm("stf r5");                       /* store the result         */
                    289:  281  00022C86    26 55                         stf r5
                    290:  282  00022C88                                   #            if( force_loop )
                    291:  283  00022C88    5d effffffdea                        tstl    _force_loop
                    292:  284  00022C8E    31 02                                jeql    L257
                    293:  285  00022C90                                   #                   asm("brb _cosf_2_lp1");;      /* loop on the error     */
                    294:  286  00022C90    11 ea                         brb _cosf_2_lp1
                    295:  287  00022C92                                  L257:
                    296:  288  00022C92                                   # /* 
                    297:  289  00022C92                                   #  * end error loop 
                    298:  290  00022C92                                   # */
                    299:  291  00022C92                                   #        asm("movl r5,_sgl_st_acc");          /* save the result          */
                    300:  292  00022C92    0d 55 effffffddf              movl r5,_sgl_st_acc
                    301:  293  00022C99                                   #        if( sgl_st_acc != sgl_expected )     /* COMPARE the values       */
                    302:  294  00022C99    1d effffffdd9 effffffdd4             cmpl    _sgl_st_acc,_sgl_expected
                    303:  295  00022CA4    21 03 13 00d2                        jeql    L258
                    304:  296  00022CA9                                   #        {
                    305:  297  00022CA9                                   #           errcnt++;                         /* bump the error count     */
                    306:  298  00022CA9    6d effffffdc9                        incl    _errcnt
                    307:  299  00022CAF                                   #           if ( prt_error ) {
                    308:  300  00022CAF    5d effffffdc3                        tstl    _prt_error
                    309:  301  00022CB5    21 03 13 009b                        jeql    L259
                    310:  302  00022CBA                                   #              writes(" \n");         /* start a new print line   */
                    311:  303  00022CBA                                         .data   1
                    312:  304  00000adb *                                L260:
                    313:  305  00000adb *  200A00                               .ascii  " \12\0"
                    314:  306  00000ade *                                       .text
                    315:  307  00022CBA    dd 8f00000adb                        pushl   $L260
                    316:  308  00022CC0    fe 08 effffffdb1                     callf   $8,_writes
                    317:  309  00022CC7                                   #              writes("cycle: ");
                    318:  310  00022CC7                                         .data   1
                    319:  311  00000ade *                                L261:
                    320:  312  00000ade *  6379636C653A2000                     .ascii  "cycle: \0"
                    321:  313  00000ae6 *                                       .text
                    322:  314  00022CC7    dd 8f00000ade                        pushl   $L261
                    323:  315  00022CCD    fe 08 effffffda4                     callf   $8,_writes
                    324:  316  00022CD4                                   #              writed( cycle );
                    325:  317  00022CD4    dd effffffd9e                        pushl   _cycle
                    326:  318  00022CDA    fe 08 effffffd97                     callf   $8,_writed
                    327:  319  00022CE1                                   #              writes("   COSF test ");
                    328:  320  00022CE1                                         .data   1
                    329:  321  00000ae6 *                                L262:
                    330:  322  00000ae6 *  202020434F534620746573742            .ascii  "   COSF test \0"
                    331:                   000
                    332:  323  00000af4 *                                       .text
                    333:  324  00022CE1    dd 8f00000ae6                        pushl   $L262
                    334:  325  00022CE7    fe 08 effffffd8a                     callf   $8,_writes
                    335:  326  00022CEE                                   #              writed( test_no );
                    336:  327  00022CEE    dd effffffd84                        pushl   _test_no
                    337:  328  00022CF4    fe 08 effffffd7d                     callf   $8,_writed
                    338:  329  00022CFB                                   #              writes(", subtest 2 (immediate store) - BAD FINAL ACC\n");
                    339:  330  00022CFB                                         .data   1
                    340:  331  00000af4 *                                L263:
                    341:  332  00000af4 *  2C20737562746573742032202            .ascii  ", subtest 2 (immediate store) - BAD FINAL ACC\12\0"
                    342:                   8696D6D656469617465207374
                    343:                   6F726529202D2042414420464
                    344:                   94E414C204143430A00
                    345:  333  00000b23 *                                       .text
                    346:  334  00022CFB    dd 8f00000af4                        pushl   $L263
                    347:  335  00022D01    fe 08 effffffd70                     callf   $8,_writes
                    348:  336  00022D08                                   #              print_cosf_data();
                    349:  337  00022D08    fe 04 ef000006db                     callf   $4,_print_cosf_data
                    350:  338  00022D0F                                   #                  writes(",  data index = ");
                    351:  339  00022D0F                                         .data   1
                    352:  340  00000b23 *                                L264:
                    353:  341  00000b23 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                    354:                   8203D2000
                    355:  342  00000b34 *                                       .text
                    356:  343  00022D0F    dd 8f00000b23                        pushl   $L264
                    357:  344  00022D15    fe 08 effffffd5c                     callf   $8,_writes
                    358:  345  00022D1C                                   #                  writed( index );
                    359:  346  00022D1C    dd effffffd56                        pushl   _index
                    360:  347  00022D22    fe 08 effffffd4f                     callf   $8,_writed
                    361:  348  00022D29                                   #                  writec('\n');
                    362:  349  00022D29    dd 0a                                pushl   $10
                    363:  350  00022D2B    fe 08 effffffd46                     callf   $8,_writec
                    364:  351  00022D32                                   #                  writes("                      Acc expected = ");
                    365:  352  00022D32                                         .data   1
                    366:  353  00000b34 *                                L265:
                    367:  354  00000b34 *  2020202020202020202020202            .ascii  "                      Acc expected = \0"
                    368:                   0202020202020202020416363
                    369:                   206578706563746564203D200
                    370:                   0
                    371:  355  00000b5a *                                       .text
                    372:  356  00022D32    dd 8f00000b34                        pushl   $L265
                    373:  357  00022D38    fe 08 effffffd39                     callf   $8,_writes
                    374:  358  00022D3F                                   #                  write32h( sgl_expected );
                    375:  359  00022D3F    dd effffffd33                        pushl   _sgl_expected
                    376:  360  00022D45    fe 08 effffffd2c                     callf   $8,_write32h
                    377:  361  00022D4C                                   #                  writec('\n');
                    378:  362  00022D4C    dd 0a                                pushl   $10
                    379:  363  00022D4E    fe 08 effffffd23                     callf   $8,_writec
                    380:  364  00022D55                                   #               }
                    381:  365  00022D55                                   #               if ( halt_flg )                       /* halt on error?        */
                    382:  366  00022D55                                  L259:
                    383:  367  00022D55    5d effffffd1d                        tstl    _halt_flg
                    384:  368  00022D5B    31 09                                jeql    L266
                    385:  369  00022D5D                                   #              cosf_er_halt( BAD_ACC_HLT );
                    386:  370  00022D5D    dd 01                                pushl   $1
                    387:  371  00022D5F    fe 08 ef000006c0                     callf   $8,_cosf_er_halt
                    388:  372  00022D66                                   #               if ( loop_on_err ) 
                    389:  373  00022D66                                  L266:
                    390:  374  00022D66    5d effffffd0c                        tstl    _loop_on_err
                    391:  375  00022D6C    31 0d                                jeql    L267
                    392:  376  00022D6E                                   #           {
                    393:  377  00022D6E                                   #              force_loop = TRUE;             /* set the force loop flag */
                    394:  378  00022D6E    0d 01 effffffd03                     movl    $1,_force_loop
                    395:  379  00022D75                                   #              asm("jmp _cosf_2_lp1");        /* and loop                */
                    396:  380  00022D75    71 efffffff01                 jmp _cosf_2_lp1
                    397:  381  00022D7B                                   #           }
                    398:  382  00022D7B                                   #        }   /* end of compare error */
                    399:  383  00022D7B                                  L267:
                    400:  384  00022D7B                                   #     } while( index++ < max_cosf_1_index );
                    401:  385  00022D7B                                  L258:
                    402:  386  00022D7B                                  L255:
                    403:  387  00022D7B    0d effffffcf7 50                     movl    _index,r0
                    404:  388  00022D82    6d effffffcf0                        incl    _index
                    405:  389  00022D88    1d 50 effffffce9                     cmpl    r0,_max_cosf_1_index
                    406:  390  00022D8F    81 03 13 febc                        jlss    L256
                    407:  391  00022D94                                  L254:
                    408:  392  00022D94                                   # }  /* end of subtest 2 */
                    409:  393  00022D94    40                                   ret#2
                    410:  394  00022D95                                         .set    L250,0x0
                    411:  395  00022D95                                  L252:
                    412:  396  00022D95    13 fea5                              jbr     L253
                    413:  397  00022D98                                         .data
                    414:  398  00000a58 *                                       .text
                    415:  399  00022D98                                         .align  1
                    416:  400  00022D98                                         .globl  _cosf_3
                    417:  401  00022D98                                  _cosf_3:
                    418:  402  00022D98    0000                                 .word   L268
                    419:  403  00022D9A                                   #   
                    420:  404  00022D9A                                   # 
                    421:  405  00022D9A                                   # 
                    422:  406  00022D9A                                   # /***************************************************************************
                    423:  407  00022D9A                                   # *
                    424:  408  00022D9A                                   # *   SUBTEST 3 - REGISTER INTEGRITY WITH THE COSF FUNCTION 
                    425:  409  00022D9A                                   # *
                    426:  410  00022D9A                                   # ***************************************************************************/
                    427:  411  00022D9A                                   # cosf_3() 
                    428:  412  00022D9A                                   # {
                    429:  413  00022D9A    13 01e1                              jbr     L270
                    430:  414  00022D9D                                  L271:
                    431:  415  00022D9D                                   #     fill_reg_buf( load_regs );              /* set reg values to load */
                    432:  416  00022D9D    dd 8f00000000                        pushl   $_load_regs
                    433:  417  00022DA3    fe 08 effffffcce                     callf   $8,_fill_reg_buf
                    434:  418  00022DAA                                   #     force_loop = FALSE;                     /* clear the LOOP flag */
                    435:  419  00022DAA    4d effffffcc8                        clrl    _force_loop
                    436:  420  00022DB0                                   #     subtest = 3;
                    437:  421  00022DB0    0d 03 effffffcc1                     movl    $3,_subtest
                    438:  422  00022DB7                                   #         index = 0;
                    439:  423  00022DB7    4d effffffcbb                        clrl    _index
                    440:  424  00022DBD                                   #     do 
                    441:  425  00022DBD                                  L275:
                    442:  426  00022DBD                                   #     {
                    443:  427  00022DBD                                   #        sgl_ld_acc   = cosf_1_data[index].ld;   /* get the operand      */
                    444:  428  00022DBD    0d effffffcb5 50                     movl    _index,r0
                    445:  429  00022DC4    48 03 50 50                          shll    $3,r0,r0
                    446:  430  00022DC8    0d e000000000 effffffca5             movl    _cosf_1_data(r0),_sgl_ld_acc
                    447:  431  00022DD3                                   #        sgl_expected = cosf_1_data[index].exp;  /* get expected results */
                    448:  432  00022DD3    0d effffffc9f 50                     movl    _index,r0
                    449:  433  00022DDA    48 03 50 50                          shll    $3,r0,r0
                    450:  434  00022DDE    0d e000000004 effffffc8f             movl    _cosf_1_data+4(r0),_sgl_expected
                    451:  435  00022DE9                                   # /*
                    452:  436  00022DE9                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    453:  437  00022DE9                                   #  * The force loop flag is set after the first error.
                    454:  438  00022DE9                                   # */
                    455:  439  00022DE9                                   #        asm("_cosf_3_lp1:");
                    456:  440  00022DE9                                  _cosf_3_lp1:
                    457:  441  00022DE9                                   #        asm("loadr $0x1fff,_load_regs");     /* load regs 0 - 12         */
                    458:  442  00022DE9    ab 891fff effffffc86          loadr $0x1fff,_load_regs
                    459:  443  00022DF2                                   #        asm("ldf _sgl_ld_acc");              /* load the accumulator     */
                    460:  444  00022DF2    06 effffffc80                 ldf _sgl_ld_acc
                    461:  445  00022DF8                                   #        asm("cosf");                         /* get ACC.'s cosf          */
                    462:  446  00022DF8    15                            cosf
                    463:  447  00022DF9                                   #        asm("stf _sgl_st_acc");              /* store the result         */
                    464:  448  00022DF9    26 effffffc79                 stf _sgl_st_acc
                    465:  449  00022DFF                                   #        asm("storer $0x1fff,_store_regs");   /* store regs 0 - 12        */
                    466:  450  00022DFF    bb 891fff effffffc70          storer $0x1fff,_store_regs
                    467:  451  00022E08                                   #            if( force_loop )
                    468:  452  00022E08    5d effffffc6a                        tstl    _force_loop
                    469:  453  00022E0E    31 02                                jeql    L276
                    470:  454  00022E10                                   #                 asm("brb _cosf_3_lp1");;      /* loop on the error     */
                    471:  455  00022E10    11 d7                         brb _cosf_3_lp1
                    472:  456  00022E12                                  L276:
                    473:  457  00022E12                                   # /* 
                    474:  458  00022E12                                   #  * end error loop 
                    475:  459  00022E12                                   # */
                    476:  460  00022E12                                   #        reg_no = 0;
                    477:  461  00022E12    4d effffffc60                        clrl    _reg_no
                    478:  462  00022E18                                   #        regs_ok = TRUE;
                    479:  463  00022E18    0d 01 effffffc59                     movl    $1,_regs_ok
                    480:  464  00022E1F                                   #        while( (reg_no < 13) && (regs_ok) )  /* check 1st 12 regs */
                    481:  465  00022E1F                                  L277:
                    482:  466  00022E1F    1d effffffc53 0d                     cmpl    _reg_no,$13
                    483:  467  00022E26    81 35                                jgeq    L278
                    484:  468  00022E28    5d effffffc4a                        tstl    _regs_ok
                    485:  469  00022E2E    31 2d                                jeql    L278
                    486:  470  00022E30                                   #           if( store_regs[ reg_no ] == load_regs[ reg_no ] )
                    487:  471  00022E30    0d effffffc42 50                     movl    _reg_no,r0
                    488:  472  00022E37    0d effffffc3b 51                     movl    _reg_no,r1
                    489:  473  00022E3E    1d 40effffffc33                      cmpl    _store_regs[r0],_load_regs[r1]
                    490:                   41effffffc2d 
                    491:  474  00022E4B    21 08                                jneq    L279
                    492:  475  00022E4D                                   #               reg_no++;
                    493:  476  00022E4D    6d effffffc25                        incl    _reg_no
                    494:  477  00022E53                                   #           else
                    495:  478  00022E53    11 06                                jbr     L280
                    496:  479  00022E55                                  L279:
                    497:  480  00022E55                                   #               regs_ok = FALSE;
                    498:  481  00022E55    4d effffffc1d                        clrl    _regs_ok
                    499:  482  00022E5B                                  L280:
                    500:  483  00022E5B    11 c2                                jbr     L277
                    501:  484  00022E5D                                  L278:
                    502:  485  00022E5D                                   #        if( !regs_ok )
                    503:  486  00022E5D    5d effffffc15                        tstl    _regs_ok
                    504:  487  00022E63    31 03 13 00fc                        jneq    L281
                    505:  488  00022E68                                   #        {
                    506:  489  00022E68                                   #           errcnt++;                         /* bump the error count     */
                    507:  490  00022E68    6d effffffc0a                        incl    _errcnt
                    508:  491  00022E6E                                   #           if ( prt_error ) {
                    509:  492  00022E6E    5d effffffc04                        tstl    _prt_error
                    510:  493  00022E74    21 03 13 00eb                        jeql    L282
                    511:  494  00022E79                                   #              writes(" \n");         /* start a new print line   */
                    512:  495  00022E79                                         .data   1
                    513:  496  00000b5a *                                L283:
                    514:  497  00000b5a *  200A00                               .ascii  " \12\0"
                    515:  498  00000b5d *                                       .text
                    516:  499  00022E79    dd 8f00000b5a                        pushl   $L283
                    517:  500  00022E7F    fe 08 effffffbf2                     callf   $8,_writes
                    518:  501  00022E86                                   #              writes("cycle: ");
                    519:  502  00022E86                                         .data   1
                    520:  503  00000b5d *                                L284:
                    521:  504  00000b5d *  6379636C653A2000                     .ascii  "cycle: \0"
                    522:  505  00000b65 *                                       .text
                    523:  506  00022E86    dd 8f00000b5d                        pushl   $L284
                    524:  507  00022E8C    fe 08 effffffbe5                     callf   $8,_writes
                    525:  508  00022E93                                   #              writed( cycle );
                    526:  509  00022E93    dd effffffbdf                        pushl   _cycle
                    527:  510  00022E99    fe 08 effffffbd8                     callf   $8,_writed
                    528:  511  00022EA0                                   #              writes("   COSF test ");
                    529:  512  00022EA0                                         .data   1
                    530:  513  00000b65 *                                L285:
                    531:  514  00000b65 *  202020434F534620746573742            .ascii  "   COSF test \0"
                    532:                   000
                    533:  515  00000b73 *                                       .text
                    534:  516  00022EA0    dd 8f00000b65                        pushl   $L285
                    535:  517  00022EA6    fe 08 effffffbcb                     callf   $8,_writes
                    536:  518  00022EAD                                   #              writed( test_no );
                    537:  519  00022EAD    dd effffffbc5                        pushl   _test_no
                    538:  520  00022EB3    fe 08 effffffbbe                     callf   $8,_writed
                    539:  521  00022EBA                                   #              writes(", subtest 3 - A REGISTER WAS MODIFIED\n"); {
                    540:  522  00022EBA                                         .data   1
                    541:  523  00000b73 *                                L286:
                    542:  524  00000b73 *  2C20737562746573742033202            .ascii  ", subtest 3 - A REGISTER WAS MODIFIED\12\0"
                    543:                   D204120524547495354455220
                    544:                   574153204D4F4449464945440
                    545:                   A00
                    546:  525  00000b9a *                                       .text
                    547:  526  00022EBA    dd 8f00000b73                        pushl   $L286
                    548:  527  00022EC0    fe 08 effffffbb1                     callf   $8,_writes
                    549:  528  00022EC7                                   #              print_cosf_data();
                    550:  529  00022EC7    fe 04 ef0000051c                     callf   $4,_print_cosf_data
                    551:  530  00022ECE                                   #              writec('\n');
                    552:  531  00022ECE    dd 0a                                pushl   $10
                    553:  532  00022ED0    fe 08 effffffba1                     callf   $8,_writec
                    554:  533  00022ED7                                   #              writes("register ");
                    555:  534  00022ED7                                         .data   1
                    556:  535  00000b9a *                                L287:
                    557:  536  00000b9a *  72656769737465722000                 .ascii  "register \0"
                    558:  537  00000ba4 *                                       .text
                    559:  538  00022ED7    dd 8f00000b9a                        pushl   $L287
                    560:  539  00022EDD    fe 08 effffffb94                     callf   $8,_writes
                    561:  540  00022EE4                                   #                  writed( reg_no );
                    562:  541  00022EE4    dd effffffb8e                        pushl   _reg_no
                    563:  542  00022EEA    fe 08 effffffb87                     callf   $8,_writed
                    564:  543  00022EF1                                   #              writes(" = ");
                    565:  544  00022EF1                                         .data   1
                    566:  545  00000ba4 *                                L288:
                    567:  546  00000ba4 *  203D2000                             .ascii  " = \0"
                    568:  547  00000ba8 *                                       .text
                    569:  548  00022EF1    dd 8f00000ba4                        pushl   $L288
                    570:  549  00022EF7    fe 08 effffffb7a                     callf   $8,_writes
                    571:  550  00022EFE                                   #              write32h( load_regs[reg_no] );
                    572:  551  00022EFE    0d effffffb74 50                     movl    _reg_no,r0
                    573:  552  00022F05    dd 40effffffb6c                      pushl   _load_regs[r0]
                    574:  553  00022F0C    fe 08 effffffb65                     callf   $8,_write32h
                    575:  554  00022F13                                   #              writes(",  should be = ");
                    576:  555  00022F13                                         .data   1
                    577:  556  00000ba8 *                                L289:
                    578:  557  00000ba8 *  2C202073686F756C642062652            .ascii  ",  should be = \0"
                    579:                   03D2000
                    580:  558  00000bb8 *                                       .text
                    581:  559  00022F13    dd 8f00000ba8                        pushl   $L289
                    582:  560  00022F19    fe 08 effffffb58                     callf   $8,_writes
                    583:  561  00022F20                                   #              write32h( store_regs[reg_no] );
                    584:  562  00022F20    0d effffffb52 50                     movl    _reg_no,r0
                    585:  563  00022F27    dd 40effffffb4a                      pushl   _store_regs[r0]
                    586:  564  00022F2E    fe 08 effffffb43                     callf   $8,_write32h
                    587:  565  00022F35                                   #              writec('\n');
                    588:  566  00022F35    dd 0a                                pushl   $10
                    589:  567  00022F37    fe 08 effffffb3a                     callf   $8,_writec
                    590:  568  00022F3E                                   #           }
                    591:  569  00022F3E                                   #           if ( halt_flg )                   /* halt on error?        */
                    592:  570  00022F3E    5d effffffb34                        tstl    _halt_flg
                    593:  571  00022F44    31 09                                jeql    L290
                    594:  572  00022F46                                   #              cosf_er_halt( BAD_REG_HLT );
                    595:  573  00022F46    dd 02                                pushl   $2
                    596:  574  00022F48    fe 08 ef000004d7                     callf   $8,_cosf_er_halt
                    597:  575  00022F4F                                   #           if ( loop_on_err ) 
                    598:  576  00022F4F                                  L290:
                    599:  577  00022F4F    5d effffffb23                        tstl    _loop_on_err
                    600:  578  00022F55    31 0d                                jeql    L291
                    601:  579  00022F57                                   #           {
                    602:  580  00022F57                                   #              force_loop = TRUE;             /* get the force loop flag */
                    603:  581  00022F57    0d 01 effffffb1a                     movl    $1,_force_loop
                    604:  582  00022F5E                                   #              asm("jmp _cosf_3_lp1");        /* and loop                */
                    605:  583  00022F5E    71 effffffe85                 jmp _cosf_3_lp1
                    606:  584  00022F64                                   #           }
                    607:  585  00022F64                                   #        }   /* end of compare error */
                    608:  586  00022F64                                  L291:
                    609:  587  00022F64                                   #          } /* end of while loop */
                    610:  588  00022F64                                  L282:
                    611:  589  00022F64                                   #     } while( index++ < max_cosf_1_index );
                    612:  590  00022F64                                  L281:
                    613:  591  00022F64                                  L274:
                    614:  592  00022F64    0d effffffb0e 50                     movl    _index,r0
                    615:  593  00022F6B    6d effffffb07                        incl    _index
                    616:  594  00022F71    1d 50 effffffb00                     cmpl    r0,_max_cosf_1_index
                    617:  595  00022F78    81 03 13 fe40                        jlss    L275
                    618:  596  00022F7D                                  L273:
                    619:  597  00022F7D                                   # }  /* end of subtest 3 */
                    620:  598  00022F7D    40                                   ret#2
                    621:  599  00022F7E                                         .set    L268,0x0
                    622:  600  00022F7E                                  L270:
                    623:  601  00022F7E    13 fe1c                              jbr     L271
                    624:  602  00022F81                                         .data
                    625:  603  00000a58 *                                       .text
                    626:  604  00022F81    00                                   .align  1
                    627:  605  00022F82                                         .globl  _cosf_4
                    628:  606  00022F82                                  _cosf_4:
                    629:  607  00022F82    0000                                 .word   L293
                    630:  608  00022F84                                   #   
                    631:  609  00022F84                                   # 
                    632:  610  00022F84                                   # 
                    633:  611  00022F84                                   # /************************************************************************
                    634:  612  00022F84                                   # *
                    635:  613  00022F84                                   # *       SUBTEST 4 - Check for PSL corruption
                    636:  614  00022F84                                   # *
                    637:  615  00022F84                                   # ************************************************************************/
                    638:  616  00022F84                                   # cosf_4() 
                    639:  617  00022F84                                   # {
                    640:  618  00022F84    13 01a8                              jbr     L295
                    641:  619  00022F87                                  L296:
                    642:  620  00022F87                                   #         force_loop = FALSE;                     /* clear force_loop flg */
                    643:  621  00022F87    4d effffffaeb                        clrl    _force_loop
                    644:  622  00022F8D                                   #         subtest = 4;
                    645:  623  00022F8D    0d 04 effffffae4                     movl    $4,_subtest
                    646:  624  00022F94                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
                    647:  625  00022F94    dd 8f00000000                        pushl   $_load_regs
                    648:  626  00022F9A    fe 08 effffffad7                     callf   $8,_fill_reg_buf
                    649:  627  00022FA1                                   #         for( index = 0; index < 3; index++ ) {
                    650:  628  00022FA1    4d effffffad1                        clrl    _index
                    651:  629  00022FA7                                  L299:
                    652:  630  00022FA7    1d effffffacb 03                     cmpl    _index,$3
                    653:  631  00022FAE    91 03 13 017b                        jgeq    L298
                    654:  632  00022FB3                                   #              sgl_ld_acc   = cosf_1_data[index].ld;    /* get operand 1 */
                    655:  633  00022FB3    0d effffffabf 50                     movl    _index,r0
                    656:  634  00022FBA    48 03 50 50                          shll    $3,r0,r0
                    657:  635  00022FBE    0d e000000000 effffffaaf             movl    _cosf_1_data(r0),_sgl_ld_acc
                    658:  636  00022FC9                                   #              sgl_expected = cosf_1_data[index].exp;   /* get expected  */
                    659:  637  00022FC9    0d effffffaa9 50                     movl    _index,r0
                    660:  638  00022FD0    48 03 50 50                          shll    $3,r0,r0
                    661:  639  00022FD4    0d e000000004 effffffa99             movl    _cosf_1_data+4(r0),_sgl_expected
                    662:  640  00022FDF                                   #              sgl_dummy1 = status_array[index];            /* status = +, -, 0 */
                    663:  641  00022FDF    0d effffffa93 50                     movl    _index,r0
                    664:  642  00022FE6    0d 40effffffa8b                      movl    _status_array[r0],_sgl_dummy1
                    665:                   effffffa86 
                    666:  643  00022FF2                                   # /*
                    667:  644  00022FF2                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    668:  645  00022FF2                                   #  * The force loop flag is set after the first error.
                    669:  646  00022FF2                                   # */
                    670:  647  00022FF2                                   #              asm("_cosf_4_lp1:");
                    671:  648  00022FF2                                  _cosf_4_lp1:
                    672:  649  00022FF2                                   #              asm("ldf _sgl_ld_acc");            /* LOAD the accumulator  */
                    673:  650  00022FF2    06 effffffa80                 ldf _sgl_ld_acc
                    674:  651  00022FF8                                   #              asm("nop");
                    675:  652  00022FF8    10                            nop
                    676:  653  00022FF9                                   #              asm("tstl _sgl_dummy1");               /* set the PSL status    */
                    677:  654  00022FF9    5d effffffa79                 tstl _sgl_dummy1
                    678:  655  00022FFF                                   #          asm("movpsl _init_psl");           /* save the initial PSL  */
                    679:  656  00022FFF    cd effffffa73                 movpsl _init_psl
                    680:  657  00023005                                   #              asm("cosf");                      /* do the cosf           */
                    681:  658  00023005    15                            cosf
                    682:  659  00023006                                   #              asm("nop");
                    683:  660  00023006    10                            nop
                    684:  661  00023007                                   #              asm("movpsl _psl_val");            /* save the final PSL    */
                    685:  662  00023007    cd effffffa6b                 movpsl _psl_val
                    686:  663  0002300D                                   #              asm("stf _sgl_st_acc");            /* save the accumulator  */
                    687:  664  0002300D    26 effffffa65                 stf _sgl_st_acc
                    688:  665  00023013                                   #              if( force_loop )
                    689:  666  00023013    5d effffffa5f                        tstl    _force_loop
                    690:  667  00023019    31 02                                jeql    L300
                    691:  668  0002301B                                   #                   asm("brb _cosf_4_lp1");;      /* loop on the error     */
                    692:  669  0002301B    11 d5                         brb _cosf_4_lp1
                    693:  670  0002301D                                  L300:
                    694:  671  0002301D                                   # /*
                    695:  672  0002301D                                   #  * Now compare the final PSL to the initial PSL -they should be the same
                    696:  673  0002301D                                   # */
                    697:  674  0002301D                                   #              exp_psl = init_psl;
                    698:  675  0002301D    0d effffffa55 effffffa50             movl    _init_psl,_exp_psl
                    699:  676  00023028                                   #          if( psl_val != exp_psl ) {
                    700:  677  00023028    1d effffffa4a effffffa45             cmpl    _psl_val,_exp_psl
                    701:  678  00023033    21 03 13 00ed                        jeql    L301
                    702:  679  00023038                                   #                   errcnt++;                     /* bump the error count    */
                    703:  680  00023038    6d effffffa3a                        incl    _errcnt
                    704:  681  0002303E                                   #                   if( prt_error ) {
                    705:  682  0002303E    5d effffffa34                        tstl    _prt_error
                    706:  683  00023044    21 03 13 00b9                        jeql    L302
                    707:  684  00023049                                   #                        writes(" \n");      /* start a new print line  */
                    708:  685  00023049                                         .data   1
                    709:  686  00000bb8 *                                L303:
                    710:  687  00000bb8 *  200A00                               .ascii  " \12\0"
                    711:  688  00000bbb *                                       .text
                    712:  689  00023049    dd 8f00000bb8                        pushl   $L303
                    713:  690  0002304F    fe 08 effffffa22                     callf   $8,_writes
                    714:  691  00023056                                   #                        writes("cycle: ");
                    715:  692  00023056                                         .data   1
                    716:  693  00000bbb *                                L304:
                    717:  694  00000bbb *  6379636C653A2000                     .ascii  "cycle: \0"
                    718:  695  00000bc3 *                                       .text
                    719:  696  00023056    dd 8f00000bbb                        pushl   $L304
                    720:  697  0002305C    fe 08 effffffa15                     callf   $8,_writes
                    721:  698  00023063                                   #                        writed( cycle );
                    722:  699  00023063    dd effffffa0f                        pushl   _cycle
                    723:  700  00023069    fe 08 effffffa08                     callf   $8,_writed
                    724:  701  00023070                                   #                    writes("   COSF test ");
                    725:  702  00023070                                         .data   1
                    726:  703  00000bc3 *                                L305:
                    727:  704  00000bc3 *  202020434F534620746573742            .ascii  "   COSF test \0"
                    728:                   000
                    729:  705  00000bd1 *                                       .text
                    730:  706  00023070    dd 8f00000bc3                        pushl   $L305
                    731:  707  00023076    fe 08 effffff9fb                     callf   $8,_writes
                    732:  708  0002307D                                   #                    writed( test_no );
                    733:  709  0002307D    dd effffff9f5                        pushl   _test_no
                    734:  710  00023083    fe 08 effffff9ee                     callf   $8,_writed
                    735:  711  0002308A                                   #                        writes(", subtest 4 - INCORRECT FINAL PSL\n");
                    736:  712  0002308A                                         .data   1
                    737:  713  00000bd1 *                                L306:
                    738:  714  00000bd1 *  2C20737562746573742034202            .ascii  ", subtest 4 - INCORRECT FINAL PSL\12\0"
                    739:                   D20494E434F52524543542046
                    740:                   494E414C2050534C0A00
                    741:  715  00000bf4 *                                       .text
                    742:  716  0002308A    dd 8f00000bd1                        pushl   $L306
                    743:  717  00023090    fe 08 effffff9e1                     callf   $8,_writes
                    744:  718  00023097                                   #                        print_cosf_data();       /* print the operands      */
                    745:  719  00023097    fe 04 ef0000034c                     callf   $4,_print_cosf_data
                    746:  720  0002309E                                   #                    writec('\n');
                    747:  721  0002309E    dd 0a                                pushl   $10
                    748:  722  000230A0    fe 08 effffff9d1                     callf   $8,_writec
                    749:  723  000230A7                                   #                        writes("initial PSL = ");
                    750:  724  000230A7                                         .data   1
                    751:  725  00000bf4 *                                L307:
                    752:  726  00000bf4 *  696E697469616C2050534C203            .ascii  "initial PSL = \0"
                    753:                   D2000
                    754:  727  00000c03 *                                       .text
                    755:  728  000230A7    dd 8f00000bf4                        pushl   $L307
                    756:  729  000230AD    fe 08 effffff9c4                     callf   $8,_writes
                    757:  730  000230B4                                   #                        write32h( init_psl );
                    758:  731  000230B4    dd effffff9be                        pushl   _init_psl
                    759:  732  000230BA    fe 08 effffff9b7                     callf   $8,_write32h
                    760:  733  000230C1                                   #                        writes(",  final PSL = ");
                    761:  734  000230C1                                         .data   1
                    762:  735  00000c03 *                                L308:
                    763:  736  00000c03 *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
                    764:                   03D2000
                    765:  737  00000c13 *                                       .text
                    766:  738  000230C1    dd 8f00000c03                        pushl   $L308
                    767:  739  000230C7    fe 08 effffff9aa                     callf   $8,_writes
                    768:  740  000230CE                                   #                        write32h( psl_val );
                    769:  741  000230CE    dd effffff9a4                        pushl   _psl_val
                    770:  742  000230D4    fe 08 effffff99d                     callf   $8,_write32h
                    771:  743  000230DB                                   #                        writes(",  expected PSL = ");
                    772:  744  000230DB                                         .data   1
                    773:  745  00000c13 *                                L309:
                    774:  746  00000c13 *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
                    775:                   0534C203D2000
                    776:  747  00000c26 *                                       .text
                    777:  748  000230DB    dd 8f00000c13                        pushl   $L309
                    778:  749  000230E1    fe 08 effffff990                     callf   $8,_writes
                    779:  750  000230E8                                   #                        write32h( exp_psl );
                    780:  751  000230E8    dd effffff98a                        pushl   _exp_psl
                    781:  752  000230EE    fe 08 effffff983                     callf   $8,_write32h
                    782:  753  000230F5                                   #                        writes("\n");
                    783:  754  000230F5                                         .data   1
                    784:  755  00000c26 *                                L310:
                    785:  756  00000c26 *  0A00                                 .ascii  "\12\0"
                    786:  757  00000c28 *                                       .text
                    787:  758  000230F5    dd 8f00000c26                        pushl   $L310
                    788:  759  000230FB    fe 08 effffff976                     callf   $8,_writes
                    789:  760  00023102                                   #                   }
                    790:  761  00023102                                   #                   if( halt_flg )   
                    791:  762  00023102                                  L302:
                    792:  763  00023102    5d effffff970                        tstl    _halt_flg
                    793:  764  00023108    31 09                                jeql    L311
                    794:  765  0002310A                                   #                        cosf_er_halt( BAD_PSL_HLT );   /* halt on the error */
                    795:  766  0002310A    dd 03                                pushl   $3
                    796:  767  0002310C    fe 08 ef00000313                     callf   $8,_cosf_er_halt
                    797:  768  00023113                                   #                    if( loop_on_err ) {
                    798:  769  00023113                                  L311:
                    799:  770  00023113    5d effffff95f                        tstl    _loop_on_err
                    800:  771  00023119    31 0a                                jeql    L312
                    801:  772  0002311B                                   #                         force_loop = TRUE;        /* set the force loop flag */
                    802:  773  0002311B    0d 01 effffff956                     movl    $1,_force_loop
                    803:  774  00023122                                   #                         asm("brw _cosf_4_lp1");;  /* and loop on the error   */
                    804:  775  00023122    13 fecd                       brw _cosf_4_lp1
                    805:  776  00023125                                   #                    }  /* end of loop on error */
                    806:  777  00023125                                   #              }  /* end of PSL corruption error */
                    807:  778  00023125                                  L312:
                    808:  779  00023125                                   #         }  /* end of WHILE loop */
                    809:  780  00023125                                  L301:
                    810:  781  00023125                                  L297:
                    811:  782  00023125    6d effffff94d                        incl    _index
                    812:  783  0002312B    13 fe79                              jbr     L299
                    813:  784  0002312E                                  L298:
                    814:  785  0002312E                                   # }  /* end of subtest 4 */
                    815:  786  0002312E    40                                   ret#2
                    816:  787  0002312F                                         .set    L293,0x0
                    817:  788  0002312F                                  L295:
                    818:  789  0002312F    13 fe55                              jbr     L296
                    819:  790  00023132                                         .data
                    820:  791  00000a58 *                                       .text
                    821:  792  00023132                                         .align  1
                    822:  793  00023132                                         .globl  _cosf_5
                    823:  794  00023132                                  _cosf_5:
                    824:  795  00023132    0000                                 .word   L313
                    825:  796  00023134                                   #  
                    826:  797  00023134                                   # 
                    827:  798  00023134                                   # 
                    828:  799  00023134                                   # /************************************************************************
                    829:  800  00023134                                   # *
                    830:  801  00023134                                   # *               SUBTEST 5 - pipelined entry test
                    831:  802  00023134                                   # *
                    832:  803  00023134                                   # ************************************************************************/
                    833:  804  00023134                                   # cosf_5() 
                    834:  805  00023134                                   # {
                    835:  806  00023134    13 0154                              jbr     L315
                    836:  807  00023137                                  L316:
                    837:  808  00023137                                   #         force_loop = FALSE;
                    838:  809  00023137    4d effffff93b                        clrl    _force_loop
                    839:  810  0002313D                                   #         subtest = 8;
                    840:  811  0002313D    0d 08 effffff934                     movl    $8,_subtest
                    841:  812  00023144                                   #         for( index = 0; index < max_cosf_1_index; index++ ) {
                    842:  813  00023144    4d effffff92e                        clrl    _index
                    843:  814  0002314A                                  L319:
                    844:  815  0002314A    1d effffff928 effffff923             cmpl    _index,_max_cosf_1_index
                    845:  816  00023155    91 03 13 0130                        jgeq    L318
                    846:  817  0002315A                                   #              sgl_ld_acc   = cosf_1_data[index].ld;   /* get operand 1       */
                    847:  818  0002315A    0d effffff918 50                     movl    _index,r0
                    848:  819  00023161    48 03 50 50                          shll    $3,r0,r0
                    849:  820  00023165    0d e000000000 effffff908             movl    _cosf_1_data(r0),_sgl_ld_acc
                    850:  821  00023170                                   #              sgl_expected = cosf_1_data[index].exp;  /* get expected result */
                    851:  822  00023170    0d effffff902 50                     movl    _index,r0
                    852:  823  00023177    48 03 50 50                          shll    $3,r0,r0
                    853:  824  0002317B    0d e000000004 effffff8f2             movl    _cosf_1_data+4(r0),_sgl_expected
                    854:  825  00023186                                   # /*
                    855:  826  00023186                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    856:  827  00023186                                   #  * The force loop flag is set after the first error.
                    857:  828  00023186                                   # */
                    858:  829  00023186                                   #              asm("_cosf_5_lp1:");
                    859:  830  00023186                                  _cosf_5_lp1:
                    860:  831  00023186                                   #              asm("movl $0,r0");                 /* clear r0                */
                    861:  832  00023186    0d 00 50                      movl $0,r0
                    862:  833  00023189                                   #              asm("ldf r0");                     /* load the Acc. with 0.0  */
                    863:  834  00023189    06 50                         ldf r0
                    864:  835  0002318B                                   #              asm("addf _sgl_ld_acc");           /* add the 1st operand     */
                    865:  836  0002318B    c6 effffff8e7                 addf _sgl_ld_acc
                    866:  837  00023191                                   #              asm("cosf");                      /* get the cosf            */
                    867:  838  00023191    15                            cosf
                    868:  839  00023192                                   #              asm("stf _sgl_st_acc");            /* store the result        */
                    869:  840  00023192    26 effffff8e0                 stf _sgl_st_acc
                    870:  841  00023198                                   #              if( force_loop )
                    871:  842  00023198    5d effffff8da                        tstl    _force_loop
                    872:  843  0002319E    31 02                                jeql    L320
                    873:  844  000231A0                                   #                   asm("brb _cosf_5_lp1");;      /* loop on the error       */
                    874:  845  000231A0    11 e4                         brb _cosf_5_lp1
                    875:  846  000231A2                                  L320:
                    876:  847  000231A2                                   # /* 
                    877:  848  000231A2                                   #  * end error loop - test the results
                    878:  849  000231A2                                   # */
                    879:  850  000231A2                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                    880:  851  000231A2    1d effffff8d0 effffff8cb             cmpl    _sgl_st_acc,_sgl_expected
                    881:  852  000231AD    21 03 13 00cf                        jeql    L321
                    882:  853  000231B2                                   #                    errcnt++;                    /* bump the error count   */
                    883:  854  000231B2    6d effffff8c0                        incl    _errcnt
                    884:  855  000231B8                                   #                    if( prt_error ) {
                    885:  856  000231B8    5d effffff8ba                        tstl    _prt_error
                    886:  857  000231BE    21 03 13 009b                        jeql    L322
                    887:  858  000231C3                                   #                         writes(" \n");      /* start a new print line */
                    888:  859  000231C3                                         .data   1
                    889:  860  00000c28 *                                L323:
                    890:  861  00000c28 *  200A00                               .ascii  " \12\0"
                    891:  862  00000c2b *                                       .text
                    892:  863  000231C3    dd 8f00000c28                        pushl   $L323
                    893:  864  000231C9    fe 08 effffff8a8                     callf   $8,_writes
                    894:  865  000231D0                                   #                         writes("cycle: ");
                    895:  866  000231D0                                         .data   1
                    896:  867  00000c2b *                                L324:
                    897:  868  00000c2b *  6379636C653A2000                     .ascii  "cycle: \0"
                    898:  869  00000c33 *                                       .text
                    899:  870  000231D0    dd 8f00000c2b                        pushl   $L324
                    900:  871  000231D6    fe 08 effffff89b                     callf   $8,_writes
                    901:  872  000231DD                                   #                         writed( cycle );
                    902:  873  000231DD    dd effffff895                        pushl   _cycle
                    903:  874  000231E3    fe 08 effffff88e                     callf   $8,_writed
                    904:  875  000231EA                                   #                     writes("   COSF test ");
                    905:  876  000231EA                                         .data   1
                    906:  877  00000c33 *                                L325:
                    907:  878  00000c33 *  202020434F534620746573742            .ascii  "   COSF test \0"
                    908:                   000
                    909:  879  00000c41 *                                       .text
                    910:  880  000231EA    dd 8f00000c33                        pushl   $L325
                    911:  881  000231F0    fe 08 effffff881                     callf   $8,_writes
                    912:  882  000231F7                                   #                     writed( test_no );
                    913:  883  000231F7    dd effffff87b                        pushl   _test_no
                    914:  884  000231FD    fe 08 effffff874                     callf   $8,_writed
                    915:  885  00023204                                   #                         writes(", subtest 5 (Piped Entry) - BAD FINAL ACC\n");
                    916:  886  00023204                                         .data   1
                    917:  887  00000c41 *                                L326:
                    918:  888  00000c41 *  2C20737562746573742035202            .ascii  ", subtest 5 (Piped Entry) - BAD FINAL ACC\12\0"
                    919:                   8506970656420456E74727929
                    920:                   202D204241442046494E414C2
                    921:                   04143430A00
                    922:  889  00000c6c *                                       .text
                    923:  890  00023204    dd 8f00000c41                        pushl   $L326
                    924:  891  0002320A    fe 08 effffff867                     callf   $8,_writes
                    925:  892  00023211                                   #                         print_cosf_data();
                    926:  893  00023211    fe 04 ef000001d2                     callf   $4,_print_cosf_data
                    927:  894  00023218                                   #                         writes(",  data index = ");
                    928:  895  00023218                                         .data   1
                    929:  896  00000c6c *                                L327:
                    930:  897  00000c6c *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                    931:                   8203D2000
                    932:  898  00000c7d *                                       .text
                    933:  899  00023218    dd 8f00000c6c                        pushl   $L327
                    934:  900  0002321E    fe 08 effffff853                     callf   $8,_writes
                    935:  901  00023225                                   #                         writed( index );
                    936:  902  00023225    dd effffff84d                        pushl   _index
                    937:  903  0002322B    fe 08 effffff846                     callf   $8,_writed
                    938:  904  00023232                                   #                         writec('\n');
                    939:  905  00023232    dd 0a                                pushl   $10
                    940:  906  00023234    fe 08 effffff83d                     callf   $8,_writec
                    941:  907  0002323B                                   #                         writes("                      Acc expected = ");
                    942:  908  0002323B                                         .data   1
                    943:  909  00000c7d *                                L328:
                    944:  910  00000c7d *  2020202020202020202020202            .ascii  "                      Acc expected = \0"
                    945:                   0202020202020202020416363
                    946:                   206578706563746564203D200
                    947:                   0
                    948:  911  00000ca3 *                                       .text
                    949:  912  0002323B    dd 8f00000c7d                        pushl   $L328
                    950:  913  00023241    fe 08 effffff830                     callf   $8,_writes
                    951:  914  00023248                                   #                         write32h( sgl_expected );
                    952:  915  00023248    dd effffff82a                        pushl   _sgl_expected
                    953:  916  0002324E    fe 08 effffff823                     callf   $8,_write32h
                    954:  917  00023255                                   #                         writec('\n');
                    955:  918  00023255    dd 0a                                pushl   $10
                    956:  919  00023257    fe 08 effffff81a                     callf   $8,_writec
                    957:  920  0002325E                                   #                    }
                    958:  921  0002325E                                   #                    if( halt_flg ) 
                    959:  922  0002325E                                  L322:
                    960:  923  0002325E    5d effffff814                        tstl    _halt_flg
                    961:  924  00023264    31 09                                jeql    L329
                    962:  925  00023266                                   #                         cosf_er_halt( BAD_ACC_HLT );    /* halt on the error */
                    963:  926  00023266    dd 01                                pushl   $1
                    964:  927  00023268    fe 08 ef000001b7                     callf   $8,_cosf_er_halt
                    965:  928  0002326F                                   #                    if( loop_on_err ) {
                    966:  929  0002326F                                  L329:
                    967:  930  0002326F    5d effffff803                        tstl    _loop_on_err
                    968:  931  00023275    31 0a                                jeql    L330
                    969:  932  00023277                                   #                         force_loop = TRUE;        /* set the force loop flag */
                    970:  933  00023277    0d 01 effffff7fa                     movl    $1,_force_loop
                    971:  934  0002327E                                   #                         asm("brw _cosf_5_lp1");;  /* and loop on the error   */
                    972:  935  0002327E    13 ff05                       brw _cosf_5_lp1
                    973:  936  00023281                                   #                    }  /* end of loop on error */
                    974:  937  00023281                                   #              }   /* end of compare error */
                    975:  938  00023281                                  L330:
                    976:  939  00023281                                   #         }  /* end of WHILE loop */
                    977:  940  00023281                                  L321:
                    978:  941  00023281                                  L317:
                    979:  942  00023281    6d effffff7f1                        incl    _index
                    980:  943  00023287    13 fec0                              jbr     L319
                    981:  944  0002328A                                  L318:
                    982:  945  0002328A                                   # }  /* end of subtest 5 */
                    983:  946  0002328A    40                                   ret#2
                    984:  947  0002328B                                         .set    L313,0x0
                    985:  948  0002328B                                  L315:
                    986:  949  0002328B    13 fea9                              jbr     L316
                    987:  950  0002328E                                         .data
                    988:  951  00000a58 *                                       .text
                    989:  952  0002328E                                         .align  1
                    990:  953  0002328E                                         .globl  _cosf_6
                    991:  954  0002328E                                  _cosf_6:
                    992:  955  0002328E    0000                                 .word   L331
                    993:  956  00023290                                   #   
                    994:  957  00023290                                   # 
                    995:  958  00023290                                   # 
                    996:  959  00023290                                   # /************************************************************************
                    997:  960  00023290                                   # *
                    998:  961  00023290                                   # *               SUBTEST 6 - pipelined exit test
                    999:  962  00023290                                   # *
                   1000:  963  00023290                                   # ************************************************************************/
                   1001:  964  00023290                                   # cosf_6() 
                   1002:  965  00023290                                   # {
                   1003:  966  00023290    13 0154                              jbr     L333
                   1004:  967  00023293                                  L334:
                   1005:  968  00023293                                   #         force_loop = FALSE;
                   1006:  969  00023293    4d effffff7df                        clrl    _force_loop
                   1007:  970  00023299                                   #         subtest = 8;
                   1008:  971  00023299    0d 08 effffff7d8                     movl    $8,_subtest
                   1009:  972  000232A0                                   #         for( index = 0; index < max_cosf_1_index; index++ ) {
                   1010:  973  000232A0    4d effffff7d2                        clrl    _index
                   1011:  974  000232A6                                  L337:
                   1012:  975  000232A6    1d effffff7cc effffff7c7             cmpl    _index,_max_cosf_1_index
                   1013:  976  000232B1    91 03 13 0130                        jgeq    L336
                   1014:  977  000232B6                                   #              sgl_ld_acc   = cosf_1_data[index].ld;   /* get operand 1       */
                   1015:  978  000232B6    0d effffff7bc 50                     movl    _index,r0
                   1016:  979  000232BD    48 03 50 50                          shll    $3,r0,r0
                   1017:  980  000232C1    0d e000000000 effffff7ac             movl    _cosf_1_data(r0),_sgl_ld_acc
                   1018:  981  000232CC                                   #              sgl_expected = cosf_1_data[index].exp;  /* get expected result */
                   1019:  982  000232CC    0d effffff7a6 50                     movl    _index,r0
                   1020:  983  000232D3    48 03 50 50                          shll    $3,r0,r0
                   1021:  984  000232D7    0d e000000004 effffff796             movl    _cosf_1_data+4(r0),_sgl_expected
                   1022:  985  000232E2                                   # /*
                   1023:  986  000232E2                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                   1024:  987  000232E2                                   #  * The force loop flag is set after the first error.
                   1025:  988  000232E2                                   # */
                   1026:  989  000232E2                                   #              asm("_cosf_6_lp1:");
                   1027:  990  000232E2                                  _cosf_6_lp1:
                   1028:  991  000232E2                                   #              asm("movl $0,r0");                 /* clear r0                */
                   1029:  992  000232E2    0d 00 50                      movl $0,r0
                   1030:  993  000232E5                                   #              asm("ldf _sgl_ld_acc");             /* load the Acc.           */
                   1031:  994  000232E5    06 effffff78d                 ldf _sgl_ld_acc
                   1032:  995  000232EB                                   #              asm("cosf");                      /* get the cosf            */
                   1033:  996  000232EB    15                            cosf
                   1034:  997  000232EC                                   #              asm("addf r0");                    /* add a zero to the acc   */
                   1035:  998  000232EC    c6 50                         addf r0
                   1036:  999  000232EE                                   #              asm("stf _sgl_st_acc");            /* store the result        */
                   1037: 1000  000232EE    26 effffff784                 stf _sgl_st_acc
                   1038: 1001  000232F4                                   #              if( force_loop )
                   1039: 1002  000232F4    5d effffff77e                        tstl    _force_loop
                   1040: 1003  000232FA    31 02                                jeql    L338
                   1041: 1004  000232FC                                   #                   asm("brb _cosf_6_lp1");;      /* loop on the error       */
                   1042: 1005  000232FC    11 e4                         brb _cosf_6_lp1
                   1043: 1006  000232FE                                  L338:
                   1044: 1007  000232FE                                   # /* 
                   1045: 1008  000232FE                                   #  * end error loop - test the results
                   1046: 1009  000232FE                                   # */
                   1047: 1010  000232FE                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                   1048: 1011  000232FE    1d effffff774 effffff76f             cmpl    _sgl_st_acc,_sgl_expected
                   1049: 1012  00023309    21 03 13 00cf                        jeql    L339
                   1050: 1013  0002330E                                   #                    errcnt++;                    /* bump the error count   */
                   1051: 1014  0002330E    6d effffff764                        incl    _errcnt
                   1052: 1015  00023314                                   #                    if( prt_error ) {
                   1053: 1016  00023314    5d effffff75e                        tstl    _prt_error
                   1054: 1017  0002331A    21 03 13 009b                        jeql    L340
                   1055: 1018  0002331F                                   #                         writes(" \n");      /* start a new print line */
                   1056: 1019  0002331F                                         .data   1
                   1057: 1020  00000ca3 *                                L341:
                   1058: 1021  00000ca3 *  200A00                               .ascii  " \12\0"
                   1059: 1022  00000ca6 *                                       .text
                   1060: 1023  0002331F    dd 8f00000ca3                        pushl   $L341
                   1061: 1024  00023325    fe 08 effffff74c                     callf   $8,_writes
                   1062: 1025  0002332C                                   #                         writes("cycle: ");
                   1063: 1026  0002332C                                         .data   1
                   1064: 1027  00000ca6 *                                L342:
                   1065: 1028  00000ca6 *  6379636C653A2000                     .ascii  "cycle: \0"
                   1066: 1029  00000cae *                                       .text
                   1067: 1030  0002332C    dd 8f00000ca6                        pushl   $L342
                   1068: 1031  00023332    fe 08 effffff73f                     callf   $8,_writes
                   1069: 1032  00023339                                   #                         writed( cycle );
                   1070: 1033  00023339    dd effffff739                        pushl   _cycle
                   1071: 1034  0002333F    fe 08 effffff732                     callf   $8,_writed
                   1072: 1035  00023346                                   #                     writes("   COSF test ");
                   1073: 1036  00023346                                         .data   1
                   1074: 1037  00000cae *                                L343:
                   1075: 1038  00000cae *  202020434F534620746573742            .ascii  "   COSF test \0"
                   1076:                   000
                   1077: 1039  00000cbc *                                       .text
                   1078: 1040  00023346    dd 8f00000cae                        pushl   $L343
                   1079: 1041  0002334C    fe 08 effffff725                     callf   $8,_writes
                   1080: 1042  00023353                                   #                     writed( test_no );
                   1081: 1043  00023353    dd effffff71f                        pushl   _test_no
                   1082: 1044  00023359    fe 08 effffff718                     callf   $8,_writed
                   1083: 1045  00023360                                   #                         writes(", subtest 6 (Piped Exit) - BAD FINAL ACC\n");
                   1084: 1046  00023360                                         .data   1
                   1085: 1047  00000cbc *                                L344:
                   1086: 1048  00000cbc *  2C20737562746573742036202            .ascii  ", subtest 6 (Piped Exit) - BAD FINAL ACC\12\0"
                   1087:                   8506970656420457869742920
                   1088:                   2D204241442046494E414C204
                   1089:                   143430A00
                   1090: 1049  00000ce6 *                                       .text
                   1091: 1050  00023360    dd 8f00000cbc                        pushl   $L344
                   1092: 1051  00023366    fe 08 effffff70b                     callf   $8,_writes
                   1093: 1052  0002336D                                   #                         print_cosf_data();
                   1094: 1053  0002336D    fe 04 ef00000076                     callf   $4,_print_cosf_data
                   1095: 1054  00023374                                   #                         writes(",  data index = ");
                   1096: 1055  00023374                                         .data   1
                   1097: 1056  00000ce6 *                                L345:
                   1098: 1057  00000ce6 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                   1099:                   8203D2000
                   1100: 1058  00000cf7 *                                       .text
                   1101: 1059  00023374    dd 8f00000ce6                        pushl   $L345
                   1102: 1060  0002337A    fe 08 effffff6f7                     callf   $8,_writes
                   1103: 1061  00023381                                   #                         writed( index );
                   1104: 1062  00023381    dd effffff6f1                        pushl   _index
                   1105: 1063  00023387    fe 08 effffff6ea                     callf   $8,_writed
                   1106: 1064  0002338E                                   #                         writec('\n');
                   1107: 1065  0002338E    dd 0a                                pushl   $10
                   1108: 1066  00023390    fe 08 effffff6e1                     callf   $8,_writec
                   1109: 1067  00023397                                   #                         writes("                      Acc expected = ");
                   1110: 1068  00023397                                         .data   1
                   1111: 1069  00000cf7 *                                L346:
                   1112: 1070  00000cf7 *  2020202020202020202020202            .ascii  "                      Acc expected = \0"
                   1113:                   0202020202020202020416363
                   1114:                   206578706563746564203D200
                   1115:                   0
                   1116: 1071  00000d1d *                                       .text
                   1117: 1072  00023397    dd 8f00000cf7                        pushl   $L346
                   1118: 1073  0002339D    fe 08 effffff6d4                     callf   $8,_writes
                   1119: 1074  000233A4                                   #                         write32h( sgl_expected );
                   1120: 1075  000233A4    dd effffff6ce                        pushl   _sgl_expected
                   1121: 1076  000233AA    fe 08 effffff6c7                     callf   $8,_write32h
                   1122: 1077  000233B1                                   #                         writec('\n');
                   1123: 1078  000233B1    dd 0a                                pushl   $10
                   1124: 1079  000233B3    fe 08 effffff6be                     callf   $8,_writec
                   1125: 1080  000233BA                                   #                    }
                   1126: 1081  000233BA                                   #                    if( halt_flg ) 
                   1127: 1082  000233BA                                  L340:
                   1128: 1083  000233BA    5d effffff6b8                        tstl    _halt_flg
                   1129: 1084  000233C0    31 09                                jeql    L347
                   1130: 1085  000233C2                                   #                         cosf_er_halt( BAD_ACC_HLT );    /* halt on the error */
                   1131: 1086  000233C2    dd 01                                pushl   $1
                   1132: 1087  000233C4    fe 08 ef0000005b                     callf   $8,_cosf_er_halt
                   1133: 1088  000233CB                                   #                    if( loop_on_err ) {
                   1134: 1089  000233CB                                  L347:
                   1135: 1090  000233CB    5d effffff6a7                        tstl    _loop_on_err
                   1136: 1091  000233D1    31 0a                                jeql    L348
                   1137: 1092  000233D3                                   #                         force_loop = TRUE;        /* set the force loop flag */
                   1138: 1093  000233D3    0d 01 effffff69e                     movl    $1,_force_loop
                   1139: 1094  000233DA                                   #                         asm("brw _cosf_6_lp1");;  /* and loop on the error   */
                   1140: 1095  000233DA    13 ff05                       brw _cosf_6_lp1
                   1141: 1096  000233DD                                   #                    }  /* end of loop on error */
                   1142: 1097  000233DD                                   #              }   /* end of compare error */
                   1143: 1098  000233DD                                  L348:
                   1144: 1099  000233DD                                   #         }  /* end of WHILE loop */
                   1145: 1100  000233DD                                  L339:
                   1146: 1101  000233DD                                  L335:
                   1147: 1102  000233DD    6d effffff695                        incl    _index
                   1148: 1103  000233E3    13 fec0                              jbr     L337
                   1149: 1104  000233E6                                  L336:
                   1150: 1105  000233E6                                   # }  /* end of subtest 6 */
                   1151: 1106  000233E6    40                                   ret#2
                   1152: 1107  000233E7                                         .set    L331,0x0
                   1153: 1108  000233E7                                  L333:
                   1154: 1109  000233E7    13 fea9                              jbr     L334
                   1155: 1110  000233EA                                         .data
                   1156: 1111  00000a58 *                                       .text
                   1157: 1112  000233EA                                         .align  1
                   1158: 1113  000233EA                                         .globl  _print_cosf_data
                   1159: 1114  000233EA                                  _print_cosf_data:
                   1160: 1115  000233EA    0000                                 .word   L349
                   1161: 1116  000233EC                                   #   
                   1162: 1117  000233EC                                   # 
                   1163: 1118  000233EC                                   # /**************************************************************************
                   1164: 1119  000233EC                                   # *
                   1165: 1120  000233EC                                   # *       PRINT THE DATA AND STORE RESULTS
                   1166: 1121  000233EC                                   # *
                   1167: 1122  000233EC                                   # *  initial Acc = xxxxxxxx,     stored = xxxxxxxx,   data index = xx
                   1168: 1123  000233EC                                   # *                        Acc expected = xxxxxxxx
                   1169: 1124  000233EC                                   # **************************************************************************/
                   1170: 1125  000233EC                                   # print_cosf_data()
                   1171: 1126  000233EC                                   # {
                   1172: 1127  000233EC    11 35                                jbr     L351
                   1173: 1128  000233EE                                  L352:
                   1174: 1129  000233EE                                   #         writes("initial Acc = ");
                   1175: 1130  000233EE                                         .data   1
                   1176: 1131  00000d1d *                                L353:
                   1177: 1132  00000d1d *  696E697469616C20416363203            .ascii  "initial Acc = \0"
                   1178:                   D2000
                   1179: 1133  00000d2c *                                       .text
                   1180: 1134  000233EE    dd 8f00000d1d                        pushl   $L353
                   1181: 1135  000233F4    fe 08 effffff67d                     callf   $8,_writes
                   1182: 1136  000233FB                                   #         write32h( sgl_ld_acc );
                   1183: 1137  000233FB    dd effffff677                        pushl   _sgl_ld_acc
                   1184: 1138  00023401    fe 08 effffff670                     callf   $8,_write32h
                   1185: 1139  00023408                                   #         writes(",  final Acc = ");
                   1186: 1140  00023408                                         .data   1
                   1187: 1141  00000d2c *                                L354:
                   1188: 1142  00000d2c *  2C202066696E616C204163632            .ascii  ",  final Acc = \0"
                   1189:                   03D2000
                   1190: 1143  00000d3c *                                       .text
                   1191: 1144  00023408    dd 8f00000d2c                        pushl   $L354
                   1192: 1145  0002340E    fe 08 effffff663                     callf   $8,_writes
                   1193: 1146  00023415                                   #         write32h( sgl_st_acc );
                   1194: 1147  00023415    dd effffff65d                        pushl   _sgl_st_acc
                   1195: 1148  0002341B    fe 08 effffff656                     callf   $8,_write32h
                   1196: 1149  00023422                                   # }
                   1197: 1150  00023422    40                                   ret#2
                   1198: 1151  00023423                                         .set    L349,0x0
                   1199: 1152  00023423                                  L351:
                   1200: 1153  00023423    11 c9                                jbr     L352
                   1201: 1154  00023425                                         .data
                   1202: 1155  00000a58 *                                       .text
                   1203: 1156  00023425    00                                   .align  1
                   1204: 1157  00023426                                         .globl  _cosf_er_halt
                   1205: 1158  00023426                                  _cosf_er_halt:
                   1206: 1159  00023426    0000                                 .word   L355
                   1207: 1160  00023428                                   #  
                   1208: 1161  00023428                                   # 
                   1209: 1162  00023428                                   # 
                   1210: 1163  00023428                                   # /**************************************************************************
                   1211: 1164  00023428                                   # *
                   1212: 1165  00023428                                   # *               HALT ON ERROR ROUTINE 
                   1213: 1166  00023428                                   # *
                   1214: 1167  00023428                                   # **************************************************************************/
                   1215: 1168  00023428                                   # cosf_er_halt( halt_code )
                   1216: 1169  00023428                                   # int halt_code;
                   1217: 1170  00023428                                   # {
                   1218: 1171  00023428    13 00a0                              jbr     L357
                   1219: 1172  0002342B                                  L358:
                   1220: 1173  0002342B                                   #         sgl_dummy1 = halt_code;                 /* get the error type    */
                   1221: 1174  0002342B    0d ad04 effffff645                   movl    4(fp),_sgl_dummy1
                   1222: 1175  00023433                                   #         asm("movl _test_no,r0");                /* r0  = test number     */
                   1223: 1176  00023433    0d effffff63f 50              movl _test_no,r0
                   1224: 1177  0002343A                                   #         asm("movl _subtest,r1");                /* r1  = subtest number  */
                   1225: 1178  0002343A    0d effffff638 51              movl _subtest,r1
                   1226: 1179  00023441                                   #         asm("movl _sgl_dummy1,r2");             /* r2  = error code      */
                   1227: 1180  00023441    0d effffff631 52              movl _sgl_dummy1,r2
                   1228: 1181  00023448                                   #         asm("movl _cycle,r3");                  /* r3  = cycle count     */
                   1229: 1182  00023448    0d effffff62a 53              movl _cycle,r3
                   1230: 1183  0002344F                                   #         asm("movl _sgl_ld_acc,r4");             /* r4  = initial data    */
                   1231: 1184  0002344F    0d effffff623 54              movl _sgl_ld_acc,r4
                   1232: 1185  00023456                                   #         asm("movl _sgl_st_acc,r5");             /* r5  = data stored     */
                   1233: 1186  00023456    0d effffff61c 55              movl _sgl_st_acc,r5
                   1234: 1187  0002345D                                   #         asm("movl _sgl_expected,r6");           /* r6  = data expected   */
                   1235: 1188  0002345D    0d effffff615 56              movl _sgl_expected,r6
                   1236: 1189  00023464                                   #         asm("movl _index,r7");                  /* r7  = data index      */
                   1237: 1190  00023464    0d effffff60e 57              movl _index,r7
                   1238: 1191  0002346B                                   #         if( halt_code == BAD_REG_HLT ) {
                   1239: 1192  0002346B    1d ad04 02                           cmpl    4(fp),$2
                   1240: 1193  0002346F    21 3d                                jneq    L359
                   1241: 1194  00023471                                   #              sgl_dummy1 = load_regs[index2];
                   1242: 1195  00023471    0d effffff601 50                     movl    _index2,r0
                   1243: 1196  00023478    0d 40effffff5f9                      movl    _load_regs[r0],_sgl_dummy1
                   1244:                   effffff5f4 
                   1245: 1197  00023484                                   #              sgl_dummy2 = store_regs[index2];
                   1246: 1198  00023484    0d effffff5ee 50                     movl    _index2,r0
                   1247: 1199  0002348B    0d 40effffff5e6                      movl    _store_regs[r0],_sgl_dummy2
                   1248:                   effffff5e1 
                   1249: 1200  00023497                                   #              asm("movl _index2,r6");            /* r6  = bad register #  */
                   1250: 1201  00023497    0d effffff5db 56              movl _index2,r6
                   1251: 1202  0002349E                                   #              asm("movl _sgl_dummy2,r7");        /* r7  = actual value    */
                   1252: 1203  0002349E    0d effffff5d4 57              movl _sgl_dummy2,r7
                   1253: 1204  000234A5                                   #              asm("movl _sgl_dummy1,r8");        /* r8  = expected value  */
                   1254: 1205  000234A5    0d effffff5cd 58              movl _sgl_dummy1,r8
                   1255: 1206  000234AC                                   #         } else
                   1256: 1207  000234AC    11 1b                                jbr     L360
                   1257: 1208  000234AE                                  L359:
                   1258: 1209  000234AE                                   #           if( halt_code == BAD_PSL_HLT ) {
                   1259: 1210  000234AE    1d ad04 03                           cmpl    4(fp),$3
                   1260: 1211  000234B2    21 15                                jneq    L361
                   1261: 1212  000234B4                                   #              asm("movl _init_psl,r6");          /* r6  = initial PSL     */
                   1262: 1213  000234B4    0d effffff5be 56              movl _init_psl,r6
                   1263: 1214  000234BB                                   #              asm("movl _psl_val,r7");           /* r7  = final PSL       */
                   1264: 1215  000234BB    0d effffff5b7 57              movl _psl_val,r7
                   1265: 1216  000234C2                                   #              asm("movl _exp_psl,r8");           /* r8  = expected PSL    */
                   1266: 1217  000234C2    0d effffff5b0 58              movl _exp_psl,r8
                   1267: 1218  000234C9                                   #         };
                   1268: 1219  000234C9                                  L361:
                   1269: 1220  000234C9                                  L360:
                   1270: 1221  000234C9                                   #         asm("halt");                            /* HALT ...              */
                   1271: 1222  000234C9    00                            halt
                   1272: 1223  000234CA                                   # }  
                   1273: 1224  000234CA    40                                   ret#2
                   1274: 1225  000234CB                                         .set    L355,0x0
                   1275: 1226  000234CB                                  L357:
                   1276: 1227  000234CB    13 ff5d                              jbr     L358
                   1277: 1228  000234CE                                         .data
                   1278: 1228  00045F46                                         .data

unix.superglobalmegacorp.com

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