Annotation of cci/d/macro4/cmpd2.lst, revision 1.1

1.1     ! root        1:    1  00000000                                  LL0:
        !             2:    2  00000000                                         .data
        !             3:    3  00001398 *                                       .text
        !             4:    4  00000000                                         .align  1
        !             5:    5  00000000                                         .globl  _cmpd2
        !             6:    6  00000000                                  _cmpd2:
        !             7:    7  0001BDF0    0000                                 .word   L215
        !             8:    8  0001BDF2                                   # #include "fpp_defs.h"
        !             9:    9  0001BDF2                                   # 
        !            10:   10  0001BDF2                                   # 
        !            11:   11  0001BDF2                                   # 
        !            12:   12  0001BDF2                                   # /***************************************************************************
        !            13:   13  0001BDF2                                   # *
        !            14:   14  0001BDF2                                   # *       CMPD2  -COMPARE 2 DBL OPERANDS TO EACH OTHER -IGNORE THE ACCUMULATOR
        !            15:   15  0001BDF2                                   # *
        !            16:   16  0001BDF2                                   # *****************************************************************************/
        !            17:   17  0001BDF2                                   # cmpd2()
        !            18:   18  0001BDF2                                   # {
        !            19:   19  0001BDF2    11 4f                                jbr     L217
        !            20:   20  0001BDF4                                  L218:
        !            21:   21  0001BDF4                                   #         asm(".globl _cmpd2_t");
        !            22:   22  0001BDF4                                  .globl _cmpd2_t
        !            23:   23  0001BDF4                                   #         asm("_cmpd2_t:");                       /* entry address            */
        !            24:   24  0001BDF4                                  _cmpd2_t:
        !            25:   25  0001BDF4                                   #         if( ( cycle == 1 ) && ( prt_hdrs ) )    /* print headers on 1st pass */
        !            26:   26  0001BDF4    1d effffffff6 01                     cmpl    _cycle,$1
        !            27:   27  0001BDFB    21 15                                jneq    L219
        !            28:   28  0001BDFD    5d efffffffed                        tstl    _prt_hdrs
        !            29:   29  0001BE03    31 0d                                jeql    L219
        !            30:   30  0001BE05                                   #            writes(" CMPD2");
        !            31:   31  0001BE05                                         .data   1
        !            32:   32  00001398 *                                L221:
        !            33:   33  00001398 *  20434D50443200                       .ascii  " CMPD2\0"
        !            34:   34  0000139f *                                       .text
        !            35:   35  0001BE05    dd 8f00001398                        pushl   $L221
        !            36:   36  0001BE0B    fe 08 efffffffde                     callf   $8,_writes
        !            37:   37  0001BE12                                   #         cmpd2_1();                              /* register / register data   */
        !            38:   38  0001BE12                                  L219:
        !            39:   39  0001BE12    fe 04 ef0000002d                     callf   $4,_cmpd2_1
        !            40:   40  0001BE19                                   #         cmpd2_2();                              /* cache    / cache    data   */
        !            41:   41  0001BE19    fe 04 ef00000342                     callf   $4,_cmpd2_2
        !            42:   42  0001BE20                                   #         cmpd2_3();                              /* cache    / register data   */
        !            43:   43  0001BE20    fe 04 ef00000645                     callf   $4,_cmpd2_3
        !            44:   44  0001BE27                                   #         cmpd2_4();                              /* register / cache    data   */
        !            45:   45  0001BE27    fe 04 ef00000952                     callf   $4,_cmpd2_4
        !            46:   46  0001BE2E                                   #         cmpd2_5();                              /* acc. corruption test       */
        !            47:   47  0001BE2E    fe 04 ef00000c61                     callf   $4,_cmpd2_5
        !            48:   48  0001BE35                                   #         cmpd2_6();                              /* register corruption test   */
        !            49:   49  0001BE35    fe 04 ef00000ef8                     callf   $4,_cmpd2_6
        !            50:   50  0001BE3C                                   #         asm("jmp *return");                     /* return to the test monitor */
        !            51:   51  0001BE3C    71 ffffffffae                 jmp *return
        !            52:   52  0001BE42                                   # }
        !            53:   53  0001BE42    40                                   ret#2
        !            54:   54  0001BE43                                         .set    L215,0x0
        !            55:   55  0001BE43                                  L217:
        !            56:   56  0001BE43    11 af                                jbr     L218
        !            57:   57  0001BE45                                         .data
        !            58:   58  00001398 *                                       .text
        !            59:   59  0001BE45    00                                   .align  1
        !            60:   60  0001BE46                                         .globl  _cmpd2_1
        !            61:   61  0001BE46                                  _cmpd2_1:
        !            62:   62  0001BE46    0000                                 .word   L228
        !            63:   63  0001BE48                                   #   
        !            64:   64  0001BE48                                   # 
        !            65:   65  0001BE48                                   # 
        !            66:   66  0001BE48                                   # /****************************************************************************
        !            67:   67  0001BE48                                   # *
        !            68:   68  0001BE48                                   # *               SUBTEST 1 - CMPD2 test  -register / register data
        !            69:   69  0001BE48                                   # *
        !            70:   70  0001BE48                                   # ****************************************************************************/
        !            71:   71  0001BE48                                   # cmpd2_1() 
        !            72:   72  0001BE48                                   # {
        !            73:   73  0001BE48    13 0314                              jbr     L230
        !            74:   74  0001BE4B                                  L231:
        !            75:   75  0001BE4B                                   #      force_loop = FALSE;
        !            76:   76  0001BE4B    4d efffffff9f                        clrl    _force_loop
        !            77:   77  0001BE51                                   #      subtest = 1;
        !            78:   78  0001BE51    0d 01 efffffff98                     movl    $1,_subtest
        !            79:   79  0001BE58                                   #      index = 0;
        !            80:   80  0001BE58    4d efffffff92                        clrl    _index
        !            81:   81  0001BE5E                                   #      do 
        !            82:   82  0001BE5E                                  L234:
        !            83:   83  0001BE5E                                   #      {
        !            84:   84  0001BE5E                                   #         dbl_value_1  = cmpd_1_data[index].one; /* get the data operands  */
        !            85:   85  0001BE5E    5c 14 efffffff8b 50                  mull3   $20,_index,r0
        !            86:   86  0001BE66    0c 8f00000000 50                     addl2   $_cmpd_1_data,r0
        !            87:   87  0001BE6D    0d a004 efffffff7f                   movl    4(r0),_dbl_value_1+4
        !            88:   88  0001BE75    0d 60 efffffff74                     movl    (r0),_dbl_value_1
        !            89:   89  0001BE7C                                   #         dbl_value_2  = cmpd_1_data[index].two;
        !            90:   90  0001BE7C    5c 14 efffffff6d 50                  mull3   $20,_index,r0
        !            91:   91  0001BE84    0c 8f00000008 50                     addl2   $_cmpd_1_data+8,r0
        !            92:   92  0001BE8B    0d a004 efffffff61                   movl    4(r0),_dbl_value_2+4
        !            93:   93  0001BE93    0d 60 efffffff56                     movl    (r0),_dbl_value_2
        !            94:   94  0001BE9A                                   #         sgl_expected = cmpd_1_data[index].flag; /* get expected results */
        !            95:   95  0001BE9A    5c 14 efffffff4f 50                  mull3   $20,_index,r0
        !            96:   96  0001BEA2    0d e000000010 efffffff43             movl    _cmpd_1_data+16(r0),_sgl_expected
        !            97:   97  0001BEAD                                   #         sgl_value_1  = dbl_value_1.m;
        !            98:   98  0001BEAD    0d efffffff3d efffffff38             movl    _dbl_value_1,_sgl_value_1
        !            99:   99  0001BEB8                                   #         sgl_value_2  = dbl_value_1.l;
        !           100:  100  0001BEB8    0d efffffff36 efffffff2d             movl    _dbl_value_1+4,_sgl_value_2
        !           101:  101  0001BEC3                                   #         sgl_value_3  = dbl_value_2.m;
        !           102:  102  0001BEC3    0d efffffff27 efffffff22             movl    _dbl_value_2,_sgl_value_3
        !           103:  103  0001BECE                                   #         sgl_value_4  = dbl_value_2.l;
        !           104:  104  0001BECE    0d efffffff20 efffffff17             movl    _dbl_value_2+4,_sgl_value_4
        !           105:  105  0001BED9                                   #         index2 = 0;                             /* clear Acc. data index */
        !           106:  106  0001BED9    4d efffffff11                        clrl    _index2
        !           107:  107  0001BEDF                                   #         do
        !           108:  108  0001BEDF                                  L237:
        !           109:  109  0001BEDF                                   #         {
        !           110:  110  0001BEDF                                   #            dbl_ld_acc = ldd_1_data[index2].ld; /* get the Accumulator data */
        !           111:  111  0001BEDF    48 04 efffffff0a 50                  shll    $4,_index2,r0
        !           112:  112  0001BEE7    0c 8f00000000 50                     addl2   $_ldd_1_data,r0
        !           113:  113  0001BEEE    0d a004 effffffefe                   movl    4(r0),_dbl_ld_acc+4
        !           114:  114  0001BEF6    0d 60 effffffef3                     movl    (r0),_dbl_ld_acc
        !           115:  115  0001BEFD                                   #            asm("ldd _dbl_ld_acc");               /* load the accumulator     */
        !           116:  116  0001BEFD    07 effffffeed                 ldd _dbl_ld_acc
        !           117:  117  0001BF03                                   #            status_index = 0;                     /* clear the status index   */
        !           118:  118  0001BF03    4d effffffee7                        clrl    _status_index
        !           119:  119  0001BF09                                   #            do
        !           120:  120  0001BF09                                  L240:
        !           121:  121  0001BF09                                   #            {
        !           122:  122  0001BF09                                   #                sgl_dummy1 = status_array[status_index]; /* array = +, -, 0  */
        !           123:  123  0001BF09    0d effffffee1 50                     movl    _status_index,r0
        !           124:  124  0001BF10    0d 40effffffed9                      movl    _status_array[r0],_sgl_dummy1
        !           125:                   effffffed4 
        !           126:  125  0001BF1C                                   # /*
        !           127:  126  0001BF1C                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           128:  127  0001BF1C                                   #  * The force loop flag is set after the first error.
        !           129:  128  0001BF1C                                   # */
        !           130:  129  0001BF1C                                   #                asm("_cmpd2_1_lp1:");
        !           131:  130  0001BF1C                                  _cmpd2_1_lp1:
        !           132:  131  0001BF1C                                   #                asm("movl _sgl_value_1,r4");     /* r4 = operand #1's MSW    */
        !           133:  132  0001BF1C    0d effffffece 54              movl _sgl_value_1,r4
        !           134:  133  0001BF23                                   #                asm("movl _sgl_value_2,r5");     /* r5 = operand #1's LSW    */
        !           135:  134  0001BF23    0d effffffec7 55              movl _sgl_value_2,r5
        !           136:  135  0001BF2A                                   #                asm("movl _sgl_value_3,r6");     /* r6 = operand #2's MSW    */
        !           137:  136  0001BF2A    0d effffffec0 56              movl _sgl_value_3,r6
        !           138:  137  0001BF31                                   #                asm("movl _sgl_value_4,r7");     /* r7 = operand #2's LSW    */
        !           139:  138  0001BF31    0d effffffeb9 57              movl _sgl_value_4,r7
        !           140:  139  0001BF38                                   #                asm("nop");
        !           141:  140  0001BF38    10                            nop
        !           142:  141  0001BF39                                   #                asm("tstl _sgl_dummy1");         /* generate initial status  */
        !           143:  142  0001BF39    5d effffffeb1                 tstl _sgl_dummy1
        !           144:  143  0001BF3F                                   #                asm("movpsl _init_psl");         /* save the initial status  */
        !           145:  144  0001BF3F    cd effffffeab                 movpsl _init_psl
        !           146:  145  0001BF45                                   #                asm("cmpd2 r4,r6");              /* compare the operands     */
        !           147:  146  0001BF45    47 54 56                      cmpd2 r4,r6
        !           148:  147  0001BF48                                   #                asm("movpsl _psl_val");          /* save the final status    */
        !           149:  148  0001BF48    cd effffffea2                 movpsl _psl_val
        !           150:  149  0001BF4E                                   #                asm("std _dbl_st_acc");              /* save the acc             */
        !           151:  150  0001BF4E    27 effffffe9c                 std _dbl_st_acc
        !           152:  151  0001BF54                                   #            if( force_loop )                 /* loop?                    */
        !           153:  152  0001BF54    5d effffffe96                        tstl    _force_loop
        !           154:  153  0001BF5A    31 02                                jeql    L241
        !           155:  154  0001BF5C                                   #                    asm("brb _cmpd2_1_lp1");;    /* run the loop again       */
        !           156:  155  0001BF5C    11 be                         brb _cmpd2_1_lp1
        !           157:  156  0001BF5E                                  L241:
        !           158:  157  0001BF5E                                   #                exp_psl = init_psl;              /* get the initial PSL      */
        !           159:  158  0001BF5E    0d effffffe8c effffffe87             movl    _init_psl,_exp_psl
        !           160:  159  0001BF69                                   #                exp_psl &= 0xfffffff3;           /* clear ZERO, NEGATIVE     */
        !           161:  160  0001BF69    ac 88f3 effffffe7f                   andl2   $-13,_exp_psl
        !           162:  161  0001BF71                                   #                if( sgl_expected == ZERO )
        !           163:  162  0001BF71    1d effffffe79 04                     cmpl    _sgl_expected,$4
        !           164:  163  0001BF78    21 07                                jneq    L242
        !           165:  164  0001BF7A                                   #                    exp_psl |= PSL_Z;            /* expect the ZERO bit set  */
        !           166:  165  0001BF7A    8c 04 effffffe6f                     orl2    $4,_exp_psl
        !           167:  166  0001BF81                                   #                if( sgl_expected == NEGATIVE )
        !           168:  167  0001BF81                                  L242:
        !           169:  168  0001BF81    1d effffffe69 08                     cmpl    _sgl_expected,$8
        !           170:  169  0001BF88    21 07                                jneq    L243
        !           171:  170  0001BF8A                                   #                    exp_psl |= PSL_N;            /* expect the NEG bit set   */
        !           172:  171  0001BF8A    8c 08 effffffe5f                     orl2    $8,_exp_psl
        !           173:  172  0001BF91                                   #                if( psl_val != exp_psl )  {      /* COMPARE the values       */
        !           174:  173  0001BF91                                  L243:
        !           175:  174  0001BF91    1d effffffe59 effffffe54             cmpl    _psl_val,_exp_psl
        !           176:  175  0001BF9C    21 03 13 0170                        jeql    L244
        !           177:  176  0001BFA1                                   #                   errcnt++;                     /* bump the error count     */
        !           178:  177  0001BFA1    6d effffffe49                        incl    _errcnt
        !           179:  178  0001BFA7                                   #                   if ( prt_error ) {
        !           180:  179  0001BFA7    5d effffffe43                        tstl    _prt_error
        !           181:  180  0001BFAD    21 03 13 013c                        jeql    L245
        !           182:  181  0001BFB2                                   #                      writes(" \n");         /* start a new print line   */
        !           183:  182  0001BFB2                                         .data   1
        !           184:  183  0000139f *                                L246:
        !           185:  184  0000139f *  200A00                               .ascii  " \12\0"
        !           186:  185  000013a2 *                                       .text
        !           187:  186  0001BFB2    dd 8f0000139f                        pushl   $L246
        !           188:  187  0001BFB8    fe 08 effffffe31                     callf   $8,_writes
        !           189:  188  0001BFBF                                   #                      writes("cycle: ");
        !           190:  189  0001BFBF                                         .data   1
        !           191:  190  000013a2 *                                L247:
        !           192:  191  000013a2 *  6379636C653A2000                     .ascii  "cycle: \0"
        !           193:  192  000013aa *                                       .text
        !           194:  193  0001BFBF    dd 8f000013a2                        pushl   $L247
        !           195:  194  0001BFC5    fe 08 effffffe24                     callf   $8,_writes
        !           196:  195  0001BFCC                                   #                      writed( cycle );
        !           197:  196  0001BFCC    dd effffffe1e                        pushl   _cycle
        !           198:  197  0001BFD2    fe 08 effffffe17                     callf   $8,_writed
        !           199:  198  0001BFD9                                   #                      writes("  CMPD2 test ");
        !           200:  199  0001BFD9                                         .data   1
        !           201:  200  000013aa *                                L249:
        !           202:  201  000013aa *  2020434D50443220746573742            .ascii  "  CMPD2 test \0"
        !           203:                   000
        !           204:  202  000013b8 *                                       .text
        !           205:  203  0001BFD9    dd 8f000013aa                        pushl   $L249
        !           206:  204  0001BFDF    fe 08 effffffe0a                     callf   $8,_writes
        !           207:  205  0001BFE6                                   #                  writed( test_no );
        !           208:  206  0001BFE6    dd effffffe04                        pushl   _test_no
        !           209:  207  0001BFEC    fe 08 effffffdfd                     callf   $8,_writed
        !           210:  208  0001BFF3                                   #      writes(", subtest 1 (Reg./Reg. Data) - BAD FINAL PSL\n");
        !           211:  209  0001BFF3                                         .data   1
        !           212:  210  000013b8 *                                L250:
        !           213:  211  000013b8 *  2C20737562746573742031202            .ascii  ", subtest 1 (Reg./Reg. Data) - BAD FINAL PSL\12\0"
        !           214:                   85265672E2F5265672E204461
        !           215:                   746129202D204241442046494
        !           216:                   E414C2050534C0A00
        !           217:  212  000013e6 *                                       .text
        !           218:  213  0001BFF3    dd 8f000013b8                        pushl   $L250
        !           219:  214  0001BFF9    fe 08 effffffdf0                     callf   $8,_writes
        !           220:  215  0001C000                                   #                      print_cmpd2_data();
        !           221:  216  0001C000    fe 04 ef00000fcf                     callf   $4,_print_cmpd2_data
        !           222:  217  0001C007                                   #                      writes(",   index = ");
        !           223:  218  0001C007                                         .data   1
        !           224:  219  000013e6 *                                L252:
        !           225:  220  000013e6 *  2C202020696E646578203D200            .ascii  ",   index = \0"
        !           226:                   0
        !           227:  221  000013f3 *                                       .text
        !           228:  222  0001C007    dd 8f000013e6                        pushl   $L252
        !           229:  223  0001C00D    fe 08 effffffddc                     callf   $8,_writes
        !           230:  224  0001C014                                   #                      writed( index );
        !           231:  225  0001C014    dd effffffdd6                        pushl   _index
        !           232:  226  0001C01A    fe 08 effffffdcf                     callf   $8,_writed
        !           233:  227  0001C021                                   #                      writec('\n');
        !           234:  228  0001C021    dd 0a                                pushl   $10
        !           235:  229  0001C023    fe 08 effffffdc6                     callf   $8,_writec
        !           236:  230  0001C02A                                   #                      writes("   final Acc = ");
        !           237:  231  0001C02A                                         .data   1
        !           238:  232  000013f3 *                                L254:
        !           239:  233  000013f3 *  20202066696E616C204163632            .ascii  "   final Acc = \0"
        !           240:                   03D2000
        !           241:  234  00001403 *                                       .text
        !           242:  235  0001C02A    dd 8f000013f3                        pushl   $L254
        !           243:  236  0001C030    fe 08 effffffdb9                     callf   $8,_writes
        !           244:  237  0001C037                                   #                      write32h( dbl_st_acc.m );
        !           245:  238  0001C037    dd effffffdb3                        pushl   _dbl_st_acc
        !           246:  239  0001C03D    fe 08 effffffdac                     callf   $8,_write32h
        !           247:  240  0001C044                                   #                      writec(' ');
        !           248:  241  0001C044    dd 20                                pushl   $32
        !           249:  242  0001C046    fe 08 effffffda3                     callf   $8,_writec
        !           250:  243  0001C04D                                   #                      write32h( dbl_st_acc.l );
        !           251:  244  0001C04D    dd effffffda1                        pushl   _dbl_st_acc+4
        !           252:  245  0001C053    fe 08 effffffd96                     callf   $8,_write32h
        !           253:  246  0001C05A                                   #                      writes(",  operand 2 = ");
        !           254:  247  0001C05A                                         .data   1
        !           255:  248  00001403 *                                L256:
        !           256:  249  00001403 *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
        !           257:                   03D2000
        !           258:  250  00001413 *                                       .text
        !           259:  251  0001C05A    dd 8f00001403                        pushl   $L256
        !           260:  252  0001C060    fe 08 effffffd89                     callf   $8,_writes
        !           261:  253  0001C067                                   #                      write32h( sgl_value_3);
        !           262:  254  0001C067    dd effffffd83                        pushl   _sgl_value_3
        !           263:  255  0001C06D    fe 08 effffffd7c                     callf   $8,_write32h
        !           264:  256  0001C074                                   #                      writec(' ');
        !           265:  257  0001C074    dd 20                                pushl   $32
        !           266:  258  0001C076    fe 08 effffffd73                     callf   $8,_writec
        !           267:  259  0001C07D                                   #                      write32h( sgl_value_4);
        !           268:  260  0001C07D    dd effffffd6d                        pushl   _sgl_value_4
        !           269:  261  0001C083    fe 08 effffffd66                     callf   $8,_write32h
        !           270:  262  0001C08A                                   #                      writec('\n');
        !           271:  263  0001C08A    dd 0a                                pushl   $10
        !           272:  264  0001C08C    fe 08 effffffd5d                     callf   $8,_writec
        !           273:  265  0001C093                                   #                      writes("  initial PSL = ");
        !           274:  266  0001C093                                         .data   1
        !           275:  267  00001413 *                                L257:
        !           276:  268  00001413 *  2020696E697469616C2050534            .ascii  "  initial PSL = \0"
        !           277:                   C203D2000
        !           278:  269  00001424 *                                       .text
        !           279:  270  0001C093    dd 8f00001413                        pushl   $L257
        !           280:  271  0001C099    fe 08 effffffd50                     callf   $8,_writes
        !           281:  272  0001C0A0                                   #                      write32h( init_psl );
        !           282:  273  0001C0A0    dd effffffd4a                        pushl   _init_psl
        !           283:  274  0001C0A6    fe 08 effffffd43                     callf   $8,_write32h
        !           284:  275  0001C0AD                                   #                      writes(",  final PSL = ");
        !           285:  276  0001C0AD                                         .data   1
        !           286:  277  00001424 *                                L258:
        !           287:  278  00001424 *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
        !           288:                   03D2000
        !           289:  279  00001434 *                                       .text
        !           290:  280  0001C0AD    dd 8f00001424                        pushl   $L258
        !           291:  281  0001C0B3    fe 08 effffffd36                     callf   $8,_writes
        !           292:  282  0001C0BA                                   #                      write32h( psl_val );
        !           293:  283  0001C0BA    dd effffffd30                        pushl   _psl_val
        !           294:  284  0001C0C0    fe 08 effffffd29                     callf   $8,_write32h
        !           295:  285  0001C0C7                                   #                      writes(",  expected PSL = ");
        !           296:  286  0001C0C7                                         .data   1
        !           297:  287  00001434 *                                L259:
        !           298:  288  00001434 *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
        !           299:                   0534C203D2000
        !           300:  289  00001447 *                                       .text
        !           301:  290  0001C0C7    dd 8f00001434                        pushl   $L259
        !           302:  291  0001C0CD    fe 08 effffffd1c                     callf   $8,_writes
        !           303:  292  0001C0D4                                   #                      write32h( exp_psl );
        !           304:  293  0001C0D4    dd effffffd16                        pushl   _exp_psl
        !           305:  294  0001C0DA    fe 08 effffffd0f                     callf   $8,_write32h
        !           306:  295  0001C0E1                                   #                      writes(" \n");
        !           307:  296  0001C0E1                                         .data   1
        !           308:  297  00001447 *                                L260:
        !           309:  298  00001447 *  200A00                               .ascii  " \12\0"
        !           310:  299  0000144a *                                       .text
        !           311:  300  0001C0E1    dd 8f00001447                        pushl   $L260
        !           312:  301  0001C0E7    fe 08 effffffd02                     callf   $8,_writes
        !           313:  302  0001C0EE                                   #                   }
        !           314:  303  0001C0EE                                   #                   if ( halt_flg )
        !           315:  304  0001C0EE                                  L245:
        !           316:  305  0001C0EE    5d effffffcfc                        tstl    _halt_flg
        !           317:  306  0001C0F4    31 09                                jeql    L261
        !           318:  307  0001C0F6                                   #                      cmpd2_er_halt( BAD_PSL_HLT );  /* halt on the error    */
        !           319:  308  0001C0F6    dd 03                                pushl   $3
        !           320:  309  0001C0F8    fe 08 ef00000f3f                     callf   $8,_cmpd2_er_halt
        !           321:  310  0001C0FF                                   #                   if ( loop_on_err ) {
        !           322:  311  0001C0FF                                  L261:
        !           323:  312  0001C0FF    5d effffffceb                        tstl    _loop_on_err
        !           324:  313  0001C105    31 0a                                jeql    L263
        !           325:  314  0001C107                                   #                      force_loop = TRUE;         /* set the force loop flag */
        !           326:  315  0001C107    0d 01 effffffce2                     movl    $1,_force_loop
        !           327:  316  0001C10E                                   #                      asm("brw _cmpd2_1_lp1");   /* and loop                */
        !           328:  317  0001C10E    13 fe0b                       brw _cmpd2_1_lp1
        !           329:  318  0001C111                                   #                   };  /* end of loop-on-error    */
        !           330:  319  0001C111                                  L263:
        !           331:  320  0001C111                                   #                }   /* end of compare error    */
        !           332:  321  0001C111                                   #             } while( ++status_index < 3 );
        !           333:  322  0001C111                                  L244:
        !           334:  323  0001C111                                  L239:
        !           335:  324  0001C111    6d effffffcd9                        incl    _status_index
        !           336:  325  0001C117    0d effffffcd3 50                     movl    _status_index,r0
        !           337:  326  0001C11E    1d 50 03                             cmpl    r0,$3
        !           338:  327  0001C121    81 03 13 fde3                        jlss    L240
        !           339:  328  0001C126                                  L238:
        !           340:  329  0001C126                                   #      index2++;
        !           341:  330  0001C126    6d effffffcc4                        incl    _index2
        !           342:  331  0001C12C                                   #      } while( (index2 < 10) && (index2 < max_ldf_1_index) );
        !           343:  332  0001C12C                                  L236:
        !           344:  333  0001C12C    1d effffffcbe 0a                     cmpl    _index2,$10
        !           345:  334  0001C133    81 10                                jgeq    L9999
        !           346:  335  0001C135    1d effffffcb5 effffffcb0             cmpl    _index2,_max_ldf_1_index
        !           347:  336  0001C140    81 03 13 fd9a                        jlss    L237
        !           348:  337  0001C145                                  L9999:
        !           349:  338  0001C145                                  L235:
        !           350:  339  0001C145                                   #      } while( index++ < max_cmpd_1_index );
        !           351:  340  0001C145                                  L233:
        !           352:  341  0001C145    0d effffffca5 50                     movl    _index,r0
        !           353:  342  0001C14C    6d effffffc9e                        incl    _index
        !           354:  343  0001C152    1d 50 effffffc97                     cmpl    r0,_max_cmpd_1_index
        !           355:  344  0001C159    81 03 13 fd00                        jlss    L234
        !           356:  345  0001C15E                                  L232:
        !           357:  346  0001C15E                                   # }  /* end of subtest 1 */
        !           358:  347  0001C15E    40                                   ret#2
        !           359:  348  0001C15F                                         .set    L228,0x0
        !           360:  349  0001C15F                                  L230:
        !           361:  350  0001C15F    13 fce9                              jbr     L231
        !           362:  351  0001C162                                         .data
        !           363:  352  00001398 *                                       .text
        !           364:  353  0001C162                                         .align  1
        !           365:  354  0001C162                                         .globl  _cmpd2_2
        !           366:  355  0001C162                                  _cmpd2_2:
        !           367:  356  0001C162    0000                                 .word   L264
        !           368:  357  0001C164                                   #   
        !           369:  358  0001C164                                   # 
        !           370:  359  0001C164                                   # 
        !           371:  360  0001C164                                   # /****************************************************************************
        !           372:  361  0001C164                                   # *
        !           373:  362  0001C164                                   # *               SUBTEST 2 - CMPD2 test  - cache / cache data
        !           374:  363  0001C164                                   # *
        !           375:  364  0001C164                                   # ****************************************************************************/
        !           376:  365  0001C164                                   # cmpd2_2() 
        !           377:  366  0001C164                                   # {
        !           378:  367  0001C164    13 0301                              jbr     L266
        !           379:  368  0001C167                                  L267:
        !           380:  369  0001C167                                   #      force_loop = FALSE;
        !           381:  370  0001C167    4d effffffc83                        clrl    _force_loop
        !           382:  371  0001C16D                                   #      subtest = 2;
        !           383:  372  0001C16D    0d 02 effffffc7c                     movl    $2,_subtest
        !           384:  373  0001C174                                   #      index = 0;
        !           385:  374  0001C174    4d effffffc76                        clrl    _index
        !           386:  375  0001C17A                                   #      do 
        !           387:  376  0001C17A                                  L270:
        !           388:  377  0001C17A                                   #      {
        !           389:  378  0001C17A                                   #         dbl_value_1  = cmpd_1_data[index].one; /* get the data operands  */
        !           390:  379  0001C17A    5c 14 effffffc6f 50                  mull3   $20,_index,r0
        !           391:  380  0001C182    0c 8f00000000 50                     addl2   $_cmpd_1_data,r0
        !           392:  381  0001C189    0d a004 effffffc63                   movl    4(r0),_dbl_value_1+4
        !           393:  382  0001C191    0d 60 effffffc58                     movl    (r0),_dbl_value_1
        !           394:  383  0001C198                                   #         dbl_value_2  = cmpd_1_data[index].two;
        !           395:  384  0001C198    5c 14 effffffc51 50                  mull3   $20,_index,r0
        !           396:  385  0001C1A0    0c 8f00000008 50                     addl2   $_cmpd_1_data+8,r0
        !           397:  386  0001C1A7    0d a004 effffffc45                   movl    4(r0),_dbl_value_2+4
        !           398:  387  0001C1AF    0d 60 effffffc3a                     movl    (r0),_dbl_value_2
        !           399:  388  0001C1B6                                   #         sgl_value_1  = dbl_value_1.m;
        !           400:  389  0001C1B6    0d effffffc34 effffffc2f             movl    _dbl_value_1,_sgl_value_1
        !           401:  390  0001C1C1                                   #         sgl_value_2  = dbl_value_1.l;
        !           402:  391  0001C1C1    0d effffffc2d effffffc24             movl    _dbl_value_1+4,_sgl_value_2
        !           403:  392  0001C1CC                                   #         sgl_value_3  = dbl_value_2.m;
        !           404:  393  0001C1CC    0d effffffc1e effffffc19             movl    _dbl_value_2,_sgl_value_3
        !           405:  394  0001C1D7                                   #         sgl_value_4  = dbl_value_2.l;
        !           406:  395  0001C1D7    0d effffffc17 effffffc0e             movl    _dbl_value_2+4,_sgl_value_4
        !           407:  396  0001C1E2                                   #         sgl_expected = cmpd_1_data[index].flag; /* get expected results */
        !           408:  397  0001C1E2    5c 14 effffffc07 50                  mull3   $20,_index,r0
        !           409:  398  0001C1EA    0d e000000010 effffffbfb             movl    _cmpd_1_data+16(r0),_sgl_expected
        !           410:  399  0001C1F5                                   #         index2 = 0;                             /* clear Acc. data index */
        !           411:  400  0001C1F5    4d effffffbf5                        clrl    _index2
        !           412:  401  0001C1FB                                   #         do
        !           413:  402  0001C1FB                                  L273:
        !           414:  403  0001C1FB                                   #         {
        !           415:  404  0001C1FB                                   #            dbl_ld_acc = ldd_1_data[index2].ld; /* get the Accumulator data */
        !           416:  405  0001C1FB    48 04 effffffbee 50                  shll    $4,_index2,r0
        !           417:  406  0001C203    0c 8f00000000 50                     addl2   $_ldd_1_data,r0
        !           418:  407  0001C20A    0d a004 effffffbe2                   movl    4(r0),_dbl_ld_acc+4
        !           419:  408  0001C212    0d 60 effffffbd7                     movl    (r0),_dbl_ld_acc
        !           420:  409  0001C219                                   #            asm("ldd _dbl_ld_acc");                /* load the accumulator    */
        !           421:  410  0001C219    07 effffffbd1                 ldd _dbl_ld_acc
        !           422:  411  0001C21F                                   #            status_index = 0;                     /* clear the status index */
        !           423:  412  0001C21F    4d effffffbcb                        clrl    _status_index
        !           424:  413  0001C225                                   #            do
        !           425:  414  0001C225                                  L276:
        !           426:  415  0001C225                                   #            {
        !           427:  416  0001C225                                   #                sgl_dummy1 = status_array[status_index]; /* array = +, -, 0  */
        !           428:  417  0001C225    0d effffffbc5 50                     movl    _status_index,r0
        !           429:  418  0001C22C    0d 40effffffbbd                      movl    _status_array[r0],_sgl_dummy1
        !           430:                   effffffbb8 
        !           431:  419  0001C238                                   # /*
        !           432:  420  0001C238                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           433:  421  0001C238                                   #  * The force loop flag is set after the first error.
        !           434:  422  0001C238                                   # */
        !           435:  423  0001C238                                   #                asm("_cmpd2_2_lp1:");
        !           436:  424  0001C238                                  _cmpd2_2_lp1:
        !           437:  425  0001C238                                   #                asm("tstl _sgl_dummy1");         /* generate initial status  */
        !           438:  426  0001C238    5d effffffbb2                 tstl _sgl_dummy1
        !           439:  427  0001C23E                                   #                asm("movpsl _init_psl");         /* save the initial status  */
        !           440:  428  0001C23E    cd effffffbac                 movpsl _init_psl
        !           441:  429  0001C244                                   #                asm("nop");
        !           442:  430  0001C244    10                            nop
        !           443:  431  0001C245                                   #                asm("cmpd2 _dbl_value_1,_dbl_value_2");  /* compare the data */
        !           444:  432  0001C245    47 effffffba5 effffffba0      cmpd2 _dbl_value_1,_dbl_value_2
        !           445:  433  0001C250                                   #                asm("nop");
        !           446:  434  0001C250    10                            nop
        !           447:  435  0001C251                                   #                asm("movpsl _psl_val");          /* save the final status    */
        !           448:  436  0001C251    cd effffffb99                 movpsl _psl_val
        !           449:  437  0001C257                                   #                asm("std _dbl_st_acc");              /* save the acc             */
        !           450:  438  0001C257    27 effffffb93                 std _dbl_st_acc
        !           451:  439  0001C25D                                   #            if( force_loop )                 /* loop?                    */
        !           452:  440  0001C25D    5d effffffb8d                        tstl    _force_loop
        !           453:  441  0001C263    31 02                                jeql    L277
        !           454:  442  0001C265                                   #                    asm("brb _cmpd2_2_lp1");;    /* run the loop again       */
        !           455:  443  0001C265    11 d1                         brb _cmpd2_2_lp1
        !           456:  444  0001C267                                  L277:
        !           457:  445  0001C267                                   #                exp_psl = init_psl;              /* get the initial PSL      */
        !           458:  446  0001C267    0d effffffb83 effffffb7e             movl    _init_psl,_exp_psl
        !           459:  447  0001C272                                   #                exp_psl &= 0xfffffff3;           /* clear ZERO, NEGATIVE     */
        !           460:  448  0001C272    ac 88f3 effffffb76                   andl2   $-13,_exp_psl
        !           461:  449  0001C27A                                   #                if( sgl_expected == ZERO )
        !           462:  450  0001C27A    1d effffffb70 04                     cmpl    _sgl_expected,$4
        !           463:  451  0001C281    21 07                                jneq    L278
        !           464:  452  0001C283                                   #                    exp_psl |= PSL_Z;            /* expect the ZERO bit set  */
        !           465:  453  0001C283    8c 04 effffffb66                     orl2    $4,_exp_psl
        !           466:  454  0001C28A                                   #                if( sgl_expected == NEGATIVE )
        !           467:  455  0001C28A                                  L278:
        !           468:  456  0001C28A    1d effffffb60 08                     cmpl    _sgl_expected,$8
        !           469:  457  0001C291    21 07                                jneq    L279
        !           470:  458  0001C293                                   #                    exp_psl |= PSL_N;            /* expect the NEG bit set   */
        !           471:  459  0001C293    8c 08 effffffb56                     orl2    $8,_exp_psl
        !           472:  460  0001C29A                                   #                if( psl_val != exp_psl )  {      /* COMPARE the values       */
        !           473:  461  0001C29A                                  L279:
        !           474:  462  0001C29A    1d effffffb50 effffffb4b             cmpl    _psl_val,_exp_psl
        !           475:  463  0001C2A5    21 03 13 0170                        jeql    L280
        !           476:  464  0001C2AA                                   #                   errcnt++;                     /* bump the error count     */
        !           477:  465  0001C2AA    6d effffffb40                        incl    _errcnt
        !           478:  466  0001C2B0                                   #                   if ( prt_error ) {
        !           479:  467  0001C2B0    5d effffffb3a                        tstl    _prt_error
        !           480:  468  0001C2B6    21 03 13 013c                        jeql    L281
        !           481:  469  0001C2BB                                   #                      writes(" \n");         /* start a new print line   */
        !           482:  470  0001C2BB                                         .data   1
        !           483:  471  0000144a *                                L282:
        !           484:  472  0000144a *  200A00                               .ascii  " \12\0"
        !           485:  473  0000144d *                                       .text
        !           486:  474  0001C2BB    dd 8f0000144a                        pushl   $L282
        !           487:  475  0001C2C1    fe 08 effffffb28                     callf   $8,_writes
        !           488:  476  0001C2C8                                   #                      writes("cycle: ");
        !           489:  477  0001C2C8                                         .data   1
        !           490:  478  0000144d *                                L283:
        !           491:  479  0000144d *  6379636C653A2000                     .ascii  "cycle: \0"
        !           492:  480  00001455 *                                       .text
        !           493:  481  0001C2C8    dd 8f0000144d                        pushl   $L283
        !           494:  482  0001C2CE    fe 08 effffffb1b                     callf   $8,_writes
        !           495:  483  0001C2D5                                   #                      writed( cycle );
        !           496:  484  0001C2D5    dd effffffb15                        pushl   _cycle
        !           497:  485  0001C2DB    fe 08 effffffb0e                     callf   $8,_writed
        !           498:  486  0001C2E2                                   #                      writes("  CMPD2 test ");
        !           499:  487  0001C2E2                                         .data   1
        !           500:  488  00001455 *                                L284:
        !           501:  489  00001455 *  2020434D50443220746573742            .ascii  "  CMPD2 test \0"
        !           502:                   000
        !           503:  490  00001463 *                                       .text
        !           504:  491  0001C2E2    dd 8f00001455                        pushl   $L284
        !           505:  492  0001C2E8    fe 08 effffffb01                     callf   $8,_writes
        !           506:  493  0001C2EF                                   #                  writed( test_no );
        !           507:  494  0001C2EF    dd effffffafb                        pushl   _test_no
        !           508:  495  0001C2F5    fe 08 effffffaf4                     callf   $8,_writed
        !           509:  496  0001C2FC                                   #      writes(", subtest 2 (Cache/Cache Data) - BAD FINAL PSL\n");
        !           510:  497  0001C2FC                                         .data   1
        !           511:  498  00001463 *                                L285:
        !           512:  499  00001463 *  2C20737562746573742032202            .ascii  ", subtest 2 (Cache/Cache Data) - BAD FINAL PSL\12\0"
        !           513:                   843616368652F436163686520
        !           514:                   4461746129202D20424144204
        !           515:                   6494E414C2050534C0A00
        !           516:  500  00001493 *                                       .text
        !           517:  501  0001C2FC    dd 8f00001463                        pushl   $L285
        !           518:  502  0001C302    fe 08 effffffae7                     callf   $8,_writes
        !           519:  503  0001C309                                   #                      print_cmpd2_data();
        !           520:  504  0001C309    fe 04 ef00000cc6                     callf   $4,_print_cmpd2_data
        !           521:  505  0001C310                                   #                      writes(",   index = ");
        !           522:  506  0001C310                                         .data   1
        !           523:  507  00001493 *                                L286:
        !           524:  508  00001493 *  2C202020696E646578203D200            .ascii  ",   index = \0"
        !           525:                   0
        !           526:  509  000014a0 *                                       .text
        !           527:  510  0001C310    dd 8f00001493                        pushl   $L286
        !           528:  511  0001C316    fe 08 effffffad3                     callf   $8,_writes
        !           529:  512  0001C31D                                   #                      writed( index );
        !           530:  513  0001C31D    dd effffffacd                        pushl   _index
        !           531:  514  0001C323    fe 08 effffffac6                     callf   $8,_writed
        !           532:  515  0001C32A                                   #                      writec('\n');
        !           533:  516  0001C32A    dd 0a                                pushl   $10
        !           534:  517  0001C32C    fe 08 effffffabd                     callf   $8,_writec
        !           535:  518  0001C333                                   #                      writes("   final Acc = ");
        !           536:  519  0001C333                                         .data   1
        !           537:  520  000014a0 *                                L287:
        !           538:  521  000014a0 *  20202066696E616C204163632            .ascii  "   final Acc = \0"
        !           539:                   03D2000
        !           540:  522  000014b0 *                                       .text
        !           541:  523  0001C333    dd 8f000014a0                        pushl   $L287
        !           542:  524  0001C339    fe 08 effffffab0                     callf   $8,_writes
        !           543:  525  0001C340                                   #                      write32h( dbl_st_acc.m );
        !           544:  526  0001C340    dd effffffaaa                        pushl   _dbl_st_acc
        !           545:  527  0001C346    fe 08 effffffaa3                     callf   $8,_write32h
        !           546:  528  0001C34D                                   #                      writec(' ');
        !           547:  529  0001C34D    dd 20                                pushl   $32
        !           548:  530  0001C34F    fe 08 effffffa9a                     callf   $8,_writec
        !           549:  531  0001C356                                   #                      write32h( dbl_st_acc.l );
        !           550:  532  0001C356    dd effffffa98                        pushl   _dbl_st_acc+4
        !           551:  533  0001C35C    fe 08 effffffa8d                     callf   $8,_write32h
        !           552:  534  0001C363                                   #                      writes(",  operand 2 = ");
        !           553:  535  0001C363                                         .data   1
        !           554:  536  000014b0 *                                L288:
        !           555:  537  000014b0 *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
        !           556:                   03D2000
        !           557:  538  000014c0 *                                       .text
        !           558:  539  0001C363    dd 8f000014b0                        pushl   $L288
        !           559:  540  0001C369    fe 08 effffffa80                     callf   $8,_writes
        !           560:  541  0001C370                                   #                      write32h( sgl_value_3);
        !           561:  542  0001C370    dd effffffa7a                        pushl   _sgl_value_3
        !           562:  543  0001C376    fe 08 effffffa73                     callf   $8,_write32h
        !           563:  544  0001C37D                                   #                      writec(' ');
        !           564:  545  0001C37D    dd 20                                pushl   $32
        !           565:  546  0001C37F    fe 08 effffffa6a                     callf   $8,_writec
        !           566:  547  0001C386                                   #                      write32h( sgl_value_4);
        !           567:  548  0001C386    dd effffffa64                        pushl   _sgl_value_4
        !           568:  549  0001C38C    fe 08 effffffa5d                     callf   $8,_write32h
        !           569:  550  0001C393                                   #                      writec('\n');
        !           570:  551  0001C393    dd 0a                                pushl   $10
        !           571:  552  0001C395    fe 08 effffffa54                     callf   $8,_writec
        !           572:  553  0001C39C                                   #                      writes("  initial PSL = ");
        !           573:  554  0001C39C                                         .data   1
        !           574:  555  000014c0 *                                L289:
        !           575:  556  000014c0 *  2020696E697469616C2050534            .ascii  "  initial PSL = \0"
        !           576:                   C203D2000
        !           577:  557  000014d1 *                                       .text
        !           578:  558  0001C39C    dd 8f000014c0                        pushl   $L289
        !           579:  559  0001C3A2    fe 08 effffffa47                     callf   $8,_writes
        !           580:  560  0001C3A9                                   #                      write32h( init_psl );
        !           581:  561  0001C3A9    dd effffffa41                        pushl   _init_psl
        !           582:  562  0001C3AF    fe 08 effffffa3a                     callf   $8,_write32h
        !           583:  563  0001C3B6                                   #                      writes(",  final PSL = ");
        !           584:  564  0001C3B6                                         .data   1
        !           585:  565  000014d1 *                                L290:
        !           586:  566  000014d1 *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
        !           587:                   03D2000
        !           588:  567  000014e1 *                                       .text
        !           589:  568  0001C3B6    dd 8f000014d1                        pushl   $L290
        !           590:  569  0001C3BC    fe 08 effffffa2d                     callf   $8,_writes
        !           591:  570  0001C3C3                                   #                      write32h( psl_val );
        !           592:  571  0001C3C3    dd effffffa27                        pushl   _psl_val
        !           593:  572  0001C3C9    fe 08 effffffa20                     callf   $8,_write32h
        !           594:  573  0001C3D0                                   #                      writes(",  expected PSL = ");
        !           595:  574  0001C3D0                                         .data   1
        !           596:  575  000014e1 *                                L291:
        !           597:  576  000014e1 *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
        !           598:                   0534C203D2000
        !           599:  577  000014f4 *                                       .text
        !           600:  578  0001C3D0    dd 8f000014e1                        pushl   $L291
        !           601:  579  0001C3D6    fe 08 effffffa13                     callf   $8,_writes
        !           602:  580  0001C3DD                                   #                      write32h( exp_psl );
        !           603:  581  0001C3DD    dd effffffa0d                        pushl   _exp_psl
        !           604:  582  0001C3E3    fe 08 effffffa06                     callf   $8,_write32h
        !           605:  583  0001C3EA                                   #                      writes(" \n");
        !           606:  584  0001C3EA                                         .data   1
        !           607:  585  000014f4 *                                L292:
        !           608:  586  000014f4 *  200A00                               .ascii  " \12\0"
        !           609:  587  000014f7 *                                       .text
        !           610:  588  0001C3EA    dd 8f000014f4                        pushl   $L292
        !           611:  589  0001C3F0    fe 08 effffff9f9                     callf   $8,_writes
        !           612:  590  0001C3F7                                   #                   }
        !           613:  591  0001C3F7                                   #                   if ( halt_flg )
        !           614:  592  0001C3F7                                  L281:
        !           615:  593  0001C3F7    5d effffff9f3                        tstl    _halt_flg
        !           616:  594  0001C3FD    31 09                                jeql    L293
        !           617:  595  0001C3FF                                   #                      cmpd2_er_halt( BAD_PSL_HLT );  /* halt on the error   */
        !           618:  596  0001C3FF    dd 03                                pushl   $3
        !           619:  597  0001C401    fe 08 ef00000c36                     callf   $8,_cmpd2_er_halt
        !           620:  598  0001C408                                   #                   if ( loop_on_err ) 
        !           621:  599  0001C408                                  L293:
        !           622:  600  0001C408    5d effffff9e2                        tstl    _loop_on_err
        !           623:  601  0001C40E    31 0a                                jeql    L294
        !           624:  602  0001C410                                   #                   {
        !           625:  603  0001C410                                   #                      force_loop = TRUE;         /* set the force loop flag */
        !           626:  604  0001C410    0d 01 effffff9d9                     movl    $1,_force_loop
        !           627:  605  0001C417                                   #                      asm("brw _cmpd2_2_lp1");   /* and loop                */
        !           628:  606  0001C417    13 fe1e                       brw _cmpd2_2_lp1
        !           629:  607  0001C41A                                   #                   };  /* end of loop-on-error    */
        !           630:  608  0001C41A                                  L294:
        !           631:  609  0001C41A                                   #                }   /* end of compare error    */
        !           632:  610  0001C41A                                   #             } while( ++status_index < 3 );
        !           633:  611  0001C41A                                  L280:
        !           634:  612  0001C41A                                  L275:
        !           635:  613  0001C41A    6d effffff9d0                        incl    _status_index
        !           636:  614  0001C420    0d effffff9ca 50                     movl    _status_index,r0
        !           637:  615  0001C427    1d 50 03                             cmpl    r0,$3
        !           638:  616  0001C42A    81 03 13 fdf6                        jlss    L276
        !           639:  617  0001C42F                                  L274:
        !           640:  618  0001C42F                                   #         index2++;
        !           641:  619  0001C42F    6d effffff9bb                        incl    _index2
        !           642:  620  0001C435                                   #     } while( (index2 < 10) && (index2 < max_ldf_1_index) );
        !           643:  621  0001C435                                  L272:
        !           644:  622  0001C435    1d effffff9b5 0a                     cmpl    _index2,$10
        !           645:  623  0001C43C    81 10                                jgeq    L9998
        !           646:  624  0001C43E    1d effffff9ac effffff9a7             cmpl    _index2,_max_ldf_1_index
        !           647:  625  0001C449    81 03 13 fdad                        jlss    L273
        !           648:  626  0001C44E                                  L9998:
        !           649:  627  0001C44E                                  L271:
        !           650:  628  0001C44E                                   #      } while( index++ < max_cmpd_1_index );
        !           651:  629  0001C44E                                  L269:
        !           652:  630  0001C44E    0d effffff99c 50                     movl    _index,r0
        !           653:  631  0001C455    6d effffff995                        incl    _index
        !           654:  632  0001C45B    1d 50 effffff98e                     cmpl    r0,_max_cmpd_1_index
        !           655:  633  0001C462    81 03 13 fd13                        jlss    L270
        !           656:  634  0001C467                                  L268:
        !           657:  635  0001C467                                   # }  /* end of subtest 2 */
        !           658:  636  0001C467    40                                   ret#2
        !           659:  637  0001C468                                         .set    L264,0x0
        !           660:  638  0001C468                                  L266:
        !           661:  639  0001C468    13 fcfc                              jbr     L267
        !           662:  640  0001C46B                                         .data
        !           663:  641  00001398 *                                       .text
        !           664:  642  0001C46B    00                                   .align  1
        !           665:  643  0001C46C                                         .globl  _cmpd2_3
        !           666:  644  0001C46C                                  _cmpd2_3:
        !           667:  645  0001C46C    0000                                 .word   L295
        !           668:  646  0001C46E                                   #   
        !           669:  647  0001C46E                                   # 
        !           670:  648  0001C46E                                   # 
        !           671:  649  0001C46E                                   # /****************************************************************************
        !           672:  650  0001C46E                                   # *
        !           673:  651  0001C46E                                   # *               SUBTEST 3 - CMPD2 test  - cache / register data
        !           674:  652  0001C46E                                   # *
        !           675:  653  0001C46E                                   # ****************************************************************************/
        !           676:  654  0001C46E                                   # cmpd2_3() 
        !           677:  655  0001C46E                                   # {
        !           678:  656  0001C46E    13 030b                              jbr     L297
        !           679:  657  0001C471                                  L298:
        !           680:  658  0001C471                                   #      force_loop = FALSE;
        !           681:  659  0001C471    4d effffff979                        clrl    _force_loop
        !           682:  660  0001C477                                   #      subtest = 3;
        !           683:  661  0001C477    0d 03 effffff972                     movl    $3,_subtest
        !           684:  662  0001C47E                                   #      index = 0;
        !           685:  663  0001C47E    4d effffff96c                        clrl    _index
        !           686:  664  0001C484                                   #      do 
        !           687:  665  0001C484                                  L301:
        !           688:  666  0001C484                                   #      {
        !           689:  667  0001C484                                   #         dbl_value_1  = cmpd_1_data[index].one; /* get the data operands  */
        !           690:  668  0001C484    5c 14 effffff965 50                  mull3   $20,_index,r0
        !           691:  669  0001C48C    0c 8f00000000 50                     addl2   $_cmpd_1_data,r0
        !           692:  670  0001C493    0d a004 effffff959                   movl    4(r0),_dbl_value_1+4
        !           693:  671  0001C49B    0d 60 effffff94e                     movl    (r0),_dbl_value_1
        !           694:  672  0001C4A2                                   #         dbl_value_2  = cmpd_1_data[index].two;
        !           695:  673  0001C4A2    5c 14 effffff947 50                  mull3   $20,_index,r0
        !           696:  674  0001C4AA    0c 8f00000008 50                     addl2   $_cmpd_1_data+8,r0
        !           697:  675  0001C4B1    0d a004 effffff93b                   movl    4(r0),_dbl_value_2+4
        !           698:  676  0001C4B9    0d 60 effffff930                     movl    (r0),_dbl_value_2
        !           699:  677  0001C4C0                                   #         sgl_value_1  = dbl_value_1.m;
        !           700:  678  0001C4C0    0d effffff92a effffff925             movl    _dbl_value_1,_sgl_value_1
        !           701:  679  0001C4CB                                   #         sgl_value_2  = dbl_value_1.l;
        !           702:  680  0001C4CB    0d effffff923 effffff91a             movl    _dbl_value_1+4,_sgl_value_2
        !           703:  681  0001C4D6                                   #         sgl_value_3  = dbl_value_2.m;
        !           704:  682  0001C4D6    0d effffff914 effffff90f             movl    _dbl_value_2,_sgl_value_3
        !           705:  683  0001C4E1                                   #         sgl_value_4  = dbl_value_2.l;
        !           706:  684  0001C4E1    0d effffff90d effffff904             movl    _dbl_value_2+4,_sgl_value_4
        !           707:  685  0001C4EC                                   #         sgl_expected = cmpd_1_data[index].flag; /* get expected results */
        !           708:  686  0001C4EC    5c 14 effffff8fd 50                  mull3   $20,_index,r0
        !           709:  687  0001C4F4    0d e000000010 effffff8f1             movl    _cmpd_1_data+16(r0),_sgl_expected
        !           710:  688  0001C4FF                                   #         index2 = 0;                             /* clear Acc. data index */
        !           711:  689  0001C4FF    4d effffff8eb                        clrl    _index2
        !           712:  690  0001C505                                   #         do
        !           713:  691  0001C505                                  L304:
        !           714:  692  0001C505                                   #         {
        !           715:  693  0001C505                                   #            dbl_ld_acc = ldd_1_data[index2].ld; /* get the Accumulator data */
        !           716:  694  0001C505    48 04 effffff8e4 50                  shll    $4,_index2,r0
        !           717:  695  0001C50D    0c 8f00000000 50                     addl2   $_ldd_1_data,r0
        !           718:  696  0001C514    0d a004 effffff8d8                   movl    4(r0),_dbl_ld_acc+4
        !           719:  697  0001C51C    0d 60 effffff8cd                     movl    (r0),_dbl_ld_acc
        !           720:  698  0001C523                                   #            asm("ldd _dbl_ld_acc");              /* load the accumulator     */
        !           721:  699  0001C523    07 effffff8c7                 ldd _dbl_ld_acc
        !           722:  700  0001C529                                   #            status_index = 0;                   /* clear the status index   */
        !           723:  701  0001C529    4d effffff8c1                        clrl    _status_index
        !           724:  702  0001C52F                                   #            do
        !           725:  703  0001C52F                                  L307:
        !           726:  704  0001C52F                                   #            {
        !           727:  705  0001C52F                                   #                sgl_dummy1 = status_array[status_index]; /* array = +, -, 0  */
        !           728:  706  0001C52F    0d effffff8bb 50                     movl    _status_index,r0
        !           729:  707  0001C536    0d 40effffff8b3                      movl    _status_array[r0],_sgl_dummy1
        !           730:                   effffff8ae 
        !           731:  708  0001C542                                   # /*
        !           732:  709  0001C542                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           733:  710  0001C542                                   #  * The force loop flag is set after the first error.
        !           734:  711  0001C542                                   # */
        !           735:  712  0001C542                                   #                asm("_cmpd2_3_lp1:");
        !           736:  713  0001C542                                  _cmpd2_3_lp1:
        !           737:  714  0001C542                                   #                asm("movl _sgl_value_3,r4");     /* move operand #2's MSW,r4 */
        !           738:  715  0001C542    0d effffff8a8 54              movl _sgl_value_3,r4
        !           739:  716  0001C549                                   #                asm("movl _sgl_value_4,r5");     /* move operand #2's LSW,r5 */
        !           740:  717  0001C549    0d effffff8a1 55              movl _sgl_value_4,r5
        !           741:  718  0001C550                                   #                asm("tstl _sgl_dummy1");         /* generate initial status  */
        !           742:  719  0001C550    5d effffff89a                 tstl _sgl_dummy1
        !           743:  720  0001C556                                   #                asm("movpsl _init_psl");         /* save the initial status  */
        !           744:  721  0001C556    cd effffff894                 movpsl _init_psl
        !           745:  722  0001C55C                                   #                asm("nop");
        !           746:  723  0001C55C    10                            nop
        !           747:  724  0001C55D                                   #                asm("cmpd2 _dbl_value_1,r4");    /* compare the data         */
        !           748:  725  0001C55D    47 effffff88d 54              cmpd2 _dbl_value_1,r4
        !           749:  726  0001C564                                   #                asm("nop");
        !           750:  727  0001C564    10                            nop
        !           751:  728  0001C565                                   #                asm("movpsl _psl_val");          /* save the final status    */
        !           752:  729  0001C565    cd effffff885                 movpsl _psl_val
        !           753:  730  0001C56B                                   #                asm("std _sgl_st_acc");              /* save the acc             */
        !           754:  731  0001C56B    27 effffff87f                 std _sgl_st_acc
        !           755:  732  0001C571                                   #            if( force_loop )                 /* loop?                    */
        !           756:  733  0001C571    5d effffff879                        tstl    _force_loop
        !           757:  734  0001C577    31 02                                jeql    L308
        !           758:  735  0001C579                                   #                    asm("brb _cmpd2_3_lp1");;    /* run the loop again       */
        !           759:  736  0001C579    11 c7                         brb _cmpd2_3_lp1
        !           760:  737  0001C57B                                  L308:
        !           761:  738  0001C57B                                   #                exp_psl = init_psl;              /* get the initial PSL      */
        !           762:  739  0001C57B    0d effffff86f effffff86a             movl    _init_psl,_exp_psl
        !           763:  740  0001C586                                   #                exp_psl &= 0xfffffff3;           /* clear ZERO, NEGATIVE     */
        !           764:  741  0001C586    ac 88f3 effffff862                   andl2   $-13,_exp_psl
        !           765:  742  0001C58E                                   #                if( sgl_expected == ZERO )
        !           766:  743  0001C58E    1d effffff85c 04                     cmpl    _sgl_expected,$4
        !           767:  744  0001C595    21 07                                jneq    L309
        !           768:  745  0001C597                                   #                    exp_psl |= PSL_Z;            /* expect the ZERO bit set  */
        !           769:  746  0001C597    8c 04 effffff852                     orl2    $4,_exp_psl
        !           770:  747  0001C59E                                   #                if( sgl_expected == NEGATIVE )
        !           771:  748  0001C59E                                  L309:
        !           772:  749  0001C59E    1d effffff84c 08                     cmpl    _sgl_expected,$8
        !           773:  750  0001C5A5    21 07                                jneq    L310
        !           774:  751  0001C5A7                                   #                    exp_psl |= PSL_N;            /* expect the NEG bit set   */
        !           775:  752  0001C5A7    8c 08 effffff842                     orl2    $8,_exp_psl
        !           776:  753  0001C5AE                                   #                if( psl_val != exp_psl )  {      /* COMPARE the values       */
        !           777:  754  0001C5AE                                  L310:
        !           778:  755  0001C5AE    1d effffff83c effffff837             cmpl    _psl_val,_exp_psl
        !           779:  756  0001C5B9    21 03 13 0170                        jeql    L311
        !           780:  757  0001C5BE                                   #                   errcnt++;                     /* bump the error count     */
        !           781:  758  0001C5BE    6d effffff82c                        incl    _errcnt
        !           782:  759  0001C5C4                                   #                   if ( prt_error ) {
        !           783:  760  0001C5C4    5d effffff826                        tstl    _prt_error
        !           784:  761  0001C5CA    21 03 13 013c                        jeql    L312
        !           785:  762  0001C5CF                                   #                      writes(" \n");         /* start a new print line   */
        !           786:  763  0001C5CF                                         .data   1
        !           787:  764  000014f7 *                                L313:
        !           788:  765  000014f7 *  200A00                               .ascii  " \12\0"
        !           789:  766  000014fa *                                       .text
        !           790:  767  0001C5CF    dd 8f000014f7                        pushl   $L313
        !           791:  768  0001C5D5    fe 08 effffff814                     callf   $8,_writes
        !           792:  769  0001C5DC                                   #                      writes("cycle: ");
        !           793:  770  0001C5DC                                         .data   1
        !           794:  771  000014fa *                                L314:
        !           795:  772  000014fa *  6379636C653A2000                     .ascii  "cycle: \0"
        !           796:  773  00001502 *                                       .text
        !           797:  774  0001C5DC    dd 8f000014fa                        pushl   $L314
        !           798:  775  0001C5E2    fe 08 effffff807                     callf   $8,_writes
        !           799:  776  0001C5E9                                   #                      writed( cycle );
        !           800:  777  0001C5E9    dd effffff801                        pushl   _cycle
        !           801:  778  0001C5EF    fe 08 effffff7fa                     callf   $8,_writed
        !           802:  779  0001C5F6                                   #                      writes("  CMPD2 test ");
        !           803:  780  0001C5F6                                         .data   1
        !           804:  781  00001502 *                                L315:
        !           805:  782  00001502 *  2020434D50443220746573742            .ascii  "  CMPD2 test \0"
        !           806:                   000
        !           807:  783  00001510 *                                       .text
        !           808:  784  0001C5F6    dd 8f00001502                        pushl   $L315
        !           809:  785  0001C5FC    fe 08 effffff7ed                     callf   $8,_writes
        !           810:  786  0001C603                                   #                  writed( test_no );
        !           811:  787  0001C603    dd effffff7e7                        pushl   _test_no
        !           812:  788  0001C609    fe 08 effffff7e0                     callf   $8,_writed
        !           813:  789  0001C610                                   #      writes(", subtest 3 (Cache/Reg. Data) - BAD FINAL PSL\n");
        !           814:  790  0001C610                                         .data   1
        !           815:  791  00001510 *                                L316:
        !           816:  792  00001510 *  2C20737562746573742033202            .ascii  ", subtest 3 (Cache/Reg. Data) - BAD FINAL PSL\12\0"
        !           817:                   843616368652F5265672E2044
        !           818:                   61746129202D2042414420464
        !           819:                   94E414C2050534C0A00
        !           820:  793  0000153f *                                       .text
        !           821:  794  0001C610    dd 8f00001510                        pushl   $L316
        !           822:  795  0001C616    fe 08 effffff7d3                     callf   $8,_writes
        !           823:  796  0001C61D                                   #                      print_cmpd2_data();
        !           824:  797  0001C61D    fe 04 ef000009b2                     callf   $4,_print_cmpd2_data
        !           825:  798  0001C624                                   #                      writes(",   index = ");
        !           826:  799  0001C624                                         .data   1
        !           827:  800  0000153f *                                L317:
        !           828:  801  0000153f *  2C202020696E646578203D200            .ascii  ",   index = \0"
        !           829:                   0
        !           830:  802  0000154c *                                       .text
        !           831:  803  0001C624    dd 8f0000153f                        pushl   $L317
        !           832:  804  0001C62A    fe 08 effffff7bf                     callf   $8,_writes
        !           833:  805  0001C631                                   #                      writed( index );
        !           834:  806  0001C631    dd effffff7b9                        pushl   _index
        !           835:  807  0001C637    fe 08 effffff7b2                     callf   $8,_writed
        !           836:  808  0001C63E                                   #                      writec('\n');
        !           837:  809  0001C63E    dd 0a                                pushl   $10
        !           838:  810  0001C640    fe 08 effffff7a9                     callf   $8,_writec
        !           839:  811  0001C647                                   #                      writes("   final Acc = ");
        !           840:  812  0001C647                                         .data   1
        !           841:  813  0000154c *                                L318:
        !           842:  814  0000154c *  20202066696E616C204163632            .ascii  "   final Acc = \0"
        !           843:                   03D2000
        !           844:  815  0000155c *                                       .text
        !           845:  816  0001C647    dd 8f0000154c                        pushl   $L318
        !           846:  817  0001C64D    fe 08 effffff79c                     callf   $8,_writes
        !           847:  818  0001C654                                   #                      write32h( dbl_st_acc.m );
        !           848:  819  0001C654    dd effffff796                        pushl   _dbl_st_acc
        !           849:  820  0001C65A    fe 08 effffff78f                     callf   $8,_write32h
        !           850:  821  0001C661                                   #                      writec(' ');
        !           851:  822  0001C661    dd 20                                pushl   $32
        !           852:  823  0001C663    fe 08 effffff786                     callf   $8,_writec
        !           853:  824  0001C66A                                   #                      write32h( dbl_st_acc.l );
        !           854:  825  0001C66A    dd effffff784                        pushl   _dbl_st_acc+4
        !           855:  826  0001C670    fe 08 effffff779                     callf   $8,_write32h
        !           856:  827  0001C677                                   #                      writes(",  operand 2 = ");
        !           857:  828  0001C677                                         .data   1
        !           858:  829  0000155c *                                L319:
        !           859:  830  0000155c *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
        !           860:                   03D2000
        !           861:  831  0000156c *                                       .text
        !           862:  832  0001C677    dd 8f0000155c                        pushl   $L319
        !           863:  833  0001C67D    fe 08 effffff76c                     callf   $8,_writes
        !           864:  834  0001C684                                   #                      write32h( sgl_value_3);
        !           865:  835  0001C684    dd effffff766                        pushl   _sgl_value_3
        !           866:  836  0001C68A    fe 08 effffff75f                     callf   $8,_write32h
        !           867:  837  0001C691                                   #                      writec(' ');
        !           868:  838  0001C691    dd 20                                pushl   $32
        !           869:  839  0001C693    fe 08 effffff756                     callf   $8,_writec
        !           870:  840  0001C69A                                   #                      write32h( sgl_value_4);
        !           871:  841  0001C69A    dd effffff750                        pushl   _sgl_value_4
        !           872:  842  0001C6A0    fe 08 effffff749                     callf   $8,_write32h
        !           873:  843  0001C6A7                                   #                      writec('\n');
        !           874:  844  0001C6A7    dd 0a                                pushl   $10
        !           875:  845  0001C6A9    fe 08 effffff740                     callf   $8,_writec
        !           876:  846  0001C6B0                                   #                      writes("  initial PSL = ");
        !           877:  847  0001C6B0                                         .data   1
        !           878:  848  0000156c *                                L320:
        !           879:  849  0000156c *  2020696E697469616C2050534            .ascii  "  initial PSL = \0"
        !           880:                   C203D2000
        !           881:  850  0000157d *                                       .text
        !           882:  851  0001C6B0    dd 8f0000156c                        pushl   $L320
        !           883:  852  0001C6B6    fe 08 effffff733                     callf   $8,_writes
        !           884:  853  0001C6BD                                   #                      write32h( init_psl );
        !           885:  854  0001C6BD    dd effffff72d                        pushl   _init_psl
        !           886:  855  0001C6C3    fe 08 effffff726                     callf   $8,_write32h
        !           887:  856  0001C6CA                                   #                      writes(",  final PSL = ");
        !           888:  857  0001C6CA                                         .data   1
        !           889:  858  0000157d *                                L321:
        !           890:  859  0000157d *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
        !           891:                   03D2000
        !           892:  860  0000158d *                                       .text
        !           893:  861  0001C6CA    dd 8f0000157d                        pushl   $L321
        !           894:  862  0001C6D0    fe 08 effffff719                     callf   $8,_writes
        !           895:  863  0001C6D7                                   #                      write32h( psl_val );
        !           896:  864  0001C6D7    dd effffff713                        pushl   _psl_val
        !           897:  865  0001C6DD    fe 08 effffff70c                     callf   $8,_write32h
        !           898:  866  0001C6E4                                   #                      writes(",  expected PSL = ");
        !           899:  867  0001C6E4                                         .data   1
        !           900:  868  0000158d *                                L322:
        !           901:  869  0000158d *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
        !           902:                   0534C203D2000
        !           903:  870  000015a0 *                                       .text
        !           904:  871  0001C6E4    dd 8f0000158d                        pushl   $L322
        !           905:  872  0001C6EA    fe 08 effffff6ff                     callf   $8,_writes
        !           906:  873  0001C6F1                                   #                      write32h( exp_psl );
        !           907:  874  0001C6F1    dd effffff6f9                        pushl   _exp_psl
        !           908:  875  0001C6F7    fe 08 effffff6f2                     callf   $8,_write32h
        !           909:  876  0001C6FE                                   #                      writes(" \n");
        !           910:  877  0001C6FE                                         .data   1
        !           911:  878  000015a0 *                                L323:
        !           912:  879  000015a0 *  200A00                               .ascii  " \12\0"
        !           913:  880  000015a3 *                                       .text
        !           914:  881  0001C6FE    dd 8f000015a0                        pushl   $L323
        !           915:  882  0001C704    fe 08 effffff6e5                     callf   $8,_writes
        !           916:  883  0001C70B                                   #                   }
        !           917:  884  0001C70B                                   #                   if ( halt_flg )
        !           918:  885  0001C70B                                  L312:
        !           919:  886  0001C70B    5d effffff6df                        tstl    _halt_flg
        !           920:  887  0001C711    31 09                                jeql    L324
        !           921:  888  0001C713                                   #                      cmpd2_er_halt( BAD_PSL_HLT ); /* halt on the error    */
        !           922:  889  0001C713    dd 03                                pushl   $3
        !           923:  890  0001C715    fe 08 ef00000922                     callf   $8,_cmpd2_er_halt
        !           924:  891  0001C71C                                   #                   if ( loop_on_err ) 
        !           925:  892  0001C71C                                  L324:
        !           926:  893  0001C71C    5d effffff6ce                        tstl    _loop_on_err
        !           927:  894  0001C722    31 0a                                jeql    L325
        !           928:  895  0001C724                                   #                   {
        !           929:  896  0001C724                                   #                      force_loop = TRUE;         /* set the force loop flag */
        !           930:  897  0001C724    0d 01 effffff6c5                     movl    $1,_force_loop
        !           931:  898  0001C72B                                   #                      asm("brw _cmpd2_3_lp1");   /* and loop                */
        !           932:  899  0001C72B    13 fe14                       brw _cmpd2_3_lp1
        !           933:  900  0001C72E                                   #                   };  /* end of loop-on-error    */
        !           934:  901  0001C72E                                  L325:
        !           935:  902  0001C72E                                   #                }   /* end of compare error    */
        !           936:  903  0001C72E                                   #             } while( ++status_index < 3 );
        !           937:  904  0001C72E                                  L311:
        !           938:  905  0001C72E                                  L306:
        !           939:  906  0001C72E    6d effffff6bc                        incl    _status_index
        !           940:  907  0001C734    0d effffff6b6 50                     movl    _status_index,r0
        !           941:  908  0001C73B    1d 50 03                             cmpl    r0,$3
        !           942:  909  0001C73E    81 03 13 fdec                        jlss    L307
        !           943:  910  0001C743                                  L305:
        !           944:  911  0001C743                                   #         index2++;
        !           945:  912  0001C743    6d effffff6a7                        incl    _index2
        !           946:  913  0001C749                                   #     } while( (index2 < 10) && (index2 < max_ldf_1_index) );
        !           947:  914  0001C749                                  L303:
        !           948:  915  0001C749    1d effffff6a1 0a                     cmpl    _index2,$10
        !           949:  916  0001C750    81 10                                jgeq    L9997
        !           950:  917  0001C752    1d effffff698 effffff693             cmpl    _index2,_max_ldf_1_index
        !           951:  918  0001C75D    81 03 13 fda3                        jlss    L304
        !           952:  919  0001C762                                  L9997:
        !           953:  920  0001C762                                  L302:
        !           954:  921  0001C762                                   #      } while( index++ < max_cmpd_1_index );
        !           955:  922  0001C762                                  L300:
        !           956:  923  0001C762    0d effffff688 50                     movl    _index,r0
        !           957:  924  0001C769    6d effffff681                        incl    _index
        !           958:  925  0001C76F    1d 50 effffff67a                     cmpl    r0,_max_cmpd_1_index
        !           959:  926  0001C776    81 03 13 fd09                        jlss    L301
        !           960:  927  0001C77B                                  L299:
        !           961:  928  0001C77B                                   # }  /* end of subtest 3 */
        !           962:  929  0001C77B    40                                   ret#2
        !           963:  930  0001C77C                                         .set    L295,0x0
        !           964:  931  0001C77C                                  L297:
        !           965:  932  0001C77C    13 fcf2                              jbr     L298
        !           966:  933  0001C77F                                         .data
        !           967:  934  00001398 *                                       .text
        !           968:  935  0001C77F    00                                   .align  1
        !           969:  936  0001C780                                         .globl  _cmpd2_4
        !           970:  937  0001C780                                  _cmpd2_4:
        !           971:  938  0001C780    0000                                 .word   L326
        !           972:  939  0001C782                                   #   
        !           973:  940  0001C782                                   # 
        !           974:  941  0001C782                                   # 
        !           975:  942  0001C782                                   # /****************************************************************************
        !           976:  943  0001C782                                   # *
        !           977:  944  0001C782                                   # *               SUBTEST 4 - CMPD2 test  - register / cache data
        !           978:  945  0001C782                                   # *
        !           979:  946  0001C782                                   # ****************************************************************************/
        !           980:  947  0001C782                                   # cmpd2_4() 
        !           981:  948  0001C782                                   # {
        !           982:  949  0001C782    13 030e                              jbr     L328
        !           983:  950  0001C785                                  L329:
        !           984:  951  0001C785                                   #      force_loop = FALSE;
        !           985:  952  0001C785    4d effffff665                        clrl    _force_loop
        !           986:  953  0001C78B                                   #      subtest = 4;
        !           987:  954  0001C78B    0d 04 effffff65e                     movl    $4,_subtest
        !           988:  955  0001C792                                   #      index = 0;
        !           989:  956  0001C792    4d effffff658                        clrl    _index
        !           990:  957  0001C798                                   #      do 
        !           991:  958  0001C798                                  L332:
        !           992:  959  0001C798                                   #      {
        !           993:  960  0001C798                                   #         dbl_value_1  = cmpd_1_data[index].one; /* get the data operands  */
        !           994:  961  0001C798    5c 14 effffff651 50                  mull3   $20,_index,r0
        !           995:  962  0001C7A0    0c 8f00000000 50                     addl2   $_cmpd_1_data,r0
        !           996:  963  0001C7A7    0d a004 effffff645                   movl    4(r0),_dbl_value_1+4
        !           997:  964  0001C7AF    0d 60 effffff63a                     movl    (r0),_dbl_value_1
        !           998:  965  0001C7B6                                   #         dbl_value_2  = cmpd_1_data[index].two;
        !           999:  966  0001C7B6    5c 14 effffff633 50                  mull3   $20,_index,r0
        !          1000:  967  0001C7BE    0c 8f00000008 50                     addl2   $_cmpd_1_data+8,r0
        !          1001:  968  0001C7C5    0d a004 effffff627                   movl    4(r0),_dbl_value_2+4
        !          1002:  969  0001C7CD    0d 60 effffff61c                     movl    (r0),_dbl_value_2
        !          1003:  970  0001C7D4                                   #         sgl_value_1  = dbl_value_1.m;
        !          1004:  971  0001C7D4    0d effffff616 effffff611             movl    _dbl_value_1,_sgl_value_1
        !          1005:  972  0001C7DF                                   #         sgl_value_2  = dbl_value_1.l;
        !          1006:  973  0001C7DF    0d effffff60f effffff606             movl    _dbl_value_1+4,_sgl_value_2
        !          1007:  974  0001C7EA                                   #         sgl_value_3  = dbl_value_2.m;
        !          1008:  975  0001C7EA    0d effffff600 effffff5fb             movl    _dbl_value_2,_sgl_value_3
        !          1009:  976  0001C7F5                                   #         sgl_value_4  = dbl_value_2.l;
        !          1010:  977  0001C7F5    0d effffff5f9 effffff5f0             movl    _dbl_value_2+4,_sgl_value_4
        !          1011:  978  0001C800                                   #         sgl_expected = cmpd_1_data[index].flag; /* get expected results */
        !          1012:  979  0001C800    5c 14 effffff5e9 50                  mull3   $20,_index,r0
        !          1013:  980  0001C808    0d e000000010 effffff5dd             movl    _cmpd_1_data+16(r0),_sgl_expected
        !          1014:  981  0001C813                                   #         index2 = 0;                             /* clear Acc. data index */
        !          1015:  982  0001C813    4d effffff5d7                        clrl    _index2
        !          1016:  983  0001C819                                   #         do
        !          1017:  984  0001C819                                  L335:
        !          1018:  985  0001C819                                   #         {
        !          1019:  986  0001C819                                   #            dbl_ld_acc = ldd_1_data[index2].ld; /* get the Accumulator data */
        !          1020:  987  0001C819    48 04 effffff5d0 50                  shll    $4,_index2,r0
        !          1021:  988  0001C821    0c 8f00000000 50                     addl2   $_ldd_1_data,r0
        !          1022:  989  0001C828    0d a004 effffff5c4                   movl    4(r0),_dbl_ld_acc+4
        !          1023:  990  0001C830    0d 60 effffff5b9                     movl    (r0),_dbl_ld_acc
        !          1024:  991  0001C837                                   #            asm("ldd _dbl_ld_acc");                /* load the accumulator     */
        !          1025:  992  0001C837    07 effffff5b3                 ldd _dbl_ld_acc
        !          1026:  993  0001C83D                                   #            status_index = 0;                     /* clear the status index */
        !          1027:  994  0001C83D    4d effffff5ad                        clrl    _status_index
        !          1028:  995  0001C843                                   #            do
        !          1029:  996  0001C843                                  L338:
        !          1030:  997  0001C843                                   #            {
        !          1031:  998  0001C843                                   #                sgl_dummy1 = status_array[status_index]; /* array = +, -, 0  */
        !          1032:  999  0001C843    0d effffff5a7 50                     movl    _status_index,r0
        !          1033: 1000  0001C84A    0d 40effffff59f                      movl    _status_array[r0],_sgl_dummy1
        !          1034:                   effffff59a 
        !          1035: 1001  0001C856                                   # /*
        !          1036: 1002  0001C856                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !          1037: 1003  0001C856                                   #  * The force loop flag is set after the first error.
        !          1038: 1004  0001C856                                   # */
        !          1039: 1005  0001C856                                   #                asm("_cmpd2_4_lp1:");
        !          1040: 1006  0001C856                                  _cmpd2_4_lp1:
        !          1041: 1007  0001C856                                   #                asm("movl _sgl_value_1,r2");     /* move operand #1,s MSW,r2 */
        !          1042: 1008  0001C856    0d effffff594 52              movl _sgl_value_1,r2
        !          1043: 1009  0001C85D                                   #                asm("movl _sgl_value_2,r3");     /* move operand #1's LSW,r3 */
        !          1044: 1010  0001C85D    0d effffff58d 53              movl _sgl_value_2,r3
        !          1045: 1011  0001C864                                   #                asm("tstl _sgl_dummy1");         /* generate initial status  */
        !          1046: 1012  0001C864    5d effffff586                 tstl _sgl_dummy1
        !          1047: 1013  0001C86A                                   #                asm("movpsl _init_psl");         /* save the initial status  */
        !          1048: 1014  0001C86A    cd effffff580                 movpsl _init_psl
        !          1049: 1015  0001C870                                   #                asm("nop");
        !          1050: 1016  0001C870    10                            nop
        !          1051: 1017  0001C871                                   #                asm("cmpd2 r2,_dbl_value_2");        /* compare the data         */
        !          1052: 1018  0001C871    47 52 effffff578              cmpd2 r2,_dbl_value_2
        !          1053: 1019  0001C878                                   #                asm("nop");
        !          1054: 1020  0001C878    10                            nop
        !          1055: 1021  0001C879                                   #                asm("movpsl _psl_val");          /* save the final status    */
        !          1056: 1022  0001C879    cd effffff571                 movpsl _psl_val
        !          1057: 1023  0001C87F                                   #                asm("std _dbl_st_acc");              /* save the acc             */
        !          1058: 1024  0001C87F    27 effffff56b                 std _dbl_st_acc
        !          1059: 1025  0001C885                                   #            if( force_loop )                 /* loop?                    */
        !          1060: 1026  0001C885    5d effffff565                        tstl    _force_loop
        !          1061: 1027  0001C88B    31 02                                jeql    L339
        !          1062: 1028  0001C88D                                   #                    asm("brb _cmpd2_4_lp1");;    /* run the loop again       */
        !          1063: 1029  0001C88D    11 c7                         brb _cmpd2_4_lp1
        !          1064: 1030  0001C88F                                  L339:
        !          1065: 1031  0001C88F                                   #                exp_psl = init_psl;              /* get the initial PSL      */
        !          1066: 1032  0001C88F    0d effffff55b effffff556             movl    _init_psl,_exp_psl
        !          1067: 1033  0001C89A                                   #                exp_psl &= 0xfffffff3;           /* clear ZERO, NEGATIVE     */
        !          1068: 1034  0001C89A    ac 88f3 effffff54e                   andl2   $-13,_exp_psl
        !          1069: 1035  0001C8A2                                   #                if( sgl_expected == ZERO )
        !          1070: 1036  0001C8A2    1d effffff548 04                     cmpl    _sgl_expected,$4
        !          1071: 1037  0001C8A9    21 07                                jneq    L340
        !          1072: 1038  0001C8AB                                   #                    exp_psl |= PSL_Z;            /* expect the ZERO bit set  */
        !          1073: 1039  0001C8AB    8c 04 effffff53e                     orl2    $4,_exp_psl
        !          1074: 1040  0001C8B2                                   #                if( sgl_expected == NEGATIVE )
        !          1075: 1041  0001C8B2                                  L340:
        !          1076: 1042  0001C8B2    1d effffff538 08                     cmpl    _sgl_expected,$8
        !          1077: 1043  0001C8B9    21 07                                jneq    L341
        !          1078: 1044  0001C8BB                                   #                    exp_psl |= PSL_N;            /* expect the NEG bit set   */
        !          1079: 1045  0001C8BB    8c 08 effffff52e                     orl2    $8,_exp_psl
        !          1080: 1046  0001C8C2                                   #                if( psl_val != exp_psl ) {       /* COMPARE the values       */
        !          1081: 1047  0001C8C2                                  L341:
        !          1082: 1048  0001C8C2    1d effffff528 effffff523             cmpl    _psl_val,_exp_psl
        !          1083: 1049  0001C8CD    21 03 13 0173                        jeql    L342
        !          1084: 1050  0001C8D2                                   #                   errcnt++;                     /* bump the error count     */
        !          1085: 1051  0001C8D2    6d effffff518                        incl    _errcnt
        !          1086: 1052  0001C8D8                                   #                   if ( prt_error ) {
        !          1087: 1053  0001C8D8    5d effffff512                        tstl    _prt_error
        !          1088: 1054  0001C8DE    21 03 13 013c                        jeql    L343
        !          1089: 1055  0001C8E3                                   #                      writes(" \n");         /* start a new print line   */
        !          1090: 1056  0001C8E3                                         .data   1
        !          1091: 1057  000015a3 *                                L344:
        !          1092: 1058  000015a3 *  200A00                               .ascii  " \12\0"
        !          1093: 1059  000015a6 *                                       .text
        !          1094: 1060  0001C8E3    dd 8f000015a3                        pushl   $L344
        !          1095: 1061  0001C8E9    fe 08 effffff500                     callf   $8,_writes
        !          1096: 1062  0001C8F0                                   #                      writes("cycle: ");
        !          1097: 1063  0001C8F0                                         .data   1
        !          1098: 1064  000015a6 *                                L345:
        !          1099: 1065  000015a6 *  6379636C653A2000                     .ascii  "cycle: \0"
        !          1100: 1066  000015ae *                                       .text
        !          1101: 1067  0001C8F0    dd 8f000015a6                        pushl   $L345
        !          1102: 1068  0001C8F6    fe 08 effffff4f3                     callf   $8,_writes
        !          1103: 1069  0001C8FD                                   #                      writed( cycle );
        !          1104: 1070  0001C8FD    dd effffff4ed                        pushl   _cycle
        !          1105: 1071  0001C903    fe 08 effffff4e6                     callf   $8,_writed
        !          1106: 1072  0001C90A                                   #                      writes("  CMPD2 test ");
        !          1107: 1073  0001C90A                                         .data   1
        !          1108: 1074  000015ae *                                L346:
        !          1109: 1075  000015ae *  2020434D50443220746573742            .ascii  "  CMPD2 test \0"
        !          1110:                   000
        !          1111: 1076  000015bc *                                       .text
        !          1112: 1077  0001C90A    dd 8f000015ae                        pushl   $L346
        !          1113: 1078  0001C910    fe 08 effffff4d9                     callf   $8,_writes
        !          1114: 1079  0001C917                                   #                  writed( test_no );
        !          1115: 1080  0001C917    dd effffff4d3                        pushl   _test_no
        !          1116: 1081  0001C91D    fe 08 effffff4cc                     callf   $8,_writed
        !          1117: 1082  0001C924                                   #      writes(", subtest 4 (Reg./Cache Data) - BAD FINAL PSL\n");
        !          1118: 1083  0001C924                                         .data   1
        !          1119: 1084  000015bc *                                L347:
        !          1120: 1085  000015bc *  2C20737562746573742034202            .ascii  ", subtest 4 (Reg./Cache Data) - BAD FINAL PSL\12\0"
        !          1121:                   85265672E2F43616368652044
        !          1122:                   61746129202D2042414420464
        !          1123:                   94E414C2050534C0A00
        !          1124: 1086  000015eb *                                       .text
        !          1125: 1087  0001C924    dd 8f000015bc                        pushl   $L347
        !          1126: 1088  0001C92A    fe 08 effffff4bf                     callf   $8,_writes
        !          1127: 1089  0001C931                                   #                      print_cmpd2_data();
        !          1128: 1090  0001C931    fe 04 ef0000069e                     callf   $4,_print_cmpd2_data
        !          1129: 1091  0001C938                                   #                      writes(",   index = ");
        !          1130: 1092  0001C938                                         .data   1
        !          1131: 1093  000015eb *                                L348:
        !          1132: 1094  000015eb *  2C202020696E646578203D200            .ascii  ",   index = \0"
        !          1133:                   0
        !          1134: 1095  000015f8 *                                       .text
        !          1135: 1096  0001C938    dd 8f000015eb                        pushl   $L348
        !          1136: 1097  0001C93E    fe 08 effffff4ab                     callf   $8,_writes
        !          1137: 1098  0001C945                                   #                      writed( index );
        !          1138: 1099  0001C945    dd effffff4a5                        pushl   _index
        !          1139: 1100  0001C94B    fe 08 effffff49e                     callf   $8,_writed
        !          1140: 1101  0001C952                                   #                      writec('\n');
        !          1141: 1102  0001C952    dd 0a                                pushl   $10
        !          1142: 1103  0001C954    fe 08 effffff495                     callf   $8,_writec
        !          1143: 1104  0001C95B                                   #                      writes("   final Acc = ");
        !          1144: 1105  0001C95B                                         .data   1
        !          1145: 1106  000015f8 *                                L349:
        !          1146: 1107  000015f8 *  20202066696E616C204163632            .ascii  "   final Acc = \0"
        !          1147:                   03D2000
        !          1148: 1108  00001608 *                                       .text
        !          1149: 1109  0001C95B    dd 8f000015f8                        pushl   $L349
        !          1150: 1110  0001C961    fe 08 effffff488                     callf   $8,_writes
        !          1151: 1111  0001C968                                   #                      write32h( dbl_st_acc.m );
        !          1152: 1112  0001C968    dd effffff482                        pushl   _dbl_st_acc
        !          1153: 1113  0001C96E    fe 08 effffff47b                     callf   $8,_write32h
        !          1154: 1114  0001C975                                   #                      writec(' ');
        !          1155: 1115  0001C975    dd 20                                pushl   $32
        !          1156: 1116  0001C977    fe 08 effffff472                     callf   $8,_writec
        !          1157: 1117  0001C97E                                   #                      write32h( dbl_st_acc.l );
        !          1158: 1118  0001C97E    dd effffff470                        pushl   _dbl_st_acc+4
        !          1159: 1119  0001C984    fe 08 effffff465                     callf   $8,_write32h
        !          1160: 1120  0001C98B                                   #                      writes(",  operand 2 = ");
        !          1161: 1121  0001C98B                                         .data   1
        !          1162: 1122  00001608 *                                L350:
        !          1163: 1123  00001608 *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
        !          1164:                   03D2000
        !          1165: 1124  00001618 *                                       .text
        !          1166: 1125  0001C98B    dd 8f00001608                        pushl   $L350
        !          1167: 1126  0001C991    fe 08 effffff458                     callf   $8,_writes
        !          1168: 1127  0001C998                                   #                      write32h( sgl_value_3);
        !          1169: 1128  0001C998    dd effffff452                        pushl   _sgl_value_3
        !          1170: 1129  0001C99E    fe 08 effffff44b                     callf   $8,_write32h
        !          1171: 1130  0001C9A5                                   #                      writec(' ');
        !          1172: 1131  0001C9A5    dd 20                                pushl   $32
        !          1173: 1132  0001C9A7    fe 08 effffff442                     callf   $8,_writec
        !          1174: 1133  0001C9AE                                   #                      write32h( sgl_value_4);
        !          1175: 1134  0001C9AE    dd effffff43c                        pushl   _sgl_value_4
        !          1176: 1135  0001C9B4    fe 08 effffff435                     callf   $8,_write32h
        !          1177: 1136  0001C9BB                                   #                      writec('\n');
        !          1178: 1137  0001C9BB    dd 0a                                pushl   $10
        !          1179: 1138  0001C9BD    fe 08 effffff42c                     callf   $8,_writec
        !          1180: 1139  0001C9C4                                   #                      writes("  initial PSL = ");
        !          1181: 1140  0001C9C4                                         .data   1
        !          1182: 1141  00001618 *                                L351:
        !          1183: 1142  00001618 *  2020696E697469616C2050534            .ascii  "  initial PSL = \0"
        !          1184:                   C203D2000
        !          1185: 1143  00001629 *                                       .text
        !          1186: 1144  0001C9C4    dd 8f00001618                        pushl   $L351
        !          1187: 1145  0001C9CA    fe 08 effffff41f                     callf   $8,_writes
        !          1188: 1146  0001C9D1                                   #                      write32h( init_psl );
        !          1189: 1147  0001C9D1    dd effffff419                        pushl   _init_psl
        !          1190: 1148  0001C9D7    fe 08 effffff412                     callf   $8,_write32h
        !          1191: 1149  0001C9DE                                   #                      writes(",  final PSL = ");
        !          1192: 1150  0001C9DE                                         .data   1
        !          1193: 1151  00001629 *                                L352:
        !          1194: 1152  00001629 *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
        !          1195:                   03D2000
        !          1196: 1153  00001639 *                                       .text
        !          1197: 1154  0001C9DE    dd 8f00001629                        pushl   $L352
        !          1198: 1155  0001C9E4    fe 08 effffff405                     callf   $8,_writes
        !          1199: 1156  0001C9EB                                   #                      write32h( psl_val );
        !          1200: 1157  0001C9EB    dd effffff3ff                        pushl   _psl_val
        !          1201: 1158  0001C9F1    fe 08 effffff3f8                     callf   $8,_write32h
        !          1202: 1159  0001C9F8                                   #                      writes(",  expected PSL = ");
        !          1203: 1160  0001C9F8                                         .data   1
        !          1204: 1161  00001639 *                                L353:
        !          1205: 1162  00001639 *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
        !          1206:                   0534C203D2000
        !          1207: 1163  0000164c *                                       .text
        !          1208: 1164  0001C9F8    dd 8f00001639                        pushl   $L353
        !          1209: 1165  0001C9FE    fe 08 effffff3eb                     callf   $8,_writes
        !          1210: 1166  0001CA05                                   #                      write32h( exp_psl );
        !          1211: 1167  0001CA05    dd effffff3e5                        pushl   _exp_psl
        !          1212: 1168  0001CA0B    fe 08 effffff3de                     callf   $8,_write32h
        !          1213: 1169  0001CA12                                   #                      writes(" \n");
        !          1214: 1170  0001CA12                                         .data   1
        !          1215: 1171  0000164c *                                L354:
        !          1216: 1172  0000164c *  200A00                               .ascii  " \12\0"
        !          1217: 1173  0000164f *                                       .text
        !          1218: 1174  0001CA12    dd 8f0000164c                        pushl   $L354
        !          1219: 1175  0001CA18    fe 08 effffff3d1                     callf   $8,_writes
        !          1220: 1176  0001CA1F                                   #                   }
        !          1221: 1177  0001CA1F                                   #                   if ( halt_flg )
        !          1222: 1178  0001CA1F                                  L343:
        !          1223: 1179  0001CA1F    5d effffff3cb                        tstl    _halt_flg
        !          1224: 1180  0001CA25    31 09                                jeql    L355
        !          1225: 1181  0001CA27                                   #                      cmpd2_er_halt( BAD_PSL_HLT ); /* halt on the error    */
        !          1226: 1182  0001CA27    dd 03                                pushl   $3
        !          1227: 1183  0001CA29    fe 08 ef0000060e                     callf   $8,_cmpd2_er_halt
        !          1228: 1184  0001CA30                                   #                   if ( loop_on_err ) 
        !          1229: 1185  0001CA30                                  L355:
        !          1230: 1186  0001CA30    5d effffff3ba                        tstl    _loop_on_err
        !          1231: 1187  0001CA36    31 0d                                jeql    L356
        !          1232: 1188  0001CA38                                   #                   {
        !          1233: 1189  0001CA38                                   #                      force_loop = TRUE;         /* set the force loop flag */
        !          1234: 1190  0001CA38    0d 01 effffff3b1                     movl    $1,_force_loop
        !          1235: 1191  0001CA3F                                   #                      asm("jmp _cmpd2_4_lp1");   /* and loop                */
        !          1236: 1192  0001CA3F    71 effffffe11                 jmp _cmpd2_4_lp1
        !          1237: 1193  0001CA45                                   #                   }  /* end of loop-on-error    */
        !          1238: 1194  0001CA45                                   #                }  /* end of compare error    */
        !          1239: 1195  0001CA45                                  L356:
        !          1240: 1196  0001CA45                                   #           } while( ++status_index < 3 ); /* end of status loop */
        !          1241: 1197  0001CA45                                  L342:
        !          1242: 1198  0001CA45                                  L337:
        !          1243: 1199  0001CA45    6d effffff3a5                        incl    _status_index
        !          1244: 1200  0001CA4B    0d effffff39f 50                     movl    _status_index,r0
        !          1245: 1201  0001CA52    1d 50 03                             cmpl    r0,$3
        !          1246: 1202  0001CA55    81 03 13 fde9                        jlss    L338
        !          1247: 1203  0001CA5A                                  L336:
        !          1248: 1204  0001CA5A                                   #         index2++;
        !          1249: 1205  0001CA5A    6d effffff390                        incl    _index2
        !          1250: 1206  0001CA60                                   #     } while( (index2 < 10) && (index2 < max_ldf_1_index) );
        !          1251: 1207  0001CA60                                  L334:
        !          1252: 1208  0001CA60    1d effffff38a 0a                     cmpl    _index2,$10
        !          1253: 1209  0001CA67    81 10                                jgeq    L9996
        !          1254: 1210  0001CA69    1d effffff381 effffff37c             cmpl    _index2,_max_ldf_1_index
        !          1255: 1211  0001CA74    81 03 13 fda0                        jlss    L335
        !          1256: 1212  0001CA79                                  L9996:
        !          1257: 1213  0001CA79                                  L333:
        !          1258: 1214  0001CA79                                   #      } while( index++ < max_cmpd_1_index );
        !          1259: 1215  0001CA79                                  L331:
        !          1260: 1216  0001CA79    0d effffff371 50                     movl    _index,r0
        !          1261: 1217  0001CA80    6d effffff36a                        incl    _index
        !          1262: 1218  0001CA86    1d 50 effffff363                     cmpl    r0,_max_cmpd_1_index
        !          1263: 1219  0001CA8D    81 03 13 fd06                        jlss    L332
        !          1264: 1220  0001CA92                                  L330:
        !          1265: 1221  0001CA92                                   # }  /* end of subtest 4 */
        !          1266: 1222  0001CA92    40                                   ret#2
        !          1267: 1223  0001CA93                                         .set    L326,0x0
        !          1268: 1224  0001CA93                                  L328:
        !          1269: 1225  0001CA93    13 fcef                              jbr     L329
        !          1270: 1226  0001CA96                                         .data
        !          1271: 1227  00001398 *                                       .text
        !          1272: 1228  0001CA96                                         .align  1
        !          1273: 1229  0001CA96                                         .globl  _cmpd2_5
        !          1274: 1230  0001CA96                                  _cmpd2_5:
        !          1275: 1231  0001CA96    0000                                 .word   L357
        !          1276: 1232  0001CA98                                   #   
        !          1277: 1233  0001CA98                                   # 
        !          1278: 1234  0001CA98                                   # 
        !          1279: 1235  0001CA98                                   # /************************************************************************
        !          1280: 1236  0001CA98                                   # *
        !          1281: 1237  0001CA98                                   # *       SUBTEST 5 - Check for register corruption
        !          1282: 1238  0001CA98                                   # *
        !          1283: 1239  0001CA98                                   # ************************************************************************/
        !          1284: 1240  0001CA98                                   # cmpd2_5() 
        !          1285: 1241  0001CA98                                   # {
        !          1286: 1242  0001CA98    13 0296                              jbr     L359
        !          1287: 1243  0001CA9B                                  L360:
        !          1288: 1244  0001CA9B                                   #         force_loop = FALSE;                     /* clear force_loop flg */
        !          1289: 1245  0001CA9B    4d effffff34f                        clrl    _force_loop
        !          1290: 1246  0001CAA1                                   #         subtest = 5;
        !          1291: 1247  0001CAA1    0d 05 effffff348                     movl    $5,_subtest
        !          1292: 1248  0001CAA8                                   #         fill_reg_buf( load_regs );              /* get pattern for regs */
        !          1293: 1249  0001CAA8    dd 8f00000000                        pushl   $_load_regs
        !          1294: 1250  0001CAAE    fe 08 effffff33b                     callf   $8,_fill_reg_buf
        !          1295: 1251  0001CAB5                                   #         index = 0;
        !          1296: 1252  0001CAB5    4d effffff335                        clrl    _index
        !          1297: 1253  0001CABB                                   #         do 
        !          1298: 1254  0001CABB                                  L364:
        !          1299: 1255  0001CABB                                   #         {
        !          1300: 1256  0001CABB                                   #              dbl_value_1  = cmpd_1_data[index].one;   /* data to load    */
        !          1301: 1257  0001CABB    5c 14 effffff32e 50                  mull3   $20,_index,r0
        !          1302: 1258  0001CAC3    0c 8f00000000 50                     addl2   $_cmpd_1_data,r0
        !          1303: 1259  0001CACA    0d a004 effffff322                   movl    4(r0),_dbl_value_1+4
        !          1304: 1260  0001CAD2    0d 60 effffff317                     movl    (r0),_dbl_value_1
        !          1305: 1261  0001CAD9                                   #              dbl_value_2  = cmpd_1_data[index].two;   /* data to compare */
        !          1306: 1262  0001CAD9    5c 14 effffff310 50                  mull3   $20,_index,r0
        !          1307: 1263  0001CAE1    0c 8f00000008 50                     addl2   $_cmpd_1_data+8,r0
        !          1308: 1264  0001CAE8    0d a004 effffff304                   movl    4(r0),_dbl_value_2+4
        !          1309: 1265  0001CAF0    0d 60 effffff2f9                     movl    (r0),_dbl_value_2
        !          1310: 1266  0001CAF7                                   #              dbl_ld_acc.m = 0x40800000;               /* get acc data    */
        !          1311: 1267  0001CAF7    0d 8f40800000 effffff2ee             movl    $1082130432,_dbl_ld_acc
        !          1312: 1268  0001CB02                                   #              dbl_ld_acc.l = 0x10101010;               /* get acc data    */
        !          1313: 1269  0001CB02    0d 8f10101010 effffff2e7             movl    $269488144,_dbl_ld_acc+4
        !          1314: 1270  0001CB0D                                   #              sgl_value_1  = dbl_value_1.m;
        !          1315: 1271  0001CB0D    0d effffff2dd effffff2d8             movl    _dbl_value_1,_sgl_value_1
        !          1316: 1272  0001CB18                                   #              sgl_value_2  = dbl_value_1.l;
        !          1317: 1273  0001CB18    0d effffff2d6 effffff2cd             movl    _dbl_value_1+4,_sgl_value_2
        !          1318: 1274  0001CB23                                   #              sgl_value_3  = dbl_value_2.m;
        !          1319: 1275  0001CB23    0d effffff2c7 effffff2c2             movl    _dbl_value_2,_sgl_value_3
        !          1320: 1276  0001CB2E                                   #              sgl_value_4  = dbl_value_2.l;
        !          1321: 1277  0001CB2E    0d effffff2c0 effffff2b7             movl    _dbl_value_2+4,_sgl_value_4
        !          1322: 1278  0001CB39                                   #              asm("ldd _dbl_ld_acc");                   /* load the acc    */
        !          1323: 1279  0001CB39    07 effffff2b1                 ldd _dbl_ld_acc
        !          1324: 1280  0001CB3F                                   # /*
        !          1325: 1281  0001CB3F                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !          1326: 1282  0001CB3F                                   #  * The force loop flag is set after the first error.
        !          1327: 1283  0001CB3F                                   # */
        !          1328: 1284  0001CB3F                                   #              asm("_cmpd2_5_lp1:");
        !          1329: 1285  0001CB3F                                  _cmpd2_5_lp1:
        !          1330: 1286  0001CB3F                                   #              asm("loadr $0x1fff,_load_regs");   /* load regs 0 - 12       */
        !          1331: 1287  0001CB3F    ab 891fff effffff2a8          loadr $0x1fff,_load_regs
        !          1332: 1288  0001CB48                                   #              asm("nop");
        !          1333: 1289  0001CB48    10                            nop
        !          1334: 1290  0001CB49                                   #              asm("cmpd2 _dbl_value_1,_dbl_value_2"); /* compare the data  */
        !          1335: 1291  0001CB49    47 effffff2a1 effffff29c      cmpd2 _dbl_value_1,_dbl_value_2
        !          1336: 1292  0001CB54                                   #              asm("nop");
        !          1337: 1293  0001CB54    10                            nop
        !          1338: 1294  0001CB55                                   #              asm("storer $0x1fff,_store_regs"); /* store regs 0 - 12 */
        !          1339: 1295  0001CB55    bb 891fff effffff292          storer $0x1fff,_store_regs
        !          1340: 1296  0001CB5E                                   #              asm("std _dbl_st_acc");                /* save the acc             */
        !          1341: 1297  0001CB5E    27 effffff28c                 std _dbl_st_acc
        !          1342: 1298  0001CB64                                   #          if( force_loop )                   /* loop?                    */
        !          1343: 1299  0001CB64    5d effffff286                        tstl    _force_loop
        !          1344: 1300  0001CB6A    31 02                                jeql    L365
        !          1345: 1301  0001CB6C                                   #                    asm("brb _cmpd2_5_lp1");;    /* run the loop again       */
        !          1346: 1302  0001CB6C    11 d1                         brb _cmpd2_5_lp1
        !          1347: 1303  0001CB6E                                  L365:
        !          1348: 1304  0001CB6E                                   # /*
        !          1349: 1305  0001CB6E                                   #  * Now compare the stored register values to those that were loaded
        !          1350: 1306  0001CB6E                                   # */
        !          1351: 1307  0001CB6E                                   #              index2 = 0;
        !          1352: 1308  0001CB6E    4d effffff27c                        clrl    _index2
        !          1353: 1309  0001CB74                                   #            while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
        !          1354: 1310  0001CB74                                  L366:
        !          1355: 1311  0001CB74    0d effffff276 50                     movl    _index2,r0
        !          1356: 1312  0001CB7B    0d effffff26f 51                     movl    _index2,r1
        !          1357: 1313  0001CB82    1d 40effffff267                      cmpl    _load_regs[r0],_store_regs[r1]
        !          1358:                   41effffff261 
        !          1359: 1314  0001CB8F    21 11                                jneq    L367
        !          1360: 1315  0001CB91    1d effffff259 0d                     cmpl    _index2,$13
        !          1361: 1316  0001CB98    81 08                                jgeq    L367
        !          1362: 1317  0001CB9A                                   #                   index2++;                     /* check reg values */
        !          1363: 1318  0001CB9A    6d effffff250                        incl    _index2
        !          1364: 1319  0001CBA0    11 d2                                jbr     L366
        !          1365: 1320  0001CBA2                                  L367:
        !          1366: 1321  0001CBA2                                   #              if( index2 < 13 ) {                /* error if index2 < 13 */
        !          1367: 1322  0001CBA2    1d effffff248 0d                     cmpl    _index2,$13
        !          1368: 1323  0001CBA9    91 03 13 0169                        jgeq    L368
        !          1369: 1324  0001CBAE                                   #                   errcnt++;                     /* bump the error count */
        !          1370: 1325  0001CBAE    6d effffff23c                        incl    _errcnt
        !          1371: 1326  0001CBB4                                   #                   if ( prt_error ) {
        !          1372: 1327  0001CBB4    5d effffff236                        tstl    _prt_error
        !          1373: 1328  0001CBBA    21 03 13 0132                        jeql    L369
        !          1374: 1329  0001CBBF                                   #                        writes(" \n");      /* start a new print line   */
        !          1375: 1330  0001CBBF                                         .data   1
        !          1376: 1331  0000164f *                                L370:
        !          1377: 1332  0000164f *  200A00                               .ascii  " \12\0"
        !          1378: 1333  00001652 *                                       .text
        !          1379: 1334  0001CBBF    dd 8f0000164f                        pushl   $L370
        !          1380: 1335  0001CBC5    fe 08 effffff224                     callf   $8,_writes
        !          1381: 1336  0001CBCC                                   #                        writes("cycle: ");
        !          1382: 1337  0001CBCC                                         .data   1
        !          1383: 1338  00001652 *                                L371:
        !          1384: 1339  00001652 *  6379636C653A2000                     .ascii  "cycle: \0"
        !          1385: 1340  0000165a *                                       .text
        !          1386: 1341  0001CBCC    dd 8f00001652                        pushl   $L371
        !          1387: 1342  0001CBD2    fe 08 effffff217                     callf   $8,_writes
        !          1388: 1343  0001CBD9                                   #                        writed( cycle );
        !          1389: 1344  0001CBD9    dd effffff211                        pushl   _cycle
        !          1390: 1345  0001CBDF    fe 08 effffff20a                     callf   $8,_writed
        !          1391: 1346  0001CBE6                                   #                        writes(", CMPD2 test ");
        !          1392: 1347  0001CBE6                                         .data   1
        !          1393: 1348  0000165a *                                L372:
        !          1394: 1349  0000165a *  2C20434D50443220746573742            .ascii  ", CMPD2 test \0"
        !          1395:                   000
        !          1396: 1350  00001668 *                                       .text
        !          1397: 1351  0001CBE6    dd 8f0000165a                        pushl   $L372
        !          1398: 1352  0001CBEC    fe 08 effffff1fd                     callf   $8,_writes
        !          1399: 1353  0001CBF3                                   #                    writed( test_no );
        !          1400: 1354  0001CBF3    dd effffff1f7                        pushl   _test_no
        !          1401: 1355  0001CBF9    fe 08 effffff1f0                     callf   $8,_writed
        !          1402: 1356  0001CC00                                   #     writes(", subtest 5 - A REGISTER WAS MODIFIED\n");
        !          1403: 1357  0001CC00                                         .data   1
        !          1404: 1358  00001668 *                                L373:
        !          1405: 1359  00001668 *  2C20737562746573742035202            .ascii  ", subtest 5 - A REGISTER WAS MODIFIED\12\0"
        !          1406:                   D204120524547495354455220
        !          1407:                   574153204D4F4449464945440
        !          1408:                   A00
        !          1409: 1360  0000168f *                                       .text
        !          1410: 1361  0001CC00    dd 8f00001668                        pushl   $L373
        !          1411: 1362  0001CC06    fe 08 effffff1e3                     callf   $8,_writes
        !          1412: 1363  0001CC0D                                   #                        print_cmpd2_data();
        !          1413: 1364  0001CC0D    fe 04 ef000003c2                     callf   $4,_print_cmpd2_data
        !          1414: 1365  0001CC14                                   #                        writec('\n');
        !          1415: 1366  0001CC14    dd 0a                                pushl   $10
        !          1416: 1367  0001CC16    fe 08 effffff1d3                     callf   $8,_writec
        !          1417: 1368  0001CC1D                                   #                        writes("   final Acc = ");
        !          1418: 1369  0001CC1D                                         .data   1
        !          1419: 1370  0000168f *                                L374:
        !          1420: 1371  0000168f *  20202066696E616C204163632            .ascii  "   final Acc = \0"
        !          1421:                   03D2000
        !          1422: 1372  0000169f *                                       .text
        !          1423: 1373  0001CC1D    dd 8f0000168f                        pushl   $L374
        !          1424: 1374  0001CC23    fe 08 effffff1c6                     callf   $8,_writes
        !          1425: 1375  0001CC2A                                   #                        write32h( dbl_st_acc.m );
        !          1426: 1376  0001CC2A    dd effffff1c0                        pushl   _dbl_st_acc
        !          1427: 1377  0001CC30    fe 08 effffff1b9                     callf   $8,_write32h
        !          1428: 1378  0001CC37                                   #                        writec(' ');
        !          1429: 1379  0001CC37    dd 20                                pushl   $32
        !          1430: 1380  0001CC39    fe 08 effffff1b0                     callf   $8,_writec
        !          1431: 1381  0001CC40                                   #                        write32h( dbl_st_acc.l );
        !          1432: 1382  0001CC40    dd effffff1ae                        pushl   _dbl_st_acc+4
        !          1433: 1383  0001CC46    fe 08 effffff1a3                     callf   $8,_write32h
        !          1434: 1384  0001CC4D                                   #                        writes(",  operand 2 = ");
        !          1435: 1385  0001CC4D                                         .data   1
        !          1436: 1386  0000169f *                                L375:
        !          1437: 1387  0000169f *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
        !          1438:                   03D2000
        !          1439: 1388  000016af *                                       .text
        !          1440: 1389  0001CC4D    dd 8f0000169f                        pushl   $L375
        !          1441: 1390  0001CC53    fe 08 effffff196                     callf   $8,_writes
        !          1442: 1391  0001CC5A                                   #                        write32h( sgl_value_3);
        !          1443: 1392  0001CC5A    dd effffff190                        pushl   _sgl_value_3
        !          1444: 1393  0001CC60    fe 08 effffff189                     callf   $8,_write32h
        !          1445: 1394  0001CC67                                   #                        writec(' ');
        !          1446: 1395  0001CC67    dd 20                                pushl   $32
        !          1447: 1396  0001CC69    fe 08 effffff180                     callf   $8,_writec
        !          1448: 1397  0001CC70                                   #                        write32h( sgl_value_4);
        !          1449: 1398  0001CC70    dd effffff17a                        pushl   _sgl_value_4
        !          1450: 1399  0001CC76    fe 08 effffff173                     callf   $8,_write32h
        !          1451: 1400  0001CC7D                                   #                        writec('\n');
        !          1452: 1401  0001CC7D    dd 0a                                pushl   $10
        !          1453: 1402  0001CC7F    fe 08 effffff16a                     callf   $8,_writec
        !          1454: 1403  0001CC86                                   #                        writes("register ");
        !          1455: 1404  0001CC86                                         .data   1
        !          1456: 1405  000016af *                                L376:
        !          1457: 1406  000016af *  72656769737465722000                 .ascii  "register \0"
        !          1458: 1407  000016b9 *                                       .text
        !          1459: 1408  0001CC86    dd 8f000016af                        pushl   $L376
        !          1460: 1409  0001CC8C    fe 08 effffff15d                     callf   $8,_writes
        !          1461: 1410  0001CC93                                   #                        writed( index2 );
        !          1462: 1411  0001CC93    dd effffff157                        pushl   _index2
        !          1463: 1412  0001CC99    fe 08 effffff150                     callf   $8,_writed
        !          1464: 1413  0001CCA0                                   #                        writes(" = ");
        !          1465: 1414  0001CCA0                                         .data   1
        !          1466: 1415  000016b9 *                                L377:
        !          1467: 1416  000016b9 *  203D2000                             .ascii  " = \0"
        !          1468: 1417  000016bd *                                       .text
        !          1469: 1418  0001CCA0    dd 8f000016b9                        pushl   $L377
        !          1470: 1419  0001CCA6    fe 08 effffff143                     callf   $8,_writes
        !          1471: 1420  0001CCAD                                   #                        write32h( store_regs[ index2 ] );
        !          1472: 1421  0001CCAD    0d effffff13d 50                     movl    _index2,r0
        !          1473: 1422  0001CCB4    dd 40effffff135                      pushl   _store_regs[r0]
        !          1474: 1423  0001CCBB    fe 08 effffff12e                     callf   $8,_write32h
        !          1475: 1424  0001CCC2                                   #                        writes(",  should be = ");
        !          1476: 1425  0001CCC2                                         .data   1
        !          1477: 1426  000016bd *                                L378:
        !          1478: 1427  000016bd *  2C202073686F756C642062652            .ascii  ",  should be = \0"
        !          1479:                   03D2000
        !          1480: 1428  000016cd *                                       .text
        !          1481: 1429  0001CCC2    dd 8f000016bd                        pushl   $L378
        !          1482: 1430  0001CCC8    fe 08 effffff121                     callf   $8,_writes
        !          1483: 1431  0001CCCF                                   #                        write32h( load_regs[ index2 ] );
        !          1484: 1432  0001CCCF    0d effffff11b 50                     movl    _index2,r0
        !          1485: 1433  0001CCD6    dd 40effffff113                      pushl   _load_regs[r0]
        !          1486: 1434  0001CCDD    fe 08 effffff10c                     callf   $8,_write32h
        !          1487: 1435  0001CCE4                                   #                        writes("\n");
        !          1488: 1436  0001CCE4                                         .data   1
        !          1489: 1437  000016cd *                                L379:
        !          1490: 1438  000016cd *  0A00                                 .ascii  "\12\0"
        !          1491: 1439  000016cf *                                       .text
        !          1492: 1440  0001CCE4    dd 8f000016cd                        pushl   $L379
        !          1493: 1441  0001CCEA    fe 08 effffff0ff                     callf   $8,_writes
        !          1494: 1442  0001CCF1                                   #                   }
        !          1495: 1443  0001CCF1                                   #                   if ( halt_flg )
        !          1496: 1444  0001CCF1                                  L369:
        !          1497: 1445  0001CCF1    5d effffff0f9                        tstl    _halt_flg
        !          1498: 1446  0001CCF7    31 09                                jeql    L380
        !          1499: 1447  0001CCF9                                   #                        cmpd2_er_halt( BAD_REG_HLT ); /* halt on the error  */
        !          1500: 1448  0001CCF9    dd 02                                pushl   $2
        !          1501: 1449  0001CCFB    fe 08 ef0000033c                     callf   $8,_cmpd2_er_halt
        !          1502: 1450  0001CD02                                   #                   if ( loop_on_err ) 
        !          1503: 1451  0001CD02                                  L380:
        !          1504: 1452  0001CD02    5d effffff0e8                        tstl    _loop_on_err
        !          1505: 1453  0001CD08    31 0d                                jeql    L381
        !          1506: 1454  0001CD0A                                   #                   {
        !          1507: 1455  0001CD0A                                   #                      force_loop = TRUE;         /* set the force loop flag */
        !          1508: 1456  0001CD0A    0d 01 effffff0df                     movl    $1,_force_loop
        !          1509: 1457  0001CD11                                   #                      asm("jmp _cmpd2_5_lp1");   /* and loop                */
        !          1510: 1458  0001CD11    71 effffffe28                 jmp _cmpd2_5_lp1
        !          1511: 1459  0001CD17                                   #                   };   /* end of loop-on-error    */
        !          1512: 1460  0001CD17                                  L381:
        !          1513: 1461  0001CD17                                   #              }    /* end of compare error    */
        !          1514: 1462  0001CD17                                   #         } while( index++ < max_cmpd_1_index );
        !          1515: 1463  0001CD17                                  L368:
        !          1516: 1464  0001CD17                                  L363:
        !          1517: 1465  0001CD17    0d effffff0d3 50                     movl    _index,r0
        !          1518: 1466  0001CD1E    6d effffff0cc                        incl    _index
        !          1519: 1467  0001CD24    1d 50 effffff0c5                     cmpl    r0,_max_cmpd_1_index
        !          1520: 1468  0001CD2B    81 03 13 fd8b                        jlss    L364
        !          1521: 1469  0001CD30                                  L362:
        !          1522: 1470  0001CD30                                   # }  /* end of subtest 5 */
        !          1523: 1471  0001CD30    40                                   ret#2
        !          1524: 1472  0001CD31                                         .set    L357,0x0
        !          1525: 1473  0001CD31                                  L359:
        !          1526: 1474  0001CD31    13 fd67                              jbr     L360
        !          1527: 1475  0001CD34                                         .data
        !          1528: 1476  00001398 *                                       .text
        !          1529: 1477  0001CD34                                         .align  1
        !          1530: 1478  0001CD34                                         .globl  _cmpd2_6
        !          1531: 1479  0001CD34                                  _cmpd2_6:
        !          1532: 1480  0001CD34    0000                                 .word   L382
        !          1533: 1481  0001CD36                                   #   
        !          1534: 1482  0001CD36                                   # 
        !          1535: 1483  0001CD36                                   # 
        !          1536: 1484  0001CD36                                   # /****************************************************************************
        !          1537: 1485  0001CD36                                   # *
        !          1538: 1486  0001CD36                                   # *               SUBTEST 6 - CMPD2 test  Accumulator stability test
        !          1539: 1487  0001CD36                                   # *
        !          1540: 1488  0001CD36                                   # ****************************************************************************/
        !          1541: 1489  0001CD36                                   # cmpd2_6() 
        !          1542: 1490  0001CD36                                   # {
        !          1543: 1491  0001CD36    13 029a                              jbr     L384
        !          1544: 1492  0001CD39                                  L385:
        !          1545: 1493  0001CD39                                   #      force_loop = FALSE;
        !          1546: 1494  0001CD39    4d effffff0b1                        clrl    _force_loop
        !          1547: 1495  0001CD3F                                   #      subtest = 6;
        !          1548: 1496  0001CD3F    0d 06 effffff0aa                     movl    $6,_subtest
        !          1549: 1497  0001CD46                                   #      index = 0;
        !          1550: 1498  0001CD46    4d effffff0a4                        clrl    _index
        !          1551: 1499  0001CD4C                                   #      do 
        !          1552: 1500  0001CD4C                                  L388:
        !          1553: 1501  0001CD4C                                   #      {
        !          1554: 1502  0001CD4C                                   #         dbl_value_1  = cmpd_1_data[index].one; /* get the data operands  */
        !          1555: 1503  0001CD4C    5c 14 effffff09d 50                  mull3   $20,_index,r0
        !          1556: 1504  0001CD54    0c 8f00000000 50                     addl2   $_cmpd_1_data,r0
        !          1557: 1505  0001CD5B    0d a004 effffff091                   movl    4(r0),_dbl_value_1+4
        !          1558: 1506  0001CD63    0d 60 effffff086                     movl    (r0),_dbl_value_1
        !          1559: 1507  0001CD6A                                   #         dbl_value_2  = cmpd_1_data[index].two;
        !          1560: 1508  0001CD6A    5c 14 effffff07f 50                  mull3   $20,_index,r0
        !          1561: 1509  0001CD72    0c 8f00000008 50                     addl2   $_cmpd_1_data+8,r0
        !          1562: 1510  0001CD79    0d a004 effffff073                   movl    4(r0),_dbl_value_2+4
        !          1563: 1511  0001CD81    0d 60 effffff068                     movl    (r0),_dbl_value_2
        !          1564: 1512  0001CD88                                   #         sgl_value_1  = dbl_value_1.m;
        !          1565: 1513  0001CD88    0d effffff062 effffff05d             movl    _dbl_value_1,_sgl_value_1
        !          1566: 1514  0001CD93                                   #         sgl_value_2  = dbl_value_1.l;
        !          1567: 1515  0001CD93    0d effffff05b effffff052             movl    _dbl_value_1+4,_sgl_value_2
        !          1568: 1516  0001CD9E                                   #         sgl_value_3  = dbl_value_2.m;
        !          1569: 1517  0001CD9E    0d effffff04c effffff047             movl    _dbl_value_2,_sgl_value_3
        !          1570: 1518  0001CDA9                                   #         sgl_value_4  = dbl_value_2.l;
        !          1571: 1519  0001CDA9    0d effffff045 effffff03c             movl    _dbl_value_2+4,_sgl_value_4
        !          1572: 1520  0001CDB4                                   #         index2 = 0;                             /* clear Acc. data index */
        !          1573: 1521  0001CDB4    4d effffff036                        clrl    _index2
        !          1574: 1522  0001CDBA                                   #         do
        !          1575: 1523  0001CDBA                                  L391:
        !          1576: 1524  0001CDBA                                   #         {
        !          1577: 1525  0001CDBA                                   #            dbl_ld_acc   = ldd_1_data[index2].ld; /* get the Accumulator data */
        !          1578: 1526  0001CDBA    48 04 effffff02f 50                  shll    $4,_index2,r0
        !          1579: 1527  0001CDC2    0c 8f00000000 50                     addl2   $_ldd_1_data,r0
        !          1580: 1528  0001CDC9    0d a004 effffff023                   movl    4(r0),_dbl_ld_acc+4
        !          1581: 1529  0001CDD1    0d 60 effffff018                     movl    (r0),_dbl_ld_acc
        !          1582: 1530  0001CDD8                                   #            if( !(dbl_ld_acc.m & 0x7f800000 ) ) {
        !          1583: 1531  0001CDD8    3d 8f7f800000 effffff00d             bitl    $2139095040,_dbl_ld_acc
        !          1584: 1532  0001CDE3    21 0e                                jneq    L392
        !          1585: 1533  0001CDE5                                   #                   dbl_expected.m = 0;                /* expect a '0' stored */
        !          1586: 1534  0001CDE5    4d effffff005                        clrl    _dbl_expected
        !          1587: 1535  0001CDEB                                   #                   dbl_expected.l = 0;
        !          1588: 1536  0001CDEB    4d effffff003                        clrl    _dbl_expected+4
        !          1589: 1537  0001CDF1                                   #            } else
        !          1590: 1538  0001CDF1    11 16                                jbr     L393
        !          1591: 1539  0001CDF3                                  L392:
        !          1592: 1540  0001CDF3                                   #               dbl_expected = dbl_ld_acc;
        !          1593: 1541  0001CDF3    0d efffffeffb efffffeff6             movl    _dbl_ld_acc+4,_dbl_expected+4
        !          1594: 1542  0001CDFE    0d efffffefec efffffefe7             movl    _dbl_ld_acc,_dbl_expected
        !          1595: 1543  0001CE09                                  L393:
        !          1596: 1544  0001CE09                                   #        asm("ldd _dbl_ld_acc");                 /* load the acc    */
        !          1597: 1545  0001CE09    07 efffffefe1                 ldd _dbl_ld_acc
        !          1598: 1546  0001CE0F                                   # /*
        !          1599: 1547  0001CE0F                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !          1600: 1548  0001CE0F                                   #  * The force loop flag is set after the first error.
        !          1601: 1549  0001CE0F                                   # */
        !          1602: 1550  0001CE0F                                   #                asm("_cmpd2_6_lp1:");
        !          1603: 1551  0001CE0F                                  _cmpd2_6_lp1:
        !          1604: 1552  0001CE0F                                   #                asm("nop");
        !          1605: 1553  0001CE0F    10                            nop
        !          1606: 1554  0001CE10                                   #                asm("cmpd2 _dbl_value_1,_dbl_value_2");/* compare the operands */
        !          1607: 1555  0001CE10    47 efffffefda efffffefd5      cmpd2 _dbl_value_1,_dbl_value_2
        !          1608: 1556  0001CE1B                                   #                asm("nop");
        !          1609: 1557  0001CE1B    10                            nop
        !          1610: 1558  0001CE1C                                   #                asm("std _dbl_st_acc");          /* store the accumulator    */
        !          1611: 1559  0001CE1C    27 efffffefce                 std _dbl_st_acc
        !          1612: 1560  0001CE22                                   #                if( force_loop )                 /* loop?                    */
        !          1613: 1561  0001CE22    5d efffffefc8                        tstl    _force_loop
        !          1614: 1562  0001CE28    31 02                                jeql    L394
        !          1615: 1563  0001CE2A                                   #                    asm("brb _cmpd2_6_lp1");;    /* run the loop again       */
        !          1616: 1564  0001CE2A    11 e3                         brb _cmpd2_6_lp1
        !          1617: 1565  0001CE2C                                  L394:
        !          1618: 1566  0001CE2C                                   #                if( (dbl_st_acc.m != dbl_expected.m) || /* compare the final */
        !          1619: 1567  0001CE2C                                   #                    (dbl_st_acc.l != dbl_expected.l) ) {  /*    results      */
        !          1620: 1568  0001CE2C    1d efffffefbe efffffefb9             cmpl    _dbl_st_acc,_dbl_expected
        !          1621: 1569  0001CE37    21 10                                jneq    L9995
        !          1622: 1570  0001CE39    1d efffffefb5 efffffefb0             cmpl    _dbl_st_acc+4,_dbl_expected+4
        !          1623: 1571  0001CE44    21 03 13 0151                        jeql    L395
        !          1624: 1572  0001CE49                                  L9995:
        !          1625: 1573  0001CE49                                   #                   errcnt++;                     /* bump the error count     */
        !          1626: 1574  0001CE49    6d efffffefa1                        incl    _errcnt
        !          1627: 1575  0001CE4F                                   #                   if ( prt_error ) {
        !          1628: 1576  0001CE4F    5d efffffef9b                        tstl    _prt_error
        !          1629: 1577  0001CE55    21 03 13 011a                        jeql    L396
        !          1630: 1578  0001CE5A                                   #                      writes(" \n");         /* start a new print line   */
        !          1631: 1579  0001CE5A                                         .data   1
        !          1632: 1580  000016cf *                                L397:
        !          1633: 1581  000016cf *  200A00                               .ascii  " \12\0"
        !          1634: 1582  000016d2 *                                       .text
        !          1635: 1583  0001CE5A    dd 8f000016cf                        pushl   $L397
        !          1636: 1584  0001CE60    fe 08 efffffef89                     callf   $8,_writes
        !          1637: 1585  0001CE67                                   #                      writes("cycle: ");
        !          1638: 1586  0001CE67                                         .data   1
        !          1639: 1587  000016d2 *                                L398:
        !          1640: 1588  000016d2 *  6379636C653A2000                     .ascii  "cycle: \0"
        !          1641: 1589  000016da *                                       .text
        !          1642: 1590  0001CE67    dd 8f000016d2                        pushl   $L398
        !          1643: 1591  0001CE6D    fe 08 efffffef7c                     callf   $8,_writes
        !          1644: 1592  0001CE74                                   #                      writed( cycle );
        !          1645: 1593  0001CE74    dd efffffef76                        pushl   _cycle
        !          1646: 1594  0001CE7A    fe 08 efffffef6f                     callf   $8,_writed
        !          1647: 1595  0001CE81                                   #                      writes("  CMPD2 test ");
        !          1648: 1596  0001CE81                                         .data   1
        !          1649: 1597  000016da *                                L399:
        !          1650: 1598  000016da *  2020434D50443220746573742            .ascii  "  CMPD2 test \0"
        !          1651:                   000
        !          1652: 1599  000016e8 *                                       .text
        !          1653: 1600  0001CE81    dd 8f000016da                        pushl   $L399
        !          1654: 1601  0001CE87    fe 08 efffffef62                     callf   $8,_writes
        !          1655: 1602  0001CE8E                                   #                  writed( test_no );
        !          1656: 1603  0001CE8E    dd efffffef5c                        pushl   _test_no
        !          1657: 1604  0001CE94    fe 08 efffffef55                     callf   $8,_writed
        !          1658: 1605  0001CE9B                                   #                  writes(", subtest 6 - BAD FINAL ACC\n");
        !          1659: 1606  0001CE9B                                         .data   1
        !          1660: 1607  000016e8 *                                L400:
        !          1661: 1608  000016e8 *  2C20737562746573742036202            .ascii  ", subtest 6 - BAD FINAL ACC\12\0"
        !          1662:                   D204241442046494E414C2041
        !          1663:                   43430A00
        !          1664: 1609  00001705 *                                       .text
        !          1665: 1610  0001CE9B    dd 8f000016e8                        pushl   $L400
        !          1666: 1611  0001CEA1    fe 08 efffffef48                     callf   $8,_writes
        !          1667: 1612  0001CEA8                                   #                      print_cmpd2_data();
        !          1668: 1613  0001CEA8    fe 04 ef00000127                     callf   $4,_print_cmpd2_data
        !          1669: 1614  0001CEAF                                   #                      writes(",   index = ");
        !          1670: 1615  0001CEAF                                         .data   1
        !          1671: 1616  00001705 *                                L401:
        !          1672: 1617  00001705 *  2C202020696E646578203D200            .ascii  ",   index = \0"
        !          1673:                   0
        !          1674: 1618  00001712 *                                       .text
        !          1675: 1619  0001CEAF    dd 8f00001705                        pushl   $L401
        !          1676: 1620  0001CEB5    fe 08 efffffef34                     callf   $8,_writes
        !          1677: 1621  0001CEBC                                   #                      writed( index );
        !          1678: 1622  0001CEBC    dd efffffef2e                        pushl   _index
        !          1679: 1623  0001CEC2    fe 08 efffffef27                     callf   $8,_writed
        !          1680: 1624  0001CEC9                                   #                      writec('\n');
        !          1681: 1625  0001CEC9    dd 0a                                pushl   $10
        !          1682: 1626  0001CECB    fe 08 efffffef1e                     callf   $8,_writec
        !          1683: 1627  0001CED2                                   #                      writes("   final Acc = ");
        !          1684: 1628  0001CED2                                         .data   1
        !          1685: 1629  00001712 *                                L402:
        !          1686: 1630  00001712 *  20202066696E616C204163632            .ascii  "   final Acc = \0"
        !          1687:                   03D2000
        !          1688: 1631  00001722 *                                       .text
        !          1689: 1632  0001CED2    dd 8f00001712                        pushl   $L402
        !          1690: 1633  0001CED8    fe 08 efffffef11                     callf   $8,_writes
        !          1691: 1634  0001CEDF                                   #                      write32h( dbl_st_acc.m );
        !          1692: 1635  0001CEDF    dd efffffef0b                        pushl   _dbl_st_acc
        !          1693: 1636  0001CEE5    fe 08 efffffef04                     callf   $8,_write32h
        !          1694: 1637  0001CEEC                                   #                      writec(' ');
        !          1695: 1638  0001CEEC    dd 20                                pushl   $32
        !          1696: 1639  0001CEEE    fe 08 efffffeefb                     callf   $8,_writec
        !          1697: 1640  0001CEF5                                   #                      write32h( dbl_st_acc.l );
        !          1698: 1641  0001CEF5    dd efffffeef9                        pushl   _dbl_st_acc+4
        !          1699: 1642  0001CEFB    fe 08 efffffeeee                     callf   $8,_write32h
        !          1700: 1643  0001CF02                                   #                      writes(",  operand 2 = ");
        !          1701: 1644  0001CF02                                         .data   1
        !          1702: 1645  00001722 *                                L403:
        !          1703: 1646  00001722 *  2C20206F706572616E6420322            .ascii  ",  operand 2 = \0"
        !          1704:                   03D2000
        !          1705: 1647  00001732 *                                       .text
        !          1706: 1648  0001CF02    dd 8f00001722                        pushl   $L403
        !          1707: 1649  0001CF08    fe 08 efffffeee1                     callf   $8,_writes
        !          1708: 1650  0001CF0F                                   #                      write32h( sgl_value_3);
        !          1709: 1651  0001CF0F    dd efffffeedb                        pushl   _sgl_value_3
        !          1710: 1652  0001CF15    fe 08 efffffeed4                     callf   $8,_write32h
        !          1711: 1653  0001CF1C                                   #                      writec(' ');
        !          1712: 1654  0001CF1C    dd 20                                pushl   $32
        !          1713: 1655  0001CF1E    fe 08 efffffeecb                     callf   $8,_writec
        !          1714: 1656  0001CF25                                   #                      write32h( sgl_value_4);
        !          1715: 1657  0001CF25    dd efffffeec5                        pushl   _sgl_value_4
        !          1716: 1658  0001CF2B    fe 08 efffffeebe                     callf   $8,_write32h
        !          1717: 1659  0001CF32                                   #                      writec('\n');
        !          1718: 1660  0001CF32    dd 0a                                pushl   $10
        !          1719: 1661  0001CF34    fe 08 efffffeeb5                     callf   $8,_writec
        !          1720: 1662  0001CF3B                                   #                      writes("expected Acc = ");
        !          1721: 1663  0001CF3B                                         .data   1
        !          1722: 1664  00001732 *                                L404:
        !          1723: 1665  00001732 *  6578706563746564204163632            .ascii  "expected Acc = \0"
        !          1724:                   03D2000
        !          1725: 1666  00001742 *                                       .text
        !          1726: 1667  0001CF3B    dd 8f00001732                        pushl   $L404
        !          1727: 1668  0001CF41    fe 08 efffffeea8                     callf   $8,_writes
        !          1728: 1669  0001CF48                                   #                      write32h( dbl_expected.m );
        !          1729: 1670  0001CF48    dd efffffeea2                        pushl   _dbl_expected
        !          1730: 1671  0001CF4E    fe 08 efffffee9b                     callf   $8,_write32h
        !          1731: 1672  0001CF55                                   #                      writec(' ');
        !          1732: 1673  0001CF55    dd 20                                pushl   $32
        !          1733: 1674  0001CF57    fe 08 efffffee92                     callf   $8,_writec
        !          1734: 1675  0001CF5E                                   #                      write32h( dbl_expected.l );
        !          1735: 1676  0001CF5E    dd efffffee90                        pushl   _dbl_expected+4
        !          1736: 1677  0001CF64    fe 08 efffffee85                     callf   $8,_write32h
        !          1737: 1678  0001CF6B                                   #                      writec('\n');
        !          1738: 1679  0001CF6B    dd 0a                                pushl   $10
        !          1739: 1680  0001CF6D    fe 08 efffffee7c                     callf   $8,_writec
        !          1740: 1681  0001CF74                                   #                   }
        !          1741: 1682  0001CF74                                   #                   if ( halt_flg )                   /* halt on error?      */
        !          1742: 1683  0001CF74                                  L396:
        !          1743: 1684  0001CF74    5d efffffee76                        tstl    _halt_flg
        !          1744: 1685  0001CF7A    31 09                                jeql    L405
        !          1745: 1686  0001CF7C                                   #                      cmpd2_er_halt( BAD_ACC_HLT );
        !          1746: 1687  0001CF7C    dd 01                                pushl   $1
        !          1747: 1688  0001CF7E    fe 08 ef000000b9                     callf   $8,_cmpd2_er_halt
        !          1748: 1689  0001CF85                                   #                   if ( loop_on_err ) 
        !          1749: 1690  0001CF85                                  L405:
        !          1750: 1691  0001CF85    5d efffffee65                        tstl    _loop_on_err
        !          1751: 1692  0001CF8B    31 0d                                jeql    L406
        !          1752: 1693  0001CF8D                                   #                   {
        !          1753: 1694  0001CF8D                                   #                      force_loop = TRUE;         /* set the force loop flag */
        !          1754: 1695  0001CF8D    0d 01 efffffee5c                     movl    $1,_force_loop
        !          1755: 1696  0001CF94                                   #                      asm("jmp _cmpd2_6_lp1");   /* and loop                */
        !          1756: 1697  0001CF94    71 effffffe75                 jmp _cmpd2_6_lp1
        !          1757: 1698  0001CF9A                                   #                   };   /* end of loop-on-error    */
        !          1758: 1699  0001CF9A                                  L406:
        !          1759: 1700  0001CF9A                                   #                }   /* end of compare error    */
        !          1760: 1701  0001CF9A                                   #         index2++;
        !          1761: 1702  0001CF9A                                  L395:
        !          1762: 1703  0001CF9A    6d efffffee50                        incl    _index2
        !          1763: 1704  0001CFA0                                   #         } while( (index2 < 10) && (index2 < max_ldf_1_index) );
        !          1764: 1705  0001CFA0                                  L390:
        !          1765: 1706  0001CFA0    1d efffffee4a 0a                     cmpl    _index2,$10
        !          1766: 1707  0001CFA7    81 10                                jgeq    L9994
        !          1767: 1708  0001CFA9    1d efffffee41 efffffee3c             cmpl    _index2,_max_ldf_1_index
        !          1768: 1709  0001CFB4    81 03 13 fe01                        jlss    L391
        !          1769: 1710  0001CFB9                                  L9994:
        !          1770: 1711  0001CFB9                                  L389:
        !          1771: 1712  0001CFB9                                   #      } while( index++ < max_cmpd_1_index );
        !          1772: 1713  0001CFB9                                  L387:
        !          1773: 1714  0001CFB9    0d efffffee31 50                     movl    _index,r0
        !          1774: 1715  0001CFC0    6d efffffee2a                        incl    _index
        !          1775: 1716  0001CFC6    1d 50 efffffee23                     cmpl    r0,_max_cmpd_1_index
        !          1776: 1717  0001CFCD    81 03 13 fd7a                        jlss    L388
        !          1777: 1718  0001CFD2                                  L386:
        !          1778: 1719  0001CFD2                                   # }  /* end of subtest 6 */
        !          1779: 1720  0001CFD2    40                                   ret#2
        !          1780: 1721  0001CFD3                                         .set    L382,0x0
        !          1781: 1722  0001CFD3                                  L384:
        !          1782: 1723  0001CFD3    13 fd63                              jbr     L385
        !          1783: 1724  0001CFD6                                         .data
        !          1784: 1725  00001398 *                                       .text
        !          1785: 1726  0001CFD6                                         .align  1
        !          1786: 1727  0001CFD6                                         .globl  _print_cmpd2_data
        !          1787: 1728  0001CFD6                                  _print_cmpd2_data:
        !          1788: 1729  0001CFD6    0000                                 .word   L407
        !          1789: 1730  0001CFD8                                   #   
        !          1790: 1731  0001CFD8                                   # 
        !          1791: 1732  0001CFD8                                   # 
        !          1792: 1733  0001CFD8                                   # /**************************************************************************
        !          1793: 1734  0001CFD8                                   # *
        !          1794: 1735  0001CFD8                                   # *       PRINT THE DATA AND STORE RESULTS
        !          1795: 1736  0001CFD8                                   # *
        !          1796: 1737  0001CFD8                                   # * initial Acc = xxxxxxxx xxxxxxxx,  operand 1 = xxxxxxxx xxxxxxxx
        !          1797: 1738  0001CFD8                                   # **************************************************************************/
        !          1798: 1739  0001CFD8                                   # print_cmpd2_data()
        !          1799: 1740  0001CFD8                                   # {
        !          1800: 1741  0001CFD8    11 61                                jbr     L409
        !          1801: 1742  0001CFDA                                  L410:
        !          1802: 1743  0001CFDA                                   #         writes(" initial Acc = ");
        !          1803: 1744  0001CFDA                                         .data   1
        !          1804: 1745  00001742 *                                L411:
        !          1805: 1746  00001742 *  20696E697469616C204163632            .ascii  " initial Acc = \0"
        !          1806:                   03D2000
        !          1807: 1747  00001752 *                                       .text
        !          1808: 1748  0001CFDA    dd 8f00001742                        pushl   $L411
        !          1809: 1749  0001CFE0    fe 08 efffffee09                     callf   $8,_writes
        !          1810: 1750  0001CFE7                                   #         write32h( dbl_ld_acc.m );
        !          1811: 1751  0001CFE7    dd efffffee03                        pushl   _dbl_ld_acc
        !          1812: 1752  0001CFED    fe 08 efffffedfc                     callf   $8,_write32h
        !          1813: 1753  0001CFF4                                   #         writec(' ');
        !          1814: 1754  0001CFF4    dd 20                                pushl   $32
        !          1815: 1755  0001CFF6    fe 08 efffffedf3                     callf   $8,_writec
        !          1816: 1756  0001CFFD                                   #         write32h( dbl_ld_acc.l );
        !          1817: 1757  0001CFFD    dd efffffedf1                        pushl   _dbl_ld_acc+4
        !          1818: 1758  0001D003    fe 08 efffffede6                     callf   $8,_write32h
        !          1819: 1759  0001D00A                                   #         writes(",  operand 1 = ");
        !          1820: 1760  0001D00A                                         .data   1
        !          1821: 1761  00001752 *                                L412:
        !          1822: 1762  00001752 *  2C20206F706572616E6420312            .ascii  ",  operand 1 = \0"
        !          1823:                   03D2000
        !          1824: 1763  00001762 *                                       .text
        !          1825: 1764  0001D00A    dd 8f00001752                        pushl   $L412
        !          1826: 1765  0001D010    fe 08 efffffedd9                     callf   $8,_writes
        !          1827: 1766  0001D017                                   #         write32h( sgl_value_1 );
        !          1828: 1767  0001D017    dd efffffedd3                        pushl   _sgl_value_1
        !          1829: 1768  0001D01D    fe 08 efffffedcc                     callf   $8,_write32h
        !          1830: 1769  0001D024                                   #         writec(' ');
        !          1831: 1770  0001D024    dd 20                                pushl   $32
        !          1832: 1771  0001D026    fe 08 efffffedc3                     callf   $8,_writec
        !          1833: 1772  0001D02D                                   #         write32h( sgl_value_2 );
        !          1834: 1773  0001D02D    dd efffffedbd                        pushl   _sgl_value_2
        !          1835: 1774  0001D033    fe 08 efffffedb6                     callf   $8,_write32h
        !          1836: 1775  0001D03A                                   # }
        !          1837: 1776  0001D03A    40                                   ret#2
        !          1838: 1777  0001D03B                                         .set    L407,0x0
        !          1839: 1778  0001D03B                                  L409:
        !          1840: 1779  0001D03B    11 9d                                jbr     L410
        !          1841: 1780  0001D03D                                         .data
        !          1842: 1781  00001398 *                                       .text
        !          1843: 1782  0001D03D    00                                   .align  1
        !          1844: 1783  0001D03E                                         .globl  _cmpd2_er_halt
        !          1845: 1784  0001D03E                                  _cmpd2_er_halt:
        !          1846: 1785  0001D03E    0000                                 .word   L413
        !          1847: 1786  0001D040                                   #   
        !          1848: 1787  0001D040                                   # 
        !          1849: 1788  0001D040                                   # 
        !          1850: 1789  0001D040                                   # /**************************************************************************
        !          1851: 1790  0001D040                                   # *
        !          1852: 1791  0001D040                                   # *               HALT ON ERROR ROUTINE 
        !          1853: 1792  0001D040                                   # *
        !          1854: 1793  0001D040                                   # **************************************************************************/
        !          1855: 1794  0001D040                                   # cmpd2_er_halt( halt_code )
        !          1856: 1795  0001D040                                   # int halt_code;
        !          1857: 1796  0001D040                                   # {
        !          1858: 1797  0001D040    13 0140                              jbr     L415
        !          1859: 1798  0001D043                                  L416:
        !          1860: 1799  0001D043                                   #         sgl_value_1 = dbl_value_1.m;
        !          1861: 1800  0001D043    0d efffffeda7 efffffeda2             movl    _dbl_value_1,_sgl_value_1
        !          1862: 1801  0001D04E                                   #         sgl_value_2 = dbl_value_1.l;
        !          1863: 1802  0001D04E    0d efffffeda0 efffffed97             movl    _dbl_value_1+4,_sgl_value_2
        !          1864: 1803  0001D059                                   #         sgl_value_3 = dbl_value_2.m;
        !          1865: 1804  0001D059    0d efffffed91 efffffed8c             movl    _dbl_value_2,_sgl_value_3
        !          1866: 1805  0001D064                                   #         sgl_value_4 = dbl_value_2.l;
        !          1867: 1806  0001D064    0d efffffed8a efffffed81             movl    _dbl_value_2+4,_sgl_value_4
        !          1868: 1807  0001D06F                                   #         sgl_value_5 = dbl_ld_acc.m;
        !          1869: 1808  0001D06F    0d efffffed7b efffffed76             movl    _dbl_ld_acc,_sgl_value_5
        !          1870: 1809  0001D07A                                   #         sgl_value_6 = dbl_ld_acc.l;
        !          1871: 1810  0001D07A    0d efffffed74 efffffed6b             movl    _dbl_ld_acc+4,_sgl_value_6
        !          1872: 1811  0001D085                                   #         sgl_value_7 = dbl_st_acc.m;
        !          1873: 1812  0001D085    0d efffffed65 efffffed60             movl    _dbl_st_acc,_sgl_value_7
        !          1874: 1813  0001D090                                   #         sgl_value_8 = dbl_st_acc.l;
        !          1875: 1814  0001D090    0d efffffed5e efffffed55             movl    _dbl_st_acc+4,_sgl_value_8
        !          1876: 1815  0001D09B                                   #         sgl_dummy1 = halt_code;                 /* get the error type    */
        !          1877: 1816  0001D09B    0d ad04 efffffed4d                   movl    4(fp),_sgl_dummy1
        !          1878: 1817  0001D0A3                                   #         asm("movl _test_no,r0");                /* r0  = test number     */
        !          1879: 1818  0001D0A3    0d efffffed47 50              movl _test_no,r0
        !          1880: 1819  0001D0AA                                   #         asm("movl _subtest,r1");                /* r1  = subtest number  */
        !          1881: 1820  0001D0AA    0d efffffed40 51              movl _subtest,r1
        !          1882: 1821  0001D0B1                                   #         asm("movl _sgl_dummy1,r2");             /* r2  = error code      */
        !          1883: 1822  0001D0B1    0d efffffed39 52              movl _sgl_dummy1,r2
        !          1884: 1823  0001D0B8                                   #         asm("movl _cycle,r3");                  /* r3  = cycle count     */
        !          1885: 1824  0001D0B8    0d efffffed32 53              movl _cycle,r3
        !          1886: 1825  0001D0BF                                   #         asm("movl _sgl_value_5,r4");            /* r4  = MS acc loaded   */
        !          1887: 1826  0001D0BF    0d efffffed2b 54              movl _sgl_value_5,r4
        !          1888: 1827  0001D0C6                                   #         asm("movl _sgl_value_6,r5");            /* r5  = LS acc loaded   */
        !          1889: 1828  0001D0C6    0d efffffed24 55              movl _sgl_value_6,r5
        !          1890: 1829  0001D0CD                                   #         asm("movl _sgl_value_1,r6");            /* r6  = MS operand 1    */
        !          1891: 1830  0001D0CD    0d efffffed1d 56              movl _sgl_value_1,r6
        !          1892: 1831  0001D0D4                                   #         asm("movl _sgl_value_2,r7");            /* r7  = MS operand 1    */
        !          1893: 1832  0001D0D4    0d efffffed16 57              movl _sgl_value_2,r7
        !          1894: 1833  0001D0DB                                   #         asm("movl _sgl_value_3,r8");            /* r8  = MS operand 2    */
        !          1895: 1834  0001D0DB    0d efffffed0f 58              movl _sgl_value_3,r8
        !          1896: 1835  0001D0E2                                   #         asm("movl _sgl_value_4,r9");            /* r9  = MS operand 2    */
        !          1897: 1836  0001D0E2    0d efffffed08 59              movl _sgl_value_4,r9
        !          1898: 1837  0001D0E9                                   #         asm("movl _psl_val,r10");               /* r10 = actual PSL      */
        !          1899: 1838  0001D0E9    0d efffffed01 5a              movl _psl_val,r10
        !          1900: 1839  0001D0F0                                   #         if( halt_code == BAD_ACC_HLT ) {
        !          1901: 1840  0001D0F0    1d ad04 01                           cmpl    4(fp),$1
        !          1902: 1841  0001D0F4    21 34                                jneq    L417
        !          1903: 1842  0001D0F6                                   #              sgl_value_1 = dbl_expected.m;
        !          1904: 1843  0001D0F6    0d efffffecf4 efffffecef             movl    _dbl_expected,_sgl_value_1
        !          1905: 1844  0001D101                                   #              sgl_value_2 = dbl_expected.l;
        !          1906: 1845  0001D101    0d efffffeced efffffece4             movl    _dbl_expected+4,_sgl_value_2
        !          1907: 1846  0001D10C                                   #              asm("movl _sgl_value_7,r11");      /* r11 = MS stored       */
        !          1908: 1847  0001D10C    0d efffffecde 5b              movl _sgl_value_7,r11
        !          1909: 1848  0001D113                                   #              asm("movl _sgl_value_8,r12");      /* r12 = LS stored       */
        !          1910: 1849  0001D113    0d efffffecd7 5c              movl _sgl_value_8,r12
        !          1911: 1850  0001D11A                                   #              asm("movl _sgl_value_1,r13");      /* r13 = MS expected     */
        !          1912: 1851  0001D11A    0d efffffecd0 5d              movl _sgl_value_1,r13
        !          1913: 1852  0001D121                                   #              asm("movl _sgl_value_2,r14");      /* r14 = LS expected     */
        !          1914: 1853  0001D121    0d efffffecc9 5e              movl _sgl_value_2,r14
        !          1915: 1854  0001D128                                   #         } else 
        !          1916: 1855  0001D128    11 57                                jbr     L418
        !          1917: 1856  0001D12A                                  L417:
        !          1918: 1857  0001D12A                                   #           if( halt_code == BAD_REG_HLT ) {
        !          1919: 1858  0001D12A    1d ad04 02                           cmpl    4(fp),$2
        !          1920: 1859  0001D12E    21 3d                                jneq    L419
        !          1921: 1860  0001D130                                   #              sgl_dummy1 = load_regs[index2];
        !          1922: 1861  0001D130    0d efffffecba 50                     movl    _index2,r0
        !          1923: 1862  0001D137    0d 40efffffecb2                      movl    _load_regs[r0],_sgl_dummy1
        !          1924:                   efffffecad 
        !          1925: 1863  0001D143                                   #              sgl_dummy2 = store_regs[index2];
        !          1926: 1864  0001D143    0d efffffeca7 50                     movl    _index2,r0
        !          1927: 1865  0001D14A    0d 40efffffec9f                      movl    _store_regs[r0],_sgl_dummy2
        !          1928:                   efffffec9a 
        !          1929: 1866  0001D156                                   #              asm("movl _index2,r11");           /* r11 = bad register #  */
        !          1930: 1867  0001D156    0d efffffec94 5b              movl _index2,r11
        !          1931: 1868  0001D15D                                   #              asm("movl _sgl_dummy2,r12");       /* r12 = actual value    */
        !          1932: 1869  0001D15D    0d efffffec8d 5c              movl _sgl_dummy2,r12
        !          1933: 1870  0001D164                                   #              asm("movl _sgl_dummy1,r13");       /* r13 = expected value  */
        !          1934: 1871  0001D164    0d efffffec86 5d              movl _sgl_dummy1,r13
        !          1935: 1872  0001D16B                                   #         } else
        !          1936: 1873  0001D16B    11 14                                jbr     L420
        !          1937: 1874  0001D16D                                  L419:
        !          1938: 1875  0001D16D                                   #           if( halt_code == BAD_PSL_HLT ) {
        !          1939: 1876  0001D16D    1d ad04 03                           cmpl    4(fp),$3
        !          1940: 1877  0001D171    21 0e                                jneq    L421
        !          1941: 1878  0001D173                                   #              asm("movl _exp_psl,r11");          /* r11 = expected PSL    */
        !          1942: 1879  0001D173    0d efffffec77 5b              movl _exp_psl,r11
        !          1943: 1880  0001D17A                                   #              asm("movl _index,r12");            /* r12 = data index      */
        !          1944: 1881  0001D17A    0d efffffec70 5c              movl _index,r12
        !          1945: 1882  0001D181                                   #         };
        !          1946: 1883  0001D181                                  L421:
        !          1947: 1884  0001D181                                  L420:
        !          1948: 1885  0001D181                                  L418:
        !          1949: 1886  0001D181                                   #         asm("halt");                            /* HALT ...              */
        !          1950: 1887  0001D181    00                            halt
        !          1951: 1888  0001D182                                   # }  
        !          1952: 1889  0001D182    40                                   ret#2
        !          1953: 1890  0001D183                                         .set    L413,0x0
        !          1954: 1891  0001D183                                  L415:
        !          1955: 1892  0001D183    13 febd                              jbr     L416
        !          1956: 1893  0001D186                                         .data
        !          1957: 1893  00038F76                                         .data

unix.superglobalmegacorp.com

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