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

1.1     ! root        1:    1  00000000                                  LL0:
        !             2:    2  00000000                                         .data
        !             3:    3  00000a98 *                                       .text
        !             4:    4  00000000                                         .align  1
        !             5:    5  00000000                                         .globl  _cmpd
        !             6:    6  00000000                                  _cmpd:
        !             7:    7  0001B358    0000                                 .word   L215
        !             8:    8  0001B35A                                   # #include "fpp_defs.h"
        !             9:    9  0001B35A                                   # 
        !            10:   10  0001B35A                                   # 
        !            11:   11  0001B35A                                   # 
        !            12:   12  0001B35A                                   # /***************************************************************************
        !            13:   13  0001B35A                                   # *
        !            14:   14  0001B35A                                   # *       CMPD  -COMPARE SGL ACCUMULATOR TO SGL OPERAND
        !            15:   15  0001B35A                                   # *
        !            16:   16  0001B35A                                   # *****************************************************************************/
        !            17:   17  0001B35A                                   # cmpd()
        !            18:   18  0001B35A                                   # {
        !            19:   19  0001B35A    11 41                                jbr     L217
        !            20:   20  0001B35C                                  L218:
        !            21:   21  0001B35C                                   #         asm(".globl _cmpd_t");
        !            22:   22  0001B35C                                  .globl _cmpd_t
        !            23:   23  0001B35C                                   #         asm("_cmpd_t:");                        /* entry address            */
        !            24:   24  0001B35C                                  _cmpd_t:
        !            25:   25  0001B35C                                   #         if( ( cycle == 1 ) && ( prt_hdrs ) )    /* print headers on 1st pass  */
        !            26:   26  0001B35C    1d effffffff6 01                     cmpl    _cycle,$1
        !            27:   27  0001B363    21 15                                jneq    L219
        !            28:   28  0001B365    5d efffffffed                        tstl    _prt_hdrs
        !            29:   29  0001B36B    31 0d                                jeql    L219
        !            30:   30  0001B36D                                   #         {
        !            31:   31  0001B36D                                   #            writes(" CMPD");
        !            32:   32  0001B36D                                         .data   1
        !            33:   33  00000a98 *                                L221:
        !            34:   34  00000a98 *  20434D504400                         .ascii  " CMPD\0"
        !            35:   35  00000a9e *                                       .text
        !            36:   36  0001B36D    dd 8f00000a98                        pushl   $L221
        !            37:   37  0001B373    fe 08 efffffffde                     callf   $8,_writes
        !            38:   38  0001B37A                                   #         }
        !            39:   39  0001B37A                                   #         cmpd_1();                               /* test via registers         */
        !            40:   40  0001B37A                                  L219:
        !            41:   41  0001B37A    fe 04 ef0000001f                     callf   $4,_cmpd_1
        !            42:   42  0001B381                                   #         cmpd_2();                               /* test via cache             */
        !            43:   43  0001B381    fe 04 ef00000274                     callf   $4,_cmpd_2
        !            44:   44  0001B388                                   #         cmpd_3();                               /* register corruption test   */
        !            45:   45  0001B388    fe 04 ef00000489                     callf   $4,_cmpd_3
        !            46:   46  0001B38F                                   #         cmpd_4();                               /* acc. corruption test       */
        !            47:   47  0001B38F    fe 04 ef0000068a                     callf   $4,_cmpd_4
        !            48:   48  0001B396                                   #         asm("jmp *return");                     /* return to the test monitor */
        !            49:   49  0001B396    71 ffffffffbc                 jmp *return
        !            50:   50  0001B39C                                   # }
        !            51:   51  0001B39C    40                                   ret#2
        !            52:   52  0001B39D                                         .set    L215,0x0
        !            53:   53  0001B39D                                  L217:
        !            54:   54  0001B39D    11 bd                                jbr     L218
        !            55:   55  0001B39F                                         .data
        !            56:   56  00000a98 *                                       .text
        !            57:   57  0001B39F    00                                   .align  1
        !            58:   58  0001B3A0                                         .globl  _cmpd_1
        !            59:   59  0001B3A0                                  _cmpd_1:
        !            60:   60  0001B3A0    0000                                 .word   L226
        !            61:   61  0001B3A2                                   #   
        !            62:   62  0001B3A2                                   # 
        !            63:   63  0001B3A2                                   # 
        !            64:   64  0001B3A2                                   # /****************************************************************************
        !            65:   65  0001B3A2                                   # *
        !            66:   66  0001B3A2                                   # *               SUBTEST 1 - CMPD status test  -register data
        !            67:   67  0001B3A2                                   # *
        !            68:   68  0001B3A2                                   # ****************************************************************************/
        !            69:   69  0001B3A2                                   # cmpd_1() 
        !            70:   70  0001B3A2                                   # {
        !            71:   71  0001B3A2    13 0253                              jbr     L228
        !            72:   72  0001B3A5                                  L229:
        !            73:   73  0001B3A5                                   #         force_loop = FALSE;
        !            74:   74  0001B3A5    4d efffffffad                        clrl    _force_loop
        !            75:   75  0001B3AB                                   #         subtest = 1;
        !            76:   76  0001B3AB    0d 01 efffffffa6                     movl    $1,_subtest
        !            77:   77  0001B3B2                                   #     index = 0;
        !            78:   78  0001B3B2    4d efffffffa0                        clrl    _index
        !            79:   79  0001B3B8                                   #         do 
        !            80:   80  0001B3B8                                  L232:
        !            81:   81  0001B3B8                                   #         {
        !            82:   82  0001B3B8                                   #        dbl_value_1  = cmpd_1_data[index].one; /* get the data operands  */
        !            83:   83  0001B3B8    5c 14 efffffff99 50                  mull3   $20,_index,r0
        !            84:   84  0001B3C0    0c 8f00000000 50                     addl2   $_cmpd_1_data,r0
        !            85:   85  0001B3C7    0d a004 efffffff8d                   movl    4(r0),_dbl_value_1+4
        !            86:   86  0001B3CF    0d 60 efffffff82                     movl    (r0),_dbl_value_1
        !            87:   87  0001B3D6                                   #        dbl_value_2  = cmpd_1_data[index].two;
        !            88:   88  0001B3D6    5c 14 efffffff7b 50                  mull3   $20,_index,r0
        !            89:   89  0001B3DE    0c 8f00000008 50                     addl2   $_cmpd_1_data+8,r0
        !            90:   90  0001B3E5    0d a004 efffffff6f                   movl    4(r0),_dbl_value_2+4
        !            91:   91  0001B3ED    0d 60 efffffff64                     movl    (r0),_dbl_value_2
        !            92:   92  0001B3F4                                   #        sgl_expected = cmpd_1_data[index].flag; /* get expected results */
        !            93:   93  0001B3F4    5c 14 efffffff5d 50                  mull3   $20,_index,r0
        !            94:   94  0001B3FC    0d e000000010 efffffff51             movl    _cmpd_1_data+16(r0),_sgl_expected
        !            95:   95  0001B407                                   #        sgl_value_1  = dbl_value_1.m;
        !            96:   96  0001B407    0d efffffff4b efffffff46             movl    _dbl_value_1,_sgl_value_1
        !            97:   97  0001B412                                   #        sgl_value_2  = dbl_value_1.l;
        !            98:   98  0001B412    0d efffffff44 efffffff3b             movl    _dbl_value_1+4,_sgl_value_2
        !            99:   99  0001B41D                                   #        sgl_value_3  = dbl_value_2.m;
        !           100:  100  0001B41D    0d efffffff35 efffffff30             movl    _dbl_value_2,_sgl_value_3
        !           101:  101  0001B428                                   #        sgl_value_4  = dbl_value_2.l;
        !           102:  102  0001B428    0d efffffff2e efffffff25             movl    _dbl_value_2+4,_sgl_value_4
        !           103:  103  0001B433                                   #            status_index = 0;                           /* clear the status index */
        !           104:  104  0001B433    4d efffffff1f                        clrl    _status_index
        !           105:  105  0001B439                                   #            do
        !           106:  106  0001B439                                  L235:
        !           107:  107  0001B439                                   #            {
        !           108:  108  0001B439                                   #                sgl_dummy1 = status_array[status_index]; /* array = +, -, 0  */
        !           109:  109  0001B439    0d efffffff19 50                     movl    _status_index,r0
        !           110:  110  0001B440    0d 40efffffff11                      movl    _status_array[r0],_sgl_dummy1
        !           111:                   efffffff0c 
        !           112:  111  0001B44C                                   # /*
        !           113:  112  0001B44C                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           114:  113  0001B44C                                   #  * The force loop flag is set after the first error.
        !           115:  114  0001B44C                                   # */
        !           116:  115  0001B44C                                   #                asm("_cmpd_1_lp1:");
        !           117:  116  0001B44C                                  _cmpd_1_lp1:
        !           118:  117  0001B44C                                   #                asm("movl _sgl_value_1,r4");     /* move operand #1 to r4    */
        !           119:  118  0001B44C    0d efffffff06 54              movl _sgl_value_1,r4
        !           120:  119  0001B453                                   #                asm("movl _sgl_value_2,r5");     /* move operand #1 to r5    */
        !           121:  120  0001B453    0d effffffeff 55              movl _sgl_value_2,r5
        !           122:  121  0001B45A                                   #                asm("movl _sgl_value_3,r6");     /* move operand #2 to r6    */
        !           123:  122  0001B45A    0d effffffef8 56              movl _sgl_value_3,r6
        !           124:  123  0001B461                                   #                asm("movl _sgl_value_4,r7");     /* move operand #2 to r7    */
        !           125:  124  0001B461    0d effffffef1 57              movl _sgl_value_4,r7
        !           126:  125  0001B468                                   #                asm("ldd r4");                   /* load the operand         */
        !           127:  126  0001B468    07 54                         ldd r4
        !           128:  127  0001B46A                                   #                asm("tstl _sgl_dummy1");         /* generate initial status  */
        !           129:  128  0001B46A    5d effffffee8                 tstl _sgl_dummy1
        !           130:  129  0001B470                                   #                asm("movpsl _init_psl");         /* save the initial status  */
        !           131:  130  0001B470    cd effffffee2                 movpsl _init_psl
        !           132:  131  0001B476                                   #                asm("cmpd r6");                  /* compare the operands     */
        !           133:  132  0001B476    37 56                         cmpd r6
        !           134:  133  0001B478                                   #                asm("movpsl _psl_val");          /* save the final status    */
        !           135:  134  0001B478    cd effffffeda                 movpsl _psl_val
        !           136:  135  0001B47E                                   #                if( force_loop )                 /* loop?                    */
        !           137:  136  0001B47E    5d effffffed4                        tstl    _force_loop
        !           138:  137  0001B484    31 02                                jeql    L236
        !           139:  138  0001B486                                   #                    asm("brb _cmpd_1_lp1");;     /* run the loop again       */
        !           140:  139  0001B486    11 c4                         brb _cmpd_1_lp1
        !           141:  140  0001B488                                  L236:
        !           142:  141  0001B488                                   #                exp_psl = init_psl;              /* get the initial PSL      */
        !           143:  142  0001B488    0d effffffeca effffffec5             movl    _init_psl,_exp_psl
        !           144:  143  0001B493                                   #                exp_psl &= 0xfffffff3;           /* clear ZERO, NEGATIVE     */
        !           145:  144  0001B493    ac 88f3 effffffebd                   andl2   $-13,_exp_psl
        !           146:  145  0001B49B                                   #                if( sgl_expected == ZERO )
        !           147:  146  0001B49B    1d effffffeb7 04                     cmpl    _sgl_expected,$4
        !           148:  147  0001B4A2    21 07                                jneq    L237
        !           149:  148  0001B4A4                                   #                    exp_psl |= PSL_Z;            /* expect the ZERO bit set  */
        !           150:  149  0001B4A4    8c 04 effffffead                     orl2    $4,_exp_psl
        !           151:  150  0001B4AB                                   #                if( sgl_expected == NEGATIVE )
        !           152:  151  0001B4AB                                  L237:
        !           153:  152  0001B4AB    1d effffffea7 08                     cmpl    _sgl_expected,$8
        !           154:  153  0001B4B2    21 07                                jneq    L238
        !           155:  154  0001B4B4                                   #                    exp_psl |= PSL_N;            /* expect the NEG bit set   */
        !           156:  155  0001B4B4    8c 08 effffffe9d                     orl2    $8,_exp_psl
        !           157:  156  0001B4BB                                   #                if( psl_val != exp_psl ) {       /* COMPARE the values       */
        !           158:  157  0001B4BB                                  L238:
        !           159:  158  0001B4BB    1d effffffe97 effffffe92             cmpl    _psl_val,_exp_psl
        !           160:  159  0001B4C6    21 03 13 00fe                        jeql    L239
        !           161:  160  0001B4CB                                   #                   errcnt++;                     /* bump the error count     */
        !           162:  161  0001B4CB    6d effffffe87                        incl    _errcnt
        !           163:  162  0001B4D1                                   #                   if ( prt_error ) {
        !           164:  163  0001B4D1    5d effffffe81                        tstl    _prt_error
        !           165:  164  0001B4D7    21 03 13 00ca                        jeql    L240
        !           166:  165  0001B4DC                                   #                      writes(" \n");         /* start a new print line   */
        !           167:  166  0001B4DC                                         .data   1
        !           168:  167  00000a9e *                                L241:
        !           169:  168  00000a9e *  200A00                               .ascii  " \12\0"
        !           170:  169  00000aa1 *                                       .text
        !           171:  170  0001B4DC    dd 8f00000a9e                        pushl   $L241
        !           172:  171  0001B4E2    fe 08 effffffe6f                     callf   $8,_writes
        !           173:  172  0001B4E9                                   #                      writes("cycle: ");
        !           174:  173  0001B4E9                                         .data   1
        !           175:  174  00000aa1 *                                L242:
        !           176:  175  00000aa1 *  6379636C653A2000                     .ascii  "cycle: \0"
        !           177:  176  00000aa9 *                                       .text
        !           178:  177  0001B4E9    dd 8f00000aa1                        pushl   $L242
        !           179:  178  0001B4EF    fe 08 effffffe62                     callf   $8,_writes
        !           180:  179  0001B4F6                                   #                      writed( cycle );
        !           181:  180  0001B4F6    dd effffffe5c                        pushl   _cycle
        !           182:  181  0001B4FC    fe 08 effffffe55                     callf   $8,_writed
        !           183:  182  0001B503                                   #                      writes("  CMPD test ");
        !           184:  183  0001B503                                         .data   1
        !           185:  184  00000aa9 *                                L244:
        !           186:  185  00000aa9 *  2020434D50442074657374200            .ascii  "  CMPD test \0"
        !           187:                   0
        !           188:  186  00000ab6 *                                       .text
        !           189:  187  0001B503    dd 8f00000aa9                        pushl   $L244
        !           190:  188  0001B509    fe 08 effffffe48                     callf   $8,_writes
        !           191:  189  0001B510                                   #                  writed( test_no );
        !           192:  190  0001B510    dd effffffe42                        pushl   _test_no
        !           193:  191  0001B516    fe 08 effffffe3b                     callf   $8,_writed
        !           194:  192  0001B51D                                   #                  writes(", subtest 1 (Reg. Data) - BAD FINAL PSL\n");
        !           195:  193  0001B51D                                         .data   1
        !           196:  194  00000ab6 *                                L245:
        !           197:  195  00000ab6 *  2C20737562746573742031202            .ascii  ", subtest 1 (Reg. Data) - BAD FINAL PSL\12\0"
        !           198:                   85265672E204461746129202D
        !           199:                   204241442046494E414C20505
        !           200:                   34C0A00
        !           201:  196  00000adf *                                       .text
        !           202:  197  0001B51D    dd 8f00000ab6                        pushl   $L245
        !           203:  198  0001B523    fe 08 effffffe2e                     callf   $8,_writes
        !           204:  199  0001B52A                                   #                      print_cmpd_data();
        !           205:  200  0001B52A    fe 04 ef00000731                     callf   $4,_print_cmpd_data
        !           206:  201  0001B531                                   #                      writes(",  index = ");
        !           207:  202  0001B531                                         .data   1
        !           208:  203  00000adf *                                L247:
        !           209:  204  00000adf *  2C2020696E646578203D2000             .ascii  ",  index = \0"
        !           210:  205  00000aeb *                                       .text
        !           211:  206  0001B531    dd 8f00000adf                        pushl   $L247
        !           212:  207  0001B537    fe 08 effffffe1a                     callf   $8,_writes
        !           213:  208  0001B53E                                   #                      writed( index );
        !           214:  209  0001B53E    dd effffffe14                        pushl   _index
        !           215:  210  0001B544    fe 08 effffffe0d                     callf   $8,_writed
        !           216:  211  0001B54B                                   #                      writes("\ninitial PSL = ");
        !           217:  212  0001B54B                                         .data   1
        !           218:  213  00000aeb *                                L248:
        !           219:  214  00000aeb *  0A696E697469616C2050534C2            .ascii  "\12initial PSL = \0"
        !           220:                   03D2000
        !           221:  215  00000afb *                                       .text
        !           222:  216  0001B54B    dd 8f00000aeb                        pushl   $L248
        !           223:  217  0001B551    fe 08 effffffe00                     callf   $8,_writes
        !           224:  218  0001B558                                   #                      write32h( init_psl );
        !           225:  219  0001B558    dd effffffdfa                        pushl   _init_psl
        !           226:  220  0001B55E    fe 08 effffffdf3                     callf   $8,_write32h
        !           227:  221  0001B565                                   #                      writes(",  final PSL = ");
        !           228:  222  0001B565                                         .data   1
        !           229:  223  00000afb *                                L250:
        !           230:  224  00000afb *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
        !           231:                   03D2000
        !           232:  225  00000b0b *                                       .text
        !           233:  226  0001B565    dd 8f00000afb                        pushl   $L250
        !           234:  227  0001B56B    fe 08 effffffde6                     callf   $8,_writes
        !           235:  228  0001B572                                   #                      write32h( psl_val );
        !           236:  229  0001B572    dd effffffde0                        pushl   _psl_val
        !           237:  230  0001B578    fe 08 effffffdd9                     callf   $8,_write32h
        !           238:  231  0001B57F                                   #                      writes(",  expected PSL = ");
        !           239:  232  0001B57F                                         .data   1
        !           240:  233  00000b0b *                                L251:
        !           241:  234  00000b0b *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
        !           242:                   0534C203D2000
        !           243:  235  00000b1e *                                       .text
        !           244:  236  0001B57F    dd 8f00000b0b                        pushl   $L251
        !           245:  237  0001B585    fe 08 effffffdcc                     callf   $8,_writes
        !           246:  238  0001B58C                                   #                      write32h( exp_psl );
        !           247:  239  0001B58C    dd effffffdc6                        pushl   _exp_psl
        !           248:  240  0001B592    fe 08 effffffdbf                     callf   $8,_write32h
        !           249:  241  0001B599                                   #                      writes("\n");
        !           250:  242  0001B599                                         .data   1
        !           251:  243  00000b1e *                                L252:
        !           252:  244  00000b1e *  0A00                                 .ascii  "\12\0"
        !           253:  245  00000b20 *                                       .text
        !           254:  246  0001B599    dd 8f00000b1e                        pushl   $L252
        !           255:  247  0001B59F    fe 08 effffffdb2                     callf   $8,_writes
        !           256:  248  0001B5A6                                   #                   }
        !           257:  249  0001B5A6                                   #                   if ( halt_flg )
        !           258:  250  0001B5A6                                  L240:
        !           259:  251  0001B5A6    5d effffffdac                        tstl    _halt_flg
        !           260:  252  0001B5AC    31 09                                jeql    L253
        !           261:  253  0001B5AE                                   #                      cmpd_er_halt( BAD_PSL_HLT );/* halt on the error      */
        !           262:  254  0001B5AE    dd 03                                pushl   $3
        !           263:  255  0001B5B0    fe 08 ef00000713                     callf   $8,_cmpd_er_halt
        !           264:  256  0001B5B7                                   #                   if ( loop_on_err ) {
        !           265:  257  0001B5B7                                  L253:
        !           266:  258  0001B5B7    5d effffffd9b                        tstl    _loop_on_err
        !           267:  259  0001B5BD    31 0a                                jeql    L255
        !           268:  260  0001B5BF                                   #                      force_loop = TRUE;         /* set the force loop flag */
        !           269:  261  0001B5BF    0d 01 effffffd92                     movl    $1,_force_loop
        !           270:  262  0001B5C6                                   #                      asm("brw _cmpd_1_lp1");    /* and loop on the error   */
        !           271:  263  0001B5C6    13 fe83                       brw _cmpd_1_lp1
        !           272:  264  0001B5C9                                   #                   }   /* end of loop on error    */
        !           273:  265  0001B5C9                                   #                }   /* end of compare error    */
        !           274:  266  0001B5C9                                  L255:
        !           275:  267  0001B5C9                                   #            } while( ++status_index < 3 );       /* end of WHILE loop */
        !           276:  268  0001B5C9                                  L239:
        !           277:  269  0001B5C9                                  L234:
        !           278:  270  0001B5C9    6d effffffd89                        incl    _status_index
        !           279:  271  0001B5CF    0d effffffd83 50                     movl    _status_index,r0
        !           280:  272  0001B5D6    1d 50 03                             cmpl    r0,$3
        !           281:  273  0001B5D9    81 03 13 fe5b                        jlss    L235
        !           282:  274  0001B5DE                                  L233:
        !           283:  275  0001B5DE                                   #         } while ( index++ < max_cmpd_1_index ); /* end of WHILE loop */
        !           284:  276  0001B5DE                                  L231:
        !           285:  277  0001B5DE    0d effffffd74 50                     movl    _index,r0
        !           286:  278  0001B5E5    6d effffffd6d                        incl    _index
        !           287:  279  0001B5EB    1d 50 effffffd66                     cmpl    r0,_max_cmpd_1_index
        !           288:  280  0001B5F2    81 03 13 fdc1                        jlss    L232
        !           289:  281  0001B5F7                                  L230:
        !           290:  282  0001B5F7                                   # }  /* end of subtest 1 */
        !           291:  283  0001B5F7    40                                   ret#2
        !           292:  284  0001B5F8                                         .set    L226,0x0
        !           293:  285  0001B5F8                                  L228:
        !           294:  286  0001B5F8    13 fdaa                              jbr     L229
        !           295:  287  0001B5FB                                         .data
        !           296:  288  00000a98 *                                       .text
        !           297:  289  0001B5FB    00                                   .align  1
        !           298:  290  0001B5FC                                         .globl  _cmpd_2
        !           299:  291  0001B5FC                                  _cmpd_2:
        !           300:  292  0001B5FC    0000                                 .word   L256
        !           301:  293  0001B5FE                                   #   
        !           302:  294  0001B5FE                                   # 
        !           303:  295  0001B5FE                                   # 
        !           304:  296  0001B5FE                                   # /****************************************************************************
        !           305:  297  0001B5FE                                   # *
        !           306:  298  0001B5FE                                   # *               SUBTEST 2 - CMPD status test  -cache data
        !           307:  299  0001B5FE                                   # *
        !           308:  300  0001B5FE                                   # ****************************************************************************/
        !           309:  301  0001B5FE                                   # cmpd_2() 
        !           310:  302  0001B5FE                                   # {
        !           311:  303  0001B5FE    13 0213                              jbr     L258
        !           312:  304  0001B601                                  L259:
        !           313:  305  0001B601                                   #         force_loop = FALSE; 
        !           314:  306  0001B601    4d effffffd51                        clrl    _force_loop
        !           315:  307  0001B607                                   #     subtest = 2;
        !           316:  308  0001B607    0d 02 effffffd4a                     movl    $2,_subtest
        !           317:  309  0001B60E                                   #     index = 0;
        !           318:  310  0001B60E    4d effffffd44                        clrl    _index
        !           319:  311  0001B614                                   #         do 
        !           320:  312  0001B614                                  L262:
        !           321:  313  0001B614                                   #         {
        !           322:  314  0001B614                                   #            dbl_value_1  = cmpd_1_data[index].one; /* get the data operands  */
        !           323:  315  0001B614    5c 14 effffffd3d 50                  mull3   $20,_index,r0
        !           324:  316  0001B61C    0c 8f00000000 50                     addl2   $_cmpd_1_data,r0
        !           325:  317  0001B623    0d a004 effffffd31                   movl    4(r0),_dbl_value_1+4
        !           326:  318  0001B62B    0d 60 effffffd26                     movl    (r0),_dbl_value_1
        !           327:  319  0001B632                                   #            dbl_value_2  = cmpd_1_data[index].two;
        !           328:  320  0001B632    5c 14 effffffd1f 50                  mull3   $20,_index,r0
        !           329:  321  0001B63A    0c 8f00000008 50                     addl2   $_cmpd_1_data+8,r0
        !           330:  322  0001B641    0d a004 effffffd13                   movl    4(r0),_dbl_value_2+4
        !           331:  323  0001B649    0d 60 effffffd08                     movl    (r0),_dbl_value_2
        !           332:  324  0001B650                                   #            sgl_expected = cmpd_1_data[index].flag;/* get expected results */
        !           333:  325  0001B650    5c 14 effffffd01 50                  mull3   $20,_index,r0
        !           334:  326  0001B658    0d e000000010 effffffcf5             movl    _cmpd_1_data+16(r0),_sgl_expected
        !           335:  327  0001B663                                   #            status_index = 0;                      /* clear the status index */
        !           336:  328  0001B663    4d effffffcef                        clrl    _status_index
        !           337:  329  0001B669                                   #            do
        !           338:  330  0001B669                                  L265:
        !           339:  331  0001B669                                   #            {
        !           340:  332  0001B669                                   #                sgl_dummy1 = status_array[status_index]; /* array = +, -, 0  */
        !           341:  333  0001B669    0d effffffce9 50                     movl    _status_index,r0
        !           342:  334  0001B670    0d 40effffffce1                      movl    _status_array[r0],_sgl_dummy1
        !           343:                   effffffcdc 
        !           344:  335  0001B67C                                   # /*
        !           345:  336  0001B67C                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           346:  337  0001B67C                                   #  * The force loop flag is set after the first error.
        !           347:  338  0001B67C                                   # */
        !           348:  339  0001B67C                                   #                asm("_cmpd_2_lp1:");
        !           349:  340  0001B67C                                  _cmpd_2_lp1:
        !           350:  341  0001B67C                                   #                asm("ldd _dbl_value_1");         /* load the 1st operand     */
        !           351:  342  0001B67C    07 effffffcd6                 ldd _dbl_value_1
        !           352:  343  0001B682                                   #                asm("tstl _sgl_dummy1");         /* generate initial status  */
        !           353:  344  0001B682    5d effffffcd0                 tstl _sgl_dummy1
        !           354:  345  0001B688                                   #                asm("movpsl _init_psl");         /* save the initial status  */
        !           355:  346  0001B688    cd effffffcca                 movpsl _init_psl
        !           356:  347  0001B68E                                   #                asm("cmpd _dbl_value_2");        /* compare the operands     */
        !           357:  348  0001B68E    37 effffffcc4                 cmpd _dbl_value_2
        !           358:  349  0001B694                                   #                asm("movpsl _psl_val");          /* save the final status    */
        !           359:  350  0001B694    cd effffffcbe                 movpsl _psl_val
        !           360:  351  0001B69A                                   #                if( force_loop )                 /* loop?                    */
        !           361:  352  0001B69A    5d effffffcb8                        tstl    _force_loop
        !           362:  353  0001B6A0    31 02                                jeql    L266
        !           363:  354  0001B6A2                                   #                    asm("brb _cmpd_2_lp1");;     /* run the loop again       */
        !           364:  355  0001B6A2    11 d8                         brb _cmpd_2_lp1
        !           365:  356  0001B6A4                                  L266:
        !           366:  357  0001B6A4                                   #                exp_psl = init_psl;              /* get the initial PSL      */
        !           367:  358  0001B6A4    0d effffffcae effffffca9             movl    _init_psl,_exp_psl
        !           368:  359  0001B6AF                                   #                exp_psl &= 0xfffffff3;           /* clear ZERO, NEGATIVE     */
        !           369:  360  0001B6AF    ac 88f3 effffffca1                   andl2   $-13,_exp_psl
        !           370:  361  0001B6B7                                   #                if( sgl_expected == ZERO )
        !           371:  362  0001B6B7    1d effffffc9b 04                     cmpl    _sgl_expected,$4
        !           372:  363  0001B6BE    21 07                                jneq    L267
        !           373:  364  0001B6C0                                   #                    exp_psl |= PSL_Z;            /* expect the ZERO bit set  */
        !           374:  365  0001B6C0    8c 04 effffffc91                     orl2    $4,_exp_psl
        !           375:  366  0001B6C7                                   #                if( sgl_expected == NEGATIVE )
        !           376:  367  0001B6C7                                  L267:
        !           377:  368  0001B6C7    1d effffffc8b 08                     cmpl    _sgl_expected,$8
        !           378:  369  0001B6CE    21 07                                jneq    L268
        !           379:  370  0001B6D0                                   #                    exp_psl |= PSL_N;            /* expect the NEG bit set   */
        !           380:  371  0001B6D0    8c 08 effffffc81                     orl2    $8,_exp_psl
        !           381:  372  0001B6D7                                   #                if( psl_val != exp_psl ) {       /* COMPARE the values       */
        !           382:  373  0001B6D7                                  L268:
        !           383:  374  0001B6D7    1d effffffc7b effffffc76             cmpl    _psl_val,_exp_psl
        !           384:  375  0001B6E2    21 03 13 00fe                        jeql    L269
        !           385:  376  0001B6E7                                   #                   errcnt++;                     /* bump the error count     */
        !           386:  377  0001B6E7    6d effffffc6b                        incl    _errcnt
        !           387:  378  0001B6ED                                   #                   if ( prt_error ) {
        !           388:  379  0001B6ED    5d effffffc65                        tstl    _prt_error
        !           389:  380  0001B6F3    21 03 13 00ca                        jeql    L270
        !           390:  381  0001B6F8                                   #                      writes(" \n");         /* start a new print line   */
        !           391:  382  0001B6F8                                         .data   1
        !           392:  383  00000b20 *                                L271:
        !           393:  384  00000b20 *  200A00                               .ascii  " \12\0"
        !           394:  385  00000b23 *                                       .text
        !           395:  386  0001B6F8    dd 8f00000b20                        pushl   $L271
        !           396:  387  0001B6FE    fe 08 effffffc53                     callf   $8,_writes
        !           397:  388  0001B705                                   #                      writes("cycle: ");
        !           398:  389  0001B705                                         .data   1
        !           399:  390  00000b23 *                                L272:
        !           400:  391  00000b23 *  6379636C653A2000                     .ascii  "cycle: \0"
        !           401:  392  00000b2b *                                       .text
        !           402:  393  0001B705    dd 8f00000b23                        pushl   $L272
        !           403:  394  0001B70B    fe 08 effffffc46                     callf   $8,_writes
        !           404:  395  0001B712                                   #                      writed( cycle );
        !           405:  396  0001B712    dd effffffc40                        pushl   _cycle
        !           406:  397  0001B718    fe 08 effffffc39                     callf   $8,_writed
        !           407:  398  0001B71F                                   #                      writes("  CMPD test ");
        !           408:  399  0001B71F                                         .data   1
        !           409:  400  00000b2b *                                L273:
        !           410:  401  00000b2b *  2020434D50442074657374200            .ascii  "  CMPD test \0"
        !           411:                   0
        !           412:  402  00000b38 *                                       .text
        !           413:  403  0001B71F    dd 8f00000b2b                        pushl   $L273
        !           414:  404  0001B725    fe 08 effffffc2c                     callf   $8,_writes
        !           415:  405  0001B72C                                   #                  writed( test_no );
        !           416:  406  0001B72C    dd effffffc26                        pushl   _test_no
        !           417:  407  0001B732    fe 08 effffffc1f                     callf   $8,_writed
        !           418:  408  0001B739                                   #                  writes(", subtest 2 (Cache Data) - BAD FINAL PSL\n");
        !           419:  409  0001B739                                         .data   1
        !           420:  410  00000b38 *                                L274:
        !           421:  411  00000b38 *  2C20737562746573742032202            .ascii  ", subtest 2 (Cache Data) - BAD FINAL PSL\12\0"
        !           422:                   8436163686520446174612920
        !           423:                   2D204241442046494E414C205
        !           424:                   0534C0A00
        !           425:  412  00000b62 *                                       .text
        !           426:  413  0001B739    dd 8f00000b38                        pushl   $L274
        !           427:  414  0001B73F    fe 08 effffffc12                     callf   $8,_writes
        !           428:  415  0001B746                                   #                      print_cmpd_data();
        !           429:  416  0001B746    fe 04 ef00000515                     callf   $4,_print_cmpd_data
        !           430:  417  0001B74D                                   #                      writes(",  index = ");
        !           431:  418  0001B74D                                         .data   1
        !           432:  419  00000b62 *                                L275:
        !           433:  420  00000b62 *  2C2020696E646578203D2000             .ascii  ",  index = \0"
        !           434:  421  00000b6e *                                       .text
        !           435:  422  0001B74D    dd 8f00000b62                        pushl   $L275
        !           436:  423  0001B753    fe 08 effffffbfe                     callf   $8,_writes
        !           437:  424  0001B75A                                   #                      writed( index );
        !           438:  425  0001B75A    dd effffffbf8                        pushl   _index
        !           439:  426  0001B760    fe 08 effffffbf1                     callf   $8,_writed
        !           440:  427  0001B767                                   #                      writes("\ninitial PSL = ");
        !           441:  428  0001B767                                         .data   1
        !           442:  429  00000b6e *                                L276:
        !           443:  430  00000b6e *  0A696E697469616C2050534C2            .ascii  "\12initial PSL = \0"
        !           444:                   03D2000
        !           445:  431  00000b7e *                                       .text
        !           446:  432  0001B767    dd 8f00000b6e                        pushl   $L276
        !           447:  433  0001B76D    fe 08 effffffbe4                     callf   $8,_writes
        !           448:  434  0001B774                                   #                      write32h( init_psl );
        !           449:  435  0001B774    dd effffffbde                        pushl   _init_psl
        !           450:  436  0001B77A    fe 08 effffffbd7                     callf   $8,_write32h
        !           451:  437  0001B781                                   #                      writes(",  final PSL = ");
        !           452:  438  0001B781                                         .data   1
        !           453:  439  00000b7e *                                L277:
        !           454:  440  00000b7e *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
        !           455:                   03D2000
        !           456:  441  00000b8e *                                       .text
        !           457:  442  0001B781    dd 8f00000b7e                        pushl   $L277
        !           458:  443  0001B787    fe 08 effffffbca                     callf   $8,_writes
        !           459:  444  0001B78E                                   #                      write32h( psl_val );
        !           460:  445  0001B78E    dd effffffbc4                        pushl   _psl_val
        !           461:  446  0001B794    fe 08 effffffbbd                     callf   $8,_write32h
        !           462:  447  0001B79B                                   #                      writes(",  expected PSL = ");
        !           463:  448  0001B79B                                         .data   1
        !           464:  449  00000b8e *                                L278:
        !           465:  450  00000b8e *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
        !           466:                   0534C203D2000
        !           467:  451  00000ba1 *                                       .text
        !           468:  452  0001B79B    dd 8f00000b8e                        pushl   $L278
        !           469:  453  0001B7A1    fe 08 effffffbb0                     callf   $8,_writes
        !           470:  454  0001B7A8                                   #                      write32h( exp_psl );
        !           471:  455  0001B7A8    dd effffffbaa                        pushl   _exp_psl
        !           472:  456  0001B7AE    fe 08 effffffba3                     callf   $8,_write32h
        !           473:  457  0001B7B5                                   #                      writes("\n");
        !           474:  458  0001B7B5                                         .data   1
        !           475:  459  00000ba1 *                                L279:
        !           476:  460  00000ba1 *  0A00                                 .ascii  "\12\0"
        !           477:  461  00000ba3 *                                       .text
        !           478:  462  0001B7B5    dd 8f00000ba1                        pushl   $L279
        !           479:  463  0001B7BB    fe 08 effffffb96                     callf   $8,_writes
        !           480:  464  0001B7C2                                   #                   }
        !           481:  465  0001B7C2                                   #                   if ( halt_flg ) 
        !           482:  466  0001B7C2                                  L270:
        !           483:  467  0001B7C2    5d effffffb90                        tstl    _halt_flg
        !           484:  468  0001B7C8    31 09                                jeql    L280
        !           485:  469  0001B7CA                                   #                      cmpd_er_halt( BAD_PSL_HLT );   /* halt on the error   */
        !           486:  470  0001B7CA    dd 03                                pushl   $3
        !           487:  471  0001B7CC    fe 08 ef000004f7                     callf   $8,_cmpd_er_halt
        !           488:  472  0001B7D3                                   #                   if ( loop_on_err ) {
        !           489:  473  0001B7D3                                  L280:
        !           490:  474  0001B7D3    5d effffffb7f                        tstl    _loop_on_err
        !           491:  475  0001B7D9    31 0a                                jeql    L281
        !           492:  476  0001B7DB                                   #                      force_loop = TRUE;         /* set the force loop flag */
        !           493:  477  0001B7DB    0d 01 effffffb76                     movl    $1,_force_loop
        !           494:  478  0001B7E2                                   #                      asm("brw _cmpd_2_lp1");    /* and loop on the error   */
        !           495:  479  0001B7E2    13 fe97                       brw _cmpd_2_lp1
        !           496:  480  0001B7E5                                   #                   }   /* end of loop on error    */
        !           497:  481  0001B7E5                                   #                }  /* end of compare error */
        !           498:  482  0001B7E5                                  L281:
        !           499:  483  0001B7E5                                   #            } while( ++status_index < 3 );       /* end of WHILE loop */
        !           500:  484  0001B7E5                                  L269:
        !           501:  485  0001B7E5                                  L264:
        !           502:  486  0001B7E5    6d effffffb6d                        incl    _status_index
        !           503:  487  0001B7EB    0d effffffb67 50                     movl    _status_index,r0
        !           504:  488  0001B7F2    1d 50 03                             cmpl    r0,$3
        !           505:  489  0001B7F5    81 03 13 fe6f                        jlss    L265
        !           506:  490  0001B7FA                                  L263:
        !           507:  491  0001B7FA                                   #         } while ( index++ < max_cmpd_1_index ); /* end of WHILE loop */
        !           508:  492  0001B7FA                                  L261:
        !           509:  493  0001B7FA    0d effffffb58 50                     movl    _index,r0
        !           510:  494  0001B801    6d effffffb51                        incl    _index
        !           511:  495  0001B807    1d 50 effffffb4a                     cmpl    r0,_max_cmpd_1_index
        !           512:  496  0001B80E    81 03 13 fe01                        jlss    L262
        !           513:  497  0001B813                                  L260:
        !           514:  498  0001B813                                   # }  /* end of subtest 2 */
        !           515:  499  0001B813    40                                   ret#2
        !           516:  500  0001B814                                         .set    L256,0x0
        !           517:  501  0001B814                                  L258:
        !           518:  502  0001B814    13 fdea                              jbr     L259
        !           519:  503  0001B817                                         .data
        !           520:  504  00000a98 *                                       .text
        !           521:  505  0001B817    00                                   .align  1
        !           522:  506  0001B818                                         .globl  _cmpd_3
        !           523:  507  0001B818                                  _cmpd_3:
        !           524:  508  0001B818    0000                                 .word   L282
        !           525:  509  0001B81A                                   #   
        !           526:  510  0001B81A                                   # 
        !           527:  511  0001B81A                                   # 
        !           528:  512  0001B81A                                   # /************************************************************************
        !           529:  513  0001B81A                                   # *
        !           530:  514  0001B81A                                   # *       SUBTEST 3 - Check for register corruption
        !           531:  515  0001B81A                                   # *
        !           532:  516  0001B81A                                   # ************************************************************************/
        !           533:  517  0001B81A                                   # cmpd_3() 
        !           534:  518  0001B81A                                   # {
        !           535:  519  0001B81A    13 0200                              jbr     L284
        !           536:  520  0001B81D                                  L285:
        !           537:  521  0001B81D                                   #         force_loop = FALSE;                     /* clear force_loop flg   */
        !           538:  522  0001B81D    4d effffffb35                        clrl    _force_loop
        !           539:  523  0001B823                                   #         subtest = 3;
        !           540:  524  0001B823    0d 03 effffffb2e                     movl    $3,_subtest
        !           541:  525  0001B82A                                   #     fill_reg_buf( load_regs );              /* get pattern for regs   */
        !           542:  526  0001B82A    dd 8f00000000                        pushl   $_load_regs
        !           543:  527  0001B830    fe 08 effffffb21                     callf   $8,_fill_reg_buf
        !           544:  528  0001B837                                   #     index = 0;
        !           545:  529  0001B837    4d effffffb1b                        clrl    _index
        !           546:  530  0001B83D                                   #         do 
        !           547:  531  0001B83D                                  L289:
        !           548:  532  0001B83D                                   #         {
        !           549:  533  0001B83D                                   #              dbl_value_1  = cmpd_1_data[index].one;   /* data to load    */
        !           550:  534  0001B83D    5c 14 effffffb14 50                  mull3   $20,_index,r0
        !           551:  535  0001B845    0c 8f00000000 50                     addl2   $_cmpd_1_data,r0
        !           552:  536  0001B84C    0d a004 effffffb08                   movl    4(r0),_dbl_value_1+4
        !           553:  537  0001B854    0d 60 effffffafd                     movl    (r0),_dbl_value_1
        !           554:  538  0001B85B                                   #              dbl_value_2  = cmpd_1_data[index].two;   /* data to compare */
        !           555:  539  0001B85B    5c 14 effffffaf6 50                  mull3   $20,_index,r0
        !           556:  540  0001B863    0c 8f00000008 50                     addl2   $_cmpd_1_data+8,r0
        !           557:  541  0001B86A    0d a004 effffffaea                   movl    4(r0),_dbl_value_2+4
        !           558:  542  0001B872    0d 60 effffffadf                     movl    (r0),_dbl_value_2
        !           559:  543  0001B879                                   #              dbl_expected = cmpd_1_data[index].one;   /* expected result */
        !           560:  544  0001B879    5c 14 effffffad8 50                  mull3   $20,_index,r0
        !           561:  545  0001B881    0c 8f00000000 50                     addl2   $_cmpd_1_data,r0
        !           562:  546  0001B888    0d a004 effffffacc                   movl    4(r0),_dbl_expected+4
        !           563:  547  0001B890    0d 60 effffffac1                     movl    (r0),_dbl_expected
        !           564:  548  0001B897                                   # /*
        !           565:  549  0001B897                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           566:  550  0001B897                                   #  * The force loop flag is set after the first error.
        !           567:  551  0001B897                                   # */
        !           568:  552  0001B897                                   #              asm("_cmpd_3_lp1:");
        !           569:  553  0001B897                                  _cmpd_3_lp1:
        !           570:  554  0001B897                                   #              asm("ldd _dbl_value_1");           /* LOAD the accumulator  */
        !           571:  555  0001B897    07 effffffabb                 ldd _dbl_value_1
        !           572:  556  0001B89D                                   #              asm("nop");
        !           573:  557  0001B89D    10                            nop
        !           574:  558  0001B89E                                   #          asm("loadr $0x1fff,_load_regs");   /* load regs 0 - 12       */
        !           575:  559  0001B89E    ab 891fff effffffab1          loadr $0x1fff,_load_regs
        !           576:  560  0001B8A7                                   #              asm("nop");
        !           577:  561  0001B8A7    10                            nop
        !           578:  562  0001B8A8                                   #              asm("cmpd _dbl_value_2");          /* test the values        */
        !           579:  563  0001B8A8    37 effffffaaa                 cmpd _dbl_value_2
        !           580:  564  0001B8AE                                   #              asm("nop");
        !           581:  565  0001B8AE    10                            nop
        !           582:  566  0001B8AF                                   #              asm("storer $0x1fff,_store_regs"); /* store regs 0 - 12 */
        !           583:  567  0001B8AF    bb 891fff effffffaa0          storer $0x1fff,_store_regs
        !           584:  568  0001B8B8                                   #              if( force_loop )                   /* loop?                    */
        !           585:  569  0001B8B8    5d effffffa9a                        tstl    _force_loop
        !           586:  570  0001B8BE    31 02                                jeql    L290
        !           587:  571  0001B8C0                                   #                    asm("brb _cmpd_3_lp1");;     /* run the loop again       */
        !           588:  572  0001B8C0    11 d5                         brb _cmpd_3_lp1
        !           589:  573  0001B8C2                                  L290:
        !           590:  574  0001B8C2                                   # /*
        !           591:  575  0001B8C2                                   #  * Now compare the stored register values to those that were loaded
        !           592:  576  0001B8C2                                   # */
        !           593:  577  0001B8C2                                   #              index2 = 0;
        !           594:  578  0001B8C2    4d effffffa90                        clrl    _index2
        !           595:  579  0001B8C8                                   #              while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
        !           596:  580  0001B8C8                                  L291:
        !           597:  581  0001B8C8    0d effffffa8a 50                     movl    _index2,r0
        !           598:  582  0001B8CF    0d effffffa83 51                     movl    _index2,r1
        !           599:  583  0001B8D6    1d 40effffffa7b                      cmpl    _load_regs[r0],_store_regs[r1]
        !           600:                   41effffffa75 
        !           601:  584  0001B8E3    21 11                                jneq    L292
        !           602:  585  0001B8E5    1d effffffa6d 0d                     cmpl    _index2,$13
        !           603:  586  0001B8EC    81 08                                jgeq    L292
        !           604:  587  0001B8EE                                   #                   index2++;                     /* check reg values */
        !           605:  588  0001B8EE    6d effffffa64                        incl    _index2
        !           606:  589  0001B8F4    11 d2                                jbr     L291
        !           607:  590  0001B8F6                                  L292:
        !           608:  591  0001B8F6                                   #              if( index2 < 13 )  {               /* error if index2 < 13 */
        !           609:  592  0001B8F6    1d effffffa5c 0d                     cmpl    _index2,$13
        !           610:  593  0001B8FD    91 03 13 0101                        jgeq    L293
        !           611:  594  0001B902                                   #                   errcnt++;                     /* bump the error count */
        !           612:  595  0001B902    6d effffffa50                        incl    _errcnt
        !           613:  596  0001B908                                   #                   if ( prt_error ) {
        !           614:  597  0001B908    5d effffffa4a                        tstl    _prt_error
        !           615:  598  0001B90E    21 03 13 00cd                        jeql    L294
        !           616:  599  0001B913                                   #                        writes(" \n");      /* start a new print line   */
        !           617:  600  0001B913                                         .data   1
        !           618:  601  00000ba3 *                                L295:
        !           619:  602  00000ba3 *  200A00                               .ascii  " \12\0"
        !           620:  603  00000ba6 *                                       .text
        !           621:  604  0001B913    dd 8f00000ba3                        pushl   $L295
        !           622:  605  0001B919    fe 08 effffffa38                     callf   $8,_writes
        !           623:  606  0001B920                                   #                        writes("cycle: ");
        !           624:  607  0001B920                                         .data   1
        !           625:  608  00000ba6 *                                L296:
        !           626:  609  00000ba6 *  6379636C653A2000                     .ascii  "cycle: \0"
        !           627:  610  00000bae *                                       .text
        !           628:  611  0001B920    dd 8f00000ba6                        pushl   $L296
        !           629:  612  0001B926    fe 08 effffffa2b                     callf   $8,_writes
        !           630:  613  0001B92D                                   #                        writed( cycle );
        !           631:  614  0001B92D    dd effffffa25                        pushl   _cycle
        !           632:  615  0001B933    fe 08 effffffa1e                     callf   $8,_writed
        !           633:  616  0001B93A                                   #                        writes(", CMPD test ");
        !           634:  617  0001B93A                                         .data   1
        !           635:  618  00000bae *                                L297:
        !           636:  619  00000bae *  2C20434D50442074657374200            .ascii  ", CMPD test \0"
        !           637:                   0
        !           638:  620  00000bbb *                                       .text
        !           639:  621  0001B93A    dd 8f00000bae                        pushl   $L297
        !           640:  622  0001B940    fe 08 effffffa11                     callf   $8,_writes
        !           641:  623  0001B947                                   #                    writed( test_no );
        !           642:  624  0001B947    dd effffffa0b                        pushl   _test_no
        !           643:  625  0001B94D    fe 08 effffffa04                     callf   $8,_writed
        !           644:  626  0001B954                                   #     writes(", subtest 3 - A REGISTER WAS MODIFIED\n");
        !           645:  627  0001B954                                         .data   1
        !           646:  628  00000bbb *                                L298:
        !           647:  629  00000bbb *  2C20737562746573742033202            .ascii  ", subtest 3 - A REGISTER WAS MODIFIED\12\0"
        !           648:                   D204120524547495354455220
        !           649:                   574153204D4F4449464945440
        !           650:                   A00
        !           651:  630  00000be2 *                                       .text
        !           652:  631  0001B954    dd 8f00000bbb                        pushl   $L298
        !           653:  632  0001B95A    fe 08 effffff9f7                     callf   $8,_writes
        !           654:  633  0001B961                                   #                        print_cmpd_data();            /* print the operands    */
        !           655:  634  0001B961    fe 04 ef000002fa                     callf   $4,_print_cmpd_data
        !           656:  635  0001B968                                   #                        writes("\n");
        !           657:  636  0001B968                                         .data   1
        !           658:  637  00000be2 *                                L299:
        !           659:  638  00000be2 *  0A00                                 .ascii  "\12\0"
        !           660:  639  00000be4 *                                       .text
        !           661:  640  0001B968    dd 8f00000be2                        pushl   $L299
        !           662:  641  0001B96E    fe 08 effffff9e3                     callf   $8,_writes
        !           663:  642  0001B975                                   #                        writes("register ");          /* print the information */
        !           664:  643  0001B975                                         .data   1
        !           665:  644  00000be4 *                                L300:
        !           666:  645  00000be4 *  72656769737465722000                 .ascii  "register \0"
        !           667:  646  00000bee *                                       .text
        !           668:  647  0001B975    dd 8f00000be4                        pushl   $L300
        !           669:  648  0001B97B    fe 08 effffff9d6                     callf   $8,_writes
        !           670:  649  0001B982                                   #                        writed( index2 );             /* about the corrupted  */
        !           671:  650  0001B982    dd effffff9d0                        pushl   _index2
        !           672:  651  0001B988    fe 08 effffff9c9                     callf   $8,_writed
        !           673:  652  0001B98F                                   #                        writes(" = ");                /*    register         */
        !           674:  653  0001B98F                                         .data   1
        !           675:  654  00000bee *                                L301:
        !           676:  655  00000bee *  203D2000                             .ascii  " = \0"
        !           677:  656  00000bf2 *                                       .text
        !           678:  657  0001B98F    dd 8f00000bee                        pushl   $L301
        !           679:  658  0001B995    fe 08 effffff9bc                     callf   $8,_writes
        !           680:  659  0001B99C                                   #                        write32h( store_regs[index2] );
        !           681:  660  0001B99C    0d effffff9b6 50                     movl    _index2,r0
        !           682:  661  0001B9A3    dd 40effffff9ae                      pushl   _store_regs[r0]
        !           683:  662  0001B9AA    fe 08 effffff9a7                     callf   $8,_write32h
        !           684:  663  0001B9B1                                   #                        writes(",  should be = ");
        !           685:  664  0001B9B1                                         .data   1
        !           686:  665  00000bf2 *                                L302:
        !           687:  666  00000bf2 *  2C202073686F756C642062652            .ascii  ",  should be = \0"
        !           688:                   03D2000
        !           689:  667  00000c02 *                                       .text
        !           690:  668  0001B9B1    dd 8f00000bf2                        pushl   $L302
        !           691:  669  0001B9B7    fe 08 effffff99a                     callf   $8,_writes
        !           692:  670  0001B9BE                                   #                        write32h( load_regs[index2] );
        !           693:  671  0001B9BE    0d effffff994 50                     movl    _index2,r0
        !           694:  672  0001B9C5    dd 40effffff98c                      pushl   _load_regs[r0]
        !           695:  673  0001B9CC    fe 08 effffff985                     callf   $8,_write32h
        !           696:  674  0001B9D3                                   #                        writes("\n");
        !           697:  675  0001B9D3                                         .data   1
        !           698:  676  00000c02 *                                L303:
        !           699:  677  00000c02 *  0A00                                 .ascii  "\12\0"
        !           700:  678  00000c04 *                                       .text
        !           701:  679  0001B9D3    dd 8f00000c02                        pushl   $L303
        !           702:  680  0001B9D9    fe 08 effffff978                     callf   $8,_writes
        !           703:  681  0001B9E0                                   #                    }
        !           704:  682  0001B9E0                                   #                        if ( halt_flg )               /* halt on error? */
        !           705:  683  0001B9E0                                  L294:
        !           706:  684  0001B9E0    5d effffff972                        tstl    _halt_flg
        !           707:  685  0001B9E6    31 09                                jeql    L304
        !           708:  686  0001B9E8                                   #                             cmpd_er_halt( BAD_REG_HLT );   /* PC after halt */
        !           709:  687  0001B9E8    dd 02                                pushl   $2
        !           710:  688  0001B9EA    fe 08 ef000002d9                     callf   $8,_cmpd_er_halt
        !           711:  689  0001B9F1                                   #                        if ( loop_on_err ) {
        !           712:  690  0001B9F1                                  L304:
        !           713:  691  0001B9F1    5d effffff961                        tstl    _loop_on_err
        !           714:  692  0001B9F7    31 0a                                jeql    L305
        !           715:  693  0001B9F9                                   #                           force_loop = TRUE;         /* set force loop flag */
        !           716:  694  0001B9F9    0d 01 effffff958                     movl    $1,_force_loop
        !           717:  695  0001BA00                                   #                           asm("brw _cmpd_3_lp1");    /* and loop on error   */
        !           718:  696  0001BA00    13 fe94                       brw _cmpd_3_lp1
        !           719:  697  0001BA03                                   #                        }   /* end of loop on error    */
        !           720:  698  0001BA03                                   #                   }    /* end of register corruption error */
        !           721:  699  0001BA03                                  L305:
        !           722:  700  0001BA03                                   #         } while ( index++ < max_cmpd_1_index ); /* end of WHILE loop */
        !           723:  701  0001BA03                                  L293:
        !           724:  702  0001BA03                                  L288:
        !           725:  703  0001BA03    0d effffff94f 50                     movl    _index,r0
        !           726:  704  0001BA0A    6d effffff948                        incl    _index
        !           727:  705  0001BA10    1d 50 effffff941                     cmpl    r0,_max_cmpd_1_index
        !           728:  706  0001BA17    81 03 13 fe21                        jlss    L289
        !           729:  707  0001BA1C                                  L287:
        !           730:  708  0001BA1C                                   # }  /* end of subtest 3 */
        !           731:  709  0001BA1C    40                                   ret#2
        !           732:  710  0001BA1D                                         .set    L282,0x0
        !           733:  711  0001BA1D                                  L284:
        !           734:  712  0001BA1D    13 fdfd                              jbr     L285
        !           735:  713  0001BA20                                         .data
        !           736:  714  00000a98 *                                       .text
        !           737:  715  0001BA20                                         .align  1
        !           738:  716  0001BA20                                         .globl  _cmpd_4
        !           739:  717  0001BA20                                  _cmpd_4:
        !           740:  718  0001BA20    0000                                 .word   L306
        !           741:  719  0001BA22                                   #   
        !           742:  720  0001BA22                                   # 
        !           743:  721  0001BA22                                   # 
        !           744:  722  0001BA22                                   # /************************************************************************
        !           745:  723  0001BA22                                   # *
        !           746:  724  0001BA22                                   # *       SUBTEST 4 - Check for accumulator corruption
        !           747:  725  0001BA22                                   # *
        !           748:  726  0001BA22                                   # ************************************************************************/
        !           749:  727  0001BA22                                   # cmpd_4() 
        !           750:  728  0001BA22                                   # {
        !           751:  729  0001BA22    13 023a                              jbr     L308
        !           752:  730  0001BA25                                  L309:
        !           753:  731  0001BA25                                   #         force_loop = FALSE;                         /* clear force_loop flg */
        !           754:  732  0001BA25    4d effffff92d                        clrl    _force_loop
        !           755:  733  0001BA2B                                   #         index = 0;
        !           756:  734  0001BA2B    4d effffff927                        clrl    _index
        !           757:  735  0001BA31                                   #         do 
        !           758:  736  0001BA31                                  L312:
        !           759:  737  0001BA31                                   #         {
        !           760:  738  0001BA31                                   #              dbl_value_1   = cmpd_1_data[index].one; /* data to load */
        !           761:  739  0001BA31    5c 14 effffff920 50                  mull3   $20,_index,r0
        !           762:  740  0001BA39    0c 8f00000000 50                     addl2   $_cmpd_1_data,r0
        !           763:  741  0001BA40    0d a004 effffff914                   movl    4(r0),_dbl_value_1+4
        !           764:  742  0001BA48    0d 60 effffff909                     movl    (r0),_dbl_value_1
        !           765:  743  0001BA4F                                   #              dbl_value_2   = cmpd_1_data[index].two;
        !           766:  744  0001BA4F    5c 14 effffff902 50                  mull3   $20,_index,r0
        !           767:  745  0001BA57    0c 8f00000008 50                     addl2   $_cmpd_1_data+8,r0
        !           768:  746  0001BA5E    0d a004 effffff8f6                   movl    4(r0),_dbl_value_2+4
        !           769:  747  0001BA66    0d 60 effffff8eb                     movl    (r0),_dbl_value_2
        !           770:  748  0001BA6D                                   #              dbl_expected  = cmpd_1_data[index].one; /* expected result */
        !           771:  749  0001BA6D    5c 14 effffff8e4 50                  mull3   $20,_index,r0
        !           772:  750  0001BA75    0c 8f00000000 50                     addl2   $_cmpd_1_data,r0
        !           773:  751  0001BA7C    0d a004 effffff8d8                   movl    4(r0),_dbl_expected+4
        !           774:  752  0001BA84    0d 60 effffff8cd                     movl    (r0),_dbl_expected
        !           775:  753  0001BA8B                                   #          if( !(dbl_value_1.m & 0x7f800000) ) {    /*   */
        !           776:  754  0001BA8B    3d 8f7f800000 effffff8c2             bitl    $2139095040,_dbl_value_1
        !           777:  755  0001BA96    21 0c                                jneq    L313
        !           778:  756  0001BA98                                   #             dbl_expected.m = 0;                  /*   */
        !           779:  757  0001BA98    4d effffff8ba                        clrl    _dbl_expected
        !           780:  758  0001BA9E                                   #             dbl_expected.l = 0;             /* ignore bad 0's */
        !           781:  759  0001BA9E    4d effffff8b8                        clrl    _dbl_expected+4
        !           782:  760  0001BAA4                                   #             }                               /*                */
        !           783:  761  0001BAA4                                   #              sgl_value_1  = dbl_value_1.m;
        !           784:  762  0001BAA4                                  L313:
        !           785:  763  0001BAA4    0d effffff8ae effffff8a9             movl    _dbl_value_1,_sgl_value_1
        !           786:  764  0001BAAF                                   #              sgl_value_2  = dbl_value_1.l;
        !           787:  765  0001BAAF    0d effffff8a7 effffff89e             movl    _dbl_value_1+4,_sgl_value_2
        !           788:  766  0001BABA                                   #              sgl_value_3  = dbl_value_2.m;
        !           789:  767  0001BABA    0d effffff898 effffff893             movl    _dbl_value_2,_sgl_value_3
        !           790:  768  0001BAC5                                   #              sgl_value_4  = dbl_value_2.l;
        !           791:  769  0001BAC5    0d effffff891 effffff888             movl    _dbl_value_2+4,_sgl_value_4
        !           792:  770  0001BAD0                                   # /*
        !           793:  771  0001BAD0                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           794:  772  0001BAD0                                   #  * The force loop flag is set after the first error.
        !           795:  773  0001BAD0                                   # */
        !           796:  774  0001BAD0                                   #              asm("_cmpd_4_lp1:");
        !           797:  775  0001BAD0                                  _cmpd_4_lp1:
        !           798:  776  0001BAD0                                   #              asm("movl _sgl_value_1,r4");       /* r4 = operand #1's MSW */
        !           799:  777  0001BAD0    0d effffff882 54              movl _sgl_value_1,r4
        !           800:  778  0001BAD7                                   #              asm("movl _sgl_value_2,r5");       /* r5 = operand #1's LSW */
        !           801:  779  0001BAD7    0d effffff87b 55              movl _sgl_value_2,r5
        !           802:  780  0001BADE                                   #              asm("movl _sgl_value_3,r6");       /* r6 = operand #2's MSW */
        !           803:  781  0001BADE    0d effffff874 56              movl _sgl_value_3,r6
        !           804:  782  0001BAE5                                   #              asm("movl _sgl_value_4,r7");       /* r7 = operand #2's LSW */
        !           805:  783  0001BAE5    0d effffff86d 57              movl _sgl_value_4,r7
        !           806:  784  0001BAEC                                   #              asm("ldd r4");                     /* store the accumulator */
        !           807:  785  0001BAEC    07 54                         ldd r4
        !           808:  786  0001BAEE                                   #              asm("cmpd r6");                    /* test the values       */
        !           809:  787  0001BAEE    37 56                         cmpd r6
        !           810:  788  0001BAF0                                   #              asm("std r8");                     /* store the accumulator */
        !           811:  789  0001BAF0    27 58                         std r8
        !           812:  790  0001BAF2                                   #              if( force_loop )                   /* loop?                    */
        !           813:  791  0001BAF2    5d effffff860                        tstl    _force_loop
        !           814:  792  0001BAF8    31 02                                jeql    L314
        !           815:  793  0001BAFA                                   #                    asm("brb _cmpd_4_lp1");;     /* run the loop again       */
        !           816:  794  0001BAFA    11 d4                         brb _cmpd_4_lp1
        !           817:  795  0001BAFC                                  L314:
        !           818:  796  0001BAFC                                   #              asm("movl r8,_sgl_value_5");       /* move results to cache */
        !           819:  797  0001BAFC    0d 58 effffff855              movl r8,_sgl_value_5
        !           820:  798  0001BB03                                   #              asm("movl r9,_sgl_value_6");
        !           821:  799  0001BB03    0d 59 effffff84e              movl r9,_sgl_value_6
        !           822:  800  0001BB0A                                   #              if (  (sgl_value_5 != dbl_expected.m) || /* COMPARE the values */
        !           823:  801  0001BB0A                                   #                    (sgl_value_6 != dbl_expected.l) ){
        !           824:  802  0001BB0A    1d effffff848 effffff843             cmpl    _sgl_value_5,_dbl_expected
        !           825:  803  0001BB15    21 10                                jneq    L9999
        !           826:  804  0001BB17    1d effffff83b effffff83a             cmpl    _sgl_value_6,_dbl_expected+4
        !           827:  805  0001BB22    21 03 13 011e                        jeql    L315
        !           828:  806  0001BB27                                  L9999:
        !           829:  807  0001BB27                                   #                   errcnt++;                     /* bump the error count */
        !           830:  808  0001BB27    6d effffff82b                        incl    _errcnt
        !           831:  809  0001BB2D                                   #                   if ( prt_error ) {
        !           832:  810  0001BB2D    5d effffff825                        tstl    _prt_error
        !           833:  811  0001BB33    21 03 13 00ea                        jeql    L316
        !           834:  812  0001BB38                                   #                        writes(" \n");      /* start a new print line   */
        !           835:  813  0001BB38                                         .data   1
        !           836:  814  00000c04 *                                L317:
        !           837:  815  00000c04 *  200A00                               .ascii  " \12\0"
        !           838:  816  00000c07 *                                       .text
        !           839:  817  0001BB38    dd 8f00000c04                        pushl   $L317
        !           840:  818  0001BB3E    fe 08 effffff813                     callf   $8,_writes
        !           841:  819  0001BB45                                   #                        writes("cycle: ");
        !           842:  820  0001BB45                                         .data   1
        !           843:  821  00000c07 *                                L318:
        !           844:  822  00000c07 *  6379636C653A2000                     .ascii  "cycle: \0"
        !           845:  823  00000c0f *                                       .text
        !           846:  824  0001BB45    dd 8f00000c07                        pushl   $L318
        !           847:  825  0001BB4B    fe 08 effffff806                     callf   $8,_writes
        !           848:  826  0001BB52                                   #                        writed( cycle );
        !           849:  827  0001BB52    dd effffff800                        pushl   _cycle
        !           850:  828  0001BB58    fe 08 effffff7f9                     callf   $8,_writed
        !           851:  829  0001BB5F                                   #                        writes(", CMPD test ");
        !           852:  830  0001BB5F                                         .data   1
        !           853:  831  00000c0f *                                L319:
        !           854:  832  00000c0f *  2C20434D50442074657374200            .ascii  ", CMPD test \0"
        !           855:                   0
        !           856:  833  00000c1c *                                       .text
        !           857:  834  0001BB5F    dd 8f00000c0f                        pushl   $L319
        !           858:  835  0001BB65    fe 08 effffff7ec                     callf   $8,_writes
        !           859:  836  0001BB6C                                   #                    writed( test_no );
        !           860:  837  0001BB6C    dd effffff7e6                        pushl   _test_no
        !           861:  838  0001BB72    fe 08 effffff7df                     callf   $8,_writed
        !           862:  839  0001BB79                                   #     writes(", subtest 4 - THE ACC WAS MODIFIED\n");
        !           863:  840  0001BB79                                         .data   1
        !           864:  841  00000c1c *                                L320:
        !           865:  842  00000c1c *  2C20737562746573742034202            .ascii  ", subtest 4 - THE ACC WAS MODIFIED\12\0"
        !           866:                   D205448452041434320574153
        !           867:                   204D4F4449464945440A00
        !           868:  843  00000c40 *                                       .text
        !           869:  844  0001BB79    dd 8f00000c1c                        pushl   $L320
        !           870:  845  0001BB7F    fe 08 effffff7d2                     callf   $8,_writes
        !           871:  846  0001BB86                                   #                        print_cmpd_data();
        !           872:  847  0001BB86    fe 04 ef000000d5                     callf   $4,_print_cmpd_data
        !           873:  848  0001BB8D                                   #                        writes(",  index = ");
        !           874:  849  0001BB8D                                         .data   1
        !           875:  850  00000c40 *                                L321:
        !           876:  851  00000c40 *  2C2020696E646578203D2000             .ascii  ",  index = \0"
        !           877:  852  00000c4c *                                       .text
        !           878:  853  0001BB8D    dd 8f00000c40                        pushl   $L321
        !           879:  854  0001BB93    fe 08 effffff7be                     callf   $8,_writes
        !           880:  855  0001BB9A                                   #                    writed( index );
        !           881:  856  0001BB9A    dd effffff7b8                        pushl   _index
        !           882:  857  0001BBA0    fe 08 effffff7b1                     callf   $8,_writed
        !           883:  858  0001BBA7                                   #                    writec('\n');
        !           884:  859  0001BBA7    dd 0a                                pushl   $10
        !           885:  860  0001BBA9    fe 08 effffff7a8                     callf   $8,_writec
        !           886:  861  0001BBB0                                   #                    writes("  final Acc = ");
        !           887:  862  0001BBB0                                         .data   1
        !           888:  863  00000c4c *                                L323:
        !           889:  864  00000c4c *  202066696E616C20416363203            .ascii  "  final Acc = \0"
        !           890:                   D2000
        !           891:  865  00000c5b *                                       .text
        !           892:  866  0001BBB0    dd 8f00000c4c                        pushl   $L323
        !           893:  867  0001BBB6    fe 08 effffff79b                     callf   $8,_writes
        !           894:  868  0001BBBD                                   #                    write32h( sgl_value_5 );
        !           895:  869  0001BBBD    dd effffff795                        pushl   _sgl_value_5
        !           896:  870  0001BBC3    fe 08 effffff78e                     callf   $8,_write32h
        !           897:  871  0001BBCA                                   #                    writec(' ');
        !           898:  872  0001BBCA    dd 20                                pushl   $32
        !           899:  873  0001BBCC    fe 08 effffff785                     callf   $8,_writec
        !           900:  874  0001BBD3                                   #                    write32h( sgl_value_6 );
        !           901:  875  0001BBD3    dd effffff77f                        pushl   _sgl_value_6
        !           902:  876  0001BBD9    fe 08 effffff778                     callf   $8,_write32h
        !           903:  877  0001BBE0                                   #                    writec('\n');
        !           904:  878  0001BBE0    dd 0a                                pushl   $10
        !           905:  879  0001BBE2    fe 08 effffff76f                     callf   $8,_writec
        !           906:  880  0001BBE9                                   #                    writes("   expected = ");
        !           907:  881  0001BBE9                                         .data   1
        !           908:  882  00000c5b *                                L324:
        !           909:  883  00000c5b *  2020206578706563746564203            .ascii  "   expected = \0"
        !           910:                   D2000
        !           911:  884  00000c6a *                                       .text
        !           912:  885  0001BBE9    dd 8f00000c5b                        pushl   $L324
        !           913:  886  0001BBEF    fe 08 effffff762                     callf   $8,_writes
        !           914:  887  0001BBF6                                   #                    write32h( dbl_expected.m );
        !           915:  888  0001BBF6    dd effffff75c                        pushl   _dbl_expected
        !           916:  889  0001BBFC    fe 08 effffff755                     callf   $8,_write32h
        !           917:  890  0001BC03                                   #                    writec(' ');
        !           918:  891  0001BC03    dd 20                                pushl   $32
        !           919:  892  0001BC05    fe 08 effffff74c                     callf   $8,_writec
        !           920:  893  0001BC0C                                   #                    write32h( dbl_expected.l );
        !           921:  894  0001BC0C    dd effffff74a                        pushl   _dbl_expected+4
        !           922:  895  0001BC12    fe 08 effffff73f                     callf   $8,_write32h
        !           923:  896  0001BC19                                   #                    writec('\n');
        !           924:  897  0001BC19    dd 0a                                pushl   $10
        !           925:  898  0001BC1B    fe 08 effffff736                     callf   $8,_writec
        !           926:  899  0001BC22                                   #                    }
        !           927:  900  0001BC22                                   #                   if ( halt_flg )               /* halt on error? */
        !           928:  901  0001BC22                                  L316:
        !           929:  902  0001BC22    5d effffff730                        tstl    _halt_flg
        !           930:  903  0001BC28    31 09                                jeql    L325
        !           931:  904  0001BC2A                                   #                        cmpd_er_halt( BAD_ACC_HLT ); /* halt on the error */
        !           932:  905  0001BC2A    dd 01                                pushl   $1
        !           933:  906  0001BC2C    fe 08 ef00000097                     callf   $8,_cmpd_er_halt
        !           934:  907  0001BC33                                   #                   if ( loop_on_err ) {
        !           935:  908  0001BC33                                  L325:
        !           936:  909  0001BC33    5d effffff71f                        tstl    _loop_on_err
        !           937:  910  0001BC39    31 0a                                jeql    L326
        !           938:  911  0001BC3B                                   #                      force_loop = TRUE;         /* set the force loop flag */
        !           939:  912  0001BC3B    0d 01 effffff716                     movl    $1,_force_loop
        !           940:  913  0001BC42                                   #                      asm("brw _cmpd_4_lp1");    /* and loop on the error   */
        !           941:  914  0001BC42    13 fe8b                       brw _cmpd_4_lp1
        !           942:  915  0001BC45                                   #                   }   /* end of loop on error    */
        !           943:  916  0001BC45                                   #              }   /* end of compare error    */
        !           944:  917  0001BC45                                  L326:
        !           945:  918  0001BC45                                   #         } while ( index++ < max_cmpd_1_index ); /* end of WHILE loop */
        !           946:  919  0001BC45                                  L315:
        !           947:  920  0001BC45                                  L311:
        !           948:  921  0001BC45    0d effffff70d 50                     movl    _index,r0
        !           949:  922  0001BC4C    6d effffff706                        incl    _index
        !           950:  923  0001BC52    1d 50 effffff6ff                     cmpl    r0,_max_cmpd_1_index
        !           951:  924  0001BC59    81 03 13 fdd3                        jlss    L312
        !           952:  925  0001BC5E                                  L310:
        !           953:  926  0001BC5E                                   # }  /* end of subtest 4 */
        !           954:  927  0001BC5E    40                                   ret#2
        !           955:  928  0001BC5F                                         .set    L306,0x0
        !           956:  929  0001BC5F                                  L308:
        !           957:  930  0001BC5F    13 fdc3                              jbr     L309
        !           958:  931  0001BC62                                         .data
        !           959:  932  00000a98 *                                       .text
        !           960:  933  0001BC62                                         .align  1
        !           961:  934  0001BC62                                         .globl  _print_cmpd_data
        !           962:  935  0001BC62                                  _print_cmpd_data:
        !           963:  936  0001BC62    0000                                 .word   L327
        !           964:  937  0001BC64                                   #   
        !           965:  938  0001BC64                                   # 
        !           966:  939  0001BC64                                   # 
        !           967:  940  0001BC64                                   # /**************************************************************************
        !           968:  941  0001BC64                                   # *
        !           969:  942  0001BC64                                   # *       PRINT THE DATA AND STORE RESULTS
        !           970:  943  0001BC64                                   # *
        !           971:  944  0001BC64                                   # * initial Acc = xxxxxxxx xxxxxxxx,  operand = xxxxxxxx xxxxxxxx
        !           972:  945  0001BC64                                   # **************************************************************************/
        !           973:  946  0001BC64                                   # print_cmpd_data()
        !           974:  947  0001BC64                                   # {
        !           975:  948  0001BC64    11 61                                jbr     L329
        !           976:  949  0001BC66                                  L330:
        !           977:  950  0001BC66                                   #         writes("initial Acc = ");
        !           978:  951  0001BC66                                         .data   1
        !           979:  952  00000c6a *                                L331:
        !           980:  953  00000c6a *  696E697469616C20416363203            .ascii  "initial Acc = \0"
        !           981:                   D2000
        !           982:  954  00000c79 *                                       .text
        !           983:  955  0001BC66    dd 8f00000c6a                        pushl   $L331
        !           984:  956  0001BC6C    fe 08 effffff6e5                     callf   $8,_writes
        !           985:  957  0001BC73                                   #         write32h( dbl_value_1.m );
        !           986:  958  0001BC73    dd effffff6df                        pushl   _dbl_value_1
        !           987:  959  0001BC79    fe 08 effffff6d8                     callf   $8,_write32h
        !           988:  960  0001BC80                                   #         writec(' ');
        !           989:  961  0001BC80    dd 20                                pushl   $32
        !           990:  962  0001BC82    fe 08 effffff6cf                     callf   $8,_writec
        !           991:  963  0001BC89                                   #         write32h( dbl_value_1.l );
        !           992:  964  0001BC89    dd effffff6cd                        pushl   _dbl_value_1+4
        !           993:  965  0001BC8F    fe 08 effffff6c2                     callf   $8,_write32h
        !           994:  966  0001BC96                                   #         writes("  operand = ");
        !           995:  967  0001BC96                                         .data   1
        !           996:  968  00000c79 *                                L332:
        !           997:  969  00000c79 *  20206F706572616E64203D200            .ascii  "  operand = \0"
        !           998:                   0
        !           999:  970  00000c86 *                                       .text
        !          1000:  971  0001BC96    dd 8f00000c79                        pushl   $L332
        !          1001:  972  0001BC9C    fe 08 effffff6b5                     callf   $8,_writes
        !          1002:  973  0001BCA3                                   #         write32h( dbl_value_2.m );
        !          1003:  974  0001BCA3    dd effffff6af                        pushl   _dbl_value_2
        !          1004:  975  0001BCA9    fe 08 effffff6a8                     callf   $8,_write32h
        !          1005:  976  0001BCB0                                   #         writec(' ');
        !          1006:  977  0001BCB0    dd 20                                pushl   $32
        !          1007:  978  0001BCB2    fe 08 effffff69f                     callf   $8,_writec
        !          1008:  979  0001BCB9                                   #         write32h( dbl_value_2.l );
        !          1009:  980  0001BCB9    dd effffff69d                        pushl   _dbl_value_2+4
        !          1010:  981  0001BCBF    fe 08 effffff692                     callf   $8,_write32h
        !          1011:  982  0001BCC6                                   # }
        !          1012:  983  0001BCC6    40                                   ret#2
        !          1013:  984  0001BCC7                                         .set    L327,0x0
        !          1014:  985  0001BCC7                                  L329:
        !          1015:  986  0001BCC7    11 9d                                jbr     L330
        !          1016:  987  0001BCC9                                         .data
        !          1017:  988  00000a98 *                                       .text
        !          1018:  989  0001BCC9    00                                   .align  1
        !          1019:  990  0001BCCA                                         .globl  _cmpd_er_halt
        !          1020:  991  0001BCCA                                  _cmpd_er_halt:
        !          1021:  992  0001BCCA    0000                                 .word   L333
        !          1022:  993  0001BCCC                                   #   
        !          1023:  994  0001BCCC                                   # 
        !          1024:  995  0001BCCC                                   # 
        !          1025:  996  0001BCCC                                   # /**************************************************************************
        !          1026:  997  0001BCCC                                   # *
        !          1027:  998  0001BCCC                                   # *               HALT ON ERROR ROUTINE 
        !          1028:  999  0001BCCC                                   # *
        !          1029: 1000  0001BCCC                                   # **************************************************************************/
        !          1030: 1001  0001BCCC                                   # cmpd_er_halt( halt_code )
        !          1031: 1002  0001BCCC                                   # int halt_code;
        !          1032: 1003  0001BCCC                                   # {
        !          1033: 1004  0001BCCC    13 011c                              jbr     L335
        !          1034: 1005  0001BCCF                                  L336:
        !          1035: 1006  0001BCCF                                   #         sgl_value_1 = dbl_value_1.m;
        !          1036: 1007  0001BCCF    0d effffff683 effffff67e             movl    _dbl_value_1,_sgl_value_1
        !          1037: 1008  0001BCDA                                   #         sgl_value_2 = dbl_value_1.l;
        !          1038: 1009  0001BCDA    0d effffff67c effffff673             movl    _dbl_value_1+4,_sgl_value_2
        !          1039: 1010  0001BCE5                                   #         sgl_value_3 = dbl_value_2.m;
        !          1040: 1011  0001BCE5    0d effffff66d effffff668             movl    _dbl_value_2,_sgl_value_3
        !          1041: 1012  0001BCF0                                   #         sgl_value_4 = dbl_value_2.l;
        !          1042: 1013  0001BCF0    0d effffff666 effffff65d             movl    _dbl_value_2+4,_sgl_value_4
        !          1043: 1014  0001BCFB                                   #         sgl_value_5 = dbl_st_acc.m;
        !          1044: 1015  0001BCFB    0d effffff657 effffff652             movl    _dbl_st_acc,_sgl_value_5
        !          1045: 1016  0001BD06                                   #         sgl_value_6 = dbl_st_acc.l;
        !          1046: 1017  0001BD06    0d effffff650 effffff647             movl    _dbl_st_acc+4,_sgl_value_6
        !          1047: 1018  0001BD11                                   #         sgl_dummy1 = halt_code;                 /* get the error type    */
        !          1048: 1019  0001BD11    0d ad04 effffff63f                   movl    4(fp),_sgl_dummy1
        !          1049: 1020  0001BD19                                   #         asm("movl _test_no,r0");                /* r0  = test number     */
        !          1050: 1021  0001BD19    0d effffff639 50              movl _test_no,r0
        !          1051: 1022  0001BD20                                   #         asm("movl _subtest,r1");                /* r1  = subtest number  */
        !          1052: 1023  0001BD20    0d effffff632 51              movl _subtest,r1
        !          1053: 1024  0001BD27                                   #         asm("movl _sgl_dummy1,r2");             /* r2  = error code      */
        !          1054: 1025  0001BD27    0d effffff62b 52              movl _sgl_dummy1,r2
        !          1055: 1026  0001BD2E                                   #         asm("movl _cycle,r3");                  /* r3  = cycle count     */
        !          1056: 1027  0001BD2E    0d effffff624 53              movl _cycle,r3
        !          1057: 1028  0001BD35                                   #         asm("movl _sgl_value_1,r4");            /* r4  = MS operand 1    */
        !          1058: 1029  0001BD35    0d effffff61d 54              movl _sgl_value_1,r4
        !          1059: 1030  0001BD3C                                   #         asm("movl _sgl_value_2,r5");            /* r5  = LS operand 1    */
        !          1060: 1031  0001BD3C    0d effffff616 55              movl _sgl_value_2,r5
        !          1061: 1032  0001BD43                                   #         asm("movl _sgl_value_3,r6");            /* r6  = MS operand 2    */
        !          1062: 1033  0001BD43    0d effffff60f 56              movl _sgl_value_3,r6
        !          1063: 1034  0001BD4A                                   #         asm("movl _sgl_value_4,r7");            /* r7  = MS operand 2    */
        !          1064: 1035  0001BD4A    0d effffff608 57              movl _sgl_value_4,r7
        !          1065: 1036  0001BD51                                   #         asm("movl _psl_val,r8");                /* r8  = actual PSL      */
        !          1066: 1037  0001BD51    0d effffff601 58              movl _psl_val,r8
        !          1067: 1038  0001BD58                                   #         if( halt_code == BAD_ACC_HLT ) {
        !          1068: 1039  0001BD58    1d ad04 01                           cmpl    4(fp),$1
        !          1069: 1040  0001BD5C    21 34                                jneq    L337
        !          1070: 1041  0001BD5E                                   #              sgl_value_1 = dbl_expected.m;
        !          1071: 1042  0001BD5E    0d effffff5f4 effffff5ef             movl    _dbl_expected,_sgl_value_1
        !          1072: 1043  0001BD69                                   #              sgl_value_2 = dbl_expected.l;
        !          1073: 1044  0001BD69    0d effffff5ed effffff5e4             movl    _dbl_expected+4,_sgl_value_2
        !          1074: 1045  0001BD74                                   #              asm("movl _sgl_value_5,r9");       /* r9  = MS stored       */
        !          1075: 1046  0001BD74    0d effffff5de 59              movl _sgl_value_5,r9
        !          1076: 1047  0001BD7B                                   #              asm("movl _sgl_value_6,r10");      /* r10 = LS stored       */
        !          1077: 1048  0001BD7B    0d effffff5d7 5a              movl _sgl_value_6,r10
        !          1078: 1049  0001BD82                                   #              asm("movl _sgl_value_1,r11");      /* r11 = MS expected     */
        !          1079: 1050  0001BD82    0d effffff5d0 5b              movl _sgl_value_1,r11
        !          1080: 1051  0001BD89                                   #              asm("movl _sgl_value_2,r12");      /* r12 = LS expected     */
        !          1081: 1052  0001BD89    0d effffff5c9 5c              movl _sgl_value_2,r12
        !          1082: 1053  0001BD90                                   #         } else 
        !          1083: 1054  0001BD90    11 57                                jbr     L338
        !          1084: 1055  0001BD92                                  L337:
        !          1085: 1056  0001BD92                                   #           if( halt_code == BAD_REG_HLT ) {
        !          1086: 1057  0001BD92    1d ad04 02                           cmpl    4(fp),$2
        !          1087: 1058  0001BD96    21 3d                                jneq    L339
        !          1088: 1059  0001BD98                                   #              sgl_dummy1 = load_regs[index2];
        !          1089: 1060  0001BD98    0d effffff5ba 50                     movl    _index2,r0
        !          1090: 1061  0001BD9F    0d 40effffff5b2                      movl    _load_regs[r0],_sgl_dummy1
        !          1091:                   effffff5ad 
        !          1092: 1062  0001BDAB                                   #              sgl_dummy2 = store_regs[index2];
        !          1093: 1063  0001BDAB    0d effffff5a7 50                     movl    _index2,r0
        !          1094: 1064  0001BDB2    0d 40effffff59f                      movl    _store_regs[r0],_sgl_dummy2
        !          1095:                   effffff59a 
        !          1096: 1065  0001BDBE                                   #              asm("movl _index2,r9");            /* r9  = bad register #  */
        !          1097: 1066  0001BDBE    0d effffff594 59              movl _index2,r9
        !          1098: 1067  0001BDC5                                   #              asm("movl _sgl_dummy2,r10");       /* r10 = actual value    */
        !          1099: 1068  0001BDC5    0d effffff58d 5a              movl _sgl_dummy2,r10
        !          1100: 1069  0001BDCC                                   #              asm("movl _sgl_dummy1,r11");       /* r11 = expected value  */
        !          1101: 1070  0001BDCC    0d effffff586 5b              movl _sgl_dummy1,r11
        !          1102: 1071  0001BDD3                                   #         } else
        !          1103: 1072  0001BDD3    11 14                                jbr     L340
        !          1104: 1073  0001BDD5                                  L339:
        !          1105: 1074  0001BDD5                                   #           if( halt_code == BAD_PSL_HLT ) {
        !          1106: 1075  0001BDD5    1d ad04 03                           cmpl    4(fp),$3
        !          1107: 1076  0001BDD9    21 0e                                jneq    L341
        !          1108: 1077  0001BDDB                                   #              asm("movl _exp_psl,r9");           /* r9  = expected PSL    */
        !          1109: 1078  0001BDDB    0d effffff577 59              movl _exp_psl,r9
        !          1110: 1079  0001BDE2                                   #              asm("movl _index,r10");            /* r10 = data index      */
        !          1111: 1080  0001BDE2    0d effffff570 5a              movl _index,r10
        !          1112: 1081  0001BDE9                                   #         };
        !          1113: 1082  0001BDE9                                  L341:
        !          1114: 1083  0001BDE9                                  L340:
        !          1115: 1084  0001BDE9                                  L338:
        !          1116: 1085  0001BDE9                                   #         asm("halt");                            /* HALT ...              */
        !          1117: 1086  0001BDE9    00                            halt
        !          1118: 1087  0001BDEA                                   # }  
        !          1119: 1088  0001BDEA    40                                   ret#2
        !          1120: 1089  0001BDEB                                         .set    L333,0x0
        !          1121: 1090  0001BDEB                                  L335:
        !          1122: 1091  0001BDEB    13 fee1                              jbr     L336
        !          1123: 1092  0001BDEE                                         .data
        !          1124: 1092  00037146                                         .data

unix.superglobalmegacorp.com

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