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

1.1       root        1:    1  00000000                                  LL0:
                      2:    2  00000000                                         .data
                      3:    3  0000068c *                                       .text
                      4:    4  00000000                                         .align  1
                      5:    5  00000000                                         .globl  _negd
                      6:    6  00000000                                  _negd:
                      7:    7  0001A5AC    0000                                 .word   L215
                      8:    8  0001A5AE                                   # 
                      9:    9  0001A5AE                                   # #include "fpp_defs.h"
                     10:   10  0001A5AE                                   # 
                     11:   11  0001A5AE                                   # 
                     12:   12  0001A5AE                                   # /*****************************************************************************
                     13:   13  0001A5AE                                   # *
                     14:   14  0001A5AE                                   # *               NEGD - DOUBLE PRECISION FLOATING POINT LOAD_NEGATE TEST
                     15:   15  0001A5AE                                   # *
                     16:   16  0001A5AE                                   # *****************************************************************************/
                     17:   17  0001A5AE                                   # negd()
                     18:   18  0001A5AE                                   # {
                     19:   19  0001A5AE    11 3a                                jbr     L217
                     20:   20  0001A5B0                                  L218:
                     21:   21  0001A5B0                                   #         asm(".globl _negd_t");
                     22:   22  0001A5B0                                  .globl _negd_t
                     23:   23  0001A5B0                                   #         asm("_negd_t:");                        /* entry address              */
                     24:   24  0001A5B0                                  _negd_t:
                     25:   25  0001A5B0                                   #         if( ( cycle ==1 ) && ( prt_hdrs ) )     /* print headers on 1st pass  */
                     26:   26  0001A5B0    1d effffffff6 01                     cmpl    _cycle,$1
                     27:   27  0001A5B7    21 15                                jneq    L219
                     28:   28  0001A5B9    5d efffffffed                        tstl    _prt_hdrs
                     29:   29  0001A5BF    31 0d                                jeql    L219
                     30:   30  0001A5C1                                   #            writes(" NEGD");
                     31:   31  0001A5C1                                         .data   1
                     32:   32  0000068c *                                L221:
                     33:   33  0000068c *  204E45474400                         .ascii  " NEGD\0"
                     34:   34  00000692 *                                       .text
                     35:   35  0001A5C1    dd 8f0000068c                        pushl   $L221
                     36:   36  0001A5C7    fe 08 efffffffde                     callf   $8,_writes
                     37:   37  0001A5CE                                   #         negd_1();                               /* negate through the cache   */
                     38:   38  0001A5CE                                  L219:
                     39:   39  0001A5CE    fe 04 ef00000017                     callf   $4,_negd_1
                     40:   40  0001A5D5                                   #         negd_2();                               /* register stability         */
                     41:   41  0001A5D5    fe 04 ef0000019a                     callf   $4,_negd_2
                     42:   42  0001A5DC                                   #         negd_3();                               /* PSL stability test         */
                     43:   43  0001A5DC    fe 04 ef0000033f                     callf   $4,_negd_3
                     44:   44  0001A5E3                                   #         asm("jmp *return");                     /* return to the test monitor */
                     45:   45  0001A5E3    71 ffffffffc3                 jmp *return
                     46:   46  0001A5E9                                   # }
                     47:   47  0001A5E9    40                                   ret#2
                     48:   48  0001A5EA                                         .set    L215,0x0
                     49:   49  0001A5EA                                  L217:
                     50:   50  0001A5EA    11 c4                                jbr     L218
                     51:   51  0001A5EC                                         .data
                     52:   52  0000068c *                                       .text
                     53:   53  0001A5EC                                         .align  1
                     54:   54  0001A5EC                                         .globl  _negd_1
                     55:   55  0001A5EC                                  _negd_1:
                     56:   56  0001A5EC    0000                                 .word   L225
                     57:   57  0001A5EE                                   #  
                     58:   58  0001A5EE                                   # 
                     59:   59  0001A5EE                                   # 
                     60:   60  0001A5EE                                   # /************************************************************************
                     61:   61  0001A5EE                                   # *
                     62:   62  0001A5EE                                   # *               SUBTEST 1 - negate through memory
                     63:   63  0001A5EE                                   # *
                     64:   64  0001A5EE                                   # ************************************************************************/
                     65:   65  0001A5EE                                   # negd_1() 
                     66:   66  0001A5EE                                   # {
                     67:   67  0001A5EE    13 0182                              jbr     L227
                     68:   68  0001A5F1                                  L228:
                     69:   69  0001A5F1                                   #         force_loop = FALSE;
                     70:   70  0001A5F1    4d efffffffb5                        clrl    _force_loop
                     71:   71  0001A5F7                                   #         subtest = 1;
                     72:   72  0001A5F7    0d 01 efffffffae                     movl    $1,_subtest
                     73:   73  0001A5FE                                   #         for( index = 0; index < max_lnd_1_index; index++ ) {
                     74:   74  0001A5FE    4d efffffffa8                        clrl    _index
                     75:   75  0001A604                                  L231:
                     76:   76  0001A604    1d efffffffa2 efffffff9d             cmpl    _index,_max_lnd_1_index
                     77:   77  0001A60F    91 03 13 015e                        jgeq    L230
                     78:   78  0001A614                                   #              dbl_ld_acc   = lnd_1_data[index].ld;   /* get value to negate */
                     79:   79  0001A614    48 04 efffffff91 50                  shll    $4,_index,r0
                     80:   80  0001A61C    0c 8f00000000 50                     addl2   $_lnd_1_data,r0
                     81:   81  0001A623    0d a004 efffffff85                   movl    4(r0),_dbl_ld_acc+4
                     82:   82  0001A62B    0d 60 efffffff7a                     movl    (r0),_dbl_ld_acc
                     83:   83  0001A632                                   #              dbl_expected = lnd_1_data[index].exp;  /* expected result */
                     84:   84  0001A632    48 04 efffffff73 50                  shll    $4,_index,r0
                     85:   85  0001A63A    0c 8f00000008 50                     addl2   $_lnd_1_data+8,r0
                     86:   86  0001A641    0d a004 efffffff67                   movl    4(r0),_dbl_expected+4
                     87:   87  0001A649    0d 60 efffffff5c                     movl    (r0),_dbl_expected
                     88:   88  0001A650                                   # /*
                     89:   89  0001A650                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                     90:   90  0001A650                                   #  * The force loop flag is set after the first error.
                     91:   91  0001A650                                   # */
                     92:   92  0001A650                                   #              asm("_negd_1_lp1:");
                     93:   93  0001A650                                  _negd_1_lp1:
                     94:   94  0001A650                                   #              asm("ldd _dbl_ld_acc");            /* load the value          */
                     95:   95  0001A650    07 efffffff56                 ldd _dbl_ld_acc
                     96:   96  0001A656                                   #              asm("negd");                       /* negate the value        */
                     97:   97  0001A656    b7                            negd
                     98:   98  0001A657                                   #              asm("std _dbl_st_acc");            /* store the result        */
                     99:   99  0001A657    27 efffffff4f                 std _dbl_st_acc
                    100:  100  0001A65D                                   #              if( force_loop )
                    101:  101  0001A65D    5d efffffff49                        tstl    _force_loop
                    102:  102  0001A663    31 02                                jeql    L232
                    103:  103  0001A665                                   #                   asm("brb _negd_1_lp1");;      /* loop on the error       */
                    104:  104  0001A665    11 e9                         brb _negd_1_lp1
                    105:  105  0001A667                                  L232:
                    106:  106  0001A667                                   # /* 
                    107:  107  0001A667                                   #  * end error loop - test the results
                    108:  108  0001A667                                   # */
                    109:  109  0001A667                                   #              if( (dbl_st_acc.m != dbl_expected.m ) || /* COMPARE the values*/
                    110:  110  0001A667                                   #                  (dbl_st_acc.l != dbl_expected.l ) )  {
                    111:  111  0001A667    1d efffffff3f efffffff3a             cmpl    _dbl_st_acc,_dbl_expected
                    112:  112  0001A672    21 10                                jneq    L9999
                    113:  113  0001A674    1d efffffff36 efffffff31             cmpl    _dbl_st_acc+4,_dbl_expected+4
                    114:  114  0001A67F    21 03 13 00e5                        jeql    L233
                    115:  115  0001A684                                  L9999:
                    116:  116  0001A684                                   #                    errcnt++;                    /* bump the error count   */
                    117:  117  0001A684    6d efffffff22                        incl    _errcnt
                    118:  118  0001A68A                                   #                    if( prt_error ) {
                    119:  119  0001A68A    5d efffffff1c                        tstl    _prt_error
                    120:  120  0001A690    21 03 13 00b1                        jeql    L234
                    121:  121  0001A695                                   #                         writes(" \n");      /* start a new print line */
                    122:  122  0001A695                                         .data   1
                    123:  123  00000692 *                                L235:
                    124:  124  00000692 *  200A00                               .ascii  " \12\0"
                    125:  125  00000695 *                                       .text
                    126:  126  0001A695    dd 8f00000692                        pushl   $L235
                    127:  127  0001A69B    fe 08 efffffff0a                     callf   $8,_writes
                    128:  128  0001A6A2                                   #                         writes("cycle: ");
                    129:  129  0001A6A2                                         .data   1
                    130:  130  00000695 *                                L236:
                    131:  131  00000695 *  6379636C653A2000                     .ascii  "cycle: \0"
                    132:  132  0000069d *                                       .text
                    133:  133  0001A6A2    dd 8f00000695                        pushl   $L236
                    134:  134  0001A6A8    fe 08 effffffefd                     callf   $8,_writes
                    135:  135  0001A6AF                                   #                         writed( cycle );
                    136:  136  0001A6AF    dd effffffef7                        pushl   _cycle
                    137:  137  0001A6B5    fe 08 effffffef0                     callf   $8,_writed
                    138:  138  0001A6BC                                   #                         writes("  NEGD test ");
                    139:  139  0001A6BC                                         .data   1
                    140:  140  0000069d *                                L238:
                    141:  141  0000069d *  20204E4547442074657374200            .ascii  "  NEGD test \0"
                    142:                   0
                    143:  142  000006aa *                                       .text
                    144:  143  0001A6BC    dd 8f0000069d                        pushl   $L238
                    145:  144  0001A6C2    fe 08 effffffee3                     callf   $8,_writes
                    146:  145  0001A6C9                                   #                     writed( test_no );
                    147:  146  0001A6C9    dd effffffedd                        pushl   _test_no
                    148:  147  0001A6CF    fe 08 effffffed6                     callf   $8,_writed
                    149:  148  0001A6D6                                   #                     writes(", subtest 1 (Cache Data) - BAD FINAL ACC\n");
                    150:  149  0001A6D6                                         .data   1
                    151:  150  000006aa *                                L239:
                    152:  151  000006aa *  2C20737562746573742031202            .ascii  ", subtest 1 (Cache Data) - BAD FINAL ACC\12\0"
                    153:                   8436163686520446174612920
                    154:                   2D204241442046494E414C204
                    155:                   143430A00
                    156:  152  000006d4 *                                       .text
                    157:  153  0001A6D6    dd 8f000006aa                        pushl   $L239
                    158:  154  0001A6DC    fe 08 effffffec9                     callf   $8,_writes
                    159:  155  0001A6E3                                   #                         print_negd_data();
                    160:  156  0001A6E3    fe 04 ef000003de                     callf   $4,_print_negd_data
                    161:  157  0001A6EA                                   #                         writes(",  index = ");
                    162:  158  0001A6EA                                         .data   1
                    163:  159  000006d4 *                                L241:
                    164:  160  000006d4 *  2C2020696E646578203D2000             .ascii  ",  index = \0"
                    165:  161  000006e0 *                                       .text
                    166:  162  0001A6EA    dd 8f000006d4                        pushl   $L241
                    167:  163  0001A6F0    fe 08 effffffeb5                     callf   $8,_writes
                    168:  164  0001A6F7                                   #                         writed( index );
                    169:  165  0001A6F7    dd effffffeaf                        pushl   _index
                    170:  166  0001A6FD    fe 08 effffffea8                     callf   $8,_writed
                    171:  167  0001A704                                   #                         writec('\n');
                    172:  168  0001A704    dd 0a                                pushl   $10
                    173:  169  0001A706    fe 08 effffffe9f                     callf   $8,_writec
                    174:  170  0001A70D                                   #     writes("                               Acc expected = ");
                    175:  171  0001A70D                                         .data   1
                    176:  172  000006e0 *                                L243:
                    177:  173  000006e0 *  2020202020202020202020202            .ascii  "                               Acc expected = \0"
                    178:                   0202020202020202020202020
                    179:                   2020202020204163632065787
                    180:                   06563746564203D2000
                    181:  174  0000070f *                                       .text
                    182:  175  0001A70D    dd 8f000006e0                        pushl   $L243
                    183:  176  0001A713    fe 08 effffffe92                     callf   $8,_writes
                    184:  177  0001A71A                                   #                         write32h( dbl_expected.m );
                    185:  178  0001A71A    dd effffffe8c                        pushl   _dbl_expected
                    186:  179  0001A720    fe 08 effffffe85                     callf   $8,_write32h
                    187:  180  0001A727                                   #                         writec(' ');
                    188:  181  0001A727    dd 20                                pushl   $32
                    189:  182  0001A729    fe 08 effffffe7c                     callf   $8,_writec
                    190:  183  0001A730                                   #                         write32h( dbl_expected.l );
                    191:  184  0001A730    dd effffffe7a                        pushl   _dbl_expected+4
                    192:  185  0001A736    fe 08 effffffe6f                     callf   $8,_write32h
                    193:  186  0001A73D                                   #                         writec('\n');
                    194:  187  0001A73D    dd 0a                                pushl   $10
                    195:  188  0001A73F    fe 08 effffffe66                     callf   $8,_writec
                    196:  189  0001A746                                   #                    }
                    197:  190  0001A746                                   #                    if( halt_flg ) 
                    198:  191  0001A746                                  L234:
                    199:  192  0001A746    5d effffffe60                        tstl    _halt_flg
                    200:  193  0001A74C    31 09                                jeql    L245
                    201:  194  0001A74E                                   #                         negd_er_halt( BAD_ACC_HLT );    /* halt on the error */
                    202:  195  0001A74E    dd 01                                pushl   $1
                    203:  196  0001A750    fe 08 ef000003d9                     callf   $8,_negd_er_halt
                    204:  197  0001A757                                   #                    if( loop_on_err ) {
                    205:  198  0001A757                                  L245:
                    206:  199  0001A757    5d effffffe4f                        tstl    _loop_on_err
                    207:  200  0001A75D    31 0a                                jeql    L247
                    208:  201  0001A75F                                   #                         force_loop = TRUE;        /* set the force loop flag */
                    209:  202  0001A75F    0d 01 effffffe46                     movl    $1,_force_loop
                    210:  203  0001A766                                   #                         asm("brw _negd_1_lp1");;  /* and loop on the error   */
                    211:  204  0001A766    13 fee7                       brw _negd_1_lp1
                    212:  205  0001A769                                   #                    }   /* end of loop on error */
                    213:  206  0001A769                                   #              }   /* end of compare error */
                    214:  207  0001A769                                  L247:
                    215:  208  0001A769                                   #         }  /* end of WHILE loop */
                    216:  209  0001A769                                  L233:
                    217:  210  0001A769                                  L229:
                    218:  211  0001A769    6d effffffe3d                        incl    _index
                    219:  212  0001A76F    13 fe92                              jbr     L231
                    220:  213  0001A772                                  L230:
                    221:  214  0001A772                                   # }  /* end of subtest 1 */
                    222:  215  0001A772    40                                   ret#2
                    223:  216  0001A773                                         .set    L225,0x0
                    224:  217  0001A773                                  L227:
                    225:  218  0001A773    13 fe7b                              jbr     L228
                    226:  219  0001A776                                         .data
                    227:  220  0000068c *                                       .text
                    228:  221  0001A776                                         .align  1
                    229:  222  0001A776                                         .globl  _negd_2
                    230:  223  0001A776                                  _negd_2:
                    231:  224  0001A776    0000                                 .word   L248
                    232:  225  0001A778                                   #  
                    233:  226  0001A778                                   # 
                    234:  227  0001A778                                   # 
                    235:  228  0001A778                                   # /************************************************************************
                    236:  229  0001A778                                   # *
                    237:  230  0001A778                                   # *       SUBTEST 2 - Check for register corruption 
                    238:  231  0001A778                                   # *
                    239:  232  0001A778                                   # ************************************************************************/
                    240:  233  0001A778                                   # negd_2() 
                    241:  234  0001A778                                   # {
                    242:  235  0001A778    13 01a3                              jbr     L250
                    243:  236  0001A77B                                  L251:
                    244:  237  0001A77B                                   #         force_loop = FALSE;                     /* clear force_loop flg */
                    245:  238  0001A77B    4d effffffe2b                        clrl    _force_loop
                    246:  239  0001A781                                   #         subtest = 2;
                    247:  240  0001A781    0d 02 effffffe24                     movl    $2,_subtest
                    248:  241  0001A788                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
                    249:  242  0001A788    dd 8f00000000                        pushl   $_load_regs
                    250:  243  0001A78E    fe 08 effffffe17                     callf   $8,_fill_reg_buf
                    251:  244  0001A795                                   #         index = 0;
                    252:  245  0001A795    4d effffffe11                        clrl    _index
                    253:  246  0001A79B                                   #         dbl_ld_acc   = lnd_1_data[0].ld;       /* get value to negate */
                    254:  247  0001A79B    0d effffffe0f effffffe0a             movl    _lnd_1_data+4,_dbl_ld_acc+4
                    255:  248  0001A7A6    0d effffffe00 effffffdfb             movl    _lnd_1_data,_dbl_ld_acc
                    256:  249  0001A7B1                                   # /*  if( no_fpp_wcs )                        /* */
                    257:  250  0001A7B1                                   # /*             dbl_expected = dbl_ld_acc;        /* expected = loaded */
                    258:  251  0001A7B1                                   # /*  else                                    /* */
                    259:  252  0001A7B1                                   # /*             dbl_expected = lnd_1_data[index].exp;  /* expected result */
                    260:  253  0001A7B1                                   # /*
                    261:  254  0001A7B1                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    262:  255  0001A7B1                                   #  * The force loop flag is set after the first error.
                    263:  256  0001A7B1                                   # */
                    264:  257  0001A7B1                                   #         asm("ldd _dbl_ld_acc");                 /* load the initial value */
                    265:  258  0001A7B1    07 effffffdf5                 ldd _dbl_ld_acc
                    266:  259  0001A7B7                                   #         asm("_negd_2_lp1:");
                    267:  260  0001A7B7                                  _negd_2_lp1:
                    268:  261  0001A7B7                                   #         asm("loadr $0x1fff,_load_regs");        /* load regs 0 - 12      */
                    269:  262  0001A7B7    ab 891fff effffffdec          loadr $0x1fff,_load_regs
                    270:  263  0001A7C0                                   #         asm("nop");
                    271:  264  0001A7C0    10                            nop
                    272:  265  0001A7C1                                   #         asm("negd");                            /* negate the value      */
                    273:  266  0001A7C1    b7                            negd
                    274:  267  0001A7C2                                   #         asm("nop");
                    275:  268  0001A7C2    10                            nop
                    276:  269  0001A7C3                                   #         asm("storer $0x1fff,_store_regs");      /* store regs 0 - 12 */
                    277:  270  0001A7C3    bb 891fff effffffde0          storer $0x1fff,_store_regs
                    278:  271  0001A7CC                                   #         asm("std _dbl_st_acc");                 /* save the accumulator  */
                    279:  272  0001A7CC    27 effffffdda                 std _dbl_st_acc
                    280:  273  0001A7D2                                   #         if( force_loop )
                    281:  274  0001A7D2    5d effffffdd4                        tstl    _force_loop
                    282:  275  0001A7D8    31 02                                jeql    L253
                    283:  276  0001A7DA                                   #              asm("brb _negd_2_lp1");;           /* loop on the error     */
                    284:  277  0001A7DA    11 db                         brb _negd_2_lp1
                    285:  278  0001A7DC                                  L253:
                    286:  279  0001A7DC                                   # /*
                    287:  280  0001A7DC                                   #  * Now compare the stored register values to those that were loaded
                    288:  281  0001A7DC                                   # */
                    289:  282  0001A7DC                                   #         index2 = 0;
                    290:  283  0001A7DC    4d effffffdca                        clrl    _index2
                    291:  284  0001A7E2                                   #         while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
                    292:  285  0001A7E2                                  L254:
                    293:  286  0001A7E2    0d effffffdc4 50                     movl    _index2,r0
                    294:  287  0001A7E9    0d effffffdbd 51                     movl    _index2,r1
                    295:  288  0001A7F0    1d 40effffffdb5                      cmpl    _load_regs[r0],_store_regs[r1]
                    296:                   41effffffdaf 
                    297:  289  0001A7FD    21 11                                jneq    L255
                    298:  290  0001A7FF    1d effffffda7 0d                     cmpl    _index2,$13
                    299:  291  0001A806    81 08                                jgeq    L255
                    300:  292  0001A808                                   #              index2++;                          /* check reg values        */
                    301:  293  0001A808    6d effffffd9e                        incl    _index2
                    302:  294  0001A80E    11 d2                                jbr     L254
                    303:  295  0001A810                                  L255:
                    304:  296  0001A810                                   #         if( index2 < 13 ) {                     /* error if index2 < 13    */
                    305:  297  0001A810    1d effffffd96 0d                     cmpl    _index2,$13
                    306:  298  0001A817    91 03 13 0101                        jgeq    L256
                    307:  299  0001A81C                                   #              errcnt++;                          /* bump the error count    */
                    308:  300  0001A81C    6d effffffd8a                        incl    _errcnt
                    309:  301  0001A822                                   #              if( prt_error ) {
                    310:  302  0001A822    5d effffffd84                        tstl    _prt_error
                    311:  303  0001A828    21 03 13 00cd                        jeql    L257
                    312:  304  0001A82D                                   #                   writes(" \n");           /* start a new print line  */
                    313:  305  0001A82D                                         .data   1
                    314:  306  0000070f *                                L258:
                    315:  307  0000070f *  200A00                               .ascii  " \12\0"
                    316:  308  00000712 *                                       .text
                    317:  309  0001A82D    dd 8f0000070f                        pushl   $L258
                    318:  310  0001A833    fe 08 effffffd72                     callf   $8,_writes
                    319:  311  0001A83A                                   #                   writes("cycle: ");
                    320:  312  0001A83A                                         .data   1
                    321:  313  00000712 *                                L259:
                    322:  314  00000712 *  6379636C653A2000                     .ascii  "cycle: \0"
                    323:  315  0000071a *                                       .text
                    324:  316  0001A83A    dd 8f00000712                        pushl   $L259
                    325:  317  0001A840    fe 08 effffffd65                     callf   $8,_writes
                    326:  318  0001A847                                   #                   writed( cycle );
                    327:  319  0001A847    dd effffffd5f                        pushl   _cycle
                    328:  320  0001A84D    fe 08 effffffd58                     callf   $8,_writed
                    329:  321  0001A854                                   #                   writes("  NEGD test ");
                    330:  322  0001A854                                         .data   1
                    331:  323  0000071a *                                L260:
                    332:  324  0000071a *  20204E4547442074657374200            .ascii  "  NEGD test \0"
                    333:                   0
                    334:  325  00000727 *                                       .text
                    335:  326  0001A854    dd 8f0000071a                        pushl   $L260
                    336:  327  0001A85A    fe 08 effffffd4b                     callf   $8,_writes
                    337:  328  0001A861                                   #               writed( test_no );
                    338:  329  0001A861    dd effffffd45                        pushl   _test_no
                    339:  330  0001A867    fe 08 effffffd3e                     callf   $8,_writed
                    340:  331  0001A86E                                   #     writes(", subtest 2 - A REGISTER WAS MODIFIED\n");
                    341:  332  0001A86E                                         .data   1
                    342:  333  00000727 *                                L261:
                    343:  334  00000727 *  2C20737562746573742032202            .ascii  ", subtest 2 - A REGISTER WAS MODIFIED\12\0"
                    344:                   D204120524547495354455220
                    345:                   574153204D4F4449464945440
                    346:                   A00
                    347:  335  0000074e *                                       .text
                    348:  336  0001A86E    dd 8f00000727                        pushl   $L261
                    349:  337  0001A874    fe 08 effffffd31                     callf   $8,_writes
                    350:  338  0001A87B                                   #                   print_negd_data();            /* print the operands      */
                    351:  339  0001A87B    fe 04 ef00000246                     callf   $4,_print_negd_data
                    352:  340  0001A882                                   #                   writes("\n");
                    353:  341  0001A882                                         .data   1
                    354:  342  0000074e *                                L262:
                    355:  343  0000074e *  0A00                                 .ascii  "\12\0"
                    356:  344  00000750 *                                       .text
                    357:  345  0001A882    dd 8f0000074e                        pushl   $L262
                    358:  346  0001A888    fe 08 effffffd1d                     callf   $8,_writes
                    359:  347  0001A88F                                   #                   writes("register ");          /* print the information   */
                    360:  348  0001A88F                                         .data   1
                    361:  349  00000750 *                                L263:
                    362:  350  00000750 *  72656769737465722000                 .ascii  "register \0"
                    363:  351  0000075a *                                       .text
                    364:  352  0001A88F    dd 8f00000750                        pushl   $L263
                    365:  353  0001A895    fe 08 effffffd10                     callf   $8,_writes
                    366:  354  0001A89C                                   #                   writed( index2 );             /*    about the corrupted  */
                    367:  355  0001A89C    dd effffffd0a                        pushl   _index2
                    368:  356  0001A8A2    fe 08 effffffd03                     callf   $8,_writed
                    369:  357  0001A8A9                                   #                   writes(" = ");                /*        register         */
                    370:  358  0001A8A9                                         .data   1
                    371:  359  0000075a *                                L264:
                    372:  360  0000075a *  203D2000                             .ascii  " = \0"
                    373:  361  0000075e *                                       .text
                    374:  362  0001A8A9    dd 8f0000075a                        pushl   $L264
                    375:  363  0001A8AF    fe 08 effffffcf6                     callf   $8,_writes
                    376:  364  0001A8B6                                   #                   write32h( store_regs[index2] );
                    377:  365  0001A8B6    0d effffffcf0 50                     movl    _index2,r0
                    378:  366  0001A8BD    dd 40effffffce8                      pushl   _store_regs[r0]
                    379:  367  0001A8C4    fe 08 effffffce1                     callf   $8,_write32h
                    380:  368  0001A8CB                                   #                   writes(",  should be = ");
                    381:  369  0001A8CB                                         .data   1
                    382:  370  0000075e *                                L265:
                    383:  371  0000075e *  2C202073686F756C642062652            .ascii  ",  should be = \0"
                    384:                   03D2000
                    385:  372  0000076e *                                       .text
                    386:  373  0001A8CB    dd 8f0000075e                        pushl   $L265
                    387:  374  0001A8D1    fe 08 effffffcd4                     callf   $8,_writes
                    388:  375  0001A8D8                                   #                   write32h( load_regs[index2] );
                    389:  376  0001A8D8    0d effffffcce 50                     movl    _index2,r0
                    390:  377  0001A8DF    dd 40effffffcc6                      pushl   _load_regs[r0]
                    391:  378  0001A8E6    fe 08 effffffcbf                     callf   $8,_write32h
                    392:  379  0001A8ED                                   #                   writes("\n");
                    393:  380  0001A8ED                                         .data   1
                    394:  381  0000076e *                                L266:
                    395:  382  0000076e *  0A00                                 .ascii  "\12\0"
                    396:  383  00000770 *                                       .text
                    397:  384  0001A8ED    dd 8f0000076e                        pushl   $L266
                    398:  385  0001A8F3    fe 08 effffffcb2                     callf   $8,_writes
                    399:  386  0001A8FA                                   #              }
                    400:  387  0001A8FA                                   #              if( halt_flg )   
                    401:  388  0001A8FA                                  L257:
                    402:  389  0001A8FA    5d effffffcac                        tstl    _halt_flg
                    403:  390  0001A900    31 09                                jeql    L267
                    404:  391  0001A902                                   #                   negd_er_halt( BAD_REG_HLT );  /* halt on the error      */
                    405:  392  0001A902    dd 02                                pushl   $2
                    406:  393  0001A904    fe 08 ef00000225                     callf   $8,_negd_er_halt
                    407:  394  0001A90B                                   #              if( loop_on_err ) {
                    408:  395  0001A90B                                  L267:
                    409:  396  0001A90B    5d effffffc9b                        tstl    _loop_on_err
                    410:  397  0001A911    31 0a                                jeql    L268
                    411:  398  0001A913                                   #                   force_loop = TRUE;        /* set the force loop flag */
                    412:  399  0001A913    0d 01 effffffc92                     movl    $1,_force_loop
                    413:  400  0001A91A                                   #                   asm("brw _negd_2_lp1");;  /* and loop on the error   */
                    414:  401  0001A91A    13 fe9a                       brw _negd_2_lp1
                    415:  402  0001A91D                                   #              }   /* end of loop on error */
                    416:  403  0001A91D                                   #         }  /* end of register corruption error */
                    417:  404  0001A91D                                  L268:
                    418:  405  0001A91D                                   # }  /* end of subtest 2 */
                    419:  406  0001A91D                                  L256:
                    420:  407  0001A91D    40                                   ret#2
                    421:  408  0001A91E                                         .set    L248,0x0
                    422:  409  0001A91E                                  L250:
                    423:  410  0001A91E    13 fe5a                              jbr     L251
                    424:  411  0001A921                                         .data
                    425:  412  0000068c *                                       .text
                    426:  413  0001A921    00                                   .align  1
                    427:  414  0001A922                                         .globl  _negd_3
                    428:  415  0001A922                                  _negd_3:
                    429:  416  0001A922    0000                                 .word   L269
                    430:  417  0001A924                                   #   
                    431:  418  0001A924                                   # 
                    432:  419  0001A924                                   # 
                    433:  420  0001A924                                   # /************************************************************************
                    434:  421  0001A924                                   # *
                    435:  422  0001A924                                   # *       SUBTEST 3 - Check for PSL corruption 
                    436:  423  0001A924                                   # *
                    437:  424  0001A924                                   # ************************************************************************/
                    438:  425  0001A924                                   # negd_3() 
                    439:  426  0001A924                                   # {
                    440:  427  0001A924    13 019d                              jbr     L271
                    441:  428  0001A927                                  L272:
                    442:  429  0001A927                                   #         force_loop = FALSE;                     /* clear force_loop flg */
                    443:  430  0001A927    4d effffffc7f                        clrl    _force_loop
                    444:  431  0001A92D                                   #         subtest = 3;
                    445:  432  0001A92D    0d 03 effffffc78                     movl    $3,_subtest
                    446:  433  0001A934                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
                    447:  434  0001A934    dd 8f00000000                        pushl   $_load_regs
                    448:  435  0001A93A    fe 08 effffffc6b                     callf   $8,_fill_reg_buf
                    449:  436  0001A941                                   #         for( index = 0; index < 3; index++ ) {
                    450:  437  0001A941    4d effffffc65                        clrl    _index
                    451:  438  0001A947                                  L275:
                    452:  439  0001A947    1d effffffc5f 03                     cmpl    _index,$3
                    453:  440  0001A94E    91 03 13 0170                        jgeq    L274
                    454:  441  0001A953                                   #              dbl_ld_acc   = lnd_1_data[index].ld;     /* get value to negate */
                    455:  442  0001A953    48 04 effffffc52 50                  shll    $4,_index,r0
                    456:  443  0001A95B    0c 8f00000000 50                     addl2   $_lnd_1_data,r0
                    457:  444  0001A962    0d a004 effffffc46                   movl    4(r0),_dbl_ld_acc+4
                    458:  445  0001A96A    0d 60 effffffc3b                     movl    (r0),_dbl_ld_acc
                    459:  446  0001A971                                   # /*       if( no_fpp_wcs )                           /*  */
                    460:  447  0001A971                                   # /*                  dbl_expected = dbl_ld_acc;        /* expected = loaded */
                    461:  448  0001A971                                   # /*       else                                       /*  */
                    462:  449  0001A971                                   # /*                  dbl_expected = lnd_1_data[index].exp;  /* expected result */
                    463:  450  0001A971                                   #              sgl_dummy1 = status_array[status_index];    /* status = +, -, 0 */
                    464:  451  0001A971    0d effffffc35 50                     movl    _status_index,r0
                    465:  452  0001A978    0d 40effffffc2d                      movl    _status_array[r0],_sgl_dummy1
                    466:                   effffffc28 
                    467:  453  0001A984                                   # /*
                    468:  454  0001A984                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    469:  455  0001A984                                   #  * The force loop flag is set after the first error.
                    470:  456  0001A984                                   # */
                    471:  457  0001A984                                   #              asm("_negd_3_lp1:");
                    472:  458  0001A984                                  _negd_3_lp1:
                    473:  459  0001A984                                   #              asm("ldd _dbl_ld_acc");            /* load the initial value */
                    474:  460  0001A984    07 effffffc22                 ldd _dbl_ld_acc
                    475:  461  0001A98A                                   #              asm("tstl _sgl_dummy1");               /* set the PSL status    */
                    476:  462  0001A98A    5d effffffc1c                 tstl _sgl_dummy1
                    477:  463  0001A990                                   #          asm("movpsl _init_psl");           /* save the initial PSL  */
                    478:  464  0001A990    cd effffffc16                 movpsl _init_psl
                    479:  465  0001A996                                   #              asm("negd");                       /* negate the value      */
                    480:  466  0001A996    b7                            negd
                    481:  467  0001A997                                   #              asm("nop");
                    482:  468  0001A997    10                            nop
                    483:  469  0001A998                                   #              asm("movpsl _psl_val");            /* save the final PSL    */
                    484:  470  0001A998    cd effffffc0e                 movpsl _psl_val
                    485:  471  0001A99E                                   #              asm("std _dbl_st_acc");            /* save the accumulator  */
                    486:  472  0001A99E    27 effffffc08                 std _dbl_st_acc
                    487:  473  0001A9A4                                   #              if( force_loop )
                    488:  474  0001A9A4    5d effffffc02                        tstl    _force_loop
                    489:  475  0001A9AA    31 02                                jeql    L276
                    490:  476  0001A9AC                                   #                   asm("brb _negd_3_lp1");;      /* loop on the error     */
                    491:  477  0001A9AC    11 d6                         brb _negd_3_lp1
                    492:  478  0001A9AE                                  L276:
                    493:  479  0001A9AE                                   # /*
                    494:  480  0001A9AE                                   #  * Now compare the final PSL to the initial PSL -they should be the same
                    495:  481  0001A9AE                                   # */
                    496:  482  0001A9AE                                   #              exp_psl = init_psl;
                    497:  483  0001A9AE    0d effffffbf8 effffffbf3             movl    _init_psl,_exp_psl
                    498:  484  0001A9B9                                   #          if( psl_val != exp_psl ) {
                    499:  485  0001A9B9    1d effffffbed effffffbe8             cmpl    _psl_val,_exp_psl
                    500:  486  0001A9C4    21 03 13 00f1                        jeql    L277
                    501:  487  0001A9C9                                   #                   errcnt++;                     /* bump the error count    */
                    502:  488  0001A9C9    6d effffffbdd                        incl    _errcnt
                    503:  489  0001A9CF                                   #                   if( prt_error ) {
                    504:  490  0001A9CF    5d effffffbd7                        tstl    _prt_error
                    505:  491  0001A9D5    21 03 13 00bd                        jeql    L278
                    506:  492  0001A9DA                                   #                        writes(" \n");      /* start a new print line  */
                    507:  493  0001A9DA                                         .data   1
                    508:  494  00000770 *                                L279:
                    509:  495  00000770 *  200A00                               .ascii  " \12\0"
                    510:  496  00000773 *                                       .text
                    511:  497  0001A9DA    dd 8f00000770                        pushl   $L279
                    512:  498  0001A9E0    fe 08 effffffbc5                     callf   $8,_writes
                    513:  499  0001A9E7                                   #                        writes("cycle: ");
                    514:  500  0001A9E7                                         .data   1
                    515:  501  00000773 *                                L280:
                    516:  502  00000773 *  6379636C653A2000                     .ascii  "cycle: \0"
                    517:  503  0000077b *                                       .text
                    518:  504  0001A9E7    dd 8f00000773                        pushl   $L280
                    519:  505  0001A9ED    fe 08 effffffbb8                     callf   $8,_writes
                    520:  506  0001A9F4                                   #                        writed( cycle );
                    521:  507  0001A9F4    dd effffffbb2                        pushl   _cycle
                    522:  508  0001A9FA    fe 08 effffffbab                     callf   $8,_writed
                    523:  509  0001AA01                                   #                        writes("  NEGD test ");
                    524:  510  0001AA01                                         .data   1
                    525:  511  0000077b *                                L281:
                    526:  512  0000077b *  20204E4547442074657374200            .ascii  "  NEGD test \0"
                    527:                   0
                    528:  513  00000788 *                                       .text
                    529:  514  0001AA01    dd 8f0000077b                        pushl   $L281
                    530:  515  0001AA07    fe 08 effffffb9e                     callf   $8,_writes
                    531:  516  0001AA0E                                   #                    writed( test_no );
                    532:  517  0001AA0E    dd effffffb98                        pushl   _test_no
                    533:  518  0001AA14    fe 08 effffffb91                     callf   $8,_writed
                    534:  519  0001AA1B                                   #     writes(", subtest 3 - INCORRECT FINAL PSL\n");
                    535:  520  0001AA1B                                         .data   1
                    536:  521  00000788 *                                L282:
                    537:  522  00000788 *  2C20737562746573742033202            .ascii  ", subtest 3 - INCORRECT FINAL PSL\12\0"
                    538:                   D20494E434F52524543542046
                    539:                   494E414C2050534C0A00
                    540:  523  000007ab *                                       .text
                    541:  524  0001AA1B    dd 8f00000788                        pushl   $L282
                    542:  525  0001AA21    fe 08 effffffb84                     callf   $8,_writes
                    543:  526  0001AA28                                   #                        print_negd_data();       /* print the operands      */
                    544:  527  0001AA28    fe 04 ef00000099                     callf   $4,_print_negd_data
                    545:  528  0001AA2F                                   #                        writes("\n");
                    546:  529  0001AA2F                                         .data   1
                    547:  530  000007ab *                                L283:
                    548:  531  000007ab *  0A00                                 .ascii  "\12\0"
                    549:  532  000007ad *                                       .text
                    550:  533  0001AA2F    dd 8f000007ab                        pushl   $L283
                    551:  534  0001AA35    fe 08 effffffb70                     callf   $8,_writes
                    552:  535  0001AA3C                                   #                        writes("initial PSL = ");
                    553:  536  0001AA3C                                         .data   1
                    554:  537  000007ad *                                L284:
                    555:  538  000007ad *  696E697469616C2050534C203            .ascii  "initial PSL = \0"
                    556:                   D2000
                    557:  539  000007bc *                                       .text
                    558:  540  0001AA3C    dd 8f000007ad                        pushl   $L284
                    559:  541  0001AA42    fe 08 effffffb63                     callf   $8,_writes
                    560:  542  0001AA49                                   #                        write32h( init_psl );
                    561:  543  0001AA49    dd effffffb5d                        pushl   _init_psl
                    562:  544  0001AA4F    fe 08 effffffb56                     callf   $8,_write32h
                    563:  545  0001AA56                                   #                        writes(",  final PSL = ");
                    564:  546  0001AA56                                         .data   1
                    565:  547  000007bc *                                L285:
                    566:  548  000007bc *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
                    567:                   03D2000
                    568:  549  000007cc *                                       .text
                    569:  550  0001AA56    dd 8f000007bc                        pushl   $L285
                    570:  551  0001AA5C    fe 08 effffffb49                     callf   $8,_writes
                    571:  552  0001AA63                                   #                        write32h( psl_val );
                    572:  553  0001AA63    dd effffffb43                        pushl   _psl_val
                    573:  554  0001AA69    fe 08 effffffb3c                     callf   $8,_write32h
                    574:  555  0001AA70                                   #                        writes(",  expected PSL = ");
                    575:  556  0001AA70                                         .data   1
                    576:  557  000007cc *                                L286:
                    577:  558  000007cc *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
                    578:                   0534C203D2000
                    579:  559  000007df *                                       .text
                    580:  560  0001AA70    dd 8f000007cc                        pushl   $L286
                    581:  561  0001AA76    fe 08 effffffb2f                     callf   $8,_writes
                    582:  562  0001AA7D                                   #                        write32h( exp_psl );
                    583:  563  0001AA7D    dd effffffb29                        pushl   _exp_psl
                    584:  564  0001AA83    fe 08 effffffb22                     callf   $8,_write32h
                    585:  565  0001AA8A                                   #                        writes("\n");
                    586:  566  0001AA8A                                         .data   1
                    587:  567  000007df *                                L287:
                    588:  568  000007df *  0A00                                 .ascii  "\12\0"
                    589:  569  000007e1 *                                       .text
                    590:  570  0001AA8A    dd 8f000007df                        pushl   $L287
                    591:  571  0001AA90    fe 08 effffffb15                     callf   $8,_writes
                    592:  572  0001AA97                                   #                   }
                    593:  573  0001AA97                                   #                   if( halt_flg )   
                    594:  574  0001AA97                                  L278:
                    595:  575  0001AA97    5d effffffb0f                        tstl    _halt_flg
                    596:  576  0001AA9D    31 09                                jeql    L288
                    597:  577  0001AA9F                                   #                        negd_er_halt( BAD_PSL_HLT );   /* halt on the error */
                    598:  578  0001AA9F    dd 03                                pushl   $3
                    599:  579  0001AAA1    fe 08 ef00000088                     callf   $8,_negd_er_halt
                    600:  580  0001AAA8                                   #                   if( loop_on_err ) {
                    601:  581  0001AAA8                                  L288:
                    602:  582  0001AAA8    5d effffffafe                        tstl    _loop_on_err
                    603:  583  0001AAAE    31 0a                                jeql    L289
                    604:  584  0001AAB0                                   #                        force_loop = TRUE;        /* set the force loop flag */
                    605:  585  0001AAB0    0d 01 effffffaf5                     movl    $1,_force_loop
                    606:  586  0001AAB7                                   #                        asm("brw _negd_3_lp1");;  /* and loop on the error   */
                    607:  587  0001AAB7    13 feca                       brw _negd_3_lp1
                    608:  588  0001AABA                                   #                   }   /* end of loop on error */
                    609:  589  0001AABA                                   #              }  /* end of PSL corruption error */
                    610:  590  0001AABA                                  L289:
                    611:  591  0001AABA                                   #         }  /* end of WHILE loop */
                    612:  592  0001AABA                                  L277:
                    613:  593  0001AABA                                  L273:
                    614:  594  0001AABA    6d effffffaec                        incl    _index
                    615:  595  0001AAC0    13 fe84                              jbr     L275
                    616:  596  0001AAC3                                  L274:
                    617:  597  0001AAC3                                   # }  /* end of subtest 3 */
                    618:  598  0001AAC3    40                                   ret#2
                    619:  599  0001AAC4                                         .set    L269,0x0
                    620:  600  0001AAC4                                  L271:
                    621:  601  0001AAC4    13 fe60                              jbr     L272
                    622:  602  0001AAC7                                         .data
                    623:  603  0000068c *                                       .text
                    624:  604  0001AAC7    00                                   .align  1
                    625:  605  0001AAC8                                         .globl  _print_negd_data
                    626:  606  0001AAC8                                  _print_negd_data:
                    627:  607  0001AAC8    0000                                 .word   L290
                    628:  608  0001AACA                                   #   
                    629:  609  0001AACA                                   # 
                    630:  610  0001AACA                                   # 
                    631:  611  0001AACA                                   # /**************************************************************************
                    632:  612  0001AACA                                   # *
                    633:  613  0001AACA                                   # *       PRINT THE DATA AND STORE RESULTS
                    634:  614  0001AACA                                   # *
                    635:  615  0001AACA                                   # * initial Acc = xxxxxxxx xxxxxxxx,  final Acc = xxxxxxxx xxxxxxxx,  index = xx
                    636:  616  0001AACA                                   # *                                    expected = xxxxxxxx xxxxxxxx
                    637:  617  0001AACA                                   # **************************************************************************/
                    638:  618  0001AACA                                   # print_negd_data()
                    639:  619  0001AACA                                   # {
                    640:  620  0001AACA    11 61                                jbr     L292
                    641:  621  0001AACC                                  L293:
                    642:  622  0001AACC                                   #         writes("initial Acc = ");
                    643:  623  0001AACC                                         .data   1
                    644:  624  000007e1 *                                L294:
                    645:  625  000007e1 *  696E697469616C20416363203            .ascii  "initial Acc = \0"
                    646:                   D2000
                    647:  626  000007f0 *                                       .text
                    648:  627  0001AACC    dd 8f000007e1                        pushl   $L294
                    649:  628  0001AAD2    fe 08 effffffad3                     callf   $8,_writes
                    650:  629  0001AAD9                                   #         write32h( dbl_ld_acc.m );
                    651:  630  0001AAD9    dd effffffacd                        pushl   _dbl_ld_acc
                    652:  631  0001AADF    fe 08 effffffac6                     callf   $8,_write32h
                    653:  632  0001AAE6                                   #         writec(' ');
                    654:  633  0001AAE6    dd 20                                pushl   $32
                    655:  634  0001AAE8    fe 08 effffffabd                     callf   $8,_writec
                    656:  635  0001AAEF                                   #         write32h( dbl_ld_acc.l );
                    657:  636  0001AAEF    dd effffffabb                        pushl   _dbl_ld_acc+4
                    658:  637  0001AAF5    fe 08 effffffab0                     callf   $8,_write32h
                    659:  638  0001AAFC                                   #         writes(",  final Acc = ");
                    660:  639  0001AAFC                                         .data   1
                    661:  640  000007f0 *                                L295:
                    662:  641  000007f0 *  2C202066696E616C204163632            .ascii  ",  final Acc = \0"
                    663:                   03D2000
                    664:  642  00000800 *                                       .text
                    665:  643  0001AAFC    dd 8f000007f0                        pushl   $L295
                    666:  644  0001AB02    fe 08 effffffaa3                     callf   $8,_writes
                    667:  645  0001AB09                                   #         write32h( dbl_st_acc.m );
                    668:  646  0001AB09    dd effffffa9d                        pushl   _dbl_st_acc
                    669:  647  0001AB0F    fe 08 effffffa96                     callf   $8,_write32h
                    670:  648  0001AB16                                   #         writec(' ');
                    671:  649  0001AB16    dd 20                                pushl   $32
                    672:  650  0001AB18    fe 08 effffffa8d                     callf   $8,_writec
                    673:  651  0001AB1F                                   #         write32h( dbl_st_acc.l );
                    674:  652  0001AB1F    dd effffffa8b                        pushl   _dbl_st_acc+4
                    675:  653  0001AB25    fe 08 effffffa80                     callf   $8,_write32h
                    676:  654  0001AB2C                                   # }
                    677:  655  0001AB2C    40                                   ret#2
                    678:  656  0001AB2D                                         .set    L290,0x0
                    679:  657  0001AB2D                                  L292:
                    680:  658  0001AB2D    11 9d                                jbr     L293
                    681:  659  0001AB2F                                         .data
                    682:  660  0000068c *                                       .text
                    683:  661  0001AB2F    00                                   .align  1
                    684:  662  0001AB30                                         .globl  _negd_er_halt
                    685:  663  0001AB30                                  _negd_er_halt:
                    686:  664  0001AB30    0000                                 .word   L296
                    687:  665  0001AB32                                   #   
                    688:  666  0001AB32                                   # 
                    689:  667  0001AB32                                   # 
                    690:  668  0001AB32                                   # /**************************************************************************
                    691:  669  0001AB32                                   # *
                    692:  670  0001AB32                                   # *               HALT ON ERROR ROUTINE 
                    693:  671  0001AB32                                   # *
                    694:  672  0001AB32                                   # **************************************************************************/
                    695:  673  0001AB32                                   # negd_er_halt( halt_code )
                    696:  674  0001AB32                                   # int halt_code;
                    697:  675  0001AB32                                   # {
                    698:  676  0001AB32    13 00ff                              jbr     L298
                    699:  677  0001AB35                                  L299:
                    700:  678  0001AB35                                   #         sgl_value_1 = dbl_ld_acc.m;
                    701:  679  0001AB35    0d effffffa71 effffffa6c             movl    _dbl_ld_acc,_sgl_value_1
                    702:  680  0001AB40                                   #         sgl_value_2 = dbl_ld_acc.l;
                    703:  681  0001AB40    0d effffffa6a effffffa61             movl    _dbl_ld_acc+4,_sgl_value_2
                    704:  682  0001AB4B                                   #         sgl_value_3 = dbl_st_acc.m;
                    705:  683  0001AB4B    0d effffffa5b effffffa56             movl    _dbl_st_acc,_sgl_value_3
                    706:  684  0001AB56                                   #         sgl_value_4 = dbl_st_acc.l;
                    707:  685  0001AB56    0d effffffa54 effffffa4b             movl    _dbl_st_acc+4,_sgl_value_4
                    708:  686  0001AB61                                   #         sgl_dummy1 = halt_code;                 /* get the error type    */
                    709:  687  0001AB61    0d ad04 effffffa43                   movl    4(fp),_sgl_dummy1
                    710:  688  0001AB69                                   #         asm("movl _test_no,r0");                /* r0  = test number     */
                    711:  689  0001AB69    0d effffffa3d 50              movl _test_no,r0
                    712:  690  0001AB70                                   #         asm("movl _subtest,r1");                /* r1  = subtest number  */
                    713:  691  0001AB70    0d effffffa36 51              movl _subtest,r1
                    714:  692  0001AB77                                   #         asm("movl _sgl_dummy1,r2");             /* r2  = error code      */
                    715:  693  0001AB77    0d effffffa2f 52              movl _sgl_dummy1,r2
                    716:  694  0001AB7E                                   #         asm("movl _cycle,r3");                  /* r3  = cycle count     */
                    717:  695  0001AB7E    0d effffffa28 53              movl _cycle,r3
                    718:  696  0001AB85                                   #         asm("movl _sgl_value_1,r4");            /* r4  = MS operand 1    */
                    719:  697  0001AB85    0d effffffa21 54              movl _sgl_value_1,r4
                    720:  698  0001AB8C                                   #         asm("movl _sgl_value_2,r5");            /* r5  = LS operand 1    */
                    721:  699  0001AB8C    0d effffffa1a 55              movl _sgl_value_2,r5
                    722:  700  0001AB93                                   #         asm("movl _sgl_value_3,r6");            /* r6  = MS stored       */
                    723:  701  0001AB93    0d effffffa13 56              movl _sgl_value_3,r6
                    724:  702  0001AB9A                                   #         asm("movl _sgl_value_4,r7");            /* r7  = LS stored       */
                    725:  703  0001AB9A    0d effffffa0c 57              movl _sgl_value_4,r7
                    726:  704  0001ABA1                                   #         if( halt_code == BAD_ACC_HLT ) {
                    727:  705  0001ABA1    1d ad04 01                           cmpl    4(fp),$1
                    728:  706  0001ABA5    21 2d                                jneq    L300
                    729:  707  0001ABA7                                   #              sgl_value_1 = dbl_expected.m;
                    730:  708  0001ABA7    0d effffff9ff effffff9fa             movl    _dbl_expected,_sgl_value_1
                    731:  709  0001ABB2                                   #              sgl_value_2 = dbl_expected.l;
                    732:  710  0001ABB2    0d effffff9f8 effffff9ef             movl    _dbl_expected+4,_sgl_value_2
                    733:  711  0001ABBD                                   #              asm("movl _sgl_value_1,r8");       /* r8  = MS expected     */
                    734:  712  0001ABBD    0d effffff9e9 58              movl _sgl_value_1,r8
                    735:  713  0001ABC4                                   #              asm("movl _sgl_value_2,r9");       /* r9  = LS expected     */
                    736:  714  0001ABC4    0d effffff9e2 59              movl _sgl_value_2,r9
                    737:  715  0001ABCB                                   #              asm("movl _index,r10");            /* r10 = data index      */
                    738:  716  0001ABCB    0d effffff9db 5a              movl _index,r10
                    739:  717  0001ABD2                                   #         } else 
                    740:  718  0001ABD2    11 5e                                jbr     L301
                    741:  719  0001ABD4                                  L300:
                    742:  720  0001ABD4                                   #           if( halt_code == BAD_REG_HLT ) {
                    743:  721  0001ABD4    1d ad04 02                           cmpl    4(fp),$2
                    744:  722  0001ABD8    21 3d                                jneq    L302
                    745:  723  0001ABDA                                   #              sgl_dummy1 = load_regs[index2];
                    746:  724  0001ABDA    0d effffff9cc 50                     movl    _index2,r0
                    747:  725  0001ABE1    0d 40effffff9c4                      movl    _load_regs[r0],_sgl_dummy1
                    748:                   effffff9bf 
                    749:  726  0001ABED                                   #              sgl_dummy2 = store_regs[index2];
                    750:  727  0001ABED    0d effffff9b9 50                     movl    _index2,r0
                    751:  728  0001ABF4    0d 40effffff9b1                      movl    _store_regs[r0],_sgl_dummy2
                    752:                   effffff9ac 
                    753:  729  0001AC00                                   #              asm("movl _index2,r8");            /* r8  = bad register #  */
                    754:  730  0001AC00    0d effffff9a6 58              movl _index2,r8
                    755:  731  0001AC07                                   #              asm("movl _sgl_dummy2,r9");        /* r9  = actual value    */
                    756:  732  0001AC07    0d effffff99f 59              movl _sgl_dummy2,r9
                    757:  733  0001AC0E                                   #              asm("movl _sgl_dummy1,r10");       /* r10 = expected value  */
                    758:  734  0001AC0E    0d effffff998 5a              movl _sgl_dummy1,r10
                    759:  735  0001AC15                                   #         } else
                    760:  736  0001AC15    11 1b                                jbr     L303
                    761:  737  0001AC17                                  L302:
                    762:  738  0001AC17                                   #           if( halt_code == BAD_PSL_HLT ) {
                    763:  739  0001AC17    1d ad04 03                           cmpl    4(fp),$3
                    764:  740  0001AC1B    21 15                                jneq    L304
                    765:  741  0001AC1D                                   #              asm("movl _init_psl,r8");          /* r8  = initial PSL     */
                    766:  742  0001AC1D    0d effffff989 58              movl _init_psl,r8
                    767:  743  0001AC24                                   #              asm("movl _psl_val,r9");           /* r9  = final PSL       */
                    768:  744  0001AC24    0d effffff982 59              movl _psl_val,r9
                    769:  745  0001AC2B                                   #              asm("movl _exp_psl,r10");          /* r10 = expected PSL    */
                    770:  746  0001AC2B    0d effffff97b 5a              movl _exp_psl,r10
                    771:  747  0001AC32                                   #         };
                    772:  748  0001AC32                                  L304:
                    773:  749  0001AC32                                  L303:
                    774:  750  0001AC32                                  L301:
                    775:  751  0001AC32                                   #         asm("halt");                            /* HALT ...              */
                    776:  752  0001AC32    00                            halt
                    777:  753  0001AC33                                   # }  
                    778:  754  0001AC33    40                                   ret#2
                    779:  755  0001AC34                                         .set    L296,0x0
                    780:  756  0001AC34                                  L298:
                    781:  757  0001AC34    13 fefe                              jbr     L299
                    782:  758  0001AC37                                         .data
                    783:  758  000351E3                                         .data

unix.superglobalmegacorp.com

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