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

   1  00000000                                  LL0:
   2  00000000                                  	.data
   3  000005c4 *                                	.text
   4  00000000                                  	.align	1
   5  00000000                                  	.globl	_pipe4
   6  00000000                                  _pipe4:
   7  0001042C    0000                          	.word	L381
   8  0001042E                                   # 
   9  0001042E                                   # #include "evt_defs.h"
  10  0001042E                                   # 
  11  0001042E                                   # /*
  12  0001042E                                   #  *********************************************************************
  13  0001042E                                   #  *	FPP PIPELINED EVENTS TEST #4
  14  0001042E                                   #  *
  15  0001042E                                   #  *  This test will execute the following code: "LDF MULF MULL3 NEGF"
  16  0001042E                                   #  * with an alignment fault on the MULL3. We will make sure that:
  17  0001042E                                   #  * 1. The fault is detected, 
  18  0001042E                                   #  * 2. the floating multiply operation completes,
  19  0001042E                                   #  * 3. the negate instruction is not executed.
  20  0001042E                                   #  *********************************************************************
  21  0001042E                                   # */
  22  0001042E                                   # pipe4()
  23  0001042E                                   # {
  24  0001042E    13 015d                       	jbr 	L383
  25  00010431                                  L384:
  26  00010431                                   # 	asm("moval (r13),_pre_event_fp");	/* save the frame pointer */
  27  00010431    ed 6d effffffff4              moval (r13),_pre_event_fp
  28  00010438                                   # 	asm("moval (r14),_pre_event_sp");	/* save the stack pointer */
  29  00010438    ed 6e efffffffed              moval (r14),_pre_event_sp
  30  0001043F                                   # 	precision = SGL;
  31  0001043F    0d 01 efffffffe6              	movl	$1,_precision
  32  00010446                                   # 	test_event = ALIGN_CODE;		/* alignment fault expected */
  33  00010446    0d 35 efffffffdf              	movl	$53,_test_event
  34  0001044D                                   # 	exp_event = FALSE;			/* ... but not yet          */
  35  0001044D    4d efffffffd9                 	clrl	_exp_event
  36  00010453                                   # 	asm("movab _pipe4_ret,_event_return"); /* post event addr */
  37  00010453    e9 ef000000dd efffffffce      movab _pipe4_ret,_event_return
  38  0001045E                                   # 	for( index = 0; index < max_pipe4_index; index++ )
  39  0001045E    4d efffffffc8                 	clrl	_index
  40  00010464                                  L387:
  41  00010464    1d efffffffc2 efffffffbd      	cmpl	_index,_max_pipe4_index
  42  0001046F    91 03 13 0119                 	jgeq	L386
  43  00010474                                   # 	{
  44  00010474                                   # 	     dbl_ld_acc =   pipe4_data[index].op_1;	/* get the data */
  45  00010474    5c 18 efffffffb1 50           	mull3	$24,_index,r0
  46  0001047C    0c 8f00000000 50              	addl2	$_pipe4_data,r0
  47  00010483    0d a004 efffffffa5            	movl	4(r0),_dbl_ld_acc+4
  48  0001048B    0d 60 efffffff9a              	movl	(r0),_dbl_ld_acc
  49  00010492                                   # 	     dbl_value_1 =  pipe4_data[index].op_2;
  50  00010492    5c 18 efffffff93 50           	mull3	$24,_index,r0
  51  0001049A    0c 8f00000008 50              	addl2	$_pipe4_data+8,r0
  52  000104A1    0d a004 efffffff87            	movl	4(r0),_dbl_value_1+4
  53  000104A9    0d 60 efffffff7c              	movl	(r0),_dbl_value_1
  54  000104B0                                   # 	     dbl_expected = pipe4_data[index].exp;
  55  000104B0    5c 18 efffffff75 50           	mull3	$24,_index,r0
  56  000104B8    0c 8f00000010 50              	addl2	$_pipe4_data+16,r0
  57  000104BF    0d a004 efffffff69            	movl	4(r0),_dbl_expected+4
  58  000104C7    0d 60 efffffff5e              	movl	(r0),_dbl_expected
  59  000104CE                                   # 	     sgl_value_1  = 0x12345;
  60  000104CE    0d 8f00012345 efffffff53      	movl	$74565,_sgl_value_1
  61  000104D9                                   # 	     sgl_value_2  = -12345;
  62  000104D9    0d 89cfc7 efffffff4a          	movl	$-12345,_sgl_value_2
  63  000104E2                                   # 	     asm(".globl _pipe4_lp1");
  64  000104E2                                  .globl _pipe4_lp1
  65  000104E2                                   # 	     asm("_pipe4_lp1:");
  66  000104E2                                  _pipe4_lp1:
  67  000104E2                                   # 	     asm("bispsw $0x60");		/* enable ovfl & undfl */
  68  000104E2    8b 8860                       bispsw $0x60
  69  000104E5                                   # 	     asm("ldf _dbl_ld_acc");		/* load the Acc.       */
  70  000104E5    06 efffffff41                 ldf _dbl_ld_acc
  71  000104EB                                   # 	     exp_event = test_event;		/* expect event soon   */
  72  000104EB    0d efffffff3b efffffff36      	movl	_test_event,_exp_event
  73  000104F6                                   # 	     asm("mulf _dbl_value_1");
  74  000104F6    e6 efffffff30                 mulf _dbl_value_1
  75  000104FC                                   # 	     asm("mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3+3");
  76  000104FC    5c efffffff2a efffffff25      mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3+3
                  efffffff23 
  77  0001050C                                   # 	     asm("negf");
  78  0001050C    b6                            negf
  79  0001050D                                   # /*
  80  0001050D                                   #  * If we got to here then there was no event
  81  0001050D                                   # */
  82  0001050D                                   # 	     if( force_loop )
  83  0001050D    5d efffffff19                 	tstl	_force_loop
  84  00010513    31 03                         	jeql	L388
  85  00010515                                   # 		  asm("brw _pipe4_lp1");;	/* loop on the error         */
Assemb00027BEC                                   # 		  asm("brw _pipe4_lp1");;	/* loop on the error         */
"pipe400027BEC  86: WARNING: brw: destination label is external
  86  00010515    13 ffca                       brw _pipe4_lp1
  87  00010518                                  L388:
  88  00010518                                   # 	     exp_event = FALSE;			/* reset event expected flag */
  89  00010518    4d efffffff0e                 	clrl	_exp_event
  90  0001051E                                   # 	     asm("movl _pre_event_fp,fp");	/* restore the frame pointer */
  91  0001051E    0d efffffff08 5d              movl _pre_event_fp,fp
  92  00010525                                   # 	     asm("movl _pre_event_sp,sp");	/* restore the stack pointer */
  93  00010525    0d efffffff01 5e              movl _pre_event_sp,sp
  94  0001052C                                   # 	     asm("bicpsw $0x60");		/* disable ovfl & undfl evts */
  95  0001052C    9b 8860                       bicpsw $0x60
  96  0001052F                                   # 	     no_pipe4_evt();;			/* report the error          */
  97  0001052F    fe 04 ef0000005c              	callf	$4,_no_pipe4_evt
  98  00010536                                   # /*
  99  00010536                                   #  * Come here after the event
 100  00010536                                   # */
 101  00010536                                   # 	     asm(".globl _pipe4_ret");
 102  00010536                                  .globl _pipe4_ret
 103  00010536                                   # 	     asm("_pipe4_ret:");
 104  00010536                                  _pipe4_ret:
 105  00010536                                   # 	     asm("movl _pre_event_fp,fp");	/* restore the frame pointer */
 106  00010536    0d effffffef0 5d              movl _pre_event_fp,fp
 107  0001053D                                   # 	     asm("movl _pre_event_sp,sp");	/* restore the stack pointer */
 108  0001053D    0d effffffee9 5e              movl _pre_event_sp,sp
 109  00010544                                   # 	     if( force_loop )
 110  00010544    5d effffffee2                 	tstl	_force_loop
 111  0001054A    31 03                         	jeql	L390
 112  0001054C                                   # 		  asm("brw _pipe4_lp1");;	/* loop on the error         */
"pipe400027BEC  113: WARNING: brw: destination label is external
 113  0001054C    13 ff93                       brw _pipe4_lp1
 114  0001054F                                  L390:
 115  0001054F                                   # 	     asm("bicpsw $0x60");		/* disable ovfl & undfl evts */
 116  0001054F    9b 8860                       bicpsw $0x60
 117  00010552                                   # 	     if( post_evt_acc.m == (dbl_expected.m ^ 0x80000000) )
 118  00010552    dc 8f80000000 effffffecf      	xorl3	$-2147483648,_dbl_expected,r0
                  50 
 119  0001055E    1d effffffec8 50              	cmpl	_post_evt_acc,r0
 120  00010565    21 09                         	jneq	L391
 121  00010567                                   # 		  pipe4_queue_er();		/* fpp queue not cleared     */
 122  00010567    fe 04 ef00000216              	callf	$4,_pipe4_queue_er
 123  0001056E                                   # 	     else if( post_evt_acc.m != dbl_expected.m )
 124  0001056E    11 14                         	jbr 	L393
 125  00010570                                  L391:
 126  00010570    1d effffffeb6 effffffeb1      	cmpl	_post_evt_acc,_dbl_expected
 127  0001057B    31 07                         	jeql	L394
 128  0001057D                                   # 		  bad_pipe4_result();		/* incorrect result error    */
 129  0001057D    fe 04 ef000000e6              	callf	$4,_bad_pipe4_result
 130  00010584                                   # 	}
 131  00010584                                  L394:
 132  00010584                                  L393:
 133  00010584                                  L385:
 134  00010584    6d effffffea2                 	incl	_index
 135  0001058A    13 fed7                       	jbr 	L387
 136  0001058D                                  L386:
 137  0001058D                                   # }
 138  0001058D    40                            	ret#2
 139  0001058E                                  	.set	L381,0x0
 140  0001058E                                  L383:
 141  0001058E    13 fea0                       	jbr 	L384
 142  00010591                                  	.data
 143  000005c4 *                                	.text
 144  00010591    00                            	.align	1
 145  00010592                                  	.globl	_no_pipe4_evt
 146  00010592                                  _no_pipe4_evt:
 147  00010592    0000                          	.word	L396
 148  00010594                                   # 
 149  00010594                                   # 
 150  00010594                                   # 
 151  00010594                                   # /****************************************************************************
 152  00010594                                   # *		Report an "EVENT NOT DETECTED" error
 153  00010594                                   # *
 154  00010594                                   # * Cycle: xx. EVT test xx. subtest xx. no alignment fault. index = xx
 155  00010594                                   # * inst = LDF op1, MULF op2, MULL3 op3,op4,op5 (alignment fault on MULL3)
 156  00010594                                   # * op1 = xxxxxxxx,  op2 = xxxxxxxx 
 157  00010594                                   # * op3 = xxxxxxxx,  op4 = xxxxxxxx,  addr op5 = xxxxxxxx 
 158  00010594                                   # ****************************************************************************/
 159  00010594                                   # no_pipe4_evt()
 160  00010594                                   # {
 161  00010594    13 00d0                       	jbr 	L398
 162  00010597                                  L399:
 163  00010597                                   # 	errcnt++;				/* bump the error count    */
 164  00010597    6d effffffe8f                 	incl	_errcnt
 165  0001059D                                   # 	if ( prt_error ) 
 166  0001059D    5d effffffe89                 	tstl	_prt_error
 167  000105A3    21 03 13 0098                 	jeql	L400
 168  000105A8                                   # 	{
 169  000105A8                                   # 	     print_pipe4_er( ". no alignment fault.");
 170  000105A8                                  	.data	1
 171  000005c4 *                                L402:
 172  000005c4 *  2E206E6F20616C69676E6D656     	.ascii	". no alignment fault.\0"
                  E74206661756C742E00
 173  000005da *                                	.text
 174  000105A8    dd 8f000005c4                 	pushl	$L402
 175  000105AE    fe 08 ef000002e9              	callf	$8,_print_pipe4_er
 176  000105B5                                   # 	     writes("op1 = ");
 177  000105B5                                  	.data	1
 178  000005da *                                L404:
 179  000005da *  6F7031203D2000                	.ascii	"op1 = \0"
 180  000005e1 *                                	.text
 181  000105B5    dd 8f000005da                 	pushl	$L404
 182  000105BB    fe 08 effffffe6a              	callf	$8,_writes
 183  000105C2                                   # 	     write32h( dbl_ld_acc.m );
 184  000105C2    dd effffffe64                 	pushl	_dbl_ld_acc
 185  000105C8    fe 08 effffffe5d              	callf	$8,_write32h
 186  000105CF                                   # 	     writes(",  op2 = ");
 187  000105CF                                  	.data	1
 188  000005e1 *                                L406:
 189  000005e1 *  2C20206F7032203D2000          	.ascii	",  op2 = \0"
 190  000005eb *                                	.text
 191  000105CF    dd 8f000005e1                 	pushl	$L406
 192  000105D5    fe 08 effffffe50              	callf	$8,_writes
 193  000105DC                                   # 	     write32h( dbl_value_1.m );
 194  000105DC    dd effffffe4a                 	pushl	_dbl_value_1
 195  000105E2    fe 08 effffffe43              	callf	$8,_write32h
 196  000105E9                                   # 	     writes("\nop3 = ");
 197  000105E9                                  	.data	1
 198  000005eb *                                L407:
 199  000005eb *  0A6F7033203D2000              	.ascii	"\12op3 = \0"
 200  000005f3 *                                	.text
 201  000105E9    dd 8f000005eb                 	pushl	$L407
 202  000105EF    fe 08 effffffe36              	callf	$8,_writes
 203  000105F6                                   # 	     write32h( sgl_value_1 );
 204  000105F6    dd effffffe30                 	pushl	_sgl_value_1
 205  000105FC    fe 08 effffffe29              	callf	$8,_write32h
 206  00010603                                   # 	     writes(",  op4 = ");
 207  00010603                                  	.data	1
 208  000005f3 *                                L408:
 209  000005f3 *  2C20206F7034203D2000          	.ascii	",  op4 = \0"
 210  000005fd *                                	.text
 211  00010603    dd 8f000005f3                 	pushl	$L408
 212  00010609    fe 08 effffffe1c              	callf	$8,_writes
 213  00010610                                   # 	     write32h( sgl_value_2 );
 214  00010610    dd effffffe16                 	pushl	_sgl_value_2
 215  00010616    fe 08 effffffe0f              	callf	$8,_write32h
 216  0001061D                                   # 	     writes(",  addr of op5 = ");
 217  0001061D                                  	.data	1
 218  000005fd *                                L409:
 219  000005fd *  2C202061646472206F66206F7     	.ascii	",  addr of op5 = \0"
                  035203D2000
 220  0000060f *                                	.text
 221  0001061D    dd 8f000005fd                 	pushl	$L409
 222  00010623    fe 08 effffffe02              	callf	$8,_writes
 223  0001062A                                   # 	     write32h( ( (int)&sgl_value_3 )+1 );
 224  0001062A    dd 8f00000001                 	pushl	$_sgl_value_3+1
 225  00010630    fe 08 effffffdf5              	callf	$8,_write32h
 226  00010637                                   # 	     writec('\n');
 227  00010637    dd 0a                         	pushl	$10
 228  00010639    fe 08 effffffdec              	callf	$8,_writec
 229  00010640                                   # 	}
 230  00010640                                   # 	if ( halt_flg ) 			/* halt on error?           */
 231  00010640                                  L400:
 232  00010640    5d effffffde6                 	tstl	_halt_flg
 233  00010646    31 09                         	jeql	L411
 234  00010648                                   # 	     pipe4_halt( 1 );
 235  00010648    dd 01                         	pushl	$1
 236  0001064A    fe 08 ef000002f9              	callf	$8,_pipe4_halt
 237  00010651                                   # 	if ( loop_on_err ) 
 238  00010651                                  L411:
 239  00010651    5d effffffdd5                 	tstl	_loop_on_err
 240  00010657    31 0d                         	jeql	L413
 241  00010659                                   # 	{
 242  00010659                                   # 	     force_loop = TRUE;		/* set the force loop flag */
 243  00010659    0d 01 effffffdcc              	movl	$1,_force_loop
 244  00010660                                   # 	     asm("jmp _pipe4_lp1");	/* and loop                */
 245  00010660    71 effffffe7c                 jmp _pipe4_lp1
 246  00010666                                   # 	};
 247  00010666                                  L413:
 248  00010666                                   # }
 249  00010666    40                            	ret#2
 250  00010667                                  	.set	L396,0x0
 251  00010667                                  L398:
 252  00010667    13 ff2d                       	jbr 	L399
 253  0001066A                                  	.data
 254  000005c4 *                                	.text
 255  0001066A                                  	.align	1
 256  0001066A                                  	.globl	_bad_pipe4_result
 257  0001066A                                  _bad_pipe4_result:
 258  0001066A    0000                          	.word	L414
 259  0001066C                                   # 
 260  0001066C                                   # 
 261  0001066C                                   # 
 262  0001066C                                   # 
 263  0001066C                                   # /****************************************************************************
 264  0001066C                                   # *		Report an "BAD ACCUMULATOR AFTER THE EVENT" error
 265  0001066C                                   # *
 266  0001066C                                   # * Cycle: xx. EVT test xx. subtest xx. Bad final Accumulator. index = xx
 267  0001066C                                   # * inst = LDF op1, MULF op2, MULL3 op3,op4,op5 (alignment fault on MULL3)
 268  0001066C                                   # * The NEGF should not have been executed.
 269  0001066C                                   # * op1 = xxxxxxxx, op2 = xxxxxxxx, final Acc. = xxxxxxxx, expected = xxxxxxxx 
 270  0001066C                                   # * op3 = xxxxxxxx, op4 = xxxxxxxx,   addr op5 = xxxxxxxx 
 271  0001066C                                   # ****************************************************************************/
 272  0001066C                                   # bad_pipe4_result()
 273  0001066C                                   # {
 274  0001066C    13 0111                       	jbr 	L416
 275  0001066F                                  L417:
 276  0001066F                                   # 	errcnt++;				/* bump the error count    */
 277  0001066F    6d effffffdb7                 	incl	_errcnt
 278  00010675                                   # 	if ( prt_error ) 
 279  00010675    5d effffffdb1                 	tstl	_prt_error
 280  0001067B    21 03 13 00d9                 	jeql	L418
 281  00010680                                   # 	{
 282  00010680                                   # 	     print_pipe4_er(". Bad final Accumulator.");
 283  00010680                                  	.data	1
 284  0000060f *                                L419:
 285  0000060f *  2E204261642066696E616C204     	.ascii	". Bad final Accumulator.\0"
                  16363756D756C61746F722E00
 286  00000628 *                                	.text
 287  00010680    dd 8f0000060f                 	pushl	$L419
 288  00010686    fe 08 ef00000211              	callf	$8,_print_pipe4_er
 289  0001068D                                   # 	     writes("The NEGF should not have been executed.\n");
 290  0001068D                                  	.data	1
 291  00000628 *                                L420:
 292  00000628 *  546865204E4547462073686F7     	.ascii	"The NEGF should not have been executed.\12\0"
                  56C64206E6F74206861766520
                  6265656E20657865637574656
                  42E0A00
 293  00000651 *                                	.text
 294  0001068D    dd 8f00000628                 	pushl	$L420
 295  00010693    fe 08 effffffd92              	callf	$8,_writes
 296  0001069A                                   # 	     writes("op1 = ");
 297  0001069A                                  	.data	1
 298  00000651 *                                L421:
 299  00000651 *  6F7031203D2000                	.ascii	"op1 = \0"
 300  00000658 *                                	.text
 301  0001069A    dd 8f00000651                 	pushl	$L421
 302  000106A0    fe 08 effffffd85              	callf	$8,_writes
 303  000106A7                                   # 	     write32h( dbl_value_1.m );
 304  000106A7    dd effffffd7f                 	pushl	_dbl_value_1
 305  000106AD    fe 08 effffffd78              	callf	$8,_write32h
 306  000106B4                                   # 	     writes(", op2 = ");
 307  000106B4                                  	.data	1
 308  00000658 *                                L422:
 309  00000658 *  2C206F7032203D2000            	.ascii	", op2 = \0"
 310  00000661 *                                	.text
 311  000106B4    dd 8f00000658                 	pushl	$L422
 312  000106BA    fe 08 effffffd6b              	callf	$8,_writes
 313  000106C1                                   # 	     write32h( dbl_value_2.m );
 314  000106C1    dd effffffd65                 	pushl	_dbl_value_2
 315  000106C7    fe 08 effffffd5e              	callf	$8,_write32h
 316  000106CE                                   # 	     writes(", final Acc. = ");
 317  000106CE                                  	.data	1
 318  00000661 *                                L423:
 319  00000661 *  2C2066696E616C204163632E2     	.ascii	", final Acc. = \0"
                  03D2000
 320  00000671 *                                	.text
 321  000106CE    dd 8f00000661                 	pushl	$L423
 322  000106D4    fe 08 effffffd51              	callf	$8,_writes
 323  000106DB                                   # 	     write32h( post_evt_acc.m );
 324  000106DB    dd effffffd4b                 	pushl	_post_evt_acc
 325  000106E1    fe 08 effffffd44              	callf	$8,_write32h
 326  000106E8                                   # 	     writes(", expected   = ");
 327  000106E8                                  	.data	1
 328  00000671 *                                L424:
 329  00000671 *  2C20657870656374656420202     	.ascii	", expected   = \0"
                  03D2000
 330  00000681 *                                	.text
 331  000106E8    dd 8f00000671                 	pushl	$L424
 332  000106EE    fe 08 effffffd37              	callf	$8,_writes
 333  000106F5                                   # 	     write32h( dbl_expected.m );
 334  000106F5    dd effffffd31                 	pushl	_dbl_expected
 335  000106FB    fe 08 effffffd2a              	callf	$8,_write32h
 336  00010702                                   # 	     writes("\nop3 = ");
 337  00010702                                  	.data	1
 338  00000681 *                                L425:
 339  00000681 *  0A6F7033203D2000              	.ascii	"\12op3 = \0"
 340  00000689 *                                	.text
 341  00010702    dd 8f00000681                 	pushl	$L425
 342  00010708    fe 08 effffffd1d              	callf	$8,_writes
 343  0001070F                                   # 	     write32h( sgl_value_1 );
 344  0001070F    dd effffffd17                 	pushl	_sgl_value_1
 345  00010715    fe 08 effffffd10              	callf	$8,_write32h
 346  0001071C                                   # 	     writes(", op4 = ");
 347  0001071C                                  	.data	1
 348  00000689 *                                L426:
 349  00000689 *  2C206F7034203D2000            	.ascii	", op4 = \0"
 350  00000692 *                                	.text
 351  0001071C    dd 8f00000689                 	pushl	$L426
 352  00010722    fe 08 effffffd03              	callf	$8,_writes
 353  00010729                                   # 	     write32h( sgl_value_2 );
 354  00010729    dd effffffcfd                 	pushl	_sgl_value_2
 355  0001072F    fe 08 effffffcf6              	callf	$8,_write32h
 356  00010736                                   # 	     writes(",   addr of op5 = ");
 357  00010736                                  	.data	1
 358  00000692 *                                L427:
 359  00000692 *  2C20202061646472206F66206     	.ascii	",   addr of op5 = \0"
                  F7035203D2000
 360  000006a5 *                                	.text
 361  00010736    dd 8f00000692                 	pushl	$L427
 362  0001073C    fe 08 effffffce9              	callf	$8,_writes
 363  00010743                                   # 	     write32h( ( (int)&sgl_value_3 )+1 );
 364  00010743    dd 8f00000001                 	pushl	$_sgl_value_3+1
 365  00010749    fe 08 effffffcdc              	callf	$8,_write32h
 366  00010750                                   # 	     writec('\n');
 367  00010750    dd 0a                         	pushl	$10
 368  00010752    fe 08 effffffcd3              	callf	$8,_writec
 369  00010759                                   # 	}
 370  00010759                                   # 	if ( halt_flg ) 			/* halt on error?           */
 371  00010759                                  L418:
 372  00010759    5d effffffccd                 	tstl	_halt_flg
 373  0001075F    31 09                         	jeql	L428
 374  00010761                                   # 	     pipe4_halt( 2 );
 375  00010761    dd 02                         	pushl	$2
 376  00010763    fe 08 ef000001e0              	callf	$8,_pipe4_halt
 377  0001076A                                   # 	if ( loop_on_err ) 
 378  0001076A                                  L428:
 379  0001076A    5d effffffcbc                 	tstl	_loop_on_err
 380  00010770    31 0d                         	jeql	L429
 381  00010772                                   # 	{
 382  00010772                                   # 	     force_loop = TRUE;		/* set the force loop flag */
 383  00010772    0d 01 effffffcb3              	movl	$1,_force_loop
 384  00010779                                   # 	     asm("jmp _pipe4_lp1");	/* and loop                */
 385  00010779    71 effffffd63                 jmp _pipe4_lp1
 386  0001077F                                   # 	};
 387  0001077F                                  L429:
 388  0001077F                                   # }
 389  0001077F    40                            	ret#2
 390  00010780                                  	.set	L414,0x0
 391  00010780                                  L416:
 392  00010780    13 feec                       	jbr 	L417
 393  00010783                                  	.data
 394  000005c4 *                                	.text
 395  00010783    00                            	.align	1
 396  00010784                                  	.globl	_pipe4_queue_er
 397  00010784                                  _pipe4_queue_er:
 398  00010784    0000                          	.word	L430
 399  00010786                                   # 
 400  00010786                                   # 
 401  00010786                                   # 
 402  00010786                                   # 
 403  00010786                                   # 
 404  00010786                                   # /****************************************************************************
 405  00010786                                   # *		Report an "FPP Queue apparently not cleared" error
 406  00010786                                   # *
 407  00010786                                   # * Cycle: xx. EVT test xx. subtest xx. Fpp Queue not cleared. index = xx
 408  00010786                                   # * inst = LDF op1, MULF op2, MULL3 op3,op4,op5, NEGF (alignment fault on MULL3)
 409  00010786                                   # * The NEGF should not have been executed but apparently was.
 410  00010786                                   # * op1 = xxxxxxxx, op2 = xxxxxxxx, final Acc. = xxxxxxxx, expected = xxxxxxxx 
 411  00010786                                   # * op3 = xxxxxxxx, op4 = xxxxxxxx,   addr op5 = xxxxxxxx 
 412  00010786                                   # ****************************************************************************/
 413  00010786                                   # pipe4_queue_er()
 414  00010786                                   # {
 415  00010786    13 0111                       	jbr 	L432
 416  00010789                                  L433:
 417  00010789                                   # 	errcnt++;				/* bump the error count    */
 418  00010789    6d effffffc9d                 	incl	_errcnt
 419  0001078F                                   # 	if ( prt_error ) 
 420  0001078F    5d effffffc97                 	tstl	_prt_error
 421  00010795    21 03 13 00d9                 	jeql	L434
 422  0001079A                                   # 	{
 423  0001079A                                   # 	     print_pipe4_er(". Fpp Queue not cleared.");
 424  0001079A                                  	.data	1
 425  000006a5 *                                L435:
 426  000006a5 *  2E20467070205175657565206     	.ascii	". Fpp Queue not cleared.\0"
                  E6F7420636C65617265642E00
 427  000006be *                                	.text
 428  0001079A    dd 8f000006a5                 	pushl	$L435
 429  000107A0    fe 08 ef000000f7              	callf	$8,_print_pipe4_er
 430  000107A7                                   # 	     writes(
 431  000107A7                                   # 	     "The NEGF should not have been executed but apparently was.\n");
 432  000107A7                                  	.data	1
 433  000006be *                                L436:
 434  000006be *  546865204E4547462073686F7     	.ascii	"The NEGF should not have been executed but apparently was.\12\0"
                  56C64206E6F74206861766520
                  6265656E20657865637574656
                  420627574206170706172656E
                  746C79207761732E0A00
 435  000006fa *                                	.text
 436  000107A7    dd 8f000006be                 	pushl	$L436
 437  000107AD    fe 08 effffffc78              	callf	$8,_writes
 438  000107B4                                   # 	     writes("op1 = ");
 439  000107B4                                  	.data	1
 440  000006fa *                                L437:
 441  000006fa *  6F7031203D2000                	.ascii	"op1 = \0"
 442  00000701 *                                	.text
 443  000107B4    dd 8f000006fa                 	pushl	$L437
 444  000107BA    fe 08 effffffc6b              	callf	$8,_writes
 445  000107C1                                   # 	     write32h( dbl_value_1.m );
 446  000107C1    dd effffffc65                 	pushl	_dbl_value_1
 447  000107C7    fe 08 effffffc5e              	callf	$8,_write32h
 448  000107CE                                   # 	     writes(", op2 = ");
 449  000107CE                                  	.data	1
 450  00000701 *                                L438:
 451  00000701 *  2C206F7032203D2000            	.ascii	", op2 = \0"
 452  0000070a *                                	.text
 453  000107CE    dd 8f00000701                 	pushl	$L438
 454  000107D4    fe 08 effffffc51              	callf	$8,_writes
 455  000107DB                                   # 	     write32h( dbl_value_2.m );
 456  000107DB    dd effffffc4b                 	pushl	_dbl_value_2
 457  000107E1    fe 08 effffffc44              	callf	$8,_write32h
 458  000107E8                                   # 	     writes(", final Acc. = ");
 459  000107E8                                  	.data	1
 460  0000070a *                                L439:
 461  0000070a *  2C2066696E616C204163632E2     	.ascii	", final Acc. = \0"
                  03D2000
 462  0000071a *                                	.text
 463  000107E8    dd 8f0000070a                 	pushl	$L439
 464  000107EE    fe 08 effffffc37              	callf	$8,_writes
 465  000107F5                                   # 	     write32h( post_evt_acc.m );
 466  000107F5    dd effffffc31                 	pushl	_post_evt_acc
 467  000107FB    fe 08 effffffc2a              	callf	$8,_write32h
 468  00010802                                   # 	     writes(", expected   = ");
 469  00010802                                  	.data	1
 470  0000071a *                                L440:
 471  0000071a *  2C20657870656374656420202     	.ascii	", expected   = \0"
                  03D2000
 472  0000072a *                                	.text
 473  00010802    dd 8f0000071a                 	pushl	$L440
 474  00010808    fe 08 effffffc1d              	callf	$8,_writes
 475  0001080F                                   # 	     write32h( dbl_expected.m );
 476  0001080F    dd effffffc17                 	pushl	_dbl_expected
 477  00010815    fe 08 effffffc10              	callf	$8,_write32h
 478  0001081C                                   # 	     writes("\nop3 = ");
 479  0001081C                                  	.data	1
 480  0000072a *                                L441:
 481  0000072a *  0A6F7033203D2000              	.ascii	"\12op3 = \0"
 482  00000732 *                                	.text
 483  0001081C    dd 8f0000072a                 	pushl	$L441
 484  00010822    fe 08 effffffc03              	callf	$8,_writes
 485  00010829                                   # 	     write32h( sgl_value_1 );
 486  00010829    dd effffffbfd                 	pushl	_sgl_value_1
 487  0001082F    fe 08 effffffbf6              	callf	$8,_write32h
 488  00010836                                   # 	     writes(", op4 = ");
 489  00010836                                  	.data	1
 490  00000732 *                                L442:
 491  00000732 *  2C206F7034203D2000            	.ascii	", op4 = \0"
 492  0000073b *                                	.text
 493  00010836    dd 8f00000732                 	pushl	$L442
 494  0001083C    fe 08 effffffbe9              	callf	$8,_writes
 495  00010843                                   # 	     write32h( sgl_value_2 );
 496  00010843    dd effffffbe3                 	pushl	_sgl_value_2
 497  00010849    fe 08 effffffbdc              	callf	$8,_write32h
 498  00010850                                   # 	     writes(",   addr of op5 = ");
 499  00010850                                  	.data	1
 500  0000073b *                                L443:
 501  0000073b *  2C20202061646472206F66206     	.ascii	",   addr of op5 = \0"
                  F7035203D2000
 502  0000074e *                                	.text
 503  00010850    dd 8f0000073b                 	pushl	$L443
 504  00010856    fe 08 effffffbcf              	callf	$8,_writes
 505  0001085D                                   # 	     write32h( ( (int)&sgl_value_3 )+1 );
 506  0001085D    dd 8f00000001                 	pushl	$_sgl_value_3+1
 507  00010863    fe 08 effffffbc2              	callf	$8,_write32h
 508  0001086A                                   # 	     writec('\n');
 509  0001086A    dd 0a                         	pushl	$10
 510  0001086C    fe 08 effffffbb9              	callf	$8,_writec
 511  00010873                                   # 	}
 512  00010873                                   # 	if ( halt_flg ) 			/* halt on error?           */
 513  00010873                                  L434:
 514  00010873    5d effffffbb3                 	tstl	_halt_flg
 515  00010879    31 09                         	jeql	L444
 516  0001087B                                   # 	     pipe4_halt( 3 );
 517  0001087B    dd 03                         	pushl	$3
 518  0001087D    fe 08 ef000000c6              	callf	$8,_pipe4_halt
 519  00010884                                   # 	if ( loop_on_err ) 
 520  00010884                                  L444:
 521  00010884    5d effffffba2                 	tstl	_loop_on_err
 522  0001088A    31 0d                         	jeql	L445
 523  0001088C                                   # 	{
 524  0001088C                                   # 	     force_loop = TRUE;		/* set the force loop flag */
 525  0001088C    0d 01 effffffb99              	movl	$1,_force_loop
 526  00010893                                   # 	     asm("jmp _pipe4_lp1");	/* and loop                */
 527  00010893    71 effffffc49                 jmp _pipe4_lp1
 528  00010899                                   # 	};
 529  00010899                                  L445:
 530  00010899                                   # }
 531  00010899    40                            	ret#2
 532  0001089A                                  	.set	L430,0x0
 533  0001089A                                  L432:
 534  0001089A    13 feec                       	jbr 	L433
 535  0001089D                                  	.data
 536  000005c4 *                                	.text
 537  0001089D    00                            	.align	1
 538  0001089E                                  	.globl	_print_pipe4_er
 539  0001089E                                  _print_pipe4_er:
 540  0001089E    0000                          	.word	L446
 541  000108A0                                   # 
 542  000108A0                                   # 
 543  000108A0                                   # 
 544  000108A0                                   # /****************************************************************************
 545  000108A0                                   # *		print an error message of the form:
 546  000108A0                                   # *
 547  000108A0                                   # * Cycle: xx. EVT test xx. subtest xx. <your message here> index = xx
 548  000108A0                                   # * inst = LDF op1; MULF op2; MULL3 op3,op4,op5; NEGF; (alignment fault on MULL3)
 549  000108A0                                   # ****************************************************************************/
 550  000108A0                                   # print_pipe4_er( msg )
 551  000108A0                                   # char *msg;					/* error message to print  */
 552  000108A0                                   # {
 553  000108A0    13 00a3                       	jbr 	L448
 554  000108A3                                  L449:
 555  000108A3                                   # 	     if( errcnt == 1 )			/* 1st error?              */
 556  000108A3    1d effffffb83 01              	cmpl	_errcnt,$1
 557  000108AA    21 0d                         	jneq	L450
 558  000108AC                                   # 		  writes(" \n");		/* start a new print line  */
 559  000108AC                                  	.data	1
 560  0000074e *                                L451:
 561  0000074e *  200A00                        	.ascii	" \12\0"
 562  00000751 *                                	.text
 563  000108AC    dd 8f0000074e                 	pushl	$L451
 564  000108B2    fe 08 effffffb73              	callf	$8,_writes
 565  000108B9                                   # 	     writes("Cycle: ");
 566  000108B9                                  L450:
 567  000108B9                                  	.data	1
 568  00000751 *                                L452:
 569  00000751 *  4379636C653A2000              	.ascii	"Cycle: \0"
 570  00000759 *                                	.text
 571  000108B9    dd 8f00000751                 	pushl	$L452
 572  000108BF    fe 08 effffffb66              	callf	$8,_writes
 573  000108C6                                   # 	     writed( cycle );
 574  000108C6    dd effffffb60                 	pushl	_cycle
 575  000108CC    fe 08 effffffb59              	callf	$8,_writed
 576  000108D3                                   # 	     writes("  EVT test ");
 577  000108D3                                  	.data	1
 578  00000759 *                                L454:
 579  00000759 *  202045565420746573742000      	.ascii	"  EVT test \0"
 580  00000765 *                                	.text
 581  000108D3    dd 8f00000759                 	pushl	$L454
 582  000108D9    fe 08 effffffb4c              	callf	$8,_writes
 583  000108E0                                   # 	     writed( test_no );
 584  000108E0    dd effffffb46                 	pushl	_test_no
 585  000108E6    fe 08 effffffb3f              	callf	$8,_writed
 586  000108ED                                   # 	     writes(". subtest ");
 587  000108ED                                  	.data	1
 588  00000765 *                                L455:
 589  00000765 *  2E20737562746573742000        	.ascii	". subtest \0"
 590  00000770 *                                	.text
 591  000108ED    dd 8f00000765                 	pushl	$L455
 592  000108F3    fe 08 effffffb32              	callf	$8,_writes
 593  000108FA                                   # 	     writed( subtest );
 594  000108FA    dd effffffb2c                 	pushl	_subtest
 595  00010900    fe 08 effffffb25              	callf	$8,_writed
 596  00010907                                   # 	     writes( msg );			/* print the error message */
 597  00010907    dd ad04                       	pushl	4(fp)
 598  0001090A    fe 08 effffffb1b              	callf	$8,_writes
 599  00010911                                   # 	     writes(" index = ");
 600  00010911                                  	.data	1
 601  00000770 *                                L456:
 602  00000770 *  20696E646578203D2000          	.ascii	" index = \0"
 603  0000077a *                                	.text
 604  00010911    dd 8f00000770                 	pushl	$L456
 605  00010917    fe 08 effffffb0e              	callf	$8,_writes
 606  0001091E                                   # 	     writed( index );
 607  0001091E    dd effffffb08                 	pushl	_index
 608  00010924    fe 08 effffffb01              	callf	$8,_writed
 609  0001092B                                   # 	     writes("\ninst = LDF op1; MULF op2; MULL3 op3,op4,op5; NEGF");
 610  0001092B                                  	.data	1
 611  0000077a *                                L457:
 612  0000077a *  0A696E7374203D204C4446206     	.ascii	"\12inst = LDF op1; MULF op2; MULL3 op3,op4,op5; NEGF\0"
                  F70313B204D554C46206F7032
                  3B204D554C4C33206F70332C6
                  F70342C6F70353B204E454746
                  00
 613  000007ad *                                	.text
 614  0001092B    dd 8f0000077a                 	pushl	$L457
 615  00010931    fe 08 effffffaf4              	callf	$8,_writes
 616  00010938                                   # 	     writes(" (alignment fault on MULL3)\n");
 617  00010938                                  	.data	1
 618  000007ad *                                L458:
 619  000007ad *  2028616C69676E6D656E74206     	.ascii	" (alignment fault on MULL3)\12\0"
                  661756C74206F6E204D554C4C
                  33290A00
 620  000007ca *                                	.text
 621  00010938    dd 8f000007ad                 	pushl	$L458
 622  0001093E    fe 08 effffffae7              	callf	$8,_writes
 623  00010945                                   # }
 624  00010945    40                            	ret#2
 625  00010946                                  	.set	L446,0x0
 626  00010946                                  L448:
 627  00010946    13 ff5a                       	jbr 	L449
 628  00010949                                  	.data
 629  000005c4 *                                	.text
 630  00010949    00                            	.align	1
 631  0001094A                                  	.globl	_pipe4_halt
 632  0001094A                                  _pipe4_halt:
 633  0001094A    0000                          	.word	L459
 634  0001094C                                   # 
 635  0001094C                                   # 
 636  0001094C                                   # 
 637  0001094C                                   # /****************************************************************************
 638  0001094C                                   # *		Halt on Error routine
 639  0001094C                                   # ****************************************************************************/
 640  0001094C                                   # pipe4_halt( code )
 641  0001094C                                   # int code;					/* error code to halt with */
 642  0001094C                                   # {
 643  0001094C    13 009b                       	jbr 	L461
 644  0001094F                                  L462:
 645  0001094F                                   # 	err_code = code;
 646  0001094F    0d ad04 effffffad5            	movl	4(fp),_err_code
 647  00010957                                   # 	sgl_value_4 = dbl_ld_acc.m;
 648  00010957    0d effffffacf effffffaca      	movl	_dbl_ld_acc,_sgl_value_4
 649  00010962                                   # 	sgl_value_5 = dbl_value_1.m;
 650  00010962    0d effffffac4 effffffabf      	movl	_dbl_value_1,_sgl_value_5
 651  0001096D                                   # 	asm("movl _test_no,r0");		/* r0  = test number        */
 652  0001096D    0d effffffab9 50              movl _test_no,r0
 653  00010974                                   # 	asm("movl _subtest,r1");		/* r1  = subtest number     */
 654  00010974    0d effffffab2 51              movl _subtest,r1
 655  0001097B                                   # 	asm("movl _err_code,r2");		/* r2  = error code         */
 656  0001097B    0d effffffaab 52              movl _err_code,r2
 657  00010982                                   # 	asm("movl _cycle,r3");			/* r3  = cycle count        */
 658  00010982    0d effffffaa4 53              movl _cycle,r3
 659  00010989                                   # 	asm("movl _sgl_value_4,r4");		/* r4  = floating operand 1 */
 660  00010989    0d effffffa9d 54              movl _sgl_value_4,r4
 661  00010990                                   # 	asm("movl _sgl_value_5,r5");		/* r5  = floating operand 2 */
 662  00010990    0d effffffa96 55              movl _sgl_value_5,r5
 663  00010997                                   # 	asm("movl _sgl_value_1,r6");		/* r6  = integer operand 1  */
 664  00010997    0d effffffa8f 56              movl _sgl_value_1,r6
 665  0001099E                                   # 	asm("movl _sgl_value_2,r7");		/* r7  = integer operand 2  */
 666  0001099E    0d effffffa88 57              movl _sgl_value_2,r7
 667  000109A5                                   # 	asm("moval _sgl_value_3,r8");
 668  000109A5    ed effffffa81 58              moval _sgl_value_3,r8
 669  000109AC                                   # 	asm("incl r8");				/* r8  = addr causing event */
 670  000109AC    6d 58                         incl r8
 671  000109AE                                   # 	if( code == 1 )
 672  000109AE    1d ad04 01                    	cmpl	4(fp),$1
 673  000109B2    21 09                         	jneq	L463
 674  000109B4                                   # 	     asm("movl _index,r9");		/* r9  = data index         */
 675  000109B4    0d effffffa72 59              movl _index,r9
 676  000109BB                                   # 	else {
 677  000109BB    11 2b                         	jbr 	L464
 678  000109BD                                  L463:
 679  000109BD                                   # 	     sgl_value_6 = post_evt_acc.m;
 680  000109BD    0d effffffa69 effffffa64      	movl	_post_evt_acc,_sgl_value_6
 681  000109C8                                   # 	     sgl_value_7 = dbl_expected.m;
 682  000109C8    0d effffffa5e effffffa59      	movl	_dbl_expected,_sgl_value_7
 683  000109D3                                   # 	     asm("movl _sgl_value_6,r9");	/* r9  = final accumulator  */
 684  000109D3    0d effffffa53 59              movl _sgl_value_6,r9
 685  000109DA                                   # 	     asm("movl _sgl_value_7,r10");	/* r10 = expected acc.      */
 686  000109DA    0d effffffa4c 5a              movl _sgl_value_7,r10
 687  000109E1                                   # 	     asm("movl _index,r11");		/* r11 = data index         */
 688  000109E1    0d effffffa45 5b              movl _index,r11
 689  000109E8                                   # 	}
 690  000109E8                                  L464:
 691  000109E8                                   # 	asm("halt");;				/* HALT ...                 */
 692  000109E8    00                            halt
 693  000109E9                                   # }
 694  000109E9    40                            	ret#2
 695  000109EA                                  	.set	L459,0x0
 696  000109EA                                  L461:
 697  000109EA    13 ff62                       	jbr 	L462
 698  000109ED                                  	.data
 698  00020E19                                  	.data

unix.superglobalmegacorp.com

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