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

1.1       root        1:    1  00000000                                  LL0:
                      2:    2  00000000                                         .data
                      3:    3  00001458 *                                       .text
                      4:    4  00000000                                         .align  1
                      5:    5  00000000                                         .globl  _cmpf2
                      6:    6  00000000                                  _cmpf2:
                      7:    7  00013044    0000                                 .word   L215
                      8:    8  00013046                                   # #include "fpp_defs.h"
                      9:    9  00013046                                   # 
                     10:   10  00013046                                   # 
                     11:   11  00013046                                   # 
                     12:   12  00013046                                   # /***************************************************************************
                     13:   13  00013046                                   # *
                     14:   14  00013046                                   # *       CMPF2  -COMPARE 2 SGL OPERANDS TO EACH OTHER -IGNORE THE ACCUMULATOR
                     15:   15  00013046                                   # *
                     16:   16  00013046                                   # *****************************************************************************/
                     17:   17  00013046                                   # cmpf2()
                     18:   18  00013046                                   # {
                     19:   19  00013046    11 65                                jbr     L217
                     20:   20  00013048                                  L218:
                     21:   21  00013048                                   #         asm(".globl _cmpf2_t");
                     22:   22  00013048                                  .globl _cmpf2_t
                     23:   23  00013048                                   #         asm("_cmpf2_t:");                       /* entry address            */
                     24:   24  00013048                                  _cmpf2_t:
                     25:   25  00013048                                   #         if( ( cycle == 1 ) && ( prt_hdrs ) )    /* print headers on 1st pass */
                     26:   26  00013048    1d effffffff6 01                     cmpl    _cycle,$1
                     27:   27  0001304F    21 15                                jneq    L219
                     28:   28  00013051    5d efffffffed                        tstl    _prt_hdrs
                     29:   29  00013057    31 0d                                jeql    L219
                     30:   30  00013059                                   #            writes(" CMPF2");
                     31:   31  00013059                                         .data   1
                     32:   32  00001458 *                                L221:
                     33:   33  00001458 *  20434D50463200                       .ascii  " CMPF2\0"
                     34:   34  0000145f *                                       .text
                     35:   35  00013059    dd 8f00001458                        pushl   $L221
                     36:   36  0001305F    fe 08 efffffffde                     callf   $8,_writes
                     37:   37  00013066                                   #         cmpf2_1();                              /* register / register data   */
                     38:   38  00013066                                  L219:
                     39:   39  00013066    fe 04 ef00000043                     callf   $4,_cmpf2_1
                     40:   40  0001306D                                   #         cmpf2_2();                              /* cache    / cache    data   */
                     41:   41  0001306D    fe 04 ef000002da                     callf   $4,_cmpf2_2
                     42:   42  00013074                                   #         cmpf2_3();                              /* cache    / register data   */
                     43:   43  00013074    fe 04 ef0000056b                     callf   $4,_cmpf2_3
                     44:   44  0001307B                                   #         cmpf2_4();                              /* register / cache    data   */
                     45:   45  0001307B    fe 04 ef000007f8                     callf   $4,_cmpf2_4
                     46:   46  00013082                                   #         cmpf2_5();                              /* acc. corruption test       */
                     47:   47  00013082    fe 04 ef00000a8b                     callf   $4,_cmpf2_5
                     48:   48  00013089                                   #         cmpf2_6();                              /* register corruption test   */
                     49:   49  00013089    fe 04 ef00000c9c                     callf   $4,_cmpf2_6
                     50:   50  00013090                                   #     if( !no_fpp_wcs ) {
                     51:   51  00013090    5d efffffffae                        tstl    _no_fpp_wcs
                     52:   52  00013096    21 0e                                jneq    L228
                     53:   53  00013098                                   #              cmpf2_7();                         /* pipelined entry test       */
                     54:   54  00013098    fe 04 ef00000e7d                     callf   $4,_cmpf2_7
                     55:   55  0001309F                                   #              cmpf2_8();                         /* pipelined exit test        */
                     56:   56  0001309F    fe 04 ef0000110c                     callf   $4,_cmpf2_8
                     57:   57  000130A6                                   #         };
                     58:   58  000130A6                                  L228:
                     59:   59  000130A6                                   #     asm("jmp *return");                     /* return to the test monitor */
                     60:   60  000130A6    71 ffffffff98                 jmp *return
                     61:   61  000130AC                                   # }
                     62:   62  000130AC    40                                   ret#2
                     63:   63  000130AD                                         .set    L215,0x0
                     64:   64  000130AD                                  L217:
                     65:   65  000130AD    11 99                                jbr     L218
                     66:   66  000130AF                                         .data
                     67:   67  00001458 *                                       .text
                     68:   68  000130AF    00                                   .align  1
                     69:   69  000130B0                                         .globl  _cmpf2_1
                     70:   70  000130B0                                  _cmpf2_1:
                     71:   71  000130B0    0000                                 .word   L231
                     72:   72  000130B2                                   #   
                     73:   73  000130B2                                   # 
                     74:   74  000130B2                                   # 
                     75:   75  000130B2                                   # /****************************************************************************
                     76:   76  000130B2                                   # *
                     77:   77  000130B2                                   # *               SUBTEST 1 - CMPF2 test  -register / register data
                     78:   78  000130B2                                   # *
                     79:   79  000130B2                                   # ****************************************************************************/
                     80:   80  000130B2                                   # cmpf2_1() 
                     81:   81  000130B2                                   # {
                     82:   82  000130B2    13 0295                              jbr     L233
                     83:   83  000130B5                                  L234:
                     84:   84  000130B5                                   #      force_loop = FALSE;
                     85:   85  000130B5    4d efffffff89                        clrl    _force_loop
                     86:   86  000130BB                                   #      subtest = 1;
                     87:   87  000130BB    0d 01 efffffff82                     movl    $1,_subtest
                     88:   88  000130C2                                   #      index = 0;
                     89:   89  000130C2    4d efffffff7c                        clrl    _index
                     90:   90  000130C8                                   #      do 
                     91:   91  000130C8                                  L237:
                     92:   92  000130C8                                   #      {
                     93:   93  000130C8                                   #         sgl_value_1  = cmpf_1_data[index].one; /* get the data operands  */
                     94:   94  000130C8    5c 0c efffffff75 50                  mull3   $12,_index,r0
                     95:   95  000130D0    0d e000000000 efffffff69             movl    _cmpf_1_data(r0),_sgl_value_1
                     96:   96  000130DB                                   #         sgl_value_2  = cmpf_1_data[index].two;
                     97:   97  000130DB    5c 0c efffffff62 50                  mull3   $12,_index,r0
                     98:   98  000130E3    0d e000000004 efffffff56             movl    _cmpf_1_data+4(r0),_sgl_value_2
                     99:   99  000130EE                                   #         sgl_expected = cmpf_1_data[index].flag; /* get expected results */
                    100:  100  000130EE    5c 0c efffffff4f 50                  mull3   $12,_index,r0
                    101:  101  000130F6    0d e000000008 efffffff43             movl    _cmpf_1_data+8(r0),_sgl_expected
                    102:  102  00013101                                   #         index2 = 0;                             /* clear Acc. data index */
                    103:  103  00013101    4d efffffff3d                        clrl    _index2
                    104:  104  00013107                                   #         do
                    105:  105  00013107                                  L240:
                    106:  106  00013107                                   #         {
                    107:  107  00013107                                   #            sgl_ld_acc = ldf_1_data[index2++].ld; /* get the Accumulator data */
                    108:  108  00013107    0d efffffff37 50                     movl    _index2,r0
                    109:  109  0001310E    48 03 50 50                          shll    $3,r0,r0
                    110:  110  00013112    0d e000000000 efffffff27             movl    _ldf_1_data(r0),_sgl_ld_acc
                    111:  111  0001311D    6d efffffff21                        incl    _index2
                    112:  112  00013123                                   #            status_index = 0;                     /* clear the status index */
                    113:  113  00013123    4d efffffff1b                        clrl    _status_index
                    114:  114  00013129                                   #            do
                    115:  115  00013129                                  L243:
                    116:  116  00013129                                   #            {
                    117:  117  00013129                                   #                sgl_dummy1 = status_array[status_index]; /* array = +, -, 0  */
                    118:  118  00013129    0d efffffff15 50                     movl    _status_index,r0
                    119:  119  00013130    0d 40efffffff0d                      movl    _status_array[r0],_sgl_dummy1
                    120:                   efffffff08 
                    121:  120  0001313C                                   # /*
                    122:  121  0001313C                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    123:  122  0001313C                                   #  * The force loop flag is set after the first error.
                    124:  123  0001313C                                   # */
                    125:  124  0001313C                                   #                asm("_cmpf2_1_lp1:");
                    126:  125  0001313C                                  _cmpf2_1_lp1:
                    127:  126  0001313C                                   #                asm("movl _sgl_ld_acc,r3");      /* get the accmulator data  */
                    128:  127  0001313C    0d efffffff02 53              movl _sgl_ld_acc,r3
                    129:  128  00013143                                   #                asm("movl _sgl_value_1,r4");     /* move operand #1 to r4    */
                    130:  129  00013143    0d effffffefb 54              movl _sgl_value_1,r4
                    131:  130  0001314A                                   #                asm("movl _sgl_value_2,r5");     /* move operand #2 to r5    */
                    132:  131  0001314A    0d effffffef4 55              movl _sgl_value_2,r5
                    133:  132  00013151                                   #                asm("ldf r3");                   /* load the accumulator     */
                    134:  133  00013151    06 53                         ldf r3
                    135:  134  00013153                                   #                asm("tstl _sgl_dummy1");         /* generate initial status  */
                    136:  135  00013153    5d effffffeeb                 tstl _sgl_dummy1
                    137:  136  00013159                                   #                asm("movpsl _init_psl");         /* save the initial status  */
                    138:  137  00013159    cd effffffee5                 movpsl _init_psl
                    139:  138  0001315F                                   #                asm("cmpf2 r4,r5");              /* compare the operands     */
                    140:  139  0001315F    46 54 55                      cmpf2 r4,r5
                    141:  140  00013162                                   #                asm("movpsl _psl_val");          /* save the final status    */
                    142:  141  00013162    cd effffffedc                 movpsl _psl_val
                    143:  142  00013168                                   #                asm("stf r6");                   /* save the accumulator     */
                    144:  143  00013168    26 56                         stf r6
                    145:  144  0001316A                                   #                if( force_loop )                 /* loop?                    */
                    146:  145  0001316A    5d effffffed4                        tstl    _force_loop
                    147:  146  00013170    31 02                                jeql    L244
                    148:  147  00013172                                   #                    asm("brb _cmpf2_1_lp1");;    /* run the loop again       */
                    149:  148  00013172    11 c8                         brb _cmpf2_1_lp1
                    150:  149  00013174                                  L244:
                    151:  150  00013174                                   #                asm("movl r6,_sgl_st_acc");      /* put the acc into cache   */
                    152:  151  00013174    0d 56 effffffec9              movl r6,_sgl_st_acc
                    153:  152  0001317B                                   #            exp_psl = init_psl;              /* get the initial PSL      */
                    154:  153  0001317B    0d effffffec3 effffffebe             movl    _init_psl,_exp_psl
                    155:  154  00013186                                   #                exp_psl &= 0xfffffff3;           /* clear ZERO, NEGATIVE     */
                    156:  155  00013186    ac 88f3 effffffeb6                   andl2   $-13,_exp_psl
                    157:  156  0001318E                                   #                if( sgl_expected == ZERO )
                    158:  157  0001318E    1d effffffeb0 04                     cmpl    _sgl_expected,$4
                    159:  158  00013195    21 07                                jneq    L245
                    160:  159  00013197                                   #                    exp_psl |= PSL_Z;            /* expect the ZERO bit set  */
                    161:  160  00013197    8c 04 effffffea6                     orl2    $4,_exp_psl
                    162:  161  0001319E                                   #                if( sgl_expected == NEGATIVE )
                    163:  162  0001319E                                  L245:
                    164:  163  0001319E    1d effffffea0 08                     cmpl    _sgl_expected,$8
                    165:  164  000131A5    21 07                                jneq    L246
                    166:  165  000131A7                                   #                    exp_psl |= PSL_N;            /* expect the NEG bit set   */
                    167:  166  000131A7    8c 08 effffffe96                     orl2    $8,_exp_psl
                    168:  167  000131AE                                   #                if( psl_val != exp_psl )         /* COMPARE the values       */
                    169:  168  000131AE                                  L246:
                    170:  169  000131AE    1d effffffe90 effffffe8b             cmpl    _psl_val,_exp_psl
                    171:  170  000131B9    21 03 13 0144                        jeql    L247
                    172:  171  000131BE                                   #                {
                    173:  172  000131BE                                   #                   errcnt++;                     /* bump the error count     */
                    174:  173  000131BE    6d effffffe80                        incl    _errcnt
                    175:  174  000131C4                                   #                   if ( prt_error ) {
                    176:  175  000131C4    5d effffffe7a                        tstl    _prt_error
                    177:  176  000131CA    21 03 13 0110                        jeql    L248
                    178:  177  000131CF                                   #                      writes(" \n");         /* start a new print line   */
                    179:  178  000131CF                                         .data   1
                    180:  179  0000145f *                                L249:
                    181:  180  0000145f *  200A00                               .ascii  " \12\0"
                    182:  181  00001462 *                                       .text
                    183:  182  000131CF    dd 8f0000145f                        pushl   $L249
                    184:  183  000131D5    fe 08 effffffe68                     callf   $8,_writes
                    185:  184  000131DC                                   #                      writes("cycle: ");
                    186:  185  000131DC                                         .data   1
                    187:  186  00001462 *                                L250:
                    188:  187  00001462 *  6379636C653A2000                     .ascii  "cycle: \0"
                    189:  188  0000146a *                                       .text
                    190:  189  000131DC    dd 8f00001462                        pushl   $L250
                    191:  190  000131E2    fe 08 effffffe5b                     callf   $8,_writes
                    192:  191  000131E9                                   #                      writed( cycle );
                    193:  192  000131E9    dd effffffe55                        pushl   _cycle
                    194:  193  000131EF    fe 08 effffffe4e                     callf   $8,_writed
                    195:  194  000131F6                                   #                      writes("  CMPF2 test ");
                    196:  195  000131F6                                         .data   1
                    197:  196  0000146a *                                L252:
                    198:  197  0000146a *  2020434D50463220746573742            .ascii  "  CMPF2 test \0"
                    199:                   000
                    200:  198  00001478 *                                       .text
                    201:  199  000131F6    dd 8f0000146a                        pushl   $L252
                    202:  200  000131FC    fe 08 effffffe41                     callf   $8,_writes
                    203:  201  00013203                                   #                  writed( test_no );
                    204:  202  00013203    dd effffffe3b                        pushl   _test_no
                    205:  203  00013209    fe 08 effffffe34                     callf   $8,_writed
                    206:  204  00013210                                   #     writes(", subtest 1 (Reg./Reg. Data) - BAD FINAL PSL\n");
                    207:  205  00013210                                         .data   1
                    208:  206  00001478 *                                L253:
                    209:  207  00001478 *  2C20737562746573742031202            .ascii  ", subtest 1 (Reg./Reg. Data) - BAD FINAL PSL\12\0"
                    210:                   85265672E2F5265672E204461
                    211:                   746129202D204241442046494
                    212:                   E414C2050534C0A00
                    213:  208  000014a6 *                                       .text
                    214:  209  00013210    dd 8f00001478                        pushl   $L253
                    215:  210  00013216    fe 08 effffffe27                     callf   $8,_writes
                    216:  211  0001321D                                   #                      print_cmpf2_data();
                    217:  212  0001321D    fe 04 ef00001182                     callf   $4,_print_cmpf2_data
                    218:  213  00013224                                   #                      writes(",  data index = ");
                    219:  214  00013224                                         .data   1
                    220:  215  000014a6 *                                L255:
                    221:  216  000014a6 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                    222:                   8203D2000
                    223:  217  000014b7 *                                       .text
                    224:  218  00013224    dd 8f000014a6                        pushl   $L255
                    225:  219  0001322A    fe 08 effffffe13                     callf   $8,_writes
                    226:  220  00013231                                   #                      writed( index );
                    227:  221  00013231    dd effffffe0d                        pushl   _index
                    228:  222  00013237    fe 08 effffffe06                     callf   $8,_writed
                    229:  223  0001323E                                   #                      writec('\n');
                    230:  224  0001323E    dd 0a                                pushl   $10
                    231:  225  00013240    fe 08 effffffdfd                     callf   $8,_writec
                    232:  226  00013247                                   #                      writes("   final Acc = ");
                    233:  227  00013247                                         .data   1
                    234:  228  000014b7 *                                L257:
                    235:  229  000014b7 *  20202066696E616C204163632            .ascii  "   final Acc = \0"
                    236:                   03D2000
                    237:  230  000014c7 *                                       .text
                    238:  231  00013247    dd 8f000014b7                        pushl   $L257
                    239:  232  0001324D    fe 08 effffffdf0                     callf   $8,_writes
                    240:  233  00013254                                   #                      write32h( sgl_st_acc );
                    241:  234  00013254    dd effffffdea                        pushl   _sgl_st_acc
                    242:  235  0001325A    fe 08 effffffde3                     callf   $8,_write32h
                    243:  236  00013261                                   #                      writes(",  operand 2 = ");
                    244:  237  00013261                                         .data   1
                    245:  238  000014c7 *                                L259:
                    246:  239  000014c7 *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
                    247:                   03D2000
                    248:  240  000014d7 *                                       .text
                    249:  241  00013261    dd 8f000014c7                        pushl   $L259
                    250:  242  00013267    fe 08 effffffdd6                     callf   $8,_writes
                    251:  243  0001326E                                   #                      write32h( sgl_value_2 );
                    252:  244  0001326E    dd effffffdd0                        pushl   _sgl_value_2
                    253:  245  00013274    fe 08 effffffdc9                     callf   $8,_write32h
                    254:  246  0001327B                                   #                      writec('\n');
                    255:  247  0001327B    dd 0a                                pushl   $10
                    256:  248  0001327D    fe 08 effffffdc0                     callf   $8,_writec
                    257:  249  00013284                                   #                      writes(" initial PSL = ");
                    258:  250  00013284                                         .data   1
                    259:  251  000014d7 *                                L260:
                    260:  252  000014d7 *  20696E697469616C2050534C2            .ascii  " initial PSL = \0"
                    261:                   03D2000
                    262:  253  000014e7 *                                       .text
                    263:  254  00013284    dd 8f000014d7                        pushl   $L260
                    264:  255  0001328A    fe 08 effffffdb3                     callf   $8,_writes
                    265:  256  00013291                                   #                      write32h( init_psl );
                    266:  257  00013291    dd effffffdad                        pushl   _init_psl
                    267:  258  00013297    fe 08 effffffda6                     callf   $8,_write32h
                    268:  259  0001329E                                   #                      writes(",  final PSL = ");
                    269:  260  0001329E                                         .data   1
                    270:  261  000014e7 *                                L261:
                    271:  262  000014e7 *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
                    272:                   03D2000
                    273:  263  000014f7 *                                       .text
                    274:  264  0001329E    dd 8f000014e7                        pushl   $L261
                    275:  265  000132A4    fe 08 effffffd99                     callf   $8,_writes
                    276:  266  000132AB                                   #                      write32h( psl_val );
                    277:  267  000132AB    dd effffffd93                        pushl   _psl_val
                    278:  268  000132B1    fe 08 effffffd8c                     callf   $8,_write32h
                    279:  269  000132B8                                   #                      writes(",  expected PSL = ");
                    280:  270  000132B8                                         .data   1
                    281:  271  000014f7 *                                L262:
                    282:  272  000014f7 *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
                    283:                   0534C203D2000
                    284:  273  0000150a *                                       .text
                    285:  274  000132B8    dd 8f000014f7                        pushl   $L262
                    286:  275  000132BE    fe 08 effffffd7f                     callf   $8,_writes
                    287:  276  000132C5                                   #                      write32h( exp_psl );
                    288:  277  000132C5    dd effffffd79                        pushl   _exp_psl
                    289:  278  000132CB    fe 08 effffffd72                     callf   $8,_write32h
                    290:  279  000132D2                                   #                      writes(" \n");
                    291:  280  000132D2                                         .data   1
                    292:  281  0000150a *                                L263:
                    293:  282  0000150a *  200A00                               .ascii  " \12\0"
                    294:  283  0000150d *                                       .text
                    295:  284  000132D2    dd 8f0000150a                        pushl   $L263
                    296:  285  000132D8    fe 08 effffffd65                     callf   $8,_writes
                    297:  286  000132DF                                   #                   }
                    298:  287  000132DF                                   #                   if ( halt_flg )
                    299:  288  000132DF                                  L248:
                    300:  289  000132DF    5d effffffd5f                        tstl    _halt_flg
                    301:  290  000132E5    31 09                                jeql    L264
                    302:  291  000132E7                                   #                      cmpf2_er_halt( BAD_PSL_HLT );  /* halt on the error    */
                    303:  292  000132E7    dd 03                                pushl   $3
                    304:  293  000132E9    fe 08 ef000010f2                     callf   $8,_cmpf2_er_halt
                    305:  294  000132F0                                   #                   if ( loop_on_err ) {
                    306:  295  000132F0                                  L264:
                    307:  296  000132F0    5d effffffd4e                        tstl    _loop_on_err
                    308:  297  000132F6    31 0a                                jeql    L266
                    309:  298  000132F8                                   #                      force_loop = TRUE;         /* set the force loop flag */
                    310:  299  000132F8    0d 01 effffffd45                     movl    $1,_force_loop
                    311:  300  000132FF                                   #                      asm("brw _cmpf2_1_lp1");   /* and loop                */
                    312:  301  000132FF    13 fe3a                       brw _cmpf2_1_lp1
                    313:  302  00013302                                   #                   };  /* end of loop-on-error    */
                    314:  303  00013302                                  L266:
                    315:  304  00013302                                   #                }   /* end of compare error    */
                    316:  305  00013302                                   #             } while( ++status_index < 3 );
                    317:  306  00013302                                  L247:
                    318:  307  00013302                                  L242:
                    319:  308  00013302    6d effffffd3c                        incl    _status_index
                    320:  309  00013308    0d effffffd36 50                     movl    _status_index,r0
                    321:  310  0001330F    1d 50 03                             cmpl    r0,$3
                    322:  311  00013312    81 03 13 fe12                        jlss    L243
                    323:  312  00013317                                  L241:
                    324:  313  00013317                                   #         } while( (index2 < 10) && (index2 < max_ldf_1_index) );
                    325:  314  00013317                                  L239:
                    326:  315  00013317    1d effffffd27 0a                     cmpl    _index2,$10
                    327:  316  0001331E    81 10                                jgeq    L9999
                    328:  317  00013320    1d effffffd1e effffffd19             cmpl    _index2,_max_ldf_1_index
                    329:  318  0001332B    81 03 13 fdd7                        jlss    L240
                    330:  319  00013330                                  L9999:
                    331:  320  00013330                                  L238:
                    332:  321  00013330                                   #      } while( index++ < max_cmpf_1_index );
                    333:  322  00013330                                  L236:
                    334:  323  00013330    0d effffffd0e 50                     movl    _index,r0
                    335:  324  00013337    6d effffffd07                        incl    _index
                    336:  325  0001333D    1d 50 effffffd00                     cmpl    r0,_max_cmpf_1_index
                    337:  326  00013344    81 03 13 fd7f                        jlss    L237
                    338:  327  00013349                                  L235:
                    339:  328  00013349                                   # }  /* end of subtest 1 */
                    340:  329  00013349    40                                   ret#2
                    341:  330  0001334A                                         .set    L231,0x0
                    342:  331  0001334A                                  L233:
                    343:  332  0001334A    13 fd68                              jbr     L234
                    344:  333  0001334D                                         .data
                    345:  334  00001458 *                                       .text
                    346:  335  0001334D    00                                   .align  1
                    347:  336  0001334E                                         .globl  _cmpf2_2
                    348:  337  0001334E                                  _cmpf2_2:
                    349:  338  0001334E    0000                                 .word   L267
                    350:  339  00013350                                   #   
                    351:  340  00013350                                   # 
                    352:  341  00013350                                   # 
                    353:  342  00013350                                   # /****************************************************************************
                    354:  343  00013350                                   # *
                    355:  344  00013350                                   # *               SUBTEST 2 - CMPF2 test  - cache / cache data
                    356:  345  00013350                                   # *
                    357:  346  00013350                                   # ****************************************************************************/
                    358:  347  00013350                                   # cmpf2_2() 
                    359:  348  00013350                                   # {
                    360:  349  00013350    13 0290                              jbr     L269
                    361:  350  00013353                                  L270:
                    362:  351  00013353                                   #      force_loop = FALSE;
                    363:  352  00013353    4d effffffceb                        clrl    _force_loop
                    364:  353  00013359                                   #      subtest = 2;
                    365:  354  00013359    0d 02 effffffce4                     movl    $2,_subtest
                    366:  355  00013360                                   #      index = 0;
                    367:  356  00013360    4d effffffcde                        clrl    _index
                    368:  357  00013366                                   #      do 
                    369:  358  00013366                                  L273:
                    370:  359  00013366                                   #      {
                    371:  360  00013366                                   #         sgl_value_1  = cmpf_1_data[index].one; /* get the data operands  */
                    372:  361  00013366    5c 0c effffffcd7 50                  mull3   $12,_index,r0
                    373:  362  0001336E    0d e000000000 effffffccb             movl    _cmpf_1_data(r0),_sgl_value_1
                    374:  363  00013379                                   #         sgl_value_2  = cmpf_1_data[index].two;
                    375:  364  00013379    5c 0c effffffcc4 50                  mull3   $12,_index,r0
                    376:  365  00013381    0d e000000004 effffffcb8             movl    _cmpf_1_data+4(r0),_sgl_value_2
                    377:  366  0001338C                                   #         sgl_expected = cmpf_1_data[index].flag; /* get expected results */
                    378:  367  0001338C    5c 0c effffffcb1 50                  mull3   $12,_index,r0
                    379:  368  00013394    0d e000000008 effffffca5             movl    _cmpf_1_data+8(r0),_sgl_expected
                    380:  369  0001339F                                   #         index2 = 0;                             /* clear Acc. data index */
                    381:  370  0001339F    4d effffffc9f                        clrl    _index2
                    382:  371  000133A5                                   #         do
                    383:  372  000133A5                                  L276:
                    384:  373  000133A5                                   #         {
                    385:  374  000133A5                                   #            sgl_ld_acc = ldf_1_data[index2++].ld; /* get the Accumulator data */
                    386:  375  000133A5    0d effffffc99 50                     movl    _index2,r0
                    387:  376  000133AC    48 03 50 50                          shll    $3,r0,r0
                    388:  377  000133B0    0d e000000000 effffffc89             movl    _ldf_1_data(r0),_sgl_ld_acc
                    389:  378  000133BB    6d effffffc83                        incl    _index2
                    390:  379  000133C1                                   #            status_index = 0;                     /* clear the status index */
                    391:  380  000133C1    4d effffffc7d                        clrl    _status_index
                    392:  381  000133C7                                   #            do
                    393:  382  000133C7                                  L279:
                    394:  383  000133C7                                   #            {
                    395:  384  000133C7                                   #                sgl_dummy1 = status_array[status_index]; /* array = +, -, 0  */
                    396:  385  000133C7    0d effffffc77 50                     movl    _status_index,r0
                    397:  386  000133CE    0d 40effffffc6f                      movl    _status_array[r0],_sgl_dummy1
                    398:                   effffffc6a 
                    399:  387  000133DA                                   # /*
                    400:  388  000133DA                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    401:  389  000133DA                                   #  * The force loop flag is set after the first error.
                    402:  390  000133DA                                   # */
                    403:  391  000133DA                                   #                asm("_cmpf2_2_lp1:");
                    404:  392  000133DA                                  _cmpf2_2_lp1:
                    405:  393  000133DA                                   #                asm("movl _sgl_ld_acc,r3");      /* get the accmulator data  */
                    406:  394  000133DA    0d effffffc64 53              movl _sgl_ld_acc,r3
                    407:  395  000133E1                                   #                asm("ldf _sgl_ld_acc");          /* load the accumulator     */
                    408:  396  000133E1    06 effffffc5d                 ldf _sgl_ld_acc
                    409:  397  000133E7                                   #                asm("tstl _sgl_dummy1");         /* generate initial status  */
                    410:  398  000133E7    5d effffffc57                 tstl _sgl_dummy1
                    411:  399  000133ED                                   #                asm("movpsl _init_psl");         /* save the initial status  */
                    412:  400  000133ED    cd effffffc51                 movpsl _init_psl
                    413:  401  000133F3                                   #                asm("cmpf2 _sgl_value_1,_sgl_value_2");  /* compare the data */
                    414:  402  000133F3    46 effffffc4b effffffc46      cmpf2 _sgl_value_1,_sgl_value_2
                    415:  403  000133FE                                   #                asm("movpsl _psl_val");          /* save the final status    */
                    416:  404  000133FE    cd effffffc40                 movpsl _psl_val
                    417:  405  00013404                                   #                asm("stf _sgl_st_acc");              /* save the acc             */
                    418:  406  00013404    26 effffffc3a                 stf _sgl_st_acc
                    419:  407  0001340A                                   #            if( force_loop )                 /* loop?                    */
                    420:  408  0001340A    5d effffffc34                        tstl    _force_loop
                    421:  409  00013410    31 02                                jeql    L280
                    422:  410  00013412                                   #                    asm("brb _cmpf2_2_lp1");;    /* run the loop again       */
                    423:  411  00013412    11 c6                         brb _cmpf2_2_lp1
                    424:  412  00013414                                  L280:
                    425:  413  00013414                                   #                exp_psl = init_psl;              /* get the initial PSL      */
                    426:  414  00013414    0d effffffc2a effffffc25             movl    _init_psl,_exp_psl
                    427:  415  0001341F                                   #                exp_psl &= 0xfffffff3;           /* clear ZERO, NEGATIVE     */
                    428:  416  0001341F    ac 88f3 effffffc1d                   andl2   $-13,_exp_psl
                    429:  417  00013427                                   #                if( sgl_expected == ZERO )
                    430:  418  00013427    1d effffffc17 04                     cmpl    _sgl_expected,$4
                    431:  419  0001342E    21 07                                jneq    L281
                    432:  420  00013430                                   #                    exp_psl |= PSL_Z;            /* expect the ZERO bit set  */
                    433:  421  00013430    8c 04 effffffc0d                     orl2    $4,_exp_psl
                    434:  422  00013437                                   #                if( sgl_expected == NEGATIVE )
                    435:  423  00013437                                  L281:
                    436:  424  00013437    1d effffffc07 08                     cmpl    _sgl_expected,$8
                    437:  425  0001343E    21 07                                jneq    L282
                    438:  426  00013440                                   #                    exp_psl |= PSL_N;            /* expect the NEG bit set   */
                    439:  427  00013440    8c 08 effffffbfd                     orl2    $8,_exp_psl
                    440:  428  00013447                                   #                if( psl_val != exp_psl )         /* COMPARE the values       */
                    441:  429  00013447                                  L282:
                    442:  430  00013447    1d effffffbf7 effffffbf2             cmpl    _psl_val,_exp_psl
                    443:  431  00013452    21 03 13 0144                        jeql    L283
                    444:  432  00013457                                   #                {
                    445:  433  00013457                                   #                   errcnt++;                     /* bump the error count     */
                    446:  434  00013457    6d effffffbe7                        incl    _errcnt
                    447:  435  0001345D                                   #                   if ( prt_error ) {
                    448:  436  0001345D    5d effffffbe1                        tstl    _prt_error
                    449:  437  00013463    21 03 13 0110                        jeql    L284
                    450:  438  00013468                                   #                      writes(" \n");         /* start a new print line   */
                    451:  439  00013468                                         .data   1
                    452:  440  0000150d *                                L285:
                    453:  441  0000150d *  200A00                               .ascii  " \12\0"
                    454:  442  00001510 *                                       .text
                    455:  443  00013468    dd 8f0000150d                        pushl   $L285
                    456:  444  0001346E    fe 08 effffffbcf                     callf   $8,_writes
                    457:  445  00013475                                   #                      writes("cycle: ");
                    458:  446  00013475                                         .data   1
                    459:  447  00001510 *                                L286:
                    460:  448  00001510 *  6379636C653A2000                     .ascii  "cycle: \0"
                    461:  449  00001518 *                                       .text
                    462:  450  00013475    dd 8f00001510                        pushl   $L286
                    463:  451  0001347B    fe 08 effffffbc2                     callf   $8,_writes
                    464:  452  00013482                                   #                      writed( cycle );
                    465:  453  00013482    dd effffffbbc                        pushl   _cycle
                    466:  454  00013488    fe 08 effffffbb5                     callf   $8,_writed
                    467:  455  0001348F                                   #                      writes("  CMPF2 test ");
                    468:  456  0001348F                                         .data   1
                    469:  457  00001518 *                                L287:
                    470:  458  00001518 *  2020434D50463220746573742            .ascii  "  CMPF2 test \0"
                    471:                   000
                    472:  459  00001526 *                                       .text
                    473:  460  0001348F    dd 8f00001518                        pushl   $L287
                    474:  461  00013495    fe 08 effffffba8                     callf   $8,_writes
                    475:  462  0001349C                                   #                  writed( test_no );
                    476:  463  0001349C    dd effffffba2                        pushl   _test_no
                    477:  464  000134A2    fe 08 effffffb9b                     callf   $8,_writed
                    478:  465  000134A9                                   #     writes(", subtest 2 (Cache/Cache Data) - BAD FINAL PSL\n");
                    479:  466  000134A9                                         .data   1
                    480:  467  00001526 *                                L288:
                    481:  468  00001526 *  2C20737562746573742032202            .ascii  ", subtest 2 (Cache/Cache Data) - BAD FINAL PSL\12\0"
                    482:                   843616368652F436163686520
                    483:                   4461746129202D20424144204
                    484:                   6494E414C2050534C0A00
                    485:  469  00001556 *                                       .text
                    486:  470  000134A9    dd 8f00001526                        pushl   $L288
                    487:  471  000134AF    fe 08 effffffb8e                     callf   $8,_writes
                    488:  472  000134B6                                   #                      print_cmpf2_data();
                    489:  473  000134B6    fe 04 ef00000ee9                     callf   $4,_print_cmpf2_data
                    490:  474  000134BD                                   #                      writes(",  data index = ");
                    491:  475  000134BD                                         .data   1
                    492:  476  00001556 *                                L289:
                    493:  477  00001556 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                    494:                   8203D2000
                    495:  478  00001567 *                                       .text
                    496:  479  000134BD    dd 8f00001556                        pushl   $L289
                    497:  480  000134C3    fe 08 effffffb7a                     callf   $8,_writes
                    498:  481  000134CA                                   #                      writed( index );
                    499:  482  000134CA    dd effffffb74                        pushl   _index
                    500:  483  000134D0    fe 08 effffffb6d                     callf   $8,_writed
                    501:  484  000134D7                                   #                      writec('\n');
                    502:  485  000134D7    dd 0a                                pushl   $10
                    503:  486  000134D9    fe 08 effffffb64                     callf   $8,_writec
                    504:  487  000134E0                                   #                      writes("   final Acc = ");
                    505:  488  000134E0                                         .data   1
                    506:  489  00001567 *                                L290:
                    507:  490  00001567 *  20202066696E616C204163632            .ascii  "   final Acc = \0"
                    508:                   03D2000
                    509:  491  00001577 *                                       .text
                    510:  492  000134E0    dd 8f00001567                        pushl   $L290
                    511:  493  000134E6    fe 08 effffffb57                     callf   $8,_writes
                    512:  494  000134ED                                   #                      write32h( sgl_st_acc );
                    513:  495  000134ED    dd effffffb51                        pushl   _sgl_st_acc
                    514:  496  000134F3    fe 08 effffffb4a                     callf   $8,_write32h
                    515:  497  000134FA                                   #                      writes(",  operand 2 = ");
                    516:  498  000134FA                                         .data   1
                    517:  499  00001577 *                                L291:
                    518:  500  00001577 *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
                    519:                   03D2000
                    520:  501  00001587 *                                       .text
                    521:  502  000134FA    dd 8f00001577                        pushl   $L291
                    522:  503  00013500    fe 08 effffffb3d                     callf   $8,_writes
                    523:  504  00013507                                   #                      write32h( sgl_value_2 );
                    524:  505  00013507    dd effffffb37                        pushl   _sgl_value_2
                    525:  506  0001350D    fe 08 effffffb30                     callf   $8,_write32h
                    526:  507  00013514                                   #                      writec('\n');
                    527:  508  00013514    dd 0a                                pushl   $10
                    528:  509  00013516    fe 08 effffffb27                     callf   $8,_writec
                    529:  510  0001351D                                   #                      writes(" initial PSL = ");
                    530:  511  0001351D                                         .data   1
                    531:  512  00001587 *                                L292:
                    532:  513  00001587 *  20696E697469616C2050534C2            .ascii  " initial PSL = \0"
                    533:                   03D2000
                    534:  514  00001597 *                                       .text
                    535:  515  0001351D    dd 8f00001587                        pushl   $L292
                    536:  516  00013523    fe 08 effffffb1a                     callf   $8,_writes
                    537:  517  0001352A                                   #                      write32h( init_psl );
                    538:  518  0001352A    dd effffffb14                        pushl   _init_psl
                    539:  519  00013530    fe 08 effffffb0d                     callf   $8,_write32h
                    540:  520  00013537                                   #                      writes(",  final PSL = ");
                    541:  521  00013537                                         .data   1
                    542:  522  00001597 *                                L293:
                    543:  523  00001597 *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
                    544:                   03D2000
                    545:  524  000015a7 *                                       .text
                    546:  525  00013537    dd 8f00001597                        pushl   $L293
                    547:  526  0001353D    fe 08 effffffb00                     callf   $8,_writes
                    548:  527  00013544                                   #                      write32h( psl_val );
                    549:  528  00013544    dd effffffafa                        pushl   _psl_val
                    550:  529  0001354A    fe 08 effffffaf3                     callf   $8,_write32h
                    551:  530  00013551                                   #                      writes(",  expected PSL = ");
                    552:  531  00013551                                         .data   1
                    553:  532  000015a7 *                                L294:
                    554:  533  000015a7 *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
                    555:                   0534C203D2000
                    556:  534  000015ba *                                       .text
                    557:  535  00013551    dd 8f000015a7                        pushl   $L294
                    558:  536  00013557    fe 08 effffffae6                     callf   $8,_writes
                    559:  537  0001355E                                   #                      write32h( exp_psl );
                    560:  538  0001355E    dd effffffae0                        pushl   _exp_psl
                    561:  539  00013564    fe 08 effffffad9                     callf   $8,_write32h
                    562:  540  0001356B                                   #                      writes(" \n");
                    563:  541  0001356B                                         .data   1
                    564:  542  000015ba *                                L295:
                    565:  543  000015ba *  200A00                               .ascii  " \12\0"
                    566:  544  000015bd *                                       .text
                    567:  545  0001356B    dd 8f000015ba                        pushl   $L295
                    568:  546  00013571    fe 08 effffffacc                     callf   $8,_writes
                    569:  547  00013578                                   #                   }
                    570:  548  00013578                                   #                   if ( halt_flg )
                    571:  549  00013578                                  L284:
                    572:  550  00013578    5d effffffac6                        tstl    _halt_flg
                    573:  551  0001357E    31 09                                jeql    L296
                    574:  552  00013580                                   #                      cmpf2_er_halt( BAD_PSL_HLT );  /* halt on the error   */
                    575:  553  00013580    dd 03                                pushl   $3
                    576:  554  00013582    fe 08 ef00000e59                     callf   $8,_cmpf2_er_halt
                    577:  555  00013589                                   #                   if ( loop_on_err ) 
                    578:  556  00013589                                  L296:
                    579:  557  00013589    5d effffffab5                        tstl    _loop_on_err
                    580:  558  0001358F    31 0a                                jeql    L297
                    581:  559  00013591                                   #                   {
                    582:  560  00013591                                   #                      force_loop = TRUE;         /* set the force loop flag */
                    583:  561  00013591    0d 01 effffffaac                     movl    $1,_force_loop
                    584:  562  00013598                                   #                      asm("brw _cmpf2_2_lp1");   /* and loop                */
                    585:  563  00013598    13 fe3f                       brw _cmpf2_2_lp1
                    586:  564  0001359B                                   #                   };  /* end of loop-on-error    */
                    587:  565  0001359B                                  L297:
                    588:  566  0001359B                                   #                }   /* end of compare error    */
                    589:  567  0001359B                                   #             } while( ++status_index < 3 );
                    590:  568  0001359B                                  L283:
                    591:  569  0001359B                                  L278:
                    592:  570  0001359B    6d effffffaa3                        incl    _status_index
                    593:  571  000135A1    0d effffffa9d 50                     movl    _status_index,r0
                    594:  572  000135A8    1d 50 03                             cmpl    r0,$3
                    595:  573  000135AB    81 03 13 fe17                        jlss    L279
                    596:  574  000135B0                                  L277:
                    597:  575  000135B0                                   #         } while( (index2 < 10) && (index2 < max_ldf_1_index) );
                    598:  576  000135B0                                  L275:
                    599:  577  000135B0    1d effffffa8e 0a                     cmpl    _index2,$10
                    600:  578  000135B7    81 10                                jgeq    L9998
                    601:  579  000135B9    1d effffffa85 effffffa80             cmpl    _index2,_max_ldf_1_index
                    602:  580  000135C4    81 03 13 fddc                        jlss    L276
                    603:  581  000135C9                                  L9998:
                    604:  582  000135C9                                  L274:
                    605:  583  000135C9                                   #      } while( index++ < max_cmpf_1_index );
                    606:  584  000135C9                                  L272:
                    607:  585  000135C9    0d effffffa75 50                     movl    _index,r0
                    608:  586  000135D0    6d effffffa6e                        incl    _index
                    609:  587  000135D6    1d 50 effffffa67                     cmpl    r0,_max_cmpf_1_index
                    610:  588  000135DD    81 03 13 fd84                        jlss    L273
                    611:  589  000135E2                                  L271:
                    612:  590  000135E2                                   # }  /* end of subtest 2 */
                    613:  591  000135E2    40                                   ret#2
                    614:  592  000135E3                                         .set    L267,0x0
                    615:  593  000135E3                                  L269:
                    616:  594  000135E3    13 fd6d                              jbr     L270
                    617:  595  000135E6                                         .data
                    618:  596  00001458 *                                       .text
                    619:  597  000135E6                                         .align  1
                    620:  598  000135E6                                         .globl  _cmpf2_3
                    621:  599  000135E6                                  _cmpf2_3:
                    622:  600  000135E6    0000                                 .word   L298
                    623:  601  000135E8                                   #   
                    624:  602  000135E8                                   # 
                    625:  603  000135E8                                   # 
                    626:  604  000135E8                                   # /****************************************************************************
                    627:  605  000135E8                                   # *
                    628:  606  000135E8                                   # *               SUBTEST 3 - CMPF2 test  - cache / register data
                    629:  607  000135E8                                   # *
                    630:  608  000135E8                                   # ****************************************************************************/
                    631:  609  000135E8                                   # cmpf2_3() 
                    632:  610  000135E8                                   # {
                    633:  611  000135E8    13 028c                              jbr     L300
                    634:  612  000135EB                                  L301:
                    635:  613  000135EB                                   #      force_loop = FALSE;
                    636:  614  000135EB    4d effffffa53                        clrl    _force_loop
                    637:  615  000135F1                                   #      subtest = 3;
                    638:  616  000135F1    0d 03 effffffa4c                     movl    $3,_subtest
                    639:  617  000135F8                                   #      index = 0;
                    640:  618  000135F8    4d effffffa46                        clrl    _index
                    641:  619  000135FE                                   #      do 
                    642:  620  000135FE                                  L304:
                    643:  621  000135FE                                   #      {
                    644:  622  000135FE                                   #         sgl_value_1  = cmpf_1_data[index].one; /* get the data operands  */
                    645:  623  000135FE    5c 0c effffffa3f 50                  mull3   $12,_index,r0
                    646:  624  00013606    0d e000000000 effffffa33             movl    _cmpf_1_data(r0),_sgl_value_1
                    647:  625  00013611                                   #         sgl_value_2  = cmpf_1_data[index].two;
                    648:  626  00013611    5c 0c effffffa2c 50                  mull3   $12,_index,r0
                    649:  627  00013619    0d e000000004 effffffa20             movl    _cmpf_1_data+4(r0),_sgl_value_2
                    650:  628  00013624                                   #         sgl_expected = cmpf_1_data[index].flag; /* get expected results */
                    651:  629  00013624    5c 0c effffffa19 50                  mull3   $12,_index,r0
                    652:  630  0001362C    0d e000000008 effffffa0d             movl    _cmpf_1_data+8(r0),_sgl_expected
                    653:  631  00013637                                   #         index2 = 0;                             /* clear Acc. data index */
                    654:  632  00013637    4d effffffa07                        clrl    _index2
                    655:  633  0001363D                                   #         do
                    656:  634  0001363D                                  L307:
                    657:  635  0001363D                                   #         {
                    658:  636  0001363D                                   #            sgl_ld_acc = ldf_1_data[index2++].ld; /* get the Accumulator data */
                    659:  637  0001363D    0d effffffa01 50                     movl    _index2,r0
                    660:  638  00013644    48 03 50 50                          shll    $3,r0,r0
                    661:  639  00013648    0d e000000000 effffff9f1             movl    _ldf_1_data(r0),_sgl_ld_acc
                    662:  640  00013653    6d effffff9eb                        incl    _index2
                    663:  641  00013659                                   #            status_index = 0;                     /* clear the status index */
                    664:  642  00013659    4d effffff9e5                        clrl    _status_index
                    665:  643  0001365F                                   #            do
                    666:  644  0001365F                                  L310:
                    667:  645  0001365F                                   #            {
                    668:  646  0001365F                                   #                sgl_dummy1 = status_array[status_index]; /* array = +, -, 0  */
                    669:  647  0001365F    0d effffff9df 50                     movl    _status_index,r0
                    670:  648  00013666    0d 40effffff9d7                      movl    _status_array[r0],_sgl_dummy1
                    671:                   effffff9d2 
                    672:  649  00013672                                   # /*
                    673:  650  00013672                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    674:  651  00013672                                   #  * The force loop flag is set after the first error.
                    675:  652  00013672                                   # */
                    676:  653  00013672                                   #                asm("_cmpf2_3_lp1:");
                    677:  654  00013672                                  _cmpf2_3_lp1:
                    678:  655  00013672                                   #                asm("ldf _sgl_ld_acc");          /* load the accmulator      */
                    679:  656  00013672    06 effffff9cc                 ldf _sgl_ld_acc
                    680:  657  00013678                                   #                asm("movl _sgl_value_2,r5");     /* move operand #2 to r5    */
                    681:  658  00013678    0d effffff9c6 55              movl _sgl_value_2,r5
                    682:  659  0001367F                                   #                asm("tstl _sgl_dummy1");         /* generate initial status  */
                    683:  660  0001367F    5d effffff9bf                 tstl _sgl_dummy1
                    684:  661  00013685                                   #                asm("movpsl _init_psl");         /* save the initial status  */
                    685:  662  00013685    cd effffff9b9                 movpsl _init_psl
                    686:  663  0001368B                                   #                asm("cmpf2 _sgl_value_1,r5");    /* compare the data         */
                    687:  664  0001368B    46 effffff9b3 55              cmpf2 _sgl_value_1,r5
                    688:  665  00013692                                   #                asm("movpsl _psl_val");          /* save the final status    */
                    689:  666  00013692    cd effffff9ac                 movpsl _psl_val
                    690:  667  00013698                                   #                asm("stf _sgl_st_acc");              /* save the acc             */
                    691:  668  00013698    26 effffff9a6                 stf _sgl_st_acc
                    692:  669  0001369E                                   #            if( force_loop )                 /* loop?                    */
                    693:  670  0001369E    5d effffff9a0                        tstl    _force_loop
                    694:  671  000136A4    31 02                                jeql    L311
                    695:  672  000136A6                                   #                    asm("brb _cmpf2_3_lp1");;    /* run the loop again       */
                    696:  673  000136A6    11 ca                         brb _cmpf2_3_lp1
                    697:  674  000136A8                                  L311:
                    698:  675  000136A8                                   #                exp_psl = init_psl;              /* get the initial PSL      */
                    699:  676  000136A8    0d effffff996 effffff991             movl    _init_psl,_exp_psl
                    700:  677  000136B3                                   #                exp_psl &= 0xfffffff3;           /* clear ZERO, NEGATIVE     */
                    701:  678  000136B3    ac 88f3 effffff989                   andl2   $-13,_exp_psl
                    702:  679  000136BB                                   #                if( sgl_expected == ZERO )
                    703:  680  000136BB    1d effffff983 04                     cmpl    _sgl_expected,$4
                    704:  681  000136C2    21 07                                jneq    L312
                    705:  682  000136C4                                   #                    exp_psl |= PSL_Z;            /* expect the ZERO bit set  */
                    706:  683  000136C4    8c 04 effffff979                     orl2    $4,_exp_psl
                    707:  684  000136CB                                   #                if( sgl_expected == NEGATIVE )
                    708:  685  000136CB                                  L312:
                    709:  686  000136CB    1d effffff973 08                     cmpl    _sgl_expected,$8
                    710:  687  000136D2    21 07                                jneq    L313
                    711:  688  000136D4                                   #                    exp_psl |= PSL_N;            /* expect the NEG bit set   */
                    712:  689  000136D4    8c 08 effffff969                     orl2    $8,_exp_psl
                    713:  690  000136DB                                   #                if( psl_val != exp_psl )         /* COMPARE the values       */
                    714:  691  000136DB                                  L313:
                    715:  692  000136DB    1d effffff963 effffff95e             cmpl    _psl_val,_exp_psl
                    716:  693  000136E6    21 03 13 0144                        jeql    L314
                    717:  694  000136EB                                   #                {
                    718:  695  000136EB                                   #                   errcnt++;                     /* bump the error count     */
                    719:  696  000136EB    6d effffff953                        incl    _errcnt
                    720:  697  000136F1                                   #                   if ( prt_error ) {
                    721:  698  000136F1    5d effffff94d                        tstl    _prt_error
                    722:  699  000136F7    21 03 13 0110                        jeql    L315
                    723:  700  000136FC                                   #                      writes(" \n");         /* start a new print line   */
                    724:  701  000136FC                                         .data   1
                    725:  702  000015bd *                                L316:
                    726:  703  000015bd *  200A00                               .ascii  " \12\0"
                    727:  704  000015c0 *                                       .text
                    728:  705  000136FC    dd 8f000015bd                        pushl   $L316
                    729:  706  00013702    fe 08 effffff93b                     callf   $8,_writes
                    730:  707  00013709                                   #                      writes("cycle: ");
                    731:  708  00013709                                         .data   1
                    732:  709  000015c0 *                                L317:
                    733:  710  000015c0 *  6379636C653A2000                     .ascii  "cycle: \0"
                    734:  711  000015c8 *                                       .text
                    735:  712  00013709    dd 8f000015c0                        pushl   $L317
                    736:  713  0001370F    fe 08 effffff92e                     callf   $8,_writes
                    737:  714  00013716                                   #                      writed( cycle );
                    738:  715  00013716    dd effffff928                        pushl   _cycle
                    739:  716  0001371C    fe 08 effffff921                     callf   $8,_writed
                    740:  717  00013723                                   #                      writes("  CMPF2 test ");
                    741:  718  00013723                                         .data   1
                    742:  719  000015c8 *                                L318:
                    743:  720  000015c8 *  2020434D50463220746573742            .ascii  "  CMPF2 test \0"
                    744:                   000
                    745:  721  000015d6 *                                       .text
                    746:  722  00013723    dd 8f000015c8                        pushl   $L318
                    747:  723  00013729    fe 08 effffff914                     callf   $8,_writes
                    748:  724  00013730                                   #                  writed( test_no );
                    749:  725  00013730    dd effffff90e                        pushl   _test_no
                    750:  726  00013736    fe 08 effffff907                     callf   $8,_writed
                    751:  727  0001373D                                   #     writes(", subtest 3 (Cache/Reg. Data) - BAD FINAL PSL\n");
                    752:  728  0001373D                                         .data   1
                    753:  729  000015d6 *                                L319:
                    754:  730  000015d6 *  2C20737562746573742033202            .ascii  ", subtest 3 (Cache/Reg. Data) - BAD FINAL PSL\12\0"
                    755:                   843616368652F5265672E2044
                    756:                   61746129202D2042414420464
                    757:                   94E414C2050534C0A00
                    758:  731  00001605 *                                       .text
                    759:  732  0001373D    dd 8f000015d6                        pushl   $L319
                    760:  733  00013743    fe 08 effffff8fa                     callf   $8,_writes
                    761:  734  0001374A                                   #                      print_cmpf2_data();
                    762:  735  0001374A    fe 04 ef00000c55                     callf   $4,_print_cmpf2_data
                    763:  736  00013751                                   #                      writes(",  data index = ");
                    764:  737  00013751                                         .data   1
                    765:  738  00001605 *                                L320:
                    766:  739  00001605 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                    767:                   8203D2000
                    768:  740  00001616 *                                       .text
                    769:  741  00013751    dd 8f00001605                        pushl   $L320
                    770:  742  00013757    fe 08 effffff8e6                     callf   $8,_writes
                    771:  743  0001375E                                   #                      writed( index );
                    772:  744  0001375E    dd effffff8e0                        pushl   _index
                    773:  745  00013764    fe 08 effffff8d9                     callf   $8,_writed
                    774:  746  0001376B                                   #                      writec('\n');
                    775:  747  0001376B    dd 0a                                pushl   $10
                    776:  748  0001376D    fe 08 effffff8d0                     callf   $8,_writec
                    777:  749  00013774                                   #                      writes("   final Acc = ");
                    778:  750  00013774                                         .data   1
                    779:  751  00001616 *                                L321:
                    780:  752  00001616 *  20202066696E616C204163632            .ascii  "   final Acc = \0"
                    781:                   03D2000
                    782:  753  00001626 *                                       .text
                    783:  754  00013774    dd 8f00001616                        pushl   $L321
                    784:  755  0001377A    fe 08 effffff8c3                     callf   $8,_writes
                    785:  756  00013781                                   #                      write32h( sgl_st_acc );
                    786:  757  00013781    dd effffff8bd                        pushl   _sgl_st_acc
                    787:  758  00013787    fe 08 effffff8b6                     callf   $8,_write32h
                    788:  759  0001378E                                   #                      writes(",  operand 2 = ");
                    789:  760  0001378E                                         .data   1
                    790:  761  00001626 *                                L322:
                    791:  762  00001626 *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
                    792:                   03D2000
                    793:  763  00001636 *                                       .text
                    794:  764  0001378E    dd 8f00001626                        pushl   $L322
                    795:  765  00013794    fe 08 effffff8a9                     callf   $8,_writes
                    796:  766  0001379B                                   #                      write32h( sgl_value_2 );
                    797:  767  0001379B    dd effffff8a3                        pushl   _sgl_value_2
                    798:  768  000137A1    fe 08 effffff89c                     callf   $8,_write32h
                    799:  769  000137A8                                   #                      writec('\n');
                    800:  770  000137A8    dd 0a                                pushl   $10
                    801:  771  000137AA    fe 08 effffff893                     callf   $8,_writec
                    802:  772  000137B1                                   #                      writes(" initial PSL = ");
                    803:  773  000137B1                                         .data   1
                    804:  774  00001636 *                                L323:
                    805:  775  00001636 *  20696E697469616C2050534C2            .ascii  " initial PSL = \0"
                    806:                   03D2000
                    807:  776  00001646 *                                       .text
                    808:  777  000137B1    dd 8f00001636                        pushl   $L323
                    809:  778  000137B7    fe 08 effffff886                     callf   $8,_writes
                    810:  779  000137BE                                   #                      write32h( init_psl );
                    811:  780  000137BE    dd effffff880                        pushl   _init_psl
                    812:  781  000137C4    fe 08 effffff879                     callf   $8,_write32h
                    813:  782  000137CB                                   #                      writes(",  final PSL = ");
                    814:  783  000137CB                                         .data   1
                    815:  784  00001646 *                                L324:
                    816:  785  00001646 *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
                    817:                   03D2000
                    818:  786  00001656 *                                       .text
                    819:  787  000137CB    dd 8f00001646                        pushl   $L324
                    820:  788  000137D1    fe 08 effffff86c                     callf   $8,_writes
                    821:  789  000137D8                                   #                      write32h( psl_val );
                    822:  790  000137D8    dd effffff866                        pushl   _psl_val
                    823:  791  000137DE    fe 08 effffff85f                     callf   $8,_write32h
                    824:  792  000137E5                                   #                      writes(",  expected PSL = ");
                    825:  793  000137E5                                         .data   1
                    826:  794  00001656 *                                L325:
                    827:  795  00001656 *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
                    828:                   0534C203D2000
                    829:  796  00001669 *                                       .text
                    830:  797  000137E5    dd 8f00001656                        pushl   $L325
                    831:  798  000137EB    fe 08 effffff852                     callf   $8,_writes
                    832:  799  000137F2                                   #                      write32h( exp_psl );
                    833:  800  000137F2    dd effffff84c                        pushl   _exp_psl
                    834:  801  000137F8    fe 08 effffff845                     callf   $8,_write32h
                    835:  802  000137FF                                   #                      writes(" \n");
                    836:  803  000137FF                                         .data   1
                    837:  804  00001669 *                                L326:
                    838:  805  00001669 *  200A00                               .ascii  " \12\0"
                    839:  806  0000166c *                                       .text
                    840:  807  000137FF    dd 8f00001669                        pushl   $L326
                    841:  808  00013805    fe 08 effffff838                     callf   $8,_writes
                    842:  809  0001380C                                   #                   }
                    843:  810  0001380C                                   #                   if ( halt_flg )
                    844:  811  0001380C                                  L315:
                    845:  812  0001380C    5d effffff832                        tstl    _halt_flg
                    846:  813  00013812    31 09                                jeql    L327
                    847:  814  00013814                                   #                      cmpf2_er_halt( BAD_PSL_HLT ); /* halt on the error    */
                    848:  815  00013814    dd 03                                pushl   $3
                    849:  816  00013816    fe 08 ef00000bc5                     callf   $8,_cmpf2_er_halt
                    850:  817  0001381D                                   #                   if ( loop_on_err ) 
                    851:  818  0001381D                                  L327:
                    852:  819  0001381D    5d effffff821                        tstl    _loop_on_err
                    853:  820  00013823    31 0a                                jeql    L328
                    854:  821  00013825                                   #                   {
                    855:  822  00013825                                   #                      force_loop = TRUE;         /* set the force loop flag */
                    856:  823  00013825    0d 01 effffff818                     movl    $1,_force_loop
                    857:  824  0001382C                                   #                      asm("brw _cmpf2_3_lp1");   /* and loop                */
                    858:  825  0001382C    13 fe43                       brw _cmpf2_3_lp1
                    859:  826  0001382F                                   #                   };  /* end of loop-on-error    */
                    860:  827  0001382F                                  L328:
                    861:  828  0001382F                                   #                }   /* end of compare error    */
                    862:  829  0001382F                                   #             } while( ++status_index < 3 );
                    863:  830  0001382F                                  L314:
                    864:  831  0001382F                                  L309:
                    865:  832  0001382F    6d effffff80f                        incl    _status_index
                    866:  833  00013835    0d effffff809 50                     movl    _status_index,r0
                    867:  834  0001383C    1d 50 03                             cmpl    r0,$3
                    868:  835  0001383F    81 03 13 fe1b                        jlss    L310
                    869:  836  00013844                                  L308:
                    870:  837  00013844                                   #         } while( (index2 < 10) && (index2 < max_ldf_1_index) );
                    871:  838  00013844                                  L306:
                    872:  839  00013844    1d effffff7fa 0a                     cmpl    _index2,$10
                    873:  840  0001384B    81 10                                jgeq    L9997
                    874:  841  0001384D    1d effffff7f1 effffff7ec             cmpl    _index2,_max_ldf_1_index
                    875:  842  00013858    81 03 13 fde0                        jlss    L307
                    876:  843  0001385D                                  L9997:
                    877:  844  0001385D                                  L305:
                    878:  845  0001385D                                   #      } while( index++ < max_cmpf_1_index );
                    879:  846  0001385D                                  L303:
                    880:  847  0001385D    0d effffff7e1 50                     movl    _index,r0
                    881:  848  00013864    6d effffff7da                        incl    _index
                    882:  849  0001386A    1d 50 effffff7d3                     cmpl    r0,_max_cmpf_1_index
                    883:  850  00013871    81 03 13 fd88                        jlss    L304
                    884:  851  00013876                                  L302:
                    885:  852  00013876                                   # }  /* end of subtest 3 */
                    886:  853  00013876    40                                   ret#2
                    887:  854  00013877                                         .set    L298,0x0
                    888:  855  00013877                                  L300:
                    889:  856  00013877    13 fd71                              jbr     L301
                    890:  857  0001387A                                         .data
                    891:  858  00001458 *                                       .text
                    892:  859  0001387A                                         .align  1
                    893:  860  0001387A                                         .globl  _cmpf2_4
                    894:  861  0001387A                                  _cmpf2_4:
                    895:  862  0001387A    0000                                 .word   L329
                    896:  863  0001387C                                   #   
                    897:  864  0001387C                                   # 
                    898:  865  0001387C                                   # 
                    899:  866  0001387C                                   # /****************************************************************************
                    900:  867  0001387C                                   # *
                    901:  868  0001387C                                   # *               SUBTEST 4 - CMPF2 test  - register / cache data
                    902:  869  0001387C                                   # *
                    903:  870  0001387C                                   # ****************************************************************************/
                    904:  871  0001387C                                   # cmpf2_4() 
                    905:  872  0001387C                                   # {
                    906:  873  0001387C    13 0292                              jbr     L331
                    907:  874  0001387F                                  L332:
                    908:  875  0001387F                                   #      force_loop = FALSE;
                    909:  876  0001387F    4d effffff7bf                        clrl    _force_loop
                    910:  877  00013885                                   #      subtest = 4;
                    911:  878  00013885    0d 04 effffff7b8                     movl    $4,_subtest
                    912:  879  0001388C                                   #      index = 0;
                    913:  880  0001388C    4d effffff7b2                        clrl    _index
                    914:  881  00013892                                   #      do 
                    915:  882  00013892                                  L335:
                    916:  883  00013892                                   #      {
                    917:  884  00013892                                   #         sgl_value_1  = cmpf_1_data[index].one; /* get the data operands  */
                    918:  885  00013892    5c 0c effffff7ab 50                  mull3   $12,_index,r0
                    919:  886  0001389A    0d e000000000 effffff79f             movl    _cmpf_1_data(r0),_sgl_value_1
                    920:  887  000138A5                                   #         sgl_value_2  = cmpf_1_data[index].two;
                    921:  888  000138A5    5c 0c effffff798 50                  mull3   $12,_index,r0
                    922:  889  000138AD    0d e000000004 effffff78c             movl    _cmpf_1_data+4(r0),_sgl_value_2
                    923:  890  000138B8                                   #         sgl_expected = cmpf_1_data[index].flag; /* get expected results */
                    924:  891  000138B8    5c 0c effffff785 50                  mull3   $12,_index,r0
                    925:  892  000138C0    0d e000000008 effffff779             movl    _cmpf_1_data+8(r0),_sgl_expected
                    926:  893  000138CB                                   #         index2 = 0;                             /* clear Acc. data index */
                    927:  894  000138CB    4d effffff773                        clrl    _index2
                    928:  895  000138D1                                   #         do
                    929:  896  000138D1                                  L338:
                    930:  897  000138D1                                   #         {
                    931:  898  000138D1                                   #            sgl_ld_acc = ldf_1_data[index2++].ld; /* get the Accumulator data */
                    932:  899  000138D1    0d effffff76d 50                     movl    _index2,r0
                    933:  900  000138D8    48 03 50 50                          shll    $3,r0,r0
                    934:  901  000138DC    0d e000000000 effffff75d             movl    _ldf_1_data(r0),_sgl_ld_acc
                    935:  902  000138E7    6d effffff757                        incl    _index2
                    936:  903  000138ED                                   #            status_index = 0;                     /* clear the status index */
                    937:  904  000138ED    4d effffff751                        clrl    _status_index
                    938:  905  000138F3                                   #            do
                    939:  906  000138F3                                  L341:
                    940:  907  000138F3                                   #            {
                    941:  908  000138F3                                   #                sgl_dummy1 = status_array[status_index]; /* array = +, -, 0  */
                    942:  909  000138F3    0d effffff74b 50                     movl    _status_index,r0
                    943:  910  000138FA    0d 40effffff743                      movl    _status_array[r0],_sgl_dummy1
                    944:                   effffff73e 
                    945:  911  00013906                                   # /*
                    946:  912  00013906                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    947:  913  00013906                                   #  * The force loop flag is set after the first error.
                    948:  914  00013906                                   # */
                    949:  915  00013906                                   #                asm("_cmpf2_4_lp1:");
                    950:  916  00013906                                  _cmpf2_4_lp1:
                    951:  917  00013906                                   #                asm("movl _sgl_ld_acc,r3");      /* get the accmulator data  */
                    952:  918  00013906    0d effffff738 53              movl _sgl_ld_acc,r3
                    953:  919  0001390D                                   #                asm("movl _sgl_value_1,r4");     /* move operand #1 to r4    */
                    954:  920  0001390D    0d effffff731 54              movl _sgl_value_1,r4
                    955:  921  00013914                                   #                asm("ldf r3");                   /* load the accumulator     */
                    956:  922  00013914    06 53                         ldf r3
                    957:  923  00013916                                   #                asm("tstl _sgl_dummy1");         /* generate initial status  */
                    958:  924  00013916    5d effffff728                 tstl _sgl_dummy1
                    959:  925  0001391C                                   #                asm("movpsl _init_psl");         /* save the initial status  */
                    960:  926  0001391C    cd effffff722                 movpsl _init_psl
                    961:  927  00013922                                   #                asm("cmpf2 r4,_sgl_value_2");    /* compare the data         */
                    962:  928  00013922    46 54 effffff71b              cmpf2 r4,_sgl_value_2
                    963:  929  00013929                                   #                asm("movpsl _psl_val");          /* save the final status    */
                    964:  930  00013929    cd effffff715                 movpsl _psl_val
                    965:  931  0001392F                                   #                asm("stf _sgl_st_acc");              /* save the acc             */
                    966:  932  0001392F    26 effffff70f                 stf _sgl_st_acc
                    967:  933  00013935                                   #            if( force_loop )                 /* loop?                    */
                    968:  934  00013935    5d effffff709                        tstl    _force_loop
                    969:  935  0001393B    31 02                                jeql    L342
                    970:  936  0001393D                                   #                    asm("brb _cmpf2_4_lp1");;    /* run the loop again       */
                    971:  937  0001393D    11 c7                         brb _cmpf2_4_lp1
                    972:  938  0001393F                                  L342:
                    973:  939  0001393F                                   #                exp_psl = init_psl;              /* get the initial PSL      */
                    974:  940  0001393F    0d effffff6ff effffff6fa             movl    _init_psl,_exp_psl
                    975:  941  0001394A                                   #                exp_psl &= 0xfffffff3;           /* clear ZERO, NEGATIVE     */
                    976:  942  0001394A    ac 88f3 effffff6f2                   andl2   $-13,_exp_psl
                    977:  943  00013952                                   #                if( sgl_expected == ZERO )
                    978:  944  00013952    1d effffff6ec 04                     cmpl    _sgl_expected,$4
                    979:  945  00013959    21 07                                jneq    L343
                    980:  946  0001395B                                   #                    exp_psl |= PSL_Z;            /* expect the ZERO bit set  */
                    981:  947  0001395B    8c 04 effffff6e2                     orl2    $4,_exp_psl
                    982:  948  00013962                                   #                if( sgl_expected == NEGATIVE )
                    983:  949  00013962                                  L343:
                    984:  950  00013962    1d effffff6dc 08                     cmpl    _sgl_expected,$8
                    985:  951  00013969    21 07                                jneq    L344
                    986:  952  0001396B                                   #                    exp_psl |= PSL_N;            /* expect the NEG bit set   */
                    987:  953  0001396B    8c 08 effffff6d2                     orl2    $8,_exp_psl
                    988:  954  00013972                                   #                if( psl_val != exp_psl )         /* COMPARE the values       */
                    989:  955  00013972                                  L344:
                    990:  956  00013972    1d effffff6cc effffff6c7             cmpl    _psl_val,_exp_psl
                    991:  957  0001397D    21 03 13 0147                        jeql    L345
                    992:  958  00013982                                   #                {
                    993:  959  00013982                                   #                   errcnt++;                     /* bump the error count     */
                    994:  960  00013982    6d effffff6bc                        incl    _errcnt
                    995:  961  00013988                                   #                   if ( prt_error ) {
                    996:  962  00013988    5d effffff6b6                        tstl    _prt_error
                    997:  963  0001398E    21 03 13 0110                        jeql    L346
                    998:  964  00013993                                   #                      writes(" \n");         /* start a new print line   */
                    999:  965  00013993                                         .data   1
                   1000:  966  0000166c *                                L347:
                   1001:  967  0000166c *  200A00                               .ascii  " \12\0"
                   1002:  968  0000166f *                                       .text
                   1003:  969  00013993    dd 8f0000166c                        pushl   $L347
                   1004:  970  00013999    fe 08 effffff6a4                     callf   $8,_writes
                   1005:  971  000139A0                                   #                      writes("cycle: ");
                   1006:  972  000139A0                                         .data   1
                   1007:  973  0000166f *                                L348:
                   1008:  974  0000166f *  6379636C653A2000                     .ascii  "cycle: \0"
                   1009:  975  00001677 *                                       .text
                   1010:  976  000139A0    dd 8f0000166f                        pushl   $L348
                   1011:  977  000139A6    fe 08 effffff697                     callf   $8,_writes
                   1012:  978  000139AD                                   #                      writed( cycle );
                   1013:  979  000139AD    dd effffff691                        pushl   _cycle
                   1014:  980  000139B3    fe 08 effffff68a                     callf   $8,_writed
                   1015:  981  000139BA                                   #                      writes("  CMPF2 test ");
                   1016:  982  000139BA                                         .data   1
                   1017:  983  00001677 *                                L349:
                   1018:  984  00001677 *  2020434D50463220746573742            .ascii  "  CMPF2 test \0"
                   1019:                   000
                   1020:  985  00001685 *                                       .text
                   1021:  986  000139BA    dd 8f00001677                        pushl   $L349
                   1022:  987  000139C0    fe 08 effffff67d                     callf   $8,_writes
                   1023:  988  000139C7                                   #                  writed( test_no );
                   1024:  989  000139C7    dd effffff677                        pushl   _test_no
                   1025:  990  000139CD    fe 08 effffff670                     callf   $8,_writed
                   1026:  991  000139D4                                   #     writes(", subtest 4 (Reg./Cache Data) - BAD FINAL PSL\n");
                   1027:  992  000139D4                                         .data   1
                   1028:  993  00001685 *                                L350:
                   1029:  994  00001685 *  2C20737562746573742034202            .ascii  ", subtest 4 (Reg./Cache Data) - BAD FINAL PSL\12\0"
                   1030:                   85265672E2F43616368652044
                   1031:                   61746129202D2042414420464
                   1032:                   94E414C2050534C0A00
                   1033:  995  000016b4 *                                       .text
                   1034:  996  000139D4    dd 8f00001685                        pushl   $L350
                   1035:  997  000139DA    fe 08 effffff663                     callf   $8,_writes
                   1036:  998  000139E1                                   #                      print_cmpf2_data();
                   1037:  999  000139E1    fe 04 ef000009be                     callf   $4,_print_cmpf2_data
                   1038: 1000  000139E8                                   #                      writes(",  data index = ");
                   1039: 1001  000139E8                                         .data   1
                   1040: 1002  000016b4 *                                L351:
                   1041: 1003  000016b4 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                   1042:                   8203D2000
                   1043: 1004  000016c5 *                                       .text
                   1044: 1005  000139E8    dd 8f000016b4                        pushl   $L351
                   1045: 1006  000139EE    fe 08 effffff64f                     callf   $8,_writes
                   1046: 1007  000139F5                                   #                      writed( index );
                   1047: 1008  000139F5    dd effffff649                        pushl   _index
                   1048: 1009  000139FB    fe 08 effffff642                     callf   $8,_writed
                   1049: 1010  00013A02                                   #                      writec('\n');
                   1050: 1011  00013A02    dd 0a                                pushl   $10
                   1051: 1012  00013A04    fe 08 effffff639                     callf   $8,_writec
                   1052: 1013  00013A0B                                   #                      writes("   final Acc = ");
                   1053: 1014  00013A0B                                         .data   1
                   1054: 1015  000016c5 *                                L352:
                   1055: 1016  000016c5 *  20202066696E616C204163632            .ascii  "   final Acc = \0"
                   1056:                   03D2000
                   1057: 1017  000016d5 *                                       .text
                   1058: 1018  00013A0B    dd 8f000016c5                        pushl   $L352
                   1059: 1019  00013A11    fe 08 effffff62c                     callf   $8,_writes
                   1060: 1020  00013A18                                   #                      write32h( sgl_st_acc );
                   1061: 1021  00013A18    dd effffff626                        pushl   _sgl_st_acc
                   1062: 1022  00013A1E    fe 08 effffff61f                     callf   $8,_write32h
                   1063: 1023  00013A25                                   #                      writes(",  operand 2 = ");
                   1064: 1024  00013A25                                         .data   1
                   1065: 1025  000016d5 *                                L353:
                   1066: 1026  000016d5 *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
                   1067:                   03D2000
                   1068: 1027  000016e5 *                                       .text
                   1069: 1028  00013A25    dd 8f000016d5                        pushl   $L353
                   1070: 1029  00013A2B    fe 08 effffff612                     callf   $8,_writes
                   1071: 1030  00013A32                                   #                      write32h( sgl_value_2 );
                   1072: 1031  00013A32    dd effffff60c                        pushl   _sgl_value_2
                   1073: 1032  00013A38    fe 08 effffff605                     callf   $8,_write32h
                   1074: 1033  00013A3F                                   #                      writec('\n');
                   1075: 1034  00013A3F    dd 0a                                pushl   $10
                   1076: 1035  00013A41    fe 08 effffff5fc                     callf   $8,_writec
                   1077: 1036  00013A48                                   #                      writes(" initial PSL = ");
                   1078: 1037  00013A48                                         .data   1
                   1079: 1038  000016e5 *                                L354:
                   1080: 1039  000016e5 *  20696E697469616C2050534C2            .ascii  " initial PSL = \0"
                   1081:                   03D2000
                   1082: 1040  000016f5 *                                       .text
                   1083: 1041  00013A48    dd 8f000016e5                        pushl   $L354
                   1084: 1042  00013A4E    fe 08 effffff5ef                     callf   $8,_writes
                   1085: 1043  00013A55                                   #                      write32h( init_psl );
                   1086: 1044  00013A55    dd effffff5e9                        pushl   _init_psl
                   1087: 1045  00013A5B    fe 08 effffff5e2                     callf   $8,_write32h
                   1088: 1046  00013A62                                   #                      writes(",  final PSL = ");
                   1089: 1047  00013A62                                         .data   1
                   1090: 1048  000016f5 *                                L355:
                   1091: 1049  000016f5 *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
                   1092:                   03D2000
                   1093: 1050  00001705 *                                       .text
                   1094: 1051  00013A62    dd 8f000016f5                        pushl   $L355
                   1095: 1052  00013A68    fe 08 effffff5d5                     callf   $8,_writes
                   1096: 1053  00013A6F                                   #                      write32h( psl_val );
                   1097: 1054  00013A6F    dd effffff5cf                        pushl   _psl_val
                   1098: 1055  00013A75    fe 08 effffff5c8                     callf   $8,_write32h
                   1099: 1056  00013A7C                                   #                      writes(",  expected PSL = ");
                   1100: 1057  00013A7C                                         .data   1
                   1101: 1058  00001705 *                                L356:
                   1102: 1059  00001705 *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
                   1103:                   0534C203D2000
                   1104: 1060  00001718 *                                       .text
                   1105: 1061  00013A7C    dd 8f00001705                        pushl   $L356
                   1106: 1062  00013A82    fe 08 effffff5bb                     callf   $8,_writes
                   1107: 1063  00013A89                                   #                      write32h( exp_psl );
                   1108: 1064  00013A89    dd effffff5b5                        pushl   _exp_psl
                   1109: 1065  00013A8F    fe 08 effffff5ae                     callf   $8,_write32h
                   1110: 1066  00013A96                                   #                      writes(" \n");
                   1111: 1067  00013A96                                         .data   1
                   1112: 1068  00001718 *                                L357:
                   1113: 1069  00001718 *  200A00                               .ascii  " \12\0"
                   1114: 1070  0000171b *                                       .text
                   1115: 1071  00013A96    dd 8f00001718                        pushl   $L357
                   1116: 1072  00013A9C    fe 08 effffff5a1                     callf   $8,_writes
                   1117: 1073  00013AA3                                   #                   }
                   1118: 1074  00013AA3                                   #                   if ( halt_flg )
                   1119: 1075  00013AA3                                  L346:
                   1120: 1076  00013AA3    5d effffff59b                        tstl    _halt_flg
                   1121: 1077  00013AA9    31 09                                jeql    L358
                   1122: 1078  00013AAB                                   #                      cmpf2_er_halt( BAD_PSL_HLT ); /* halt on the error    */
                   1123: 1079  00013AAB    dd 03                                pushl   $3
                   1124: 1080  00013AAD    fe 08 ef0000092e                     callf   $8,_cmpf2_er_halt
                   1125: 1081  00013AB4                                   #                   if ( loop_on_err ) 
                   1126: 1082  00013AB4                                  L358:
                   1127: 1083  00013AB4    5d effffff58a                        tstl    _loop_on_err
                   1128: 1084  00013ABA    31 0d                                jeql    L359
                   1129: 1085  00013ABC                                   #                   {
                   1130: 1086  00013ABC                                   #                      force_loop = TRUE;         /* set the force loop flag */
                   1131: 1087  00013ABC    0d 01 effffff581                     movl    $1,_force_loop
                   1132: 1088  00013AC3                                   #                      asm("jmp _cmpf2_4_lp1");   /* and loop                */
                   1133: 1089  00013AC3    71 effffffe3d                 jmp _cmpf2_4_lp1
                   1134: 1090  00013AC9                                   #                   }  /* end of loop-on-error    */
                   1135: 1091  00013AC9                                   #                }  /* end of compare error    */
                   1136: 1092  00013AC9                                  L359:
                   1137: 1093  00013AC9                                   #             } while( ++status_index < 3 );
                   1138: 1094  00013AC9                                  L345:
                   1139: 1095  00013AC9                                  L340:
                   1140: 1096  00013AC9    6d effffff575                        incl    _status_index
                   1141: 1097  00013ACF    0d effffff56f 50                     movl    _status_index,r0
                   1142: 1098  00013AD6    1d 50 03                             cmpl    r0,$3
                   1143: 1099  00013AD9    81 03 13 fe15                        jlss    L341
                   1144: 1100  00013ADE                                  L339:
                   1145: 1101  00013ADE                                   #         } while( (index2 < 10) && (index2 < max_ldf_1_index) );
                   1146: 1102  00013ADE                                  L337:
                   1147: 1103  00013ADE    1d effffff560 0a                     cmpl    _index2,$10
                   1148: 1104  00013AE5    81 10                                jgeq    L9996
                   1149: 1105  00013AE7    1d effffff557 effffff552             cmpl    _index2,_max_ldf_1_index
                   1150: 1106  00013AF2    81 03 13 fdda                        jlss    L338
                   1151: 1107  00013AF7                                  L9996:
                   1152: 1108  00013AF7                                  L336:
                   1153: 1109  00013AF7                                   #      } while( index++ < max_cmpf_1_index );
                   1154: 1110  00013AF7                                  L334:
                   1155: 1111  00013AF7    0d effffff547 50                     movl    _index,r0
                   1156: 1112  00013AFE    6d effffff540                        incl    _index
                   1157: 1113  00013B04    1d 50 effffff539                     cmpl    r0,_max_cmpf_1_index
                   1158: 1114  00013B0B    81 03 13 fd82                        jlss    L335
                   1159: 1115  00013B10                                  L333:
                   1160: 1116  00013B10                                   # }  /* end of subtest 4 */
                   1161: 1117  00013B10    40                                   ret#2
                   1162: 1118  00013B11                                         .set    L329,0x0
                   1163: 1119  00013B11                                  L331:
                   1164: 1120  00013B11    13 fd6b                              jbr     L332
                   1165: 1121  00013B14                                         .data
                   1166: 1122  00001458 *                                       .text
                   1167: 1123  00013B14                                         .align  1
                   1168: 1124  00013B14                                         .globl  _cmpf2_5
                   1169: 1125  00013B14                                  _cmpf2_5:
                   1170: 1126  00013B14    0000                                 .word   L360
                   1171: 1127  00013B16                                   #   
                   1172: 1128  00013B16                                   # 
                   1173: 1129  00013B16                                   # 
                   1174: 1130  00013B16                                   # /************************************************************************
                   1175: 1131  00013B16                                   # *
                   1176: 1132  00013B16                                   # *       SUBTEST 5 - Check for register corruption
                   1177: 1133  00013B16                                   # *
                   1178: 1134  00013B16                                   # ************************************************************************/
                   1179: 1135  00013B16                                   # cmpf2_5() 
                   1180: 1136  00013B16                                   # {
                   1181: 1137  00013B16    13 0210                              jbr     L362
                   1182: 1138  00013B19                                  L363:
                   1183: 1139  00013B19                                   #         force_loop = FALSE;                     /* clear force_loop flg */
                   1184: 1140  00013B19    4d effffff525                        clrl    _force_loop
                   1185: 1141  00013B1F                                   #         subtest = 5;
                   1186: 1142  00013B1F    0d 05 effffff51e                     movl    $5,_subtest
                   1187: 1143  00013B26                                   #         fill_reg_buf( load_regs );              /* get pattern for regs */
                   1188: 1144  00013B26    dd 8f00000000                        pushl   $_load_regs
                   1189: 1145  00013B2C    fe 08 effffff511                     callf   $8,_fill_reg_buf
                   1190: 1146  00013B33                                   #         index = 0;
                   1191: 1147  00013B33    4d effffff50b                        clrl    _index
                   1192: 1148  00013B39                                   #         do 
                   1193: 1149  00013B39                                  L367:
                   1194: 1150  00013B39                                   #         {
                   1195: 1151  00013B39                                   #              sgl_value_1  = cmpf_1_data[index].one;   /* data to load    */
                   1196: 1152  00013B39    5c 0c effffff504 50                  mull3   $12,_index,r0
                   1197: 1153  00013B41    0d e000000000 effffff4f8             movl    _cmpf_1_data(r0),_sgl_value_1
                   1198: 1154  00013B4C                                   #              sgl_value_2  = cmpf_1_data[index].two;   /* data to compare */
                   1199: 1155  00013B4C    5c 0c effffff4f1 50                  mull3   $12,_index,r0
                   1200: 1156  00013B54    0d e000000004 effffff4e5             movl    _cmpf_1_data+4(r0),_sgl_value_2
                   1201: 1157  00013B5F                                   # /*
                   1202: 1158  00013B5F                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                   1203: 1159  00013B5F                                   #  * The force loop flag is set after the first error.
                   1204: 1160  00013B5F                                   # */
                   1205: 1161  00013B5F                                   #              asm("_cmpf2_5_lp1:");
                   1206: 1162  00013B5F                                  _cmpf2_5_lp1:
                   1207: 1163  00013B5F                                   #              asm("ldf $0x40800000");            /* LOAD the accumulator  */
                   1208: 1164  00013B5F    06 8f40800000                 ldf $0x40800000
                   1209: 1165  00013B65                                   #              asm("loadr $0x1fff,_load_regs");   /* load regs 0 - 12       */
                   1210: 1166  00013B65    ab 891fff effffff4d6          loadr $0x1fff,_load_regs
                   1211: 1167  00013B6E                                   #              asm("cmpf2 _sgl_value_1,_sgl_value_2"); /* compare the data  */
                   1212: 1168  00013B6E    46 effffff4d0 effffff4cb      cmpf2 _sgl_value_1,_sgl_value_2
                   1213: 1169  00013B79                                   #              asm("storer $0x1fff,_store_regs"); /* store regs 0 - 12 */
                   1214: 1170  00013B79    bb 891fff effffff4c2          storer $0x1fff,_store_regs
                   1215: 1171  00013B82                                   #              asm("stf _sgl_st_acc");                /* save the acc           */
                   1216: 1172  00013B82    26 effffff4bc                 stf _sgl_st_acc
                   1217: 1173  00013B88                                   #          if( force_loop )                   /* loop?                    */
                   1218: 1174  00013B88    5d effffff4b6                        tstl    _force_loop
                   1219: 1175  00013B8E    31 02                                jeql    L368
                   1220: 1176  00013B90                                   #                    asm("brb _cmpf2_5_lp1");;    /* run the loop again       */
                   1221: 1177  00013B90    11 cd                         brb _cmpf2_5_lp1
                   1222: 1178  00013B92                                  L368:
                   1223: 1179  00013B92                                   # /*
                   1224: 1180  00013B92                                   #  * Now compare the stored register values to those that were loaded
                   1225: 1181  00013B92                                   # */
                   1226: 1182  00013B92                                   #              index2 = 0;
                   1227: 1183  00013B92    4d effffff4ac                        clrl    _index2
                   1228: 1184  00013B98                                   #              while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
                   1229: 1185  00013B98                                  L369:
                   1230: 1186  00013B98    0d effffff4a6 50                     movl    _index2,r0
                   1231: 1187  00013B9F    0d effffff49f 51                     movl    _index2,r1
                   1232: 1188  00013BA6    1d 40effffff497                      cmpl    _load_regs[r0],_store_regs[r1]
                   1233:                   41effffff491 
                   1234: 1189  00013BB3    21 11                                jneq    L370
                   1235: 1190  00013BB5    1d effffff489 0d                     cmpl    _index2,$13
                   1236: 1191  00013BBC    81 08                                jgeq    L370
                   1237: 1192  00013BBE                                   #                   index2++;                     /* check reg values */
                   1238: 1193  00013BBE    6d effffff480                        incl    _index2
                   1239: 1194  00013BC4    11 d2                                jbr     L369
                   1240: 1195  00013BC6                                  L370:
                   1241: 1196  00013BC6                                   #             
                   1242: 1197  00013BC6                                   #              if( index2 < 13 ) {                /* error if index2 < 13 */
                   1243: 1198  00013BC6    1d effffff478 0d                     cmpl    _index2,$13
                   1244: 1199  00013BCD    91 03 13 013d                        jgeq    L371
                   1245: 1200  00013BD2                                   #                   errcnt++;                     /* bump the error count */
                   1246: 1201  00013BD2    6d effffff46c                        incl    _errcnt
                   1247: 1202  00013BD8                                   #                   if ( prt_error ) {
                   1248: 1203  00013BD8    5d effffff466                        tstl    _prt_error
                   1249: 1204  00013BDE    21 03 13 0106                        jeql    L372
                   1250: 1205  00013BE3                                   #                        writes(" \n");      /* start a new print line   */
                   1251: 1206  00013BE3                                         .data   1
                   1252: 1207  0000171b *                                L373:
                   1253: 1208  0000171b *  200A00                               .ascii  " \12\0"
                   1254: 1209  0000171e *                                       .text
                   1255: 1210  00013BE3    dd 8f0000171b                        pushl   $L373
                   1256: 1211  00013BE9    fe 08 effffff454                     callf   $8,_writes
                   1257: 1212  00013BF0                                   #                        writes("cycle: ");
                   1258: 1213  00013BF0                                         .data   1
                   1259: 1214  0000171e *                                L374:
                   1260: 1215  0000171e *  6379636C653A2000                     .ascii  "cycle: \0"
                   1261: 1216  00001726 *                                       .text
                   1262: 1217  00013BF0    dd 8f0000171e                        pushl   $L374
                   1263: 1218  00013BF6    fe 08 effffff447                     callf   $8,_writes
                   1264: 1219  00013BFD                                   #                        writed( cycle );
                   1265: 1220  00013BFD    dd effffff441                        pushl   _cycle
                   1266: 1221  00013C03    fe 08 effffff43a                     callf   $8,_writed
                   1267: 1222  00013C0A                                   #                        writes(", CMPF2 test ");
                   1268: 1223  00013C0A                                         .data   1
                   1269: 1224  00001726 *                                L375:
                   1270: 1225  00001726 *  2C20434D50463220746573742            .ascii  ", CMPF2 test \0"
                   1271:                   000
                   1272: 1226  00001734 *                                       .text
                   1273: 1227  00013C0A    dd 8f00001726                        pushl   $L375
                   1274: 1228  00013C10    fe 08 effffff42d                     callf   $8,_writes
                   1275: 1229  00013C17                                   #                    writed( test_no );
                   1276: 1230  00013C17    dd effffff427                        pushl   _test_no
                   1277: 1231  00013C1D    fe 08 effffff420                     callf   $8,_writed
                   1278: 1232  00013C24                                   #     writes(", subtest 5 - A REGISTER WAS MODIFIED\n");
                   1279: 1233  00013C24                                         .data   1
                   1280: 1234  00001734 *                                L376:
                   1281: 1235  00001734 *  2C20737562746573742035202            .ascii  ", subtest 5 - A REGISTER WAS MODIFIED\12\0"
                   1282:                   D204120524547495354455220
                   1283:                   574153204D4F4449464945440
                   1284:                   A00
                   1285: 1236  0000175b *                                       .text
                   1286: 1237  00013C24    dd 8f00001734                        pushl   $L376
                   1287: 1238  00013C2A    fe 08 effffff413                     callf   $8,_writes
                   1288: 1239  00013C31                                   #                        print_cmpf2_data();
                   1289: 1240  00013C31    fe 04 ef0000076e                     callf   $4,_print_cmpf2_data
                   1290: 1241  00013C38                                   #                        writec('\n');
                   1291: 1242  00013C38    dd 0a                                pushl   $10
                   1292: 1243  00013C3A    fe 08 effffff403                     callf   $8,_writec
                   1293: 1244  00013C41                                   #                    writes("   final Acc = ");
                   1294: 1245  00013C41                                         .data   1
                   1295: 1246  0000175b *                                L377:
                   1296: 1247  0000175b *  20202066696E616C204163632            .ascii  "   final Acc = \0"
                   1297:                   03D2000
                   1298: 1248  0000176b *                                       .text
                   1299: 1249  00013C41    dd 8f0000175b                        pushl   $L377
                   1300: 1250  00013C47    fe 08 effffff3f6                     callf   $8,_writes
                   1301: 1251  00013C4E                                   #                        write32h( sgl_st_acc );
                   1302: 1252  00013C4E    dd effffff3f0                        pushl   _sgl_st_acc
                   1303: 1253  00013C54    fe 08 effffff3e9                     callf   $8,_write32h
                   1304: 1254  00013C5B                                   #                        writes(",  operand 2 = ");
                   1305: 1255  00013C5B                                         .data   1
                   1306: 1256  0000176b *                                L378:
                   1307: 1257  0000176b *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
                   1308:                   03D2000
                   1309: 1258  0000177b *                                       .text
                   1310: 1259  00013C5B    dd 8f0000176b                        pushl   $L378
                   1311: 1260  00013C61    fe 08 effffff3dc                     callf   $8,_writes
                   1312: 1261  00013C68                                   #                        write32h( sgl_value_2 );
                   1313: 1262  00013C68    dd effffff3d6                        pushl   _sgl_value_2
                   1314: 1263  00013C6E    fe 08 effffff3cf                     callf   $8,_write32h
                   1315: 1264  00013C75                                   #                        writec('\n');
                   1316: 1265  00013C75    dd 0a                                pushl   $10
                   1317: 1266  00013C77    fe 08 effffff3c6                     callf   $8,_writec
                   1318: 1267  00013C7E                                   #                        writes("register ");
                   1319: 1268  00013C7E                                         .data   1
                   1320: 1269  0000177b *                                L379:
                   1321: 1270  0000177b *  72656769737465722000                 .ascii  "register \0"
                   1322: 1271  00001785 *                                       .text
                   1323: 1272  00013C7E    dd 8f0000177b                        pushl   $L379
                   1324: 1273  00013C84    fe 08 effffff3b9                     callf   $8,_writes
                   1325: 1274  00013C8B                                   #                        writed( index2 );
                   1326: 1275  00013C8B    dd effffff3b3                        pushl   _index2
                   1327: 1276  00013C91    fe 08 effffff3ac                     callf   $8,_writed
                   1328: 1277  00013C98                                   #                        writes(" = ");
                   1329: 1278  00013C98                                         .data   1
                   1330: 1279  00001785 *                                L380:
                   1331: 1280  00001785 *  203D2000                             .ascii  " = \0"
                   1332: 1281  00001789 *                                       .text
                   1333: 1282  00013C98    dd 8f00001785                        pushl   $L380
                   1334: 1283  00013C9E    fe 08 effffff39f                     callf   $8,_writes
                   1335: 1284  00013CA5                                   #                        write32h( store_regs[ index2 ] );
                   1336: 1285  00013CA5    0d effffff399 50                     movl    _index2,r0
                   1337: 1286  00013CAC    dd 40effffff391                      pushl   _store_regs[r0]
                   1338: 1287  00013CB3    fe 08 effffff38a                     callf   $8,_write32h
                   1339: 1288  00013CBA                                   #                        writes(",  should be = ");
                   1340: 1289  00013CBA                                         .data   1
                   1341: 1290  00001789 *                                L381:
                   1342: 1291  00001789 *  2C202073686F756C642062652            .ascii  ",  should be = \0"
                   1343:                   03D2000
                   1344: 1292  00001799 *                                       .text
                   1345: 1293  00013CBA    dd 8f00001789                        pushl   $L381
                   1346: 1294  00013CC0    fe 08 effffff37d                     callf   $8,_writes
                   1347: 1295  00013CC7                                   #                        write32h( load_regs[ index2 ] );
                   1348: 1296  00013CC7    0d effffff377 50                     movl    _index2,r0
                   1349: 1297  00013CCE    dd 40effffff36f                      pushl   _load_regs[r0]
                   1350: 1298  00013CD5    fe 08 effffff368                     callf   $8,_write32h
                   1351: 1299  00013CDC                                   #                        writes("\n");
                   1352: 1300  00013CDC                                         .data   1
                   1353: 1301  00001799 *                                L382:
                   1354: 1302  00001799 *  0A00                                 .ascii  "\12\0"
                   1355: 1303  0000179b *                                       .text
                   1356: 1304  00013CDC    dd 8f00001799                        pushl   $L382
                   1357: 1305  00013CE2    fe 08 effffff35b                     callf   $8,_writes
                   1358: 1306  00013CE9                                   #                   }
                   1359: 1307  00013CE9                                   #                   if ( halt_flg )
                   1360: 1308  00013CE9                                  L372:
                   1361: 1309  00013CE9    5d effffff355                        tstl    _halt_flg
                   1362: 1310  00013CEF    31 09                                jeql    L383
                   1363: 1311  00013CF1                                   #                        cmpf2_er_halt( BAD_REG_HLT ); /* halt on the error  */
                   1364: 1312  00013CF1    dd 02                                pushl   $2
                   1365: 1313  00013CF3    fe 08 ef000006e8                     callf   $8,_cmpf2_er_halt
                   1366: 1314  00013CFA                                   #                   if ( loop_on_err ) 
                   1367: 1315  00013CFA                                  L383:
                   1368: 1316  00013CFA    5d effffff344                        tstl    _loop_on_err
                   1369: 1317  00013D00    31 0d                                jeql    L384
                   1370: 1318  00013D02                                   #                   {
                   1371: 1319  00013D02                                   #                      force_loop = TRUE;         /* set the force loop flag */
                   1372: 1320  00013D02    0d 01 effffff33b                     movl    $1,_force_loop
                   1373: 1321  00013D09                                   #                      asm("jmp _cmpf2_5_lp1");   /* and loop                */
                   1374: 1322  00013D09    71 effffffe50                 jmp _cmpf2_5_lp1
                   1375: 1323  00013D0F                                   #                   };   /* end of loop-on-error    */
                   1376: 1324  00013D0F                                  L384:
                   1377: 1325  00013D0F                                   #              }    /* end of compare error    */
                   1378: 1326  00013D0F                                   #         } while( index++ < max_cmpf_1_index );
                   1379: 1327  00013D0F                                  L371:
                   1380: 1328  00013D0F                                  L366:
                   1381: 1329  00013D0F    0d effffff32f 50                     movl    _index,r0
                   1382: 1330  00013D16    6d effffff328                        incl    _index
                   1383: 1331  00013D1C    1d 50 effffff321                     cmpl    r0,_max_cmpf_1_index
                   1384: 1332  00013D23    81 03 13 fe11                        jlss    L367
                   1385: 1333  00013D28                                  L365:
                   1386: 1334  00013D28                                   # }  /* end of subtest 5 */
                   1387: 1335  00013D28    40                                   ret#2
                   1388: 1336  00013D29                                         .set    L360,0x0
                   1389: 1337  00013D29                                  L362:
                   1390: 1338  00013D29    13 fded                              jbr     L363
                   1391: 1339  00013D2C                                         .data
                   1392: 1340  00001458 *                                       .text
                   1393: 1341  00013D2C                                         .align  1
                   1394: 1342  00013D2C                                         .globl  _cmpf2_6
                   1395: 1343  00013D2C                                  _cmpf2_6:
                   1396: 1344  00013D2C    0000                                 .word   L385
                   1397: 1345  00013D2E                                   #   
                   1398: 1346  00013D2E                                   # 
                   1399: 1347  00013D2E                                   # 
                   1400: 1348  00013D2E                                   # /****************************************************************************
                   1401: 1349  00013D2E                                   # *
                   1402: 1350  00013D2E                                   # *               SUBTEST 6 - CMPF2 test  Accumulator stability test
                   1403: 1351  00013D2E                                   # *
                   1404: 1352  00013D2E                                   # ****************************************************************************/
                   1405: 1353  00013D2E                                   # cmpf2_6() 
                   1406: 1354  00013D2E                                   # {
                   1407: 1355  00013D2E    13 01e7                              jbr     L387
                   1408: 1356  00013D31                                  L388:
                   1409: 1357  00013D31                                   #      force_loop = FALSE;
                   1410: 1358  00013D31    4d effffff30d                        clrl    _force_loop
                   1411: 1359  00013D37                                   #      subtest = 6;
                   1412: 1360  00013D37    0d 06 effffff306                     movl    $6,_subtest
                   1413: 1361  00013D3E                                   #      index = 0;
                   1414: 1362  00013D3E    4d effffff300                        clrl    _index
                   1415: 1363  00013D44                                   #      do 
                   1416: 1364  00013D44                                  L391:
                   1417: 1365  00013D44                                   #      {
                   1418: 1366  00013D44                                   #         sgl_value_1  = cmpf_1_data[index].one; /* get the data operands  */
                   1419: 1367  00013D44    5c 0c effffff2f9 50                  mull3   $12,_index,r0
                   1420: 1368  00013D4C    0d e000000000 effffff2ed             movl    _cmpf_1_data(r0),_sgl_value_1
                   1421: 1369  00013D57                                   #         sgl_value_2  = cmpf_1_data[index].two;
                   1422: 1370  00013D57    5c 0c effffff2e6 50                  mull3   $12,_index,r0
                   1423: 1371  00013D5F    0d e000000004 effffff2da             movl    _cmpf_1_data+4(r0),_sgl_value_2
                   1424: 1372  00013D6A                                   #         index2 = 0;                             /* clear Acc. data index */
                   1425: 1373  00013D6A    4d effffff2d4                        clrl    _index2
                   1426: 1374  00013D70                                   #         do
                   1427: 1375  00013D70                                  L394:
                   1428: 1376  00013D70                                   #         {
                   1429: 1377  00013D70                                   #            sgl_ld_acc   = ldf_1_data[index2].ld; /* get the Accumulator data */
                   1430: 1378  00013D70    0d effffff2ce 50                     movl    _index2,r0
                   1431: 1379  00013D77    48 03 50 50                          shll    $3,r0,r0
                   1432: 1380  00013D7B    0d e000000000 effffff2be             movl    _ldf_1_data(r0),_sgl_ld_acc
                   1433: 1381  00013D86                                   #            sgl_expected = ldf_1_data[index2++].exp; /* get expected Acc. */
                   1434: 1382  00013D86    0d effffff2b8 50                     movl    _index2,r0
                   1435: 1383  00013D8D    48 03 50 50                          shll    $3,r0,r0
                   1436: 1384  00013D91    0d e000000004 effffff2a8             movl    _ldf_1_data+4(r0),_sgl_expected
                   1437: 1385  00013D9C    6d effffff2a2                        incl    _index2
                   1438: 1386  00013DA2                                   # /*
                   1439: 1387  00013DA2                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                   1440: 1388  00013DA2                                   #  * The force loop flag is set after the first error.
                   1441: 1389  00013DA2                                   # */
                   1442: 1390  00013DA2                                   #                asm("_cmpf2_6_lp1:");
                   1443: 1391  00013DA2                                  _cmpf2_6_lp1:
                   1444: 1392  00013DA2                                   #                asm("movl _sgl_ld_acc,r3");      /* get the accmulator data  */
                   1445: 1393  00013DA2    0d effffff29c 53              movl _sgl_ld_acc,r3
                   1446: 1394  00013DA9                                   #                asm("ldf r3");                   /* load the accumulator     */
                   1447: 1395  00013DA9    06 53                         ldf r3
                   1448: 1396  00013DAB                                   #                asm("cmpf2 _sgl_value_1,_sgl_value_2");/* compare the operands */
                   1449: 1397  00013DAB    46 effffff293 effffff28e      cmpf2 _sgl_value_1,_sgl_value_2
                   1450: 1398  00013DB6                                   #                asm("stf _sgl_st_acc");           /* store the accumulator    */
                   1451: 1399  00013DB6    26 effffff288                 stf _sgl_st_acc
                   1452: 1400  00013DBC                                   #                if( force_loop )                 /* loop?                    */
                   1453: 1401  00013DBC    5d effffff282                        tstl    _force_loop
                   1454: 1402  00013DC2    31 02                                jeql    L395
                   1455: 1403  00013DC4                                   #                    asm("brb _cmpf2_6_lp1");;    /* run the loop again       */
                   1456: 1404  00013DC4    11 dc                         brb _cmpf2_6_lp1
                   1457: 1405  00013DC6                                  L395:
                   1458: 1406  00013DC6                                   #                if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                   1459: 1407  00013DC6    1d effffff278 effffff273             cmpl    _sgl_st_acc,_sgl_expected
                   1460: 1408  00013DD1    21 03 13 010f                        jeql    L396
                   1461: 1409  00013DD6                                   #                   errcnt++;                     /* bump the error count     */
                   1462: 1410  00013DD6    6d effffff268                        incl    _errcnt
                   1463: 1411  00013DDC                                   #                   if ( prt_error ) {
                   1464: 1412  00013DDC    5d effffff262                        tstl    _prt_error
                   1465: 1413  00013DE2    21 03 13 00d8                        jeql    L397
                   1466: 1414  00013DE7                                   #                      writes(" \n");         /* start a new print line   */
                   1467: 1415  00013DE7                                         .data   1
                   1468: 1416  0000179b *                                L398:
                   1469: 1417  0000179b *  200A00                               .ascii  " \12\0"
                   1470: 1418  0000179e *                                       .text
                   1471: 1419  00013DE7    dd 8f0000179b                        pushl   $L398
                   1472: 1420  00013DED    fe 08 effffff250                     callf   $8,_writes
                   1473: 1421  00013DF4                                   #                      writes("cycle: ");
                   1474: 1422  00013DF4                                         .data   1
                   1475: 1423  0000179e *                                L399:
                   1476: 1424  0000179e *  6379636C653A2000                     .ascii  "cycle: \0"
                   1477: 1425  000017a6 *                                       .text
                   1478: 1426  00013DF4    dd 8f0000179e                        pushl   $L399
                   1479: 1427  00013DFA    fe 08 effffff243                     callf   $8,_writes
                   1480: 1428  00013E01                                   #                      writed( cycle );
                   1481: 1429  00013E01    dd effffff23d                        pushl   _cycle
                   1482: 1430  00013E07    fe 08 effffff236                     callf   $8,_writed
                   1483: 1431  00013E0E                                   #                      writes("  CMPF2 test ");
                   1484: 1432  00013E0E                                         .data   1
                   1485: 1433  000017a6 *                                L400:
                   1486: 1434  000017a6 *  2020434D50463220746573742            .ascii  "  CMPF2 test \0"
                   1487:                   000
                   1488: 1435  000017b4 *                                       .text
                   1489: 1436  00013E0E    dd 8f000017a6                        pushl   $L400
                   1490: 1437  00013E14    fe 08 effffff229                     callf   $8,_writes
                   1491: 1438  00013E1B                                   #                  writed( test_no );
                   1492: 1439  00013E1B    dd effffff223                        pushl   _test_no
                   1493: 1440  00013E21    fe 08 effffff21c                     callf   $8,_writed
                   1494: 1441  00013E28                                   #     writes(", subtest 6 (Acc. Corr.) - THE ACC WAS MODIFIED\n");
                   1495: 1442  00013E28                                         .data   1
                   1496: 1443  000017b4 *                                L401:
                   1497: 1444  000017b4 *  2C20737562746573742036202            .ascii  ", subtest 6 (Acc. Corr.) - THE ACC WAS MODIFIED\12\0"
                   1498:                   84163632E20436F72722E2920
                   1499:                   2D20544845204143432057415
                   1500:                   3204D4F4449464945440A00
                   1501: 1445  000017e5 *                                       .text
                   1502: 1446  00013E28    dd 8f000017b4                        pushl   $L401
                   1503: 1447  00013E2E    fe 08 effffff20f                     callf   $8,_writes
                   1504: 1448  00013E35                                   #                      print_cmpf2_data();
                   1505: 1449  00013E35    fe 04 ef0000056a                     callf   $4,_print_cmpf2_data
                   1506: 1450  00013E3C                                   #                      writes(",  index = ");
                   1507: 1451  00013E3C                                         .data   1
                   1508: 1452  000017e5 *                                L402:
                   1509: 1453  000017e5 *  2C2020696E646578203D2000             .ascii  ",  index = \0"
                   1510: 1454  000017f1 *                                       .text
                   1511: 1455  00013E3C    dd 8f000017e5                        pushl   $L402
                   1512: 1456  00013E42    fe 08 effffff1fb                     callf   $8,_writes
                   1513: 1457  00013E49                                   #                  writed( index );
                   1514: 1458  00013E49    dd effffff1f5                        pushl   _index
                   1515: 1459  00013E4F    fe 08 effffff1ee                     callf   $8,_writed
                   1516: 1460  00013E56                                   #                  writec('\n');
                   1517: 1461  00013E56    dd 0a                                pushl   $10
                   1518: 1462  00013E58    fe 08 effffff1e5                     callf   $8,_writec
                   1519: 1463  00013E5F                                   #                      writes("   final Acc = ");
                   1520: 1464  00013E5F                                         .data   1
                   1521: 1465  000017f1 *                                L403:
                   1522: 1466  000017f1 *  20202066696E616C204163632            .ascii  "   final Acc = \0"
                   1523:                   03D2000
                   1524: 1467  00001801 *                                       .text
                   1525: 1468  00013E5F    dd 8f000017f1                        pushl   $L403
                   1526: 1469  00013E65    fe 08 effffff1d8                     callf   $8,_writes
                   1527: 1470  00013E6C                                   #                      write32h( sgl_st_acc );
                   1528: 1471  00013E6C    dd effffff1d2                        pushl   _sgl_st_acc
                   1529: 1472  00013E72    fe 08 effffff1cb                     callf   $8,_write32h
                   1530: 1473  00013E79                                   #                      writes(",  operand 2 = ");
                   1531: 1474  00013E79                                         .data   1
                   1532: 1475  00001801 *                                L404:
                   1533: 1476  00001801 *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
                   1534:                   03D2000
                   1535: 1477  00001811 *                                       .text
                   1536: 1478  00013E79    dd 8f00001801                        pushl   $L404
                   1537: 1479  00013E7F    fe 08 effffff1be                     callf   $8,_writes
                   1538: 1480  00013E86                                   #                      write32h( sgl_value_2 );
                   1539: 1481  00013E86    dd effffff1b8                        pushl   _sgl_value_2
                   1540: 1482  00013E8C    fe 08 effffff1b1                     callf   $8,_write32h
                   1541: 1483  00013E93                                   #                      writec('\n');
                   1542: 1484  00013E93    dd 0a                                pushl   $10
                   1543: 1485  00013E95    fe 08 effffff1a8                     callf   $8,_writec
                   1544: 1486  00013E9C                                   #                      writes("expected Acc = ");
                   1545: 1487  00013E9C                                         .data   1
                   1546: 1488  00001811 *                                L405:
                   1547: 1489  00001811 *  6578706563746564204163632            .ascii  "expected Acc = \0"
                   1548:                   03D2000
                   1549: 1490  00001821 *                                       .text
                   1550: 1491  00013E9C    dd 8f00001811                        pushl   $L405
                   1551: 1492  00013EA2    fe 08 effffff19b                     callf   $8,_writes
                   1552: 1493  00013EA9                                   #                      write32h( sgl_expected );
                   1553: 1494  00013EA9    dd effffff195                        pushl   _sgl_expected
                   1554: 1495  00013EAF    fe 08 effffff18e                     callf   $8,_write32h
                   1555: 1496  00013EB6                                   #                      writec('\n');
                   1556: 1497  00013EB6    dd 0a                                pushl   $10
                   1557: 1498  00013EB8    fe 08 effffff185                     callf   $8,_writec
                   1558: 1499  00013EBF                                   #                   }
                   1559: 1500  00013EBF                                   #                   if ( halt_flg )                   /* halt on error?      */
                   1560: 1501  00013EBF                                  L397:
                   1561: 1502  00013EBF    5d effffff17f                        tstl    _halt_flg
                   1562: 1503  00013EC5    31 09                                jeql    L406
                   1563: 1504  00013EC7                                   #                      cmpf2_er_halt( BAD_ACC_HLT );
                   1564: 1505  00013EC7    dd 01                                pushl   $1
                   1565: 1506  00013EC9    fe 08 ef00000512                     callf   $8,_cmpf2_er_halt
                   1566: 1507  00013ED0                                   #                   if ( loop_on_err ) 
                   1567: 1508  00013ED0                                  L406:
                   1568: 1509  00013ED0    5d effffff16e                        tstl    _loop_on_err
                   1569: 1510  00013ED6    31 0d                                jeql    L407
                   1570: 1511  00013ED8                                   #                   {
                   1571: 1512  00013ED8                                   #                      force_loop = TRUE;         /* set the force loop flag */
                   1572: 1513  00013ED8    0d 01 effffff165                     movl    $1,_force_loop
                   1573: 1514  00013EDF                                   #                      asm("jmp _cmpf2_6_lp1");   /* and loop                */
                   1574: 1515  00013EDF    71 effffffebd                 jmp _cmpf2_6_lp1
                   1575: 1516  00013EE5                                   #                   };   /* end of loop-on-error    */
                   1576: 1517  00013EE5                                  L407:
                   1577: 1518  00013EE5                                   #                }   /* end of compare error    */
                   1578: 1519  00013EE5                                   #         } while( (index2 < 10) && (index2 < max_ldf_1_index) );
                   1579: 1520  00013EE5                                  L396:
                   1580: 1521  00013EE5                                  L393:
                   1581: 1522  00013EE5    1d effffff159 0a                     cmpl    _index2,$10
                   1582: 1523  00013EEC    81 10                                jgeq    L9995
                   1583: 1524  00013EEE    1d effffff150 effffff14b             cmpl    _index2,_max_ldf_1_index
                   1584: 1525  00013EF9    81 03 13 fe72                        jlss    L394
                   1585: 1526  00013EFE                                  L9995:
                   1586: 1527  00013EFE                                  L392:
                   1587: 1528  00013EFE                                   #      } while( index++ < max_cmpf_1_index );
                   1588: 1529  00013EFE                                  L390:
                   1589: 1530  00013EFE    0d effffff140 50                     movl    _index,r0
                   1590: 1531  00013F05    6d effffff139                        incl    _index
                   1591: 1532  00013F0B    1d 50 effffff132                     cmpl    r0,_max_cmpf_1_index
                   1592: 1533  00013F12    81 03 13 fe2d                        jlss    L391
                   1593: 1534  00013F17                                  L389:
                   1594: 1535  00013F17                                   # }  /* end of subtest 6 */
                   1595: 1536  00013F17    40                                   ret#2
                   1596: 1537  00013F18                                         .set    L385,0x0
                   1597: 1538  00013F18                                  L387:
                   1598: 1539  00013F18    13 fe16                              jbr     L388
                   1599: 1540  00013F1B                                         .data
                   1600: 1541  00001458 *                                       .text
                   1601: 1542  00013F1B    00                                   .align  1
                   1602: 1543  00013F1C                                         .globl  _cmpf2_7
                   1603: 1544  00013F1C                                  _cmpf2_7:
                   1604: 1545  00013F1C    0000                                 .word   L408
                   1605: 1546  00013F1E                                   #   
                   1606: 1547  00013F1E                                   # 
                   1607: 1548  00013F1E                                   # 
                   1608: 1549  00013F1E                                   # /****************************************************************************
                   1609: 1550  00013F1E                                   # *
                   1610: 1551  00013F1E                                   # *               SUBTEST 7 - CMPF2 test  - piped entry
                   1611: 1552  00013F1E                                   # *
                   1612: 1553  00013F1E                                   # ****************************************************************************/
                   1613: 1554  00013F1E                                   # cmpf2_7()
                   1614: 1555  00013F1E                                   # {
                   1615: 1556  00013F1E    13 028e                              jbr     L410
                   1616: 1557  00013F21                                  L411:
                   1617: 1558  00013F21                                   #      force_loop = FALSE;
                   1618: 1559  00013F21    4d effffff11d                        clrl    _force_loop
                   1619: 1560  00013F27                                   #      subtest = 7;
                   1620: 1561  00013F27    0d 07 effffff116                     movl    $7,_subtest
                   1621: 1562  00013F2E                                   #      index = 0;
                   1622: 1563  00013F2E    4d effffff110                        clrl    _index
                   1623: 1564  00013F34                                   #      do 
                   1624: 1565  00013F34                                  L414:
                   1625: 1566  00013F34                                   #      {
                   1626: 1567  00013F34                                   #         sgl_value_1  = cmpf_1_data[index].one; /* get the data operands  */
                   1627: 1568  00013F34    5c 0c effffff109 50                  mull3   $12,_index,r0
                   1628: 1569  00013F3C    0d e000000000 effffff0fd             movl    _cmpf_1_data(r0),_sgl_value_1
                   1629: 1570  00013F47                                   #         sgl_value_2  = cmpf_1_data[index].two;
                   1630: 1571  00013F47    5c 0c effffff0f6 50                  mull3   $12,_index,r0
                   1631: 1572  00013F4F    0d e000000004 effffff0ea             movl    _cmpf_1_data+4(r0),_sgl_value_2
                   1632: 1573  00013F5A                                   #         sgl_expected = cmpf_1_data[index].flag; /* get expected results */
                   1633: 1574  00013F5A    5c 0c effffff0e3 50                  mull3   $12,_index,r0
                   1634: 1575  00013F62    0d e000000008 effffff0d7             movl    _cmpf_1_data+8(r0),_sgl_expected
                   1635: 1576  00013F6D                                   #         index2 = 0;                             /* clear Acc. data index */
                   1636: 1577  00013F6D    4d effffff0d1                        clrl    _index2
                   1637: 1578  00013F73                                   #         do
                   1638: 1579  00013F73                                  L417:
                   1639: 1580  00013F73                                   #         {
                   1640: 1581  00013F73                                   #            sgl_ld_acc = ldf_1_data[index2++].ld; /* get the Accumulator data */
                   1641: 1582  00013F73    0d effffff0cb 50                     movl    _index2,r0
                   1642: 1583  00013F7A    48 03 50 50                          shll    $3,r0,r0
                   1643: 1584  00013F7E    0d e000000000 effffff0bb             movl    _ldf_1_data(r0),_sgl_ld_acc
                   1644: 1585  00013F89    6d effffff0b5                        incl    _index2
                   1645: 1586  00013F8F                                   #            status_index = 0;                     /* clear the status index */
                   1646: 1587  00013F8F    4d effffff0af                        clrl    _status_index
                   1647: 1588  00013F95                                   #            do
                   1648: 1589  00013F95                                  L420:
                   1649: 1590  00013F95                                   #            {
                   1650: 1591  00013F95                                   #                sgl_dummy1 = status_array[status_index]; /* array = +, -, 0  */
                   1651: 1592  00013F95    0d effffff0a9 50                     movl    _status_index,r0
                   1652: 1593  00013F9C    0d 40effffff0a1                      movl    _status_array[r0],_sgl_dummy1
                   1653:                   effffff09c 
                   1654: 1594  00013FA8                                   # /*
                   1655: 1595  00013FA8                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                   1656: 1596  00013FA8                                   #  * The force loop flag is set after the first error.
                   1657: 1597  00013FA8                                   # */
                   1658: 1598  00013FA8                                   #                asm("_cmpf2_7_lp1:");
                   1659: 1599  00013FA8                                  _cmpf2_7_lp1:
                   1660: 1600  00013FA8                                   #                asm("movl $0,r0");               /* zero the reg             */
                   1661: 1601  00013FA8    0d 00 50                      movl $0,r0
                   1662: 1602  00013FAB                                   #                asm("ldf r0");                   /* load a zero in the acc   */
                   1663: 1603  00013FAB    06 50                         ldf r0
                   1664: 1604  00013FAD                                   #                asm("addf _sgl_ld_acc");         /* add initial data to acc  */
                   1665: 1605  00013FAD    c6 effffff091                 addf _sgl_ld_acc
                   1666: 1606  00013FB3                                   #                asm("tstl _sgl_dummy1");         /* generate initial status  */
                   1667: 1607  00013FB3    5d effffff08b                 tstl _sgl_dummy1
                   1668: 1608  00013FB9                                   #                asm("movpsl _init_psl");         /* save the initial status  */
                   1669: 1609  00013FB9    cd effffff085                 movpsl _init_psl
                   1670: 1610  00013FBF                                   #                asm("cmpf2 _sgl_value_1,_sgl_value_2");  /* compare the data */
                   1671: 1611  00013FBF    46 effffff07f effffff07a      cmpf2 _sgl_value_1,_sgl_value_2
                   1672: 1612  00013FCA                                   #            asm("movpsl _psl_val");          /* save the final status    */
                   1673: 1613  00013FCA    cd effffff074                 movpsl _psl_val
                   1674: 1614  00013FD0                                   #                asm("stf _sgl_st_acc");              /* save the acc             */
                   1675: 1615  00013FD0    26 effffff06e                 stf _sgl_st_acc
                   1676: 1616  00013FD6                                   #                if( force_loop )                 /* loop?                    */
                   1677: 1617  00013FD6    5d effffff068                        tstl    _force_loop
                   1678: 1618  00013FDC    31 02                                jeql    L421
                   1679: 1619  00013FDE                                   #                    asm("brb _cmpf2_7_lp1");;    /* run the loop again       */
                   1680: 1620  00013FDE    11 c8                         brb _cmpf2_7_lp1
                   1681: 1621  00013FE0                                  L421:
                   1682: 1622  00013FE0                                   #                exp_psl = init_psl;              /* get the initial PSL      */
                   1683: 1623  00013FE0    0d effffff05e effffff059             movl    _init_psl,_exp_psl
                   1684: 1624  00013FEB                                   #                exp_psl &= 0xfffffff3;           /* clear ZERO, NEGATIVE     */
                   1685: 1625  00013FEB    ac 88f3 effffff051                   andl2   $-13,_exp_psl
                   1686: 1626  00013FF3                                   #                if( sgl_expected == ZERO )
                   1687: 1627  00013FF3    1d effffff04b 04                     cmpl    _sgl_expected,$4
                   1688: 1628  00013FFA    21 07                                jneq    L422
                   1689: 1629  00013FFC                                   #                    exp_psl |= PSL_Z;            /* expect the ZERO bit set  */
                   1690: 1630  00013FFC    8c 04 effffff041                     orl2    $4,_exp_psl
                   1691: 1631  00014003                                   #                if( sgl_expected == NEGATIVE )
                   1692: 1632  00014003                                  L422:
                   1693: 1633  00014003    1d effffff03b 08                     cmpl    _sgl_expected,$8
                   1694: 1634  0001400A    21 07                                jneq    L423
                   1695: 1635  0001400C                                   #                    exp_psl |= PSL_N;            /* expect the NEG bit set   */
                   1696: 1636  0001400C    8c 08 effffff031                     orl2    $8,_exp_psl
                   1697: 1637  00014013                                   #                if( psl_val != exp_psl )         /* COMPARE the values       */
                   1698: 1638  00014013                                  L423:
                   1699: 1639  00014013    1d effffff02b effffff026             cmpl    _psl_val,_exp_psl
                   1700: 1640  0001401E    21 03 13 0144                        jeql    L424
                   1701: 1641  00014023                                   #                {
                   1702: 1642  00014023                                   #                   errcnt++;                     /* bump the error count     */
                   1703: 1643  00014023    6d effffff01b                        incl    _errcnt
                   1704: 1644  00014029                                   #                   if ( prt_error ) {
                   1705: 1645  00014029    5d effffff015                        tstl    _prt_error
                   1706: 1646  0001402F    21 03 13 0110                        jeql    L425
                   1707: 1647  00014034                                   #                      writes(" \n");         /* start a new print line   */
                   1708: 1648  00014034                                         .data   1
                   1709: 1649  00001821 *                                L426:
                   1710: 1650  00001821 *  200A00                               .ascii  " \12\0"
                   1711: 1651  00001824 *                                       .text
                   1712: 1652  00014034    dd 8f00001821                        pushl   $L426
                   1713: 1653  0001403A    fe 08 effffff003                     callf   $8,_writes
                   1714: 1654  00014041                                   #                      writes("cycle: ");
                   1715: 1655  00014041                                         .data   1
                   1716: 1656  00001824 *                                L427:
                   1717: 1657  00001824 *  6379636C653A2000                     .ascii  "cycle: \0"
                   1718: 1658  0000182c *                                       .text
                   1719: 1659  00014041    dd 8f00001824                        pushl   $L427
                   1720: 1660  00014047    fe 08 efffffeff6                     callf   $8,_writes
                   1721: 1661  0001404E                                   #                      writed( cycle );
                   1722: 1662  0001404E    dd efffffeff0                        pushl   _cycle
                   1723: 1663  00014054    fe 08 efffffefe9                     callf   $8,_writed
                   1724: 1664  0001405B                                   #                      writes("  CMPF2 test ");
                   1725: 1665  0001405B                                         .data   1
                   1726: 1666  0000182c *                                L428:
                   1727: 1667  0000182c *  2020434D50463220746573742            .ascii  "  CMPF2 test \0"
                   1728:                   000
                   1729: 1668  0000183a *                                       .text
                   1730: 1669  0001405B    dd 8f0000182c                        pushl   $L428
                   1731: 1670  00014061    fe 08 efffffefdc                     callf   $8,_writes
                   1732: 1671  00014068                                   #                  writed( test_no );
                   1733: 1672  00014068    dd efffffefd6                        pushl   _test_no
                   1734: 1673  0001406E    fe 08 efffffefcf                     callf   $8,_writed
                   1735: 1674  00014075                                   #     writes(", subtest 7 (Piped Entry) - BAD FINAL PSL\n");
                   1736: 1675  00014075                                         .data   1
                   1737: 1676  0000183a *                                L429:
                   1738: 1677  0000183a *  2C20737562746573742037202            .ascii  ", subtest 7 (Piped Entry) - BAD FINAL PSL\12\0"
                   1739:                   8506970656420456E74727929
                   1740:                   202D204241442046494E414C2
                   1741:                   050534C0A00
                   1742: 1678  00001865 *                                       .text
                   1743: 1679  00014075    dd 8f0000183a                        pushl   $L429
                   1744: 1680  0001407B    fe 08 efffffefc2                     callf   $8,_writes
                   1745: 1681  00014082                                   #                      print_cmpf2_data();
                   1746: 1682  00014082    fe 04 ef0000031d                     callf   $4,_print_cmpf2_data
                   1747: 1683  00014089                                   #                      writes(",  data index = ");
                   1748: 1684  00014089                                         .data   1
                   1749: 1685  00001865 *                                L430:
                   1750: 1686  00001865 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                   1751:                   8203D2000
                   1752: 1687  00001876 *                                       .text
                   1753: 1688  00014089    dd 8f00001865                        pushl   $L430
                   1754: 1689  0001408F    fe 08 efffffefae                     callf   $8,_writes
                   1755: 1690  00014096                                   #                      writed( index );
                   1756: 1691  00014096    dd efffffefa8                        pushl   _index
                   1757: 1692  0001409C    fe 08 efffffefa1                     callf   $8,_writed
                   1758: 1693  000140A3                                   #                      writec('\n');
                   1759: 1694  000140A3    dd 0a                                pushl   $10
                   1760: 1695  000140A5    fe 08 efffffef98                     callf   $8,_writec
                   1761: 1696  000140AC                                   #                      writes("   final Acc = ");
                   1762: 1697  000140AC                                         .data   1
                   1763: 1698  00001876 *                                L431:
                   1764: 1699  00001876 *  20202066696E616C204163632            .ascii  "   final Acc = \0"
                   1765:                   03D2000
                   1766: 1700  00001886 *                                       .text
                   1767: 1701  000140AC    dd 8f00001876                        pushl   $L431
                   1768: 1702  000140B2    fe 08 efffffef8b                     callf   $8,_writes
                   1769: 1703  000140B9                                   #                      write32h( sgl_st_acc );
                   1770: 1704  000140B9    dd efffffef85                        pushl   _sgl_st_acc
                   1771: 1705  000140BF    fe 08 efffffef7e                     callf   $8,_write32h
                   1772: 1706  000140C6                                   #                      writes(",  operand 2 = ");
                   1773: 1707  000140C6                                         .data   1
                   1774: 1708  00001886 *                                L432:
                   1775: 1709  00001886 *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
                   1776:                   03D2000
                   1777: 1710  00001896 *                                       .text
                   1778: 1711  000140C6    dd 8f00001886                        pushl   $L432
                   1779: 1712  000140CC    fe 08 efffffef71                     callf   $8,_writes
                   1780: 1713  000140D3                                   #                      write32h( sgl_value_2 );
                   1781: 1714  000140D3    dd efffffef6b                        pushl   _sgl_value_2
                   1782: 1715  000140D9    fe 08 efffffef64                     callf   $8,_write32h
                   1783: 1716  000140E0                                   #                      writec('\n');
                   1784: 1717  000140E0    dd 0a                                pushl   $10
                   1785: 1718  000140E2    fe 08 efffffef5b                     callf   $8,_writec
                   1786: 1719  000140E9                                   #                      writes(" initial PSL = ");
                   1787: 1720  000140E9                                         .data   1
                   1788: 1721  00001896 *                                L433:
                   1789: 1722  00001896 *  20696E697469616C2050534C2            .ascii  " initial PSL = \0"
                   1790:                   03D2000
                   1791: 1723  000018a6 *                                       .text
                   1792: 1724  000140E9    dd 8f00001896                        pushl   $L433
                   1793: 1725  000140EF    fe 08 efffffef4e                     callf   $8,_writes
                   1794: 1726  000140F6                                   #                      write32h( init_psl );
                   1795: 1727  000140F6    dd efffffef48                        pushl   _init_psl
                   1796: 1728  000140FC    fe 08 efffffef41                     callf   $8,_write32h
                   1797: 1729  00014103                                   #                      writes(",  final PSL = ");
                   1798: 1730  00014103                                         .data   1
                   1799: 1731  000018a6 *                                L434:
                   1800: 1732  000018a6 *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
                   1801:                   03D2000
                   1802: 1733  000018b6 *                                       .text
                   1803: 1734  00014103    dd 8f000018a6                        pushl   $L434
                   1804: 1735  00014109    fe 08 efffffef34                     callf   $8,_writes
                   1805: 1736  00014110                                   #                      write32h( psl_val );
                   1806: 1737  00014110    dd efffffef2e                        pushl   _psl_val
                   1807: 1738  00014116    fe 08 efffffef27                     callf   $8,_write32h
                   1808: 1739  0001411D                                   #                      writes(",  expected PSL = ");
                   1809: 1740  0001411D                                         .data   1
                   1810: 1741  000018b6 *                                L435:
                   1811: 1742  000018b6 *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
                   1812:                   0534C203D2000
                   1813: 1743  000018c9 *                                       .text
                   1814: 1744  0001411D    dd 8f000018b6                        pushl   $L435
                   1815: 1745  00014123    fe 08 efffffef1a                     callf   $8,_writes
                   1816: 1746  0001412A                                   #                      write32h( exp_psl );
                   1817: 1747  0001412A    dd efffffef14                        pushl   _exp_psl
                   1818: 1748  00014130    fe 08 efffffef0d                     callf   $8,_write32h
                   1819: 1749  00014137                                   #                      writes(" \n");
                   1820: 1750  00014137                                         .data   1
                   1821: 1751  000018c9 *                                L436:
                   1822: 1752  000018c9 *  200A00                               .ascii  " \12\0"
                   1823: 1753  000018cc *                                       .text
                   1824: 1754  00014137    dd 8f000018c9                        pushl   $L436
                   1825: 1755  0001413D    fe 08 efffffef00                     callf   $8,_writes
                   1826: 1756  00014144                                   #                   }
                   1827: 1757  00014144                                   #                   if ( halt_flg )
                   1828: 1758  00014144                                  L425:
                   1829: 1759  00014144    5d efffffeefa                        tstl    _halt_flg
                   1830: 1760  0001414A    31 09                                jeql    L437
                   1831: 1761  0001414C                                   #                      cmpf2_er_halt( BAD_PSL_HLT );  /* halt on the error   */
                   1832: 1762  0001414C    dd 03                                pushl   $3
                   1833: 1763  0001414E    fe 08 ef0000028d                     callf   $8,_cmpf2_er_halt
                   1834: 1764  00014155                                   #                   if ( loop_on_err ) 
                   1835: 1765  00014155                                  L437:
                   1836: 1766  00014155    5d efffffeee9                        tstl    _loop_on_err
                   1837: 1767  0001415B    31 0a                                jeql    L438
                   1838: 1768  0001415D                                   #                   {
                   1839: 1769  0001415D                                   #                      force_loop = TRUE;         /* set the force loop flag */
                   1840: 1770  0001415D    0d 01 efffffeee0                     movl    $1,_force_loop
                   1841: 1771  00014164                                   #                      asm("brw _cmpf2_7_lp1");   /* and loop                */
                   1842: 1772  00014164    13 fe41                       brw _cmpf2_7_lp1
                   1843: 1773  00014167                                   #                   };  /* end of loop-on-error    */
                   1844: 1774  00014167                                  L438:
                   1845: 1775  00014167                                   #                }   /* end of compare error    */
                   1846: 1776  00014167                                   #             } while( ++status_index < 3 );
                   1847: 1777  00014167                                  L424:
                   1848: 1778  00014167                                  L419:
                   1849: 1779  00014167    6d efffffeed7                        incl    _status_index
                   1850: 1780  0001416D    0d efffffeed1 50                     movl    _status_index,r0
                   1851: 1781  00014174    1d 50 03                             cmpl    r0,$3
                   1852: 1782  00014177    81 03 13 fe19                        jlss    L420
                   1853: 1783  0001417C                                  L418:
                   1854: 1784  0001417C                                   #         } while( (index2 < 10) && (index2 < max_ldf_1_index) );
                   1855: 1785  0001417C                                  L416:
                   1856: 1786  0001417C    1d efffffeec2 0a                     cmpl    _index2,$10
                   1857: 1787  00014183    81 10                                jgeq    L9994
                   1858: 1788  00014185    1d efffffeeb9 efffffeeb4             cmpl    _index2,_max_ldf_1_index
                   1859: 1789  00014190    81 03 13 fdde                        jlss    L417
                   1860: 1790  00014195                                  L9994:
                   1861: 1791  00014195                                  L415:
                   1862: 1792  00014195                                   #      } while( index++ < max_cmpf_1_index );
                   1863: 1793  00014195                                  L413:
                   1864: 1794  00014195    0d efffffeea9 50                     movl    _index,r0
                   1865: 1795  0001419C    6d efffffeea2                        incl    _index
                   1866: 1796  000141A2    1d 50 efffffee9b                     cmpl    r0,_max_cmpf_1_index
                   1867: 1797  000141A9    81 03 13 fd86                        jlss    L414
                   1868: 1798  000141AE                                  L412:
                   1869: 1799  000141AE                                   # }  /* end of subtest 7 */
                   1870: 1800  000141AE    40                                   ret#2
                   1871: 1801  000141AF                                         .set    L408,0x0
                   1872: 1802  000141AF                                  L410:
                   1873: 1803  000141AF    13 fd6f                              jbr     L411
                   1874: 1804  000141B2                                         .data
                   1875: 1805  00001458 *                                       .text
                   1876: 1806  000141B2                                         .align  1
                   1877: 1807  000141B2                                         .globl  _cmpf2_8
                   1878: 1808  000141B2                                  _cmpf2_8:
                   1879: 1809  000141B2    0000                                 .word   L439
                   1880: 1810  000141B4                                   #   
                   1881: 1811  000141B4                                   # 
                   1882: 1812  000141B4                                   # 
                   1883: 1813  000141B4                                   # /****************************************************************************
                   1884: 1814  000141B4                                   # *
                   1885: 1815  000141B4                                   # *               SUBTEST 8 - CMPF2  piped exit test
                   1886: 1816  000141B4                                   # *
                   1887: 1817  000141B4                                   # ****************************************************************************/
                   1888: 1818  000141B4                                   # cmpf2_8() 
                   1889: 1819  000141B4                                   # {
                   1890: 1820  000141B4    13 01ec                              jbr     L441
                   1891: 1821  000141B7                                  L442:
                   1892: 1822  000141B7                                   #      force_loop = FALSE;
                   1893: 1823  000141B7    4d efffffee87                        clrl    _force_loop
                   1894: 1824  000141BD                                   #      subtest = 6;
                   1895: 1825  000141BD    0d 06 efffffee80                     movl    $6,_subtest
                   1896: 1826  000141C4                                   #      index = 0;
                   1897: 1827  000141C4    4d efffffee7a                        clrl    _index
                   1898: 1828  000141CA                                   #      do 
                   1899: 1829  000141CA                                  L445:
                   1900: 1830  000141CA                                   #      {
                   1901: 1831  000141CA                                   #         sgl_value_1  = cmpf_1_data[index].one; /* get the data operands  */
                   1902: 1832  000141CA    5c 0c efffffee73 50                  mull3   $12,_index,r0
                   1903: 1833  000141D2    0d e000000000 efffffee67             movl    _cmpf_1_data(r0),_sgl_value_1
                   1904: 1834  000141DD                                   #         sgl_value_2  = cmpf_1_data[index].two;
                   1905: 1835  000141DD    5c 0c efffffee60 50                  mull3   $12,_index,r0
                   1906: 1836  000141E5    0d e000000004 efffffee54             movl    _cmpf_1_data+4(r0),_sgl_value_2
                   1907: 1837  000141F0                                   #         index2 = 0;                             /* clear Acc. data index */
                   1908: 1838  000141F0    4d efffffee4e                        clrl    _index2
                   1909: 1839  000141F6                                   #         do
                   1910: 1840  000141F6                                  L448:
                   1911: 1841  000141F6                                   #         {
                   1912: 1842  000141F6                                   #            sgl_ld_acc   = ldf_1_data[index2].ld; /* get the Accumulator data */
                   1913: 1843  000141F6    0d efffffee48 50                     movl    _index2,r0
                   1914: 1844  000141FD    48 03 50 50                          shll    $3,r0,r0
                   1915: 1845  00014201    0d e000000000 efffffee38             movl    _ldf_1_data(r0),_sgl_ld_acc
                   1916: 1846  0001420C                                   #            sgl_expected = ldf_1_data[index2++].exp; /* get expected Acc. */
                   1917: 1847  0001420C    0d efffffee32 50                     movl    _index2,r0
                   1918: 1848  00014213    48 03 50 50                          shll    $3,r0,r0
                   1919: 1849  00014217    0d e000000004 efffffee22             movl    _ldf_1_data+4(r0),_sgl_expected
                   1920: 1850  00014222    6d efffffee1c                        incl    _index2
                   1921: 1851  00014228                                   # /*
                   1922: 1852  00014228                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                   1923: 1853  00014228                                   #  * The force loop flag is set after the first error.
                   1924: 1854  00014228                                   # */
                   1925: 1855  00014228                                   #                asm("_cmpf2_8_lp1:");
                   1926: 1856  00014228                                  _cmpf2_8_lp1:
                   1927: 1857  00014228                                   #                asm("movl $0,r0");           /* move a zero to r0        */
                   1928: 1858  00014228    0d 00 50                      movl $0,r0
                   1929: 1859  0001422B                                   #                asm("movl _sgl_ld_acc,r3");      /* get the accmulator data  */
                   1930: 1860  0001422B    0d efffffee13 53              movl _sgl_ld_acc,r3
                   1931: 1861  00014232                                   #                asm("ldf r3");                   /* load the accumulator     */
                   1932: 1862  00014232    06 53                         ldf r3
                   1933: 1863  00014234                                   #                asm("cmpf2 _sgl_value_1,_sgl_value_2");/* compare the operands */
                   1934: 1864  00014234    46 efffffee0a efffffee05      cmpf2 _sgl_value_1,_sgl_value_2
                   1935: 1865  0001423F                                   #                asm("addf r0");                      /* add a zero to the acc    */
                   1936: 1866  0001423F    c6 50                         addf r0
                   1937: 1867  00014241                                   #            asm("stf _sgl_st_acc");          /* store the accumulator    */
                   1938: 1868  00014241    26 efffffedfd                 stf _sgl_st_acc
                   1939: 1869  00014247                                   #                if( force_loop )                 /* loop?                    */
                   1940: 1870  00014247    5d efffffedf7                        tstl    _force_loop
                   1941: 1871  0001424D    31 02                                jeql    L449
                   1942: 1872  0001424F                                   #                    asm("brb _cmpf2_8_lp1");;    /* run the loop again       */
                   1943: 1873  0001424F    11 d7                         brb _cmpf2_8_lp1
                   1944: 1874  00014251                                  L449:
                   1945: 1875  00014251                                   #                if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
                   1946: 1876  00014251    1d efffffeded efffffede8             cmpl    _sgl_st_acc,_sgl_expected
                   1947: 1877  0001425C    21 03 13 010f                        jeql    L450
                   1948: 1878  00014261                                   #                   errcnt++;                     /* bump the error count     */
                   1949: 1879  00014261    6d efffffeddd                        incl    _errcnt
                   1950: 1880  00014267                                   #                   if ( prt_error ) {
                   1951: 1881  00014267    5d efffffedd7                        tstl    _prt_error
                   1952: 1882  0001426D    21 03 13 00d8                        jeql    L451
                   1953: 1883  00014272                                   #                      writes(" \n");         /* start a new print line   */
                   1954: 1884  00014272                                         .data   1
                   1955: 1885  000018cc *                                L452:
                   1956: 1886  000018cc *  200A00                               .ascii  " \12\0"
                   1957: 1887  000018cf *                                       .text
                   1958: 1888  00014272    dd 8f000018cc                        pushl   $L452
                   1959: 1889  00014278    fe 08 efffffedc5                     callf   $8,_writes
                   1960: 1890  0001427F                                   #                      writes("cycle: ");
                   1961: 1891  0001427F                                         .data   1
                   1962: 1892  000018cf *                                L453:
                   1963: 1893  000018cf *  6379636C653A2000                     .ascii  "cycle: \0"
                   1964: 1894  000018d7 *                                       .text
                   1965: 1895  0001427F    dd 8f000018cf                        pushl   $L453
                   1966: 1896  00014285    fe 08 efffffedb8                     callf   $8,_writes
                   1967: 1897  0001428C                                   #                      writed( cycle );
                   1968: 1898  0001428C    dd efffffedb2                        pushl   _cycle
                   1969: 1899  00014292    fe 08 efffffedab                     callf   $8,_writed
                   1970: 1900  00014299                                   #                      writes("  CMPF2 test ");
                   1971: 1901  00014299                                         .data   1
                   1972: 1902  000018d7 *                                L454:
                   1973: 1903  000018d7 *  2020434D50463220746573742            .ascii  "  CMPF2 test \0"
                   1974:                   000
                   1975: 1904  000018e5 *                                       .text
                   1976: 1905  00014299    dd 8f000018d7                        pushl   $L454
                   1977: 1906  0001429F    fe 08 efffffed9e                     callf   $8,_writes
                   1978: 1907  000142A6                                   #                  writed( test_no );
                   1979: 1908  000142A6    dd efffffed98                        pushl   _test_no
                   1980: 1909  000142AC    fe 08 efffffed91                     callf   $8,_writed
                   1981: 1910  000142B3                                   #     writes(", subtest 8 (Piped Exit) - THE ACC WAS MODIFIED\n");
                   1982: 1911  000142B3                                         .data   1
                   1983: 1912  000018e5 *                                L455:
                   1984: 1913  000018e5 *  2C20737562746573742038202            .ascii  ", subtest 8 (Piped Exit) - THE ACC WAS MODIFIED\12\0"
                   1985:                   8506970656420457869742920
                   1986:                   2D20544845204143432057415
                   1987:                   3204D4F4449464945440A00
                   1988: 1914  00001916 *                                       .text
                   1989: 1915  000142B3    dd 8f000018e5                        pushl   $L455
                   1990: 1916  000142B9    fe 08 efffffed84                     callf   $8,_writes
                   1991: 1917  000142C0                                   #                      print_cmpf2_data();
                   1992: 1918  000142C0    fe 04 ef000000df                     callf   $4,_print_cmpf2_data
                   1993: 1919  000142C7                                   #                      writes(",  data index = ");
                   1994: 1920  000142C7                                         .data   1
                   1995: 1921  00001916 *                                L456:
                   1996: 1922  00001916 *  2C20206461746120696E64657            .ascii  ",  data index = \0"
                   1997:                   8203D2000
                   1998: 1923  00001927 *                                       .text
                   1999: 1924  000142C7    dd 8f00001916                        pushl   $L456
                   2000: 1925  000142CD    fe 08 efffffed70                     callf   $8,_writes
                   2001: 1926  000142D4                                   #                      writed( index );
                   2002: 1927  000142D4    dd efffffed6a                        pushl   _index
                   2003: 1928  000142DA    fe 08 efffffed63                     callf   $8,_writed
                   2004: 1929  000142E1                                   #                      writec('\n');
                   2005: 1930  000142E1    dd 0a                                pushl   $10
                   2006: 1931  000142E3    fe 08 efffffed5a                     callf   $8,_writec
                   2007: 1932  000142EA                                   #                      writes("   final Acc = ");
                   2008: 1933  000142EA                                         .data   1
                   2009: 1934  00001927 *                                L457:
                   2010: 1935  00001927 *  20202066696E616C204163632            .ascii  "   final Acc = \0"
                   2011:                   03D2000
                   2012: 1936  00001937 *                                       .text
                   2013: 1937  000142EA    dd 8f00001927                        pushl   $L457
                   2014: 1938  000142F0    fe 08 efffffed4d                     callf   $8,_writes
                   2015: 1939  000142F7                                   #                      write32h( sgl_st_acc );
                   2016: 1940  000142F7    dd efffffed47                        pushl   _sgl_st_acc
                   2017: 1941  000142FD    fe 08 efffffed40                     callf   $8,_write32h
                   2018: 1942  00014304                                   #                      writes(",  operand 2 = ");
                   2019: 1943  00014304                                         .data   1
                   2020: 1944  00001937 *                                L458:
                   2021: 1945  00001937 *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
                   2022:                   03D2000
                   2023: 1946  00001947 *                                       .text
                   2024: 1947  00014304    dd 8f00001937                        pushl   $L458
                   2025: 1948  0001430A    fe 08 efffffed33                     callf   $8,_writes
                   2026: 1949  00014311                                   #                      write32h( sgl_value_2 );
                   2027: 1950  00014311    dd efffffed2d                        pushl   _sgl_value_2
                   2028: 1951  00014317    fe 08 efffffed26                     callf   $8,_write32h
                   2029: 1952  0001431E                                   #                      writec('\n');
                   2030: 1953  0001431E    dd 0a                                pushl   $10
                   2031: 1954  00014320    fe 08 efffffed1d                     callf   $8,_writec
                   2032: 1955  00014327                                   #                      writes("expected Acc = ");
                   2033: 1956  00014327                                         .data   1
                   2034: 1957  00001947 *                                L459:
                   2035: 1958  00001947 *  6578706563746564204163632            .ascii  "expected Acc = \0"
                   2036:                   03D2000
                   2037: 1959  00001957 *                                       .text
                   2038: 1960  00014327    dd 8f00001947                        pushl   $L459
                   2039: 1961  0001432D    fe 08 efffffed10                     callf   $8,_writes
                   2040: 1962  00014334                                   #                      write32h( sgl_expected );
                   2041: 1963  00014334    dd efffffed0a                        pushl   _sgl_expected
                   2042: 1964  0001433A    fe 08 efffffed03                     callf   $8,_write32h
                   2043: 1965  00014341                                   #                      writec('\n');
                   2044: 1966  00014341    dd 0a                                pushl   $10
                   2045: 1967  00014343    fe 08 efffffecfa                     callf   $8,_writec
                   2046: 1968  0001434A                                   #                   }
                   2047: 1969  0001434A                                   #                   if ( halt_flg )                   /* halt on error?      */
                   2048: 1970  0001434A                                  L451:
                   2049: 1971  0001434A    5d efffffecf4                        tstl    _halt_flg
                   2050: 1972  00014350    31 09                                jeql    L460
                   2051: 1973  00014352                                   #                      cmpf2_er_halt( BAD_ACC_HLT );
                   2052: 1974  00014352    dd 01                                pushl   $1
                   2053: 1975  00014354    fe 08 ef00000087                     callf   $8,_cmpf2_er_halt
                   2054: 1976  0001435B                                   #                   if ( loop_on_err ) 
                   2055: 1977  0001435B                                  L460:
                   2056: 1978  0001435B    5d efffffece3                        tstl    _loop_on_err
                   2057: 1979  00014361    31 0d                                jeql    L461
                   2058: 1980  00014363                                   #                   {
                   2059: 1981  00014363                                   #                      force_loop = TRUE;         /* set the force loop flag */
                   2060: 1982  00014363    0d 01 efffffecda                     movl    $1,_force_loop
                   2061: 1983  0001436A                                   #                      asm("jmp _cmpf2_8_lp1");   /* and loop                */
                   2062: 1984  0001436A    71 effffffeb8                 jmp _cmpf2_8_lp1
                   2063: 1985  00014370                                   #                   };   /* end of loop-on-error    */
                   2064: 1986  00014370                                  L461:
                   2065: 1987  00014370                                   #                }   /* end of compare error    */
                   2066: 1988  00014370                                   #         } while( (index2 < 10) && (index2 < max_ldf_1_index) );
                   2067: 1989  00014370                                  L450:
                   2068: 1990  00014370                                  L447:
                   2069: 1991  00014370    1d efffffecce 0a                     cmpl    _index2,$10
                   2070: 1992  00014377    81 10                                jgeq    L9993
                   2071: 1993  00014379    1d efffffecc5 efffffecc0             cmpl    _index2,_max_ldf_1_index
                   2072: 1994  00014384    81 03 13 fe6d                        jlss    L448
                   2073: 1995  00014389                                  L9993:
                   2074: 1996  00014389                                  L446:
                   2075: 1997  00014389                                   #      } while( index++ < max_cmpf_1_index );
                   2076: 1998  00014389                                  L444:
                   2077: 1999  00014389    0d efffffecb5 50                     movl    _index,r0
                   2078: 2000  00014390    6d efffffecae                        incl    _index
                   2079: 2001  00014396    1d 50 efffffeca7                     cmpl    r0,_max_cmpf_1_index
                   2080: 2002  0001439D    81 03 13 fe28                        jlss    L445
                   2081: 2003  000143A2                                  L443:
                   2082: 2004  000143A2                                   # }  /* end of subtest 8 */
                   2083: 2005  000143A2    40                                   ret#2
                   2084: 2006  000143A3                                         .set    L439,0x0
                   2085: 2007  000143A3                                  L441:
                   2086: 2008  000143A3    13 fe11                              jbr     L442
                   2087: 2009  000143A6                                         .data
                   2088: 2010  00001458 *                                       .text
                   2089: 2011  000143A6                                         .align  1
                   2090: 2012  000143A6                                         .globl  _print_cmpf2_data
                   2091: 2013  000143A6                                  _print_cmpf2_data:
                   2092: 2014  000143A6    0000                                 .word   L462
                   2093: 2015  000143A8                                   #   
                   2094: 2016  000143A8                                   # 
                   2095: 2017  000143A8                                   # 
                   2096: 2018  000143A8                                   # /**************************************************************************
                   2097: 2019  000143A8                                   # *
                   2098: 2020  000143A8                                   # *       PRINT THE DATA AND STORE RESULTS
                   2099: 2021  000143A8                                   # *
                   2100: 2022  000143A8                                   # *  initial Acc = xxxxxxxx,     stored = xxxxxxxx,   data index = xx
                   2101: 2023  000143A8                                   # *      operand = xxxxxxxx,   expected = xxxxxxxx
                   2102: 2024  000143A8                                   # **************************************************************************/
                   2103: 2025  000143A8                                   # print_cmpf2_data()
                   2104: 2026  000143A8                                   # {
                   2105: 2027  000143A8    11 35                                jbr     L464
                   2106: 2028  000143AA                                  L465:
                   2107: 2029  000143AA                                   #         writes(" initial Acc = ");
                   2108: 2030  000143AA                                         .data   1
                   2109: 2031  00001957 *                                L466:
                   2110: 2032  00001957 *  20696E697469616C204163632            .ascii  " initial Acc = \0"
                   2111:                   03D2000
                   2112: 2033  00001967 *                                       .text
                   2113: 2034  000143AA    dd 8f00001957                        pushl   $L466
                   2114: 2035  000143B0    fe 08 efffffec8d                     callf   $8,_writes
                   2115: 2036  000143B7                                   #         write32h( sgl_ld_acc );
                   2116: 2037  000143B7    dd efffffec87                        pushl   _sgl_ld_acc
                   2117: 2038  000143BD    fe 08 efffffec80                     callf   $8,_write32h
                   2118: 2039  000143C4                                   #         writes(",  operand 1 = ");
                   2119: 2040  000143C4                                         .data   1
                   2120: 2041  00001967 *                                L467:
                   2121: 2042  00001967 *  2C20206F706572616E6420312            .ascii  ",  operand 1 = \0"
                   2122:                   03D2000
                   2123: 2043  00001977 *                                       .text
                   2124: 2044  000143C4    dd 8f00001967                        pushl   $L467
                   2125: 2045  000143CA    fe 08 efffffec73                     callf   $8,_writes
                   2126: 2046  000143D1                                   #         write32h( sgl_value_1 );
                   2127: 2047  000143D1    dd efffffec6d                        pushl   _sgl_value_1
                   2128: 2048  000143D7    fe 08 efffffec66                     callf   $8,_write32h
                   2129: 2049  000143DE                                   # }
                   2130: 2050  000143DE    40                                   ret#2
                   2131: 2051  000143DF                                         .set    L462,0x0
                   2132: 2052  000143DF                                  L464:
                   2133: 2053  000143DF    11 c9                                jbr     L465
                   2134: 2054  000143E1                                         .data
                   2135: 2055  00001458 *                                       .text
                   2136: 2056  000143E1    00                                   .align  1
                   2137: 2057  000143E2                                         .globl  _cmpf2_er_halt
                   2138: 2058  000143E2                                  _cmpf2_er_halt:
                   2139: 2059  000143E2    0000                                 .word   L468
                   2140: 2060  000143E4                                   #    
                   2141: 2061  000143E4                                   # 
                   2142: 2062  000143E4                                   # 
                   2143: 2063  000143E4                                   # /**************************************************************************
                   2144: 2064  000143E4                                   # *
                   2145: 2065  000143E4                                   # *               HALT ON ERROR ROUTINE 
                   2146: 2066  000143E4                                   # *
                   2147: 2067  000143E4                                   # **************************************************************************/
                   2148: 2068  000143E4                                   # cmpf2_er_halt( halt_code )
                   2149: 2069  000143E4                                   # int halt_code;
                   2150: 2070  000143E4                                   # {
                   2151: 2071  000143E4    13 00af                              jbr     L470
                   2152: 2072  000143E7                                  L471:
                   2153: 2073  000143E7                                   #         sgl_dummy1 = halt_code;                 /* get the error type    */
                   2154: 2074  000143E7    0d ad04 efffffec55                   movl    4(fp),_sgl_dummy1
                   2155: 2075  000143EF                                   #         asm("movl _test_no,r0");                /* r0  = test number     */
                   2156: 2076  000143EF    0d efffffec4f 50              movl _test_no,r0
                   2157: 2077  000143F6                                   #         asm("movl _subtest,r1");                /* r1  = subtest number  */
                   2158: 2078  000143F6    0d efffffec48 51              movl _subtest,r1
                   2159: 2079  000143FD                                   #         asm("movl _sgl_dummy1,r2");             /* r2  = error code      */
                   2160: 2080  000143FD    0d efffffec41 52              movl _sgl_dummy1,r2
                   2161: 2081  00014404                                   #         asm("movl _cycle,r3");                  /* r3  = cycle count     */
                   2162: 2082  00014404    0d efffffec3a 53              movl _cycle,r3
                   2163: 2083  0001440B                                   #         asm("movl _sgl_ld_acc,r4");             /* r4  = initial data    */
                   2164: 2084  0001440B    0d efffffec33 54              movl _sgl_ld_acc,r4
                   2165: 2085  00014412                                   #         asm("movl _sgl_value_1,r5");            /* r5  = operand 1       */
                   2166: 2086  00014412    0d efffffec2c 55              movl _sgl_value_1,r5
                   2167: 2087  00014419                                   #         asm("movl _sgl_value_2,r6");            /* r6  = operand 2       */
                   2168: 2088  00014419    0d efffffec25 56              movl _sgl_value_2,r6
                   2169: 2089  00014420                                   #         asm("movl _psl_val,r7");                /* r7  = actual PSL      */
                   2170: 2090  00014420    0d efffffec1e 57              movl _psl_val,r7
                   2171: 2091  00014427                                   #         if( halt_code == BAD_ACC_HLT ) {
                   2172: 2092  00014427    1d ad04 01                           cmpl    4(fp),$1
                   2173: 2093  0001442B    21 10                                jneq    L472
                   2174: 2094  0001442D                                   #              asm("movl _sgl_st_acc,r8");        /* r8  = actual value    */
                   2175: 2095  0001442D    0d efffffec11 58              movl _sgl_st_acc,r8
                   2176: 2096  00014434                                   #              asm("movl _sgl_expected,r9");      /* r9  = expected value  */
                   2177: 2097  00014434    0d efffffec0a 59              movl _sgl_expected,r9
                   2178: 2098  0001443B                                   #         } else
                   2179: 2099  0001443B    11 57                                jbr     L473
                   2180: 2100  0001443D                                  L472:
                   2181: 2101  0001443D                                   #         if( halt_code == BAD_REG_HLT ) {
                   2182: 2102  0001443D    1d ad04 02                           cmpl    4(fp),$2
                   2183: 2103  00014441    21 3d                                jneq    L474
                   2184: 2104  00014443                                   #              sgl_dummy1 = load_regs[index2];
                   2185: 2105  00014443    0d efffffebfb 50                     movl    _index2,r0
                   2186: 2106  0001444A    0d 40efffffebf3                      movl    _load_regs[r0],_sgl_dummy1
                   2187:                   efffffebee 
                   2188: 2107  00014456                                   #              sgl_dummy2 = store_regs[index2];
                   2189: 2108  00014456    0d efffffebe8 50                     movl    _index2,r0
                   2190: 2109  0001445D    0d 40efffffebe0                      movl    _store_regs[r0],_sgl_dummy2
                   2191:                   efffffebdb 
                   2192: 2110  00014469                                   #              asm("movl _index2,r8");            /* r8  = bad register #  */
                   2193: 2111  00014469    0d efffffebd5 58              movl _index2,r8
                   2194: 2112  00014470                                   #              asm("movl _sgl_dummy2,r9");        /* r9  = actual value    */
                   2195: 2113  00014470    0d efffffebce 59              movl _sgl_dummy2,r9
                   2196: 2114  00014477                                   #              asm("movl _sgl_dummy1,r10");       /* r10 = expected value  */
                   2197: 2115  00014477    0d efffffebc7 5a              movl _sgl_dummy1,r10
                   2198: 2116  0001447E                                   #         } else
                   2199: 2117  0001447E    11 14                                jbr     L475
                   2200: 2118  00014480                                  L474:
                   2201: 2119  00014480                                   #           if( halt_code == BAD_PSL_HLT ) {
                   2202: 2120  00014480    1d ad04 03                           cmpl    4(fp),$3
                   2203: 2121  00014484    21 0e                                jneq    L476
                   2204: 2122  00014486                                   #              asm("movl _exp_psl,r7");           /* r8  = expected PSL    */
                   2205: 2123  00014486    0d efffffebb8 57              movl _exp_psl,r7
                   2206: 2124  0001448D                                   #              asm("movl _index,r9");             /* r9  = data index      */
                   2207: 2125  0001448D    0d efffffebb1 59              movl _index,r9
                   2208: 2126  00014494                                   #         };
                   2209: 2127  00014494                                  L476:
                   2210: 2128  00014494                                  L475:
                   2211: 2129  00014494                                  L473:
                   2212: 2130  00014494                                   #         asm("halt");                            /* HALT ...              */
                   2213: 2131  00014494    00                            halt
                   2214: 2132  00014495                                   # }  
                   2215: 2133  00014495    40                                   ret#2
                   2216: 2134  00014496                                         .set    L468,0x0
                   2217: 2135  00014496                                  L470:
                   2218: 2136  00014496    13 ff4e                              jbr     L471
                   2219: 2137  00014499                                         .data
                   2220: 2137  000274DD                                         .data

unix.superglobalmegacorp.com

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