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

1.1       root        1:    1  00000000                                  LL0:
                      2:    2  00000000                                         .data
                      3:    3  0000093c *                                       .text
                      4:    4  00000000                                         .align  1
                      5:    5  00000000                                         .globl  _lnf
                      6:    6  00000000                                  _lnf:
                      7:    7  00010810    0000                                 .word   L215
                      8:    8  00010812                                   # 
                      9:    9  00010812                                   # #include "fpp_defs.h"
                     10:   10  00010812                                   # 
                     11:   11  00010812                                   # 
                     12:   12  00010812                                   # /*****************************************************************************
                     13:   13  00010812                                   # *
                     14:   14  00010812                                   # *               LNF - SINGLE PRECISION FLOATING POINT LOAD_NEGATE TEST
                     15:   15  00010812                                   # *
                     16:   16  00010812                                   # *****************************************************************************/
                     17:   17  00010812                                   # lnf()
                     18:   18  00010812                                   # {
                     19:   19  00010812    11 57                                jbr     L217
                     20:   20  00010814                                  L218:
                     21:   21  00010814                                   #         asm(".globl _lnf_t");
                     22:   22  00010814                                  .globl _lnf_t
                     23:   23  00010814                                   #         asm("_lnf_t:");                        /* entry address              */
                     24:   24  00010814                                  _lnf_t:
                     25:   25  00010814                                   #         if( ( cycle == 1 ) && ( prt_hdrs ) )   /* print headers on 1st pass  */
                     26:   26  00010814    1d effffffff6 01                     cmpl    _cycle,$1
                     27:   27  0001081B    21 15                                jneq    L219
                     28:   28  0001081D    5d efffffffed                        tstl    _prt_hdrs
                     29:   29  00010823    31 0d                                jeql    L219
                     30:   30  00010825                                   #            writes(" LNF");
                     31:   31  00010825                                         .data   1
                     32:   32  0000093c *                                L221:
                     33:   33  0000093c *  204C4E4600                           .ascii  " LNF\0"
                     34:   34  00000941 *                                       .text
                     35:   35  00010825    dd 8f0000093c                        pushl   $L221
                     36:   36  0001082B    fe 08 efffffffde                     callf   $8,_writes
                     37:   37  00010832                                   #         lnf_1();                               /* load through a register    */
                     38:   38  00010832                                  L219:
                     39:   39  00010832    fe 04 ef00000035                     callf   $4,_lnf_1
                     40:   40  00010839                                   #         lnf_2();                               /* load through the cache     */
                     41:   41  00010839    fe 04 ef00000164                     callf   $4,_lnf_2
                     42:   42  00010840                                   #         lnf_3();                               /* register stability         */
                     43:   43  00010840    fe 04 ef0000028d                     callf   $4,_lnf_3
                     44:   44  00010847                                   #         lnf_4();                               /* PSL stability test         */
                     45:   45  00010847    fe 04 ef00000424                     callf   $4,_lnf_4
                     46:   46  0001084E                                   #         lnf_5();                               /* pipelined entry test       */
                     47:   47  0001084E    fe 04 ef000005c3                     callf   $4,_lnf_5
                     48:   48  00010855                                   #     if ( !no_fpp_wcs )
                     49:   49  00010855    5d efffffffb5                        tstl    _no_fpp_wcs
                     50:   50  0001085B    21 07                                jneq    L227
                     51:   51  0001085D                                   #              lnf_6();;                         /* pipelined exit test        */
                     52:   52  0001085D    fe 04 ef000006c6                     callf   $4,_lnf_6
                     53:   53  00010864                                  L227:
                     54:   54  00010864                                   #         asm("jmp *return");                    /* return to the test monitor */
                     55:   55  00010864    71 ffffffffa6                 jmp *return
                     56:   56  0001086A                                   # }
                     57:   57  0001086A    40                                   ret#2
                     58:   58  0001086B                                         .set    L215,0x0
                     59:   59  0001086B                                  L217:
                     60:   60  0001086B    11 a7                                jbr     L218
                     61:   61  0001086D                                         .data
                     62:   62  0000093c *                                       .text
                     63:   63  0001086D    00                                   .align  1
                     64:   64  0001086E                                         .globl  _lnf_1
                     65:   65  0001086E                                  _lnf_1:
                     66:   66  0001086E    0000                                 .word   L229
                     67:   67  00010870                                   #    
                     68:   68  00010870                                   # 
                     69:   69  00010870                                   # 
                     70:   70  00010870                                   # /************************************************************************
                     71:   71  00010870                                   # *
                     72:   72  00010870                                   # *               SUBTEST 1 - load_negate through a register
                     73:   73  00010870                                   # *
                     74:   74  00010870                                   # ************************************************************************/
                     75:   75  00010870                                   # lnf_1() 
                     76:   76  00010870                                   # {
                     77:   77  00010870    13 012e                              jbr     L231
                     78:   78  00010873                                  L232:
                     79:   79  00010873                                   #         force_loop = FALSE;
                     80:   80  00010873    4d efffffff97                        clrl    _force_loop
                     81:   81  00010879                                   #         subtest = 1;
                     82:   82  00010879    0d 01 efffffff90                     movl    $1,_subtest
                     83:   83  00010880                                   #         for( index = 0; index < max_lnf_1_index; index++ ) {
                     84:   84  00010880    4d efffffff8a                        clrl    _index
                     85:   85  00010886                                  L235:
                     86:   86  00010886    1d efffffff84 efffffff7f             cmpl    _index,_max_lnf_1_index
                     87:   87  00010891    91 03 13 010a                        jgeq    L234
                     88:   88  00010896                                   #              sgl_ld_acc   = lnf_1_data[index].ld;   /* get value to negate */
                     89:   89  00010896    0d efffffff74 50                     movl    _index,r0
                     90:   90  0001089D    48 03 50 50                          shll    $3,r0,r0
                     91:   91  000108A1    0d e000000000 efffffff64             movl    _lnf_1_data(r0),_sgl_ld_acc
                     92:   92  000108AC                                   #              sgl_expected = lnf_1_data[index].exp;  /* get expected result */
                     93:   93  000108AC    0d efffffff5e 50                     movl    _index,r0
                     94:   94  000108B3    48 03 50 50                          shll    $3,r0,r0
                     95:   95  000108B7    0d e000000004 efffffff4e             movl    _lnf_1_data+4(r0),_sgl_expected
                     96:   96  000108C2                                   # /*
                     97:   97  000108C2                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                     98:   98  000108C2                                   #  * The force loop flag is set after the first error.
                     99:   99  000108C2                                   # */
                    100:  100  000108C2                                   #              asm("_lnf_1_lp1:");
                    101:  101  000108C2                                  _lnf_1_lp1:
                    102:  102  000108C2                                   #              asm("movl _sgl_ld_acc,r4");        /* get the value to negate */
                    103:  103  000108C2    0d efffffff48 54              movl _sgl_ld_acc,r4
                    104:  104  000108C9                                   #              asm("lnf r4");                     /* load and negate value   */
                    105:  105  000108C9    16 54                         lnf r4
                    106:  106  000108CB                                   #              asm("stf r5");                     /* store the result in R5  */
                    107:  107  000108CB    26 55                         stf r5
                    108:  108  000108CD                                   #              if( force_loop )
                    109:  109  000108CD    5d efffffff3d                        tstl    _force_loop
                    110:  110  000108D3    31 02                                jeql    L236
                    111:  111  000108D5                                   #                   asm("brb _lnf_1_lp1");;       /* loop on the error       */
                    112:  112  000108D5    11 eb                         brb _lnf_1_lp1
                    113:  113  000108D7                                  L236:
                    114:  114  000108D7                                   # /* 
                    115:  115  000108D7                                   #  * end error loop - test the results
                    116:  116  000108D7                                   # */
                    117:  117  000108D7                                   #              asm("movl r5,_sgl_st_acc");        /* move R5 data to cache  */
                    118:  118  000108D7    0d 55 efffffff32              movl r5,_sgl_st_acc
                    119:  119  000108DE                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                    120:  120  000108DE    1d efffffff2c efffffff27             cmpl    _sgl_st_acc,_sgl_expected
                    121:  121  000108E9    21 03 13 00a9                        jeql    L237
                    122:  122  000108EE                                   #                    errcnt++;                    /* bump the error count   */
                    123:  123  000108EE    6d efffffff1c                        incl    _errcnt
                    124:  124  000108F4                                   #                    if( prt_error ) {
                    125:  125  000108F4    5d efffffff16                        tstl    _prt_error
                    126:  126  000108FA    31 78                                jeql    L238
                    127:  127  000108FC                                   #                         writes(" \n");      /* start a new print line */
                    128:  128  000108FC                                         .data   1
                    129:  129  00000941 *                                L239:
                    130:  130  00000941 *  200A00                               .ascii  " \12\0"
                    131:  131  00000944 *                                       .text
                    132:  132  000108FC    dd 8f00000941                        pushl   $L239
                    133:  133  00010902    fe 08 efffffff07                     callf   $8,_writes
                    134:  134  00010909                                   #                         writes("cycle: ");
                    135:  135  00010909                                         .data   1
                    136:  136  00000944 *                                L240:
                    137:  137  00000944 *  6379636C653A2000                     .ascii  "cycle: \0"
                    138:  138  0000094c *                                       .text
                    139:  139  00010909    dd 8f00000944                        pushl   $L240
                    140:  140  0001090F    fe 08 effffffefa                     callf   $8,_writes
                    141:  141  00010916                                   #                         writed( cycle );
                    142:  142  00010916    dd effffffef4                        pushl   _cycle
                    143:  143  0001091C    fe 08 effffffeed                     callf   $8,_writed
                    144:  144  00010923                                   #                         writes("  LNF test ");
                    145:  145  00010923                                         .data   1
                    146:  146  0000094c *                                L242:
                    147:  147  0000094c *  20204C4E4620746573742000             .ascii  "  LNF test \0"
                    148:  148  00000958 *                                       .text
                    149:  149  00010923    dd 8f0000094c                        pushl   $L242
                    150:  150  00010929    fe 08 effffffee0                     callf   $8,_writes
                    151:  151  00010930                                   #                     writed( test_no );
                    152:  152  00010930    dd effffffeda                        pushl   _test_no
                    153:  153  00010936    fe 08 effffffed3                     callf   $8,_writed
                    154:  154  0001093D                                   #                     writes(", subtest 1 (Reg. Data) - BAD FINAL ACC\n");
                    155:  155  0001093D                                         .data   1
                    156:  156  00000958 *                                L243:
                    157:  157  00000958 *  2C20737562746573742031202            .ascii  ", subtest 1 (Reg. Data) - BAD FINAL ACC\12\0"
                    158:                   85265672E204461746129202D
                    159:                   204241442046494E414C20414
                    160:                   3430A00
                    161:  158  00000981 *                                       .text
                    162:  159  0001093D    dd 8f00000958                        pushl   $L243
                    163:  160  00010943    fe 08 effffffec6                     callf   $8,_writes
                    164:  161  0001094A                                   #                         print_lnf_data();
                    165:  162  0001094A    fe 04 ef000006eb                     callf   $4,_print_lnf_data
                    166:  163  00010951                                   #                         writes("                         Acc expected = ");
                    167:  164  00010951                                         .data   1
                    168:  165  00000981 *                                L245:
                    169:  166  00000981 *  2020202020202020202020202            .ascii  "                         Acc expected = \0"
                    170:                   0202020202020202020202020
                    171:                   4163632065787065637465642
                    172:                   03D2000
                    173:  167  000009aa *                                       .text
                    174:  168  00010951    dd 8f00000981                        pushl   $L245
                    175:  169  00010957    fe 08 effffffeb2                     callf   $8,_writes
                    176:  170  0001095E                                   #                         write32h( sgl_expected );
                    177:  171  0001095E    dd effffffeac                        pushl   _sgl_expected
                    178:  172  00010964    fe 08 effffffea5                     callf   $8,_write32h
                    179:  173  0001096B                                   #                         writec('\n');
                    180:  174  0001096B    dd 0a                                pushl   $10
                    181:  175  0001096D    fe 08 effffffe9c                     callf   $8,_writec
                    182:  176  00010974                                   #                    }
                    183:  177  00010974                                   #                    if( halt_flg ) 
                    184:  178  00010974                                  L238:
                    185:  179  00010974    5d effffffe96                        tstl    _halt_flg
                    186:  180  0001097A    31 09                                jeql    L248
                    187:  181  0001097C                                   #                         lnf_er_halt( BAD_ACC_HLT );    /* halt on the error */
                    188:  182  0001097C    dd 01                                pushl   $1
                    189:  183  0001097E    fe 08 ef00000715                     callf   $8,_lnf_er_halt
                    190:  184  00010985                                   #                    if( loop_on_err ) {
                    191:  185  00010985                                  L248:
                    192:  186  00010985    5d effffffe85                        tstl    _loop_on_err
                    193:  187  0001098B    31 0a                                jeql    L250
                    194:  188  0001098D                                   #                         force_loop = TRUE;       /* set the force loop flag */
                    195:  189  0001098D    0d 01 effffffe7c                     movl    $1,_force_loop
                    196:  190  00010994                                   #                         asm("brw _lnf_1_lp1");;  /* and loop on the error   */
                    197:  191  00010994    13 ff2b                       brw _lnf_1_lp1
                    198:  192  00010997                                   #                    }   /* end of loop on error */
                    199:  193  00010997                                   #              }   /* end of compare error */
                    200:  194  00010997                                  L250:
                    201:  195  00010997                                   #         }  /* end of WHILE loop */
                    202:  196  00010997                                  L237:
                    203:  197  00010997                                  L233:
                    204:  198  00010997    6d effffffe73                        incl    _index
                    205:  199  0001099D    13 fee6                              jbr     L235
                    206:  200  000109A0                                  L234:
                    207:  201  000109A0                                   # }  /* end of subtest 1 */
                    208:  202  000109A0    40                                   ret#2
                    209:  203  000109A1                                         .set    L229,0x0
                    210:  204  000109A1                                  L231:
                    211:  205  000109A1    13 fecf                              jbr     L232
                    212:  206  000109A4                                         .data
                    213:  207  0000093c *                                       .text
                    214:  208  000109A4                                         .align  1
                    215:  209  000109A4                                         .globl  _lnf_2
                    216:  210  000109A4                                  _lnf_2:
                    217:  211  000109A4    0000                                 .word   L251
                    218:  212  000109A6                                   #    
                    219:  213  000109A6                                   # 
                    220:  214  000109A6                                   # 
                    221:  215  000109A6                                   # /************************************************************************
                    222:  216  000109A6                                   # *
                    223:  217  000109A6                                   # *               SUBTEST 2 - load_negate through memory
                    224:  218  000109A6                                   # *
                    225:  219  000109A6                                   # ************************************************************************/
                    226:  220  000109A6                                   # lnf_2() 
                    227:  221  000109A6                                   # {
                    228:  222  000109A6    13 0128                              jbr     L253
                    229:  223  000109A9                                  L254:
                    230:  224  000109A9                                   #         force_loop = FALSE;
                    231:  225  000109A9    4d effffffe61                        clrl    _force_loop
                    232:  226  000109AF                                   #         subtest = 2;
                    233:  227  000109AF    0d 02 effffffe5a                     movl    $2,_subtest
                    234:  228  000109B6                                   #         for( index = 0; index < max_lnf_1_index; index++ ) {
                    235:  229  000109B6    4d effffffe54                        clrl    _index
                    236:  230  000109BC                                  L257:
                    237:  231  000109BC    1d effffffe4e effffffe49             cmpl    _index,_max_lnf_1_index
                    238:  232  000109C7    91 03 13 0104                        jgeq    L256
                    239:  233  000109CC                                   #              sgl_ld_acc   = lnf_1_data[index].ld;   /* get value to negate */
                    240:  234  000109CC    0d effffffe3e 50                     movl    _index,r0
                    241:  235  000109D3    48 03 50 50                          shll    $3,r0,r0
                    242:  236  000109D7    0d e000000000 effffffe2e             movl    _lnf_1_data(r0),_sgl_ld_acc
                    243:  237  000109E2                                   #              sgl_expected = lnf_1_data[index].exp;  /* get expected result */
                    244:  238  000109E2    0d effffffe28 50                     movl    _index,r0
                    245:  239  000109E9    48 03 50 50                          shll    $3,r0,r0
                    246:  240  000109ED    0d e000000004 effffffe18             movl    _lnf_1_data+4(r0),_sgl_expected
                    247:  241  000109F8                                   # /*
                    248:  242  000109F8                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    249:  243  000109F8                                   #  * The force loop flag is set after the first error.
                    250:  244  000109F8                                   # */
                    251:  245  000109F8                                   #              asm("_lnf_2_lp1:");
                    252:  246  000109F8                                  _lnf_2_lp1:
                    253:  247  000109F8                                   #              asm("lnf _sgl_ld_acc");            /* load and negate the value */
                    254:  248  000109F8    16 effffffe12                 lnf _sgl_ld_acc
                    255:  249  000109FE                                   #              asm("stf _sgl_st_acc");            /* store the result        */
                    256:  250  000109FE    26 effffffe0c                 stf _sgl_st_acc
                    257:  251  00010A04                                   #              if( force_loop )
                    258:  252  00010A04    5d effffffe06                        tstl    _force_loop
                    259:  253  00010A0A    31 02                                jeql    L258
                    260:  254  00010A0C                                   #                   asm("brb _lnf_2_lp1");;      /* loop on the error       */
                    261:  255  00010A0C    11 ea                         brb _lnf_2_lp1
                    262:  256  00010A0E                                  L258:
                    263:  257  00010A0E                                   # /* 
                    264:  258  00010A0E                                   #  * end error loop - test the results
                    265:  259  00010A0E                                   # */
                    266:  260  00010A0E                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                    267:  261  00010A0E    1d effffffdfc effffffdf7             cmpl    _sgl_st_acc,_sgl_expected
                    268:  262  00010A19    21 03 13 00a9                        jeql    L259
                    269:  263  00010A1E                                   #                    errcnt++;                    /* bump the error count   */
                    270:  264  00010A1E    6d effffffdec                        incl    _errcnt
                    271:  265  00010A24                                   #                    if( prt_error ) {
                    272:  266  00010A24    5d effffffde6                        tstl    _prt_error
                    273:  267  00010A2A    31 78                                jeql    L260
                    274:  268  00010A2C                                   #                         writes(" \n");      /* start a new print line */
                    275:  269  00010A2C                                         .data   1
                    276:  270  000009aa *                                L261:
                    277:  271  000009aa *  200A00                               .ascii  " \12\0"
                    278:  272  000009ad *                                       .text
                    279:  273  00010A2C    dd 8f000009aa                        pushl   $L261
                    280:  274  00010A32    fe 08 effffffdd7                     callf   $8,_writes
                    281:  275  00010A39                                   #                         writes("cycle: ");
                    282:  276  00010A39                                         .data   1
                    283:  277  000009ad *                                L262:
                    284:  278  000009ad *  6379636C653A2000                     .ascii  "cycle: \0"
                    285:  279  000009b5 *                                       .text
                    286:  280  00010A39    dd 8f000009ad                        pushl   $L262
                    287:  281  00010A3F    fe 08 effffffdca                     callf   $8,_writes
                    288:  282  00010A46                                   #                         writed( cycle );
                    289:  283  00010A46    dd effffffdc4                        pushl   _cycle
                    290:  284  00010A4C    fe 08 effffffdbd                     callf   $8,_writed
                    291:  285  00010A53                                   #                         writes("  LNF test ");
                    292:  286  00010A53                                         .data   1
                    293:  287  000009b5 *                                L263:
                    294:  288  000009b5 *  20204C4E4620746573742000             .ascii  "  LNF test \0"
                    295:  289  000009c1 *                                       .text
                    296:  290  00010A53    dd 8f000009b5                        pushl   $L263
                    297:  291  00010A59    fe 08 effffffdb0                     callf   $8,_writes
                    298:  292  00010A60                                   #                     writed( test_no );
                    299:  293  00010A60    dd effffffdaa                        pushl   _test_no
                    300:  294  00010A66    fe 08 effffffda3                     callf   $8,_writed
                    301:  295  00010A6D                                   #                     writes(", subtest 2 (Cache Data) - BAD FINAL ACC\n");
                    302:  296  00010A6D                                         .data   1
                    303:  297  000009c1 *                                L264:
                    304:  298  000009c1 *  2C20737562746573742032202            .ascii  ", subtest 2 (Cache Data) - BAD FINAL ACC\12\0"
                    305:                   8436163686520446174612920
                    306:                   2D204241442046494E414C204
                    307:                   143430A00
                    308:  299  000009eb *                                       .text
                    309:  300  00010A6D    dd 8f000009c1                        pushl   $L264
                    310:  301  00010A73    fe 08 effffffd96                     callf   $8,_writes
                    311:  302  00010A7A                                   #                         print_lnf_data();
                    312:  303  00010A7A    fe 04 ef000005bb                     callf   $4,_print_lnf_data
                    313:  304  00010A81                                   #                         writes("                         Acc expected = ");
                    314:  305  00010A81                                         .data   1
                    315:  306  000009eb *                                L265:
                    316:  307  000009eb *  2020202020202020202020202            .ascii  "                         Acc expected = \0"
                    317:                   0202020202020202020202020
                    318:                   4163632065787065637465642
                    319:                   03D2000
                    320:  308  00000a14 *                                       .text
                    321:  309  00010A81    dd 8f000009eb                        pushl   $L265
                    322:  310  00010A87    fe 08 effffffd82                     callf   $8,_writes
                    323:  311  00010A8E                                   #                         write32h( sgl_expected );
                    324:  312  00010A8E    dd effffffd7c                        pushl   _sgl_expected
                    325:  313  00010A94    fe 08 effffffd75                     callf   $8,_write32h
                    326:  314  00010A9B                                   #                         writec('\n');
                    327:  315  00010A9B    dd 0a                                pushl   $10
                    328:  316  00010A9D    fe 08 effffffd6c                     callf   $8,_writec
                    329:  317  00010AA4                                   #                    }
                    330:  318  00010AA4                                   #                    if( halt_flg ) 
                    331:  319  00010AA4                                  L260:
                    332:  320  00010AA4    5d effffffd66                        tstl    _halt_flg
                    333:  321  00010AAA    31 09                                jeql    L266
                    334:  322  00010AAC                                   #                         lnf_er_halt( BAD_ACC_HLT );    /* halt on the error */
                    335:  323  00010AAC    dd 01                                pushl   $1
                    336:  324  00010AAE    fe 08 ef000005e5                     callf   $8,_lnf_er_halt
                    337:  325  00010AB5                                   #                    if( loop_on_err ) {
                    338:  326  00010AB5                                  L266:
                    339:  327  00010AB5    5d effffffd55                        tstl    _loop_on_err
                    340:  328  00010ABB    31 0a                                jeql    L267
                    341:  329  00010ABD                                   #                         force_loop = TRUE;       /* set the force loop flag */
                    342:  330  00010ABD    0d 01 effffffd4c                     movl    $1,_force_loop
                    343:  331  00010AC4                                   #                         asm("brw _lnf_2_lp1");;  /* and loop on the error   */
                    344:  332  00010AC4    13 ff31                       brw _lnf_2_lp1
                    345:  333  00010AC7                                   #                    }   /* end of loop on error */
                    346:  334  00010AC7                                   #              }   /* end of compare error */
                    347:  335  00010AC7                                  L267:
                    348:  336  00010AC7                                   #         }  /* end of WHILE loop */
                    349:  337  00010AC7                                  L259:
                    350:  338  00010AC7                                  L255:
                    351:  339  00010AC7    6d effffffd43                        incl    _index
                    352:  340  00010ACD    13 feec                              jbr     L257
                    353:  341  00010AD0                                  L256:
                    354:  342  00010AD0                                   # }  /* end of subtest 2 */
                    355:  343  00010AD0    40                                   ret#2
                    356:  344  00010AD1                                         .set    L251,0x0
                    357:  345  00010AD1                                  L253:
                    358:  346  00010AD1    13 fed5                              jbr     L254
                    359:  347  00010AD4                                         .data
                    360:  348  0000093c *                                       .text
                    361:  349  00010AD4                                         .align  1
                    362:  350  00010AD4                                         .globl  _lnf_3
                    363:  351  00010AD4                                  _lnf_3:
                    364:  352  00010AD4    0000                                 .word   L268
                    365:  353  00010AD6                                   #    
                    366:  354  00010AD6                                   # 
                    367:  355  00010AD6                                   # 
                    368:  356  00010AD6                                   # /************************************************************************
                    369:  357  00010AD6                                   # *
                    370:  358  00010AD6                                   # *       SUBTEST 3 - Check for register corruption 
                    371:  359  00010AD6                                   # *
                    372:  360  00010AD6                                   # ************************************************************************/
                    373:  361  00010AD6                                   # lnf_3() 
                    374:  362  00010AD6                                   # {
                    375:  363  00010AD6    13 0195                              jbr     L270
                    376:  364  00010AD9                                  L271:
                    377:  365  00010AD9                                   #         force_loop = FALSE;                     /* clear force_loop flg */
                    378:  366  00010AD9    4d effffffd31                        clrl    _force_loop
                    379:  367  00010ADF                                   #         subtest = 3;
                    380:  368  00010ADF    0d 03 effffffd2a                     movl    $3,_subtest
                    381:  369  00010AE6                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
                    382:  370  00010AE6    dd 8f00000000                        pushl   $_load_regs
                    383:  371  00010AEC    fe 08 effffffd1d                     callf   $8,_fill_reg_buf
                    384:  372  00010AF3                                   #         index = 0;
                    385:  373  00010AF3    4d effffffd17                        clrl    _index
                    386:  374  00010AF9                                   #         sgl_ld_acc   = lnf_1_data[0].ld;       /* get value to negate */
                    387:  375  00010AF9    0d effffffd11 effffffd0c             movl    _lnf_1_data,_sgl_ld_acc
                    388:  376  00010B04                                   #         sgl_expected = lnf_1_data[0].exp;      /* get expected result */
                    389:  377  00010B04    0d effffffd0a effffffd01             movl    _lnf_1_data+4,_sgl_expected
                    390:  378  00010B0F                                   # /*
                    391:  379  00010B0F                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    392:  380  00010B0F                                   #  * The force loop flag is set after the first error.
                    393:  381  00010B0F                                   # */
                    394:  382  00010B0F                                   #         asm("_lnf_3_lp1:");
                    395:  383  00010B0F                                  _lnf_3_lp1:
                    396:  384  00010B0F                                   #         asm("loadr $0x1fff,_load_regs");        /* load regs 0 - 12      */
                    397:  385  00010B0F    ab 891fff effffffcf8          loadr $0x1fff,_load_regs
                    398:  386  00010B18                                   #         asm("nop");
                    399:  387  00010B18    10                            nop
                    400:  388  00010B19                                   #         asm("lnf _sgl_ld_acc");                 /* load and negate the value */
                    401:  389  00010B19    16 effffffcf1                 lnf _sgl_ld_acc
                    402:  390  00010B1F                                   #         asm("nop");
                    403:  391  00010B1F    10                            nop
                    404:  392  00010B20                                   #         asm("storer $0x1fff,_store_regs");      /* store regs 0 - 12 */
                    405:  393  00010B20    bb 891fff effffffce7          storer $0x1fff,_store_regs
                    406:  394  00010B29                                   #         asm("stf _sgl_st_acc");                 /* save the accumulator  */
                    407:  395  00010B29    26 effffffce1                 stf _sgl_st_acc
                    408:  396  00010B2F                                   #         if( force_loop )
                    409:  397  00010B2F    5d effffffcdb                        tstl    _force_loop
                    410:  398  00010B35    31 02                                jeql    L273
                    411:  399  00010B37                                   #              asm("brb _lnf_3_lp1");;           /* loop on the error     */
                    412:  400  00010B37    11 d6                         brb _lnf_3_lp1
                    413:  401  00010B39                                  L273:
                    414:  402  00010B39                                   # /*
                    415:  403  00010B39                                   #  * Now compare the stored register values to those that were loaded
                    416:  404  00010B39                                   # */
                    417:  405  00010B39                                   #         index2 = 0;
                    418:  406  00010B39    4d effffffcd1                        clrl    _index2
                    419:  407  00010B3F                                   #         while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
                    420:  408  00010B3F                                  L274:
                    421:  409  00010B3F    0d effffffccb 50                     movl    _index2,r0
                    422:  410  00010B46    0d effffffcc4 51                     movl    _index2,r1
                    423:  411  00010B4D    1d 40effffffcbc                      cmpl    _load_regs[r0],_store_regs[r1]
                    424:                   41effffffcb6 
                    425:  412  00010B5A    21 11                                jneq    L275
                    426:  413  00010B5C    1d effffffcae 0d                     cmpl    _index2,$13
                    427:  414  00010B63    81 08                                jgeq    L275
                    428:  415  00010B65                                   #              index2++;                          /* check reg values        */
                    429:  416  00010B65    6d effffffca5                        incl    _index2
                    430:  417  00010B6B    11 d2                                jbr     L274
                    431:  418  00010B6D                                  L275:
                    432:  419  00010B6D                                   #         if( index2 < 13 ) {                     /* error if index2 < 13    */
                    433:  420  00010B6D    1d effffffc9d 0d                     cmpl    _index2,$13
                    434:  421  00010B74    91 03 13 00f4                        jgeq    L276
                    435:  422  00010B79                                   #              errcnt++;                          /* bump the error count    */
                    436:  423  00010B79    6d effffffc91                        incl    _errcnt
                    437:  424  00010B7F                                   #              if( prt_error ) {
                    438:  425  00010B7F    5d effffffc8b                        tstl    _prt_error
                    439:  426  00010B85    21 03 13 00c0                        jeql    L277
                    440:  427  00010B8A                                   #                   writes(" \n");           /* start a new print line  */
                    441:  428  00010B8A                                         .data   1
                    442:  429  00000a14 *                                L278:
                    443:  430  00000a14 *  200A00                               .ascii  " \12\0"
                    444:  431  00000a17 *                                       .text
                    445:  432  00010B8A    dd 8f00000a14                        pushl   $L278
                    446:  433  00010B90    fe 08 effffffc79                     callf   $8,_writes
                    447:  434  00010B97                                   #                   writes("cycle: ");
                    448:  435  00010B97                                         .data   1
                    449:  436  00000a17 *                                L279:
                    450:  437  00000a17 *  6379636C653A2000                     .ascii  "cycle: \0"
                    451:  438  00000a1f *                                       .text
                    452:  439  00010B97    dd 8f00000a17                        pushl   $L279
                    453:  440  00010B9D    fe 08 effffffc6c                     callf   $8,_writes
                    454:  441  00010BA4                                   #                   writed( cycle );
                    455:  442  00010BA4    dd effffffc66                        pushl   _cycle
                    456:  443  00010BAA    fe 08 effffffc5f                     callf   $8,_writed
                    457:  444  00010BB1                                   #                   writes("  LNF test ");
                    458:  445  00010BB1                                         .data   1
                    459:  446  00000a1f *                                L280:
                    460:  447  00000a1f *  20204C4E4620746573742000             .ascii  "  LNF test \0"
                    461:  448  00000a2b *                                       .text
                    462:  449  00010BB1    dd 8f00000a1f                        pushl   $L280
                    463:  450  00010BB7    fe 08 effffffc52                     callf   $8,_writes
                    464:  451  00010BBE                                   #               writed( test_no );
                    465:  452  00010BBE    dd effffffc4c                        pushl   _test_no
                    466:  453  00010BC4    fe 08 effffffc45                     callf   $8,_writed
                    467:  454  00010BCB                                   #       writes(", subtest 3 - A REGISTER WAS MODIFIED\n");
                    468:  455  00010BCB                                         .data   1
                    469:  456  00000a2b *                                L281:
                    470:  457  00000a2b *  2C20737562746573742033202            .ascii  ", subtest 3 - A REGISTER WAS MODIFIED\12\0"
                    471:                   D204120524547495354455220
                    472:                   574153204D4F4449464945440
                    473:                   A00
                    474:  458  00000a52 *                                       .text
                    475:  459  00010BCB    dd 8f00000a2b                        pushl   $L281
                    476:  460  00010BD1    fe 08 effffffc38                     callf   $8,_writes
                    477:  461  00010BD8                                   #                   print_lnf_data();            /* print the operands      */
                    478:  462  00010BD8    fe 04 ef0000045d                     callf   $4,_print_lnf_data
                    479:  463  00010BDF                                   #                   writes("register ");          /* print the information   */
                    480:  464  00010BDF                                         .data   1
                    481:  465  00000a52 *                                L282:
                    482:  466  00000a52 *  72656769737465722000                 .ascii  "register \0"
                    483:  467  00000a5c *                                       .text
                    484:  468  00010BDF    dd 8f00000a52                        pushl   $L282
                    485:  469  00010BE5    fe 08 effffffc24                     callf   $8,_writes
                    486:  470  00010BEC                                   #                   writed( index2 );             /*    about the corrupted  */
                    487:  471  00010BEC    dd effffffc1e                        pushl   _index2
                    488:  472  00010BF2    fe 08 effffffc17                     callf   $8,_writed
                    489:  473  00010BF9                                   #                   writes(" = ");                /*        register         */
                    490:  474  00010BF9                                         .data   1
                    491:  475  00000a5c *                                L283:
                    492:  476  00000a5c *  203D2000                             .ascii  " = \0"
                    493:  477  00000a60 *                                       .text
                    494:  478  00010BF9    dd 8f00000a5c                        pushl   $L283
                    495:  479  00010BFF    fe 08 effffffc0a                     callf   $8,_writes
                    496:  480  00010C06                                   #                   write32h( store_regs[index2] );
                    497:  481  00010C06    0d effffffc04 50                     movl    _index2,r0
                    498:  482  00010C0D    dd 40effffffbfc                      pushl   _store_regs[r0]
                    499:  483  00010C14    fe 08 effffffbf5                     callf   $8,_write32h
                    500:  484  00010C1B                                   #                   writes(",  should be = ");
                    501:  485  00010C1B                                         .data   1
                    502:  486  00000a60 *                                L284:
                    503:  487  00000a60 *  2C202073686F756C642062652            .ascii  ",  should be = \0"
                    504:                   03D2000
                    505:  488  00000a70 *                                       .text
                    506:  489  00010C1B    dd 8f00000a60                        pushl   $L284
                    507:  490  00010C21    fe 08 effffffbe8                     callf   $8,_writes
                    508:  491  00010C28                                   #                   write32h( load_regs[index2] );
                    509:  492  00010C28    0d effffffbe2 50                     movl    _index2,r0
                    510:  493  00010C2F    dd 40effffffbda                      pushl   _load_regs[r0]
                    511:  494  00010C36    fe 08 effffffbd3                     callf   $8,_write32h
                    512:  495  00010C3D                                   #                   writes("\n");
                    513:  496  00010C3D                                         .data   1
                    514:  497  00000a70 *                                L285:
                    515:  498  00000a70 *  0A00                                 .ascii  "\12\0"
                    516:  499  00000a72 *                                       .text
                    517:  500  00010C3D    dd 8f00000a70                        pushl   $L285
                    518:  501  00010C43    fe 08 effffffbc6                     callf   $8,_writes
                    519:  502  00010C4A                                   #              }
                    520:  503  00010C4A                                   #              if( halt_flg )   
                    521:  504  00010C4A                                  L277:
                    522:  505  00010C4A    5d effffffbc0                        tstl    _halt_flg
                    523:  506  00010C50    31 09                                jeql    L286
                    524:  507  00010C52                                   #                   lnf_er_halt( BAD_REG_HLT );  /* halt on the error      */
                    525:  508  00010C52    dd 02                                pushl   $2
                    526:  509  00010C54    fe 08 ef0000043f                     callf   $8,_lnf_er_halt
                    527:  510  00010C5B                                   #              if( loop_on_err ) {
                    528:  511  00010C5B                                  L286:
                    529:  512  00010C5B    5d effffffbaf                        tstl    _loop_on_err
                    530:  513  00010C61    31 0a                                jeql    L287
                    531:  514  00010C63                                   #                   force_loop = TRUE;       /* set the force loop flag */
                    532:  515  00010C63    0d 01 effffffba6                     movl    $1,_force_loop
                    533:  516  00010C6A                                   #                   asm("brw _lnf_3_lp1");;  /* and loop on the error   */
                    534:  517  00010C6A    13 fea2                       brw _lnf_3_lp1
                    535:  518  00010C6D                                   #              }   /* end of loop on error */
                    536:  519  00010C6D                                   #         }  /* end of register corruption error */
                    537:  520  00010C6D                                  L287:
                    538:  521  00010C6D                                   # }  /* end of subtest 3 */
                    539:  522  00010C6D                                  L276:
                    540:  523  00010C6D    40                                   ret#2
                    541:  524  00010C6E                                         .set    L268,0x0
                    542:  525  00010C6E                                  L270:
                    543:  526  00010C6E    13 fe68                              jbr     L271
                    544:  527  00010C71                                         .data
                    545:  528  0000093c *                                       .text
                    546:  529  00010C71    00                                   .align  1
                    547:  530  00010C72                                         .globl  _lnf_4
                    548:  531  00010C72                                  _lnf_4:
                    549:  532  00010C72    0000                                 .word   L288
                    550:  533  00010C74                                   #   
                    551:  534  00010C74                                   # 
                    552:  535  00010C74                                   # 
                    553:  536  00010C74                                   # /************************************************************************
                    554:  537  00010C74                                   # *
                    555:  538  00010C74                                   # *       SUBTEST 4 - Check for PSL corruption 
                    556:  539  00010C74                                   # *
                    557:  540  00010C74                                   # ************************************************************************/
                    558:  541  00010C74                                   # lnf_4() 
                    559:  542  00010C74                                   # {
                    560:  543  00010C74    13 019d                              jbr     L290
                    561:  544  00010C77                                  L291:
                    562:  545  00010C77                                   #         force_loop = FALSE;                     /* clear force_loop flg */
                    563:  546  00010C77    4d effffffb93                        clrl    _force_loop
                    564:  547  00010C7D                                   #         subtest = 4;
                    565:  548  00010C7D    0d 04 effffffb8c                     movl    $4,_subtest
                    566:  549  00010C84                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
                    567:  550  00010C84    dd 8f00000000                        pushl   $_load_regs
                    568:  551  00010C8A    fe 08 effffffb7f                     callf   $8,_fill_reg_buf
                    569:  552  00010C91                                   #         for( index = 0; index < 3; index++ ) {
                    570:  553  00010C91    4d effffffb79                        clrl    _index
                    571:  554  00010C97                                  L294:
                    572:  555  00010C97    1d effffffb73 03                     cmpl    _index,$3
                    573:  556  00010C9E    91 03 13 0170                        jgeq    L293
                    574:  557  00010CA3                                   #              sgl_ld_acc   = lnf_1_data[index].ld;      /* get value to negate */
                    575:  558  00010CA3    0d effffffb67 50                     movl    _index,r0
                    576:  559  00010CAA    48 03 50 50                          shll    $3,r0,r0
                    577:  560  00010CAE    0d e000000000 effffffb57             movl    _lnf_1_data(r0),_sgl_ld_acc
                    578:  561  00010CB9                                   #              sgl_expected = lnf_1_data[index].exp;     /* get expected  */
                    579:  562  00010CB9    0d effffffb51 50                     movl    _index,r0
                    580:  563  00010CC0    48 03 50 50                          shll    $3,r0,r0
                    581:  564  00010CC4    0d e000000004 effffffb41             movl    _lnf_1_data+4(r0),_sgl_expected
                    582:  565  00010CCF                                   #              sgl_dummy1 = status_array[status_index];    /* status = +, -, 0 */
                    583:  566  00010CCF    0d effffffb3b 50                     movl    _status_index,r0
                    584:  567  00010CD6    0d 40effffffb33                      movl    _status_array[r0],_sgl_dummy1
                    585:                   effffffb2e 
                    586:  568  00010CE2                                   # /*
                    587:  569  00010CE2                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    588:  570  00010CE2                                   #  * The force loop flag is set after the first error.
                    589:  571  00010CE2                                   # */
                    590:  572  00010CE2                                   #              asm("_lnf_4_lp1:");
                    591:  573  00010CE2                                  _lnf_4_lp1:
                    592:  574  00010CE2                                   #              asm("tstl _sgl_dummy1");               /* set the PSL status    */
                    593:  575  00010CE2    5d effffffb28                 tstl _sgl_dummy1
                    594:  576  00010CE8                                   #          asm("movpsl _init_psl");           /* save the initial PSL  */
                    595:  577  00010CE8    cd effffffb22                 movpsl _init_psl
                    596:  578  00010CEE                                   #              asm("lnf _sgl_ld_acc");            /* load and negate the value */
                    597:  579  00010CEE    16 effffffb1c                 lnf _sgl_ld_acc
                    598:  580  00010CF4                                   #              asm("nop");
                    599:  581  00010CF4    10                            nop
                    600:  582  00010CF5                                   #              asm("movpsl _psl_val");            /* save the final PSL    */
                    601:  583  00010CF5    cd effffffb15                 movpsl _psl_val
                    602:  584  00010CFB                                   #              asm("stf _sgl_st_acc");            /* save the accumulator  */
                    603:  585  00010CFB    26 effffffb0f                 stf _sgl_st_acc
                    604:  586  00010D01                                   #              if( force_loop )
                    605:  587  00010D01    5d effffffb09                        tstl    _force_loop
                    606:  588  00010D07    31 02                                jeql    L295
                    607:  589  00010D09                                   #                   asm("brb _lnf_4_lp1");;      /* loop on the error     */
                    608:  590  00010D09    11 d7                         brb _lnf_4_lp1
                    609:  591  00010D0B                                  L295:
                    610:  592  00010D0B                                   # /*
                    611:  593  00010D0B                                   #  * Now compare the final PSL to the initial PSL -they should be the same
                    612:  594  00010D0B                                   # */
                    613:  595  00010D0B                                   #              exp_psl = init_psl;
                    614:  596  00010D0B    0d effffffaff effffffafa             movl    _init_psl,_exp_psl
                    615:  597  00010D16                                   #          if( psl_val != init_psl ) {
                    616:  598  00010D16    1d effffffaf4 effffffaef             cmpl    _psl_val,_init_psl
                    617:  599  00010D21    21 03 13 00e4                        jeql    L296
                    618:  600  00010D26                                   #                   errcnt++;                     /* bump the error count    */
                    619:  601  00010D26    6d effffffae4                        incl    _errcnt
                    620:  602  00010D2C                                   #                   if( prt_error ) {
                    621:  603  00010D2C    5d effffffade                        tstl    _prt_error
                    622:  604  00010D32    21 03 13 00b0                        jeql    L297
                    623:  605  00010D37                                   #                        writes(" \n");      /* start a new print line  */
                    624:  606  00010D37                                         .data   1
                    625:  607  00000a72 *                                L298:
                    626:  608  00000a72 *  200A00                               .ascii  " \12\0"
                    627:  609  00000a75 *                                       .text
                    628:  610  00010D37    dd 8f00000a72                        pushl   $L298
                    629:  611  00010D3D    fe 08 effffffacc                     callf   $8,_writes
                    630:  612  00010D44                                   #                        writes("cycle: ");
                    631:  613  00010D44                                         .data   1
                    632:  614  00000a75 *                                L299:
                    633:  615  00000a75 *  6379636C653A2000                     .ascii  "cycle: \0"
                    634:  616  00000a7d *                                       .text
                    635:  617  00010D44    dd 8f00000a75                        pushl   $L299
                    636:  618  00010D4A    fe 08 effffffabf                     callf   $8,_writes
                    637:  619  00010D51                                   #                        writed( cycle );
                    638:  620  00010D51    dd effffffab9                        pushl   _cycle
                    639:  621  00010D57    fe 08 effffffab2                     callf   $8,_writed
                    640:  622  00010D5E                                   #                        writes("  LNF test ");
                    641:  623  00010D5E                                         .data   1
                    642:  624  00000a7d *                                L300:
                    643:  625  00000a7d *  20204C4E4620746573742000             .ascii  "  LNF test \0"
                    644:  626  00000a89 *                                       .text
                    645:  627  00010D5E    dd 8f00000a7d                        pushl   $L300
                    646:  628  00010D64    fe 08 effffffaa5                     callf   $8,_writes
                    647:  629  00010D6B                                   #                    writed( test_no );
                    648:  630  00010D6B    dd effffffa9f                        pushl   _test_no
                    649:  631  00010D71    fe 08 effffffa98                     callf   $8,_writed
                    650:  632  00010D78                                   #     writes(", subtest 4 - INCORRECT FINAL PSL\n");
                    651:  633  00010D78                                         .data   1
                    652:  634  00000a89 *                                L301:
                    653:  635  00000a89 *  2C20737562746573742034202            .ascii  ", subtest 4 - INCORRECT FINAL PSL\12\0"
                    654:                   D20494E434F52524543542046
                    655:                   494E414C2050534C0A00
                    656:  636  00000aac *                                       .text
                    657:  637  00010D78    dd 8f00000a89                        pushl   $L301
                    658:  638  00010D7E    fe 08 effffffa8b                     callf   $8,_writes
                    659:  639  00010D85                                   #                        print_lnf_data();       /* print the operands      */
                    660:  640  00010D85    fe 04 ef000002b0                     callf   $4,_print_lnf_data
                    661:  641  00010D8C                                   #                        writes("initial PSL = ");
                    662:  642  00010D8C                                         .data   1
                    663:  643  00000aac *                                L302:
                    664:  644  00000aac *  696E697469616C2050534C203            .ascii  "initial PSL = \0"
                    665:                   D2000
                    666:  645  00000abb *                                       .text
                    667:  646  00010D8C    dd 8f00000aac                        pushl   $L302
                    668:  647  00010D92    fe 08 effffffa77                     callf   $8,_writes
                    669:  648  00010D99                                   #                        write32h( init_psl );
                    670:  649  00010D99    dd effffffa71                        pushl   _init_psl
                    671:  650  00010D9F    fe 08 effffffa6a                     callf   $8,_write32h
                    672:  651  00010DA6                                   #                        writes(",  final PSL = ");
                    673:  652  00010DA6                                         .data   1
                    674:  653  00000abb *                                L303:
                    675:  654  00000abb *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
                    676:                   03D2000
                    677:  655  00000acb *                                       .text
                    678:  656  00010DA6    dd 8f00000abb                        pushl   $L303
                    679:  657  00010DAC    fe 08 effffffa5d                     callf   $8,_writes
                    680:  658  00010DB3                                   #                        write32h( psl_val );
                    681:  659  00010DB3    dd effffffa57                        pushl   _psl_val
                    682:  660  00010DB9    fe 08 effffffa50                     callf   $8,_write32h
                    683:  661  00010DC0                                   #                        writes(",  expected PSL = ");
                    684:  662  00010DC0                                         .data   1
                    685:  663  00000acb *                                L304:
                    686:  664  00000acb *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
                    687:                   0534C203D2000
                    688:  665  00000ade *                                       .text
                    689:  666  00010DC0    dd 8f00000acb                        pushl   $L304
                    690:  667  00010DC6    fe 08 effffffa43                     callf   $8,_writes
                    691:  668  00010DCD                                   #                        write32h( exp_psl );
                    692:  669  00010DCD    dd effffffa3d                        pushl   _exp_psl
                    693:  670  00010DD3    fe 08 effffffa36                     callf   $8,_write32h
                    694:  671  00010DDA                                   #                        writes("\n");
                    695:  672  00010DDA                                         .data   1
                    696:  673  00000ade *                                L305:
                    697:  674  00000ade *  0A00                                 .ascii  "\12\0"
                    698:  675  00000ae0 *                                       .text
                    699:  676  00010DDA    dd 8f00000ade                        pushl   $L305
                    700:  677  00010DE0    fe 08 effffffa29                     callf   $8,_writes
                    701:  678  00010DE7                                   #                   }
                    702:  679  00010DE7                                   #                   if( halt_flg )   
                    703:  680  00010DE7                                  L297:
                    704:  681  00010DE7    5d effffffa23                        tstl    _halt_flg
                    705:  682  00010DED    31 09                                jeql    L306
                    706:  683  00010DEF                                   #                        lnf_er_halt( BAD_PSL_HLT );   /* halt on the error */
                    707:  684  00010DEF    dd 03                                pushl   $3
                    708:  685  00010DF1    fe 08 ef000002a2                     callf   $8,_lnf_er_halt
                    709:  686  00010DF8                                   #                   if( loop_on_err ) {
                    710:  687  00010DF8                                  L306:
                    711:  688  00010DF8    5d effffffa12                        tstl    _loop_on_err
                    712:  689  00010DFE    31 0a                                jeql    L307
                    713:  690  00010E00                                   #                        force_loop = TRUE;       /* set the force loop flag */
                    714:  691  00010E00    0d 01 effffffa09                     movl    $1,_force_loop
                    715:  692  00010E07                                   #                        asm("brw _lnf_4_lp1");;  /* and loop on the error   */
                    716:  693  00010E07    13 fed8                       brw _lnf_4_lp1
                    717:  694  00010E0A                                   #                   }   /* end of loop on error */
                    718:  695  00010E0A                                   #              }  /* end of PSL corruption error */
                    719:  696  00010E0A                                  L307:
                    720:  697  00010E0A                                   #         }  /* end of WHILE loop */
                    721:  698  00010E0A                                  L296:
                    722:  699  00010E0A                                  L292:
                    723:  700  00010E0A    6d effffffa00                        incl    _index
                    724:  701  00010E10    13 fe84                              jbr     L294
                    725:  702  00010E13                                  L293:
                    726:  703  00010E13                                   # }  /* end of subtest 4 */
                    727:  704  00010E13    40                                   ret#2
                    728:  705  00010E14                                         .set    L288,0x0
                    729:  706  00010E14                                  L290:
                    730:  707  00010E14    13 fe60                              jbr     L291
                    731:  708  00010E17                                         .data
                    732:  709  0000093c *                                       .text
                    733:  710  00010E17    00                                   .align  1
                    734:  711  00010E18                                         .globl  _lnf_5
                    735:  712  00010E18                                  _lnf_5:
                    736:  713  00010E18    0000                                 .word   L308
                    737:  714  00010E1A                                   #   
                    738:  715  00010E1A                                   # 
                    739:  716  00010E1A                                   # 
                    740:  717  00010E1A                                   # /************************************************************************
                    741:  718  00010E1A                                   # *
                    742:  719  00010E1A                                   # *               SUBTEST 5 - pipelined entry test
                    743:  720  00010E1A                                   # *
                    744:  721  00010E1A                                   # ************************************************************************/
                    745:  722  00010E1A                                   # lnf_5() 
                    746:  723  00010E1A                                   # {
                    747:  724  00010E1A    13 010a                              jbr     L310
                    748:  725  00010E1D                                  L311:
                    749:  726  00010E1D                                   #         force_loop = FALSE;
                    750:  727  00010E1D    4d effffff9ed                        clrl    _force_loop
                    751:  728  00010E23                                   #         subtest = 8;
                    752:  729  00010E23    0d 08 effffff9e6                     movl    $8,_subtest
                    753:  730  00010E2A                                   #         for( index = 0; index < max_lnf_1_index; index++ ) {
                    754:  731  00010E2A    4d effffff9e0                        clrl    _index
                    755:  732  00010E30                                  L314:
                    756:  733  00010E30    1d effffff9da effffff9d5             cmpl    _index,_max_lnf_1_index
                    757:  734  00010E3B    91 03 13 00e6                        jgeq    L313
                    758:  735  00010E40                                   #              sgl_ld_acc   = lnf_1_data[index].ld;   /* get value to negate */
                    759:  736  00010E40    0d effffff9ca 50                     movl    _index,r0
                    760:  737  00010E47    48 03 50 50                          shll    $3,r0,r0
                    761:  738  00010E4B    0d e000000000 effffff9ba             movl    _lnf_1_data(r0),_sgl_ld_acc
                    762:  739  00010E56                                   #              sgl_expected = lnf_1_data[index].exp;  /* get expected result */
                    763:  740  00010E56    0d effffff9b4 50                     movl    _index,r0
                    764:  741  00010E5D    48 03 50 50                          shll    $3,r0,r0
                    765:  742  00010E61    0d e000000004 effffff9a4             movl    _lnf_1_data+4(r0),_sgl_expected
                    766:  743  00010E6C                                   # /*
                    767:  744  00010E6C                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    768:  745  00010E6C                                   #  * The force loop flag is set after the first error.
                    769:  746  00010E6C                                   # */
                    770:  747  00010E6C                                   #              asm("_lnf_5_lp1:");
                    771:  748  00010E6C                                  _lnf_5_lp1:
                    772:  749  00010E6C                                   #              asm("movl $0,r0");                 /* clear r0                */
                    773:  750  00010E6C    0d 00 50                      movl $0,r0
                    774:  751  00010E6F                                   #              asm("ldf r0");                     /* load the Acc. with 0.0  */
                    775:  752  00010E6F    06 50                         ldf r0
                    776:  753  00010E71                                   #              asm("lnf _sgl_ld_acc");            /* load and negate the value */
                    777:  754  00010E71    16 effffff999                 lnf _sgl_ld_acc
                    778:  755  00010E77                                   #              asm("stf _sgl_st_acc");            /* store the result        */
                    779:  756  00010E77    26 effffff993                 stf _sgl_st_acc
                    780:  757  00010E7D                                   #              if( force_loop )
                    781:  758  00010E7D    5d effffff98d                        tstl    _force_loop
                    782:  759  00010E83    31 02                                jeql    L315
                    783:  760  00010E85                                   #                   asm("brb _lnf_5_lp1");;       /* loop on the error       */
                    784:  761  00010E85    11 e5                         brb _lnf_5_lp1
                    785:  762  00010E87                                  L315:
                    786:  763  00010E87                                   # /* 
                    787:  764  00010E87                                   #  * end error loop - test the results
                    788:  765  00010E87                                   # */
                    789:  766  00010E87                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                    790:  767  00010E87    1d effffff983 effffff97e             cmpl    _sgl_st_acc,_sgl_expected
                    791:  768  00010E92    21 03 13 0086                        jeql    L316
                    792:  769  00010E97                                   #                    errcnt++;                    /* bump the error count   */
                    793:  770  00010E97    6d effffff973                        incl    _errcnt
                    794:  771  00010E9D                                   #                    if( prt_error ) {
                    795:  772  00010E9D    5d effffff96d                        tstl    _prt_error
                    796:  773  00010EA3    31 55                                jeql    L317
                    797:  774  00010EA5                                   #                         writes(" \n");      /* start a new print line */
                    798:  775  00010EA5                                         .data   1
                    799:  776  00000ae0 *                                L318:
                    800:  777  00000ae0 *  200A00                               .ascii  " \12\0"
                    801:  778  00000ae3 *                                       .text
                    802:  779  00010EA5    dd 8f00000ae0                        pushl   $L318
                    803:  780  00010EAB    fe 08 effffff95e                     callf   $8,_writes
                    804:  781  00010EB2                                   #                         writes("cycle: ");
                    805:  782  00010EB2                                         .data   1
                    806:  783  00000ae3 *                                L319:
                    807:  784  00000ae3 *  6379636C653A2000                     .ascii  "cycle: \0"
                    808:  785  00000aeb *                                       .text
                    809:  786  00010EB2    dd 8f00000ae3                        pushl   $L319
                    810:  787  00010EB8    fe 08 effffff951                     callf   $8,_writes
                    811:  788  00010EBF                                   #                         writed( cycle );
                    812:  789  00010EBF    dd effffff94b                        pushl   _cycle
                    813:  790  00010EC5    fe 08 effffff944                     callf   $8,_writed
                    814:  791  00010ECC                                   #                         writes("  LNF test ");
                    815:  792  00010ECC                                         .data   1
                    816:  793  00000aeb *                                L320:
                    817:  794  00000aeb *  20204C4E4620746573742000             .ascii  "  LNF test \0"
                    818:  795  00000af7 *                                       .text
                    819:  796  00010ECC    dd 8f00000aeb                        pushl   $L320
                    820:  797  00010ED2    fe 08 effffff937                     callf   $8,_writes
                    821:  798  00010ED9                                   #                     writed( test_no );
                    822:  799  00010ED9    dd effffff931                        pushl   _test_no
                    823:  800  00010EDF    fe 08 effffff92a                     callf   $8,_writed
                    824:  801  00010EE6                                   #             writes(", subtest 5 (Piped Entry) - BAD FINAL ACC\n");
                    825:  802  00010EE6                                         .data   1
                    826:  803  00000af7 *                                L321:
                    827:  804  00000af7 *  2C20737562746573742035202            .ascii  ", subtest 5 (Piped Entry) - BAD FINAL ACC\12\0"
                    828:                   8506970656420456E74727929
                    829:                   202D204241442046494E414C2
                    830:                   04143430A00
                    831:  805  00000b22 *                                       .text
                    832:  806  00010EE6    dd 8f00000af7                        pushl   $L321
                    833:  807  00010EEC    fe 08 effffff91d                     callf   $8,_writes
                    834:  808  00010EF3                                   #                         print_lnf_data();
                    835:  809  00010EF3    fe 04 ef00000142                     callf   $4,_print_lnf_data
                    836:  810  00010EFA                                   #                    }
                    837:  811  00010EFA                                   #                    if( halt_flg ) 
                    838:  812  00010EFA                                  L317:
                    839:  813  00010EFA    5d effffff910                        tstl    _halt_flg
                    840:  814  00010F00    31 09                                jeql    L322
                    841:  815  00010F02                                   #                         lnf_er_halt( BAD_ACC_HLT );    /* halt on the error */
                    842:  816  00010F02    dd 01                                pushl   $1
                    843:  817  00010F04    fe 08 ef0000018f                     callf   $8,_lnf_er_halt
                    844:  818  00010F0B                                   #                    if( loop_on_err ) {
                    845:  819  00010F0B                                  L322:
                    846:  820  00010F0B    5d effffff8ff                        tstl    _loop_on_err
                    847:  821  00010F11    31 0a                                jeql    L323
                    848:  822  00010F13                                   #                         force_loop = TRUE;       /* set the force loop flag */
                    849:  823  00010F13    0d 01 effffff8f6                     movl    $1,_force_loop
                    850:  824  00010F1A                                   #                         asm("brw _lnf_5_lp1");;  /* and loop on the error   */
                    851:  825  00010F1A    13 ff4f                       brw _lnf_5_lp1
                    852:  826  00010F1D                                   #                    }   /* end of loop on error */
                    853:  827  00010F1D                                   #              }   /* end of compare error */
                    854:  828  00010F1D                                  L323:
                    855:  829  00010F1D                                   #         }  /* end of WHILE loop */
                    856:  830  00010F1D                                  L316:
                    857:  831  00010F1D                                  L312:
                    858:  832  00010F1D    6d effffff8ed                        incl    _index
                    859:  833  00010F23    13 ff0a                              jbr     L314
                    860:  834  00010F26                                  L313:
                    861:  835  00010F26                                   # }  /* end of subtest 5 */
                    862:  836  00010F26    40                                   ret#2
                    863:  837  00010F27                                         .set    L308,0x0
                    864:  838  00010F27                                  L310:
                    865:  839  00010F27    13 fef3                              jbr     L311
                    866:  840  00010F2A                                         .data
                    867:  841  0000093c *                                       .text
                    868:  842  00010F2A                                         .align  1
                    869:  843  00010F2A                                         .globl  _lnf_6
                    870:  844  00010F2A                                  _lnf_6:
                    871:  845  00010F2A    0000                                 .word   L324
                    872:  846  00010F2C                                   #   
                    873:  847  00010F2C                                   # 
                    874:  848  00010F2C                                   # 
                    875:  849  00010F2C                                   # /************************************************************************
                    876:  850  00010F2C                                   # *
                    877:  851  00010F2C                                   # *               SUBTEST 6 - pipelined exit test
                    878:  852  00010F2C                                   # *
                    879:  853  00010F2C                                   # ************************************************************************/
                    880:  854  00010F2C                                   # lnf_6() 
                    881:  855  00010F2C                                   # {
                    882:  856  00010F2C    13 010a                              jbr     L326
                    883:  857  00010F2F                                  L327:
                    884:  858  00010F2F                                   #         force_loop = FALSE;
                    885:  859  00010F2F    4d effffff8db                        clrl    _force_loop
                    886:  860  00010F35                                   #         subtest = 8;
                    887:  861  00010F35    0d 08 effffff8d4                     movl    $8,_subtest
                    888:  862  00010F3C                                   #         for( index = 0; index < max_lnf_1_index; index++ ) {
                    889:  863  00010F3C    4d effffff8ce                        clrl    _index
                    890:  864  00010F42                                  L330:
                    891:  865  00010F42    1d effffff8c8 effffff8c3             cmpl    _index,_max_lnf_1_index
                    892:  866  00010F4D    91 03 13 00e6                        jgeq    L329
                    893:  867  00010F52                                   #              sgl_ld_acc   = lnf_1_data[index].ld;   /* get value to negate */
                    894:  868  00010F52    0d effffff8b8 50                     movl    _index,r0
                    895:  869  00010F59    48 03 50 50                          shll    $3,r0,r0
                    896:  870  00010F5D    0d e000000000 effffff8a8             movl    _lnf_1_data(r0),_sgl_ld_acc
                    897:  871  00010F68                                   #              sgl_expected = lnf_1_data[index].exp;  /* get expected result */
                    898:  872  00010F68    0d effffff8a2 50                     movl    _index,r0
                    899:  873  00010F6F    48 03 50 50                          shll    $3,r0,r0
                    900:  874  00010F73    0d e000000004 effffff892             movl    _lnf_1_data+4(r0),_sgl_expected
                    901:  875  00010F7E                                   # /*
                    902:  876  00010F7E                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    903:  877  00010F7E                                   #  * The force loop flag is set after the first error.
                    904:  878  00010F7E                                   # */
                    905:  879  00010F7E                                   #              asm("_lnf_6_lp1:");
                    906:  880  00010F7E                                  _lnf_6_lp1:
                    907:  881  00010F7E                                   #              asm("movl $0,r0");                 /* clear r0                */
                    908:  882  00010F7E    0d 00 50                      movl $0,r0
                    909:  883  00010F81                                   #              asm("lnf _sgl_ld_acc");            /* load and negate the value */
                    910:  884  00010F81    16 effffff889                 lnf _sgl_ld_acc
                    911:  885  00010F87                                   #              asm("addf r0");                    /* add a zero to the acc.  */
                    912:  886  00010F87    c6 50                         addf r0
                    913:  887  00010F89                                   #              asm("stf _sgl_st_acc");            /* store the result        */
                    914:  888  00010F89    26 effffff881                 stf _sgl_st_acc
                    915:  889  00010F8F                                   #              if( force_loop )
                    916:  890  00010F8F    5d effffff87b                        tstl    _force_loop
                    917:  891  00010F95    31 02                                jeql    L331
                    918:  892  00010F97                                   #                   asm("brb _lnf_6_lp1");;       /* loop on the error       */
                    919:  893  00010F97    11 e5                         brb _lnf_6_lp1
                    920:  894  00010F99                                  L331:
                    921:  895  00010F99                                   # /* 
                    922:  896  00010F99                                   #  * end error loop - test the results
                    923:  897  00010F99                                   # */
                    924:  898  00010F99                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                    925:  899  00010F99    1d effffff871 effffff86c             cmpl    _sgl_st_acc,_sgl_expected
                    926:  900  00010FA4    21 03 13 0086                        jeql    L332
                    927:  901  00010FA9                                   #                    errcnt++;                    /* bump the error count   */
                    928:  902  00010FA9    6d effffff861                        incl    _errcnt
                    929:  903  00010FAF                                   #                    if( prt_error ) {
                    930:  904  00010FAF    5d effffff85b                        tstl    _prt_error
                    931:  905  00010FB5    31 55                                jeql    L333
                    932:  906  00010FB7                                   #                         writes(" \n");      /* start a new print line */
                    933:  907  00010FB7                                         .data   1
                    934:  908  00000b22 *                                L334:
                    935:  909  00000b22 *  200A00                               .ascii  " \12\0"
                    936:  910  00000b25 *                                       .text
                    937:  911  00010FB7    dd 8f00000b22                        pushl   $L334
                    938:  912  00010FBD    fe 08 effffff84c                     callf   $8,_writes
                    939:  913  00010FC4                                   #                         writes("cycle: ");
                    940:  914  00010FC4                                         .data   1
                    941:  915  00000b25 *                                L335:
                    942:  916  00000b25 *  6379636C653A2000                     .ascii  "cycle: \0"
                    943:  917  00000b2d *                                       .text
                    944:  918  00010FC4    dd 8f00000b25                        pushl   $L335
                    945:  919  00010FCA    fe 08 effffff83f                     callf   $8,_writes
                    946:  920  00010FD1                                   #                         writed( cycle );
                    947:  921  00010FD1    dd effffff839                        pushl   _cycle
                    948:  922  00010FD7    fe 08 effffff832                     callf   $8,_writed
                    949:  923  00010FDE                                   #                         writes("  LNF test ");
                    950:  924  00010FDE                                         .data   1
                    951:  925  00000b2d *                                L336:
                    952:  926  00000b2d *  20204C4E4620746573742000             .ascii  "  LNF test \0"
                    953:  927  00000b39 *                                       .text
                    954:  928  00010FDE    dd 8f00000b2d                        pushl   $L336
                    955:  929  00010FE4    fe 08 effffff825                     callf   $8,_writes
                    956:  930  00010FEB                                   #                     writed( test_no );
                    957:  931  00010FEB    dd effffff81f                        pushl   _test_no
                    958:  932  00010FF1    fe 08 effffff818                     callf   $8,_writed
                    959:  933  00010FF8                                   #             writes(", subtest 6 (Piped Exit) - BAD FINAL ACC\n");
                    960:  934  00010FF8                                         .data   1
                    961:  935  00000b39 *                                L337:
                    962:  936  00000b39 *  2C20737562746573742036202            .ascii  ", subtest 6 (Piped Exit) - BAD FINAL ACC\12\0"
                    963:                   8506970656420457869742920
                    964:                   2D204241442046494E414C204
                    965:                   143430A00
                    966:  937  00000b63 *                                       .text
                    967:  938  00010FF8    dd 8f00000b39                        pushl   $L337
                    968:  939  00010FFE    fe 08 effffff80b                     callf   $8,_writes
                    969:  940  00011005                                   #                         print_lnf_data();
                    970:  941  00011005    fe 04 ef00000030                     callf   $4,_print_lnf_data
                    971:  942  0001100C                                   #                    }
                    972:  943  0001100C                                   #                    if( halt_flg ) 
                    973:  944  0001100C                                  L333:
                    974:  945  0001100C    5d effffff7fe                        tstl    _halt_flg
                    975:  946  00011012    31 09                                jeql    L338
                    976:  947  00011014                                   #                         lnf_er_halt( BAD_ACC_HLT );    /* halt on the error */
                    977:  948  00011014    dd 01                                pushl   $1
                    978:  949  00011016    fe 08 ef0000007d                     callf   $8,_lnf_er_halt
                    979:  950  0001101D                                   #                    if( loop_on_err ) {
                    980:  951  0001101D                                  L338:
                    981:  952  0001101D    5d effffff7ed                        tstl    _loop_on_err
                    982:  953  00011023    31 0a                                jeql    L339
                    983:  954  00011025                                   #                         force_loop = TRUE;       /* set the force loop flag */
                    984:  955  00011025    0d 01 effffff7e4                     movl    $1,_force_loop
                    985:  956  0001102C                                   #                         asm("brw _lnf_6_lp1");;  /* and loop on the error   */
                    986:  957  0001102C    13 ff4f                       brw _lnf_6_lp1
                    987:  958  0001102F                                   #                    }   /* end of loop on error */
                    988:  959  0001102F                                   #              }   /* end of compare error */
                    989:  960  0001102F                                  L339:
                    990:  961  0001102F                                   #         }  /* end of WHILE loop */
                    991:  962  0001102F                                  L332:
                    992:  963  0001102F                                  L328:
                    993:  964  0001102F    6d effffff7db                        incl    _index
                    994:  965  00011035    13 ff0a                              jbr     L330
                    995:  966  00011038                                  L329:
                    996:  967  00011038                                   # }  /* end of subtest 6 */
                    997:  968  00011038    40                                   ret#2
                    998:  969  00011039                                         .set    L324,0x0
                    999:  970  00011039                                  L326:
                   1000:  971  00011039    13 fef3                              jbr     L327
                   1001:  972  0001103C                                         .data
                   1002:  973  0000093c *                                       .text
                   1003:  974  0001103C                                         .align  1
                   1004:  975  0001103C                                         .globl  _print_lnf_data
                   1005:  976  0001103C                                  _print_lnf_data:
                   1006:  977  0001103C    0000                                 .word   L340
                   1007:  978  0001103E                                   #   
                   1008:  979  0001103E                                   # 
                   1009:  980  0001103E                                   # 
                   1010:  981  0001103E                                   # /**************************************************************************
                   1011:  982  0001103E                                   # *
                   1012:  983  0001103E                                   # *       PRINT THE DATA AND STORE RESULTS
                   1013:  984  0001103E                                   # *
                   1014:  985  0001103E                                   # *  initial Acc = xxxxxxxx,     stored = xxxxxxxx,   data index = xx
                   1015:  986  0001103E                                   # **************************************************************************/
                   1016:  987  0001103E                                   # print_lnf_data()
                   1017:  988  0001103E                                   # {
                   1018:  989  0001103E    11 58                                jbr     L342
                   1019:  990  00011040                                  L343:
                   1020:  991  00011040                                   #         writes("initial Acc = ");
                   1021:  992  00011040                                         .data   1
                   1022:  993  00000b63 *                                L344:
                   1023:  994  00000b63 *  696E697469616C20416363203            .ascii  "initial Acc = \0"
                   1024:                   D2000
                   1025:  995  00000b72 *                                       .text
                   1026:  996  00011040    dd 8f00000b63                        pushl   $L344
                   1027:  997  00011046    fe 08 effffff7c3                     callf   $8,_writes
                   1028:  998  0001104D                                   #         write32h( sgl_ld_acc );
                   1029:  999  0001104D    dd effffff7bd                        pushl   _sgl_ld_acc
                   1030: 1000  00011053    fe 08 effffff7b6                     callf   $8,_write32h
                   1031: 1001  0001105A                                   #         writes(",    Acc stored = ");
                   1032: 1002  0001105A                                         .data   1
                   1033: 1003  00000b72 *                                L345:
                   1034: 1004  00000b72 *  2C202020204163632073746F7            .ascii  ",    Acc stored = \0"
                   1035:                   26564203D2000
                   1036: 1005  00000b85 *                                       .text
                   1037: 1006  0001105A    dd 8f00000b72                        pushl   $L345
                   1038: 1007  00011060    fe 08 effffff7a9                     callf   $8,_writes
                   1039: 1008  00011067                                   #         write32h( sgl_st_acc );
                   1040: 1009  00011067    dd effffff7a3                        pushl   _sgl_st_acc
                   1041: 1010  0001106D    fe 08 effffff79c                     callf   $8,_write32h
                   1042: 1011  00011074                                   #         writes(",  data index = ");
                   1043: 1012  00011074                                         .data   1
                   1044: 1013  00000b85 *                                L346:
                   1045: 1014  00000b85 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                   1046:                   8203D2000
                   1047: 1015  00000b96 *                                       .text
                   1048: 1016  00011074    dd 8f00000b85                        pushl   $L346
                   1049: 1017  0001107A    fe 08 effffff78f                     callf   $8,_writes
                   1050: 1018  00011081                                   #         writed( index );
                   1051: 1019  00011081    dd effffff789                        pushl   _index
                   1052: 1020  00011087    fe 08 effffff782                     callf   $8,_writed
                   1053: 1021  0001108E                                   #         writec('\n');
                   1054: 1022  0001108E    dd 0a                                pushl   $10
                   1055: 1023  00011090    fe 08 effffff779                     callf   $8,_writec
                   1056: 1024  00011097                                   # }
                   1057: 1025  00011097    40                                   ret#2
                   1058: 1026  00011098                                         .set    L340,0x0
                   1059: 1027  00011098                                  L342:
                   1060: 1028  00011098    11 a6                                jbr     L343
                   1061: 1029  0001109A                                         .data
                   1062: 1030  0000093c *                                       .text
                   1063: 1031  0001109A                                         .align  1
                   1064: 1032  0001109A                                         .globl  _lnf_er_halt
                   1065: 1033  0001109A                                  _lnf_er_halt:
                   1066: 1034  0001109A    0000                                 .word   L347
                   1067: 1035  0001109C                                   #    
                   1068: 1036  0001109C                                   # 
                   1069: 1037  0001109C                                   # 
                   1070: 1038  0001109C                                   # /**************************************************************************
                   1071: 1039  0001109C                                   # *
                   1072: 1040  0001109C                                   # *               HALT ON ERROR ROUTINE 
                   1073: 1041  0001109C                                   # *
                   1074: 1042  0001109C                                   # **************************************************************************/
                   1075: 1043  0001109C                                   # lnf_er_halt( halt_code )
                   1076: 1044  0001109C                                   # int halt_code;
                   1077: 1045  0001109C                                   # {
                   1078: 1046  0001109C    13 00a8                              jbr     L349
                   1079: 1047  0001109F                                  L350:
                   1080: 1048  0001109F                                   #         sgl_dummy1 = halt_code;                 /* get the error type    */
                   1081: 1049  0001109F    0d ad04 effffff769                   movl    4(fp),_sgl_dummy1
                   1082: 1050  000110A7                                   #         asm("movl _test_no,r0");                /* r0  = test number     */
                   1083: 1051  000110A7    0d effffff763 50              movl _test_no,r0
                   1084: 1052  000110AE                                   #         asm("movl _subtest,r1");                /* r1  = subtest number  */
                   1085: 1053  000110AE    0d effffff75c 51              movl _subtest,r1
                   1086: 1054  000110B5                                   #         asm("movl _sgl_dummy1,r2");             /* r2  = error code      */
                   1087: 1055  000110B5    0d effffff755 52              movl _sgl_dummy1,r2
                   1088: 1056  000110BC                                   #         asm("movl _cycle,r3");                  /* r3  = cycle count     */
                   1089: 1057  000110BC    0d effffff74e 53              movl _cycle,r3
                   1090: 1058  000110C3                                   #         asm("movl _sgl_ld_acc,r4");             /* r4  = initial data    */
                   1091: 1059  000110C3    0d effffff747 54              movl _sgl_ld_acc,r4
                   1092: 1060  000110CA                                   #         asm("movl _sgl_st_acc,r5");             /* r5  = data stored     */
                   1093: 1061  000110CA    0d effffff740 55              movl _sgl_st_acc,r5
                   1094: 1062  000110D1                                   #         if( halt_code == BAD_ACC_HLT ) {
                   1095: 1063  000110D1    1d ad04 01                           cmpl    4(fp),$1
                   1096: 1064  000110D5    21 10                                jneq    L351
                   1097: 1065  000110D7                                   #              asm("movl _sgl_expected,r6");      /* r6  = data expected   */
                   1098: 1066  000110D7    0d effffff733 56              movl _sgl_expected,r6
                   1099: 1067  000110DE                                   #              asm("movl _index,r7");             /* r7  = data index      */
                   1100: 1068  000110DE    0d effffff72c 57              movl _index,r7
                   1101: 1069  000110E5                                   #         } else
                   1102: 1070  000110E5    11 5e                                jbr     L352
                   1103: 1071  000110E7                                  L351:
                   1104: 1072  000110E7                                   #         if( halt_code == BAD_REG_HLT ) {
                   1105: 1073  000110E7    1d ad04 02                           cmpl    4(fp),$2
                   1106: 1074  000110EB    21 3d                                jneq    L353
                   1107: 1075  000110ED                                   #              sgl_dummy1 = load_regs[index2];
                   1108: 1076  000110ED    0d effffff71d 50                     movl    _index2,r0
                   1109: 1077  000110F4    0d 40effffff715                      movl    _load_regs[r0],_sgl_dummy1
                   1110:                   effffff710 
                   1111: 1078  00011100                                   #              sgl_dummy2 = store_regs[index2];
                   1112: 1079  00011100    0d effffff70a 50                     movl    _index2,r0
                   1113: 1080  00011107    0d 40effffff702                      movl    _store_regs[r0],_sgl_dummy2
                   1114:                   effffff6fd 
                   1115: 1081  00011113                                   #              asm("movl _index2,r6");            /* r6  = bad register #  */
                   1116: 1082  00011113    0d effffff6f7 56              movl _index2,r6
                   1117: 1083  0001111A                                   #              asm("movl _sgl_dummy2,r7");        /* r7  = actual value    */
                   1118: 1084  0001111A    0d effffff6f0 57              movl _sgl_dummy2,r7
                   1119: 1085  00011121                                   #              asm("movl _sgl_dummy1,r8");        /* r8  = expected value  */
                   1120: 1086  00011121    0d effffff6e9 58              movl _sgl_dummy1,r8
                   1121: 1087  00011128                                   #         } else
                   1122: 1088  00011128    11 1b                                jbr     L354
                   1123: 1089  0001112A                                  L353:
                   1124: 1090  0001112A                                   #           if( halt_code == BAD_PSL_HLT ) {
                   1125: 1091  0001112A    1d ad04 03                           cmpl    4(fp),$3
                   1126: 1092  0001112E    21 15                                jneq    L355
                   1127: 1093  00011130                                   #              asm("movl _init_psl,r6");          /* r6  = initial PSL     */
                   1128: 1094  00011130    0d effffff6da 56              movl _init_psl,r6
                   1129: 1095  00011137                                   #              asm("movl _psl_val,r7");           /* r7  = final PSL       */
                   1130: 1096  00011137    0d effffff6d3 57              movl _psl_val,r7
                   1131: 1097  0001113E                                   #              asm("movl _exp_psl,r8");           /* r8  = expected PSL    */
                   1132: 1098  0001113E    0d effffff6cc 58              movl _exp_psl,r8
                   1133: 1099  00011145                                   #         };
                   1134: 1100  00011145                                  L355:
                   1135: 1101  00011145                                  L354:
                   1136: 1102  00011145                                  L352:
                   1137: 1103  00011145                                   #         asm("halt");                            /* HALT ...              */
                   1138: 1104  00011145    00                            halt
                   1139: 1105  00011146                                   # }  
                   1140: 1106  00011146    40                                   ret#2
                   1141: 1107  00011147                                         .set    L347,0x0
                   1142: 1108  00011147                                  L349:
                   1143: 1109  00011147    13 ff55                              jbr     L350
                   1144: 1110  0001114A                                         .data
                   1145: 1110  0002195A                                         .data

unix.superglobalmegacorp.com

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