File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / macro4 / negf.lst
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:30:56 2019 UTC (7 years ago) by root
Branches: bsd, MAIN
CVS tags: v121, HEAD
Power 6/32 Unix version 1.21

   1  00000000                                  LL0:
   2  00000000                                  	.data
   3  000008c8 *                                	.text
   4  00000000                                  	.align	1
   5  00000000                                  	.globl	_negf
   6  00000000                                  _negf:
   7  0001114C    0000                          	.word	L215
   8  0001114E                                   # 
   9  0001114E                                   # #include "fpp_defs.h"
  10  0001114E                                   # 
  11  0001114E                                   # 
  12  0001114E                                   # /*****************************************************************************
  13  0001114E                                   # *
  14  0001114E                                   # *               NEGF - SINGLE PRECISION FLOATING POINT LOAD_NEGATE TEST
  15  0001114E                                   # *
  16  0001114E                                   # *****************************************************************************/
  17  0001114E                                   # negf()
  18  0001114E                                   # {
  19  0001114E    11 50                         	jbr 	L217
  20  00011150                                  L218:
  21  00011150                                   #         asm(".globl _negf_t");
  22  00011150                                  .globl _negf_t
  23  00011150                                   #         asm("_negf_t:");                        /* entry address              */
  24  00011150                                  _negf_t:
  25  00011150                                   #         if( ( cycle == 1 ) && ( prt_hdrs ) )    /* print headers on 1st pass  */
  26  00011150    1d effffffff6 01              	cmpl	_cycle,$1
  27  00011157    21 15                         	jneq	L219
  28  00011159    5d efffffffed                 	tstl	_prt_hdrs
  29  0001115F    31 0d                         	jeql	L219
  30  00011161                                   #            writes(" NEGF");
  31  00011161                                  	.data	1
  32  000008c8 *                                L221:
  33  000008c8 *  204E45474600                  	.ascii	" NEGF\0"
  34  000008ce *                                	.text
  35  00011161    dd 8f000008c8                 	pushl	$L221
  36  00011167    fe 08 efffffffde              	callf	$8,_writes
  37  0001116E                                   #         negf_1();                               /* negate through the cache   */
  38  0001116E                                  L219:
  39  0001116E    fe 04 ef0000002d              	callf	$4,_negf_1
  40  00011175                                   #         negf_2();                               /* register stability         */
  41  00011175    fe 04 ef0000018a              	callf	$4,_negf_2
  42  0001117C                                   #         negf_3();                               /* PSL stability test         */
  43  0001117C    fe 04 ef00000323              	callf	$4,_negf_3
  44  00011183                                   # 	if( !no_fpp_wcs ) {
  45  00011183    5d efffffffc3                 	tstl	_no_fpp_wcs
  46  00011189    21 0e                         	jneq	L225
  47  0001118B                                   #              negf_4();                          /* pipelined entry test       */
  48  0001118B    fe 04 ef000004c0              	callf	$4,_negf_4
  49  00011192                                   #              negf_5();                          /* pipelined exit test        */
  50  00011192    fe 04 ef00000623              	callf	$4,_negf_5
  51  00011199                                   #         };
  52  00011199                                  L225:
  53  00011199                                   # 	asm("jmp *return");                     /* return to the test monitor */
  54  00011199    71 ffffffffad                 jmp *return
  55  0001119F                                   # }
  56  0001119F    40                            	ret#2
  57  000111A0                                  	.set	L215,0x0
  58  000111A0                                  L217:
  59  000111A0    11 ae                         	jbr 	L218
  60  000111A2                                  	.data
  61  000008c8 *                                	.text
  62  000111A2                                  	.align	1
  63  000111A2                                  	.globl	_negf_1
  64  000111A2                                  _negf_1:
  65  000111A2    0000                          	.word	L228
  66  000111A4                                   #  
  67  000111A4                                   # 
  68  000111A4                                   # 
  69  000111A4                                   # /************************************************************************
  70  000111A4                                   # *
  71  000111A4                                   # *               SUBTEST 1 - negate through memory
  72  000111A4                                   # *
  73  000111A4                                   # ************************************************************************/
  74  000111A4                                   # negf_1() 
  75  000111A4                                   # {
  76  000111A4    13 015c                       	jbr 	L230
  77  000111A7                                  L231:
  78  000111A7                                   #         force_loop = FALSE;
  79  000111A7    4d efffffff9f                 	clrl	_force_loop
  80  000111AD                                   #         subtest = 1;
  81  000111AD    0d 01 efffffff98              	movl	$1,_subtest
  82  000111B4                                   #         for( index = 0; index < max_lnf_1_index; index++ ) {
  83  000111B4    4d efffffff92                 	clrl	_index
  84  000111BA                                  L234:
  85  000111BA    1d efffffff8c efffffff87      	cmpl	_index,_max_lnf_1_index
  86  000111C5    91 03 13 0138                 	jgeq	L233
  87  000111CA                                   #              sgl_ld_acc   = lnf_1_data[index].ld;   /* get value to negate */
  88  000111CA    0d efffffff7c 50              	movl	_index,r0
  89  000111D1    48 03 50 50                   	shll	$3,r0,r0
  90  000111D5    0d e000000000 efffffff6c      	movl	_lnf_1_data(r0),_sgl_ld_acc
  91  000111E0                                   #              sgl_expected = lnf_1_data[index].exp;  /* get expected result */
  92  000111E0    0d efffffff66 50              	movl	_index,r0
  93  000111E7    48 03 50 50                   	shll	$3,r0,r0
  94  000111EB    0d e000000004 efffffff56      	movl	_lnf_1_data+4(r0),_sgl_expected
  95  000111F6                                   # /*
  96  000111F6                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
  97  000111F6                                   #  * The force loop flag is set after the first error.
  98  000111F6                                   # */
  99  000111F6                                   #              asm("_negf_1_lp1:");
 100  000111F6                                  _negf_1_lp1:
 101  000111F6                                   #              asm("ldf _sgl_ld_acc");            /* load the value          */
 102  000111F6    06 efffffff50                 ldf _sgl_ld_acc
 103  000111FC                                   #              asm("negf");                       /* negate the value        */
 104  000111FC    b6                            negf
 105  000111FD                                   #              asm("stf _sgl_st_acc");            /* store the result        */
 106  000111FD    26 efffffff49                 stf _sgl_st_acc
 107  00011203                                   #              if( force_loop )
 108  00011203    5d efffffff43                 	tstl	_force_loop
 109  00011209    31 02                         	jeql	L235
 110  0001120B                                   #                   asm("brb _negf_1_lp1");;      /* loop on the error       */
 111  0001120B    11 e9                         brb _negf_1_lp1
 112  0001120D                                  L235:
 113  0001120D                                   # /* 
 114  0001120D                                   #  * end error loop - test the results
 115  0001120D                                   # */
 116  0001120D                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
 117  0001120D    1d efffffff39 efffffff34      	cmpl	_sgl_st_acc,_sgl_expected
 118  00011218    21 03 13 00dc                 	jeql	L236
 119  0001121D                                   #                    errcnt++;                    /* bump the error count   */
 120  0001121D    6d efffffff29                 	incl	_errcnt
 121  00011223                                   #                    if( prt_error ) {
 122  00011223    5d efffffff23                 	tstl	_prt_error
 123  00011229    21 03 13 00a8                 	jeql	L237
 124  0001122E                                   #                         writes(" \n");      /* start a new print line */
 125  0001122E                                  	.data	1
 126  000008ce *                                L238:
 127  000008ce *  200A00                        	.ascii	" \12\0"
 128  000008d1 *                                	.text
 129  0001122E    dd 8f000008ce                 	pushl	$L238
 130  00011234    fe 08 efffffff11              	callf	$8,_writes
 131  0001123B                                   #                         writes("cycle: ");
 132  0001123B                                  	.data	1
 133  000008d1 *                                L239:
 134  000008d1 *  6379636C653A2000              	.ascii	"cycle: \0"
 135  000008d9 *                                	.text
 136  0001123B    dd 8f000008d1                 	pushl	$L239
 137  00011241    fe 08 efffffff04              	callf	$8,_writes
 138  00011248                                   #                         writed( cycle );
 139  00011248    dd effffffefe                 	pushl	_cycle
 140  0001124E    fe 08 effffffef7              	callf	$8,_writed
 141  00011255                                   #                         writes("  NEGF test ");
 142  00011255                                  	.data	1
 143  000008d9 *                                L241:
 144  000008d9 *  20204E4547462074657374200     	.ascii	"  NEGF test \0"
                  0
 145  000008e6 *                                	.text
 146  00011255    dd 8f000008d9                 	pushl	$L241
 147  0001125B    fe 08 effffffeea              	callf	$8,_writes
 148  00011262                                   # 			writed( test_no );
 149  00011262    dd effffffee4                 	pushl	_test_no
 150  00011268    fe 08 effffffedd              	callf	$8,_writed
 151  0001126F                                   # 			writes(", subtest 1 (Cache Data) - BAD FINAL ACC\n");
 152  0001126F                                  	.data	1
 153  000008e6 *                                L242:
 154  000008e6 *  2C20737562746573742031202     	.ascii	", subtest 1 (Cache Data) - BAD FINAL ACC\12\0"
                  8436163686520446174612920
                  2D204241442046494E414C204
                  143430A00
 155  00000910 *                                	.text
 156  0001126F    dd 8f000008e6                 	pushl	$L242
 157  00011275    fe 08 effffffed0              	callf	$8,_writes
 158  0001127C                                   #                         print_negf_data();
 159  0001127C    fe 04 ef000006a3              	callf	$4,_print_negf_data
 160  00011283                                   #                         writes(",   data index = ");
 161  00011283                                  	.data	1
 162  00000910 *                                L244:
 163  00000910 *  2C2020206461746120696E646     	.ascii	",   data index = \0"
                  578203D2000
 164  00000922 *                                	.text
 165  00011283    dd 8f00000910                 	pushl	$L244
 166  00011289    fe 08 effffffebc              	callf	$8,_writes
 167  00011290                                   #                         writed( index );
 168  00011290    dd effffffeb6                 	pushl	_index
 169  00011296    fe 08 effffffeaf              	callf	$8,_writed
 170  0001129D                                   #                         writec('\n');
 171  0001129D    dd 0a                         	pushl	$10
 172  0001129F    fe 08 effffffea6              	callf	$8,_writec
 173  000112A6                                   #                         writes("                      ");
 174  000112A6                                  	.data	1
 175  00000922 *                                L246:
 176  00000922 *  2020202020202020202020202     	.ascii	"                      \0"
                  020202020202020202000
 177  00000939 *                                	.text
 178  000112A6    dd 8f00000922                 	pushl	$L246
 179  000112AC    fe 08 effffffe99              	callf	$8,_writes
 180  000112B3                                   #                         writes("Acc expected = ");
 181  000112B3                                  	.data	1
 182  00000939 *                                L247:
 183  00000939 *  4163632065787065637465642     	.ascii	"Acc expected = \0"
                  03D2000
 184  00000949 *                                	.text
 185  000112B3    dd 8f00000939                 	pushl	$L247
 186  000112B9    fe 08 effffffe8c              	callf	$8,_writes
 187  000112C0                                   #                         write32h( sgl_expected );
 188  000112C0    dd effffffe86                 	pushl	_sgl_expected
 189  000112C6    fe 08 effffffe7f              	callf	$8,_write32h
 190  000112CD                                   #                         writec('\n');
 191  000112CD    dd 0a                         	pushl	$10
 192  000112CF    fe 08 effffffe76              	callf	$8,_writec
 193  000112D6                                   #                    }
 194  000112D6                                   #                    if( halt_flg ) 
 195  000112D6                                  L237:
 196  000112D6    5d effffffe70                 	tstl	_halt_flg
 197  000112DC    31 09                         	jeql	L249
 198  000112DE                                   #                         negf_er_halt( BAD_ACC_HLT );    /* halt on the error */
 199  000112DE    dd 01                         	pushl	$1
 200  000112E0    fe 08 ef0000067b              	callf	$8,_negf_er_halt
 201  000112E7                                   #                    if( loop_on_err ) {
 202  000112E7                                  L249:
 203  000112E7    5d effffffe5f                 	tstl	_loop_on_err
 204  000112ED    31 0a                         	jeql	L251
 205  000112EF                                   #                         force_loop = TRUE;        /* set the force loop flag */
 206  000112EF    0d 01 effffffe56              	movl	$1,_force_loop
 207  000112F6                                   #                         asm("brw _negf_1_lp1");;  /* and loop on the error   */
 208  000112F6    13 fefd                       brw _negf_1_lp1
 209  000112F9                                   #                    }   /* end of loop on error */
 210  000112F9                                   #              }   /* end of compare error */
 211  000112F9                                  L251:
 212  000112F9                                   #         }  /* end of WHILE loop */
 213  000112F9                                  L236:
 214  000112F9                                  L232:
 215  000112F9    6d effffffe4d                 	incl	_index
 216  000112FF    13 feb8                       	jbr 	L234
 217  00011302                                  L233:
 218  00011302                                   # }  /* end of subtest 1 */
 219  00011302    40                            	ret#2
 220  00011303                                  	.set	L228,0x0
 221  00011303                                  L230:
 222  00011303    13 fea1                       	jbr 	L231
 223  00011306                                  	.data
 224  000008c8 *                                	.text
 225  00011306                                  	.align	1
 226  00011306                                  	.globl	_negf_2
 227  00011306                                  _negf_2:
 228  00011306    0000                          	.word	L252
 229  00011308                                   #  
 230  00011308                                   # 
 231  00011308                                   # 
 232  00011308                                   # /************************************************************************
 233  00011308                                   # *
 234  00011308                                   # *       SUBTEST 2 - Check for register corruption 
 235  00011308                                   # *
 236  00011308                                   # ************************************************************************/
 237  00011308                                   # negf_2() 
 238  00011308                                   # {
 239  00011308    13 0197                       	jbr 	L254
 240  0001130B                                  L255:
 241  0001130B                                   #         force_loop = FALSE;                     /* clear force_loop flg */
 242  0001130B    4d effffffe3b                 	clrl	_force_loop
 243  00011311                                   #         subtest = 2;
 244  00011311    0d 02 effffffe34              	movl	$2,_subtest
 245  00011318                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
 246  00011318    dd 8f00000000                 	pushl	$_load_regs
 247  0001131E    fe 08 effffffe27              	callf	$8,_fill_reg_buf
 248  00011325                                   #         index = 0;
 249  00011325    4d effffffe21                 	clrl	_index
 250  0001132B                                   #         sgl_ld_acc   = lnf_1_data[0].ld;       /* get value to negate */
 251  0001132B    0d effffffe1b effffffe16      	movl	_lnf_1_data,_sgl_ld_acc
 252  00011336                                   #         sgl_expected = lnf_1_data[0].exp;      /* get expected result */
 253  00011336    0d effffffe14 effffffe0b      	movl	_lnf_1_data+4,_sgl_expected
 254  00011341                                   # /*
 255  00011341                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 256  00011341                                   #  * The force loop flag is set after the first error.
 257  00011341                                   # */
 258  00011341                                   #         asm("_negf_2_lp1:");
 259  00011341                                  _negf_2_lp1:
 260  00011341                                   #         asm("ldf _sgl_ld_acc");                 /* load the initial value */
 261  00011341    06 effffffe05                 ldf _sgl_ld_acc
 262  00011347                                   #         asm("nop");
 263  00011347    10                            nop
 264  00011348                                   #         asm("loadr $0x1fff,_load_regs");        /* load regs 0 - 12      */
 265  00011348    ab 891fff effffffdfb          loadr $0x1fff,_load_regs
 266  00011351                                   #         asm("nop");
 267  00011351    10                            nop
 268  00011352                                   #         asm("negf");                            /* negate the value      */
 269  00011352    b6                            negf
 270  00011353                                   #         asm("nop");
 271  00011353    10                            nop
 272  00011354                                   #         asm("storer $0x1fff,_store_regs");      /* store regs 0 - 12 */
 273  00011354    bb 891fff effffffdef          storer $0x1fff,_store_regs
 274  0001135D                                   #         asm("stf _sgl_st_acc");                 /* save the accumulator  */
 275  0001135D    26 effffffde9                 stf _sgl_st_acc
 276  00011363                                   #         if( force_loop )
 277  00011363    5d effffffde3                 	tstl	_force_loop
 278  00011369    31 02                         	jeql	L257
 279  0001136B                                   #              asm("brb _negf_2_lp1");;           /* loop on the error     */
 280  0001136B    11 d4                         brb _negf_2_lp1
 281  0001136D                                  L257:
 282  0001136D                                   # /*
 283  0001136D                                   #  * Now compare the stored register values to those that were loaded
 284  0001136D                                   # */
 285  0001136D                                   #         index2 = 0;
 286  0001136D    4d effffffdd9                 	clrl	_index2
 287  00011373                                   #         while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
 288  00011373                                  L258:
 289  00011373    0d effffffdd3 50              	movl	_index2,r0
 290  0001137A    0d effffffdcc 51              	movl	_index2,r1
 291  00011381    1d 40effffffdc4               	cmpl	_load_regs[r0],_store_regs[r1]
                  41effffffdbe 
 292  0001138E    21 11                         	jneq	L259
 293  00011390    1d effffffdb6 0d              	cmpl	_index2,$13
 294  00011397    81 08                         	jgeq	L259
 295  00011399                                   #              index2++;                          /* check reg values        */
 296  00011399    6d effffffdad                 	incl	_index2
 297  0001139F    11 d2                         	jbr 	L258
 298  000113A1                                  L259:
 299  000113A1                                   #         if( index2 < 13 ) {                     /* error if index2 < 13    */
 300  000113A1    1d effffffda5 0d              	cmpl	_index2,$13
 301  000113A8    91 03 13 00f4                 	jgeq	L260
 302  000113AD                                   #              errcnt++;                          /* bump the error count    */
 303  000113AD    6d effffffd99                 	incl	_errcnt
 304  000113B3                                   #              if( prt_error ) {
 305  000113B3    5d effffffd93                 	tstl	_prt_error
 306  000113B9    21 03 13 00c0                 	jeql	L261
 307  000113BE                                   #                   writes(" \n");           /* start a new print line  */
 308  000113BE                                  	.data	1
 309  00000949 *                                L262:
 310  00000949 *  200A00                        	.ascii	" \12\0"
 311  0000094c *                                	.text
 312  000113BE    dd 8f00000949                 	pushl	$L262
 313  000113C4    fe 08 effffffd81              	callf	$8,_writes
 314  000113CB                                   #                   writes("cycle: ");
 315  000113CB                                  	.data	1
 316  0000094c *                                L263:
 317  0000094c *  6379636C653A2000              	.ascii	"cycle: \0"
 318  00000954 *                                	.text
 319  000113CB    dd 8f0000094c                 	pushl	$L263
 320  000113D1    fe 08 effffffd74              	callf	$8,_writes
 321  000113D8                                   #                   writed( cycle );
 322  000113D8    dd effffffd6e                 	pushl	_cycle
 323  000113DE    fe 08 effffffd67              	callf	$8,_writed
 324  000113E5                                   #                   writes("  NEGF test ");
 325  000113E5                                  	.data	1
 326  00000954 *                                L264:
 327  00000954 *  20204E4547462074657374200     	.ascii	"  NEGF test \0"
                  0
 328  00000961 *                                	.text
 329  000113E5    dd 8f00000954                 	pushl	$L264
 330  000113EB    fe 08 effffffd5a              	callf	$8,_writes
 331  000113F2                                   # 		  writed( test_no );
 332  000113F2    dd effffffd54                 	pushl	_test_no
 333  000113F8    fe 08 effffffd4d              	callf	$8,_writed
 334  000113FF                                   # 	  writes(", subtest 2 (Reg. Corr.) - A REGISTER WAS MODIFIED\n");
 335  000113FF                                  	.data	1
 336  00000961 *                                L265:
 337  00000961 *  2C20737562746573742032202     	.ascii	", subtest 2 (Reg. Corr.) - A REGISTER WAS MODIFIED\12\0"
                  85265672E20436F72722E2920
                  2D20412052454749535445522
                  0574153204D4F444946494544
                  0A00
 338  00000995 *                                	.text
 339  000113FF    dd 8f00000961                 	pushl	$L265
 340  00011405    fe 08 effffffd40              	callf	$8,_writes
 341  0001140C                                   #                   print_negf_data();            /* print the operands      */
 342  0001140C    fe 04 ef00000513              	callf	$4,_print_negf_data
 343  00011413                                   #                   writes("\nregister ");          /* print the information   */
 344  00011413                                  	.data	1
 345  00000995 *                                L266:
 346  00000995 *  0A72656769737465722000        	.ascii	"\12register \0"
 347  000009a0 *                                	.text
 348  00011413    dd 8f00000995                 	pushl	$L266
 349  00011419    fe 08 effffffd2c              	callf	$8,_writes
 350  00011420                                   #                   writed( index2 );             /*    about the corrupted  */
 351  00011420    dd effffffd26                 	pushl	_index2
 352  00011426    fe 08 effffffd1f              	callf	$8,_writed
 353  0001142D                                   #                   writes(" = ");                /*        register         */
 354  0001142D                                  	.data	1
 355  000009a0 *                                L267:
 356  000009a0 *  203D2000                      	.ascii	" = \0"
 357  000009a4 *                                	.text
 358  0001142D    dd 8f000009a0                 	pushl	$L267
 359  00011433    fe 08 effffffd12              	callf	$8,_writes
 360  0001143A                                   #                   write32h( store_regs[index2] );
 361  0001143A    0d effffffd0c 50              	movl	_index2,r0
 362  00011441    dd 40effffffd04               	pushl	_store_regs[r0]
 363  00011448    fe 08 effffffcfd              	callf	$8,_write32h
 364  0001144F                                   #                   writes(",  should be = ");
 365  0001144F                                  	.data	1
 366  000009a4 *                                L268:
 367  000009a4 *  2C202073686F756C642062652     	.ascii	",  should be = \0"
                  03D2000
 368  000009b4 *                                	.text
 369  0001144F    dd 8f000009a4                 	pushl	$L268
 370  00011455    fe 08 effffffcf0              	callf	$8,_writes
 371  0001145C                                   #                   write32h( load_regs[index2] );
 372  0001145C    0d effffffcea 50              	movl	_index2,r0
 373  00011463    dd 40effffffce2               	pushl	_load_regs[r0]
 374  0001146A    fe 08 effffffcdb              	callf	$8,_write32h
 375  00011471                                   #                   writes("\n");
 376  00011471                                  	.data	1
 377  000009b4 *                                L269:
 378  000009b4 *  0A00                          	.ascii	"\12\0"
 379  000009b6 *                                	.text
 380  00011471    dd 8f000009b4                 	pushl	$L269
 381  00011477    fe 08 effffffcce              	callf	$8,_writes
 382  0001147E                                   #              }
 383  0001147E                                   #              if( halt_flg )   
 384  0001147E                                  L261:
 385  0001147E    5d effffffcc8                 	tstl	_halt_flg
 386  00011484    31 09                         	jeql	L270
 387  00011486                                   #                   negf_er_halt( BAD_REG_HLT );  /* halt on the error      */
 388  00011486    dd 02                         	pushl	$2
 389  00011488    fe 08 ef000004d3              	callf	$8,_negf_er_halt
 390  0001148F                                   #              if( loop_on_err ) {
 391  0001148F                                  L270:
 392  0001148F    5d effffffcb7                 	tstl	_loop_on_err
 393  00011495    31 0a                         	jeql	L271
 394  00011497                                   #                   force_loop = TRUE;        /* set the force loop flag */
 395  00011497    0d 01 effffffcae              	movl	$1,_force_loop
 396  0001149E                                   #                   asm("brw _negf_2_lp1");;  /* and loop on the error   */
 397  0001149E    13 fea0                       brw _negf_2_lp1
 398  000114A1                                   #              }   /* end of loop on error */
 399  000114A1                                   #         }  /* end of register corruption error */
 400  000114A1                                  L271:
 401  000114A1                                   # }  /* end of subtest 2 */
 402  000114A1                                  L260:
 403  000114A1    40                            	ret#2
 404  000114A2                                  	.set	L252,0x0
 405  000114A2                                  L254:
 406  000114A2    13 fe66                       	jbr 	L255
 407  000114A5                                  	.data
 408  000008c8 *                                	.text
 409  000114A5    00                            	.align	1
 410  000114A6                                  	.globl	_negf_3
 411  000114A6                                  _negf_3:
 412  000114A6    0000                          	.word	L272
 413  000114A8                                   #   
 414  000114A8                                   # 
 415  000114A8                                   # 
 416  000114A8                                   # /************************************************************************
 417  000114A8                                   # *
 418  000114A8                                   # *       SUBTEST 3 - Check for PSL corruption 
 419  000114A8                                   # *
 420  000114A8                                   # ************************************************************************/
 421  000114A8                                   # negf_3() 
 422  000114A8                                   # {
 423  000114A8    13 01a4                       	jbr 	L274
 424  000114AB                                  L275:
 425  000114AB                                   #         force_loop = FALSE;                     /* clear force_loop flg */
 426  000114AB    4d effffffc9b                 	clrl	_force_loop
 427  000114B1                                   #         subtest = 3;
 428  000114B1    0d 03 effffffc94              	movl	$3,_subtest
 429  000114B8                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
 430  000114B8    dd 8f00000000                 	pushl	$_load_regs
 431  000114BE    fe 08 effffffc87              	callf	$8,_fill_reg_buf
 432  000114C5                                   #         for( index = 0; index < 3; index++ ) {
 433  000114C5    4d effffffc81                 	clrl	_index
 434  000114CB                                  L278:
 435  000114CB    1d effffffc7b 03              	cmpl	_index,$3
 436  000114D2    91 03 13 0177                 	jgeq	L277
 437  000114D7                                   #              sgl_ld_acc   = lnf_1_data[index].ld;   /* get value to negate */
 438  000114D7    0d effffffc6f 50              	movl	_index,r0
 439  000114DE    48 03 50 50                   	shll	$3,r0,r0
 440  000114E2    0d e000000000 effffffc5f      	movl	_lnf_1_data(r0),_sgl_ld_acc
 441  000114ED                                   #              sgl_expected = lnf_1_data[index].exp;  /* get expected  */
 442  000114ED    0d effffffc59 50              	movl	_index,r0
 443  000114F4    48 03 50 50                   	shll	$3,r0,r0
 444  000114F8    0d e000000004 effffffc49      	movl	_lnf_1_data+4(r0),_sgl_expected
 445  00011503                                   #              sgl_dummy1 = status_array[status_index];    /* status = +, -, 0 */
 446  00011503    0d effffffc43 50              	movl	_status_index,r0
 447  0001150A    0d 40effffffc3b               	movl	_status_array[r0],_sgl_dummy1
                  effffffc36 
 448  00011516                                   # /*
 449  00011516                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 450  00011516                                   #  * The force loop flag is set after the first error.
 451  00011516                                   # */
 452  00011516                                   #              asm("_negf_3_lp1:");
 453  00011516                                  _negf_3_lp1:
 454  00011516                                   #              asm("ldf _sgl_ld_acc");            /* load the initial value */
 455  00011516    06 effffffc30                 ldf _sgl_ld_acc
 456  0001151C                                   #              asm("nop");
 457  0001151C    10                            nop
 458  0001151D                                   #              asm("tstl _sgl_dummy1");		/* set the PSL status    */
 459  0001151D    5d effffffc29                 tstl _sgl_dummy1
 460  00011523                                   # 	     asm("movpsl _init_psl");		/* save the initial PSL  */
 461  00011523    cd effffffc23                 movpsl _init_psl
 462  00011529                                   #              asm("negf");                       /* negate the value      */
 463  00011529    b6                            negf
 464  0001152A                                   #              asm("nop");
 465  0001152A    10                            nop
 466  0001152B                                   #              asm("movpsl _psl_val");            /* save the final PSL    */
 467  0001152B    cd effffffc1b                 movpsl _psl_val
 468  00011531                                   #              asm("stf _sgl_st_acc");            /* save the accumulator  */
 469  00011531    26 effffffc15                 stf _sgl_st_acc
 470  00011537                                   #              if( force_loop )
 471  00011537    5d effffffc0f                 	tstl	_force_loop
 472  0001153D    31 02                         	jeql	L279
 473  0001153F                                   #                   asm("brb _negf_3_lp1");;      /* loop on the error     */
 474  0001153F    11 d5                         brb _negf_3_lp1
 475  00011541                                  L279:
 476  00011541                                   # /*
 477  00011541                                   #  * Now compare the final PSL to the initial PSL -they should be the same
 478  00011541                                   # */
 479  00011541                                   #              exp_psl = init_psl;
 480  00011541    0d effffffc05 effffffc00      	movl	_init_psl,_exp_psl
 481  0001154C                                   # 	     if( psl_val != init_psl ) {
 482  0001154C    1d effffffbfa effffffbf5      	cmpl	_psl_val,_init_psl
 483  00011557    21 03 13 00e9                 	jeql	L280
 484  0001155C                                   #                   errcnt++;                     /* bump the error count    */
 485  0001155C    6d effffffbea                 	incl	_errcnt
 486  00011562                                   #                   if( prt_error ) {
 487  00011562    5d effffffbe4                 	tstl	_prt_error
 488  00011568    21 03 13 00b5                 	jeql	L281
 489  0001156D                                   #                        writes(" \n");      /* start a new print line  */
 490  0001156D                                  	.data	1
 491  000009b6 *                                L282:
 492  000009b6 *  200A00                        	.ascii	" \12\0"
 493  000009b9 *                                	.text
 494  0001156D    dd 8f000009b6                 	pushl	$L282
 495  00011573    fe 08 effffffbd2              	callf	$8,_writes
 496  0001157A                                   #                        writes("cycle: ");
 497  0001157A                                  	.data	1
 498  000009b9 *                                L283:
 499  000009b9 *  6379636C653A2000              	.ascii	"cycle: \0"
 500  000009c1 *                                	.text
 501  0001157A    dd 8f000009b9                 	pushl	$L283
 502  00011580    fe 08 effffffbc5              	callf	$8,_writes
 503  00011587                                   #                        writed( cycle );
 504  00011587    dd effffffbbf                 	pushl	_cycle
 505  0001158D    fe 08 effffffbb8              	callf	$8,_writed
 506  00011594                                   #                        writes("  NEGF test ");
 507  00011594                                  	.data	1
 508  000009c1 *                                L284:
 509  000009c1 *  20204E4547462074657374200     	.ascii	"  NEGF test \0"
                  0
 510  000009ce *                                	.text
 511  00011594    dd 8f000009c1                 	pushl	$L284
 512  0001159A    fe 08 effffffbab              	callf	$8,_writes
 513  000115A1                                   # 		       writed( test_no );
 514  000115A1    dd effffffba5                 	pushl	_test_no
 515  000115A7    fe 08 effffffb9e              	callf	$8,_writed
 516  000115AE                                   # 	writes(", subtest 3 (PSL Corr.) - INCORRECT FINAL PSL\n");
 517  000115AE                                  	.data	1
 518  000009ce *                                L285:
 519  000009ce *  2C20737562746573742033202     	.ascii	", subtest 3 (PSL Corr.) - INCORRECT FINAL PSL\12\0"
                  850534C20436F72722E29202D
                  20494E434F525245435420464
                  94E414C2050534C0A00
 520  000009fd *                                	.text
 521  000115AE    dd 8f000009ce                 	pushl	$L285
 522  000115B4    fe 08 effffffb91              	callf	$8,_writes
 523  000115BB                                   #                        print_negf_data();       /* print the operands      */
 524  000115BB    fe 04 ef00000364              	callf	$4,_print_negf_data
 525  000115C2                                   #                        writec('\n');
 526  000115C2    dd 0a                         	pushl	$10
 527  000115C4    fe 08 effffffb81              	callf	$8,_writec
 528  000115CB                                   #                        writes("initial PSL = ");
 529  000115CB                                  	.data	1
 530  000009fd *                                L286:
 531  000009fd *  696E697469616C2050534C203     	.ascii	"initial PSL = \0"
                  D2000
 532  00000a0c *                                	.text
 533  000115CB    dd 8f000009fd                 	pushl	$L286
 534  000115D1    fe 08 effffffb74              	callf	$8,_writes
 535  000115D8                                   #                        write32h( init_psl );
 536  000115D8    dd effffffb6e                 	pushl	_init_psl
 537  000115DE    fe 08 effffffb67              	callf	$8,_write32h
 538  000115E5                                   #                        writes(",  final PSL = ");
 539  000115E5                                  	.data	1
 540  00000a0c *                                L287:
 541  00000a0c *  2C202066696E616C2050534C2     	.ascii	",  final PSL = \0"
                  03D2000
 542  00000a1c *                                	.text
 543  000115E5    dd 8f00000a0c                 	pushl	$L287
 544  000115EB    fe 08 effffffb5a              	callf	$8,_writes
 545  000115F2                                   #                        write32h( psl_val );
 546  000115F2    dd effffffb54                 	pushl	_psl_val
 547  000115F8    fe 08 effffffb4d              	callf	$8,_write32h
 548  000115FF                                   #                        writes(",  expected PSL = ");
 549  000115FF                                  	.data	1
 550  00000a1c *                                L288:
 551  00000a1c *  2C20206578706563746564205     	.ascii	",  expected PSL = \0"
                  0534C203D2000
 552  00000a2f *                                	.text
 553  000115FF    dd 8f00000a1c                 	pushl	$L288
 554  00011605    fe 08 effffffb40              	callf	$8,_writes
 555  0001160C                                   #                        write32h( exp_psl );
 556  0001160C    dd effffffb3a                 	pushl	_exp_psl
 557  00011612    fe 08 effffffb33              	callf	$8,_write32h
 558  00011619                                   #                        writec('\n');
 559  00011619    dd 0a                         	pushl	$10
 560  0001161B    fe 08 effffffb2a              	callf	$8,_writec
 561  00011622                                   #                   }
 562  00011622                                   #                   if( halt_flg )   
 563  00011622                                  L281:
 564  00011622    5d effffffb24                 	tstl	_halt_flg
 565  00011628    31 09                         	jeql	L289
 566  0001162A                                   #                        negf_er_halt( BAD_PSL_HLT );   /* halt on the error */
 567  0001162A    dd 03                         	pushl	$3
 568  0001162C    fe 08 ef0000032f              	callf	$8,_negf_er_halt
 569  00011633                                   #                   if( loop_on_err ) {
 570  00011633                                  L289:
 571  00011633    5d effffffb13                 	tstl	_loop_on_err
 572  00011639    31 0a                         	jeql	L290
 573  0001163B                                   #                        force_loop = TRUE;        /* set the force loop flag */
 574  0001163B    0d 01 effffffb0a              	movl	$1,_force_loop
 575  00011642                                   #                        asm("brw _negf_3_lp1");;  /* and loop on the error   */
 576  00011642    13 fed1                       brw _negf_3_lp1
 577  00011645                                   #                   }   /* end of loop on error */
 578  00011645                                   #              }  /* end of PSL corruption error */
 579  00011645                                  L290:
 580  00011645                                   #         }  /* end of WHILE loop */
 581  00011645                                  L280:
 582  00011645                                  L276:
 583  00011645    6d effffffb01                 	incl	_index
 584  0001164B    13 fe7d                       	jbr 	L278
 585  0001164E                                  L277:
 586  0001164E                                   # }  /* end of subtest 3 */
 587  0001164E    40                            	ret#2
 588  0001164F                                  	.set	L272,0x0
 589  0001164F                                  L274:
 590  0001164F    13 fe59                       	jbr 	L275
 591  00011652                                  	.data
 592  000008c8 *                                	.text
 593  00011652                                  	.align	1
 594  00011652                                  	.globl	_negf_4
 595  00011652                                  _negf_4:
 596  00011652    0000                          	.word	L291
 597  00011654                                   #   
 598  00011654                                   # 
 599  00011654                                   # 
 600  00011654                                   # /************************************************************************
 601  00011654                                   # *
 602  00011654                                   # *               SUBTEST 4 - pipelined entry test
 603  00011654                                   # *
 604  00011654                                   # ************************************************************************/
 605  00011654                                   # negf_4() 
 606  00011654                                   # {
 607  00011654    13 0161                       	jbr 	L293
 608  00011657                                  L294:
 609  00011657                                   #         force_loop = FALSE;
 610  00011657    4d effffffaef                 	clrl	_force_loop
 611  0001165D                                   #         subtest = 4;
 612  0001165D    0d 04 effffffae8              	movl	$4,_subtest
 613  00011664                                   #         for( index = 0; index < max_lnf_1_index; index++ ) {
 614  00011664    4d effffffae2                 	clrl	_index
 615  0001166A                                  L297:
 616  0001166A    1d effffffadc effffffad7      	cmpl	_index,_max_lnf_1_index
 617  00011675    91 03 13 013d                 	jgeq	L296
 618  0001167A                                   #              sgl_ld_acc   = lnf_1_data[index].ld;   /* get value to negate */
 619  0001167A    0d effffffacc 50              	movl	_index,r0
 620  00011681    48 03 50 50                   	shll	$3,r0,r0
 621  00011685    0d e000000000 effffffabc      	movl	_lnf_1_data(r0),_sgl_ld_acc
 622  00011690                                   #              sgl_expected = lnf_1_data[index].exp;  /* get expected result */
 623  00011690    0d effffffab6 50              	movl	_index,r0
 624  00011697    48 03 50 50                   	shll	$3,r0,r0
 625  0001169B    0d e000000004 effffffaa6      	movl	_lnf_1_data+4(r0),_sgl_expected
 626  000116A6                                   # /*
 627  000116A6                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 628  000116A6                                   #  * The force loop flag is set after the first error.
 629  000116A6                                   # */
 630  000116A6                                   #              asm("_negf_4_lp1:");
 631  000116A6                                  _negf_4_lp1:
 632  000116A6                                   #              asm("movl $0,r0");                 /* clear r0                */
 633  000116A6    0d 00 50                      movl $0,r0
 634  000116A9                                   #              asm("ldf r0");                     /* load the Acc. with 0.0  */
 635  000116A9    06 50                         ldf r0
 636  000116AB                                   #              asm("addf _sgl_ld_acc");           /* add the value to negate */
 637  000116AB    c6 effffffa9b                 addf _sgl_ld_acc
 638  000116B1                                   #              asm("negf");                       /* negate the value        */
 639  000116B1    b6                            negf
 640  000116B2                                   #              asm("stf _sgl_st_acc");            /* store the result        */
 641  000116B2    26 effffffa94                 stf _sgl_st_acc
 642  000116B8                                   #              if( force_loop )
 643  000116B8    5d effffffa8e                 	tstl	_force_loop
 644  000116BE    31 02                         	jeql	L298
 645  000116C0                                   #                   asm("brb _negf_4_lp1");;       /* loop on the error       */
 646  000116C0    11 e4                         brb _negf_4_lp1
 647  000116C2                                  L298:
 648  000116C2                                   # /* 
 649  000116C2                                   #  * end error loop - test the results
 650  000116C2                                   # */
 651  000116C2                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
 652  000116C2    1d effffffa84 effffffa7f      	cmpl	_sgl_st_acc,_sgl_expected
 653  000116CD    21 03 13 00dc                 	jeql	L299
 654  000116D2                                   #                    errcnt++;                    /* bump the error count   */
 655  000116D2    6d effffffa74                 	incl	_errcnt
 656  000116D8                                   #                    if( prt_error ) {
 657  000116D8    5d effffffa6e                 	tstl	_prt_error
 658  000116DE    21 03 13 00a8                 	jeql	L300
 659  000116E3                                   #                         writes(" \n");      /* start a new print line */
 660  000116E3                                  	.data	1
 661  00000a2f *                                L301:
 662  00000a2f *  200A00                        	.ascii	" \12\0"
 663  00000a32 *                                	.text
 664  000116E3    dd 8f00000a2f                 	pushl	$L301
 665  000116E9    fe 08 effffffa5c              	callf	$8,_writes
 666  000116F0                                   #                         writes("cycle: ");
 667  000116F0                                  	.data	1
 668  00000a32 *                                L302:
 669  00000a32 *  6379636C653A2000              	.ascii	"cycle: \0"
 670  00000a3a *                                	.text
 671  000116F0    dd 8f00000a32                 	pushl	$L302
 672  000116F6    fe 08 effffffa4f              	callf	$8,_writes
 673  000116FD                                   #                         writed( cycle );
 674  000116FD    dd effffffa49                 	pushl	_cycle
 675  00011703    fe 08 effffffa42              	callf	$8,_writed
 676  0001170A                                   #                         writes("  NEGF test ");
 677  0001170A                                  	.data	1
 678  00000a3a *                                L303:
 679  00000a3a *  20204E4547462074657374200     	.ascii	"  NEGF test \0"
                  0
 680  00000a47 *                                	.text
 681  0001170A    dd 8f00000a3a                 	pushl	$L303
 682  00011710    fe 08 effffffa35              	callf	$8,_writes
 683  00011717                                   # 			writed( test_no );
 684  00011717    dd effffffa2f                 	pushl	_test_no
 685  0001171D    fe 08 effffffa28              	callf	$8,_writed
 686  00011724                                   # 		writes(", subtest 4 (Piped Entry) - BAD FINAL ACC\n");
 687  00011724                                  	.data	1
 688  00000a47 *                                L304:
 689  00000a47 *  2C20737562746573742034202     	.ascii	", subtest 4 (Piped Entry) - BAD FINAL ACC\12\0"
                  8506970656420456E74727929
                  202D204241442046494E414C2
                  04143430A00
 690  00000a72 *                                	.text
 691  00011724    dd 8f00000a47                 	pushl	$L304
 692  0001172A    fe 08 effffffa1b              	callf	$8,_writes
 693  00011731                                   #                         print_negf_data();
 694  00011731    fe 04 ef000001ee              	callf	$4,_print_negf_data
 695  00011738                                   #                         writes(",   data index = ");
 696  00011738                                  	.data	1
 697  00000a72 *                                L305:
 698  00000a72 *  2C2020206461746120696E646     	.ascii	",   data index = \0"
                  578203D2000
 699  00000a84 *                                	.text
 700  00011738    dd 8f00000a72                 	pushl	$L305
 701  0001173E    fe 08 effffffa07              	callf	$8,_writes
 702  00011745                                   #                         writed( index );
 703  00011745    dd effffffa01                 	pushl	_index
 704  0001174B    fe 08 effffff9fa              	callf	$8,_writed
 705  00011752                                   #                         writec('\n');
 706  00011752    dd 0a                         	pushl	$10
 707  00011754    fe 08 effffff9f1              	callf	$8,_writec
 708  0001175B                                   #                         writes("                      ");
 709  0001175B                                  	.data	1
 710  00000a84 *                                L306:
 711  00000a84 *  2020202020202020202020202     	.ascii	"                      \0"
                  020202020202020202000
 712  00000a9b *                                	.text
 713  0001175B    dd 8f00000a84                 	pushl	$L306
 714  00011761    fe 08 effffff9e4              	callf	$8,_writes
 715  00011768                                   #                         writes("Acc expected = ");
 716  00011768                                  	.data	1
 717  00000a9b *                                L307:
 718  00000a9b *  4163632065787065637465642     	.ascii	"Acc expected = \0"
                  03D2000
 719  00000aab *                                	.text
 720  00011768    dd 8f00000a9b                 	pushl	$L307
 721  0001176E    fe 08 effffff9d7              	callf	$8,_writes
 722  00011775                                   #                         write32h( sgl_expected );
 723  00011775    dd effffff9d1                 	pushl	_sgl_expected
 724  0001177B    fe 08 effffff9ca              	callf	$8,_write32h
 725  00011782                                   #                         writec('\n');
 726  00011782    dd 0a                         	pushl	$10
 727  00011784    fe 08 effffff9c1              	callf	$8,_writec
 728  0001178B                                   #                    }
 729  0001178B                                   #                    if( halt_flg ) 
 730  0001178B                                  L300:
 731  0001178B    5d effffff9bb                 	tstl	_halt_flg
 732  00011791    31 09                         	jeql	L308
 733  00011793                                   #                         negf_er_halt( BAD_ACC_HLT );    /* halt on the error */
 734  00011793    dd 01                         	pushl	$1
 735  00011795    fe 08 ef000001c6              	callf	$8,_negf_er_halt
 736  0001179C                                   #                    if( loop_on_err ) {
 737  0001179C                                  L308:
 738  0001179C    5d effffff9aa                 	tstl	_loop_on_err
 739  000117A2    31 0a                         	jeql	L309
 740  000117A4                                   #                         force_loop = TRUE;        /* set the force loop flag */
 741  000117A4    0d 01 effffff9a1              	movl	$1,_force_loop
 742  000117AB                                   #                         asm("brw _negf_4_lp1");;  /* and loop on the error   */
 743  000117AB    13 fef8                       brw _negf_4_lp1
 744  000117AE                                   #                    }   /* end of loop on error */
 745  000117AE                                   #              }   /* end of compare error */
 746  000117AE                                  L309:
 747  000117AE                                   #         }  /* end of WHILE loop */
 748  000117AE                                  L299:
 749  000117AE                                  L295:
 750  000117AE    6d effffff998                 	incl	_index
 751  000117B4    13 feb3                       	jbr 	L297
 752  000117B7                                  L296:
 753  000117B7                                   # }  /* end of subtest 4 */
 754  000117B7    40                            	ret#2
 755  000117B8                                  	.set	L291,0x0
 756  000117B8                                  L293:
 757  000117B8    13 fe9c                       	jbr 	L294
 758  000117BB                                  	.data
 759  000008c8 *                                	.text
 760  000117BB    00                            	.align	1
 761  000117BC                                  	.globl	_negf_5
 762  000117BC                                  _negf_5:
 763  000117BC    0000                          	.word	L310
 764  000117BE                                   #   
 765  000117BE                                   # 
 766  000117BE                                   # 
 767  000117BE                                   # /************************************************************************
 768  000117BE                                   # *
 769  000117BE                                   # *               SUBTEST 5 - pipelined exit test
 770  000117BE                                   # *
 771  000117BE                                   # ************************************************************************/
 772  000117BE                                   # negf_5() 
 773  000117BE                                   # {
 774  000117BE    13 0161                       	jbr 	L312
 775  000117C1                                  L313:
 776  000117C1                                   #         force_loop = FALSE;
 777  000117C1    4d effffff985                 	clrl	_force_loop
 778  000117C7                                   #         subtest = 5;
 779  000117C7    0d 05 effffff97e              	movl	$5,_subtest
 780  000117CE                                   #         for( index = 0; index < max_lnf_1_index; index++ ) {
 781  000117CE    4d effffff978                 	clrl	_index
 782  000117D4                                  L316:
 783  000117D4    1d effffff972 effffff96d      	cmpl	_index,_max_lnf_1_index
 784  000117DF    91 03 13 013d                 	jgeq	L315
 785  000117E4                                   #              sgl_ld_acc   = lnf_1_data[index].ld;   /* get value to negate */
 786  000117E4    0d effffff962 50              	movl	_index,r0
 787  000117EB    48 03 50 50                   	shll	$3,r0,r0
 788  000117EF    0d e000000000 effffff952      	movl	_lnf_1_data(r0),_sgl_ld_acc
 789  000117FA                                   #              sgl_expected = lnf_1_data[index].exp;  /* get expected result */
 790  000117FA    0d effffff94c 50              	movl	_index,r0
 791  00011801    48 03 50 50                   	shll	$3,r0,r0
 792  00011805    0d e000000004 effffff93c      	movl	_lnf_1_data+4(r0),_sgl_expected
 793  00011810                                   # /*
 794  00011810                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 795  00011810                                   #  * The force loop flag is set after the first error.
 796  00011810                                   # */
 797  00011810                                   #              asm("_negf_5_lp1:");
 798  00011810                                  _negf_5_lp1:
 799  00011810                                   #              asm("movl $0,r0");                 /* clear r0                */
 800  00011810    0d 00 50                      movl $0,r0
 801  00011813                                   #              asm("ldf _sgl_ld_acc");            /* load  the value         */
 802  00011813    06 effffff933                 ldf _sgl_ld_acc
 803  00011819                                   #              asm("negf");                       /* negate the value        */
 804  00011819    b6                            negf
 805  0001181A                                   #              asm("addf r0");                    /* add a zero to the acc   */
 806  0001181A    c6 50                         addf r0
 807  0001181C                                   #              asm("stf _sgl_st_acc");            /* store the result        */
 808  0001181C    26 effffff92a                 stf _sgl_st_acc
 809  00011822                                   #              if( force_loop )
 810  00011822    5d effffff924                 	tstl	_force_loop
 811  00011828    31 02                         	jeql	L317
 812  0001182A                                   #                   asm("brb _negf_5_lp1");;       /* loop on the error       */
 813  0001182A    11 e4                         brb _negf_5_lp1
 814  0001182C                                  L317:
 815  0001182C                                   # /* 
 816  0001182C                                   #  * end error loop - test the results
 817  0001182C                                   # */
 818  0001182C                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
 819  0001182C    1d effffff91a effffff915      	cmpl	_sgl_st_acc,_sgl_expected
 820  00011837    21 03 13 00dc                 	jeql	L318
 821  0001183C                                   #                    errcnt++;                    /* bump the error count   */
 822  0001183C    6d effffff90a                 	incl	_errcnt
 823  00011842                                   #                    if( prt_error ) {
 824  00011842    5d effffff904                 	tstl	_prt_error
 825  00011848    21 03 13 00a8                 	jeql	L319
 826  0001184D                                   #                         writes(" \n");      /* start a new print line */
 827  0001184D                                  	.data	1
 828  00000aab *                                L320:
 829  00000aab *  200A00                        	.ascii	" \12\0"
 830  00000aae *                                	.text
 831  0001184D    dd 8f00000aab                 	pushl	$L320
 832  00011853    fe 08 effffff8f2              	callf	$8,_writes
 833  0001185A                                   #                         writes("cycle: ");
 834  0001185A                                  	.data	1
 835  00000aae *                                L321:
 836  00000aae *  6379636C653A2000              	.ascii	"cycle: \0"
 837  00000ab6 *                                	.text
 838  0001185A    dd 8f00000aae                 	pushl	$L321
 839  00011860    fe 08 effffff8e5              	callf	$8,_writes
 840  00011867                                   #                         writed( cycle );
 841  00011867    dd effffff8df                 	pushl	_cycle
 842  0001186D    fe 08 effffff8d8              	callf	$8,_writed
 843  00011874                                   #                         writes("  NEGF test ");
 844  00011874                                  	.data	1
 845  00000ab6 *                                L322:
 846  00000ab6 *  20204E4547462074657374200     	.ascii	"  NEGF test \0"
                  0
 847  00000ac3 *                                	.text
 848  00011874    dd 8f00000ab6                 	pushl	$L322
 849  0001187A    fe 08 effffff8cb              	callf	$8,_writes
 850  00011881                                   # 			writed( test_no );
 851  00011881    dd effffff8c5                 	pushl	_test_no
 852  00011887    fe 08 effffff8be              	callf	$8,_writed
 853  0001188E                                   # 			writes(", subtest 5 (Piped Exit) - BAD FINAL ACC\n");
 854  0001188E                                  	.data	1
 855  00000ac3 *                                L323:
 856  00000ac3 *  2C20737562746573742035202     	.ascii	", subtest 5 (Piped Exit) - BAD FINAL ACC\12\0"
                  8506970656420457869742920
                  2D204241442046494E414C204
                  143430A00
 857  00000aed *                                	.text
 858  0001188E    dd 8f00000ac3                 	pushl	$L323
 859  00011894    fe 08 effffff8b1              	callf	$8,_writes
 860  0001189B                                   #                         print_negf_data();
 861  0001189B    fe 04 ef00000084              	callf	$4,_print_negf_data
 862  000118A2                                   #                         writes(",   data index = ");
 863  000118A2                                  	.data	1
 864  00000aed *                                L324:
 865  00000aed *  2C2020206461746120696E646     	.ascii	",   data index = \0"
                  578203D2000
 866  00000aff *                                	.text
 867  000118A2    dd 8f00000aed                 	pushl	$L324
 868  000118A8    fe 08 effffff89d              	callf	$8,_writes
 869  000118AF                                   #                         writed( index );
 870  000118AF    dd effffff897                 	pushl	_index
 871  000118B5    fe 08 effffff890              	callf	$8,_writed
 872  000118BC                                   #                         writec('\n');
 873  000118BC    dd 0a                         	pushl	$10
 874  000118BE    fe 08 effffff887              	callf	$8,_writec
 875  000118C5                                   #                         writes("                      ");
 876  000118C5                                  	.data	1
 877  00000aff *                                L325:
 878  00000aff *  2020202020202020202020202     	.ascii	"                      \0"
                  020202020202020202000
 879  00000b16 *                                	.text
 880  000118C5    dd 8f00000aff                 	pushl	$L325
 881  000118CB    fe 08 effffff87a              	callf	$8,_writes
 882  000118D2                                   #                         writes("Acc expected = ");
 883  000118D2                                  	.data	1
 884  00000b16 *                                L326:
 885  00000b16 *  4163632065787065637465642     	.ascii	"Acc expected = \0"
                  03D2000
 886  00000b26 *                                	.text
 887  000118D2    dd 8f00000b16                 	pushl	$L326
 888  000118D8    fe 08 effffff86d              	callf	$8,_writes
 889  000118DF                                   #                         write32h( sgl_expected );
 890  000118DF    dd effffff867                 	pushl	_sgl_expected
 891  000118E5    fe 08 effffff860              	callf	$8,_write32h
 892  000118EC                                   #                         writec('\n');
 893  000118EC    dd 0a                         	pushl	$10
 894  000118EE    fe 08 effffff857              	callf	$8,_writec
 895  000118F5                                   #                    }
 896  000118F5                                   #                    if( halt_flg ) 
 897  000118F5                                  L319:
 898  000118F5    5d effffff851                 	tstl	_halt_flg
 899  000118FB    31 09                         	jeql	L327
 900  000118FD                                   #                         negf_er_halt( BAD_ACC_HLT );    /* halt on the error */
 901  000118FD    dd 01                         	pushl	$1
 902  000118FF    fe 08 ef0000005c              	callf	$8,_negf_er_halt
 903  00011906                                   #                    if( loop_on_err ) {
 904  00011906                                  L327:
 905  00011906    5d effffff840                 	tstl	_loop_on_err
 906  0001190C    31 0a                         	jeql	L328
 907  0001190E                                   #                         force_loop = TRUE;        /* set the force loop flag */
 908  0001190E    0d 01 effffff837              	movl	$1,_force_loop
 909  00011915                                   #                         asm("brw _negf_5_lp1");;  /* and loop on the error   */
 910  00011915    13 fef8                       brw _negf_5_lp1
 911  00011918                                   #                    }   /* end of loop on error */
 912  00011918                                   #              }   /* end of compare error */
 913  00011918                                  L328:
 914  00011918                                   #         }  /* end of WHILE loop */
 915  00011918                                  L318:
 916  00011918                                  L314:
 917  00011918    6d effffff82e                 	incl	_index
 918  0001191E    13 feb3                       	jbr 	L316
 919  00011921                                  L315:
 920  00011921                                   # }  /* end of subtest 5 */
 921  00011921    40                            	ret#2
 922  00011922                                  	.set	L310,0x0
 923  00011922                                  L312:
 924  00011922    13 fe9c                       	jbr 	L313
 925  00011925                                  	.data
 926  000008c8 *                                	.text
 927  00011925    00                            	.align	1
 928  00011926                                  	.globl	_print_negf_data
 929  00011926                                  _print_negf_data:
 930  00011926    0000                          	.word	L329
 931  00011928                                   #   
 932  00011928                                   # 
 933  00011928                                   # 
 934  00011928                                   # /**************************************************************************
 935  00011928                                   # *
 936  00011928                                   # *       PRINT THE DATA AND STORE RESULTS
 937  00011928                                   # *
 938  00011928                                   # *  initial Acc = xxxxxxxx,     stored = xxxxxxxx,   data index = xx
 939  00011928                                   # *                            expected = xxxxxxxx
 940  00011928                                   # **************************************************************************/
 941  00011928                                   # print_negf_data()
 942  00011928                                   # {
 943  00011928    11 35                         	jbr 	L331
 944  0001192A                                  L332:
 945  0001192A                                   #         writes("initial Acc = ");
 946  0001192A                                  	.data	1
 947  00000b26 *                                L333:
 948  00000b26 *  696E697469616C20416363203     	.ascii	"initial Acc = \0"
                  D2000
 949  00000b35 *                                	.text
 950  0001192A    dd 8f00000b26                 	pushl	$L333
 951  00011930    fe 08 effffff815              	callf	$8,_writes
 952  00011937                                   #         write32h( sgl_ld_acc );
 953  00011937    dd effffff80f                 	pushl	_sgl_ld_acc
 954  0001193D    fe 08 effffff808              	callf	$8,_write32h
 955  00011944                                   #         writes(",  final Acc = ");
 956  00011944                                  	.data	1
 957  00000b35 *                                L334:
 958  00000b35 *  2C202066696E616C204163632     	.ascii	",  final Acc = \0"
                  03D2000
 959  00000b45 *                                	.text
 960  00011944    dd 8f00000b35                 	pushl	$L334
 961  0001194A    fe 08 effffff7fb              	callf	$8,_writes
 962  00011951                                   #         write32h( sgl_st_acc );
 963  00011951    dd effffff7f5                 	pushl	_sgl_st_acc
 964  00011957    fe 08 effffff7ee              	callf	$8,_write32h
 965  0001195E                                   # }
 966  0001195E    40                            	ret#2
 967  0001195F                                  	.set	L329,0x0
 968  0001195F                                  L331:
 969  0001195F    11 c9                         	jbr 	L332
 970  00011961                                  	.data
 971  000008c8 *                                	.text
 972  00011961    00                            	.align	1
 973  00011962                                  	.globl	_negf_er_halt
 974  00011962                                  _negf_er_halt:
 975  00011962    0000                          	.word	L335
 976  00011964                                   #  
 977  00011964                                   # 
 978  00011964                                   # 
 979  00011964                                   # /**************************************************************************
 980  00011964                                   # *
 981  00011964                                   # *               HALT ON ERROR ROUTINE 
 982  00011964                                   # *
 983  00011964                                   # **************************************************************************/
 984  00011964                                   # negf_er_halt( halt_code )
 985  00011964                                   # int halt_code;
 986  00011964                                   # {
 987  00011964    13 00a8                       	jbr 	L337
 988  00011967                                  L338:
 989  00011967                                   #         sgl_dummy1 = halt_code;                 /* get the error type    */
 990  00011967    0d ad04 effffff7dd            	movl	4(fp),_sgl_dummy1
 991  0001196F                                   #         asm("movl _test_no,r0");                /* r0  = test number     */
 992  0001196F    0d effffff7d7 50              movl _test_no,r0
 993  00011976                                   #         asm("movl _subtest,r1");                /* r1  = subtest number  */
 994  00011976    0d effffff7d0 51              movl _subtest,r1
 995  0001197D                                   #         asm("movl _sgl_dummy1,r2");             /* r2  = error code      */
 996  0001197D    0d effffff7c9 52              movl _sgl_dummy1,r2
 997  00011984                                   #         asm("movl _cycle,r3");                  /* r3  = cycle count     */
 998  00011984    0d effffff7c2 53              movl _cycle,r3
 999  0001198B                                   #         asm("movl _sgl_ld_acc,r4");             /* r4  = initial data    */
1000  0001198B    0d effffff7bb 54              movl _sgl_ld_acc,r4
1001  00011992                                   #         asm("movl _sgl_value_1,r5");            /* r5  = data loaded      */
1002  00011992    0d effffff7b4 55              movl _sgl_value_1,r5
1003  00011999                                   #         if( halt_code == BAD_ACC_HLT ) {
1004  00011999    1d ad04 01                    	cmpl	4(fp),$1
1005  0001199D    21 10                         	jneq	L339
1006  0001199F                                   #              asm("movl _sgl_st_acc,r6");        /* r6  = data stored     */
1007  0001199F    0d effffff7a7 56              movl _sgl_st_acc,r6
1008  000119A6                                   #              asm("movl _sgl_expected,r7");      /* r7  = data expected   */
1009  000119A6    0d effffff7a0 57              movl _sgl_expected,r7
1010  000119AD                                   #         } else
1011  000119AD    11 5e                         	jbr 	L340
1012  000119AF                                  L339:
1013  000119AF                                   #         if( halt_code == BAD_REG_HLT ) {
1014  000119AF    1d ad04 02                    	cmpl	4(fp),$2
1015  000119B3    21 3d                         	jneq	L341
1016  000119B5                                   #              sgl_dummy1 = load_regs[index2];
1017  000119B5    0d effffff791 50              	movl	_index2,r0
1018  000119BC    0d 40effffff789               	movl	_load_regs[r0],_sgl_dummy1
                  effffff784 
1019  000119C8                                   #              sgl_dummy2 = store_regs[index2];
1020  000119C8    0d effffff77e 50              	movl	_index2,r0
1021  000119CF    0d 40effffff776               	movl	_store_regs[r0],_sgl_dummy2
                  effffff771 
1022  000119DB                                   #              asm("movl _index2,r6");            /* r6  = bad register #  */
1023  000119DB    0d effffff76b 56              movl _index2,r6
1024  000119E2                                   #              asm("movl _sgl_dummy1,r7");        /* r7  = actual value    */
1025  000119E2    0d effffff764 57              movl _sgl_dummy1,r7
1026  000119E9                                   #              asm("movl _sgl_dummy2,r8");        /* r8  = expected value  */
1027  000119E9    0d effffff75d 58              movl _sgl_dummy2,r8
1028  000119F0                                   #         } else
1029  000119F0    11 1b                         	jbr 	L342
1030  000119F2                                  L341:
1031  000119F2                                   #           if( halt_code == BAD_PSL_HLT ) {
1032  000119F2    1d ad04 03                    	cmpl	4(fp),$3
1033  000119F6    21 15                         	jneq	L343
1034  000119F8                                   #              asm("movl _init_psl,r6");          /* r6  = initial PSL     */
1035  000119F8    0d effffff74e 56              movl _init_psl,r6
1036  000119FF                                   #              asm("movl _psl_val,r7");           /* r7  = final PSL       */
1037  000119FF    0d effffff747 57              movl _psl_val,r7
1038  00011A06                                   #              asm("movl _exp_psl,r8");           /* r8  = expected PSL    */
1039  00011A06    0d effffff740 58              movl _exp_psl,r8
1040  00011A0D                                   #         };
1041  00011A0D                                  L343:
1042  00011A0D                                  L342:
1043  00011A0D                                  L340:
1044  00011A0D                                   #         asm("halt");                            /* HALT ...              */
1045  00011A0D    00                            halt
1046  00011A0E                                   # }  
1047  00011A0E    40                            	ret#2
1048  00011A0F                                  	.set	L335,0x0
1049  00011A0F                                  L337:
1050  00011A0F    13 ff55                       	jbr 	L338
1051  00011A12                                  	.data
1051  00022B5E                                  	.data

unix.superglobalmegacorp.com

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