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

1.1     ! root        1:    1  00000000                                  LL0:
        !             2:    2  00000000                                         .data
        !             3:    3  000008ac *                                       .text
        !             4:    4  00000000                                         .align  1
        !             5:    5  00000000                                         .globl  _lnd
        !             6:    6  00000000                                  _lnd:
        !             7:    7  00019D00    0000                                 .word   L215
        !             8:    8  00019D02                                   # 
        !             9:    9  00019D02                                   # #include "fpp_defs.h"
        !            10:   10  00019D02                                   # 
        !            11:   11  00019D02                                   # 
        !            12:   12  00019D02                                   # /*****************************************************************************
        !            13:   13  00019D02                                   # *
        !            14:   14  00019D02                                   # *               LND - DOUBLE PRECISION FLOATING POINT LOAD_NEGATE TEST
        !            15:   15  00019D02                                   # *
        !            16:   16  00019D02                                   # *****************************************************************************/
        !            17:   17  00019D02                                   # lnd()
        !            18:   18  00019D02                                   # {
        !            19:   19  00019D02    11 41                                jbr     L217
        !            20:   20  00019D04                                  L218:
        !            21:   21  00019D04                                   #         asm(".globl _lnd_t");
        !            22:   22  00019D04                                  .globl _lnd_t
        !            23:   23  00019D04                                   #         asm("_lnd_t:");                        /* entry address              */
        !            24:   24  00019D04                                  _lnd_t:
        !            25:   25  00019D04                                   #         if( ( cycle == 1 ) && ( prt_hdrs ) )   /* print headers on 1st pass  */
        !            26:   26  00019D04    1d effffffff6 01                     cmpl    _cycle,$1
        !            27:   27  00019D0B    21 15                                jneq    L219
        !            28:   28  00019D0D    5d efffffffed                        tstl    _prt_hdrs
        !            29:   29  00019D13    31 0d                                jeql    L219
        !            30:   30  00019D15                                   #            writes(" LND");
        !            31:   31  00019D15                                         .data   1
        !            32:   32  000008ac *                                L221:
        !            33:   33  000008ac *  204C4E4400                           .ascii  " LND\0"
        !            34:   34  000008b1 *                                       .text
        !            35:   35  00019D15    dd 8f000008ac                        pushl   $L221
        !            36:   36  00019D1B    fe 08 efffffffde                     callf   $8,_writes
        !            37:   37  00019D22                                   #         lnd_1();                               /* load through a register    */
        !            38:   38  00019D22                                  L219:
        !            39:   39  00019D22    fe 04 ef0000001f                     callf   $4,_lnd_1
        !            40:   40  00019D29                                   #         lnd_2();                               /* load through the cache     */
        !            41:   41  00019D29    fe 04 ef000001f0                     callf   $4,_lnd_2
        !            42:   42  00019D30                                   #         lnd_3();                               /* register stability         */
        !            43:   43  00019D30    fe 04 ef00000373                     callf   $4,_lnd_3
        !            44:   44  00019D37                                   #         lnd_4();                               /* PSL stability test         */
        !            45:   45  00019D37    fe 04 ef0000053c                     callf   $4,_lnd_4
        !            46:   46  00019D3E                                   #         asm("jmp *return");                    /* return to the test monitor */
        !            47:   47  00019D3E    71 ffffffffbc                 jmp *return
        !            48:   48  00019D44                                   # }
        !            49:   49  00019D44    40                                   ret#2
        !            50:   50  00019D45                                         .set    L215,0x0
        !            51:   51  00019D45                                  L217:
        !            52:   52  00019D45    11 bd                                jbr     L218
        !            53:   53  00019D47                                         .data
        !            54:   54  000008ac *                                       .text
        !            55:   55  00019D47    00                                   .align  1
        !            56:   56  00019D48                                         .globl  _lnd_1
        !            57:   57  00019D48                                  _lnd_1:
        !            58:   58  00019D48    0000                                 .word   L226
        !            59:   59  00019D4A                                   #    
        !            60:   60  00019D4A                                   # 
        !            61:   61  00019D4A                                   # 
        !            62:   62  00019D4A                                   # /************************************************************************
        !            63:   63  00019D4A                                   # *
        !            64:   64  00019D4A                                   # *               SUBTEST 1 - load_negate through a register
        !            65:   65  00019D4A                                   # *
        !            66:   66  00019D4A                                   # ************************************************************************/
        !            67:   67  00019D4A                                   # lnd_1() 
        !            68:   68  00019D4A                                   # {
        !            69:   69  00019D4A    13 01cf                              jbr     L228
        !            70:   70  00019D4D                                  L229:
        !            71:   71  00019D4D                                   #         force_loop = FALSE;
        !            72:   72  00019D4D    4d efffffffad                        clrl    _force_loop
        !            73:   73  00019D53                                   #         subtest = 1;
        !            74:   74  00019D53    0d 01 efffffffa6                     movl    $1,_subtest
        !            75:   75  00019D5A                                   #         for( index = 0; index < max_lnd_1_index; index++ ) {
        !            76:   76  00019D5A    4d efffffffa0                        clrl    _index
        !            77:   77  00019D60                                  L232:
        !            78:   78  00019D60    1d efffffff9a efffffff95             cmpl    _index,_max_lnd_1_index
        !            79:   79  00019D6B    91 03 13 01ab                        jgeq    L231
        !            80:   80  00019D70                                   #              sgl_value_1  = lnd_1_data[index].ld.m;   /* get operands MSW  */
        !            81:   81  00019D70    0d efffffff8a 50                     movl    _index,r0
        !            82:   82  00019D77    48 04 50 50                          shll    $4,r0,r0
        !            83:   83  00019D7B    0d e000000000 efffffff7a             movl    _lnd_1_data(r0),_sgl_value_1
        !            84:   84  00019D86                                   #              sgl_value_2  = lnd_1_data[index].ld.l;   /* get operands LSW  */
        !            85:   85  00019D86    0d efffffff74 50                     movl    _index,r0
        !            86:   86  00019D8D    48 04 50 50                          shll    $4,r0,r0
        !            87:   87  00019D91    0d e000000004 efffffff64             movl    _lnd_1_data+4(r0),_sgl_value_2
        !            88:   88  00019D9C                                   #              dbl_expected = lnd_1_data[index].exp;  /* get expected result */
        !            89:   89  00019D9C    48 04 efffffff5d 50                  shll    $4,_index,r0
        !            90:   90  00019DA4    0c 8f00000008 50                     addl2   $_lnd_1_data+8,r0
        !            91:   91  00019DAB    0d a004 efffffff51                   movl    4(r0),_dbl_expected+4
        !            92:   92  00019DB3    0d 60 efffffff46                     movl    (r0),_dbl_expected
        !            93:   93  00019DBA                                   #          dbl_ld_acc.m = sgl_value_1;
        !            94:   94  00019DBA    0d efffffff40 efffffff3b             movl    _sgl_value_1,_dbl_ld_acc
        !            95:   95  00019DC5                                   #          dbl_ld_acc.l = sgl_value_2;
        !            96:   96  00019DC5    0d efffffff35 efffffff34             movl    _sgl_value_2,_dbl_ld_acc+4
        !            97:   97  00019DD0                                   # /*
        !            98:   98  00019DD0                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !            99:   99  00019DD0                                   #  * The force loop flag is set after the first error.
        !           100:  100  00019DD0                                   # */
        !           101:  101  00019DD0                                   #              asm("_lnd_1_lp1:");
        !           102:  102  00019DD0                                  _lnd_1_lp1:
        !           103:  103  00019DD0                                   #              asm("movl _sgl_value_1,r4");       /* put the value to negate */
        !           104:  104  00019DD0    0d efffffff2a 54              movl _sgl_value_1,r4
        !           105:  105  00019DD7                                   #              asm("movl _sgl_value_2,r5");       /* in r6 and r7            */
        !           106:  106  00019DD7    0d efffffff23 55              movl _sgl_value_2,r5
        !           107:  107  00019DDE                                   #              asm("lnd r4");                     /* load and negate value   */
        !           108:  108  00019DDE    17 54                         lnd r4
        !           109:  109  00019DE0                                   #              asm("std r6");                     /* store the result in r6  */
        !           110:  110  00019DE0    27 56                         std r6
        !           111:  111  00019DE2                                   #              if( force_loop )                   /* and r7                  */
        !           112:  112  00019DE2    5d efffffff18                        tstl    _force_loop
        !           113:  113  00019DE8    31 02                                jeql    L233
        !           114:  114  00019DEA                                   #                   asm("brb _lnd_1_lp1");;       /* loop on the error       */
        !           115:  115  00019DEA    11 e4                         brb _lnd_1_lp1
        !           116:  116  00019DEC                                  L233:
        !           117:  117  00019DEC                                   # /* 
        !           118:  118  00019DEC                                   #  * end error loop - test the results
        !           119:  119  00019DEC                                   # */
        !           120:  120  00019DEC                                   #              asm("movl r6,_sgl_value_3");       /* move R6 data to cache  */
        !           121:  121  00019DEC    0d 56 efffffff0d              movl r6,_sgl_value_3
        !           122:  122  00019DF3                                   #              asm("movl r7,_sgl_value_4");       /* move R7 data to cache  */
        !           123:  123  00019DF3    0d 57 efffffff06              movl r7,_sgl_value_4
        !           124:  124  00019DFA                                   #              dbl_st_acc.m = sgl_value_3;
        !           125:  125  00019DFA    0d efffffff00 effffffefb             movl    _sgl_value_3,_dbl_st_acc
        !           126:  126  00019E05                                   #              dbl_st_acc.l = sgl_value_4;
        !           127:  127  00019E05    0d effffffef5 effffffef4             movl    _sgl_value_4,_dbl_st_acc+4
        !           128:  128  00019E10                                   #          if( ( sgl_value_3 != dbl_expected.m ) ||/* COMPARE the values */
        !           129:  129  00019E10                                   #                  ( sgl_value_4 != dbl_expected.l ) ){
        !           130:  130  00019E10    1d effffffeea effffffee5             cmpl    _sgl_value_3,_dbl_expected
        !           131:  131  00019E1B    21 10                                jneq    L9999
        !           132:  132  00019E1D    1d effffffedd effffffedc             cmpl    _sgl_value_4,_dbl_expected+4
        !           133:  133  00019E28    21 03 13 00e5                        jeql    L234
        !           134:  134  00019E2D                                  L9999:
        !           135:  135  00019E2D                                   #                    errcnt++;                    /* bump the error count   */
        !           136:  136  00019E2D    6d effffffecd                        incl    _errcnt
        !           137:  137  00019E33                                   #                    if( prt_error ) {
        !           138:  138  00019E33    5d effffffec7                        tstl    _prt_error
        !           139:  139  00019E39    21 03 13 00b1                        jeql    L235
        !           140:  140  00019E3E                                   #                         writes(" \n");      /* start a new print line */
        !           141:  141  00019E3E                                         .data   1
        !           142:  142  000008b1 *                                L236:
        !           143:  143  000008b1 *  200A00                               .ascii  " \12\0"
        !           144:  144  000008b4 *                                       .text
        !           145:  145  00019E3E    dd 8f000008b1                        pushl   $L236
        !           146:  146  00019E44    fe 08 effffffeb5                     callf   $8,_writes
        !           147:  147  00019E4B                                   #                         writes("cycle: ");
        !           148:  148  00019E4B                                         .data   1
        !           149:  149  000008b4 *                                L237:
        !           150:  150  000008b4 *  6379636C653A2000                     .ascii  "cycle: \0"
        !           151:  151  000008bc *                                       .text
        !           152:  152  00019E4B    dd 8f000008b4                        pushl   $L237
        !           153:  153  00019E51    fe 08 effffffea8                     callf   $8,_writes
        !           154:  154  00019E58                                   #                         writed( cycle );
        !           155:  155  00019E58    dd effffffea2                        pushl   _cycle
        !           156:  156  00019E5E    fe 08 effffffe9b                     callf   $8,_writed
        !           157:  157  00019E65                                   #                         writes("  LND test ");
        !           158:  158  00019E65                                         .data   1
        !           159:  159  000008bc *                                L239:
        !           160:  160  000008bc *  20204C4E4420746573742000             .ascii  "  LND test \0"
        !           161:  161  000008c8 *                                       .text
        !           162:  162  00019E65    dd 8f000008bc                        pushl   $L239
        !           163:  163  00019E6B    fe 08 effffffe8e                     callf   $8,_writes
        !           164:  164  00019E72                                   #                     writed( test_no );
        !           165:  165  00019E72    dd effffffe88                        pushl   _test_no
        !           166:  166  00019E78    fe 08 effffffe81                     callf   $8,_writed
        !           167:  167  00019E7F                                   #                     writes(", subtest 1 (Reg. Data) - BAD FINAL ACC\n");
        !           168:  168  00019E7F                                         .data   1
        !           169:  169  000008c8 *                                L240:
        !           170:  170  000008c8 *  2C20737562746573742031202            .ascii  ", subtest 1 (Reg. Data) - BAD FINAL ACC\12\0"
        !           171:                   85265672E204461746129202D
        !           172:                   204241442046494E414C20414
        !           173:                   3430A00
        !           174:  171  000008f1 *                                       .text
        !           175:  172  00019E7F    dd 8f000008c8                        pushl   $L240
        !           176:  173  00019E85    fe 08 effffffe74                     callf   $8,_writes
        !           177:  174  00019E8C                                   #                         print_lnd_data();
        !           178:  175  00019E8C    fe 04 ef000005a9                     callf   $4,_print_lnd_data
        !           179:  176  00019E93                                   #                         writes(",   index = ");
        !           180:  177  00019E93                                         .data   1
        !           181:  178  000008f1 *                                L242:
        !           182:  179  000008f1 *  2C202020696E646578203D200            .ascii  ",   index = \0"
        !           183:                   0
        !           184:  180  000008fe *                                       .text
        !           185:  181  00019E93    dd 8f000008f1                        pushl   $L242
        !           186:  182  00019E99    fe 08 effffffe60                     callf   $8,_writes
        !           187:  183  00019EA0                                   #                         writed( index );
        !           188:  184  00019EA0    dd effffffe5a                        pushl   _index
        !           189:  185  00019EA6    fe 08 effffffe53                     callf   $8,_writed
        !           190:  186  00019EAD                                   #                         writec('\n');
        !           191:  187  00019EAD    dd 0a                                pushl   $10
        !           192:  188  00019EAF    fe 08 effffffe4a                     callf   $8,_writec
        !           193:  189  00019EB6                                   #     writes("                                 Acc expected = ");
        !           194:  190  00019EB6                                         .data   1
        !           195:  191  000008fe *                                L244:
        !           196:  192  000008fe *  2020202020202020202020202            .ascii  "                                 Acc expected = \0"
        !           197:                   0202020202020202020202020
        !           198:                   2020202020202020416363206
        !           199:                   578706563746564203D2000
        !           200:  193  0000092f *                                       .text
        !           201:  194  00019EB6    dd 8f000008fe                        pushl   $L244
        !           202:  195  00019EBC    fe 08 effffffe3d                     callf   $8,_writes
        !           203:  196  00019EC3                                   #                         write32h( dbl_expected.m );
        !           204:  197  00019EC3    dd effffffe37                        pushl   _dbl_expected
        !           205:  198  00019EC9    fe 08 effffffe30                     callf   $8,_write32h
        !           206:  199  00019ED0                                   #                     writec(' ');
        !           207:  200  00019ED0    dd 20                                pushl   $32
        !           208:  201  00019ED2    fe 08 effffffe27                     callf   $8,_writec
        !           209:  202  00019ED9                                   #                     writes( dbl_expected.l );
        !           210:  203  00019ED9    dd effffffe25                        pushl   _dbl_expected+4
        !           211:  204  00019EDF    fe 08 effffffe1a                     callf   $8,_writes
        !           212:  205  00019EE6                                   #                         writec('\n');
        !           213:  206  00019EE6    dd 0a                                pushl   $10
        !           214:  207  00019EE8    fe 08 effffffe11                     callf   $8,_writec
        !           215:  208  00019EEF                                   #                     }
        !           216:  209  00019EEF                                   #                    if( halt_flg ) 
        !           217:  210  00019EEF                                  L235:
        !           218:  211  00019EEF    5d effffffe0b                        tstl    _halt_flg
        !           219:  212  00019EF5    31 09                                jeql    L246
        !           220:  213  00019EF7                                   #                         lnd_er_halt( BAD_ACC_HLT );    /* halt on the error */
        !           221:  214  00019EF7    dd 01                                pushl   $1
        !           222:  215  00019EF9    fe 08 ef000005a4                     callf   $8,_lnd_er_halt
        !           223:  216  00019F00                                   #                    if( loop_on_err ) {
        !           224:  217  00019F00                                  L246:
        !           225:  218  00019F00    5d effffffdfa                        tstl    _loop_on_err
        !           226:  219  00019F06    31 0a                                jeql    L248
        !           227:  220  00019F08                                   #                         force_loop = TRUE;       /* set the force loop flag */
        !           228:  221  00019F08    0d 01 effffffdf1                     movl    $1,_force_loop
        !           229:  222  00019F0F                                   #                         asm("brw _lnd_1_lp1");;  /* and loop on the error   */
        !           230:  223  00019F0F    13 febe                       brw _lnd_1_lp1
        !           231:  224  00019F12                                   #                    }   /* end of loop on error */
        !           232:  225  00019F12                                   #              }   /* end of compare error */
        !           233:  226  00019F12                                  L248:
        !           234:  227  00019F12                                   #         }  /* end of WHILE loop */
        !           235:  228  00019F12                                  L234:
        !           236:  229  00019F12                                  L230:
        !           237:  230  00019F12    6d effffffde8                        incl    _index
        !           238:  231  00019F18    13 fe45                              jbr     L232
        !           239:  232  00019F1B                                  L231:
        !           240:  233  00019F1B                                   # }  /* end of subtest 1 */
        !           241:  234  00019F1B    40                                   ret#2
        !           242:  235  00019F1C                                         .set    L226,0x0
        !           243:  236  00019F1C                                  L228:
        !           244:  237  00019F1C    13 fe2e                              jbr     L229
        !           245:  238  00019F1F                                         .data
        !           246:  239  000008ac *                                       .text
        !           247:  240  00019F1F    00                                   .align  1
        !           248:  241  00019F20                                         .globl  _lnd_2
        !           249:  242  00019F20                                  _lnd_2:
        !           250:  243  00019F20    0000                                 .word   L249
        !           251:  244  00019F22                                   #    
        !           252:  245  00019F22                                   # 
        !           253:  246  00019F22                                   # 
        !           254:  247  00019F22                                   # /************************************************************************
        !           255:  248  00019F22                                   # *
        !           256:  249  00019F22                                   # *               SUBTEST 2 - load_negate through memory
        !           257:  250  00019F22                                   # *
        !           258:  251  00019F22                                   # ************************************************************************/
        !           259:  252  00019F22                                   # lnd_2() 
        !           260:  253  00019F22                                   # {
        !           261:  254  00019F22    13 0181                              jbr     L251
        !           262:  255  00019F25                                  L252:
        !           263:  256  00019F25                                   #         force_loop = FALSE;
        !           264:  257  00019F25    4d effffffdd5                        clrl    _force_loop
        !           265:  258  00019F2B                                   #         subtest = 2;
        !           266:  259  00019F2B    0d 02 effffffdce                     movl    $2,_subtest
        !           267:  260  00019F32                                   #         for( index = 0; index < max_lnd_1_index; index++ ) {
        !           268:  261  00019F32    4d effffffdc8                        clrl    _index
        !           269:  262  00019F38                                  L255:
        !           270:  263  00019F38    1d effffffdc2 effffffdbd             cmpl    _index,_max_lnd_1_index
        !           271:  264  00019F43    91 03 13 015d                        jgeq    L254
        !           272:  265  00019F48                                   #              dbl_ld_acc   = lnd_1_data[index].ld;   /* get value to negate */
        !           273:  266  00019F48    48 04 effffffdb1 50                  shll    $4,_index,r0
        !           274:  267  00019F50    0c 8f00000000 50                     addl2   $_lnd_1_data,r0
        !           275:  268  00019F57    0d a004 effffffda5                   movl    4(r0),_dbl_ld_acc+4
        !           276:  269  00019F5F    0d 60 effffffd9a                     movl    (r0),_dbl_ld_acc
        !           277:  270  00019F66                                   #              dbl_expected = lnd_1_data[index].exp;  /* get expected result */
        !           278:  271  00019F66    48 04 effffffd93 50                  shll    $4,_index,r0
        !           279:  272  00019F6E    0c 8f00000008 50                     addl2   $_lnd_1_data+8,r0
        !           280:  273  00019F75    0d a004 effffffd87                   movl    4(r0),_dbl_expected+4
        !           281:  274  00019F7D    0d 60 effffffd7c                     movl    (r0),_dbl_expected
        !           282:  275  00019F84                                   # /*
        !           283:  276  00019F84                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           284:  277  00019F84                                   #  * The force loop flag is set after the first error.
        !           285:  278  00019F84                                   # */
        !           286:  279  00019F84                                   #              asm("_lnd_2_lp1:");
        !           287:  280  00019F84                                  _lnd_2_lp1:
        !           288:  281  00019F84                                   #              asm("lnd _dbl_ld_acc");            /* load and negate the value */
        !           289:  282  00019F84    17 effffffd76                 lnd _dbl_ld_acc
        !           290:  283  00019F8A                                   #              asm("std _dbl_st_acc");            /* store the result        */
        !           291:  284  00019F8A    27 effffffd70                 std _dbl_st_acc
        !           292:  285  00019F90                                   #              if( force_loop )
        !           293:  286  00019F90    5d effffffd6a                        tstl    _force_loop
        !           294:  287  00019F96    31 02                                jeql    L256
        !           295:  288  00019F98                                   #                   asm("brb _lnd_2_lp1");;      /* loop on the error       */
        !           296:  289  00019F98    11 ea                         brb _lnd_2_lp1
        !           297:  290  00019F9A                                  L256:
        !           298:  291  00019F9A                                   # /* 
        !           299:  292  00019F9A                                   #  * end error loop - test the results
        !           300:  293  00019F9A                                   # */
        !           301:  294  00019F9A                                   #              if( (dbl_st_acc.m != dbl_expected.m) ||   /* compare the final & */
        !           302:  295  00019F9A                                   #                  (dbl_st_acc.l != dbl_expected.l) ) {  /* the expected values */
        !           303:  296  00019F9A    1d effffffd60 effffffd5b             cmpl    _dbl_st_acc,_dbl_expected
        !           304:  297  00019FA5    21 10                                jneq    L9998
        !           305:  298  00019FA7    1d effffffd57 effffffd52             cmpl    _dbl_st_acc+4,_dbl_expected+4
        !           306:  299  00019FB2    21 03 13 00e5                        jeql    L257
        !           307:  300  00019FB7                                  L9998:
        !           308:  301  00019FB7                                   #                    errcnt++;                    /* bump the error count   */
        !           309:  302  00019FB7    6d effffffd43                        incl    _errcnt
        !           310:  303  00019FBD                                   #                    if( prt_error ) {
        !           311:  304  00019FBD    5d effffffd3d                        tstl    _prt_error
        !           312:  305  00019FC3    21 03 13 00b1                        jeql    L258
        !           313:  306  00019FC8                                   #                         writes(" \n");      /* start a new print line */
        !           314:  307  00019FC8                                         .data   1
        !           315:  308  0000092f *                                L259:
        !           316:  309  0000092f *  200A00                               .ascii  " \12\0"
        !           317:  310  00000932 *                                       .text
        !           318:  311  00019FC8    dd 8f0000092f                        pushl   $L259
        !           319:  312  00019FCE    fe 08 effffffd2b                     callf   $8,_writes
        !           320:  313  00019FD5                                   #                         writes("cycle: ");
        !           321:  314  00019FD5                                         .data   1
        !           322:  315  00000932 *                                L260:
        !           323:  316  00000932 *  6379636C653A2000                     .ascii  "cycle: \0"
        !           324:  317  0000093a *                                       .text
        !           325:  318  00019FD5    dd 8f00000932                        pushl   $L260
        !           326:  319  00019FDB    fe 08 effffffd1e                     callf   $8,_writes
        !           327:  320  00019FE2                                   #                         writed( cycle );
        !           328:  321  00019FE2    dd effffffd18                        pushl   _cycle
        !           329:  322  00019FE8    fe 08 effffffd11                     callf   $8,_writed
        !           330:  323  00019FEF                                   #                         writes("  LND test ");
        !           331:  324  00019FEF                                         .data   1
        !           332:  325  0000093a *                                L261:
        !           333:  326  0000093a *  20204C4E4420746573742000             .ascii  "  LND test \0"
        !           334:  327  00000946 *                                       .text
        !           335:  328  00019FEF    dd 8f0000093a                        pushl   $L261
        !           336:  329  00019FF5    fe 08 effffffd04                     callf   $8,_writes
        !           337:  330  00019FFC                                   #                     writed( test_no );
        !           338:  331  00019FFC    dd effffffcfe                        pushl   _test_no
        !           339:  332  0001A002    fe 08 effffffcf7                     callf   $8,_writed
        !           340:  333  0001A009                                   #                     writes(", subtest 2 (Cache Data) - BAD FINAL ACC\n");
        !           341:  334  0001A009                                         .data   1
        !           342:  335  00000946 *                                L262:
        !           343:  336  00000946 *  2C20737562746573742032202            .ascii  ", subtest 2 (Cache Data) - BAD FINAL ACC\12\0"
        !           344:                   8436163686520446174612920
        !           345:                   2D204241442046494E414C204
        !           346:                   143430A00
        !           347:  337  00000970 *                                       .text
        !           348:  338  0001A009    dd 8f00000946                        pushl   $L262
        !           349:  339  0001A00F    fe 08 effffffcea                     callf   $8,_writes
        !           350:  340  0001A016                                   #                         print_lnd_data();
        !           351:  341  0001A016    fe 04 ef0000041f                     callf   $4,_print_lnd_data
        !           352:  342  0001A01D                                   #                         writes(",   index = ");
        !           353:  343  0001A01D                                         .data   1
        !           354:  344  00000970 *                                L263:
        !           355:  345  00000970 *  2C202020696E646578203D200            .ascii  ",   index = \0"
        !           356:                   0
        !           357:  346  0000097d *                                       .text
        !           358:  347  0001A01D    dd 8f00000970                        pushl   $L263
        !           359:  348  0001A023    fe 08 effffffcd6                     callf   $8,_writes
        !           360:  349  0001A02A                                   #                         writed( index );
        !           361:  350  0001A02A    dd effffffcd0                        pushl   _index
        !           362:  351  0001A030    fe 08 effffffcc9                     callf   $8,_writed
        !           363:  352  0001A037                                   #                         writec('\n');
        !           364:  353  0001A037    dd 0a                                pushl   $10
        !           365:  354  0001A039    fe 08 effffffcc0                     callf   $8,_writec
        !           366:  355  0001A040                                   #     writes("                                 Acc expected = ");
        !           367:  356  0001A040                                         .data   1
        !           368:  357  0000097d *                                L264:
        !           369:  358  0000097d *  2020202020202020202020202            .ascii  "                                 Acc expected = \0"
        !           370:                   0202020202020202020202020
        !           371:                   2020202020202020416363206
        !           372:                   578706563746564203D2000
        !           373:  359  000009ae *                                       .text
        !           374:  360  0001A040    dd 8f0000097d                        pushl   $L264
        !           375:  361  0001A046    fe 08 effffffcb3                     callf   $8,_writes
        !           376:  362  0001A04D                                   #                         write32h( dbl_expected.m );
        !           377:  363  0001A04D    dd effffffcad                        pushl   _dbl_expected
        !           378:  364  0001A053    fe 08 effffffca6                     callf   $8,_write32h
        !           379:  365  0001A05A                                   #                     writec(' ');
        !           380:  366  0001A05A    dd 20                                pushl   $32
        !           381:  367  0001A05C    fe 08 effffffc9d                     callf   $8,_writec
        !           382:  368  0001A063                                   #                     writes( dbl_expected.l );
        !           383:  369  0001A063    dd effffffc9b                        pushl   _dbl_expected+4
        !           384:  370  0001A069    fe 08 effffffc90                     callf   $8,_writes
        !           385:  371  0001A070                                   #                         writec('\n');
        !           386:  372  0001A070    dd 0a                                pushl   $10
        !           387:  373  0001A072    fe 08 effffffc87                     callf   $8,_writec
        !           388:  374  0001A079                                   #                    }
        !           389:  375  0001A079                                   #                    if( halt_flg ) 
        !           390:  376  0001A079                                  L258:
        !           391:  377  0001A079    5d effffffc81                        tstl    _halt_flg
        !           392:  378  0001A07F    31 09                                jeql    L265
        !           393:  379  0001A081                                   #                         lnd_er_halt( BAD_ACC_HLT );    /* halt on the error */
        !           394:  380  0001A081    dd 01                                pushl   $1
        !           395:  381  0001A083    fe 08 ef0000041a                     callf   $8,_lnd_er_halt
        !           396:  382  0001A08A                                   #                    if( loop_on_err ) {
        !           397:  383  0001A08A                                  L265:
        !           398:  384  0001A08A    5d effffffc70                        tstl    _loop_on_err
        !           399:  385  0001A090    31 0a                                jeql    L266
        !           400:  386  0001A092                                   #                         force_loop = TRUE;       /* set the force loop flag */
        !           401:  387  0001A092    0d 01 effffffc67                     movl    $1,_force_loop
        !           402:  388  0001A099                                   #                         asm("brw _lnd_2_lp1");;  /* and loop on the error   */
        !           403:  389  0001A099    13 fee8                       brw _lnd_2_lp1
        !           404:  390  0001A09C                                   #                    }   /* end of loop on error */
        !           405:  391  0001A09C                                   #              }   /* end of compare error */
        !           406:  392  0001A09C                                  L266:
        !           407:  393  0001A09C                                   #         }  /* end of WHILE loop */
        !           408:  394  0001A09C                                  L257:
        !           409:  395  0001A09C                                  L253:
        !           410:  396  0001A09C    6d effffffc5e                        incl    _index
        !           411:  397  0001A0A2    13 fe93                              jbr     L255
        !           412:  398  0001A0A5                                  L254:
        !           413:  399  0001A0A5                                   # }  /* end of subtest 2 */
        !           414:  400  0001A0A5    40                                   ret#2
        !           415:  401  0001A0A6                                         .set    L249,0x0
        !           416:  402  0001A0A6                                  L251:
        !           417:  403  0001A0A6    13 fe7c                              jbr     L252
        !           418:  404  0001A0A9                                         .data
        !           419:  405  000008ac *                                       .text
        !           420:  406  0001A0A9    00                                   .align  1
        !           421:  407  0001A0AA                                         .globl  _lnd_3
        !           422:  408  0001A0AA                                  _lnd_3:
        !           423:  409  0001A0AA    0000                                 .word   L267
        !           424:  410  0001A0AC                                   #    
        !           425:  411  0001A0AC                                   # 
        !           426:  412  0001A0AC                                   # 
        !           427:  413  0001A0AC                                   # /************************************************************************
        !           428:  414  0001A0AC                                   # *
        !           429:  415  0001A0AC                                   # *       SUBTEST 3 - Check for register corruption 
        !           430:  416  0001A0AC                                   # *
        !           431:  417  0001A0AC                                   # ************************************************************************/
        !           432:  418  0001A0AC                                   # lnd_3() 
        !           433:  419  0001A0AC                                   # {
        !           434:  420  0001A0AC    13 01c8                              jbr     L269
        !           435:  421  0001A0AF                                  L270:
        !           436:  422  0001A0AF                                   #         force_loop = FALSE;                     /* clear force_loop flg */
        !           437:  423  0001A0AF    4d effffffc4b                        clrl    _force_loop
        !           438:  424  0001A0B5                                   #         subtest = 3;
        !           439:  425  0001A0B5    0d 03 effffffc44                     movl    $3,_subtest
        !           440:  426  0001A0BC                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
        !           441:  427  0001A0BC    dd 8f00000000                        pushl   $_load_regs
        !           442:  428  0001A0C2    fe 08 effffffc37                     callf   $8,_fill_reg_buf
        !           443:  429  0001A0C9                                   #         index = 0;
        !           444:  430  0001A0C9    4d effffffc31                        clrl    _index
        !           445:  431  0001A0CF                                   #              dbl_ld_acc   = lnd_1_data[index].ld;   /* get value to negate */
        !           446:  432  0001A0CF    48 04 effffffc2a 50                  shll    $4,_index,r0
        !           447:  433  0001A0D7    0c 8f00000000 50                     addl2   $_lnd_1_data,r0
        !           448:  434  0001A0DE    0d a004 effffffc1e                   movl    4(r0),_dbl_ld_acc+4
        !           449:  435  0001A0E6    0d 60 effffffc13                     movl    (r0),_dbl_ld_acc
        !           450:  436  0001A0ED                                   #              dbl_expected = lnd_1_data[index].exp;  /* get expected result */
        !           451:  437  0001A0ED    48 04 effffffc0c 50                  shll    $4,_index,r0
        !           452:  438  0001A0F5    0c 8f00000008 50                     addl2   $_lnd_1_data+8,r0
        !           453:  439  0001A0FC    0d a004 effffffc00                   movl    4(r0),_dbl_expected+4
        !           454:  440  0001A104    0d 60 effffffbf5                     movl    (r0),_dbl_expected
        !           455:  441  0001A10B                                   # /*
        !           456:  442  0001A10B                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           457:  443  0001A10B                                   #  * The force loop flag is set after the first error.
        !           458:  444  0001A10B                                   # */
        !           459:  445  0001A10B                                   #         asm("_lnd_3_lp1:");
        !           460:  446  0001A10B                                  _lnd_3_lp1:
        !           461:  447  0001A10B                                   #         asm("loadr $0x1fff,_load_regs");        /* load regs 0 - 12      */
        !           462:  448  0001A10B    ab 891fff effffffbec          loadr $0x1fff,_load_regs
        !           463:  449  0001A114                                   #         asm("nop");
        !           464:  450  0001A114    10                            nop
        !           465:  451  0001A115                                   #         asm("lnd _dbl_ld_acc");                 /* load and negate the value */
        !           466:  452  0001A115    17 effffffbe5                 lnd _dbl_ld_acc
        !           467:  453  0001A11B                                   #         asm("nop");
        !           468:  454  0001A11B    10                            nop
        !           469:  455  0001A11C                                   #         asm("storer $0x1fff,_store_regs");      /* store regs 0 - 12 */
        !           470:  456  0001A11C    bb 891fff effffffbdb          storer $0x1fff,_store_regs
        !           471:  457  0001A125                                   #         asm("stf _dbl_st_acc");                 /* save the accumulator  */
        !           472:  458  0001A125    26 effffffbd5                 stf _dbl_st_acc
        !           473:  459  0001A12B                                   #         if( force_loop )
        !           474:  460  0001A12B    5d effffffbcf                        tstl    _force_loop
        !           475:  461  0001A131    31 02                                jeql    L272
        !           476:  462  0001A133                                   #              asm("brb _lnd_3_lp1");;           /* loop on the error     */
        !           477:  463  0001A133    11 d6                         brb _lnd_3_lp1
        !           478:  464  0001A135                                  L272:
        !           479:  465  0001A135                                   # /*
        !           480:  466  0001A135                                   #  * Now compare the stored register values to those that were loaded
        !           481:  467  0001A135                                   # */
        !           482:  468  0001A135                                   #         index2 = 0;
        !           483:  469  0001A135    4d effffffbc5                        clrl    _index2
        !           484:  470  0001A13B                                   #         while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
        !           485:  471  0001A13B                                  L273:
        !           486:  472  0001A13B    0d effffffbbf 50                     movl    _index2,r0
        !           487:  473  0001A142    0d effffffbb8 51                     movl    _index2,r1
        !           488:  474  0001A149    1d 40effffffbb0                      cmpl    _load_regs[r0],_store_regs[r1]
        !           489:                   41effffffbaa 
        !           490:  475  0001A156    21 11                                jneq    L274
        !           491:  476  0001A158    1d effffffba2 0d                     cmpl    _index2,$13
        !           492:  477  0001A15F    81 08                                jgeq    L274
        !           493:  478  0001A161                                   #              index2++;                          /* check reg values        */
        !           494:  479  0001A161    6d effffffb99                        incl    _index2
        !           495:  480  0001A167    11 d2                                jbr     L273
        !           496:  481  0001A169                                  L274:
        !           497:  482  0001A169                                   #         if( index2 < 13 ) {                     /* error if index2 < 13    */
        !           498:  483  0001A169    1d effffffb91 0d                     cmpl    _index2,$13
        !           499:  484  0001A170    91 03 13 0101                        jgeq    L275
        !           500:  485  0001A175                                   #              errcnt++;                          /* bump the error count    */
        !           501:  486  0001A175    6d effffffb85                        incl    _errcnt
        !           502:  487  0001A17B                                   #              if( prt_error ) {
        !           503:  488  0001A17B    5d effffffb7f                        tstl    _prt_error
        !           504:  489  0001A181    21 03 13 00cd                        jeql    L276
        !           505:  490  0001A186                                   #                   writes(" \n");           /* start a new print line  */
        !           506:  491  0001A186                                         .data   1
        !           507:  492  000009ae *                                L277:
        !           508:  493  000009ae *  200A00                               .ascii  " \12\0"
        !           509:  494  000009b1 *                                       .text
        !           510:  495  0001A186    dd 8f000009ae                        pushl   $L277
        !           511:  496  0001A18C    fe 08 effffffb6d                     callf   $8,_writes
        !           512:  497  0001A193                                   #                   writes("cycle: ");
        !           513:  498  0001A193                                         .data   1
        !           514:  499  000009b1 *                                L278:
        !           515:  500  000009b1 *  6379636C653A2000                     .ascii  "cycle: \0"
        !           516:  501  000009b9 *                                       .text
        !           517:  502  0001A193    dd 8f000009b1                        pushl   $L278
        !           518:  503  0001A199    fe 08 effffffb60                     callf   $8,_writes
        !           519:  504  0001A1A0                                   #                   writed( cycle );
        !           520:  505  0001A1A0    dd effffffb5a                        pushl   _cycle
        !           521:  506  0001A1A6    fe 08 effffffb53                     callf   $8,_writed
        !           522:  507  0001A1AD                                   #                   writes("  LND test ");
        !           523:  508  0001A1AD                                         .data   1
        !           524:  509  000009b9 *                                L279:
        !           525:  510  000009b9 *  20204C4E4420746573742000             .ascii  "  LND test \0"
        !           526:  511  000009c5 *                                       .text
        !           527:  512  0001A1AD    dd 8f000009b9                        pushl   $L279
        !           528:  513  0001A1B3    fe 08 effffffb46                     callf   $8,_writes
        !           529:  514  0001A1BA                                   #               writed( test_no );
        !           530:  515  0001A1BA    dd effffffb40                        pushl   _test_no
        !           531:  516  0001A1C0    fe 08 effffffb39                     callf   $8,_writed
        !           532:  517  0001A1C7                                   #     writes(", subtest 3 - A REGISTER WAS CHANGED\n");
        !           533:  518  0001A1C7                                         .data   1
        !           534:  519  000009c5 *                                L280:
        !           535:  520  000009c5 *  2C20737562746573742033202            .ascii  ", subtest 3 - A REGISTER WAS CHANGED\12\0"
        !           536:                   D204120524547495354455220
        !           537:                   574153204348414E4745440A0
        !           538:                   0
        !           539:  521  000009eb *                                       .text
        !           540:  522  0001A1C7    dd 8f000009c5                        pushl   $L280
        !           541:  523  0001A1CD    fe 08 effffffb2c                     callf   $8,_writes
        !           542:  524  0001A1D4                                   #                   print_lnd_data();            /* print the operands      */
        !           543:  525  0001A1D4    fe 04 ef00000261                     callf   $4,_print_lnd_data
        !           544:  526  0001A1DB                                   #                   writes("\n");
        !           545:  527  0001A1DB                                         .data   1
        !           546:  528  000009eb *                                L281:
        !           547:  529  000009eb *  0A00                                 .ascii  "\12\0"
        !           548:  530  000009ed *                                       .text
        !           549:  531  0001A1DB    dd 8f000009eb                        pushl   $L281
        !           550:  532  0001A1E1    fe 08 effffffb18                     callf   $8,_writes
        !           551:  533  0001A1E8                                   #                   writes("register ");          /* print the information   */
        !           552:  534  0001A1E8                                         .data   1
        !           553:  535  000009ed *                                L282:
        !           554:  536  000009ed *  72656769737465722000                 .ascii  "register \0"
        !           555:  537  000009f7 *                                       .text
        !           556:  538  0001A1E8    dd 8f000009ed                        pushl   $L282
        !           557:  539  0001A1EE    fe 08 effffffb0b                     callf   $8,_writes
        !           558:  540  0001A1F5                                   #                   writed( index2 );             /*    about the corrupted  */
        !           559:  541  0001A1F5    dd effffffb05                        pushl   _index2
        !           560:  542  0001A1FB    fe 08 effffffafe                     callf   $8,_writed
        !           561:  543  0001A202                                   #                   writes(" = ");                /*        register         */
        !           562:  544  0001A202                                         .data   1
        !           563:  545  000009f7 *                                L283:
        !           564:  546  000009f7 *  203D2000                             .ascii  " = \0"
        !           565:  547  000009fb *                                       .text
        !           566:  548  0001A202    dd 8f000009f7                        pushl   $L283
        !           567:  549  0001A208    fe 08 effffffaf1                     callf   $8,_writes
        !           568:  550  0001A20F                                   #                   write32h( store_regs[index2] );
        !           569:  551  0001A20F    0d effffffaeb 50                     movl    _index2,r0
        !           570:  552  0001A216    dd 40effffffae3                      pushl   _store_regs[r0]
        !           571:  553  0001A21D    fe 08 effffffadc                     callf   $8,_write32h
        !           572:  554  0001A224                                   #                   writes(",  should be = ");
        !           573:  555  0001A224                                         .data   1
        !           574:  556  000009fb *                                L284:
        !           575:  557  000009fb *  2C202073686F756C642062652            .ascii  ",  should be = \0"
        !           576:                   03D2000
        !           577:  558  00000a0b *                                       .text
        !           578:  559  0001A224    dd 8f000009fb                        pushl   $L284
        !           579:  560  0001A22A    fe 08 effffffacf                     callf   $8,_writes
        !           580:  561  0001A231                                   #                   write32h( load_regs[index2] );
        !           581:  562  0001A231    0d effffffac9 50                     movl    _index2,r0
        !           582:  563  0001A238    dd 40effffffac1                      pushl   _load_regs[r0]
        !           583:  564  0001A23F    fe 08 effffffaba                     callf   $8,_write32h
        !           584:  565  0001A246                                   #                   writes("\n");
        !           585:  566  0001A246                                         .data   1
        !           586:  567  00000a0b *                                L285:
        !           587:  568  00000a0b *  0A00                                 .ascii  "\12\0"
        !           588:  569  00000a0d *                                       .text
        !           589:  570  0001A246    dd 8f00000a0b                        pushl   $L285
        !           590:  571  0001A24C    fe 08 effffffaad                     callf   $8,_writes
        !           591:  572  0001A253                                   #              }
        !           592:  573  0001A253                                   #              if( halt_flg )   
        !           593:  574  0001A253                                  L276:
        !           594:  575  0001A253    5d effffffaa7                        tstl    _halt_flg
        !           595:  576  0001A259    31 09                                jeql    L286
        !           596:  577  0001A25B                                   #                   lnd_er_halt( BAD_REG_HLT );  /* halt on the error      */
        !           597:  578  0001A25B    dd 02                                pushl   $2
        !           598:  579  0001A25D    fe 08 ef00000240                     callf   $8,_lnd_er_halt
        !           599:  580  0001A264                                   #              if( loop_on_err ) {
        !           600:  581  0001A264                                  L286:
        !           601:  582  0001A264    5d effffffa96                        tstl    _loop_on_err
        !           602:  583  0001A26A    31 0a                                jeql    L287
        !           603:  584  0001A26C                                   #                   force_loop = TRUE;       /* set the force loop flag */
        !           604:  585  0001A26C    0d 01 effffffa8d                     movl    $1,_force_loop
        !           605:  586  0001A273                                   #                   asm("brw _lnd_3_lp1");;  /* and loop on the error   */
        !           606:  587  0001A273    13 fe95                       brw _lnd_3_lp1
        !           607:  588  0001A276                                   #              }   /* end of loop on error */
        !           608:  589  0001A276                                   #         }  /* end of register corruption error */
        !           609:  590  0001A276                                  L287:
        !           610:  591  0001A276                                   # }  /* end of subtest 3 */
        !           611:  592  0001A276                                  L275:
        !           612:  593  0001A276    40                                   ret#2
        !           613:  594  0001A277                                         .set    L267,0x0
        !           614:  595  0001A277                                  L269:
        !           615:  596  0001A277    13 fe35                              jbr     L270
        !           616:  597  0001A27A                                         .data
        !           617:  598  000008ac *                                       .text
        !           618:  599  0001A27A                                         .align  1
        !           619:  600  0001A27A                                         .globl  _lnd_4
        !           620:  601  0001A27A                                  _lnd_4:
        !           621:  602  0001A27A    0000                                 .word   L288
        !           622:  603  0001A27C                                   #   
        !           623:  604  0001A27C                                   # 
        !           624:  605  0001A27C                                   # 
        !           625:  606  0001A27C                                   # /************************************************************************
        !           626:  607  0001A27C                                   # *
        !           627:  608  0001A27C                                   # *       SUBTEST 4 - Check for PSL corruption 
        !           628:  609  0001A27C                                   # *
        !           629:  610  0001A27C                                   # ************************************************************************/
        !           630:  611  0001A27C                                   # lnd_4() 
        !           631:  612  0001A27C                                   # {
        !           632:  613  0001A27C    13 01ba                              jbr     L290
        !           633:  614  0001A27F                                  L291:
        !           634:  615  0001A27F                                   #         force_loop = FALSE;                     /* clear force_loop flg */
        !           635:  616  0001A27F    4d effffffa7b                        clrl    _force_loop
        !           636:  617  0001A285                                   #         subtest = 4;
        !           637:  618  0001A285    0d 04 effffffa74                     movl    $4,_subtest
        !           638:  619  0001A28C                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
        !           639:  620  0001A28C    dd 8f00000000                        pushl   $_load_regs
        !           640:  621  0001A292    fe 08 effffffa67                     callf   $8,_fill_reg_buf
        !           641:  622  0001A299                                   #         for( index = 0; index < 3; index++ ) {
        !           642:  623  0001A299    4d effffffa61                        clrl    _index
        !           643:  624  0001A29F                                  L294:
        !           644:  625  0001A29F    1d effffffa5b 03                     cmpl    _index,$3
        !           645:  626  0001A2A6    91 03 13 018d                        jgeq    L293
        !           646:  627  0001A2AB                                   #              dbl_ld_acc   = lnd_1_data[index].ld;      /* get value to negate */
        !           647:  628  0001A2AB    48 04 effffffa4e 50                  shll    $4,_index,r0
        !           648:  629  0001A2B3    0c 8f00000000 50                     addl2   $_lnd_1_data,r0
        !           649:  630  0001A2BA    0d a004 effffffa42                   movl    4(r0),_dbl_ld_acc+4
        !           650:  631  0001A2C2    0d 60 effffffa37                     movl    (r0),_dbl_ld_acc
        !           651:  632  0001A2C9                                   #              dbl_expected = lnd_1_data[index].exp;     /* get expected  */
        !           652:  633  0001A2C9    48 04 effffffa30 50                  shll    $4,_index,r0
        !           653:  634  0001A2D1    0c 8f00000008 50                     addl2   $_lnd_1_data+8,r0
        !           654:  635  0001A2D8    0d a004 effffffa24                   movl    4(r0),_dbl_expected+4
        !           655:  636  0001A2E0    0d 60 effffffa19                     movl    (r0),_dbl_expected
        !           656:  637  0001A2E7                                   #              sgl_dummy1 = status_array[status_index];    /* status = +, -, 0 */
        !           657:  638  0001A2E7    0d effffffa13 50                     movl    _status_index,r0
        !           658:  639  0001A2EE    0d 40effffffa0b                      movl    _status_array[r0],_sgl_dummy1
        !           659:                   effffffa06 
        !           660:  640  0001A2FA                                   # /*
        !           661:  641  0001A2FA                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
        !           662:  642  0001A2FA                                   #  * The force loop flag is set after the first error.
        !           663:  643  0001A2FA                                   # */
        !           664:  644  0001A2FA                                   #              asm("_lnd_4_lp1:");
        !           665:  645  0001A2FA                                  _lnd_4_lp1:
        !           666:  646  0001A2FA                                   #              asm("tstl _sgl_dummy1");               /* set the PSL status    */
        !           667:  647  0001A2FA    5d effffffa00                 tstl _sgl_dummy1
        !           668:  648  0001A300                                   #          asm("movpsl _init_psl");           /* save the initial PSL  */
        !           669:  649  0001A300    cd effffff9fa                 movpsl _init_psl
        !           670:  650  0001A306                                   #              asm("lnd _dbl_ld_acc");            /* load and negate the value */
        !           671:  651  0001A306    17 effffff9f4                 lnd _dbl_ld_acc
        !           672:  652  0001A30C                                   #              asm("nop");
        !           673:  653  0001A30C    10                            nop
        !           674:  654  0001A30D                                   #              asm("movpsl _psl_val");            /* save the final PSL    */
        !           675:  655  0001A30D    cd effffff9ed                 movpsl _psl_val
        !           676:  656  0001A313                                   #              asm("stf _dbl_st_acc");            /* save the accumulator  */
        !           677:  657  0001A313    26 effffff9e7                 stf _dbl_st_acc
        !           678:  658  0001A319                                   #              if( force_loop )
        !           679:  659  0001A319    5d effffff9e1                        tstl    _force_loop
        !           680:  660  0001A31F    31 02                                jeql    L295
        !           681:  661  0001A321                                   #                   asm("brb _lnd_4_lp1");;      /* loop on the error     */
        !           682:  662  0001A321    11 d7                         brb _lnd_4_lp1
        !           683:  663  0001A323                                  L295:
        !           684:  664  0001A323                                   # /*
        !           685:  665  0001A323                                   #  * Now compare the final PSL to the initial PSL -they should be the same
        !           686:  666  0001A323                                   # */
        !           687:  667  0001A323                                   #              exp_psl = init_psl;
        !           688:  668  0001A323    0d effffff9d7 effffff9d2             movl    _init_psl,_exp_psl
        !           689:  669  0001A32E                                   #          if( psl_val != init_psl ) {
        !           690:  670  0001A32E    1d effffff9cc effffff9c7             cmpl    _psl_val,_init_psl
        !           691:  671  0001A339    21 03 13 00f1                        jeql    L296
        !           692:  672  0001A33E                                   #                   errcnt++;                     /* bump the error count    */
        !           693:  673  0001A33E    6d effffff9bc                        incl    _errcnt
        !           694:  674  0001A344                                   #                   if( prt_error ) {
        !           695:  675  0001A344    5d effffff9b6                        tstl    _prt_error
        !           696:  676  0001A34A    21 03 13 00bd                        jeql    L297
        !           697:  677  0001A34F                                   #                        writes(" \n");      /* start a new print line  */
        !           698:  678  0001A34F                                         .data   1
        !           699:  679  00000a0d *                                L298:
        !           700:  680  00000a0d *  200A00                               .ascii  " \12\0"
        !           701:  681  00000a10 *                                       .text
        !           702:  682  0001A34F    dd 8f00000a0d                        pushl   $L298
        !           703:  683  0001A355    fe 08 effffff9a4                     callf   $8,_writes
        !           704:  684  0001A35C                                   #                        writes("cycle: ");
        !           705:  685  0001A35C                                         .data   1
        !           706:  686  00000a10 *                                L299:
        !           707:  687  00000a10 *  6379636C653A2000                     .ascii  "cycle: \0"
        !           708:  688  00000a18 *                                       .text
        !           709:  689  0001A35C    dd 8f00000a10                        pushl   $L299
        !           710:  690  0001A362    fe 08 effffff997                     callf   $8,_writes
        !           711:  691  0001A369                                   #                        writed( cycle );
        !           712:  692  0001A369    dd effffff991                        pushl   _cycle
        !           713:  693  0001A36F    fe 08 effffff98a                     callf   $8,_writed
        !           714:  694  0001A376                                   #                        writes("  LND test ");
        !           715:  695  0001A376                                         .data   1
        !           716:  696  00000a18 *                                L300:
        !           717:  697  00000a18 *  20204C4E4420746573742000             .ascii  "  LND test \0"
        !           718:  698  00000a24 *                                       .text
        !           719:  699  0001A376    dd 8f00000a18                        pushl   $L300
        !           720:  700  0001A37C    fe 08 effffff97d                     callf   $8,_writes
        !           721:  701  0001A383                                   #                    writed( test_no );
        !           722:  702  0001A383    dd effffff977                        pushl   _test_no
        !           723:  703  0001A389    fe 08 effffff970                     callf   $8,_writed
        !           724:  704  0001A390                                   #     writes(", subtest 4 - INCORRECT FINAL PSL\n");
        !           725:  705  0001A390                                         .data   1
        !           726:  706  00000a24 *                                L301:
        !           727:  707  00000a24 *  2C20737562746573742034202            .ascii  ", subtest 4 - INCORRECT FINAL PSL\12\0"
        !           728:                   D20494E434F52524543542046
        !           729:                   494E414C2050534C0A00
        !           730:  708  00000a47 *                                       .text
        !           731:  709  0001A390    dd 8f00000a24                        pushl   $L301
        !           732:  710  0001A396    fe 08 effffff963                     callf   $8,_writes
        !           733:  711  0001A39D                                   #                        print_lnd_data();       /* print the operands      */
        !           734:  712  0001A39D    fe 04 ef00000098                     callf   $4,_print_lnd_data
        !           735:  713  0001A3A4                                   #                        writes("\n");
        !           736:  714  0001A3A4                                         .data   1
        !           737:  715  00000a47 *                                L302:
        !           738:  716  00000a47 *  0A00                                 .ascii  "\12\0"
        !           739:  717  00000a49 *                                       .text
        !           740:  718  0001A3A4    dd 8f00000a47                        pushl   $L302
        !           741:  719  0001A3AA    fe 08 effffff94f                     callf   $8,_writes
        !           742:  720  0001A3B1                                   #                        writes("initial PSL = ");
        !           743:  721  0001A3B1                                         .data   1
        !           744:  722  00000a49 *                                L303:
        !           745:  723  00000a49 *  696E697469616C2050534C203            .ascii  "initial PSL = \0"
        !           746:                   D2000
        !           747:  724  00000a58 *                                       .text
        !           748:  725  0001A3B1    dd 8f00000a49                        pushl   $L303
        !           749:  726  0001A3B7    fe 08 effffff942                     callf   $8,_writes
        !           750:  727  0001A3BE                                   #                        write32h( init_psl );
        !           751:  728  0001A3BE    dd effffff93c                        pushl   _init_psl
        !           752:  729  0001A3C4    fe 08 effffff935                     callf   $8,_write32h
        !           753:  730  0001A3CB                                   #                        writes(",  final PSL = ");
        !           754:  731  0001A3CB                                         .data   1
        !           755:  732  00000a58 *                                L304:
        !           756:  733  00000a58 *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
        !           757:                   03D2000
        !           758:  734  00000a68 *                                       .text
        !           759:  735  0001A3CB    dd 8f00000a58                        pushl   $L304
        !           760:  736  0001A3D1    fe 08 effffff928                     callf   $8,_writes
        !           761:  737  0001A3D8                                   #                        write32h( psl_val );
        !           762:  738  0001A3D8    dd effffff922                        pushl   _psl_val
        !           763:  739  0001A3DE    fe 08 effffff91b                     callf   $8,_write32h
        !           764:  740  0001A3E5                                   #                        writes(",  expected PSL = ");
        !           765:  741  0001A3E5                                         .data   1
        !           766:  742  00000a68 *                                L305:
        !           767:  743  00000a68 *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
        !           768:                   0534C203D2000
        !           769:  744  00000a7b *                                       .text
        !           770:  745  0001A3E5    dd 8f00000a68                        pushl   $L305
        !           771:  746  0001A3EB    fe 08 effffff90e                     callf   $8,_writes
        !           772:  747  0001A3F2                                   #                        write32h( exp_psl );
        !           773:  748  0001A3F2    dd effffff908                        pushl   _exp_psl
        !           774:  749  0001A3F8    fe 08 effffff901                     callf   $8,_write32h
        !           775:  750  0001A3FF                                   #                        writes("\n");
        !           776:  751  0001A3FF                                         .data   1
        !           777:  752  00000a7b *                                L306:
        !           778:  753  00000a7b *  0A00                                 .ascii  "\12\0"
        !           779:  754  00000a7d *                                       .text
        !           780:  755  0001A3FF    dd 8f00000a7b                        pushl   $L306
        !           781:  756  0001A405    fe 08 effffff8f4                     callf   $8,_writes
        !           782:  757  0001A40C                                   #                   }
        !           783:  758  0001A40C                                   #                   if( halt_flg )   
        !           784:  759  0001A40C                                  L297:
        !           785:  760  0001A40C    5d effffff8ee                        tstl    _halt_flg
        !           786:  761  0001A412    31 09                                jeql    L307
        !           787:  762  0001A414                                   #                        lnd_er_halt( BAD_PSL_HLT );   /* halt on the error */
        !           788:  763  0001A414    dd 03                                pushl   $3
        !           789:  764  0001A416    fe 08 ef00000087                     callf   $8,_lnd_er_halt
        !           790:  765  0001A41D                                   #                   if( loop_on_err ) {
        !           791:  766  0001A41D                                  L307:
        !           792:  767  0001A41D    5d effffff8dd                        tstl    _loop_on_err
        !           793:  768  0001A423    31 0a                                jeql    L308
        !           794:  769  0001A425                                   #                        force_loop = TRUE;       /* set the force loop flag */
        !           795:  770  0001A425    0d 01 effffff8d4                     movl    $1,_force_loop
        !           796:  771  0001A42C                                   #                        asm("brw _lnd_4_lp1");;  /* and loop on the error   */
        !           797:  772  0001A42C    13 fecb                       brw _lnd_4_lp1
        !           798:  773  0001A42F                                   #                   }   /* end of loop on error */
        !           799:  774  0001A42F                                   #              }  /* end of PSL corruption error */
        !           800:  775  0001A42F                                  L308:
        !           801:  776  0001A42F                                   #         }  /* end of WHILE loop */
        !           802:  777  0001A42F                                  L296:
        !           803:  778  0001A42F                                  L292:
        !           804:  779  0001A42F    6d effffff8cb                        incl    _index
        !           805:  780  0001A435    13 fe67                              jbr     L294
        !           806:  781  0001A438                                  L293:
        !           807:  782  0001A438                                   # }  /* end of subtest 4 */
        !           808:  783  0001A438    40                                   ret#2
        !           809:  784  0001A439                                         .set    L288,0x0
        !           810:  785  0001A439                                  L290:
        !           811:  786  0001A439    13 fe43                              jbr     L291
        !           812:  787  0001A43C                                         .data
        !           813:  788  000008ac *                                       .text
        !           814:  789  0001A43C                                         .align  1
        !           815:  790  0001A43C                                         .globl  _print_lnd_data
        !           816:  791  0001A43C                                  _print_lnd_data:
        !           817:  792  0001A43C    0000                                 .word   L309
        !           818:  793  0001A43E                                   #   
        !           819:  794  0001A43E                                   # 
        !           820:  795  0001A43E                                   # 
        !           821:  796  0001A43E                                   # /**************************************************************************
        !           822:  797  0001A43E                                   # *
        !           823:  798  0001A43E                                   # *       PRINT THE DATA AND STORE RESULTS
        !           824:  799  0001A43E                                   # *
        !           825:  800  0001A43E                                   # *  Acc loaded = xxxxxxxx xxxxxxxx,  Acc stored = xxxxxxxx xxxxxxxx,  index = xx
        !           826:  801  0001A43E                                   # *                                 Acc expected = xxxxxxxx xxxxxxxx
        !           827:  802  0001A43E                                   # **************************************************************************/
        !           828:  803  0001A43E                                   # print_lnd_data()
        !           829:  804  0001A43E                                   # {
        !           830:  805  0001A43E    11 61                                jbr     L311
        !           831:  806  0001A440                                  L312:
        !           832:  807  0001A440                                   #         writes(" Acc loaded = ");
        !           833:  808  0001A440                                         .data   1
        !           834:  809  00000a7d *                                L313:
        !           835:  810  00000a7d *  20416363206C6F61646564203            .ascii  " Acc loaded = \0"
        !           836:                   D2000
        !           837:  811  00000a8c *                                       .text
        !           838:  812  0001A440    dd 8f00000a7d                        pushl   $L313
        !           839:  813  0001A446    fe 08 effffff8b3                     callf   $8,_writes
        !           840:  814  0001A44D                                   #         write32h( dbl_ld_acc.m );
        !           841:  815  0001A44D    dd effffff8ad                        pushl   _dbl_ld_acc
        !           842:  816  0001A453    fe 08 effffff8a6                     callf   $8,_write32h
        !           843:  817  0001A45A                                   #         writec(' ');
        !           844:  818  0001A45A    dd 20                                pushl   $32
        !           845:  819  0001A45C    fe 08 effffff89d                     callf   $8,_writec
        !           846:  820  0001A463                                   #         write32h( dbl_ld_acc.l );
        !           847:  821  0001A463    dd effffff89b                        pushl   _dbl_ld_acc+4
        !           848:  822  0001A469    fe 08 effffff890                     callf   $8,_write32h
        !           849:  823  0001A470                                   #         writes(",  Acc. stored = ");
        !           850:  824  0001A470                                         .data   1
        !           851:  825  00000a8c *                                L314:
        !           852:  826  00000a8c *  2C20204163632E2073746F726            .ascii  ",  Acc. stored = \0"
        !           853:                   564203D2000
        !           854:  827  00000a9e *                                       .text
        !           855:  828  0001A470    dd 8f00000a8c                        pushl   $L314
        !           856:  829  0001A476    fe 08 effffff883                     callf   $8,_writes
        !           857:  830  0001A47D                                   #         write32h( dbl_st_acc.m );
        !           858:  831  0001A47D    dd effffff87d                        pushl   _dbl_st_acc
        !           859:  832  0001A483    fe 08 effffff876                     callf   $8,_write32h
        !           860:  833  0001A48A                                   #         writec(' ');
        !           861:  834  0001A48A    dd 20                                pushl   $32
        !           862:  835  0001A48C    fe 08 effffff86d                     callf   $8,_writec
        !           863:  836  0001A493                                   #         write32h( dbl_st_acc.l );
        !           864:  837  0001A493    dd effffff86b                        pushl   _dbl_st_acc+4
        !           865:  838  0001A499    fe 08 effffff860                     callf   $8,_write32h
        !           866:  839  0001A4A0                                   # }
        !           867:  840  0001A4A0    40                                   ret#2
        !           868:  841  0001A4A1                                         .set    L309,0x0
        !           869:  842  0001A4A1                                  L311:
        !           870:  843  0001A4A1    11 9d                                jbr     L312
        !           871:  844  0001A4A3                                         .data
        !           872:  845  000008ac *                                       .text
        !           873:  846  0001A4A3    00                                   .align  1
        !           874:  847  0001A4A4                                         .globl  _lnd_er_halt
        !           875:  848  0001A4A4                                  _lnd_er_halt:
        !           876:  849  0001A4A4    0000                                 .word   L315
        !           877:  850  0001A4A6                                   #   
        !           878:  851  0001A4A6                                   # 
        !           879:  852  0001A4A6                                   # 
        !           880:  853  0001A4A6                                   # /**************************************************************************
        !           881:  854  0001A4A6                                   # *
        !           882:  855  0001A4A6                                   # *               HALT ON ERROR ROUTINE 
        !           883:  856  0001A4A6                                   # *
        !           884:  857  0001A4A6                                   # **************************************************************************/
        !           885:  858  0001A4A6                                   # lnd_er_halt( halt_code )
        !           886:  859  0001A4A6                                   # int halt_code;
        !           887:  860  0001A4A6                                   # {
        !           888:  861  0001A4A6    13 00ff                              jbr     L317
        !           889:  862  0001A4A9                                  L318:
        !           890:  863  0001A4A9                                   #         sgl_value_1 = dbl_ld_acc.m;
        !           891:  864  0001A4A9    0d effffff851 effffff84c             movl    _dbl_ld_acc,_sgl_value_1
        !           892:  865  0001A4B4                                   #         sgl_value_2 = dbl_ld_acc.l;
        !           893:  866  0001A4B4    0d effffff84a effffff841             movl    _dbl_ld_acc+4,_sgl_value_2
        !           894:  867  0001A4BF                                   #         sgl_value_3 = dbl_st_acc.m;
        !           895:  868  0001A4BF    0d effffff83b effffff836             movl    _dbl_st_acc,_sgl_value_3
        !           896:  869  0001A4CA                                   #         sgl_value_4 = dbl_st_acc.l;
        !           897:  870  0001A4CA    0d effffff834 effffff82b             movl    _dbl_st_acc+4,_sgl_value_4
        !           898:  871  0001A4D5                                   #         sgl_dummy1 = halt_code;                 /* get the error type    */
        !           899:  872  0001A4D5    0d ad04 effffff823                   movl    4(fp),_sgl_dummy1
        !           900:  873  0001A4DD                                   #         asm("movl _test_no,r0");                /* r0  = test number     */
        !           901:  874  0001A4DD    0d effffff81d 50              movl _test_no,r0
        !           902:  875  0001A4E4                                   #         asm("movl _subtest,r1");                /* r1  = subtest number  */
        !           903:  876  0001A4E4    0d effffff816 51              movl _subtest,r1
        !           904:  877  0001A4EB                                   #         asm("movl _sgl_dummy1,r2");             /* r2  = error code      */
        !           905:  878  0001A4EB    0d effffff80f 52              movl _sgl_dummy1,r2
        !           906:  879  0001A4F2                                   #         asm("movl _cycle,r3");                  /* r3  = cycle count     */
        !           907:  880  0001A4F2    0d effffff808 53              movl _cycle,r3
        !           908:  881  0001A4F9                                   #         asm("movl _sgl_value_1,r4");            /* r4  = MS operand 1    */
        !           909:  882  0001A4F9    0d effffff801 54              movl _sgl_value_1,r4
        !           910:  883  0001A500                                   #         asm("movl _sgl_value_2,r5");            /* r5  = LS operand 1    */
        !           911:  884  0001A500    0d effffff7fa 55              movl _sgl_value_2,r5
        !           912:  885  0001A507                                   #         asm("movl _sgl_value_3,r6");            /* r6  = MS result       */
        !           913:  886  0001A507    0d effffff7f3 56              movl _sgl_value_3,r6
        !           914:  887  0001A50E                                   #         asm("movl _sgl_value_4,r7");            /* r7  = LS result       */
        !           915:  888  0001A50E    0d effffff7ec 57              movl _sgl_value_4,r7
        !           916:  889  0001A515                                   #         if( halt_code == BAD_ACC_HLT ) {
        !           917:  890  0001A515    1d ad04 01                           cmpl    4(fp),$1
        !           918:  891  0001A519    21 2d                                jneq    L319
        !           919:  892  0001A51B                                   #              sgl_value_1 = dbl_expected.m;
        !           920:  893  0001A51B    0d effffff7df effffff7da             movl    _dbl_expected,_sgl_value_1
        !           921:  894  0001A526                                   #              sgl_value_2 = dbl_expected.l;
        !           922:  895  0001A526    0d effffff7d8 effffff7cf             movl    _dbl_expected+4,_sgl_value_2
        !           923:  896  0001A531                                   #              asm("movl _sgl_value_1,r8");       /* r8  = MS expected     */
        !           924:  897  0001A531    0d effffff7c9 58              movl _sgl_value_1,r8
        !           925:  898  0001A538                                   #              asm("movl _sgl_value_2,r9");       /* r9  = LS expected     */
        !           926:  899  0001A538    0d effffff7c2 59              movl _sgl_value_2,r9
        !           927:  900  0001A53F                                   #              asm("movl _index,r10");            /* r10 = data index      */
        !           928:  901  0001A53F    0d effffff7bb 5a              movl _index,r10
        !           929:  902  0001A546                                   #         } else 
        !           930:  903  0001A546    11 5e                                jbr     L320
        !           931:  904  0001A548                                  L319:
        !           932:  905  0001A548                                   #           if( halt_code == BAD_REG_HLT ) {
        !           933:  906  0001A548    1d ad04 02                           cmpl    4(fp),$2
        !           934:  907  0001A54C    21 3d                                jneq    L321
        !           935:  908  0001A54E                                   #              sgl_dummy1 = load_regs[index2];
        !           936:  909  0001A54E    0d effffff7ac 50                     movl    _index2,r0
        !           937:  910  0001A555    0d 40effffff7a4                      movl    _load_regs[r0],_sgl_dummy1
        !           938:                   effffff79f 
        !           939:  911  0001A561                                   #              sgl_dummy2 = store_regs[index2];
        !           940:  912  0001A561    0d effffff799 50                     movl    _index2,r0
        !           941:  913  0001A568    0d 40effffff791                      movl    _store_regs[r0],_sgl_dummy2
        !           942:                   effffff78c 
        !           943:  914  0001A574                                   #              asm("movl _index2,r8");            /* r8  = bad register #  */
        !           944:  915  0001A574    0d effffff786 58              movl _index2,r8
        !           945:  916  0001A57B                                   #              asm("movl _sgl_dummy2,r9");        /* r9  = actual value    */
        !           946:  917  0001A57B    0d effffff77f 59              movl _sgl_dummy2,r9
        !           947:  918  0001A582                                   #              asm("movl _sgl_dummy1,r10");       /* r10 = expected value  */
        !           948:  919  0001A582    0d effffff778 5a              movl _sgl_dummy1,r10
        !           949:  920  0001A589                                   #         } else
        !           950:  921  0001A589    11 1b                                jbr     L322
        !           951:  922  0001A58B                                  L321:
        !           952:  923  0001A58B                                   #           if( halt_code == BAD_PSL_HLT ) {
        !           953:  924  0001A58B    1d ad04 03                           cmpl    4(fp),$3
        !           954:  925  0001A58F    21 15                                jneq    L323
        !           955:  926  0001A591                                   #              asm("movl _init_psl,r8");          /* r8  = initial PSL     */
        !           956:  927  0001A591    0d effffff769 58              movl _init_psl,r8
        !           957:  928  0001A598                                   #              asm("movl _psl_val,r9");           /* r9  = final PSL       */
        !           958:  929  0001A598    0d effffff762 59              movl _psl_val,r9
        !           959:  930  0001A59F                                   #              asm("movl _exp_psl,r10");          /* r10 = expected PSL    */
        !           960:  931  0001A59F    0d effffff75b 5a              movl _exp_psl,r10
        !           961:  932  0001A5A6                                   #         };
        !           962:  933  0001A5A6                                  L323:
        !           963:  934  0001A5A6                                  L322:
        !           964:  935  0001A5A6                                  L320:
        !           965:  936  0001A5A6                                   #         asm("halt");                            /* HALT ...              */
        !           966:  937  0001A5A6    00                            halt
        !           967:  938  0001A5A7                                   # }  
        !           968:  939  0001A5A7    40                                   ret#2
        !           969:  940  0001A5A8                                         .set    L315,0x0
        !           970:  941  0001A5A8                                  L317:
        !           971:  942  0001A5A8    13 fefe                              jbr     L318
        !           972:  943  0001A5AB                                         .data
        !           973:  943  000342AB                                         .data

unix.superglobalmegacorp.com

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