Annotation of cci/d/macro4/negd.lst, revision 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.