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

1.1       root        1:    1  00000000                                  LL0:
                      2:    2  00000000                                         .data
                      3:    3  00000aac *                                       .text
                      4:    4  00000000                                         .align  1
                      5:    5  00000000                                         .globl  _pushd
                      6:    6  00000000                                  _pushd:
                      7:    7  0001F650    0000                                 .word   L215
                      8:    8  0001F652                                   # #include "fpp_defs.h"
                      9:    9  0001F652                                   # 
                     10:   10  0001F652                                   # 
                     11:   11  0001F652                                   # /***************************************************************************
                     12:   12  0001F652                                   # *
                     13:   13  0001F652                                   # *   PUSHD - PUSH FLOATING POINT DOUBLE-PRECISION OPERAND ONTO STACK
                     14:   14  0001F652                                   # *
                     15:   15  0001F652                                   # *                   PUSHD TEST MONITOR 
                     16:   16  0001F652                                   # *
                     17:   17  0001F652                                   # *  Load a double precision operand into the accumulator and then push it
                     18:   18  0001F652                                   # *  onto the stack.
                     19:   19  0001F652                                   # ***************************************************************************/
                     20:   20  0001F652                                   # pushd()
                     21:   21  0001F652                                   # {
                     22:   22  0001F652    11 42                                jbr     L217
                     23:   23  0001F654                                  L218:
                     24:   24  0001F654                                   #     asm(".globl _pushd_t");
                     25:   25  0001F654                                  .globl _pushd_t
                     26:   26  0001F654                                   #     asm("_pushd_t:");                       /* entry address */
                     27:   27  0001F654                                  _pushd_t:
                     28:   28  0001F654                                   #     if( (cycle == 1) && (prt_hdrs) )        /* print headers on 1st cycle */
                     29:   29  0001F654    1d effffffff6 01                     cmpl    _cycle,$1
                     30:   30  0001F65B    21 15                                jneq    L219
                     31:   31  0001F65D    5d efffffffed                        tstl    _prt_hdrs
                     32:   32  0001F663    31 0d                                jeql    L219
                     33:   33  0001F665                                   #          writes(" PUSHD");
                     34:   34  0001F665                                         .data   1
                     35:   35  00000aac *                                L221:
                     36:   36  00000aac *  20505553484400                       .ascii  " PUSHD\0"
                     37:   37  00000ab3 *                                       .text
                     38:   38  0001F665    dd 8f00000aac                        pushl   $L221
                     39:   39  0001F66B    fe 08 efffffffde                     callf   $8,_writes
                     40:   40  0001F672                                   #     pushd_1();                              /* ldd/pushd data patterns */
                     41:   41  0001F672                                  L219:
                     42:   42  0001F672    fe 04 ef0000001f                     callf   $4,_pushd_1
                     43:   43  0001F679                                   #     pushd_2();                              /* register corruption test   */
                     44:   44  0001F679    fe 04 ef000004b4                     callf   $4,_pushd_2
                     45:   45  0001F680                                   #     if( !no_fpp_wcs )
                     46:   46  0001F680    5d efffffffca                        tstl    _no_fpp_wcs
                     47:   47  0001F686    21 07                                jneq    L224
                     48:   48  0001F688                                   #          pushd_3();                         /* PSL test */
                     49:   49  0001F688    fe 04 ef000006ab                     callf   $4,_pushd_3
                     50:   50  0001F68F                                   #     asm("jmp *return");                     /* return to the test monitor */
                     51:   51  0001F68F                                  L224:
                     52:   52  0001F68F    71 ffffffffbb                 jmp *return
                     53:   53  0001F695                                   # }
                     54:   54  0001F695    40                                   ret#2
                     55:   55  0001F696                                         .set    L215,0x0
                     56:   56  0001F696                                  L217:
                     57:   57  0001F696    11 bc                                jbr     L218
                     58:   58  0001F698                                         .data
                     59:   59  00000aac *                                       .text
                     60:   60  0001F698                                         .align  1
                     61:   61  0001F698                                         .globl  _pushd_1
                     62:   62  0001F698                                  _pushd_1:
                     63:   63  0001F698    0000                                 .word   L226
                     64:   64  0001F69A                                   #   
                     65:   65  0001F69A                                   #   
                     66:   66  0001F69A                                   # 
                     67:   67  0001F69A                                   # /************************************************************************
                     68:   68  0001F69A                                   # *
                     69:   69  0001F69A                                   # *           SUBTEST 1 - load / push / pop / compare
                     70:   70  0001F69A                                   # *
                     71:   71  0001F69A                                   # ************************************************************************/
                     72:   72  0001F69A                                   # pushd_1() 
                     73:   73  0001F69A                                   # {
                     74:   74  0001F69A    13 0494                              jbr     L228
                     75:   75  0001F69D                                  L229:
                     76:   76  0001F69D                                   #     force_loop = FALSE;
                     77:   77  0001F69D    4d efffffffad                        clrl    _force_loop
                     78:   78  0001F6A3                                   #     index = 0;
                     79:   79  0001F6A3    4d efffffffa7                        clrl    _index
                     80:   80  0001F6A9                                   #     subtest = 1;
                     81:   81  0001F6A9    0d 01 efffffffa0                     movl    $1,_subtest
                     82:   82  0001F6B0                                   #         do {
                     83:   83  0001F6B0                                  L232:
                     84:   84  0001F6B0                                   #        dbl_ld_acc   = ldd_1_data[index].ld;    /* get data to load */
                     85:   85  0001F6B0    48 04 efffffff99 50                  shll    $4,_index,r0
                     86:   86  0001F6B8    0c 8f00000000 50                     addl2   $_ldd_1_data,r0
                     87:   87  0001F6BF    0d a004 efffffff8d                   movl    4(r0),_dbl_ld_acc+4
                     88:   88  0001F6C7    0d 60 efffffff82                     movl    (r0),_dbl_ld_acc
                     89:   89  0001F6CE                                   #        dbl_expected = ldd_1_data[index].exp;   /* get expected results */
                     90:   90  0001F6CE    48 04 efffffff7b 50                  shll    $4,_index,r0
                     91:   91  0001F6D6    0c 8f00000008 50                     addl2   $_ldd_1_data+8,r0
                     92:   92  0001F6DD    0d a004 efffffff6f                   movl    4(r0),_dbl_expected+4
                     93:   93  0001F6E5    0d 60 efffffff64                     movl    (r0),_dbl_expected
                     94:   94  0001F6EC                                   #        if( !(dbl_ld_acc.m & 0x7f800000) ) {
                     95:   95  0001F6EC    3d 8f7f800000 efffffff59             bitl    $2139095040,_dbl_ld_acc
                     96:   96  0001F6F7    21 0c                                jneq    L233
                     97:   97  0001F6F9                                   #             dbl_expected.m = 0;
                     98:   98  0001F6F9    4d efffffff51                        clrl    _dbl_expected
                     99:   99  0001F6FF                                   #             dbl_expected.l = 0;             /* ignore bad 0's */
                    100:  100  0001F6FF    4d efffffff4f                        clrl    _dbl_expected+4
                    101:  101  0001F705                                   #             }
                    102:  102  0001F705                                   # /*
                    103:  103  0001F705                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    104:  104  0001F705                                   #  * The force loop flag is set after the first error.
                    105:  105  0001F705                                   # */
                    106:  106  0001F705                                   #        asm("_pushd_1_lp1:");
                    107:  107  0001F705                                  L233:
                    108:  108  0001F705                                  _pushd_1_lp1:
                    109:  109  0001F705                                   #        asm("moval (sp),_pre_event_sp");     /* save the pre-push SP */
                    110:  110  0001F705    ed 6e efffffff44              moval (sp),_pre_event_sp
                    111:  111  0001F70C                                   #        asm("ldd _dbl_ld_acc");              /* LOAD the (dbl) value */
                    112:  112  0001F70C    07 efffffff3e                 ldd _dbl_ld_acc
                    113:  113  0001F712                                   #        asm("pushd");                        /* PUSH the data */
                    114:  114  0001F712    67                            pushd
                    115:  115  0001F713                                   #        asm("moval (sp),_post_event_sp");    /* save the post-push SP */
                    116:  116  0001F713    ed 6e efffffff36              moval (sp),_post_event_sp
                    117:  117  0001F71A                                   #        asm("movl (sp)+,_pop_val_1");        /* POP the MS word */
                    118:  118  0001F71A    0d 8e efffffff2f              movl (sp)+,_pop_val_1
                    119:  119  0001F721                                   #        asm("movl (sp)+,_pop_val_2");        /* POP the LS word */
                    120:  120  0001F721    0d 8e efffffff28              movl (sp)+,_pop_val_2
                    121:  121  0001F728                                   #        asm("std _dbl_st_acc");              /* save the acc            */
                    122:  122  0001F728    27 efffffff22                 std _dbl_st_acc
                    123:  123  0001F72E                                   #        if( force_loop )
                    124:  124  0001F72E    5d efffffff1c                        tstl    _force_loop
                    125:  125  0001F734    31 02                                jeql    L234
                    126:  126  0001F736                                   #            asm("brb _pushd_1_lp1");         /* run the loop again      */
                    127:  127  0001F736    11 cd                         brb _pushd_1_lp1
                    128:  128  0001F738                                   #        sgl_dummy1 = pre_event_sp - 8;       /* get expected final SP */
                    129:  129  0001F738                                  L234:
                    130:  130  0001F738    3c 08 efffffff11 50                  subl3   $8,_pre_event_sp,r0
                    131:  131  0001F740    0d 50 efffffff09                     movl    r0,_sgl_dummy1
                    132:  132  0001F747                                   #        sgl_value_7 = post_event_sp - pre_event_sp; /* get amount pushed */
                    133:  133  0001F747    3c efffffff03 effffffefe             subl3   _pre_event_sp,_post_event_sp,r0
                    134:                   50 
                    135:  134  0001F753    0d 50 effffffef6                     movl    r0,_sgl_value_7
                    136:  135  0001F75A                                   #        if( (dbl_expected.m != pop_val_1) ||    /* verify stack data */
                    137:  136  0001F75A                                   #            (dbl_expected.l != pop_val_2) ||
                    138:  137  0001F75A                                   #            (post_event_sp  != sgl_dummy1) ) {  
                    139:  138  0001F75A    1d effffffef0 effffffeeb             cmpl    _dbl_expected,_pop_val_1
                    140:  139  0001F765    21 1d                                jneq    L9999
                    141:  140  0001F767    1d effffffee7 effffffede             cmpl    _dbl_expected+4,_pop_val_2
                    142:  141  0001F772    21 10                                jneq    L9999
                    143:  142  0001F774    1d effffffed6 effffffed1             cmpl    _post_event_sp,_sgl_dummy1
                    144:  143  0001F77F    21 03 13 0138                        jeql    L235
                    145:  144  0001F784                                  L9999:
                    146:  145  0001F784                                   #           errcnt++;                         /* bump the error count */
                    147:  146  0001F784    6d effffffec6                        incl    _errcnt
                    148:  147  0001F78A                                   #           if ( prt_error ) {
                    149:  148  0001F78A    5d effffffec0                        tstl    _prt_error
                    150:  149  0001F790    21 03 13 0104                        jeql    L236
                    151:  150  0001F795                                   #              writes("\ncycle: ");
                    152:  151  0001F795                                         .data   1
                    153:  152  00000ab3 *                                L237:
                    154:  153  00000ab3 *  0A6379636C653A2000                   .ascii  "\12cycle: \0"
                    155:  154  00000abc *                                       .text
                    156:  155  0001F795    dd 8f00000ab3                        pushl   $L237
                    157:  156  0001F79B    fe 08 effffffeae                     callf   $8,_writes
                    158:  157  0001F7A2                                   #              writed( cycle );
                    159:  158  0001F7A2    dd effffffea8                        pushl   _cycle
                    160:  159  0001F7A8    fe 08 effffffea1                     callf   $8,_writed
                    161:  160  0001F7AF                                   #              writes("  PUSHD test ");
                    162:  161  0001F7AF                                         .data   1
                    163:  162  00000abc *                                L239:
                    164:  163  00000abc *  2020505553484420746573742            .ascii  "  PUSHD test \0"
                    165:                   000
                    166:  164  00000aca *                                       .text
                    167:  165  0001F7AF    dd 8f00000abc                        pushl   $L239
                    168:  166  0001F7B5    fe 08 effffffe94                     callf   $8,_writes
                    169:  167  0001F7BC                                   #              writed( test_no );
                    170:  168  0001F7BC    dd effffffe8e                        pushl   _test_no
                    171:  169  0001F7C2    fe 08 effffffe87                     callf   $8,_writed
                    172:  170  0001F7C9                                   #              writes(", subtest 1 (Cache Data) - WRONG DATA PUSHED\n");
                    173:  171  0001F7C9                                         .data   1
                    174:  172  00000aca *                                L240:
                    175:  173  00000aca *  2C20737562746573742031202            .ascii  ", subtest 1 (Cache Data) - WRONG DATA PUSHED\12\0"
                    176:                   8436163686520446174612920
                    177:                   2D2057524F4E4720444154412
                    178:                   05055534845440A00
                    179:  174  00000af8 *                                       .text
                    180:  175  0001F7C9    dd 8f00000aca                        pushl   $L240
                    181:  176  0001F7CF    fe 08 effffffe7a                     callf   $8,_writes
                    182:  177  0001F7D6                                   #              print_pushd_data();
                    183:  178  0001F7D6    fe 04 ef00000773                     callf   $4,_print_pushd_data
                    184:  179  0001F7DD                                   #              writes(",  data pushed = ");
                    185:  180  0001F7DD                                         .data   1
                    186:  181  00000af8 *                                L242:
                    187:  182  00000af8 *  2C20206461746120707573686            .ascii  ",  data pushed = \0"
                    188:                   564203D2000
                    189:  183  00000b0a *                                       .text
                    190:  184  0001F7DD    dd 8f00000af8                        pushl   $L242
                    191:  185  0001F7E3    fe 08 effffffe66                     callf   $8,_writes
                    192:  186  0001F7EA                                   #                  write32h( pop_val_1 );
                    193:  187  0001F7EA    dd effffffe60                        pushl   _pop_val_1
                    194:  188  0001F7F0    fe 08 effffffe59                     callf   $8,_write32h
                    195:  189  0001F7F7                                   #                  writec(' ');
                    196:  190  0001F7F7    dd 20                                pushl   $32
                    197:  191  0001F7F9    fe 08 effffffe50                     callf   $8,_writec
                    198:  192  0001F800                                   #                  write32h( pop_val_2 );
                    199:  193  0001F800    dd effffffe4a                        pushl   _pop_val_2
                    200:  194  0001F806    fe 08 effffffe43                     callf   $8,_write32h
                    201:  195  0001F80D                                   #                  writes(",  index = ");
                    202:  196  0001F80D                                         .data   1
                    203:  197  00000b0a *                                L245:
                    204:  198  00000b0a *  2C2020696E646578203D2000             .ascii  ",  index = \0"
                    205:  199  00000b16 *                                       .text
                    206:  200  0001F80D    dd 8f00000b0a                        pushl   $L245
                    207:  201  0001F813    fe 08 effffffe36                     callf   $8,_writes
                    208:  202  0001F81A                                   #                  writed( index );
                    209:  203  0001F81A    dd effffffe30                        pushl   _index
                    210:  204  0001F820    fe 08 effffffe29                     callf   $8,_writed
                    211:  205  0001F827                                   #                  writec('\n');
                    212:  206  0001F827    dd 0a                                pushl   $10
                    213:  207  0001F829    fe 08 effffffe20                     callf   $8,_writec
                    214:  208  0001F830                                   #              writes("  final Acc = ");
                    215:  209  0001F830                                         .data   1
                    216:  210  00000b16 *                                L246:
                    217:  211  00000b16 *  202066696E616C20416363203            .ascii  "  final Acc = \0"
                    218:                   D2000
                    219:  212  00000b25 *                                       .text
                    220:  213  0001F830    dd 8f00000b16                        pushl   $L246
                    221:  214  0001F836    fe 08 effffffe13                     callf   $8,_writes
                    222:  215  0001F83D                                   #                  write32h( dbl_st_acc.m );
                    223:  216  0001F83D    dd effffffe0d                        pushl   _dbl_st_acc
                    224:  217  0001F843    fe 08 effffffe06                     callf   $8,_write32h
                    225:  218  0001F84A                                   #                  writec(' ');
                    226:  219  0001F84A    dd 20                                pushl   $32
                    227:  220  0001F84C    fe 08 effffffdfd                     callf   $8,_writec
                    228:  221  0001F853                                   #                  write32h( dbl_st_acc.l );
                    229:  222  0001F853    dd effffffdfb                        pushl   _dbl_st_acc+4
                    230:  223  0001F859    fe 08 effffffdf0                     callf   $8,_write32h
                    231:  224  0001F860                                   #              writes(",    exp. data = ");
                    232:  225  0001F860                                         .data   1
                    233:  226  00000b25 *                                L247:
                    234:  227  00000b25 *  2C202020206578702E2064617            .ascii  ",    exp. data = \0"
                    235:                   461203D2000
                    236:  228  00000b37 *                                       .text
                    237:  229  0001F860    dd 8f00000b25                        pushl   $L247
                    238:  230  0001F866    fe 08 effffffde3                     callf   $8,_writes
                    239:  231  0001F86D                                   #                  write32h( dbl_expected.m );
                    240:  232  0001F86D    dd effffffddd                        pushl   _dbl_expected
                    241:  233  0001F873    fe 08 effffffdd6                     callf   $8,_write32h
                    242:  234  0001F87A                                   #                  writec(' ');
                    243:  235  0001F87A    dd 20                                pushl   $32
                    244:  236  0001F87C    fe 08 effffffdcd                     callf   $8,_writec
                    245:  237  0001F883                                   #                  write32h( dbl_expected.l );
                    246:  238  0001F883    dd effffffdcb                        pushl   _dbl_expected+4
                    247:  239  0001F889    fe 08 effffffdc0                     callf   $8,_write32h
                    248:  240  0001F890                                   #              writec('\n');
                    249:  241  0001F890    dd 0a                                pushl   $10
                    250:  242  0001F892    fe 08 effffffdb7                     callf   $8,_writec
                    251:  243  0001F899                                   #           }
                    252:  244  0001F899                                   #               if ( halt_flg )                       /* halt on error? */
                    253:  245  0001F899                                  L236:
                    254:  246  0001F899    5d effffffdb1                        tstl    _halt_flg
                    255:  247  0001F89F    31 09                                jeql    L248
                    256:  248  0001F8A1                                   #              pushd_er_halt( BAD_STORE_HLT );
                    257:  249  0001F8A1    dd 09                                pushl   $9
                    258:  250  0001F8A3    fe 08 ef000006de                     callf   $8,_pushd_er_halt
                    259:  251  0001F8AA                                   #               if ( loop_on_err ) 
                    260:  252  0001F8AA                                  L248:
                    261:  253  0001F8AA    5d effffffda0                        tstl    _loop_on_err
                    262:  254  0001F8B0    31 0a                                jeql    L250
                    263:  255  0001F8B2                                   #           {
                    264:  256  0001F8B2                                   #              force_loop = TRUE;             /* set the force loop flag */
                    265:  257  0001F8B2    0d 01 effffffd97                     movl    $1,_force_loop
                    266:  258  0001F8B9                                   #              asm("brw _pushd_1_lp1");       /* and loop on the error   */
                    267:  259  0001F8B9    13 fe49                       brw _pushd_1_lp1
                    268:  260  0001F8BC                                   #           }  /* end of loop-on-error */
                    269:  261  0001F8BC                                   #        }   /* end of data compare error */
                    270:  262  0001F8BC                                  L250:
                    271:  263  0001F8BC                                   #        if( ( post_event_sp - pre_event_sp ) == 2 ) {/* ver stack data */
                    272:  264  0001F8BC                                  L235:
                    273:  265  0001F8BC    3c effffffd8e effffffd89             subl3   _pre_event_sp,_post_event_sp,r0
                    274:                   50 
                    275:  266  0001F8C8    1d 50 02                             cmpl    r0,$2
                    276:  267  0001F8CB    31 03 13 00f2                        jneq    L251
                    277:  268  0001F8D0                                   #           errcnt++;                         /* bump the error count */
                    278:  269  0001F8D0    6d effffffd7a                        incl    _errcnt
                    279:  270  0001F8D6                                   #           if ( prt_error ) {
                    280:  271  0001F8D6    5d effffffd74                        tstl    _prt_error
                    281:  272  0001F8DC    21 03 13 00be                        jeql    L252
                    282:  273  0001F8E1                                   #              writes("\ncycle: ");
                    283:  274  0001F8E1                                         .data   1
                    284:  275  00000b37 *                                L253:
                    285:  276  00000b37 *  0A6379636C653A2000                   .ascii  "\12cycle: \0"
                    286:  277  00000b40 *                                       .text
                    287:  278  0001F8E1    dd 8f00000b37                        pushl   $L253
                    288:  279  0001F8E7    fe 08 effffffd62                     callf   $8,_writes
                    289:  280  0001F8EE                                   #              writed( cycle );
                    290:  281  0001F8EE    dd effffffd5c                        pushl   _cycle
                    291:  282  0001F8F4    fe 08 effffffd55                     callf   $8,_writed
                    292:  283  0001F8FB                                   #              writes("  PUSHD test ");
                    293:  284  0001F8FB                                         .data   1
                    294:  285  00000b40 *                                L254:
                    295:  286  00000b40 *  2020505553484420746573742            .ascii  "  PUSHD test \0"
                    296:                   000
                    297:  287  00000b4e *                                       .text
                    298:  288  0001F8FB    dd 8f00000b40                        pushl   $L254
                    299:  289  0001F901    fe 08 effffffd48                     callf   $8,_writes
                    300:  290  0001F908                                   #              writed( test_no );
                    301:  291  0001F908    dd effffffd42                        pushl   _test_no
                    302:  292  0001F90E    fe 08 effffffd3b                     callf   $8,_writed
                    303:  293  0001F915                                   #              writes(", subtest 1 (Data Pat.) - WRONG PUSH COUNT\n");
                    304:  294  0001F915                                         .data   1
                    305:  295  00000b4e *                                L255:
                    306:  296  00000b4e *  2C20737562746573742031202            .ascii  ", subtest 1 (Data Pat.) - WRONG PUSH COUNT\12\0"
                    307:                   844617461205061742E29202D
                    308:                   2057524F4E472050555348204
                    309:                   34F554E540A00
                    310:  297  00000b7a *                                       .text
                    311:  298  0001F915    dd 8f00000b4e                        pushl   $L255
                    312:  299  0001F91B    fe 08 effffffd2e                     callf   $8,_writes
                    313:  300  0001F922                                   #              print_pushd_data();
                    314:  301  0001F922    fe 04 ef00000627                     callf   $4,_print_pushd_data
                    315:  302  0001F929                                   #              writes(",  ");
                    316:  303  0001F929                                         .data   1
                    317:  304  00000b7a *                                L256:
                    318:  305  00000b7a *  2C202000                             .ascii  ",  \0"
                    319:  306  00000b7e *                                       .text
                    320:  307  0001F929    dd 8f00000b7a                        pushl   $L256
                    321:  308  0001F92F    fe 08 effffffd1a                     callf   $8,_writes
                    322:  309  0001F936                                   #                  writed( sgl_value_7 );
                    323:  310  0001F936    dd effffffd14                        pushl   _sgl_value_7
                    324:  311  0001F93C    fe 08 effffffd0d                     callf   $8,_writed
                    325:  312  0001F943                                   #              writes(" longwords pushed,  ");
                    326:  313  0001F943                                         .data   1
                    327:  314  00000b7e *                                L257:
                    328:  315  00000b7e *  206C6F6E67776F72647320707            .ascii  " longwords pushed,  \0"
                    329:                   5736865642C202000
                    330:  316  00000b93 *                                       .text
                    331:  317  0001F943    dd 8f00000b7e                        pushl   $L257
                    332:  318  0001F949    fe 08 effffffd00                     callf   $8,_writes
                    333:  319  0001F950                                   #                  writes("2 expected");
                    334:  320  0001F950                                         .data   1
                    335:  321  00000b93 *                                L258:
                    336:  322  00000b93 *                                       .ascii  ""
                    337:  323  00000b93 *  3220657870656374656400               .ascii  "2 expected\0"
                    338:  324  00000b9e *                                       .text
                    339:  325  0001F950    dd 8f00000b93                        pushl   $L258
                    340:  326  0001F956    fe 08 effffffcf3                     callf   $8,_writes
                    341:  327  0001F95D                                   #                  writec('\n');
                    342:  328  0001F95D    dd 0a                                pushl   $10
                    343:  329  0001F95F    fe 08 effffffcea                     callf   $8,_writec
                    344:  330  0001F966                                   #              writes("  final Acc = ");
                    345:  331  0001F966                                         .data   1
                    346:  332  00000b9e *                                L259:
                    347:  333  00000b9e *  202066696E616C20416363203            .ascii  "  final Acc = \0"
                    348:                   D2000
                    349:  334  00000bad *                                       .text
                    350:  335  0001F966    dd 8f00000b9e                        pushl   $L259
                    351:  336  0001F96C    fe 08 effffffcdd                     callf   $8,_writes
                    352:  337  0001F973                                   #                  write32h( dbl_st_acc.m );
                    353:  338  0001F973    dd effffffcd7                        pushl   _dbl_st_acc
                    354:  339  0001F979    fe 08 effffffcd0                     callf   $8,_write32h
                    355:  340  0001F980                                   #                  writec(' ');
                    356:  341  0001F980    dd 20                                pushl   $32
                    357:  342  0001F982    fe 08 effffffcc7                     callf   $8,_writec
                    358:  343  0001F989                                   #                  write32h( dbl_st_acc.l );
                    359:  344  0001F989    dd effffffcc5                        pushl   _dbl_st_acc+4
                    360:  345  0001F98F    fe 08 effffffcba                     callf   $8,_write32h
                    361:  346  0001F996                                   #              writec('\n');
                    362:  347  0001F996    dd 0a                                pushl   $10
                    363:  348  0001F998    fe 08 effffffcb1                     callf   $8,_writec
                    364:  349  0001F99F                                   #           }
                    365:  350  0001F99F                                   #               if ( halt_flg )                       /* halt on error? */
                    366:  351  0001F99F                                  L252:
                    367:  352  0001F99F    5d effffffcab                        tstl    _halt_flg
                    368:  353  0001F9A5    31 09                                jeql    L260
                    369:  354  0001F9A7                                   #              pushd_er_halt( PUSH_CNT_HLT );
                    370:  355  0001F9A7    dd 08                                pushl   $8
                    371:  356  0001F9A9    fe 08 ef000005d8                     callf   $8,_pushd_er_halt
                    372:  357  0001F9B0                                   #               if ( loop_on_err ) 
                    373:  358  0001F9B0                                  L260:
                    374:  359  0001F9B0    5d effffffc9a                        tstl    _loop_on_err
                    375:  360  0001F9B6    31 0a                                jeql    L261
                    376:  361  0001F9B8                                   #           {
                    377:  362  0001F9B8                                   #              force_loop = TRUE;             /* set the force loop flag */
                    378:  363  0001F9B8    0d 01 effffffc91                     movl    $1,_force_loop
                    379:  364  0001F9BF                                   #              asm("brw _pushd_1_lp1");       /* and loop on the error   */
                    380:  365  0001F9BF    13 fd43                       brw _pushd_1_lp1
                    381:  366  0001F9C2                                   #           }  /* end of loop-on-error */
                    382:  367  0001F9C2                                   #        }   /* end of push count error */
                    383:  368  0001F9C2                                  L261:
                    384:  369  0001F9C2                                   #        if( ( dbl_st_acc.m != dbl_expected.m ) &&
                    385:  370  0001F9C2                                  L251:
                    386:  371  0001F9C2                                   #            ( dbl_st_acc.l != dbl_expected.l ) ) {  
                    387:  372  0001F9C2    1d effffffc88 effffffc83             cmpl    _dbl_st_acc,_dbl_expected
                    388:  373  0001F9CD    21 03 13 0145                        jeql    L262
                    389:  374  0001F9D2    1d effffffc7c effffffc77             cmpl    _dbl_st_acc+4,_dbl_expected+4
                    390:  375  0001F9DD    31 f0                                jeql    L262
                    391:  376  0001F9DF                                   #           errcnt++;                         /* bump the error count */
                    392:  377  0001F9DF    6d effffffc6b                        incl    _errcnt
                    393:  378  0001F9E5                                   #           if ( prt_error ) 
                    394:  379  0001F9E5    5d effffffc65                        tstl    _prt_error
                    395:  380  0001F9EB    21 03 13 0104                        jeql    L263
                    396:  381  0001F9F0                                   #           {
                    397:  382  0001F9F0                                   #              writes("\ncycle: ");
                    398:  383  0001F9F0                                         .data   1
                    399:  384  00000bad *                                L264:
                    400:  385  00000bad *  0A6379636C653A2000                   .ascii  "\12cycle: \0"
                    401:  386  00000bb6 *                                       .text
                    402:  387  0001F9F0    dd 8f00000bad                        pushl   $L264
                    403:  388  0001F9F6    fe 08 effffffc53                     callf   $8,_writes
                    404:  389  0001F9FD                                   #              writed( cycle );
                    405:  390  0001F9FD    dd effffffc4d                        pushl   _cycle
                    406:  391  0001FA03    fe 08 effffffc46                     callf   $8,_writed
                    407:  392  0001FA0A                                   #              writes("  PUSHD test ");
                    408:  393  0001FA0A                                         .data   1
                    409:  394  00000bb6 *                                L265:
                    410:  395  00000bb6 *  2020505553484420746573742            .ascii  "  PUSHD test \0"
                    411:                   000
                    412:  396  00000bc4 *                                       .text
                    413:  397  0001FA0A    dd 8f00000bb6                        pushl   $L265
                    414:  398  0001FA10    fe 08 effffffc39                     callf   $8,_writes
                    415:  399  0001FA17                                   #              writed( test_no );
                    416:  400  0001FA17    dd effffffc33                        pushl   _test_no
                    417:  401  0001FA1D    fe 08 effffffc2c                     callf   $8,_writed
                    418:  402  0001FA24                                   #              writes(", subtest 1 (Acc. Corr.) - BAD FINAL ACC\n");
                    419:  403  0001FA24                                         .data   1
                    420:  404  00000bc4 *                                L266:
                    421:  405  00000bc4 *  2C20737562746573742031202            .ascii  ", subtest 1 (Acc. Corr.) - BAD FINAL ACC\12\0"
                    422:                   84163632E20436F72722E2920
                    423:                   2D204241442046494E414C204
                    424:                   143430A00
                    425:  406  00000bee *                                       .text
                    426:  407  0001FA24    dd 8f00000bc4                        pushl   $L266
                    427:  408  0001FA2A    fe 08 effffffc1f                     callf   $8,_writes
                    428:  409  0001FA31                                   #              print_pushd_data();
                    429:  410  0001FA31    fe 04 ef00000518                     callf   $4,_print_pushd_data
                    430:  411  0001FA38                                   #              writes(",  data pushed = ");
                    431:  412  0001FA38                                         .data   1
                    432:  413  00000bee *                                L267:
                    433:  414  00000bee *  2C20206461746120707573686            .ascii  ",  data pushed = \0"
                    434:                   564203D2000
                    435:  415  00000c00 *                                       .text
                    436:  416  0001FA38    dd 8f00000bee                        pushl   $L267
                    437:  417  0001FA3E    fe 08 effffffc0b                     callf   $8,_writes
                    438:  418  0001FA45                                   #                  write32h( pop_val_1 );
                    439:  419  0001FA45    dd effffffc05                        pushl   _pop_val_1
                    440:  420  0001FA4B    fe 08 effffffbfe                     callf   $8,_write32h
                    441:  421  0001FA52                                   #                  writec(' ');
                    442:  422  0001FA52    dd 20                                pushl   $32
                    443:  423  0001FA54    fe 08 effffffbf5                     callf   $8,_writec
                    444:  424  0001FA5B                                   #                  write32h( pop_val_2 );
                    445:  425  0001FA5B    dd effffffbef                        pushl   _pop_val_2
                    446:  426  0001FA61    fe 08 effffffbe8                     callf   $8,_write32h
                    447:  427  0001FA68                                   #                  writes(",  index = ");
                    448:  428  0001FA68                                         .data   1
                    449:  429  00000c00 *                                L268:
                    450:  430  00000c00 *  2C2020696E646578203D2000             .ascii  ",  index = \0"
                    451:  431  00000c0c *                                       .text
                    452:  432  0001FA68    dd 8f00000c00                        pushl   $L268
                    453:  433  0001FA6E    fe 08 effffffbdb                     callf   $8,_writes
                    454:  434  0001FA75                                   #                  writed( index );
                    455:  435  0001FA75    dd effffffbd5                        pushl   _index
                    456:  436  0001FA7B    fe 08 effffffbce                     callf   $8,_writed
                    457:  437  0001FA82                                   #                  writec('\n');
                    458:  438  0001FA82    dd 0a                                pushl   $10
                    459:  439  0001FA84    fe 08 effffffbc5                     callf   $8,_writec
                    460:  440  0001FA8B                                   #              writes("  final Acc = ");
                    461:  441  0001FA8B                                         .data   1
                    462:  442  00000c0c *                                L269:
                    463:  443  00000c0c *  202066696E616C20416363203            .ascii  "  final Acc = \0"
                    464:                   D2000
                    465:  444  00000c1b *                                       .text
                    466:  445  0001FA8B    dd 8f00000c0c                        pushl   $L269
                    467:  446  0001FA91    fe 08 effffffbb8                     callf   $8,_writes
                    468:  447  0001FA98                                   #                  write32h( dbl_st_acc.m );
                    469:  448  0001FA98    dd effffffbb2                        pushl   _dbl_st_acc
                    470:  449  0001FA9E    fe 08 effffffbab                     callf   $8,_write32h
                    471:  450  0001FAA5                                   #                  writec(' ');
                    472:  451  0001FAA5    dd 20                                pushl   $32
                    473:  452  0001FAA7    fe 08 effffffba2                     callf   $8,_writec
                    474:  453  0001FAAE                                   #                  write32h( dbl_st_acc.l );
                    475:  454  0001FAAE    dd effffffba0                        pushl   _dbl_st_acc+4
                    476:  455  0001FAB4    fe 08 effffffb95                     callf   $8,_write32h
                    477:  456  0001FABB                                   #              writes(",  Acc expected = ");
                    478:  457  0001FABB                                         .data   1
                    479:  458  00000c1b *                                L270:
                    480:  459  00000c1b *  2C20204163632065787065637            .ascii  ",  Acc expected = \0"
                    481:                   46564203D2000
                    482:  460  00000c2e *                                       .text
                    483:  461  0001FABB    dd 8f00000c1b                        pushl   $L270
                    484:  462  0001FAC1    fe 08 effffffb88                     callf   $8,_writes
                    485:  463  0001FAC8                                   #                  write32h( dbl_expected.m );
                    486:  464  0001FAC8    dd effffffb82                        pushl   _dbl_expected
                    487:  465  0001FACE    fe 08 effffffb7b                     callf   $8,_write32h
                    488:  466  0001FAD5                                   #                  writec(' ');
                    489:  467  0001FAD5    dd 20                                pushl   $32
                    490:  468  0001FAD7    fe 08 effffffb72                     callf   $8,_writec
                    491:  469  0001FADE                                   #                  write32h( dbl_expected.l );
                    492:  470  0001FADE    dd effffffb70                        pushl   _dbl_expected+4
                    493:  471  0001FAE4    fe 08 effffffb65                     callf   $8,_write32h
                    494:  472  0001FAEB                                   #                  writec('\n');
                    495:  473  0001FAEB    dd 0a                                pushl   $10
                    496:  474  0001FAED    fe 08 effffffb5c                     callf   $8,_writec
                    497:  475  0001FAF4                                   #           }
                    498:  476  0001FAF4                                   #               if ( halt_flg )                       /* halt on error? */
                    499:  477  0001FAF4                                  L263:
                    500:  478  0001FAF4    5d effffffb56                        tstl    _halt_flg
                    501:  479  0001FAFA    31 09                                jeql    L271
                    502:  480  0001FAFC                                   #              pushd_er_halt( BAD_ACC_HLT );
                    503:  481  0001FAFC    dd 01                                pushl   $1
                    504:  482  0001FAFE    fe 08 ef00000483                     callf   $8,_pushd_er_halt
                    505:  483  0001FB05                                   #               if ( loop_on_err ) 
                    506:  484  0001FB05                                  L271:
                    507:  485  0001FB05    5d effffffb45                        tstl    _loop_on_err
                    508:  486  0001FB0B    31 0a                                jeql    L272
                    509:  487  0001FB0D                                   #           {
                    510:  488  0001FB0D                                   #              force_loop = TRUE;             /* set the force loop flag */
                    511:  489  0001FB0D    0d 01 effffffb3c                     movl    $1,_force_loop
                    512:  490  0001FB14                                   #              asm("brw _pushd_1_lp1");       /* and loop on the error   */
                    513:  491  0001FB14    13 fbee                       brw _pushd_1_lp1
                    514:  492  0001FB17                                   #           }  /* end of loop-on-error */
                    515:  493  0001FB17                                   #        }   /* end of acc corr error */
                    516:  494  0001FB17                                  L272:
                    517:  495  0001FB17                                   #     } while( index++ < max_ldd_1_index );
                    518:  496  0001FB17                                  L262:
                    519:  497  0001FB17                                  L231:
                    520:  498  0001FB17    0d effffffb33 50                     movl    _index,r0
                    521:  499  0001FB1E    6d effffffb2c                        incl    _index
                    522:  500  0001FB24    1d 50 effffffb25                     cmpl    r0,_max_ldd_1_index
                    523:  501  0001FB2B    81 03 13 fb80                        jlss    L232
                    524:  502  0001FB30                                  L230:
                    525:  503  0001FB30                                   # }  /* end of subtest 1 */
                    526:  504  0001FB30    40                                   ret#2
                    527:  505  0001FB31                                         .set    L226,0x0
                    528:  506  0001FB31                                  L228:
                    529:  507  0001FB31    13 fb69                              jbr     L229
                    530:  508  0001FB34                                         .data
                    531:  509  00000aac *                                       .text
                    532:  510  0001FB34                                         .align  1
                    533:  511  0001FB34                                         .globl  _pushd_2
                    534:  512  0001FB34                                  _pushd_2:
                    535:  513  0001FB34    0000                                 .word   L273
                    536:  514  0001FB36                                   #   
                    537:  515  0001FB36                                   # 
                    538:  516  0001FB36                                   # 
                    539:  517  0001FB36                                   # /************************************************************************
                    540:  518  0001FB36                                   # *
                    541:  519  0001FB36                                   # *           SUBTEST 2 - register corruption test
                    542:  520  0001FB36                                   # *
                    543:  521  0001FB36                                   # ************************************************************************/
                    544:  522  0001FB36                                   # pushd_2() 
                    545:  523  0001FB36                                   # {
                    546:  524  0001FB36    13 01fe                              jbr     L275
                    547:  525  0001FB39                                  L276:
                    548:  526  0001FB39                                   #     force_loop = FALSE;
                    549:  527  0001FB39    4d effffffb11                        clrl    _force_loop
                    550:  528  0001FB3F                                   #     subtest = 2;
                    551:  529  0001FB3F    0d 02 effffffb0a                     movl    $2,_subtest
                    552:  530  0001FB46                                   #         index = 0;
                    553:  531  0001FB46    4d effffffb04                        clrl    _index
                    554:  532  0001FB4C                                   #     do 
                    555:  533  0001FB4C                                  L279:
                    556:  534  0001FB4C                                   #     {
                    557:  535  0001FB4C                                   #        fill_reg_buf( load_regs );           /*   Set the values that  */
                    558:  536  0001FB4C    dd 8f00000000                        pushl   $_load_regs
                    559:  537  0001FB52    fe 08 effffffaf7                     callf   $8,_fill_reg_buf
                    560:  538  0001FB59                                   #        dbl_ld_acc   = ldd_1_data[index].ld;    /* get data to load */
                    561:  539  0001FB59    48 04 effffffaf0 50                  shll    $4,_index,r0
                    562:  540  0001FB61    0c 8f00000000 50                     addl2   $_ldd_1_data,r0
                    563:  541  0001FB68    0d a004 effffffae4                   movl    4(r0),_dbl_ld_acc+4
                    564:  542  0001FB70    0d 60 effffffad9                     movl    (r0),_dbl_ld_acc
                    565:  543  0001FB77                                   #        dbl_expected = ldd_1_data[index].exp;   /* get expected results */
                    566:  544  0001FB77    48 04 effffffad2 50                  shll    $4,_index,r0
                    567:  545  0001FB7F    0c 8f00000008 50                     addl2   $_ldd_1_data+8,r0
                    568:  546  0001FB86    0d a004 effffffac6                   movl    4(r0),_dbl_expected+4
                    569:  547  0001FB8E    0d 60 effffffabb                     movl    (r0),_dbl_expected
                    570:  548  0001FB95                                   # /*
                    571:  549  0001FB95                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    572:  550  0001FB95                                   #  * The force loop flag is set after the first error.
                    573:  551  0001FB95                                   # */
                    574:  552  0001FB95                                   #        asm("_pushd_2_lp1:");
                    575:  553  0001FB95                                  _pushd_2_lp1:
                    576:  554  0001FB95                                   #        asm("ldd _dbl_ld_acc");              /* LOAD the (dbl) value */
                    577:  555  0001FB95    07 effffffab5                 ldd _dbl_ld_acc
                    578:  556  0001FB9B                                   #        asm("loadr $0x1fff,_load_regs");     /* load regs 0 - 12       */
                    579:  557  0001FB9B    ab 891fff effffffaac          loadr $0x1fff,_load_regs
                    580:  558  0001FBA4                                   #        asm("nop");
                    581:  559  0001FBA4    10                            nop
                    582:  560  0001FBA5                                   #        asm("pushd");                        /* push the accumulator   */
                    583:  561  0001FBA5    67                            pushd
                    584:  562  0001FBA6                                   #        asm("nop");
                    585:  563  0001FBA6    10                            nop
                    586:  564  0001FBA7                                   #        asm("storer $0x1fff,_store_regs");   /* store regs 0 - 12 */
                    587:  565  0001FBA7    bb 891fff effffffaa0          storer $0x1fff,_store_regs
                    588:  566  0001FBB0                                   #        if( force_loop )
                    589:  567  0001FBB0    5d effffffa9a                        tstl    _force_loop
                    590:  568  0001FBB6    31 02                                jeql    L281
                    591:  569  0001FBB8                                   #            asm("brb _pushd_2_lp1");;        /* run the loop again      */
                    592:  570  0001FBB8    11 db                         brb _pushd_2_lp1
                    593:  571  0001FBBA                                  L281:
                    594:  572  0001FBBA                                   #        index2 = 0;
                    595:  573  0001FBBA    4d effffffa90                        clrl    _index2
                    596:  574  0001FBC0                                   #        while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
                    597:  575  0001FBC0                                  L282:
                    598:  576  0001FBC0    0d effffffa8a 50                     movl    _index2,r0
                    599:  577  0001FBC7    0d effffffa83 51                     movl    _index2,r1
                    600:  578  0001FBCE    1d 40effffffa7b                      cmpl    _load_regs[r0],_store_regs[r1]
                    601:                   41effffffa75 
                    602:  579  0001FBDB    21 11                                jneq    L283
                    603:  580  0001FBDD    1d effffffa6d 0d                     cmpl    _index2,$13
                    604:  581  0001FBE4    81 08                                jgeq    L283
                    605:  582  0001FBE6                                   #               index2++;                     /* check reg values */
                    606:  583  0001FBE6    6d effffffa64                        incl    _index2
                    607:  584  0001FBEC    11 d2                                jbr     L282
                    608:  585  0001FBEE                                  L283:
                    609:  586  0001FBEE                                   #        if( index2 < 13 ) {                  /* error if index2 < 13 */
                    610:  587  0001FBEE    1d effffffa5c 0d                     cmpl    _index2,$13
                    611:  588  0001FBF5    91 03 13 0123                        jgeq    L284
                    612:  589  0001FBFA                                   #               errcnt++;                             /* bump the error count */
                    613:  590  0001FBFA    6d effffffa50                        incl    _errcnt
                    614:  591  0001FC00                                   #           if ( prt_error ) {
                    615:  592  0001FC00    5d effffffa4a                        tstl    _prt_error
                    616:  593  0001FC06    21 03 13 00ec                        jeql    L285
                    617:  594  0001FC0B                                   #              writes("\ncycle: ");
                    618:  595  0001FC0B                                         .data   1
                    619:  596  00000c2e *                                L286:
                    620:  597  00000c2e *  0A6379636C653A2000                   .ascii  "\12cycle: \0"
                    621:  598  00000c37 *                                       .text
                    622:  599  0001FC0B    dd 8f00000c2e                        pushl   $L286
                    623:  600  0001FC11    fe 08 effffffa38                     callf   $8,_writes
                    624:  601  0001FC18                                   #              writed( cycle );
                    625:  602  0001FC18    dd effffffa32                        pushl   _cycle
                    626:  603  0001FC1E    fe 08 effffffa2b                     callf   $8,_writed
                    627:  604  0001FC25                                   #              writes("  PUSHD test ");
                    628:  605  0001FC25                                         .data   1
                    629:  606  00000c37 *                                L287:
                    630:  607  00000c37 *  2020505553484420746573742            .ascii  "  PUSHD test \0"
                    631:                   000
                    632:  608  00000c45 *                                       .text
                    633:  609  0001FC25    dd 8f00000c37                        pushl   $L287
                    634:  610  0001FC2B    fe 08 effffffa1e                     callf   $8,_writes
                    635:  611  0001FC32                                   #              writed( test_no );
                    636:  612  0001FC32    dd effffffa18                        pushl   _test_no
                    637:  613  0001FC38    fe 08 effffffa11                     callf   $8,_writed
                    638:  614  0001FC3F                                   #              writes(", subtest 2 - A REGISTER WAS MODIFIED\n");
                    639:  615  0001FC3F                                         .data   1
                    640:  616  00000c45 *                                L288:
                    641:  617  00000c45 *  2C20737562746573742032202            .ascii  ", subtest 2 - A REGISTER WAS MODIFIED\12\0"
                    642:                   D204120524547495354455220
                    643:                   574153204D4F4449464945440
                    644:                   A00
                    645:  618  00000c6c *                                       .text
                    646:  619  0001FC3F    dd 8f00000c45                        pushl   $L288
                    647:  620  0001FC45    fe 08 effffffa04                     callf   $8,_writes
                    648:  621  0001FC4C                                   #              print_pushd_data();
                    649:  622  0001FC4C    fe 04 ef000002fd                     callf   $4,_print_pushd_data
                    650:  623  0001FC53                                   #              writes(",  pushed = ");
                    651:  624  0001FC53                                         .data   1
                    652:  625  00000c6c *                                L289:
                    653:  626  00000c6c *  2C2020707573686564203D200            .ascii  ",  pushed = \0"
                    654:                   0
                    655:  627  00000c79 *                                       .text
                    656:  628  0001FC53    dd 8f00000c6c                        pushl   $L289
                    657:  629  0001FC59    fe 08 effffff9f0                     callf   $8,_writes
                    658:  630  0001FC60                                   #                  write32h( dbl_ld_acc.m );
                    659:  631  0001FC60    dd effffff9ea                        pushl   _dbl_ld_acc
                    660:  632  0001FC66    fe 08 effffff9e3                     callf   $8,_write32h
                    661:  633  0001FC6D                                   #                  writec(' ');
                    662:  634  0001FC6D    dd 20                                pushl   $32
                    663:  635  0001FC6F    fe 08 effffff9da                     callf   $8,_writec
                    664:  636  0001FC76                                   #                  write32h( dbl_ld_acc.l );
                    665:  637  0001FC76    dd effffff9d8                        pushl   _dbl_ld_acc+4
                    666:  638  0001FC7C    fe 08 effffff9cd                     callf   $8,_write32h
                    667:  639  0001FC83                                   #                  writec('\n');
                    668:  640  0001FC83    dd 0a                                pushl   $10
                    669:  641  0001FC85    fe 08 effffff9c4                     callf   $8,_writec
                    670:  642  0001FC8C                                   #              writes("register ");          /* print the information   */
                    671:  643  0001FC8C                                         .data   1
                    672:  644  00000c79 *                                L290:
                    673:  645  00000c79 *  72656769737465722000                 .ascii  "register \0"
                    674:  646  00000c83 *                                       .text
                    675:  647  0001FC8C    dd 8f00000c79                        pushl   $L290
                    676:  648  0001FC92    fe 08 effffff9b7                     callf   $8,_writes
                    677:  649  0001FC99                                   #                  writed( index2 );             /*    about the corrupted  */
                    678:  650  0001FC99    dd effffff9b1                        pushl   _index2
                    679:  651  0001FC9F    fe 08 effffff9aa                     callf   $8,_writed
                    680:  652  0001FCA6                                   #                  writes(" = ");                /*        register         */
                    681:  653  0001FCA6                                         .data   1
                    682:  654  00000c83 *                                L291:
                    683:  655  00000c83 *  203D2000                             .ascii  " = \0"
                    684:  656  00000c87 *                                       .text
                    685:  657  0001FCA6    dd 8f00000c83                        pushl   $L291
                    686:  658  0001FCAC    fe 08 effffff99d                     callf   $8,_writes
                    687:  659  0001FCB3                                   #                  write32h( store_regs[index2] );
                    688:  660  0001FCB3    0d effffff997 50                     movl    _index2,r0
                    689:  661  0001FCBA    dd 40effffff98f                      pushl   _store_regs[r0]
                    690:  662  0001FCC1    fe 08 effffff988                     callf   $8,_write32h
                    691:  663  0001FCC8                                   #                  writes(",  should be = ");
                    692:  664  0001FCC8                                         .data   1
                    693:  665  00000c87 *                                L292:
                    694:  666  00000c87 *  2C202073686F756C642062652            .ascii  ",  should be = \0"
                    695:                   03D2000
                    696:  667  00000c97 *                                       .text
                    697:  668  0001FCC8    dd 8f00000c87                        pushl   $L292
                    698:  669  0001FCCE    fe 08 effffff97b                     callf   $8,_writes
                    699:  670  0001FCD5                                   #                  write32h( load_regs[index2] );
                    700:  671  0001FCD5    0d effffff975 50                     movl    _index2,r0
                    701:  672  0001FCDC    dd 40effffff96d                      pushl   _load_regs[r0]
                    702:  673  0001FCE3    fe 08 effffff966                     callf   $8,_write32h
                    703:  674  0001FCEA                                   #                  writes("\n");
                    704:  675  0001FCEA                                         .data   1
                    705:  676  00000c97 *                                L293:
                    706:  677  00000c97 *  0A00                                 .ascii  "\12\0"
                    707:  678  00000c99 *                                       .text
                    708:  679  0001FCEA    dd 8f00000c97                        pushl   $L293
                    709:  680  0001FCF0    fe 08 effffff959                     callf   $8,_writes
                    710:  681  0001FCF7                                   #           }
                    711:  682  0001FCF7                                   #           if ( halt_flg )                   /* halt on error? */
                    712:  683  0001FCF7                                  L285:
                    713:  684  0001FCF7    5d effffff953                        tstl    _halt_flg
                    714:  685  0001FCFD    31 09                                jeql    L294
                    715:  686  0001FCFF                                   #              pushd_er_halt( BAD_REG_HLT );
                    716:  687  0001FCFF    dd 02                                pushl   $2
                    717:  688  0001FD01    fe 08 ef00000280                     callf   $8,_pushd_er_halt
                    718:  689  0001FD08                                   #           if ( loop_on_err ) {
                    719:  690  0001FD08                                  L294:
                    720:  691  0001FD08    5d effffff942                        tstl    _loop_on_err
                    721:  692  0001FD0E    31 0d                                jeql    L295
                    722:  693  0001FD10                                   #              force_loop = TRUE;             /* set the force loop flag */
                    723:  694  0001FD10    0d 01 effffff939                     movl    $1,_force_loop
                    724:  695  0001FD17                                   #              asm("jmp _pushd_2_lp1");               /* and loop */
                    725:  696  0001FD17    71 effffffe78                 jmp _pushd_2_lp1
                    726:  697  0001FD1D                                   #           }  /* end of loop-on-error */
                    727:  698  0001FD1D                                   #        }   /* end of compare error */
                    728:  699  0001FD1D                                  L295:
                    729:  700  0001FD1D                                   #     } while( index++ < max_ldd_1_index );
                    730:  701  0001FD1D                                  L284:
                    731:  702  0001FD1D                                  L278:
                    732:  703  0001FD1D    0d effffff92d 50                     movl    _index,r0
                    733:  704  0001FD24    6d effffff926                        incl    _index
                    734:  705  0001FD2A    1d 50 effffff91f                     cmpl    r0,_max_ldd_1_index
                    735:  706  0001FD31    81 03 13 fe16                        jlss    L279
                    736:  707  0001FD36                                  L277:
                    737:  708  0001FD36                                   # }  /* end of subtest 2 */
                    738:  709  0001FD36    40                                   ret#2
                    739:  710  0001FD37                                         .set    L273,0x0
                    740:  711  0001FD37                                  L275:
                    741:  712  0001FD37    13 fdff                              jbr     L276
                    742:  713  0001FD3A                                         .data
                    743:  714  00000aac *                                       .text
                    744:  715  0001FD3A                                         .align  1
                    745:  716  0001FD3A                                         .globl  _pushd_3
                    746:  717  0001FD3A                                  _pushd_3:
                    747:  718  0001FD3A    0000                                 .word   L296
                    748:  719  0001FD3C                                   #   
                    749:  720  0001FD3C                                   # 
                    750:  721  0001FD3C                                   # 
                    751:  722  0001FD3C                                   # /************************************************************************
                    752:  723  0001FD3C                                   # *
                    753:  724  0001FD3C                                   # *           SUBTEST 3 - PUSHD status test 
                    754:  725  0001FD3C                                   # *
                    755:  726  0001FD3C                                   # ************************************************************************/
                    756:  727  0001FD3C                                   # pushd_3() 
                    757:  728  0001FD3C                                   # {
                    758:  729  0001FD3C    13 020d                              jbr     L298
                    759:  730  0001FD3F                                  L299:
                    760:  731  0001FD3F                                   #     force_loop = FALSE;
                    761:  732  0001FD3F    4d effffff90b                        clrl    _force_loop
                    762:  733  0001FD45                                   #     subtest = 3;
                    763:  734  0001FD45    0d 03 effffff904                     movl    $3,_subtest
                    764:  735  0001FD4C                                   #         index = 0;
                    765:  736  0001FD4C    4d effffff8fe                        clrl    _index
                    766:  737  0001FD52                                   #     do {
                    767:  738  0001FD52                                  L302:
                    768:  739  0001FD52                                   #        dbl_ld_acc   = ldd_1_data[index].ld;  /* get the operand */
                    769:  740  0001FD52    48 04 effffff8f7 50                  shll    $4,_index,r0
                    770:  741  0001FD5A    0c 8f00000000 50                     addl2   $_ldd_1_data,r0
                    771:  742  0001FD61    0d a004 effffff8eb                   movl    4(r0),_dbl_ld_acc+4
                    772:  743  0001FD69    0d 60 effffff8e0                     movl    (r0),_dbl_ld_acc
                    773:  744  0001FD70                                   #        status_index = 0;                     /* clear the status index */
                    774:  745  0001FD70    4d effffff8da                        clrl    _status_index
                    775:  746  0001FD76                                   #        do {
                    776:  747  0001FD76                                  L305:
                    777:  748  0001FD76                                   #            sgl_dummy1 = status_array[status_index]; /* array = +, -, 0  */
                    778:  749  0001FD76    0d effffff8d4 50                     movl    _status_index,r0
                    779:  750  0001FD7D    0d 40effffff8cc                      movl    _status_array[r0],_sgl_dummy1
                    780:                   effffff8c7 
                    781:  751  0001FD89                                   # /*
                    782:  752  0001FD89                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
                    783:  753  0001FD89                                   #  * The force loop flag is set after the first error.
                    784:  754  0001FD89                                   # */
                    785:  755  0001FD89                                   #            asm("_pushd_3_lp1:");
                    786:  756  0001FD89                                  _pushd_3_lp1:
                    787:  757  0001FD89                                   #            asm("ldd _dbl_ld_acc");          /* load the operand        */
                    788:  758  0001FD89    07 effffff8c1                 ldd _dbl_ld_acc
                    789:  759  0001FD8F                                   #            asm("tstl _sgl_dummy1");         /* generate initial status */
                    790:  760  0001FD8F    5d effffff8bb                 tstl _sgl_dummy1
                    791:  761  0001FD95                                   #            asm("movpsl _init_psl");         /* save the initial status */
                    792:  762  0001FD95    cd effffff8b5                 movpsl _init_psl
                    793:  763  0001FD9B                                   #            asm("nop");
                    794:  764  0001FD9B    10                            nop
                    795:  765  0001FD9C                                   #            asm("pushd");                    /* push the accumulator */
                    796:  766  0001FD9C    67                            pushd
                    797:  767  0001FD9D                                   #            asm("nop");
                    798:  768  0001FD9D    10                            nop
                    799:  769  0001FD9E                                   #            asm("movpsl _psl_val");          /* save the final status   */
                    800:  770  0001FD9E    cd effffff8ac                 movpsl _psl_val
                    801:  771  0001FDA4                                   #            asm("std _dbl_st_acc");          /* save the acc            */
                    802:  772  0001FDA4    27 effffff8a6                 std _dbl_st_acc
                    803:  773  0001FDAA                                   #            if( force_loop )                 /* loop?                   */
                    804:  774  0001FDAA    5d effffff8a0                        tstl    _force_loop
                    805:  775  0001FDB0    31 02                                jeql    L306
                    806:  776  0001FDB2                                   #                asm("brb _pushd_3_lp1");;    /* run the loop again      */
                    807:  777  0001FDB2    11 d5                         brb _pushd_3_lp1
                    808:  778  0001FDB4                                  L306:
                    809:  779  0001FDB4                                   #            exp_psl = init_psl;              /* get the initial PSL      */
                    810:  780  0001FDB4    0d effffff896 effffff891             movl    _init_psl,_exp_psl
                    811:  781  0001FDBF                                   #            exp_psl &= 0xfffffff3;           /* clear ZERO, NEGATIVE     */
                    812:  782  0001FDBF    ac 88f3 effffff889                   andl2   $-13,_exp_psl
                    813:  783  0001FDC7                                   #            if( !(dbl_ld_acc.m & 0x7f800000) )
                    814:  784  0001FDC7    3d 8f7f800000 effffff87e             bitl    $2139095040,_dbl_ld_acc
                    815:  785  0001FDD2    21 09                                jneq    L307
                    816:  786  0001FDD4                                   #                exp_psl |= PSL_Z;            /* expect the ZERO bit set  */
                    817:  787  0001FDD4    8c 04 effffff875                     orl2    $4,_exp_psl
                    818:  788  0001FDDB                                   #            else if( dbl_ld_acc.m & 0x80000000 )
                    819:  789  0001FDDB    11 14                                jbr     L308
                    820:  790  0001FDDD                                  L307:
                    821:  791  0001FDDD    3d 8f80000000 effffff868             bitl    $-2147483648,_dbl_ld_acc
                    822:  792  0001FDE8    31 07                                jeql    L309
                    823:  793  0001FDEA                                   #                exp_psl |= PSL_N;            /* expect the NEG bit set   */
                    824:  794  0001FDEA    8c 08 effffff85f                     orl2    $8,_exp_psl
                    825:  795  0001FDF1                                   #            if( psl_val != exp_psl )  {      /* COMPARE the values       */
                    826:  796  0001FDF1                                  L309:
                    827:  797  0001FDF1                                  L308:
                    828:  798  0001FDF1    1d effffff859 effffff854             cmpl    _psl_val,_exp_psl
                    829:  799  0001FDFC    21 03 13 011c                        jeql    L310
                    830:  800  0001FE01                                   #               errcnt++;                     /* bump the error count    */
                    831:  801  0001FE01    6d effffff849                        incl    _errcnt
                    832:  802  0001FE07                                   #               if ( prt_error ) {
                    833:  803  0001FE07    5d effffff843                        tstl    _prt_error
                    834:  804  0001FE0D    21 03 13 00e5                        jeql    L311
                    835:  805  0001FE12                                   #                  writes(" \n");             /* start a new print line   */
                    836:  806  0001FE12                                         .data   1
                    837:  807  00000c99 *                                L312:
                    838:  808  00000c99 *  200A00                               .ascii  " \12\0"
                    839:  809  00000c9c *                                       .text
                    840:  810  0001FE12    dd 8f00000c99                        pushl   $L312
                    841:  811  0001FE18    fe 08 effffff831                     callf   $8,_writes
                    842:  812  0001FE1F                                   #                  writes("cycle: ");
                    843:  813  0001FE1F                                         .data   1
                    844:  814  00000c9c *                                L313:
                    845:  815  00000c9c *  6379636C653A2000                     .ascii  "cycle: \0"
                    846:  816  00000ca4 *                                       .text
                    847:  817  0001FE1F    dd 8f00000c9c                        pushl   $L313
                    848:  818  0001FE25    fe 08 effffff824                     callf   $8,_writes
                    849:  819  0001FE2C                                   #                  writed( cycle );
                    850:  820  0001FE2C    dd effffff81e                        pushl   _cycle
                    851:  821  0001FE32    fe 08 effffff817                     callf   $8,_writed
                    852:  822  0001FE39                                   #                  writes("  PUSHD test ");
                    853:  823  0001FE39                                         .data   1
                    854:  824  00000ca4 *                                L314:
                    855:  825  00000ca4 *  2020505553484420746573742            .ascii  "  PUSHD test \0"
                    856:                   000
                    857:  826  00000cb2 *                                       .text
                    858:  827  0001FE39    dd 8f00000ca4                        pushl   $L314
                    859:  828  0001FE3F    fe 08 effffff80a                     callf   $8,_writes
                    860:  829  0001FE46                                   #                  writed( test_no );
                    861:  830  0001FE46    dd effffff804                        pushl   _test_no
                    862:  831  0001FE4C    fe 08 effffff7fd                     callf   $8,_writed
                    863:  832  0001FE53                                   #                  writes(", subtest 3  - INCORRECT FINAL PSL\n");
                    864:  833  0001FE53                                         .data   1
                    865:  834  00000cb2 *                                L315:
                    866:  835  00000cb2 *  2C20737562746573742033202            .ascii  ", subtest 3  - INCORRECT FINAL PSL\12\0"
                    867:                   02D20494E434F525245435420
                    868:                   46494E414C2050534C0A00
                    869:  836  00000cd6 *                                       .text
                    870:  837  0001FE53    dd 8f00000cb2                        pushl   $L315
                    871:  838  0001FE59    fe 08 effffff7f0                     callf   $8,_writes
                    872:  839  0001FE60                                   #                  print_pushd_data();
                    873:  840  0001FE60    fe 04 ef000000e9                     callf   $4,_print_pushd_data
                    874:  841  0001FE67                                   #                  writes(",  pushed = ");
                    875:  842  0001FE67                                         .data   1
                    876:  843  00000cd6 *                                L316:
                    877:  844  00000cd6 *  2C2020707573686564203D200            .ascii  ",  pushed = \0"
                    878:                   0
                    879:  845  00000ce3 *                                       .text
                    880:  846  0001FE67    dd 8f00000cd6                        pushl   $L316
                    881:  847  0001FE6D    fe 08 effffff7dc                     callf   $8,_writes
                    882:  848  0001FE74                                   #                      write32h( dbl_ld_acc.m );
                    883:  849  0001FE74    dd effffff7d6                        pushl   _dbl_ld_acc
                    884:  850  0001FE7A    fe 08 effffff7cf                     callf   $8,_write32h
                    885:  851  0001FE81                                   #                      writec(' ');
                    886:  852  0001FE81    dd 20                                pushl   $32
                    887:  853  0001FE83    fe 08 effffff7c6                     callf   $8,_writec
                    888:  854  0001FE8A                                   #                      write32h( dbl_ld_acc.l );
                    889:  855  0001FE8A    dd effffff7c4                        pushl   _dbl_ld_acc+4
                    890:  856  0001FE90    fe 08 effffff7b9                     callf   $8,_write32h
                    891:  857  0001FE97                                   #                      writec('\n');
                    892:  858  0001FE97    dd 0a                                pushl   $10
                    893:  859  0001FE99    fe 08 effffff7b0                     callf   $8,_writec
                    894:  860  0001FEA0                                   #                  writes("initial PSL = ");
                    895:  861  0001FEA0                                         .data   1
                    896:  862  00000ce3 *                                L317:
                    897:  863  00000ce3 *  696E697469616C2050534C203            .ascii  "initial PSL = \0"
                    898:                   D2000
                    899:  864  00000cf2 *                                       .text
                    900:  865  0001FEA0    dd 8f00000ce3                        pushl   $L317
                    901:  866  0001FEA6    fe 08 effffff7a3                     callf   $8,_writes
                    902:  867  0001FEAD                                   #                  write32h( init_psl );
                    903:  868  0001FEAD    dd effffff79d                        pushl   _init_psl
                    904:  869  0001FEB3    fe 08 effffff796                     callf   $8,_write32h
                    905:  870  0001FEBA                                   #                  writes(",  final PSL = ");
                    906:  871  0001FEBA                                         .data   1
                    907:  872  00000cf2 *                                L318:
                    908:  873  00000cf2 *  2C202066696E616C2050534C2            .ascii  ",  final PSL = \0"
                    909:                   03D2000
                    910:  874  00000d02 *                                       .text
                    911:  875  0001FEBA    dd 8f00000cf2                        pushl   $L318
                    912:  876  0001FEC0    fe 08 effffff789                     callf   $8,_writes
                    913:  877  0001FEC7                                   #                  write32h( psl_val );
                    914:  878  0001FEC7    dd effffff783                        pushl   _psl_val
                    915:  879  0001FECD    fe 08 effffff77c                     callf   $8,_write32h
                    916:  880  0001FED4                                   #                  writes(",  expected PSL = ");
                    917:  881  0001FED4                                         .data   1
                    918:  882  00000d02 *                                L319:
                    919:  883  00000d02 *  2C20206578706563746564205            .ascii  ",  expected PSL = \0"
                    920:                   0534C203D2000
                    921:  884  00000d15 *                                       .text
                    922:  885  0001FED4    dd 8f00000d02                        pushl   $L319
                    923:  886  0001FEDA    fe 08 effffff76f                     callf   $8,_writes
                    924:  887  0001FEE1                                   #                  write32h( exp_psl );
                    925:  888  0001FEE1    dd effffff769                        pushl   _exp_psl
                    926:  889  0001FEE7    fe 08 effffff762                     callf   $8,_write32h
                    927:  890  0001FEEE                                   #                  writec('\n');
                    928:  891  0001FEEE    dd 0a                                pushl   $10
                    929:  892  0001FEF0    fe 08 effffff759                     callf   $8,_writec
                    930:  893  0001FEF7                                   #               }
                    931:  894  0001FEF7                                   #               if ( halt_flg )                   /* halt on error?      */
                    932:  895  0001FEF7                                  L311:
                    933:  896  0001FEF7    5d effffff753                        tstl    _halt_flg
                    934:  897  0001FEFD    31 09                                jeql    L320
                    935:  898  0001FEFF                                   #                  pushd_er_halt( BAD_PSL_HLT );
                    936:  899  0001FEFF    dd 03                                pushl   $3
                    937:  900  0001FF01    fe 08 ef00000080                     callf   $8,_pushd_er_halt
                    938:  901  0001FF08                                   #               if ( loop_on_err ) {
                    939:  902  0001FF08                                  L320:
                    940:  903  0001FF08    5d effffff742                        tstl    _loop_on_err
                    941:  904  0001FF0E    31 0d                                jeql    L321
                    942:  905  0001FF10                                   #                  force_loop = TRUE;         /* set the force loop flag */
                    943:  906  0001FF10    0d 01 effffff739                     movl    $1,_force_loop
                    944:  907  0001FF17                                   #                  asm("jmp _pushd_3_lp1");   /* and loop                */
                    945:  908  0001FF17    71 effffffe6c                 jmp _pushd_3_lp1
                    946:  909  0001FF1D                                   #               };                            /* end of loop-on-error    */
                    947:  910  0001FF1D                                  L321:
                    948:  911  0001FF1D                                   #            }                                /* end of compare error    */
                    949:  912  0001FF1D                                   #         } while( ++status_index < 3 );
                    950:  913  0001FF1D                                  L310:
                    951:  914  0001FF1D                                  L304:
                    952:  915  0001FF1D    6d effffff72d                        incl    _status_index
                    953:  916  0001FF23    0d effffff727 50                     movl    _status_index,r0
                    954:  917  0001FF2A    1d 50 03                             cmpl    r0,$3
                    955:  918  0001FF2D    81 03 13 fe44                        jlss    L305
                    956:  919  0001FF32                                  L303:
                    957:  920  0001FF32                                   #     } while( index++ < max_ldd_1_index );
                    958:  921  0001FF32                                  L301:
                    959:  922  0001FF32    0d effffff718 50                     movl    _index,r0
                    960:  923  0001FF39    6d effffff711                        incl    _index
                    961:  924  0001FF3F    1d 50 effffff70a                     cmpl    r0,_max_ldd_1_index
                    962:  925  0001FF46    81 03 13 fe07                        jlss    L302
                    963:  926  0001FF4B                                  L300:
                    964:  927  0001FF4B                                   # }  /* end of subtest 3 */
                    965:  928  0001FF4B    40                                   ret#2
                    966:  929  0001FF4C                                         .set    L296,0x0
                    967:  930  0001FF4C                                  L298:
                    968:  931  0001FF4C    13 fdf0                              jbr     L299
                    969:  932  0001FF4F                                         .data
                    970:  933  00000aac *                                       .text
                    971:  934  0001FF4F    00                                   .align  1
                    972:  935  0001FF50                                         .globl  _print_pushd_data
                    973:  936  0001FF50                                  _print_pushd_data:
                    974:  937  0001FF50    0000                                 .word   L322
                    975:  938  0001FF52                                   #   
                    976:  939  0001FF52                                   # 
                    977:  940  0001FF52                                   # 
                    978:  941  0001FF52                                   # /**************************************************************************
                    979:  942  0001FF52                                   # *
                    980:  943  0001FF52                                   # *       PRINT THE DATA AND STORE RESULTS
                    981:  944  0001FF52                                   # *
                    982:  945  0001FF52                                   # * initial Acc = xxxxxxxx xxxxxxxx,    stored = xxxxxxxx xxxxxxxx,  index = xx
                    983:  946  0001FF52                                   # *     operand = xxxxxxxx xxxxxxxx,  expected = xxxxxxxx xxxxxxxx
                    984:  947  0001FF52                                   # **************************************************************************/
                    985:  948  0001FF52                                   # print_pushd_data()
                    986:  949  0001FF52                                   # {
                    987:  950  0001FF52    11 31                                jbr     L324
                    988:  951  0001FF54                                  L325:
                    989:  952  0001FF54                                   #         writes("initial Acc = ");
                    990:  953  0001FF54                                         .data   1
                    991:  954  00000d15 *                                L326:
                    992:  955  00000d15 *  696E697469616C20416363203            .ascii  "initial Acc = \0"
                    993:                   D2000
                    994:  956  00000d24 *                                       .text
                    995:  957  0001FF54    dd 8f00000d15                        pushl   $L326
                    996:  958  0001FF5A    fe 08 effffff6ef                     callf   $8,_writes
                    997:  959  0001FF61                                   #         write32h( dbl_ld_acc.m );
                    998:  960  0001FF61    dd effffff6e9                        pushl   _dbl_ld_acc
                    999:  961  0001FF67    fe 08 effffff6e2                     callf   $8,_write32h
                   1000:  962  0001FF6E                                   #         writec(' ');
                   1001:  963  0001FF6E    dd 20                                pushl   $32
                   1002:  964  0001FF70    fe 08 effffff6d9                     callf   $8,_writec
                   1003:  965  0001FF77                                   #         write32h( dbl_ld_acc.l );
                   1004:  966  0001FF77    dd effffff6d7                        pushl   _dbl_ld_acc+4
                   1005:  967  0001FF7D    fe 08 effffff6cc                     callf   $8,_write32h
                   1006:  968  0001FF84                                   # }
                   1007:  969  0001FF84    40                                   ret#2
                   1008:  970  0001FF85                                         .set    L322,0x0
                   1009:  971  0001FF85                                  L324:
                   1010:  972  0001FF85    11 cd                                jbr     L325
                   1011:  973  0001FF87                                         .data
                   1012:  974  00000aac *                                       .text
                   1013:  975  0001FF87    00                                   .align  1
                   1014:  976  0001FF88                                         .globl  _pushd_er_halt
                   1015:  977  0001FF88                                  _pushd_er_halt:
                   1016:  978  0001FF88    0000                                 .word   L327
                   1017:  979  0001FF8A                                   #   
                   1018:  980  0001FF8A                                   # 
                   1019:  981  0001FF8A                                   # 
                   1020:  982  0001FF8A                                   # /**************************************************************************
                   1021:  983  0001FF8A                                   # *
                   1022:  984  0001FF8A                                   # *               HALT ON ERROR ROUTINE 
                   1023:  985  0001FF8A                                   # *
                   1024:  986  0001FF8A                                   # **************************************************************************/
                   1025:  987  0001FF8A                                   # pushd_er_halt( halt_code )
                   1026:  988  0001FF8A                                   # int halt_code;
                   1027:  989  0001FF8A                                   # {
                   1028:  990  0001FF8A    13 0169                              jbr     L329
                   1029:  991  0001FF8D                                  L330:
                   1030:  992  0001FF8D                                   #         sgl_value_1 = dbl_ld_acc.m;
                   1031:  993  0001FF8D    0d effffff6bd effffff6b8             movl    _dbl_ld_acc,_sgl_value_1
                   1032:  994  0001FF98                                   #         sgl_value_2 = dbl_ld_acc.l;
                   1033:  995  0001FF98    0d effffff6b6 effffff6ad             movl    _dbl_ld_acc+4,_sgl_value_2
                   1034:  996  0001FFA3                                   #         sgl_value_3 = dbl_st_acc.m;
                   1035:  997  0001FFA3    0d effffff6a7 effffff6a2             movl    _dbl_st_acc,_sgl_value_3
                   1036:  998  0001FFAE                                   #         sgl_value_4 = dbl_st_acc.l;
                   1037:  999  0001FFAE    0d effffff6a0 effffff697             movl    _dbl_st_acc+4,_sgl_value_4
                   1038: 1000  0001FFB9                                   #         sgl_value_5 = pop_val_1;
                   1039: 1001  0001FFB9    0d effffff691 effffff68c             movl    _pop_val_1,_sgl_value_5
                   1040: 1002  0001FFC4                                   #         sgl_value_6 = pop_val_2;
                   1041: 1003  0001FFC4    0d effffff686 effffff681             movl    _pop_val_2,_sgl_value_6
                   1042: 1004  0001FFCF                                   #         sgl_dummy1 = halt_code;                 /* get the error type    */
                   1043: 1005  0001FFCF    0d ad04 effffff679                   movl    4(fp),_sgl_dummy1
                   1044: 1006  0001FFD7                                   #         asm("movl _test_no,r0");                /* r0  = test number     */
                   1045: 1007  0001FFD7    0d effffff673 50              movl _test_no,r0
                   1046: 1008  0001FFDE                                   #         asm("movl _subtest,r1");                /* r1  = subtest number  */
                   1047: 1009  0001FFDE    0d effffff66c 51              movl _subtest,r1
                   1048: 1010  0001FFE5                                   #         asm("movl _sgl_dummy1,r2");             /* r2  = error code      */
                   1049: 1011  0001FFE5    0d effffff665 52              movl _sgl_dummy1,r2
                   1050: 1012  0001FFEC                                   #         asm("movl _cycle,r3");                  /* r3  = cycle count     */
                   1051: 1013  0001FFEC    0d effffff65e 53              movl _cycle,r3
                   1052: 1014  0001FFF3                                   #         asm("movl _sgl_value_1,r4");            /* r4  = MS loaded       */
                   1053: 1015  0001FFF3    0d effffff657 54              movl _sgl_value_1,r4
                   1054: 1016  0001FFFA                                   #         asm("movl _sgl_value_2,r5");            /* r5  = LS loaded       */
                   1055: 1017  0001FFFA    0d effffff650 55              movl _sgl_value_2,r5
                   1056: 1018  00020001                                   #         asm("movl _sgl_value_3,r6");            /* r6  = MS stored       */
                   1057: 1019  00020001    0d effffff649 56              movl _sgl_value_3,r6
                   1058: 1020  00020008                                   #         asm("movl _sgl_value_4,r7");            /* r7  = LS stored       */
                   1059: 1021  00020008    0d effffff642 57              movl _sgl_value_4,r7
                   1060: 1022  0002000F                                   #         asm("movl _sgl_value_5,r8");            /* r8  = MS popped       */
                   1061: 1023  0002000F    0d effffff63b 58              movl _sgl_value_5,r8
                   1062: 1024  00020016                                   #         asm("movl _sgl_value_6,r9");            /* r9  = LS popped       */
                   1063: 1025  00020016    0d effffff634 59              movl _sgl_value_6,r9
                   1064: 1026  0002001D                                   #         if( halt_code == BAD_ACC_HLT ) {
                   1065: 1027  0002001D    1d ad04 01                           cmpl    4(fp),$1
                   1066: 1028  00020021    21 2e                                jneq    L331
                   1067: 1029  00020023                                   #              sgl_value_1 = dbl_expected.m;
                   1068: 1030  00020023    0d effffff627 effffff622             movl    _dbl_expected,_sgl_value_1
                   1069: 1031  0002002E                                   #              sgl_value_2 = dbl_expected.l;
                   1070: 1032  0002002E    0d effffff620 effffff617             movl    _dbl_expected+4,_sgl_value_2
                   1071: 1033  00020039                                   #              asm("movl _sgl_value_1,r10");      /* r10 = MS expected     */
                   1072: 1034  00020039    0d effffff611 5a              movl _sgl_value_1,r10
                   1073: 1035  00020040                                   #              asm("movl _sgl_value_2,r11");      /* r11 = LS expected     */
                   1074: 1036  00020040    0d effffff60a 5b              movl _sgl_value_2,r11
                   1075: 1037  00020047                                   #              asm("movl _index,r12");            /* r12 = data index      */
                   1076: 1038  00020047    0d effffff603 5c              movl _index,r12
                   1077: 1039  0002004E                                   #         } else 
                   1078: 1040  0002004E    13 00a3                              jbr     L332
                   1079: 1041  00020051                                  L331:
                   1080: 1042  00020051                                   #           if( halt_code == BAD_REG_HLT ) {
                   1081: 1043  00020051    1d ad04 02                           cmpl    4(fp),$2
                   1082: 1044  00020055    21 3d                                jneq    L333
                   1083: 1045  00020057                                   #              sgl_dummy1 = load_regs[index2];
                   1084: 1046  00020057    0d effffff5f3 50                     movl    _index2,r0
                   1085: 1047  0002005E    0d 40effffff5eb                      movl    _load_regs[r0],_sgl_dummy1
                   1086:                   effffff5e6 
                   1087: 1048  0002006A                                   #              sgl_dummy2 = store_regs[index2];
                   1088: 1049  0002006A    0d effffff5e0 50                     movl    _index2,r0
                   1089: 1050  00020071    0d 40effffff5d8                      movl    _store_regs[r0],_sgl_dummy2
                   1090:                   effffff5d3 
                   1091: 1051  0002007D                                   #              asm("movl _index2,r11");           /* r11 = bad register #  */
                   1092: 1052  0002007D    0d effffff5cd 5b              movl _index2,r11
                   1093: 1053  00020084                                   #              asm("movl _sgl_dummy2,r12");       /* r12 = actual value    */
                   1094: 1054  00020084    0d effffff5c6 5c              movl _sgl_dummy2,r12
                   1095: 1055  0002008B                                   #              asm("movl _sgl_dummy1,r13");       /* r13 = expected value  */
                   1096: 1056  0002008B    0d effffff5bf 5d              movl _sgl_dummy1,r13
                   1097: 1057  00020092                                   #         } else
                   1098: 1058  00020092    11 60                                jbr     L334
                   1099: 1059  00020094                                  L333:
                   1100: 1060  00020094                                   #           if( halt_code == BAD_PSL_HLT ) {
                   1101: 1061  00020094    1d ad04 03                           cmpl    4(fp),$3
                   1102: 1062  00020098    21 17                                jneq    L335
                   1103: 1063  0002009A                                   #              asm("movl _init_psl,r11");         /* r11 = initial PSL     */
                   1104: 1064  0002009A    0d effffff5b0 5b              movl _init_psl,r11
                   1105: 1065  000200A1                                   #              asm("movl _psl_val,r12");          /* r12 = final PSL       */
                   1106: 1066  000200A1    0d effffff5a9 5c              movl _psl_val,r12
                   1107: 1067  000200A8                                   #              asm("movl _exp_psl,r13");          /* r13 = expected PSL    */
                   1108: 1068  000200A8    0d effffff5a2 5d              movl _exp_psl,r13
                   1109: 1069  000200AF                                   #         } else
                   1110: 1070  000200AF    11 43                                jbr     L336
                   1111: 1071  000200B1                                  L335:
                   1112: 1072  000200B1                                   #           if( halt_code == BAD_STORE_HLT ) {
                   1113: 1073  000200B1    1d ad04 09                           cmpl    4(fp),$9
                   1114: 1074  000200B5    21 2d                                jneq    L337
                   1115: 1075  000200B7                                   #              sgl_value_1 = dbl_expected.m;
                   1116: 1076  000200B7    0d effffff593 effffff58e             movl    _dbl_expected,_sgl_value_1
                   1117: 1077  000200C2                                   #              sgl_value_2 = dbl_expected.l;
                   1118: 1078  000200C2    0d effffff58c effffff583             movl    _dbl_expected+4,_sgl_value_2
                   1119: 1079  000200CD                                   #              asm("movl _sgl_value_1,r10");      /* r10 = MS expected     */
                   1120: 1080  000200CD    0d effffff57d 5a              movl _sgl_value_1,r10
                   1121: 1081  000200D4                                   #              asm("movl _sgl_value_2,r11");      /* r11 = LS expected     */
                   1122: 1082  000200D4    0d effffff576 5b              movl _sgl_value_2,r11
                   1123: 1083  000200DB                                   #              asm("movl _index,r12");            /* r12 = data index      */
                   1124: 1084  000200DB    0d effffff56f 5c              movl _index,r12
                   1125: 1085  000200E2                                   #         } else
                   1126: 1086  000200E2    11 10                                jbr     L338
                   1127: 1087  000200E4                                  L337:
                   1128: 1088  000200E4                                   #           if( halt_code == PUSH_CNT_HLT ) {
                   1129: 1089  000200E4    1d ad04 08                           cmpl    4(fp),$8
                   1130: 1090  000200E8    21 0a                                jneq    L339
                   1131: 1091  000200EA                                   #              asm("movl _sgl_value_7,r10");       /* r10 = num words push  */
                   1132: 1092  000200EA    0d effffff560 5a              movl _sgl_value_7,r10
                   1133: 1093  000200F1                                   #              asm("movl $2,r11");                /* r11 = num words exp   */
                   1134: 1094  000200F1    0d 02 5b                      movl $2,r11
                   1135: 1095  000200F4                                   #         };
                   1136: 1096  000200F4                                  L339:
                   1137: 1097  000200F4                                  L338:
                   1138: 1098  000200F4                                  L336:
                   1139: 1099  000200F4                                  L334:
                   1140: 1100  000200F4                                  L332:
                   1141: 1101  000200F4                                   #         asm("halt");                            /* HALT ...              */
                   1142: 1102  000200F4    00                            halt
                   1143: 1103  000200F5                                   # }  
                   1144: 1104  000200F5    40                                   ret#2
                   1145: 1105  000200F6                                         .set    L327,0x0
                   1146: 1106  000200F6                                  L329:
                   1147: 1107  000200F6    13 fe94                              jbr     L330
                   1148: 1108  000200F9                                         .data
                   1149: 1108  0003F749                                         .data

unix.superglobalmegacorp.com

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