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

1.1       root        1:    1  00000000                                  LL0:
                      2:    2  00000000                                         .data
                      3:    3  00000be8 *                                       .text
                      4:    4  00000000                                         .align  1
                      5:    5  00000000                                         .globl  _ldf
                      6:    6  00000000                                  _ldf:
                      7:    7  0000CA44    0000                                 .word   L215
                      8:    8  0000CA46                                   # #include "fpp_defs.h"
                      9:    9  0000CA46                                   # 
                     10:   10  0000CA46                                   # 
                     11:   11  0000CA46                                   # /*****************************************************************************
                     12:   12  0000CA46                                   # *
                     13:   13  0000CA46                                   # *     LDF_STF - SINGLE PRECISION FLOATING POINT LOAD_STORE  TEST
                     14:   14  0000CA46                                   # *
                     15:   15  0000CA46                                   # *****************************************************************************/
                     16:   16  0000CA46                                   # ldf()
                     17:   17  0000CA46                                   # {
                     18:   18  0000CA46    11 56                                jbr     L217
                     19:   19  0000CA48                                  L218:
                     20:   20  0000CA48                                   #         asm(".globl _ldf_t");
                     21:   21  0000CA48                                  .globl _ldf_t
                     22:   22  0000CA48                                   #         asm("_ldf_t:");                        /* entry address              */
                     23:   23  0000CA48                                  _ldf_t:
                     24:   24  0000CA48                                   #         if( ( cycle == 1 ) && ( prt_hdrs )  )  /* print headers on 1st cycle */
                     25:   25  0000CA48    1d effffffff6 01                     cmpl    _cycle,$1
                     26:   26  0000CA4F    21 15                                jneq    L219
                     27:   27  0000CA51    5d efffffffed                        tstl    _prt_hdrs
                     28:   28  0000CA57    31 0d                                jeql    L219
                     29:   29  0000CA59                                   #            writes(" LDF_STF");
                     30:   30  0000CA59                                         .data   1
                     31:   31  00000be8 *                                L221:
                     32:   32  00000be8 *  204C44465F53544600                   .ascii  " LDF_STF\0"
                     33:   33  00000bf1 *                                       .text
                     34:   34  0000CA59    dd 8f00000be8                        pushl   $L221
                     35:   35  0000CA5F    fe 08 efffffffde                     callf   $8,_writes
                     36:   36  0000CA66                                   #         ldf_1();                               /* load through a register    */
                     37:   37  0000CA66                                  L219:
                     38:   38  0000CA66    fe 04 ef00000033                     callf   $4,_ldf_1
                     39:   39  0000CA6D                                   #         ldf_2();                               /* load through the cache     */
                     40:   40  0000CA6D    fe 04 ef0000014c                     callf   $4,_ldf_2
                     41:   41  0000CA74                                   #         ldf_3();                               /* register stability ldf     */
                     42:   42  0000CA74    fe 04 ef0000025f                     callf   $4,_ldf_3
                     43:   43  0000CA7B                                   #         ldf_4();                               /* register stability stf     */
                     44:   44  0000CA7B    fe 04 ef000003bc                     callf   $4,_ldf_4
                     45:   45  0000CA82                                   #         ldf_5();                               /* PSL stability test -LDF    */
                     46:   46  0000CA82    fe 04 ef00000519                     callf   $4,_ldf_5
                     47:   47  0000CA89                                   #         ldf_6();                               /* PSL stability test -STF    */
                     48:   48  0000CA89    fe 04 ef00000664                     callf   $4,_ldf_6
                     49:   49  0000CA90                                   #         ldf_7();                               /* pipelined entry test       */
                     50:   50  0000CA90    fe 04 ef000007fd                     callf   $4,_ldf_7
                     51:   51  0000CA97                                   #         asm("jmp *return");                    /* return to the test monitor */
                     52:   52  0000CA97    71 ffffffffa7                 jmp *return
                     53:   53  0000CA9D                                   # }
                     54:   54  0000CA9D    40                                   ret#2
                     55:   55  0000CA9E                                         .set    L215,0x0
                     56:   56  0000CA9E                                  L217:
                     57:   57  0000CA9E    11 a8                                jbr     L218
                     58:   58  0000CAA0                                         .data
                     59:   59  00000be8 *                                       .text
                     60:   60  0000CAA0                                         .align  1
                     61:   61  0000CAA0                                         .globl  _ldf_1
                     62:   62  0000CAA0                                  _ldf_1:
                     63:   63  0000CAA0    0000                                 .word   L229
                     64:   64  0000CAA2                                   #  
                     65:   65  0000CAA2                                   # 
                     66:   66  0000CAA2                                   # /************************************************************************
                     67:   67  0000CAA2                                   # *
                     68:   68  0000CAA2                                   # *               SUBTEST 1 - load through a register
                     69:   69  0000CAA2                                   # *
                     70:   70  0000CAA2                                   # ************************************************************************/
                     71:   71  0000CAA2                                   # ldf_1() 
                     72:   72  0000CAA2                                   # {
                     73:   73  0000CAA2    13 0118                              jbr     L231
                     74:   74  0000CAA5                                  L232:
                     75:   75  0000CAA5                                   #         force_loop = FALSE;
                     76:   76  0000CAA5    4d efffffff99                        clrl    _force_loop
                     77:   77  0000CAAB                                   #         subtest = 1;
                     78:   78  0000CAAB    0d 01 efffffff92                     movl    $1,_subtest
                     79:   79  0000CAB2                                   #         for( index = 0; index < max_ldf_1_index; index++ ) {
                     80:   80  0000CAB2    4d efffffff8c                        clrl    _index
                     81:   81  0000CAB8                                  L235:
                     82:   82  0000CAB8    1d efffffff86 efffffff81             cmpl    _index,_max_ldf_1_index
                     83:   83  0000CAC3    91 03 13 00f4                        jgeq    L234
                     84:   84  0000CAC8                                   #              sgl_ld_acc   = ldf_1_data[index].ld;   /* get value to load   */
                     85:   85  0000CAC8    0d efffffff76 50                     movl    _index,r0
                     86:   86  0000CACF    48 03 50 50                          shll    $3,r0,r0
                     87:   87  0000CAD3    0d e000000000 efffffff66             movl    _ldf_1_data(r0),_sgl_ld_acc
                     88:   88  0000CADE                                   #              sgl_expected = ldf_1_data[index].exp;  /* get expected result */
                     89:   89  0000CADE    0d efffffff60 50                     movl    _index,r0
                     90:   90  0000CAE5    48 03 50 50                          shll    $3,r0,r0
                     91:   91  0000CAE9    0d e000000004 efffffff50             movl    _ldf_1_data+4(r0),_sgl_expected
                     92:   92  0000CAF4                                   # /*
                     93:   93  0000CAF4                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                     94:   94  0000CAF4                                   #  * The force loop flag is set after the first error.
                     95:   95  0000CAF4                                   # */
                     96:   96  0000CAF4                                   #              asm("_ldf_1_lp1:");
                     97:   97  0000CAF4                                  _ldf_1_lp1:
                     98:   98  0000CAF4                                   #              asm("movl _sgl_ld_acc,r4");        /* get the value to load   */
                     99:   99  0000CAF4    0d efffffff4a 54              movl _sgl_ld_acc,r4
                    100:  100  0000CAFB                                   #              asm("ldf r4");                     /* load the value          */
                    101:  101  0000CAFB    06 54                         ldf r4
                    102:  102  0000CAFD                                   #              asm("nop");
                    103:  103  0000CAFD    10                            nop
                    104:  104  0000CAFE                                   #              asm("stf r5");                     /* store the result in R5  */
                    105:  105  0000CAFE    26 55                         stf r5
                    106:  106  0000CB00                                   #              if( force_loop )
                    107:  107  0000CB00    5d efffffff3e                        tstl    _force_loop
                    108:  108  0000CB06    31 02                                jeql    L236
                    109:  109  0000CB08                                   #                   asm("brb _ldf_1_lp1");;       /* loop on the error       */
                    110:  110  0000CB08    11 ea                         brb _ldf_1_lp1
                    111:  111  0000CB0A                                  L236:
                    112:  112  0000CB0A                                   # /* 
                    113:  113  0000CB0A                                   #  * end error loop - test the results
                    114:  114  0000CB0A                                   # */
                    115:  115  0000CB0A                                   #              asm("movl r5,_sgl_st_acc");        /* move R5 data to cache  */
                    116:  116  0000CB0A    0d 55 efffffff33              movl r5,_sgl_st_acc
                    117:  117  0000CB11                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                    118:  118  0000CB11    1d efffffff2d efffffff28             cmpl    _sgl_st_acc,_sgl_expected
                    119:  119  0000CB1C    21 03 13 0092                        jeql    L237
                    120:  120  0000CB21                                   #                    errcnt++;                    /* bump the error count   */
                    121:  121  0000CB21    6d efffffff1d                        incl    _errcnt
                    122:  122  0000CB27                                   #                    if( prt_error ) {
                    123:  123  0000CB27    5d efffffff17                        tstl    _prt_error
                    124:  124  0000CB2D    31 61                                jeql    L238
                    125:  125  0000CB2F                                   #                         print_ldf_er_hdr();
                    126:  126  0000CB2F    fe 04 ef00000998                     callf   $4,_print_ldf_er_hdr
                    127:  127  0000CB36                                   #                     writes(" (Reg. Data) - BAD FINAL ACC\n");
                    128:  128  0000CB36                                         .data   1
                    129:  129  00000bf1 *                                L240:
                    130:  130  00000bf1 *  20285265672E2044617461292            .ascii  " (Reg. Data) - BAD FINAL ACC\12\0"
                    131:                   02D204241442046494E414C20
                    132:                   4143430A00
                    133:  131  00000c0f *                                       .text
                    134:  132  0000CB36    dd 8f00000bf1                        pushl   $L240
                    135:  133  0000CB3C    fe 08 efffffff01                     callf   $8,_writes
                    136:  134  0000CB43                                   #                         print_ldf_data();
                    137:  135  0000CB43    fe 04 ef000009f4                     callf   $4,_print_ldf_data
                    138:  136  0000CB4A                                   #                         writes(",  data index = ");
                    139:  137  0000CB4A                                         .data   1
                    140:  138  00000c0f *                                L242:
                    141:  139  00000c0f *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                    142:                   8203D2000
                    143:  140  00000c20 *                                       .text
                    144:  141  0000CB4A    dd 8f00000c0f                        pushl   $L242
                    145:  142  0000CB50    fe 08 effffffeed                     callf   $8,_writes
                    146:  143  0000CB57                                   #                         writed( index );
                    147:  144  0000CB57    dd effffffee7                        pushl   _index
                    148:  145  0000CB5D    fe 08 effffffee0                     callf   $8,_writed
                    149:  146  0000CB64                                   #                         writec('\n');
                    150:  147  0000CB64    dd 0a                                pushl   $10
                    151:  148  0000CB66    fe 08 effffffed7                     callf   $8,_writec
                    152:  149  0000CB6D                                   #                     writes("                       Acc expected = ");
                    153:  150  0000CB6D                                         .data   1
                    154:  151  00000c20 *                                L245:
                    155:  152  00000c20 *  2020202020202020202020202            .ascii  "                       Acc expected = \0"
                    156:                   0202020202020202020204163
                    157:                   63206578706563746564203D2
                    158:                   000
                    159:  153  00000c47 *                                       .text
                    160:  154  0000CB6D    dd 8f00000c20                        pushl   $L245
                    161:  155  0000CB73    fe 08 effffffeca                     callf   $8,_writes
                    162:  156  0000CB7A                                   #                         write32h( sgl_expected );
                    163:  157  0000CB7A    dd effffffec4                        pushl   _sgl_expected
                    164:  158  0000CB80    fe 08 effffffebd                     callf   $8,_write32h
                    165:  159  0000CB87                                   #                         writec('\n');
                    166:  160  0000CB87    dd 0a                                pushl   $10
                    167:  161  0000CB89    fe 08 effffffeb4                     callf   $8,_writec
                    168:  162  0000CB90                                   #                    }
                    169:  163  0000CB90                                   #                    if( halt_flg ) 
                    170:  164  0000CB90                                  L238:
                    171:  165  0000CB90    5d effffffeae                        tstl    _halt_flg
                    172:  166  0000CB96    31 09                                jeql    L247
                    173:  167  0000CB98                                   #                         ldf_er_halt( BAD_ACC_HLT );    /* halt on the error */
                    174:  168  0000CB98    dd 01                                pushl   $1
                    175:  169  0000CB9A    fe 08 ef000009d9                     callf   $8,_ldf_er_halt
                    176:  170  0000CBA1                                   #                    if( loop_on_err ) {
                    177:  171  0000CBA1                                  L247:
                    178:  172  0000CBA1    5d effffffe9d                        tstl    _loop_on_err
                    179:  173  0000CBA7    31 0a                                jeql    L249
                    180:  174  0000CBA9                                   #                         force_loop = TRUE;       /* set the force loop flag */
                    181:  175  0000CBA9    0d 01 effffffe94                     movl    $1,_force_loop
                    182:  176  0000CBB0                                   #                         asm("brw _ldf_1_lp1");;  /* and loop on the error   */
                    183:  177  0000CBB0    13 ff41                       brw _ldf_1_lp1
                    184:  178  0000CBB3                                   #                    } /* end of loop on error */
                    185:  179  0000CBB3                                   #               }   /* end of compare error */
                    186:  180  0000CBB3                                  L249:
                    187:  181  0000CBB3                                   #         }  /* end of WHILE loop */
                    188:  182  0000CBB3                                  L237:
                    189:  183  0000CBB3                                  L233:
                    190:  184  0000CBB3    6d effffffe8b                        incl    _index
                    191:  185  0000CBB9    13 fefc                              jbr     L235
                    192:  186  0000CBBC                                  L234:
                    193:  187  0000CBBC                                   # }  /* end of subtest 1 */
                    194:  188  0000CBBC    40                                   ret#2
                    195:  189  0000CBBD                                         .set    L229,0x0
                    196:  190  0000CBBD                                  L231:
                    197:  191  0000CBBD    13 fee5                              jbr     L232
                    198:  192  0000CBC0                                         .data
                    199:  193  00000be8 *                                       .text
                    200:  194  0000CBC0                                         .align  1
                    201:  195  0000CBC0                                         .globl  _ldf_2
                    202:  196  0000CBC0                                  _ldf_2:
                    203:  197  0000CBC0    0000                                 .word   L250
                    204:  198  0000CBC2                                   #  
                    205:  199  0000CBC2                                   # 
                    206:  200  0000CBC2                                   # 
                    207:  201  0000CBC2                                   # /************************************************************************
                    208:  202  0000CBC2                                   # *
                    209:  203  0000CBC2                                   # *               SUBTEST 2 - load through memory
                    210:  204  0000CBC2                                   # *
                    211:  205  0000CBC2                                   # ************************************************************************/
                    212:  206  0000CBC2                                   # ldf_2() 
                    213:  207  0000CBC2                                   # {
                    214:  208  0000CBC2    13 0112                              jbr     L252
                    215:  209  0000CBC5                                  L253:
                    216:  210  0000CBC5                                   #         force_loop = FALSE;
                    217:  211  0000CBC5    4d effffffe79                        clrl    _force_loop
                    218:  212  0000CBCB                                   #         subtest = 2;
                    219:  213  0000CBCB    0d 02 effffffe72                     movl    $2,_subtest
                    220:  214  0000CBD2                                   #         for( index = 0; index < max_ldf_1_index; index++ ) {
                    221:  215  0000CBD2    4d effffffe6c                        clrl    _index
                    222:  216  0000CBD8                                  L256:
                    223:  217  0000CBD8    1d effffffe66 effffffe61             cmpl    _index,_max_ldf_1_index
                    224:  218  0000CBE3    91 03 13 00ee                        jgeq    L255
                    225:  219  0000CBE8                                   #              sgl_ld_acc   = ldf_1_data[index].ld;   /* get value to load   */
                    226:  220  0000CBE8    0d effffffe56 50                     movl    _index,r0
                    227:  221  0000CBEF    48 03 50 50                          shll    $3,r0,r0
                    228:  222  0000CBF3    0d e000000000 effffffe46             movl    _ldf_1_data(r0),_sgl_ld_acc
                    229:  223  0000CBFE                                   #              sgl_expected = ldf_1_data[index].exp;  /* get expected result */
                    230:  224  0000CBFE    0d effffffe40 50                     movl    _index,r0
                    231:  225  0000CC05    48 03 50 50                          shll    $3,r0,r0
                    232:  226  0000CC09    0d e000000004 effffffe30             movl    _ldf_1_data+4(r0),_sgl_expected
                    233:  227  0000CC14                                   # /*
                    234:  228  0000CC14                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    235:  229  0000CC14                                   #  * The force loop flag is set after the first error.
                    236:  230  0000CC14                                   # */
                    237:  231  0000CC14                                   #              asm("_ldf_2_lp1:");
                    238:  232  0000CC14                                  _ldf_2_lp1:
                    239:  233  0000CC14                                   #              asm("ldf _sgl_ld_acc");            /* load the value          */
                    240:  234  0000CC14    06 effffffe2a                 ldf _sgl_ld_acc
                    241:  235  0000CC1A                                   #              asm("nop");
                    242:  236  0000CC1A    10                            nop
                    243:  237  0000CC1B                                   #              asm("stf _sgl_st_acc");            /* store the result        */
                    244:  238  0000CC1B    26 effffffe23                 stf _sgl_st_acc
                    245:  239  0000CC21                                   #              if( force_loop )
                    246:  240  0000CC21    5d effffffe1d                        tstl    _force_loop
                    247:  241  0000CC27    31 02                                jeql    L257
                    248:  242  0000CC29                                   #                   asm("brb _ldf_2_lp1");;      /* loop on the error       */
                    249:  243  0000CC29    11 e9                         brb _ldf_2_lp1
                    250:  244  0000CC2B                                  L257:
                    251:  245  0000CC2B                                   # /* 
                    252:  246  0000CC2B                                   #  * end error loop - test the results
                    253:  247  0000CC2B                                   # */
                    254:  248  0000CC2B                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                    255:  249  0000CC2B    1d effffffe13 effffffe0e             cmpl    _sgl_st_acc,_sgl_expected
                    256:  250  0000CC36    21 03 13 0092                        jeql    L258
                    257:  251  0000CC3B                                   #                    errcnt++;                    /* bump the error count   */
                    258:  252  0000CC3B    6d effffffe03                        incl    _errcnt
                    259:  253  0000CC41                                   #                    if( prt_error ) {
                    260:  254  0000CC41    5d effffffdfd                        tstl    _prt_error
                    261:  255  0000CC47    31 61                                jeql    L259
                    262:  256  0000CC49                                   #                         print_ldf_er_hdr();
                    263:  257  0000CC49    fe 04 ef0000087e                     callf   $4,_print_ldf_er_hdr
                    264:  258  0000CC50                                   #                     writes(" (Cache Data) - BAD FINAL ACC\n");
                    265:  259  0000CC50                                         .data   1
                    266:  260  00000c47 *                                L260:
                    267:  261  00000c47 *  2028436163686520446174612            .ascii  " (Cache Data) - BAD FINAL ACC\12\0"
                    268:                   9202D204241442046494E414C
                    269:                   204143430A00
                    270:  262  00000c66 *                                       .text
                    271:  263  0000CC50    dd 8f00000c47                        pushl   $L260
                    272:  264  0000CC56    fe 08 effffffde7                     callf   $8,_writes
                    273:  265  0000CC5D                                   #                         print_ldf_data();
                    274:  266  0000CC5D    fe 04 ef000008da                     callf   $4,_print_ldf_data
                    275:  267  0000CC64                                   #                         writes(",  data index = ");
                    276:  268  0000CC64                                         .data   1
                    277:  269  00000c66 *                                L261:
                    278:  270  00000c66 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                    279:                   8203D2000
                    280:  271  00000c77 *                                       .text
                    281:  272  0000CC64    dd 8f00000c66                        pushl   $L261
                    282:  273  0000CC6A    fe 08 effffffdd3                     callf   $8,_writes
                    283:  274  0000CC71                                   #                         writed( index );
                    284:  275  0000CC71    dd effffffdcd                        pushl   _index
                    285:  276  0000CC77    fe 08 effffffdc6                     callf   $8,_writed
                    286:  277  0000CC7E                                   #                         writec('\n');
                    287:  278  0000CC7E    dd 0a                                pushl   $10
                    288:  279  0000CC80    fe 08 effffffdbd                     callf   $8,_writec
                    289:  280  0000CC87                                   #                     writes("                       Acc expected = ");
                    290:  281  0000CC87                                         .data   1
                    291:  282  00000c77 *                                L262:
                    292:  283  00000c77 *  2020202020202020202020202            .ascii  "                       Acc expected = \0"
                    293:                   0202020202020202020204163
                    294:                   63206578706563746564203D2
                    295:                   000
                    296:  284  00000c9e *                                       .text
                    297:  285  0000CC87    dd 8f00000c77                        pushl   $L262
                    298:  286  0000CC8D    fe 08 effffffdb0                     callf   $8,_writes
                    299:  287  0000CC94                                   #                         write32h( sgl_expected );
                    300:  288  0000CC94    dd effffffdaa                        pushl   _sgl_expected
                    301:  289  0000CC9A    fe 08 effffffda3                     callf   $8,_write32h
                    302:  290  0000CCA1                                   #                         writec('\n');
                    303:  291  0000CCA1    dd 0a                                pushl   $10
                    304:  292  0000CCA3    fe 08 effffffd9a                     callf   $8,_writec
                    305:  293  0000CCAA                                   #                    }
                    306:  294  0000CCAA                                   #                    if( halt_flg ) 
                    307:  295  0000CCAA                                  L259:
                    308:  296  0000CCAA    5d effffffd94                        tstl    _halt_flg
                    309:  297  0000CCB0    31 09                                jeql    L263
                    310:  298  0000CCB2                                   #                         ldf_er_halt( BAD_ACC_HLT );    /* halt on the error */
                    311:  299  0000CCB2    dd 01                                pushl   $1
                    312:  300  0000CCB4    fe 08 ef000008bf                     callf   $8,_ldf_er_halt
                    313:  301  0000CCBB                                   #                    if( loop_on_err ) {
                    314:  302  0000CCBB                                  L263:
                    315:  303  0000CCBB    5d effffffd83                        tstl    _loop_on_err
                    316:  304  0000CCC1    31 0a                                jeql    L264
                    317:  305  0000CCC3                                   #                         force_loop = TRUE;       /* set the force loop flag */
                    318:  306  0000CCC3    0d 01 effffffd7a                     movl    $1,_force_loop
                    319:  307  0000CCCA                                   #                         asm("brw _ldf_2_lp1");;  /* and loop on the error   */
                    320:  308  0000CCCA    13 ff47                       brw _ldf_2_lp1
                    321:  309  0000CCCD                                   #                    } /* end of loop on error */
                    322:  310  0000CCCD                                   #              }   /* end of compare error */
                    323:  311  0000CCCD                                  L264:
                    324:  312  0000CCCD                                   #         }  /* end of WHILE loop */
                    325:  313  0000CCCD                                  L258:
                    326:  314  0000CCCD                                  L254:
                    327:  315  0000CCCD    6d effffffd71                        incl    _index
                    328:  316  0000CCD3    13 ff02                              jbr     L256
                    329:  317  0000CCD6                                  L255:
                    330:  318  0000CCD6                                   # }  /* end of subtest 2 */
                    331:  319  0000CCD6    40                                   ret#2
                    332:  320  0000CCD7                                         .set    L250,0x0
                    333:  321  0000CCD7                                  L252:
                    334:  322  0000CCD7    13 feeb                              jbr     L253
                    335:  323  0000CCDA                                         .data
                    336:  324  00000be8 *                                       .text
                    337:  325  0000CCDA                                         .align  1
                    338:  326  0000CCDA                                         .globl  _ldf_3
                    339:  327  0000CCDA                                  _ldf_3:
                    340:  328  0000CCDA    0000                                 .word   L265
                    341:  329  0000CCDC                                   #  
                    342:  330  0000CCDC                                   # 
                    343:  331  0000CCDC                                   # 
                    344:  332  0000CCDC                                   # /************************************************************************
                    345:  333  0000CCDC                                   # *
                    346:  334  0000CCDC                                   # *       SUBTEST 3 - Check for register corruption (ldf)
                    347:  335  0000CCDC                                   # *
                    348:  336  0000CCDC                                   # ************************************************************************/
                    349:  337  0000CCDC                                   # ldf_3() 
                    350:  338  0000CCDC                                   # {
                    351:  339  0000CCDC    13 015c                              jbr     L267
                    352:  340  0000CCDF                                  L268:
                    353:  341  0000CCDF                                   #         force_loop = FALSE;                     /* clear force_loop flg */
                    354:  342  0000CCDF    4d effffffd5f                        clrl    _force_loop
                    355:  343  0000CCE5                                   #         subtest = 3;
                    356:  344  0000CCE5    0d 03 effffffd58                     movl    $3,_subtest
                    357:  345  0000CCEC                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
                    358:  346  0000CCEC    dd 8f00000000                        pushl   $_load_regs
                    359:  347  0000CCF2    fe 08 effffffd4b                     callf   $8,_fill_reg_buf
                    360:  348  0000CCF9                                   #         index = 0;
                    361:  349  0000CCF9    4d effffffd45                        clrl    _index
                    362:  350  0000CCFF                                   #         sgl_ld_acc   = ldf_1_data[0].ld;       /* get value to load   */
                    363:  351  0000CCFF    0d effffffd3f effffffd3a             movl    _ldf_1_data,_sgl_ld_acc
                    364:  352  0000CD0A                                   #         sgl_expected = ldf_1_data[0].exp;      /* get expected result */
                    365:  353  0000CD0A    0d effffffd38 effffffd2f             movl    _ldf_1_data+4,_sgl_expected
                    366:  354  0000CD15                                   # /*
                    367:  355  0000CD15                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    368:  356  0000CD15                                   #  * The force loop flag is set after the first error.
                    369:  357  0000CD15                                   # */
                    370:  358  0000CD15                                   #         asm("_ldf_3_lp1:");
                    371:  359  0000CD15                                  _ldf_3_lp1:
                    372:  360  0000CD15                                   #         asm("loadr $0x1fff,_load_regs");        /* load regs 0 - 12      */
                    373:  361  0000CD15    ab 891fff effffffd26          loadr $0x1fff,_load_regs
                    374:  362  0000CD1E                                   #         asm("nop");
                    375:  363  0000CD1E    10                            nop
                    376:  364  0000CD1F                                   #         asm("ldf _sgl_ld_acc");                 /* load the accumulator  */
                    377:  365  0000CD1F    06 effffffd1f                 ldf _sgl_ld_acc
                    378:  366  0000CD25                                   #         asm("nop");
                    379:  367  0000CD25    10                            nop
                    380:  368  0000CD26                                   #         asm("storer $0x1fff,_store_regs");      /* store regs 0 - 12 */
                    381:  369  0000CD26    bb 891fff effffffd15          storer $0x1fff,_store_regs
                    382:  370  0000CD2F                                   #         asm("nop");
                    383:  371  0000CD2F    10                            nop
                    384:  372  0000CD30                                   #         asm("stf _sgl_st_acc");                 /* save the accumulator  */
                    385:  373  0000CD30    26 effffffd0e                 stf _sgl_st_acc
                    386:  374  0000CD36                                   #         if( force_loop )
                    387:  375  0000CD36    5d effffffd08                        tstl    _force_loop
                    388:  376  0000CD3C    31 02                                jeql    L270
                    389:  377  0000CD3E                                   #              asm("brb _ldf_3_lp1");;           /* loop on the error     */
                    390:  378  0000CD3E    11 d5                         brb _ldf_3_lp1
                    391:  379  0000CD40                                  L270:
                    392:  380  0000CD40                                   # /*
                    393:  381  0000CD40                                   #  * Now compare the stored register values to those that were loaded
                    394:  382  0000CD40                                   # */
                    395:  383  0000CD40                                   #         index2 = 0;
                    396:  384  0000CD40    4d effffffcfe                        clrl    _index2
                    397:  385  0000CD46                                   #         while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
                    398:  386  0000CD46                                  L271:
                    399:  387  0000CD46    0d effffffcf8 50                     movl    _index2,r0
                    400:  388  0000CD4D    0d effffffcf1 51                     movl    _index2,r1
                    401:  389  0000CD54    1d 40effffffce9                      cmpl    _load_regs[r0],_store_regs[r1]
                    402:                   41effffffce3 
                    403:  390  0000CD61    21 11                                jneq    L272
                    404:  391  0000CD63    1d effffffcdb 0d                     cmpl    _index2,$13
                    405:  392  0000CD6A    81 08                                jgeq    L272
                    406:  393  0000CD6C                                   #              index2++;                          /* check reg values        */
                    407:  394  0000CD6C    6d effffffcd2                        incl    _index2
                    408:  395  0000CD72    11 d2                                jbr     L271
                    409:  396  0000CD74                                  L272:
                    410:  397  0000CD74                                   #         if( index2 < 13 ) {                     /* error if index2 < 13    */
                    411:  398  0000CD74    1d effffffcca 0d                     cmpl    _index2,$13
                    412:  399  0000CD7B    91 03 13 00ba                        jgeq    L273
                    413:  400  0000CD80                                   #              errcnt++;                          /* bump the error count    */
                    414:  401  0000CD80    6d effffffcbe                        incl    _errcnt
                    415:  402  0000CD86                                   #              if( prt_error ) {
                    416:  403  0000CD86    5d effffffcb8                        tstl    _prt_error
                    417:  404  0000CD8C    21 03 13 0086                        jeql    L274
                    418:  405  0000CD91                                   #                   print_ldf_er_hdr();
                    419:  406  0000CD91    fe 04 ef00000736                     callf   $4,_print_ldf_er_hdr
                    420:  407  0000CD98                                   #               writes(" - A REGISTER WAS MODIFIED\n");
                    421:  408  0000CD98                                         .data   1
                    422:  409  00000c9e *                                L275:
                    423:  410  00000c9e *  202D204120524547495354455            .ascii  " - A REGISTER WAS MODIFIED\12\0"
                    424:                   220574153204D4F4449464945
                    425:                   440A00
                    426:  411  00000cba *                                       .text
                    427:  412  0000CD98    dd 8f00000c9e                        pushl   $L275
                    428:  413  0000CD9E    fe 08 effffffc9f                     callf   $8,_writes
                    429:  414  0000CDA5                                   #                   print_ldf_data();
                    430:  415  0000CDA5    fe 04 ef00000792                     callf   $4,_print_ldf_data
                    431:  416  0000CDAC                                   #                   writes("register ");          /* print the information   */
                    432:  417  0000CDAC                                         .data   1
                    433:  418  00000cba *                                L276:
                    434:  419  00000cba *  72656769737465722000                 .ascii  "register \0"
                    435:  420  00000cc4 *                                       .text
                    436:  421  0000CDAC    dd 8f00000cba                        pushl   $L276
                    437:  422  0000CDB2    fe 08 effffffc8b                     callf   $8,_writes
                    438:  423  0000CDB9                                   #                   writed( index2 );             /*    about the corrupted  */
                    439:  424  0000CDB9    dd effffffc85                        pushl   _index2
                    440:  425  0000CDBF    fe 08 effffffc7e                     callf   $8,_writed
                    441:  426  0000CDC6                                   #                   writes(" = ");                /*        register         */
                    442:  427  0000CDC6                                         .data   1
                    443:  428  00000cc4 *                                L277:
                    444:  429  00000cc4 *  203D2000                             .ascii  " = \0"
                    445:  430  00000cc8 *                                       .text
                    446:  431  0000CDC6    dd 8f00000cc4                        pushl   $L277
                    447:  432  0000CDCC    fe 08 effffffc71                     callf   $8,_writes
                    448:  433  0000CDD3                                   #                   write32h( store_regs[index2] );
                    449:  434  0000CDD3    0d effffffc6b 50                     movl    _index2,r0
                    450:  435  0000CDDA    dd 40effffffc63                      pushl   _store_regs[r0]
                    451:  436  0000CDE1    fe 08 effffffc5c                     callf   $8,_write32h
                    452:  437  0000CDE8                                   #                   writes(",  should be = ");
                    453:  438  0000CDE8                                         .data   1
                    454:  439  00000cc8 *                                L278:
                    455:  440  00000cc8 *  2C202073686F756C642062652            .ascii  ",  should be = \0"
                    456:                   03D2000
                    457:  441  00000cd8 *                                       .text
                    458:  442  0000CDE8    dd 8f00000cc8                        pushl   $L278
                    459:  443  0000CDEE    fe 08 effffffc4f                     callf   $8,_writes
                    460:  444  0000CDF5                                   #                   write32h( load_regs[index2] );
                    461:  445  0000CDF5    0d effffffc49 50                     movl    _index2,r0
                    462:  446  0000CDFC    dd 40effffffc41                      pushl   _load_regs[r0]
                    463:  447  0000CE03    fe 08 effffffc3a                     callf   $8,_write32h
                    464:  448  0000CE0A                                   #                   writes("\n");
                    465:  449  0000CE0A                                         .data   1
                    466:  450  00000cd8 *                                L279:
                    467:  451  00000cd8 *  0A00                                 .ascii  "\12\0"
                    468:  452  00000cda *                                       .text
                    469:  453  0000CE0A    dd 8f00000cd8                        pushl   $L279
                    470:  454  0000CE10    fe 08 effffffc2d                     callf   $8,_writes
                    471:  455  0000CE17                                   #              }
                    472:  456  0000CE17                                   #              if( halt_flg )   
                    473:  457  0000CE17                                  L274:
                    474:  458  0000CE17    5d effffffc27                        tstl    _halt_flg
                    475:  459  0000CE1D    31 09                                jeql    L280
                    476:  460  0000CE1F                                   #                   ldf_er_halt( BAD_REG_HLT );  /* halt on the error      */
                    477:  461  0000CE1F    dd 02                                pushl   $2
                    478:  462  0000CE21    fe 08 ef00000752                     callf   $8,_ldf_er_halt
                    479:  463  0000CE28                                   #              if( loop_on_err ) {
                    480:  464  0000CE28                                  L280:
                    481:  465  0000CE28    5d effffffc16                        tstl    _loop_on_err
                    482:  466  0000CE2E    31 0a                                jeql    L281
                    483:  467  0000CE30                                   #                   force_loop = TRUE;       /* set the force loop flag */
                    484:  468  0000CE30    0d 01 effffffc0d                     movl    $1,_force_loop
                    485:  469  0000CE37                                   #                   asm("brw _ldf_3_lp1");   /* and loop on the error   */
                    486:  470  0000CE37    13 fedb                       brw _ldf_3_lp1
                    487:  471  0000CE3A                                   #              } /* end of loop on error */
                    488:  472  0000CE3A                                   #         }  /* end of register corruption error */
                    489:  473  0000CE3A                                  L281:
                    490:  474  0000CE3A                                   # }  /* end of subtest 3 */
                    491:  475  0000CE3A                                  L273:
                    492:  476  0000CE3A    40                                   ret#2
                    493:  477  0000CE3B                                         .set    L265,0x0
                    494:  478  0000CE3B                                  L267:
                    495:  479  0000CE3B    13 fea1                              jbr     L268
                    496:  480  0000CE3E                                         .data
                    497:  481  00000be8 *                                       .text
                    498:  482  0000CE3E                                         .align  1
                    499:  483  0000CE3E                                         .globl  _ldf_4
                    500:  484  0000CE3E                                  _ldf_4:
                    501:  485  0000CE3E    0000                                 .word   L282
                    502:  486  0000CE40                                   #   
                    503:  487  0000CE40                                   # 
                    504:  488  0000CE40                                   # 
                    505:  489  0000CE40                                   # /************************************************************************
                    506:  490  0000CE40                                   # *
                    507:  491  0000CE40                                   # *       SUBTEST 4 - Check for register corruption (stf)
                    508:  492  0000CE40                                   # *
                    509:  493  0000CE40                                   # ************************************************************************/
                    510:  494  0000CE40                                   # ldf_4() 
                    511:  495  0000CE40                                   # {
                    512:  496  0000CE40    13 015c                              jbr     L284
                    513:  497  0000CE43                                  L285:
                    514:  498  0000CE43                                   #         force_loop = FALSE;                     /* clear force_loop flg */
                    515:  499  0000CE43    4d effffffbfb                        clrl    _force_loop
                    516:  500  0000CE49                                   #         subtest = 4;
                    517:  501  0000CE49    0d 04 effffffbf4                     movl    $4,_subtest
                    518:  502  0000CE50                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
                    519:  503  0000CE50    dd 8f00000000                        pushl   $_load_regs
                    520:  504  0000CE56    fe 08 effffffbe7                     callf   $8,_fill_reg_buf
                    521:  505  0000CE5D                                   #         index = 0;
                    522:  506  0000CE5D    4d effffffbe1                        clrl    _index
                    523:  507  0000CE63                                   #         sgl_ld_acc   = ldf_1_data[0].ld;       /* get value to store  */
                    524:  508  0000CE63    0d effffffbdb effffffbd6             movl    _ldf_1_data,_sgl_ld_acc
                    525:  509  0000CE6E                                   #         sgl_expected = ldf_1_data[0].exp;      /* get expected result */
                    526:  510  0000CE6E    0d effffffbd4 effffffbcb             movl    _ldf_1_data+4,_sgl_expected
                    527:  511  0000CE79                                   # /*
                    528:  512  0000CE79                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    529:  513  0000CE79                                   #  * The force loop flag is set after the first error.
                    530:  514  0000CE79                                   # */
                    531:  515  0000CE79                                   #         asm("_ldf_4_lp1:");
                    532:  516  0000CE79                                  _ldf_4_lp1:
                    533:  517  0000CE79                                   #         asm("ldf _sgl_ld_acc");                 /* load the accumulator  */
                    534:  518  0000CE79    06 effffffbc5                 ldf _sgl_ld_acc
                    535:  519  0000CE7F                                   #         asm("nop");
                    536:  520  0000CE7F    10                            nop
                    537:  521  0000CE80                                   #         asm("loadr $0x1fff,_load_regs");        /* load regs 0 - 12      */
                    538:  522  0000CE80    ab 891fff effffffbbb          loadr $0x1fff,_load_regs
                    539:  523  0000CE89                                   #         asm("nop");
                    540:  524  0000CE89    10                            nop
                    541:  525  0000CE8A                                   #         asm("stf _sgl_st_acc");                 /* save the accumulator  */
                    542:  526  0000CE8A    26 effffffbb4                 stf _sgl_st_acc
                    543:  527  0000CE90                                   #         asm("nop");
                    544:  528  0000CE90    10                            nop
                    545:  529  0000CE91                                   #         asm("storer $0x1fff,_store_regs");      /* store regs 0 - 12 */
                    546:  530  0000CE91    bb 891fff effffffbaa          storer $0x1fff,_store_regs
                    547:  531  0000CE9A                                   #         if( force_loop )
                    548:  532  0000CE9A    5d effffffba4                        tstl    _force_loop
                    549:  533  0000CEA0    31 02                                jeql    L286
                    550:  534  0000CEA2                                   #              asm("brb _ldf_4_lp1");;           /* loop on the error     */
                    551:  535  0000CEA2    11 d5                         brb _ldf_4_lp1
                    552:  536  0000CEA4                                  L286:
                    553:  537  0000CEA4                                   # /*
                    554:  538  0000CEA4                                   #  * Now compare the stored register values to those that were loaded
                    555:  539  0000CEA4                                   # */
                    556:  540  0000CEA4                                   #         index2 = 0;
                    557:  541  0000CEA4    4d effffffb9a                        clrl    _index2
                    558:  542  0000CEAA                                   #         while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
                    559:  543  0000CEAA                                  L287:
                    560:  544  0000CEAA    0d effffffb94 50                     movl    _index2,r0
                    561:  545  0000CEB1    0d effffffb8d 51                     movl    _index2,r1
                    562:  546  0000CEB8    1d 40effffffb85                      cmpl    _load_regs[r0],_store_regs[r1]
                    563:                   41effffffb7f 
                    564:  547  0000CEC5    21 11                                jneq    L288
                    565:  548  0000CEC7    1d effffffb77 0d                     cmpl    _index2,$13
                    566:  549  0000CECE    81 08                                jgeq    L288
                    567:  550  0000CED0                                   #              index2++;                          /* check reg values        */
                    568:  551  0000CED0    6d effffffb6e                        incl    _index2
                    569:  552  0000CED6    11 d2                                jbr     L287
                    570:  553  0000CED8                                  L288:
                    571:  554  0000CED8                                   #         if( index2 < 13 ) {                     /* error if index2 < 13    */
                    572:  555  0000CED8    1d effffffb66 0d                     cmpl    _index2,$13
                    573:  556  0000CEDF    91 03 13 00ba                        jgeq    L289
                    574:  557  0000CEE4                                   #              errcnt++;                          /* bump the error count    */
                    575:  558  0000CEE4    6d effffffb5a                        incl    _errcnt
                    576:  559  0000CEEA                                   #              if( prt_error ) {
                    577:  560  0000CEEA    5d effffffb54                        tstl    _prt_error
                    578:  561  0000CEF0    21 03 13 0086                        jeql    L290
                    579:  562  0000CEF5                                   #                   print_ldf_er_hdr();
                    580:  563  0000CEF5    fe 04 ef000005d2                     callf   $4,_print_ldf_er_hdr
                    581:  564  0000CEFC                                   #               writes(" - A REGISTER WAS MODIFIED\n");
                    582:  565  0000CEFC                                         .data   1
                    583:  566  00000cda *                                L291:
                    584:  567  00000cda *  202D204120524547495354455            .ascii  " - A REGISTER WAS MODIFIED\12\0"
                    585:                   220574153204D4F4449464945
                    586:                   440A00
                    587:  568  00000cf6 *                                       .text
                    588:  569  0000CEFC    dd 8f00000cda                        pushl   $L291
                    589:  570  0000CF02    fe 08 effffffb3b                     callf   $8,_writes
                    590:  571  0000CF09                                   #                   print_ldf_data();
                    591:  572  0000CF09    fe 04 ef0000062e                     callf   $4,_print_ldf_data
                    592:  573  0000CF10                                   #                   writes("register ");          /* print the information   */
                    593:  574  0000CF10                                         .data   1
                    594:  575  00000cf6 *                                L292:
                    595:  576  00000cf6 *  72656769737465722000                 .ascii  "register \0"
                    596:  577  00000d00 *                                       .text
                    597:  578  0000CF10    dd 8f00000cf6                        pushl   $L292
                    598:  579  0000CF16    fe 08 effffffb27                     callf   $8,_writes
                    599:  580  0000CF1D                                   #                   writed( index2 );             /*    about the corrupted  */
                    600:  581  0000CF1D    dd effffffb21                        pushl   _index2
                    601:  582  0000CF23    fe 08 effffffb1a                     callf   $8,_writed
                    602:  583  0000CF2A                                   #                   writes(" = ");                /*        register         */
                    603:  584  0000CF2A                                         .data   1
                    604:  585  00000d00 *                                L293:
                    605:  586  00000d00 *  203D2000                             .ascii  " = \0"
                    606:  587  00000d04 *                                       .text
                    607:  588  0000CF2A    dd 8f00000d00                        pushl   $L293
                    608:  589  0000CF30    fe 08 effffffb0d                     callf   $8,_writes
                    609:  590  0000CF37                                   #                   write32h( store_regs[index2] );
                    610:  591  0000CF37    0d effffffb07 50                     movl    _index2,r0
                    611:  592  0000CF3E    dd 40effffffaff                      pushl   _store_regs[r0]
                    612:  593  0000CF45    fe 08 effffffaf8                     callf   $8,_write32h
                    613:  594  0000CF4C                                   #                   writes(",  should be = ");
                    614:  595  0000CF4C                                         .data   1
                    615:  596  00000d04 *                                L294:
                    616:  597  00000d04 *  2C202073686F756C642062652            .ascii  ",  should be = \0"
                    617:                   03D2000
                    618:  598  00000d14 *                                       .text
                    619:  599  0000CF4C    dd 8f00000d04                        pushl   $L294
                    620:  600  0000CF52    fe 08 effffffaeb                     callf   $8,_writes
                    621:  601  0000CF59                                   #                   write32h( load_regs[index2] );
                    622:  602  0000CF59    0d effffffae5 50                     movl    _index2,r0
                    623:  603  0000CF60    dd 40effffffadd                      pushl   _load_regs[r0]
                    624:  604  0000CF67    fe 08 effffffad6                     callf   $8,_write32h
                    625:  605  0000CF6E                                   #                   writes("\n");
                    626:  606  0000CF6E                                         .data   1
                    627:  607  00000d14 *                                L295:
                    628:  608  00000d14 *  0A00                                 .ascii  "\12\0"
                    629:  609  00000d16 *                                       .text
                    630:  610  0000CF6E    dd 8f00000d14                        pushl   $L295
                    631:  611  0000CF74    fe 08 effffffac9                     callf   $8,_writes
                    632:  612  0000CF7B                                   #              }
                    633:  613  0000CF7B                                   #              if( halt_flg )   
                    634:  614  0000CF7B                                  L290:
                    635:  615  0000CF7B    5d effffffac3                        tstl    _halt_flg
                    636:  616  0000CF81    31 09                                jeql    L296
                    637:  617  0000CF83                                   #                   ldf_er_halt( BAD_REG_HLT );  /* halt on the error      */
                    638:  618  0000CF83    dd 02                                pushl   $2
                    639:  619  0000CF85    fe 08 ef000005ee                     callf   $8,_ldf_er_halt
                    640:  620  0000CF8C                                   #              if( loop_on_err ) {
                    641:  621  0000CF8C                                  L296:
                    642:  622  0000CF8C    5d effffffab2                        tstl    _loop_on_err
                    643:  623  0000CF92    31 0a                                jeql    L297
                    644:  624  0000CF94                                   #                   force_loop = TRUE;       /* set the force loop flag */
                    645:  625  0000CF94    0d 01 effffffaa9                     movl    $1,_force_loop
                    646:  626  0000CF9B                                   #                   asm("brw _ldf_4_lp1");   /* and loop on the error   */
                    647:  627  0000CF9B    13 fedb                       brw _ldf_4_lp1
                    648:  628  0000CF9E                                   #              } /* end of loop on error */
                    649:  629  0000CF9E                                   #         }  /* end of register corruption error */
                    650:  630  0000CF9E                                  L297:
                    651:  631  0000CF9E                                   # }  /* end of subtest 4 */
                    652:  632  0000CF9E                                  L289:
                    653:  633  0000CF9E    40                                   ret#2
                    654:  634  0000CF9F                                         .set    L282,0x0
                    655:  635  0000CF9F                                  L284:
                    656:  636  0000CF9F    13 fea1                              jbr     L285
                    657:  637  0000CFA2                                         .data
                    658:  638  00000be8 *                                       .text
                    659:  639  0000CFA2                                         .align  1
                    660:  640  0000CFA2                                         .globl  _ldf_5
                    661:  641  0000CFA2                                  _ldf_5:
                    662:  642  0000CFA2    0000                                 .word   L298
                    663:  643  0000CFA4                                   #   
                    664:  644  0000CFA4                                   # 
                    665:  645  0000CFA4                                   # 
                    666:  646  0000CFA4                                   # /************************************************************************
                    667:  647  0000CFA4                                   # *
                    668:  648  0000CFA4                                   # *       SUBTEST 5 - Check for PSL corruption (ldf)
                    669:  649  0000CFA4                                   # *
                    670:  650  0000CFA4                                   # ************************************************************************/
                    671:  651  0000CFA4                                   # ldf_5() 
                    672:  652  0000CFA4                                   # {
                    673:  653  0000CFA4    13 014a                              jbr     L300
                    674:  654  0000CFA7                                  L301:
                    675:  655  0000CFA7                                   #         force_loop = FALSE;                     /* clear force_loop flg */
                    676:  656  0000CFA7    4d effffffa97                        clrl    _force_loop
                    677:  657  0000CFAD                                   #         subtest = 5;
                    678:  658  0000CFAD    0d 05 effffffa90                     movl    $5,_subtest
                    679:  659  0000CFB4                                   #         for( index = 0; index < 3; index++ ) {
                    680:  660  0000CFB4    4d effffffa8a                        clrl    _index
                    681:  661  0000CFBA                                  L304:
                    682:  662  0000CFBA    1d effffffa84 03                     cmpl    _index,$3
                    683:  663  0000CFC1    91 03 13 012a                        jgeq    L303
                    684:  664  0000CFC6                                   #              sgl_ld_acc   = ldf_1_data[index].ld;      /* get value to load */
                    685:  665  0000CFC6    0d effffffa78 50                     movl    _index,r0
                    686:  666  0000CFCD    48 03 50 50                          shll    $3,r0,r0
                    687:  667  0000CFD1    0d e000000000 effffffa68             movl    _ldf_1_data(r0),_sgl_ld_acc
                    688:  668  0000CFDC                                   #              sgl_expected = ldf_1_data[index].exp;     /* get expected  */
                    689:  669  0000CFDC    0d effffffa62 50                     movl    _index,r0
                    690:  670  0000CFE3    48 03 50 50                          shll    $3,r0,r0
                    691:  671  0000CFE7    0d e000000004 effffffa52             movl    _ldf_1_data+4(r0),_sgl_expected
                    692:  672  0000CFF2                                   #              sgl_dummy1 = status_array[status_index];    /* status = +, -, 0 */
                    693:  673  0000CFF2    0d effffffa4c 50                     movl    _status_index,r0
                    694:  674  0000CFF9    0d 40effffffa44                      movl    _status_array[r0],_sgl_dummy1
                    695:                   effffffa3f 
                    696:  675  0000D005                                   # /*
                    697:  676  0000D005                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    698:  677  0000D005                                   #  * The force loop flag is set after the first error.
                    699:  678  0000D005                                   # */
                    700:  679  0000D005                                   #              asm("_ldf_5_lp1:");
                    701:  680  0000D005                                  _ldf_5_lp1:
                    702:  681  0000D005                                   #              asm("tstl _sgl_dummy1");               /* set the PSL status    */
                    703:  682  0000D005    5d effffffa39                 tstl _sgl_dummy1
                    704:  683  0000D00B                                   #          asm("movpsl _init_psl");           /* save the initial PSL  */
                    705:  684  0000D00B    cd effffffa33                 movpsl _init_psl
                    706:  685  0000D011                                   #              asm("nop");
                    707:  686  0000D011    10                            nop
                    708:  687  0000D012                                   #              asm("ldf _sgl_ld_acc");            /* load the accumulator  */
                    709:  688  0000D012    06 effffffa2c                 ldf _sgl_ld_acc
                    710:  689  0000D018                                   #              asm("nop");
                    711:  690  0000D018    10                            nop
                    712:  691  0000D019                                   #              asm("movpsl _psl_val");            /* save the final PSL    */
                    713:  692  0000D019    cd effffffa25                 movpsl _psl_val
                    714:  693  0000D01F                                   #              asm("nop");
                    715:  694  0000D01F    10                            nop
                    716:  695  0000D020                                   #              asm("stf _sgl_st_acc");            /* save the accumulator  */
                    717:  696  0000D020    26 effffffa1e                 stf _sgl_st_acc
                    718:  697  0000D026                                   #              if( force_loop )
                    719:  698  0000D026    5d effffffa18                        tstl    _force_loop
                    720:  699  0000D02C    31 02                                jeql    L305
                    721:  700  0000D02E                                   #                   asm("brb _ldf_5_lp1");;      /* loop on the error     */
                    722:  701  0000D02E    11 d5                         brb _ldf_5_lp1
                    723:  702  0000D030                                  L305:
                    724:  703  0000D030                                   # /*
                    725:  704  0000D030                                   #  * Now compare the final PSL to the initial PSL -they should be the same
                    726:  705  0000D030                                   # */
                    727:  706  0000D030                                   #              if( psl_val != init_psl ) {
                    728:  707  0000D030    1d effffffa0e effffffa09             cmpl    _psl_val,_init_psl
                    729:  708  0000D03B    21 03 13 00a7                        jeql    L306
                    730:  709  0000D040                                   #                   errcnt++;                     /* bump the error count    */
                    731:  710  0000D040    6d effffff9fe                        incl    _errcnt
                    732:  711  0000D046                                   #                   if( prt_error ) {
                    733:  712  0000D046    5d effffff9f8                        tstl    _prt_error
                    734:  713  0000D04C    31 76                                jeql    L307
                    735:  714  0000D04E                                   #                        print_ldf_er_hdr();
                    736:  715  0000D04E    fe 04 ef00000479                     callf   $4,_print_ldf_er_hdr
                    737:  716  0000D055                                   #                    writes(" - INCORRECT FINAL PSL\n");
                    738:  717  0000D055                                         .data   1
                    739:  718  00000d16 *                                L308:
                    740:  719  00000d16 *  202D20494E434F52524543542            .ascii  " - INCORRECT FINAL PSL\12\0"
                    741:                   046494E414C2050534C0A00
                    742:  720  00000d2e *                                       .text
                    743:  721  0000D055    dd 8f00000d16                        pushl   $L308
                    744:  722  0000D05B    fe 08 effffff9e2                     callf   $8,_writes
                    745:  723  0000D062                                   #                        print_ldf_data();
                    746:  724  0000D062    fe 04 ef000004d5                     callf   $4,_print_ldf_data
                    747:  725  0000D069                                   #                        writes("initial PSL = ");
                    748:  726  0000D069                                         .data   1
                    749:  727  00000d2e *                                L309:
                    750:  728  00000d2e *  696E697469616C2050534C203            .ascii  "initial PSL = \0"
                    751:                   D2000
                    752:  729  00000d3d *                                       .text
                    753:  730  0000D069    dd 8f00000d2e                        pushl   $L309
                    754:  731  0000D06F    fe 08 effffff9ce                     callf   $8,_writes
                    755:  732  0000D076                                   #                        write32h( init_psl );
                    756:  733  0000D076    dd effffff9c8                        pushl   _init_psl
                    757:  734  0000D07C    fe 08 effffff9c1                     callf   $8,_write32h
                    758:  735  0000D083                                   #                        writes(",   final PSL = ");
                    759:  736  0000D083                                         .data   1
                    760:  737  00000d3d *                                L310:
                    761:  738  00000d3d *  2C20202066696E616C2050534            .ascii  ",   final PSL = \0"
                    762:                   C203D2000
                    763:  739  00000d4e *                                       .text
                    764:  740  0000D083    dd 8f00000d3d                        pushl   $L310
                    765:  741  0000D089    fe 08 effffff9b4                     callf   $8,_writes
                    766:  742  0000D090                                   #                        write32h( psl_val );
                    767:  743  0000D090    dd effffff9ae                        pushl   _psl_val
                    768:  744  0000D096    fe 08 effffff9a7                     callf   $8,_write32h
                    769:  745  0000D09D                                   #                        writes(",  expected PSL = ");
                    770:  746  0000D09D                                         .data   1
                    771:  747  00000d4e *                                L311:
                    772:  748  00000d4e *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
                    773:                   0534C203D2000
                    774:  749  00000d61 *                                       .text
                    775:  750  0000D09D    dd 8f00000d4e                        pushl   $L311
                    776:  751  0000D0A3    fe 08 effffff99a                     callf   $8,_writes
                    777:  752  0000D0AA                                   #                        write32h( exp_psl );
                    778:  753  0000D0AA    dd effffff994                        pushl   _exp_psl
                    779:  754  0000D0B0    fe 08 effffff98d                     callf   $8,_write32h
                    780:  755  0000D0B7                                   #                        writes("\n");
                    781:  756  0000D0B7                                         .data   1
                    782:  757  00000d61 *                                L312:
                    783:  758  00000d61 *  0A00                                 .ascii  "\12\0"
                    784:  759  00000d63 *                                       .text
                    785:  760  0000D0B7    dd 8f00000d61                        pushl   $L312
                    786:  761  0000D0BD    fe 08 effffff980                     callf   $8,_writes
                    787:  762  0000D0C4                                   #                   }
                    788:  763  0000D0C4                                   #                   if( halt_flg )   
                    789:  764  0000D0C4                                  L307:
                    790:  765  0000D0C4    5d effffff97a                        tstl    _halt_flg
                    791:  766  0000D0CA    31 09                                jeql    L313
                    792:  767  0000D0CC                                   #                        ldf_er_halt( BAD_PSL_HLT );   /* halt on the error */
                    793:  768  0000D0CC    dd 03                                pushl   $3
                    794:  769  0000D0CE    fe 08 ef000004a5                     callf   $8,_ldf_er_halt
                    795:  770  0000D0D5                                   #                   if( loop_on_err ) {
                    796:  771  0000D0D5                                  L313:
                    797:  772  0000D0D5    5d effffff969                        tstl    _loop_on_err
                    798:  773  0000D0DB    31 0a                                jeql    L314
                    799:  774  0000D0DD                                   #                        force_loop = TRUE;       /* set the force loop flag */
                    800:  775  0000D0DD    0d 01 effffff960                     movl    $1,_force_loop
                    801:  776  0000D0E4                                   #                        asm("brw _ldf_5_lp1");;  /* and loop on the error   */
                    802:  777  0000D0E4    13 ff1e                       brw _ldf_5_lp1
                    803:  778  0000D0E7                                   #                   } /* end of loop on error */
                    804:  779  0000D0E7                                   #              }  /* end of PSL corruption error */
                    805:  780  0000D0E7                                  L314:
                    806:  781  0000D0E7                                   #         }  /* end of WHILE loop */
                    807:  782  0000D0E7                                  L306:
                    808:  783  0000D0E7                                  L302:
                    809:  784  0000D0E7    6d effffff957                        incl    _index
                    810:  785  0000D0ED    13 feca                              jbr     L304
                    811:  786  0000D0F0                                  L303:
                    812:  787  0000D0F0                                   # }  /* end of subtest 5 */
                    813:  788  0000D0F0    40                                   ret#2
                    814:  789  0000D0F1                                         .set    L298,0x0
                    815:  790  0000D0F1                                  L300:
                    816:  791  0000D0F1    13 feb3                              jbr     L301
                    817:  792  0000D0F4                                         .data
                    818:  793  00000be8 *                                       .text
                    819:  794  0000D0F4                                         .align  1
                    820:  795  0000D0F4                                         .globl  _ldf_6
                    821:  796  0000D0F4                                  _ldf_6:
                    822:  797  0000D0F4    0000                                 .word   L315
                    823:  798  0000D0F6                                   #   
                    824:  799  0000D0F6                                   # 
                    825:  800  0000D0F6                                   # 
                    826:  801  0000D0F6                                   # /************************************************************************
                    827:  802  0000D0F6                                   # *
                    828:  803  0000D0F6                                   # *       SUBTEST 6 - Check for PSL corruption (stf)
                    829:  804  0000D0F6                                   # *
                    830:  805  0000D0F6                                   # ************************************************************************/
                    831:  806  0000D0F6                                   # ldf_6() 
                    832:  807  0000D0F6                                   # {
                    833:  808  0000D0F6    13 0197                              jbr     L317
                    834:  809  0000D0F9                                  L318:
                    835:  810  0000D0F9                                   #     force_loop = FALSE;
                    836:  811  0000D0F9    4d effffff945                        clrl    _force_loop
                    837:  812  0000D0FF                                   #     index = 0;                                /* clear the data index */
                    838:  813  0000D0FF    4d effffff93f                        clrl    _index
                    839:  814  0000D105                                   #     status_index = 0;                         /* clear the status index */
                    840:  815  0000D105    4d effffff939                        clrl    _status_index
                    841:  816  0000D10B                                   #     do {
                    842:  817  0000D10B                                  L321:
                    843:  818  0000D10B                                   #        sgl_ld_acc   = ldf_1_data[index].ld;   /* get the dbl operand    */
                    844:  819  0000D10B    0d effffff933 50                     movl    _index,r0
                    845:  820  0000D112    48 03 50 50                          shll    $3,r0,r0
                    846:  821  0000D116    0d e000000000 effffff923             movl    _ldf_1_data(r0),_sgl_ld_acc
                    847:  822  0000D121                                   #        sgl_dummy1 = status_array[status_index]; /* array = +, -, 0  */
                    848:  823  0000D121    0d effffff91d 50                     movl    _status_index,r0
                    849:  824  0000D128    0d 40effffff915                      movl    _status_array[r0],_sgl_dummy1
                    850:                   effffff910 
                    851:  825  0000D134                                   # /*
                    852:  826  0000D134                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    853:  827  0000D134                                   #  * The force loop flag is set after the first error.
                    854:  828  0000D134                                   # */
                    855:  829  0000D134                                   #        asm("_ldf_6_lp1:");
                    856:  830  0000D134                                  _ldf_6_lp1:
                    857:  831  0000D134                                   #        asm("ldf _sgl_ld_acc");              /* load the operand        */
                    858:  832  0000D134    06 effffff90a                 ldf _sgl_ld_acc
                    859:  833  0000D13A                                   #        asm("tstl _sgl_dummy1");             /* generate initial status */
                    860:  834  0000D13A    5d effffff904                 tstl _sgl_dummy1
                    861:  835  0000D140                                   #        asm("movpsl _init_psl");             /* save the initial status */
                    862:  836  0000D140    cd effffff8fe                 movpsl _init_psl
                    863:  837  0000D146                                   #        asm("stf _sgl_st_acc");              /* save the accumulator    */
                    864:  838  0000D146    26 effffff8f8                 stf _sgl_st_acc
                    865:  839  0000D14C                                   #        asm("movpsl _psl_val");              /* save the final status   */
                    866:  840  0000D14C    cd effffff8f2                 movpsl _psl_val
                    867:  841  0000D152                                   #        if( force_loop )                     /* loop?                   */
                    868:  842  0000D152    5d effffff8ec                        tstl    _force_loop
                    869:  843  0000D158    31 06                                jeql    L322
                    870:  844  0000D15A                                   #              asm("jmp _ldf_6_lp1");;        /* run the loop again      */
                    871:  845  0000D15A    71 efffffffd4                 jmp _ldf_6_lp1
                    872:  846  0000D160                                  L322:
                    873:  847  0000D160                                   #        exp_psl = init_psl;                  /* get the initial PSL     */
                    874:  848  0000D160    0d effffff8de effffff8d9             movl    _init_psl,_exp_psl
                    875:  849  0000D16B                                   #        exp_psl &= 0xfffffff3;               /* clear ZERO, NEGATIVE    */
                    876:  850  0000D16B    ac 88f3 effffff8d1                   andl2   $-13,_exp_psl
                    877:  851  0000D173                                   #        sgl_dummy2 = sgl_ld_acc;             /* get the operand         */
                    878:  852  0000D173    0d effffff8cb effffff8c6             movl    _sgl_ld_acc,_sgl_dummy2
                    879:  853  0000D17E                                   #        sgl_dummy2 &= 0xff800000;            /* clear the fraction part */
                    880:  854  0000D17E    ac 8fff800000 effffff8bb             andl2   $-8388608,_sgl_dummy2
                    881:  855  0000D189                                   #        if( !sgl_dummy2 )
                    882:  856  0000D189    5d effffff8b5                        tstl    _sgl_dummy2
                    883:  857  0000D18F    21 07                                jneq    L323
                    884:  858  0000D191                                   #              exp_psl |= PSL_Z;              /* expect the ZERO bit set */
                    885:  859  0000D191    8c 04 effffff8ac                     orl2    $4,_exp_psl
                    886:  860  0000D198                                   #        if( sgl_dummy2 < 0 )
                    887:  861  0000D198                                  L323:
                    888:  862  0000D198    5d effffff8a6                        tstl    _sgl_dummy2
                    889:  863  0000D19E    81 07                                jgeq    L324
                    890:  864  0000D1A0                                   #              exp_psl |= PSL_N;              /* expect the NEG bit set  */
                    891:  865  0000D1A0    8c 08 effffff89d                     orl2    $8,_exp_psl
                    892:  866  0000D1A7                                   #        if( psl_val != exp_psl ) {           /* COMPARE the values      */
                    893:  867  0000D1A7                                  L324:
                    894:  868  0000D1A7    1d effffff897 effffff892             cmpl    _psl_val,_exp_psl
                    895:  869  0000D1B2    21 03 13 00a7                        jeql    L325
                    896:  870  0000D1B7                                   #               errcnt++;                     /* bump the error count    */
                    897:  871  0000D1B7    6d effffff887                        incl    _errcnt
                    898:  872  0000D1BD                                   #               if( prt_error ) {
                    899:  873  0000D1BD    5d effffff881                        tstl    _prt_error
                    900:  874  0000D1C3    31 76                                jeql    L326
                    901:  875  0000D1C5                                   #                        print_ldf_er_hdr();
                    902:  876  0000D1C5    fe 04 ef00000302                     callf   $4,_print_ldf_er_hdr
                    903:  877  0000D1CC                                   #                    writes(" - INCORRECT FINAL PSL\n");
                    904:  878  0000D1CC                                         .data   1
                    905:  879  00000d63 *                                L327:
                    906:  880  00000d63 *  202D20494E434F52524543542            .ascii  " - INCORRECT FINAL PSL\12\0"
                    907:                   046494E414C2050534C0A00
                    908:  881  00000d7b *                                       .text
                    909:  882  0000D1CC    dd 8f00000d63                        pushl   $L327
                    910:  883  0000D1D2    fe 08 effffff86b                     callf   $8,_writes
                    911:  884  0000D1D9                                   #                        print_ldf_data();
                    912:  885  0000D1D9    fe 04 ef0000035e                     callf   $4,_print_ldf_data
                    913:  886  0000D1E0                                   #                        writes("initial PSL = ");
                    914:  887  0000D1E0                                         .data   1
                    915:  888  00000d7b *                                L328:
                    916:  889  00000d7b *  696E697469616C2050534C203            .ascii  "initial PSL = \0"
                    917:                   D2000
                    918:  890  00000d8a *                                       .text
                    919:  891  0000D1E0    dd 8f00000d7b                        pushl   $L328
                    920:  892  0000D1E6    fe 08 effffff857                     callf   $8,_writes
                    921:  893  0000D1ED                                   #                        write32h( init_psl );
                    922:  894  0000D1ED    dd effffff851                        pushl   _init_psl
                    923:  895  0000D1F3    fe 08 effffff84a                     callf   $8,_write32h
                    924:  896  0000D1FA                                   #                        writes(",   final PSL = ");
                    925:  897  0000D1FA                                         .data   1
                    926:  898  00000d8a *                                L329:
                    927:  899  00000d8a *  2C20202066696E616C2050534            .ascii  ",   final PSL = \0"
                    928:                   C203D2000
                    929:  900  00000d9b *                                       .text
                    930:  901  0000D1FA    dd 8f00000d8a                        pushl   $L329
                    931:  902  0000D200    fe 08 effffff83d                     callf   $8,_writes
                    932:  903  0000D207                                   #                        write32h( psl_val );
                    933:  904  0000D207    dd effffff837                        pushl   _psl_val
                    934:  905  0000D20D    fe 08 effffff830                     callf   $8,_write32h
                    935:  906  0000D214                                   #                        writes(",  expected PSL = ");
                    936:  907  0000D214                                         .data   1
                    937:  908  00000d9b *                                L330:
                    938:  909  00000d9b *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
                    939:                   0534C203D2000
                    940:  910  00000dae *                                       .text
                    941:  911  0000D214    dd 8f00000d9b                        pushl   $L330
                    942:  912  0000D21A    fe 08 effffff823                     callf   $8,_writes
                    943:  913  0000D221                                   #                        write32h( exp_psl );
                    944:  914  0000D221    dd effffff81d                        pushl   _exp_psl
                    945:  915  0000D227    fe 08 effffff816                     callf   $8,_write32h
                    946:  916  0000D22E                                   #                        writes("\n");
                    947:  917  0000D22E                                         .data   1
                    948:  918  00000dae *                                L331:
                    949:  919  00000dae *  0A00                                 .ascii  "\12\0"
                    950:  920  00000db0 *                                       .text
                    951:  921  0000D22E    dd 8f00000dae                        pushl   $L331
                    952:  922  0000D234    fe 08 effffff809                     callf   $8,_writes
                    953:  923  0000D23B                                   #                   }
                    954:  924  0000D23B                                   #                   if( halt_flg )   
                    955:  925  0000D23B                                  L326:
                    956:  926  0000D23B    5d effffff803                        tstl    _halt_flg
                    957:  927  0000D241    31 09                                jeql    L332
                    958:  928  0000D243                                   #                       ldf_er_halt( BAD_PSL_HLT );   /* halt on the error */
                    959:  929  0000D243    dd 03                                pushl   $3
                    960:  930  0000D245    fe 08 ef0000032e                     callf   $8,_ldf_er_halt
                    961:  931  0000D24C                                   #               if( loop_on_err ) {
                    962:  932  0000D24C                                  L332:
                    963:  933  0000D24C    5d effffff7f2                        tstl    _loop_on_err
                    964:  934  0000D252    31 0a                                jeql    L333
                    965:  935  0000D254                                   #                   force_loop = TRUE;        /* set the force loop flag */
                    966:  936  0000D254    0d 01 effffff7e9                     movl    $1,_force_loop
                    967:  937  0000D25B                                   #                   asm("brw _ldf_6_lp1");;   /* and loop                */
                    968:  938  0000D25B    13 fed6                       brw _ldf_6_lp1
                    969:  939  0000D25E                                   #               };                            /* end of loop-on-error    */
                    970:  940  0000D25E                                  L333:
                    971:  941  0000D25E                                   #         }                                   /* end of compare error    */
                    972:  942  0000D25E                                   #         if( ++status_index >= 3 )
                    973:  943  0000D25E                                  L325:
                    974:  944  0000D25E    6d effffff7e0                        incl    _status_index
                    975:  945  0000D264    0d effffff7da 50                     movl    _status_index,r0
                    976:  946  0000D26B    1d 50 03                             cmpl    r0,$3
                    977:  947  0000D26E    91 06                                jlss    L334
                    978:  948  0000D270                                   #              status_index = 0;              /* reset the status index  */
                    979:  949  0000D270    4d effffff7ce                        clrl    _status_index
                    980:  950  0000D276                                   #     } while( index++ < max_ldf_1_index );
                    981:  951  0000D276                                  L334:
                    982:  952  0000D276                                  L320:
                    983:  953  0000D276    0d effffff7c8 50                     movl    _index,r0
                    984:  954  0000D27D    6d effffff7c1                        incl    _index
                    985:  955  0000D283    1d 50 effffff7ba                     cmpl    r0,_max_ldf_1_index
                    986:  956  0000D28A    81 03 13 fe7c                        jlss    L321
                    987:  957  0000D28F                                  L319:
                    988:  958  0000D28F                                   # }  /* end of subtest 6 */
                    989:  959  0000D28F    40                                   ret#2
                    990:  960  0000D290                                         .set    L315,0x0
                    991:  961  0000D290                                  L317:
                    992:  962  0000D290    13 fe66                              jbr     L318
                    993:  963  0000D293                                         .data
                    994:  964  00000be8 *                                       .text
                    995:  965  0000D293    00                                   .align  1
                    996:  966  0000D294                                         .globl  _ldf_7
                    997:  967  0000D294                                  _ldf_7:
                    998:  968  0000D294    0000                                 .word   L335
                    999:  969  0000D296                                   #   
                   1000:  970  0000D296                                   # 
                   1001:  971  0000D296                                   # 
                   1002:  972  0000D296                                   # /************************************************************************
                   1003:  973  0000D296                                   # *
                   1004:  974  0000D296                                   # *               SUBTEST 7 - pipelined entry test (ldf)
                   1005:  975  0000D296                                   # *
                   1006:  976  0000D296                                   # ************************************************************************/
                   1007:  977  0000D296                                   # ldf_7() 
                   1008:  978  0000D296                                   # {
                   1009:  979  0000D296    13 0117                              jbr     L337
                   1010:  980  0000D299                                  L338:
                   1011:  981  0000D299                                   #         force_loop = FALSE;
                   1012:  982  0000D299    4d effffff7a5                        clrl    _force_loop
                   1013:  983  0000D29F                                   #         subtest = 7;
                   1014:  984  0000D29F    0d 07 effffff79e                     movl    $7,_subtest
                   1015:  985  0000D2A6                                   #         for( index = 0; index < max_ldf_1_index; index++ ) {
                   1016:  986  0000D2A6    4d effffff798                        clrl    _index
                   1017:  987  0000D2AC                                  L341:
                   1018:  988  0000D2AC    1d effffff792 effffff78d             cmpl    _index,_max_ldf_1_index
                   1019:  989  0000D2B7    91 03 13 00f3                        jgeq    L340
                   1020:  990  0000D2BC                                   #              sgl_ld_acc   = ldf_1_data[index].ld;   /* get value to load   */
                   1021:  991  0000D2BC    0d effffff782 50                     movl    _index,r0
                   1022:  992  0000D2C3    48 03 50 50                          shll    $3,r0,r0
                   1023:  993  0000D2C7    0d e000000000 effffff772             movl    _ldf_1_data(r0),_sgl_ld_acc
                   1024:  994  0000D2D2                                   #              sgl_expected = ldf_1_data[index].exp;  /* get expected result */
                   1025:  995  0000D2D2    0d effffff76c 50                     movl    _index,r0
                   1026:  996  0000D2D9    48 03 50 50                          shll    $3,r0,r0
                   1027:  997  0000D2DD    0d e000000004 effffff75c             movl    _ldf_1_data+4(r0),_sgl_expected
                   1028:  998  0000D2E8                                   # /*
                   1029:  999  0000D2E8                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                   1030: 1000  0000D2E8                                   #  * The force loop flag is set after the first error.
                   1031: 1001  0000D2E8                                   # */
                   1032: 1002  0000D2E8                                   #              asm("_ldf_7_lp1:");
                   1033: 1003  0000D2E8                                  _ldf_7_lp1:
                   1034: 1004  0000D2E8                                   #              asm("movl $0,r0");                 /* clear r0                */
                   1035: 1005  0000D2E8    0d 00 50                      movl $0,r0
                   1036: 1006  0000D2EB                                   #              asm("ldf r0");                     /* load the Acc. with 0.0  */
                   1037: 1007  0000D2EB    06 50                         ldf r0
                   1038: 1008  0000D2ED                                   #              asm("ldf _sgl_ld_acc");            /* load the value           */
                   1039: 1009  0000D2ED    06 effffff751                 ldf _sgl_ld_acc
                   1040: 1010  0000D2F3                                   #              asm("nop");
                   1041: 1011  0000D2F3    10                            nop
                   1042: 1012  0000D2F4                                   #              asm("stf _sgl_st_acc");            /* store the result        */
                   1043: 1013  0000D2F4    26 effffff74a                 stf _sgl_st_acc
                   1044: 1014  0000D2FA                                   #              if( force_loop )
                   1045: 1015  0000D2FA    5d effffff744                        tstl    _force_loop
                   1046: 1016  0000D300    31 02                                jeql    L342
                   1047: 1017  0000D302                                   #                   asm("brb _ldf_7_lp1");;       /* loop on the error       */
                   1048: 1018  0000D302    11 e4                         brb _ldf_7_lp1
                   1049: 1019  0000D304                                  L342:
                   1050: 1020  0000D304                                   # /* 
                   1051: 1021  0000D304                                   #  * end error loop - test the results
                   1052: 1022  0000D304                                   # */
                   1053: 1023  0000D304                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                   1054: 1024  0000D304    1d effffff73a effffff735             cmpl    _sgl_st_acc,_sgl_expected
                   1055: 1025  0000D30F    21 03 13 0092                        jeql    L343
                   1056: 1026  0000D314                                   #                    errcnt++;                    /* bump the error count   */
                   1057: 1027  0000D314    6d effffff72a                        incl    _errcnt
                   1058: 1028  0000D31A                                   #                    if( prt_error ) {
                   1059: 1029  0000D31A    5d effffff724                        tstl    _prt_error
                   1060: 1030  0000D320    31 61                                jeql    L344
                   1061: 1031  0000D322                                   #                         print_ldf_er_hdr();
                   1062: 1032  0000D322    fe 04 ef000001a5                     callf   $4,_print_ldf_er_hdr
                   1063: 1033  0000D329                                   #                     writes(" (Piped Entry) - BAD FINAL ACC\n");
                   1064: 1034  0000D329                                         .data   1
                   1065: 1035  00000db0 *                                L345:
                   1066: 1036  00000db0 *  2028506970656420456E74727            .ascii  " (Piped Entry) - BAD FINAL ACC\12\0"
                   1067:                   929202D204241442046494E41
                   1068:                   4C204143430A00
                   1069: 1037  00000dd0 *                                       .text
                   1070: 1038  0000D329    dd 8f00000db0                        pushl   $L345
                   1071: 1039  0000D32F    fe 08 effffff70e                     callf   $8,_writes
                   1072: 1040  0000D336                                   #                         print_ldf_data();
                   1073: 1041  0000D336    fe 04 ef00000201                     callf   $4,_print_ldf_data
                   1074: 1042  0000D33D                                   #                         writes(",  data index = ");
                   1075: 1043  0000D33D                                         .data   1
                   1076: 1044  00000dd0 *                                L346:
                   1077: 1045  00000dd0 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                   1078:                   8203D2000
                   1079: 1046  00000de1 *                                       .text
                   1080: 1047  0000D33D    dd 8f00000dd0                        pushl   $L346
                   1081: 1048  0000D343    fe 08 effffff6fa                     callf   $8,_writes
                   1082: 1049  0000D34A                                   #                         writed( index );
                   1083: 1050  0000D34A    dd effffff6f4                        pushl   _index
                   1084: 1051  0000D350    fe 08 effffff6ed                     callf   $8,_writed
                   1085: 1052  0000D357                                   #                         writec('\n');
                   1086: 1053  0000D357    dd 0a                                pushl   $10
                   1087: 1054  0000D359    fe 08 effffff6e4                     callf   $8,_writec
                   1088: 1055  0000D360                                   #                     writes("                       Acc expected = ");
                   1089: 1056  0000D360                                         .data   1
                   1090: 1057  00000de1 *                                L347:
                   1091: 1058  00000de1 *  2020202020202020202020202            .ascii  "                       Acc expected = \0"
                   1092:                   0202020202020202020204163
                   1093:                   63206578706563746564203D2
                   1094:                   000
                   1095: 1059  00000e08 *                                       .text
                   1096: 1060  0000D360    dd 8f00000de1                        pushl   $L347
                   1097: 1061  0000D366    fe 08 effffff6d7                     callf   $8,_writes
                   1098: 1062  0000D36D                                   #                         write32h( sgl_expected );
                   1099: 1063  0000D36D    dd effffff6d1                        pushl   _sgl_expected
                   1100: 1064  0000D373    fe 08 effffff6ca                     callf   $8,_write32h
                   1101: 1065  0000D37A                                   #                         writec('\n');
                   1102: 1066  0000D37A    dd 0a                                pushl   $10
                   1103: 1067  0000D37C    fe 08 effffff6c1                     callf   $8,_writec
                   1104: 1068  0000D383                                   #                    }
                   1105: 1069  0000D383                                   #                    if( halt_flg ) 
                   1106: 1070  0000D383                                  L344:
                   1107: 1071  0000D383    5d effffff6bb                        tstl    _halt_flg
                   1108: 1072  0000D389    31 09                                jeql    L348
                   1109: 1073  0000D38B                                   #                         ldf_er_halt( BAD_ACC_HLT );    /* halt on the error */
                   1110: 1074  0000D38B    dd 01                                pushl   $1
                   1111: 1075  0000D38D    fe 08 ef000001e6                     callf   $8,_ldf_er_halt
                   1112: 1076  0000D394                                   #                   if( loop_on_err ) {
                   1113: 1077  0000D394                                  L348:
                   1114: 1078  0000D394    5d effffff6aa                        tstl    _loop_on_err
                   1115: 1079  0000D39A    31 0a                                jeql    L349
                   1116: 1080  0000D39C                                   #                        force_loop = TRUE;       /* set the force loop flag */
                   1117: 1081  0000D39C    0d 01 effffff6a1                     movl    $1,_force_loop
                   1118: 1082  0000D3A3                                   #                        asm("brw _ldf_7_lp1");;  /* and loop on the error   */
                   1119: 1083  0000D3A3    13 ff42                       brw _ldf_7_lp1
                   1120: 1084  0000D3A6                                   #                   } /* end of loop on error */
                   1121: 1085  0000D3A6                                   #              }   /* end of compare error */
                   1122: 1086  0000D3A6                                  L349:
                   1123: 1087  0000D3A6                                   #         }  /* end of WHILE loop */
                   1124: 1088  0000D3A6                                  L343:
                   1125: 1089  0000D3A6                                  L339:
                   1126: 1090  0000D3A6    6d effffff698                        incl    _index
                   1127: 1091  0000D3AC    13 fefd                              jbr     L341
                   1128: 1092  0000D3AF                                  L340:
                   1129: 1093  0000D3AF                                   # }  /* end of subtest 7 */
                   1130: 1094  0000D3AF    40                                   ret#2
                   1131: 1095  0000D3B0                                         .set    L335,0x0
                   1132: 1096  0000D3B0                                  L337:
                   1133: 1097  0000D3B0    13 fee6                              jbr     L338
                   1134: 1098  0000D3B3                                         .data
                   1135: 1099  00000be8 *                                       .text
                   1136: 1100  0000D3B3    00                                   .align  1
                   1137: 1101  0000D3B4                                         .globl  _ldf_8
                   1138: 1102  0000D3B4                                  _ldf_8:
                   1139: 1103  0000D3B4    0000                                 .word   L351
                   1140: 1104  0000D3B6                                   #   
                   1141: 1105  0000D3B6                                   # 
                   1142: 1106  0000D3B6                                   # 
                   1143: 1107  0000D3B6                                   # /************************************************************************
                   1144: 1108  0000D3B6                                   # *
                   1145: 1109  0000D3B6                                   # *               SUBTEST 8 - pipelined entry test (stf)
                   1146: 1110  0000D3B6                                   # *
                   1147: 1111  0000D3B6                                   # ************************************************************************/
                   1148: 1112  0000D3B6                                   # ldf_8() 
                   1149: 1113  0000D3B6                                   # {
                   1150: 1114  0000D3B6    13 0111                              jbr     L353
                   1151: 1115  0000D3B9                                  L354:
                   1152: 1116  0000D3B9                                   #         force_loop = FALSE;
                   1153: 1117  0000D3B9    4d effffff685                        clrl    _force_loop
                   1154: 1118  0000D3BF                                   #         subtest = 8;
                   1155: 1119  0000D3BF    0d 08 effffff67e                     movl    $8,_subtest
                   1156: 1120  0000D3C6                                   #         for( index = 0; index < max_ldf_1_index; index++ ) {
                   1157: 1121  0000D3C6    4d effffff678                        clrl    _index
                   1158: 1122  0000D3CC                                  L357:
                   1159: 1123  0000D3CC    1d effffff672 effffff66d             cmpl    _index,_max_ldf_1_index
                   1160: 1124  0000D3D7    91 03 13 00ed                        jgeq    L356
                   1161: 1125  0000D3DC                                   #              sgl_ld_acc   = ldf_1_data[index].ld;   /* get value to load   */
                   1162: 1126  0000D3DC    0d effffff662 50                     movl    _index,r0
                   1163: 1127  0000D3E3    48 03 50 50                          shll    $3,r0,r0
                   1164: 1128  0000D3E7    0d e000000000 effffff652             movl    _ldf_1_data(r0),_sgl_ld_acc
                   1165: 1129  0000D3F2                                   #              sgl_expected = ldf_1_data[index].exp;  /* get expected result */
                   1166: 1130  0000D3F2    0d effffff64c 50                     movl    _index,r0
                   1167: 1131  0000D3F9    48 03 50 50                          shll    $3,r0,r0
                   1168: 1132  0000D3FD    0d e000000004 effffff63c             movl    _ldf_1_data+4(r0),_sgl_expected
                   1169: 1133  0000D408                                   # /*
                   1170: 1134  0000D408                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                   1171: 1135  0000D408                                   #  * The force loop flag is set after the first error.
                   1172: 1136  0000D408                                   # */
                   1173: 1137  0000D408                                   #              asm("_ldf_8_lp1:");
                   1174: 1138  0000D408                                  _ldf_8_lp1:
                   1175: 1139  0000D408                                   #              asm("ldf _sgl_ld_acc");            /* load the value           */
                   1176: 1140  0000D408    06 effffff636                 ldf _sgl_ld_acc
                   1177: 1141  0000D40E                                   #              asm("stf _sgl_st_acc");            /* store the result        */
                   1178: 1142  0000D40E    26 effffff630                 stf _sgl_st_acc
                   1179: 1143  0000D414                                   #              if( force_loop )
                   1180: 1144  0000D414    5d effffff62a                        tstl    _force_loop
                   1181: 1145  0000D41A    31 02                                jeql    L358
                   1182: 1146  0000D41C                                   #                   asm("brb _ldf_8_lp1");;       /* loop on the error       */
                   1183: 1147  0000D41C    11 ea                         brb _ldf_8_lp1
                   1184: 1148  0000D41E                                  L358:
                   1185: 1149  0000D41E                                   # /* 
                   1186: 1150  0000D41E                                   #  * end error loop - test the results
                   1187: 1151  0000D41E                                   # */
                   1188: 1152  0000D41E                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                   1189: 1153  0000D41E    1d effffff620 effffff61b             cmpl    _sgl_st_acc,_sgl_expected
                   1190: 1154  0000D429    21 03 13 0092                        jeql    L359
                   1191: 1155  0000D42E                                   #                    errcnt++;                    /* bump the error count   */
                   1192: 1156  0000D42E    6d effffff610                        incl    _errcnt
                   1193: 1157  0000D434                                   #                    if( prt_error ) {
                   1194: 1158  0000D434    5d effffff60a                        tstl    _prt_error
                   1195: 1159  0000D43A    31 61                                jeql    L360
                   1196: 1160  0000D43C                                   #                         print_ldf_er_hdr();
                   1197: 1161  0000D43C    fe 04 ef0000008b                     callf   $4,_print_ldf_er_hdr
                   1198: 1162  0000D443                                   #                     writes(" (Piped Exit) - BAD FINAL ACC\n");
                   1199: 1163  0000D443                                         .data   1
                   1200: 1164  00000e08 *                                L361:
                   1201: 1165  00000e08 *  2028506970656420457869742            .ascii  " (Piped Exit) - BAD FINAL ACC\12\0"
                   1202:                   9202D204241442046494E414C
                   1203:                   204143430A00
                   1204: 1166  00000e27 *                                       .text
                   1205: 1167  0000D443    dd 8f00000e08                        pushl   $L361
                   1206: 1168  0000D449    fe 08 effffff5f4                     callf   $8,_writes
                   1207: 1169  0000D450                                   #                         print_ldf_data();
                   1208: 1170  0000D450    fe 04 ef000000e7                     callf   $4,_print_ldf_data
                   1209: 1171  0000D457                                   #                         writes(",  data index = ");
                   1210: 1172  0000D457                                         .data   1
                   1211: 1173  00000e27 *                                L362:
                   1212: 1174  00000e27 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                   1213:                   8203D2000
                   1214: 1175  00000e38 *                                       .text
                   1215: 1176  0000D457    dd 8f00000e27                        pushl   $L362
                   1216: 1177  0000D45D    fe 08 effffff5e0                     callf   $8,_writes
                   1217: 1178  0000D464                                   #                         writed( index );
                   1218: 1179  0000D464    dd effffff5da                        pushl   _index
                   1219: 1180  0000D46A    fe 08 effffff5d3                     callf   $8,_writed
                   1220: 1181  0000D471                                   #                         writec('\n');
                   1221: 1182  0000D471    dd 0a                                pushl   $10
                   1222: 1183  0000D473    fe 08 effffff5ca                     callf   $8,_writec
                   1223: 1184  0000D47A                                   #                     writes("                       Acc expected = ");
                   1224: 1185  0000D47A                                         .data   1
                   1225: 1186  00000e38 *                                L363:
                   1226: 1187  00000e38 *  2020202020202020202020202            .ascii  "                       Acc expected = \0"
                   1227:                   0202020202020202020204163
                   1228:                   63206578706563746564203D2
                   1229:                   000
                   1230: 1188  00000e5f *                                       .text
                   1231: 1189  0000D47A    dd 8f00000e38                        pushl   $L363
                   1232: 1190  0000D480    fe 08 effffff5bd                     callf   $8,_writes
                   1233: 1191  0000D487                                   #                         write32h( sgl_expected );
                   1234: 1192  0000D487    dd effffff5b7                        pushl   _sgl_expected
                   1235: 1193  0000D48D    fe 08 effffff5b0                     callf   $8,_write32h
                   1236: 1194  0000D494                                   #                         writec('\n');
                   1237: 1195  0000D494    dd 0a                                pushl   $10
                   1238: 1196  0000D496    fe 08 effffff5a7                     callf   $8,_writec
                   1239: 1197  0000D49D                                   #                    }
                   1240: 1198  0000D49D                                   #                    if( halt_flg ) 
                   1241: 1199  0000D49D                                  L360:
                   1242: 1200  0000D49D    5d effffff5a1                        tstl    _halt_flg
                   1243: 1201  0000D4A3    31 09                                jeql    L364
                   1244: 1202  0000D4A5                                   #                         ldf_er_halt( BAD_ACC_HLT );    /* halt on the error */
                   1245: 1203  0000D4A5    dd 01                                pushl   $1
                   1246: 1204  0000D4A7    fe 08 ef000000cc                     callf   $8,_ldf_er_halt
                   1247: 1205  0000D4AE                                   #                    if( loop_on_err ) {
                   1248: 1206  0000D4AE                                  L364:
                   1249: 1207  0000D4AE    5d effffff590                        tstl    _loop_on_err
                   1250: 1208  0000D4B4    31 0a                                jeql    L365
                   1251: 1209  0000D4B6                                   #                         force_loop = TRUE;       /* set the force loop flag */
                   1252: 1210  0000D4B6    0d 01 effffff587                     movl    $1,_force_loop
                   1253: 1211  0000D4BD                                   #                         asm("brw _ldf_8_lp1");;  /* and loop on the error   */
                   1254: 1212  0000D4BD    13 ff48                       brw _ldf_8_lp1
                   1255: 1213  0000D4C0                                   #                    } /* end of loop on error */
                   1256: 1214  0000D4C0                                   #              }   /* end of compare error */
                   1257: 1215  0000D4C0                                  L365:
                   1258: 1216  0000D4C0                                   #         }  /* end of WHILE loop */
                   1259: 1217  0000D4C0                                  L359:
                   1260: 1218  0000D4C0                                  L355:
                   1261: 1219  0000D4C0    6d effffff57e                        incl    _index
                   1262: 1220  0000D4C6    13 ff03                              jbr     L357
                   1263: 1221  0000D4C9                                  L356:
                   1264: 1222  0000D4C9                                   # }  /* end of subtest 8 */
                   1265: 1223  0000D4C9    40                                   ret#2
                   1266: 1224  0000D4CA                                         .set    L351,0x0
                   1267: 1225  0000D4CA                                  L353:
                   1268: 1226  0000D4CA    13 feec                              jbr     L354
                   1269: 1227  0000D4CD                                         .data
                   1270: 1228  00000be8 *                                       .text
                   1271: 1229  0000D4CD    00                                   .align  1
                   1272: 1230  0000D4CE                                         .globl  _print_ldf_er_hdr
                   1273: 1231  0000D4CE                                  _print_ldf_er_hdr:
                   1274: 1232  0000D4CE    0000                                 .word   L366
                   1275: 1233  0000D4D0                                   #   
                   1276: 1234  0000D4D0                                   # 
                   1277: 1235  0000D4D0                                   # 
                   1278: 1236  0000D4D0                                   # /**************************************************************************
                   1279: 1237  0000D4D0                                   # *
                   1280: 1238  0000D4D0                                   # *       PRINT THE ERROR MESSAGE HEADER
                   1281: 1239  0000D4D0                                   # *
                   1282: 1240  0000D4D0                                   # **************************************************************************/
                   1283: 1241  0000D4D0                                   # print_ldf_er_hdr()
                   1284: 1242  0000D4D0                                   # {
                   1285: 1243  0000D4D0    11 69                                jbr     L368
                   1286: 1244  0000D4D2                                  L369:
                   1287: 1245  0000D4D2                                   #     writes(" \n");                          /* start a new print line */
                   1288: 1246  0000D4D2                                         .data   1
                   1289: 1247  00000e5f *                                L370:
                   1290: 1248  00000e5f *  200A00                               .ascii  " \12\0"
                   1291: 1249  00000e62 *                                       .text
                   1292: 1250  0000D4D2    dd 8f00000e5f                        pushl   $L370
                   1293: 1251  0000D4D8    fe 08 effffff565                     callf   $8,_writes
                   1294: 1252  0000D4DF                                   #     writes("cycle: ");                      /* print the cycle count  */
                   1295: 1253  0000D4DF                                         .data   1
                   1296: 1254  00000e62 *                                L371:
                   1297: 1255  00000e62 *  6379636C653A2000                     .ascii  "cycle: \0"
                   1298: 1256  00000e6a *                                       .text
                   1299: 1257  0000D4DF    dd 8f00000e62                        pushl   $L371
                   1300: 1258  0000D4E5    fe 08 effffff558                     callf   $8,_writes
                   1301: 1259  0000D4EC                                   #     writed( cycle );
                   1302: 1260  0000D4EC    dd effffff552                        pushl   _cycle
                   1303: 1261  0000D4F2    fe 08 effffff54b                     callf   $8,_writed
                   1304: 1262  0000D4F9                                   #     writes("  LDF_STF ");                   /* print test name header */
                   1305: 1263  0000D4F9                                         .data   1
                   1306: 1264  00000e6a *                                L372:
                   1307: 1265  00000e6a *  20204C44465F5354462000               .ascii  "  LDF_STF \0"
                   1308: 1266  00000e75 *                                       .text
                   1309: 1267  0000D4F9    dd 8f00000e6a                        pushl   $L372
                   1310: 1268  0000D4FF    fe 08 effffff53e                     callf   $8,_writes
                   1311: 1269  0000D506                                   #     writes("test ");                        /* print the test number  */
                   1312: 1270  0000D506                                         .data   1
                   1313: 1271  00000e75 *                                L373:
                   1314: 1272  00000e75 *  746573742000                         .ascii  "test \0"
                   1315: 1273  00000e7b *                                       .text
                   1316: 1274  0000D506    dd 8f00000e75                        pushl   $L373
                   1317: 1275  0000D50C    fe 08 effffff531                     callf   $8,_writes
                   1318: 1276  0000D513                                   #     writed( test_no );
                   1319: 1277  0000D513    dd effffff52b                        pushl   _test_no
                   1320: 1278  0000D519    fe 08 effffff524                     callf   $8,_writed
                   1321: 1279  0000D520                                   #     writes(", subtest ");                   /* print subtest number   */
                   1322: 1280  0000D520                                         .data   1
                   1323: 1281  00000e7b *                                L374:
                   1324: 1282  00000e7b *  2C20737562746573742000               .ascii  ", subtest \0"
                   1325: 1283  00000e86 *                                       .text
                   1326: 1284  0000D520    dd 8f00000e7b                        pushl   $L374
                   1327: 1285  0000D526    fe 08 effffff517                     callf   $8,_writes
                   1328: 1286  0000D52D                                   #     writed( subtest );
                   1329: 1287  0000D52D    dd effffff511                        pushl   _subtest
                   1330: 1288  0000D533    fe 08 effffff50a                     callf   $8,_writed
                   1331: 1289  0000D53A                                   # }
                   1332: 1290  0000D53A    40                                   ret#2
                   1333: 1291  0000D53B                                         .set    L366,0x0
                   1334: 1292  0000D53B                                  L368:
                   1335: 1293  0000D53B    11 95                                jbr     L369
                   1336: 1294  0000D53D                                         .data
                   1337: 1295  00000be8 *                                       .text
                   1338: 1296  0000D53D    00                                   .align  1
                   1339: 1297  0000D53E                                         .globl  _print_ldf_data
                   1340: 1298  0000D53E                                  _print_ldf_data:
                   1341: 1299  0000D53E    0000                                 .word   L375
                   1342: 1300  0000D540                                   # 
                   1343: 1301  0000D540                                   # 
                   1344: 1302  0000D540                                   # 
                   1345: 1303  0000D540                                   # /**************************************************************************
                   1346: 1304  0000D540                                   # *
                   1347: 1305  0000D540                                   # *       PRINT THE DATA AND STORE RESULTS
                   1348: 1306  0000D540                                   # *
                   1349: 1307  0000D540                                   # *  Acc loaded = xxxxxxxx,  Acc stored = xxxxxxxx,  data index = xx
                   1350: 1308  0000D540                                   # *                         Acc expected = xxxxxxxx
                   1351: 1309  0000D540                                   # **************************************************************************/
                   1352: 1310  0000D540                                   # print_ldf_data()
                   1353: 1311  0000D540                                   # {
                   1354: 1312  0000D540    11 35                                jbr     L377
                   1355: 1313  0000D542                                  L378:
                   1356: 1314  0000D542                                   #         writes(" Acc loaded = ");
                   1357: 1315  0000D542                                         .data   1
                   1358: 1316  00000e86 *                                L379:
                   1359: 1317  00000e86 *  20416363206C6F61646564203            .ascii  " Acc loaded = \0"
                   1360:                   D2000
                   1361: 1318  00000e95 *                                       .text
                   1362: 1319  0000D542    dd 8f00000e86                        pushl   $L379
                   1363: 1320  0000D548    fe 08 effffff4f5                     callf   $8,_writes
                   1364: 1321  0000D54F                                   #         write32h( sgl_ld_acc );
                   1365: 1322  0000D54F    dd effffff4ef                        pushl   _sgl_ld_acc
                   1366: 1323  0000D555    fe 08 effffff4e8                     callf   $8,_write32h
                   1367: 1324  0000D55C                                   #         writes(",  Acc stored = ");
                   1368: 1325  0000D55C                                         .data   1
                   1369: 1326  00000e95 *                                L380:
                   1370: 1327  00000e95 *  2C20204163632073746F72656            .ascii  ",  Acc stored = \0"
                   1371:                   4203D2000
                   1372: 1328  00000ea6 *                                       .text
                   1373: 1329  0000D55C    dd 8f00000e95                        pushl   $L380
                   1374: 1330  0000D562    fe 08 effffff4db                     callf   $8,_writes
                   1375: 1331  0000D569                                   #         write32h( sgl_st_acc );
                   1376: 1332  0000D569    dd effffff4d5                        pushl   _sgl_st_acc
                   1377: 1333  0000D56F    fe 08 effffff4ce                     callf   $8,_write32h
                   1378: 1334  0000D576                                   # }
                   1379: 1335  0000D576    40                                   ret#2
                   1380: 1336  0000D577                                         .set    L375,0x0
                   1381: 1337  0000D577                                  L377:
                   1382: 1338  0000D577    11 c9                                jbr     L378
                   1383: 1339  0000D579                                         .data
                   1384: 1340  00000be8 *                                       .text
                   1385: 1341  0000D579    00                                   .align  1
                   1386: 1342  0000D57A                                         .globl  _ldf_er_halt
                   1387: 1343  0000D57A                                  _ldf_er_halt:
                   1388: 1344  0000D57A    0000                                 .word   L381
                   1389: 1345  0000D57C                                   #  
                   1390: 1346  0000D57C                                   # 
                   1391: 1347  0000D57C                                   # 
                   1392: 1348  0000D57C                                   # /**************************************************************************
                   1393: 1349  0000D57C                                   # *
                   1394: 1350  0000D57C                                   # *               HALT ON ERROR ROUTINE 
                   1395: 1351  0000D57C                                   # *
                   1396: 1352  0000D57C                                   # **************************************************************************/
                   1397: 1353  0000D57C                                   # ldf_er_halt( halt_code )
                   1398: 1354  0000D57C                                   # int halt_code;
                   1399: 1355  0000D57C                                   # {
                   1400: 1356  0000D57C    13 00a8                              jbr     L383
                   1401: 1357  0000D57F                                  L384:
                   1402: 1358  0000D57F                                   #         sgl_dummy1 = halt_code;                 /* get the error type    */
                   1403: 1359  0000D57F    0d ad04 effffff4bd                   movl    4(fp),_sgl_dummy1
                   1404: 1360  0000D587                                   #         asm("movl _test_no,r0");                /* r0  = test number     */
                   1405: 1361  0000D587    0d effffff4b7 50              movl _test_no,r0
                   1406: 1362  0000D58E                                   #         asm("movl _subtest,r1");                /* r1  = subtest number  */
                   1407: 1363  0000D58E    0d effffff4b0 51              movl _subtest,r1
                   1408: 1364  0000D595                                   #         asm("movl _sgl_dummy1,r2");             /* r2  = error code      */
                   1409: 1365  0000D595    0d effffff4a9 52              movl _sgl_dummy1,r2
                   1410: 1366  0000D59C                                   #         asm("movl _cycle,r3");                  /* r3  = cycle count     */
                   1411: 1367  0000D59C    0d effffff4a2 53              movl _cycle,r3
                   1412: 1368  0000D5A3                                   #         asm("movl _sgl_ld_acc,r4");             /* r4  = data loaded     */
                   1413: 1369  0000D5A3    0d effffff49b 54              movl _sgl_ld_acc,r4
                   1414: 1370  0000D5AA                                   #         asm("movl _sgl_st_acc,r5");             /* r5  = data stored     */
                   1415: 1371  0000D5AA    0d effffff494 55              movl _sgl_st_acc,r5
                   1416: 1372  0000D5B1                                   #         if( halt_code == BAD_ACC_HLT ) {
                   1417: 1373  0000D5B1    1d ad04 01                           cmpl    4(fp),$1
                   1418: 1374  0000D5B5    21 10                                jneq    L385
                   1419: 1375  0000D5B7                                   #              asm("movl _sgl_expected,r6");      /* r6  = data expected   */
                   1420: 1376  0000D5B7    0d effffff487 56              movl _sgl_expected,r6
                   1421: 1377  0000D5BE                                   #              asm("movl _index,r7");             /* r7  = data index      */
                   1422: 1378  0000D5BE    0d effffff480 57              movl _index,r7
                   1423: 1379  0000D5C5                                   #         } else
                   1424: 1380  0000D5C5    11 5e                                jbr     L386
                   1425: 1381  0000D5C7                                  L385:
                   1426: 1382  0000D5C7                                   #           if( halt_code == BAD_REG_HLT ) {
                   1427: 1383  0000D5C7    1d ad04 02                           cmpl    4(fp),$2
                   1428: 1384  0000D5CB    21 3d                                jneq    L387
                   1429: 1385  0000D5CD                                   #              sgl_dummy1 = load_regs[index2];
                   1430: 1386  0000D5CD    0d effffff471 50                     movl    _index2,r0
                   1431: 1387  0000D5D4    0d 40effffff469                      movl    _load_regs[r0],_sgl_dummy1
                   1432:                   effffff464 
                   1433: 1388  0000D5E0                                   #              sgl_dummy2 = store_regs[index2];
                   1434: 1389  0000D5E0    0d effffff45e 50                     movl    _index2,r0
                   1435: 1390  0000D5E7    0d 40effffff456                      movl    _store_regs[r0],_sgl_dummy2
                   1436:                   effffff451 
                   1437: 1391  0000D5F3                                   #              asm("movl _index2,r6");            /* r6  = bad register #  */
                   1438: 1392  0000D5F3    0d effffff44b 56              movl _index2,r6
                   1439: 1393  0000D5FA                                   #              asm("movl _sgl_dummy2,r7");        /* r7  = final reg value */
                   1440: 1394  0000D5FA    0d effffff444 57              movl _sgl_dummy2,r7
                   1441: 1395  0000D601                                   #              asm("movl _sgl_dummy1,r8");        /* r8  = expected value  */
                   1442: 1396  0000D601    0d effffff43d 58              movl _sgl_dummy1,r8
                   1443: 1397  0000D608                                   #         } else
                   1444: 1398  0000D608    11 1b                                jbr     L388
                   1445: 1399  0000D60A                                  L387:
                   1446: 1400  0000D60A                                   #           if( halt_code == BAD_PSL_HLT ) {
                   1447: 1401  0000D60A    1d ad04 03                           cmpl    4(fp),$3
                   1448: 1402  0000D60E    21 15                                jneq    L389
                   1449: 1403  0000D610                                   #              asm("movl _init_psl,r6");          /* r6  = initial PSL     */
                   1450: 1404  0000D610    0d effffff42e 56              movl _init_psl,r6
                   1451: 1405  0000D617                                   #              asm("movl _psl_val,r7");           /* r7  = final PSL       */
                   1452: 1406  0000D617    0d effffff427 57              movl _psl_val,r7
                   1453: 1407  0000D61E                                   #              asm("movl _exp_psl,r8");           /* r8  = expected PSL    */
                   1454: 1408  0000D61E    0d effffff420 58              movl _exp_psl,r8
                   1455: 1409  0000D625                                   #         };
                   1456: 1410  0000D625                                  L389:
                   1457: 1411  0000D625                                  L388:
                   1458: 1412  0000D625                                  L386:
                   1459: 1413  0000D625                                   #         asm("halt");                            /* HALT ...              */
                   1460: 1414  0000D625    00                            halt
                   1461: 1415  0000D626                                   # }  
                   1462: 1416  0000D626    40                                   ret#2
                   1463: 1417  0000D627                                         .set    L381,0x0
                   1464: 1418  0000D627                                  L383:
                   1465: 1419  0000D627    13 ff55                              jbr     L384
                   1466: 1420  0000D62A                                         .data
                   1467: 1420  0001A06E                                         .data

unix.superglobalmegacorp.com

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