File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / fpevent / pipe7.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  000005c8 *                                	.text
   4  00000000                                  	.align	1
   5  00000000                                  	.globl	_pipe7
   6  00000000                                  _pipe7:
   7  000116F4    0000                          	.word	L381
   8  000116F6                                   # 
   9  000116F6                                   # #include "evt_defs.h"
  10  000116F6                                   # #define  MAX_POS 0x7fffffff;
  11  000116F6                                   # 
  12  000116F6                                   # /*
  13  000116F6                                   #  *********************************************************************
  14  000116F6                                   #  *	FPP PIPELINED EVENTS TEST #7
  15  000116F6                                   #  *
  16  000116F6                                   #  *  This test will execute the following code: "LDF DIVF MULL3 NEGF"
  17  000116F6                                   #  * with an integer overflow fault on the MULL3. We will make sure that:
  18  000116F6                                   #  * 1. The fault is detected, 
  19  000116F6                                   #  * 2. the floating divide operation completes,
  20  000116F6                                   #  * 3. and that the negate doesn't complete
  21  000116F6                                   #  *********************************************************************
  22  000116F6                                   # */
  23  000116F6                                   # pipe7()
  24  000116F6                                   # {
  25  000116F6    13 0166                       	jbr 	L383
  26  000116F9                                  L384:
  27  000116F9                                   # 	asm("moval (r13),_pre_event_fp");	/* save the frame pointer */
  28  000116F9    ed 6d effffffff4              moval (r13),_pre_event_fp
  29  00011700                                   # 	asm("moval (r14),_pre_event_sp");	/* save the stack pointer */
  30  00011700    ed 6e efffffffed              moval (r14),_pre_event_sp
  31  00011707                                   # 	precision = SGL;
  32  00011707    0d 01 efffffffe6              	movl	$1,_precision
  33  0001170E                                   # 	test_event = ARITH_CODE;		/* expect an arithmetic fault */
  34  0001170E    0d 34 efffffffdf              	movl	$52,_test_event
  35  00011715                                   # 	exp_code = INT_OVFL_CODE;		/*  -specificly int overflow  */
  36  00011715    0d 01 efffffffd8              	movl	$1,_exp_code
  37  0001171C                                   # 	exp_event = FALSE;			/* ... but not yet          */
  38  0001171C    4d efffffffd2                 	clrl	_exp_event
  39  00011722                                   # 	asm("movab _pipe7_ret,_event_return"); /* post event addr */
  40  00011722    e9 ef000000df efffffffc7      movab _pipe7_ret,_event_return
  41  0001172D                                   # 	for( index = 0; index < max_pipe7_index; index++ )
  42  0001172D    4d efffffffc1                 	clrl	_index
  43  00011733                                  L387:
  44  00011733    1d efffffffbb efffffffb6      	cmpl	_index,_max_pipe7_index
  45  0001173E    91 03 13 011b                 	jgeq	L386
  46  00011743                                   # 	{
  47  00011743                                   # 	     dbl_ld_acc =   pipe7_data[index].op_1;	/* get the data */
  48  00011743    5c 18 efffffffaa 50           	mull3	$24,_index,r0
  49  0001174B    0c 8f00000000 50              	addl2	$_pipe7_data,r0
  50  00011752    0d a004 efffffff9e            	movl	4(r0),_dbl_ld_acc+4
  51  0001175A    0d 60 efffffff93              	movl	(r0),_dbl_ld_acc
  52  00011761                                   # 	     dbl_value_1 =  pipe7_data[index].op_2;
  53  00011761    5c 18 efffffff8c 50           	mull3	$24,_index,r0
  54  00011769    0c 8f00000008 50              	addl2	$_pipe7_data+8,r0
  55  00011770    0d a004 efffffff80            	movl	4(r0),_dbl_value_1+4
  56  00011778    0d 60 efffffff75              	movl	(r0),_dbl_value_1
  57  0001177F                                   # 	     dbl_expected = pipe7_data[index].exp;
  58  0001177F    5c 18 efffffff6e 50           	mull3	$24,_index,r0
  59  00011787    0c 8f00000010 50              	addl2	$_pipe7_data+16,r0
  60  0001178E    0d a004 efffffff62            	movl	4(r0),_dbl_expected+4
  61  00011796    0d 60 efffffff57              	movl	(r0),_dbl_expected
  62  0001179D                                   # 	     sgl_value_1  = 0x12345;			/* get overflow data */
  63  0001179D    0d 8f00012345 efffffff4c      	movl	$74565,_sgl_value_1
  64  000117A8                                   # 	     sgl_value_2  = MAX_POS;
  65  000117A8    0d 8f7fffffff efffffff41      	movl	$2147483647,_sgl_value_2
  66  000117B3                                   # 	     asm("bispsw $0x60");			/* enable ovfl,undfl */
  67  000117B3    8b 8860                       bispsw $0x60
  68  000117B6                                   # 	     asm(".globl _pipe7_lp1");
  69  000117B6                                  .globl _pipe7_lp1
  70  000117B6                                   # 	     asm("_pipe7_lp1:");
  71  000117B6                                  _pipe7_lp1:
  72  000117B6                                   # 	     asm("ldf _dbl_ld_acc");			/* load the Acc.     */
  73  000117B6    06 efffffff38                 ldf _dbl_ld_acc
  74  000117BC                                   # 	     exp_event = test_event;			/* expect event soon */
  75  000117BC    0d efffffff32 efffffff2d      	movl	_test_event,_exp_event
  76  000117C7                                   # 	     asm("divf _dbl_value_1");			/* divide by op.#2   */
  77  000117C7    f6 efffffff27                 divf _dbl_value_1
  78  000117CD                                   # 	     asm("mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3");
  79  000117CD    5c efffffff21 efffffff1c      mull3 _sgl_value_1,_sgl_value_2,_sgl_value_3
                  efffffff17 
  80  000117DD                                   # 	     asm("negf");
  81  000117DD    b6                            negf
  82  000117DE                                   # /*
  83  000117DE                                   #  * If we got to here then there was no event
  84  000117DE                                   # */
  85  000117DE                                   # 	     if( force_loop )
  86  000117DE    5d efffffff10                 	tstl	_force_loop
  87  000117E4    31 03                         	jeql	L388
  88  000117E6                                   # 		  asm("brw _pipe7_lp1");;	/* loop on the error         */
Assemb00028EB4                                   # 		  asm("brw _pipe7_lp1");;	/* loop on the error         */
"pipe700028EB4  89: WARNING: brw: destination label is external
  89  000117E6    13 ffcd                       brw _pipe7_lp1
  90  000117E9                                  L388:
  91  000117E9                                   # 	     exp_event = FALSE;			/* reset event expected flag */
  92  000117E9    4d efffffff05                 	clrl	_exp_event
  93  000117EF                                   # 	     asm("movl _pre_event_fp,fp");	/* restore the frame pointer */
  94  000117EF    0d effffffeff 5d              movl _pre_event_fp,fp
  95  000117F6                                   # 	     asm("movl _pre_event_sp,sp");	/* restore the stack pointer */
  96  000117F6    0d effffffef8 5e              movl _pre_event_sp,sp
  97  000117FD                                   # 	     asm("bicpsw $0x60");		/* disable ovfl & undfl evts */
  98  000117FD    9b 8860                       bicpsw $0x60
  99  00011800                                   # 	     no_pipe7_evt();;			/* report the error          */
 100  00011800    fe 04 ef0000005b              	callf	$4,_no_pipe7_evt
 101  00011807                                   # /*
 102  00011807                                   #  * Come here after the event
 103  00011807                                   # */
 104  00011807                                   # 	     asm(".globl _pipe7_ret");
 105  00011807                                  .globl _pipe7_ret
 106  00011807                                   # 	     asm("_pipe7_ret:");
 107  00011807                                  _pipe7_ret:
 108  00011807                                   # 	     asm("movl _pre_event_fp,fp");	/* restore the frame pointer */
 109  00011807    0d effffffee7 5d              movl _pre_event_fp,fp
 110  0001180E                                   # 	     asm("movl _pre_event_sp,sp");	/* restore the stack pointer */
 111  0001180E    0d effffffee0 5e              movl _pre_event_sp,sp
 112  00011815                                   # 	     if( force_loop )
 113  00011815    5d effffffed9                 	tstl	_force_loop
 114  0001181B    31 03                         	jeql	L390
 115  0001181D                                   # 		  asm("brw _pipe7_lp1");;	/* loop on the error         */
"pipe700028EB4  116: WARNING: brw: destination label is external
 116  0001181D    13 ff96                       brw _pipe7_lp1
 117  00011820                                  L390:
 118  00011820                                   # 	     asm("bicpsw $0x60");		/* disable ovfl & undfl evts */
 119  00011820    9b 8860                       bicpsw $0x60
 120  00011823                                   # 	     if( post_evt_acc.m == (dbl_expected.m ^ 0x80000000) )
 121  00011823    dc 8f80000000 effffffec6      	xorl3	$-2147483648,_dbl_expected,r0
                  50 
 122  0001182F    1d effffffebf 50              	cmpl	_post_evt_acc,r0
 123  00011836    21 09                         	jneq	L391
 124  00011838                                   # 		  pipe7_queue_er();		/* fpp queue not cleared     */
 125  00011838    fe 04 ef00000215              	callf	$4,_pipe7_queue_er
 126  0001183F                                   # 	     else if( post_evt_acc.m != dbl_expected.m )
 127  0001183F    11 14                         	jbr 	L393
 128  00011841                                  L391:
 129  00011841    1d effffffead effffffea8      	cmpl	_post_evt_acc,_dbl_expected
 130  0001184C    31 07                         	jeql	L394
 131  0001184E                                   # 		  bad_pipe7_result();		/* incorrect result error    */
 132  0001184E    fe 04 ef000000e5              	callf	$4,_bad_pipe7_result
 133  00011855                                   # 	}
 134  00011855                                  L394:
 135  00011855                                  L393:
 136  00011855                                  L385:
 137  00011855    6d effffffe99                 	incl	_index
 138  0001185B    13 fed5                       	jbr 	L387
 139  0001185E                                  L386:
 140  0001185E                                   # }
 141  0001185E    40                            	ret#2
 142  0001185F                                  	.set	L381,0x0
 143  0001185F                                  L383:
 144  0001185F    13 fe97                       	jbr 	L384
 145  00011862                                  	.data
 146  000005c8 *                                	.text
 147  00011862                                  	.align	1
 148  00011862                                  	.globl	_no_pipe7_evt
 149  00011862                                  _no_pipe7_evt:
 150  00011862    0000                          	.word	L396
 151  00011864                                   # 
 152  00011864                                   # 
 153  00011864                                   # 
 154  00011864                                   # /****************************************************************************
 155  00011864                                   # *		Report an "EVENT NOT DETECTED" error
 156  00011864                                   # *
 157  00011864                                   # * Cycle: xx. EVT test xx. subtest xx. no integer overflow fault. index = xx
 158  00011864                                   # * inst = LDF op1, DIVF op2, MULL3 op3,op4,op5, NEGF  (int. overflow on MULL3)
 159  00011864                                   # * op1 = xxxxxxxx,  op2 = xxxxxxxx 
 160  00011864                                   # * op3 = xxxxxxxx,  op4 = xxxxxxxx,  op5 = xxxxxxxx 
 161  00011864                                   # ****************************************************************************/
 162  00011864                                   # no_pipe7_evt()
 163  00011864                                   # {
 164  00011864    13 00d0                       	jbr 	L398
 165  00011867                                  L399:
 166  00011867                                   # 	errcnt++;				/* bump the error count    */
 167  00011867    6d effffffe87                 	incl	_errcnt
 168  0001186D                                   # 	if ( prt_error ) 
 169  0001186D    5d effffffe81                 	tstl	_prt_error
 170  00011873    21 03 13 0098                 	jeql	L400
 171  00011878                                   # 	{
 172  00011878                                   # 	     print_pipe7_er( ". no integer overflow fault.");
 173  00011878                                  	.data	1
 174  000005c8 *                                L402:
 175  000005c8 *  2E206E6F20696E74656765722     	.ascii	". no integer overflow fault.\0"
                  06F766572666C6F7720666175
                  6C742E00
 176  000005e5 *                                	.text
 177  00011878    dd 8f000005c8                 	pushl	$L402
 178  0001187E    fe 08 ef000002e9              	callf	$8,_print_pipe7_er
 179  00011885                                   # 	     writes("op1 = ");
 180  00011885                                  	.data	1
 181  000005e5 *                                L404:
 182  000005e5 *  6F7031203D2000                	.ascii	"op1 = \0"
 183  000005ec *                                	.text
 184  00011885    dd 8f000005e5                 	pushl	$L404
 185  0001188B    fe 08 effffffe62              	callf	$8,_writes
 186  00011892                                   # 	     write32h( dbl_ld_acc.m );
 187  00011892    dd effffffe5c                 	pushl	_dbl_ld_acc
 188  00011898    fe 08 effffffe55              	callf	$8,_write32h
 189  0001189F                                   # 	     writes(",  op2 = ");
 190  0001189F                                  	.data	1
 191  000005ec *                                L406:
 192  000005ec *  2C20206F7032203D2000          	.ascii	",  op2 = \0"
 193  000005f6 *                                	.text
 194  0001189F    dd 8f000005ec                 	pushl	$L406
 195  000118A5    fe 08 effffffe48              	callf	$8,_writes
 196  000118AC                                   # 	     write32h( dbl_value_1.m );
 197  000118AC    dd effffffe42                 	pushl	_dbl_value_1
 198  000118B2    fe 08 effffffe3b              	callf	$8,_write32h
 199  000118B9                                   # 	     writes("\nop3 = ");
 200  000118B9                                  	.data	1
 201  000005f6 *                                L407:
 202  000005f6 *  0A6F7033203D2000              	.ascii	"\12op3 = \0"
 203  000005fe *                                	.text
 204  000118B9    dd 8f000005f6                 	pushl	$L407
 205  000118BF    fe 08 effffffe2e              	callf	$8,_writes
 206  000118C6                                   # 	     write32h( sgl_value_1 );
 207  000118C6    dd effffffe28                 	pushl	_sgl_value_1
 208  000118CC    fe 08 effffffe21              	callf	$8,_write32h
 209  000118D3                                   # 	     writes(",  op4 = ");
 210  000118D3                                  	.data	1
 211  000005fe *                                L408:
 212  000005fe *  2C20206F7034203D2000          	.ascii	",  op4 = \0"
 213  00000608 *                                	.text
 214  000118D3    dd 8f000005fe                 	pushl	$L408
 215  000118D9    fe 08 effffffe14              	callf	$8,_writes
 216  000118E0                                   # 	     write32h( sgl_value_2 );
 217  000118E0    dd effffffe0e                 	pushl	_sgl_value_2
 218  000118E6    fe 08 effffffe07              	callf	$8,_write32h
 219  000118ED                                   # 	     writes(",  op5 = ");
 220  000118ED                                  	.data	1
 221  00000608 *                                L409:
 222  00000608 *  2C20206F7035203D2000          	.ascii	",  op5 = \0"
 223  00000612 *                                	.text
 224  000118ED    dd 8f00000608                 	pushl	$L409
 225  000118F3    fe 08 effffffdfa              	callf	$8,_writes
 226  000118FA                                   # 	     write32h( sgl_value_3 );
 227  000118FA    dd effffffdf4                 	pushl	_sgl_value_3
 228  00011900    fe 08 effffffded              	callf	$8,_write32h
 229  00011907                                   # 	     writec('\n');
 230  00011907    dd 0a                         	pushl	$10
 231  00011909    fe 08 effffffde4              	callf	$8,_writec
 232  00011910                                   # 	}
 233  00011910                                   # 	if ( halt_flg ) 			/* halt on error?           */
 234  00011910                                  L400:
 235  00011910    5d effffffdde                 	tstl	_halt_flg
 236  00011916    31 09                         	jeql	L411
 237  00011918                                   # 	     pipe7_halt( 1 );
 238  00011918    dd 01                         	pushl	$1
 239  0001191A    fe 08 ef000002f9              	callf	$8,_pipe7_halt
 240  00011921                                   # 	if ( loop_on_err ) 
 241  00011921                                  L411:
 242  00011921    5d effffffdcd                 	tstl	_loop_on_err
 243  00011927    31 0d                         	jeql	L413
 244  00011929                                   # 	{
 245  00011929                                   # 	     force_loop = TRUE;		/* set the force loop flag */
 246  00011929    0d 01 effffffdc4              	movl	$1,_force_loop
 247  00011930                                   # 	     asm("jmp _pipe7_lp1");	/* and loop                */
 248  00011930    71 effffffe80                 jmp _pipe7_lp1
 249  00011936                                   # 	};
 250  00011936                                  L413:
 251  00011936                                   # }
 252  00011936    40                            	ret#2
 253  00011937                                  	.set	L396,0x0
 254  00011937                                  L398:
 255  00011937    13 ff2d                       	jbr 	L399
 256  0001193A                                  	.data
 257  000005c8 *                                	.text
 258  0001193A                                  	.align	1
 259  0001193A                                  	.globl	_bad_pipe7_result
 260  0001193A                                  _bad_pipe7_result:
 261  0001193A    0000                          	.word	L414
 262  0001193C                                   # 
 263  0001193C                                   # 
 264  0001193C                                   # 
 265  0001193C                                   # 
 266  0001193C                                   # /****************************************************************************
 267  0001193C                                   # *		Report an "BAD ACCUMULATOR AFTER THE EVENT" error
 268  0001193C                                   # *
 269  0001193C                                   # * Cycle: xx. EVT test xx. subtest xx. Bad final Accumulator. index = xx
 270  0001193C                                   # * inst = LDF op1, DIVF op2, MULL3 op3,op4,op5, NEGF (int. overflow on MULL3)
 271  0001193C                                   # * The NEGF should not have been executed.
 272  0001193C                                   # * op1 = xxxxxxxx,  final Acc. = xxxxxxxx,  op3 = xxxxxxxx 
 273  0001193C                                   # * op2 = xxxxxxxx,    expected = xxxxxxxx,  op4 = xxxxxxxx,  op5 = xxxxxxxx 
 274  0001193C                                   # ****************************************************************************/
 275  0001193C                                   # bad_pipe7_result()
 276  0001193C                                   # {
 277  0001193C    13 0111                       	jbr 	L416
 278  0001193F                                  L417:
 279  0001193F                                   # 	errcnt++;				/* bump the error count    */
 280  0001193F    6d effffffdaf                 	incl	_errcnt
 281  00011945                                   # 	if ( prt_error ) 
 282  00011945    5d effffffda9                 	tstl	_prt_error
 283  0001194B    21 03 13 00d9                 	jeql	L418
 284  00011950                                   # 	{
 285  00011950                                   # 	     print_pipe7_er(". Bad final Accumulator.");
 286  00011950                                  	.data	1
 287  00000612 *                                L419:
 288  00000612 *  2E204261642066696E616C204     	.ascii	". Bad final Accumulator.\0"
                  16363756D756C61746F722E00
 289  0000062b *                                	.text
 290  00011950    dd 8f00000612                 	pushl	$L419
 291  00011956    fe 08 ef00000211              	callf	$8,_print_pipe7_er
 292  0001195D                                   # 	     writes("The NEGF should not have been executed.\n");
 293  0001195D                                  	.data	1
 294  0000062b *                                L420:
 295  0000062b *  546865204E4547462073686F7     	.ascii	"The NEGF should not have been executed.\12\0"
                  56C64206E6F74206861766520
                  6265656E20657865637574656
                  42E0A00
 296  00000654 *                                	.text
 297  0001195D    dd 8f0000062b                 	pushl	$L420
 298  00011963    fe 08 effffffd8a              	callf	$8,_writes
 299  0001196A                                   # 	     writes("op1 = ");
 300  0001196A                                  	.data	1
 301  00000654 *                                L421:
 302  00000654 *  6F7031203D2000                	.ascii	"op1 = \0"
 303  0000065b *                                	.text
 304  0001196A    dd 8f00000654                 	pushl	$L421
 305  00011970    fe 08 effffffd7d              	callf	$8,_writes
 306  00011977                                   # 	     write32h( dbl_value_1.m );
 307  00011977    dd effffffd77                 	pushl	_dbl_value_1
 308  0001197D    fe 08 effffffd70              	callf	$8,_write32h
 309  00011984                                   # 	     writes(",  final Acc. = ");
 310  00011984                                  	.data	1
 311  0000065b *                                L422:
 312  0000065b *  2C202066696E616C204163632     	.ascii	",  final Acc. = \0"
                  E203D2000
 313  0000066c *                                	.text
 314  00011984    dd 8f0000065b                 	pushl	$L422
 315  0001198A    fe 08 effffffd63              	callf	$8,_writes
 316  00011991                                   # 	     write32h( post_evt_acc.m );
 317  00011991    dd effffffd5d                 	pushl	_post_evt_acc
 318  00011997    fe 08 effffffd56              	callf	$8,_write32h
 319  0001199E                                   # 	     writes(",  op3 = ");
 320  0001199E                                  	.data	1
 321  0000066c *                                L423:
 322  0000066c *  2C20206F7033203D2000          	.ascii	",  op3 = \0"
 323  00000676 *                                	.text
 324  0001199E    dd 8f0000066c                 	pushl	$L423
 325  000119A4    fe 08 effffffd49              	callf	$8,_writes
 326  000119AB                                   # 	     write32h( sgl_value_1 );
 327  000119AB    dd effffffd43                 	pushl	_sgl_value_1
 328  000119B1    fe 08 effffffd3c              	callf	$8,_write32h
 329  000119B8                                   # 	     writes("\nop2 = ");
 330  000119B8                                  	.data	1
 331  00000676 *                                L424:
 332  00000676 *  0A6F7032203D2000              	.ascii	"\12op2 = \0"
 333  0000067e *                                	.text
 334  000119B8    dd 8f00000676                 	pushl	$L424
 335  000119BE    fe 08 effffffd2f              	callf	$8,_writes
 336  000119C5                                   # 	     write32h( dbl_value_2.m );
 337  000119C5    dd effffffd29                 	pushl	_dbl_value_2
 338  000119CB    fe 08 effffffd22              	callf	$8,_write32h
 339  000119D2                                   # 	     writes(",    expected = ");
 340  000119D2                                  	.data	1
 341  0000067e *                                L425:
 342  0000067e *  2C20202020657870656374656     	.ascii	",    expected = \0"
                  4203D2000
 343  0000068f *                                	.text
 344  000119D2    dd 8f0000067e                 	pushl	$L425
 345  000119D8    fe 08 effffffd15              	callf	$8,_writes
 346  000119DF                                   # 	     write32h( dbl_expected.m );
 347  000119DF    dd effffffd0f                 	pushl	_dbl_expected
 348  000119E5    fe 08 effffffd08              	callf	$8,_write32h
 349  000119EC                                   # 	     writes(",  op4 = ");
 350  000119EC                                  	.data	1
 351  0000068f *                                L426:
 352  0000068f *  2C20206F7034203D2000          	.ascii	",  op4 = \0"
 353  00000699 *                                	.text
 354  000119EC    dd 8f0000068f                 	pushl	$L426
 355  000119F2    fe 08 effffffcfb              	callf	$8,_writes
 356  000119F9                                   # 	     write32h( sgl_value_2 );
 357  000119F9    dd effffffcf5                 	pushl	_sgl_value_2
 358  000119FF    fe 08 effffffcee              	callf	$8,_write32h
 359  00011A06                                   # 	     writes(",  op5 = ");
 360  00011A06                                  	.data	1
 361  00000699 *                                L427:
 362  00000699 *  2C20206F7035203D2000          	.ascii	",  op5 = \0"
 363  000006a3 *                                	.text
 364  00011A06    dd 8f00000699                 	pushl	$L427
 365  00011A0C    fe 08 effffffce1              	callf	$8,_writes
 366  00011A13                                   # 	     write32h( sgl_value_3 );
 367  00011A13    dd effffffcdb                 	pushl	_sgl_value_3
 368  00011A19    fe 08 effffffcd4              	callf	$8,_write32h
 369  00011A20                                   # 	     writec('\n');
 370  00011A20    dd 0a                         	pushl	$10
 371  00011A22    fe 08 effffffccb              	callf	$8,_writec
 372  00011A29                                   # 	}
 373  00011A29                                   # 	if ( halt_flg ) 			/* halt on error?           */
 374  00011A29                                  L418:
 375  00011A29    5d effffffcc5                 	tstl	_halt_flg
 376  00011A2F    31 09                         	jeql	L428
 377  00011A31                                   # 	     pipe7_halt( 2 );
 378  00011A31    dd 02                         	pushl	$2
 379  00011A33    fe 08 ef000001e0              	callf	$8,_pipe7_halt
 380  00011A3A                                   # 	if ( loop_on_err ) 
 381  00011A3A                                  L428:
 382  00011A3A    5d effffffcb4                 	tstl	_loop_on_err
 383  00011A40    31 0d                         	jeql	L429
 384  00011A42                                   # 	{
 385  00011A42                                   # 	     force_loop = TRUE;		/* set the force loop flag */
 386  00011A42    0d 01 effffffcab              	movl	$1,_force_loop
 387  00011A49                                   # 	     asm("jmp _pipe7_lp1");	/* and loop                */
 388  00011A49    71 effffffd67                 jmp _pipe7_lp1
 389  00011A4F                                   # 	};
 390  00011A4F                                  L429:
 391  00011A4F                                   # }
 392  00011A4F    40                            	ret#2
 393  00011A50                                  	.set	L414,0x0
 394  00011A50                                  L416:
 395  00011A50    13 feec                       	jbr 	L417
 396  00011A53                                  	.data
 397  000005c8 *                                	.text
 398  00011A53    00                            	.align	1
 399  00011A54                                  	.globl	_pipe7_queue_er
 400  00011A54                                  _pipe7_queue_er:
 401  00011A54    0000                          	.word	L430
 402  00011A56                                   # 
 403  00011A56                                   # 
 404  00011A56                                   # 
 405  00011A56                                   # 
 406  00011A56                                   # 
 407  00011A56                                   # /****************************************************************************
 408  00011A56                                   # *		Report an "FPP Queue apparently not cleared" error
 409  00011A56                                   # *
 410  00011A56                                   # * Cycle: xx. EVT test xx. subtest xx. too many instructions run. index = xx
 411  00011A56                                   # * inst = LDF op1, DIVF op2, MULL3 op3,op4,op5, NEGF  (int. overflow on MULL3)
 412  00011A56                                   # * The NEGF should not have been executed but apparently was.
 413  00011A56                                   # * op1 = xxxxxxxx,  final Acc. = xxxxxxxx,  op3 = xxxxxxxx 
 414  00011A56                                   # * op2 = xxxxxxxx,    expected = xxxxxxxx,  op4 = xxxxxxxx,  op5 = xxxxxxxx 
 415  00011A56                                   # ****************************************************************************/
 416  00011A56                                   # pipe7_queue_er()
 417  00011A56                                   # {
 418  00011A56    13 0111                       	jbr 	L432
 419  00011A59                                  L433:
 420  00011A59                                   # 	errcnt++;				/* bump the error count    */
 421  00011A59    6d effffffc95                 	incl	_errcnt
 422  00011A5F                                   # 	if ( prt_error ) 
 423  00011A5F    5d effffffc8f                 	tstl	_prt_error
 424  00011A65    21 03 13 00d9                 	jeql	L434
 425  00011A6A                                   # 	{
 426  00011A6A                                   # 	     print_pipe7_er(". Fpp Queue not cleared.");
 427  00011A6A                                  	.data	1
 428  000006a3 *                                L435:
 429  000006a3 *  2E20467070205175657565206     	.ascii	". Fpp Queue not cleared.\0"
                  E6F7420636C65617265642E00
 430  000006bc *                                	.text
 431  00011A6A    dd 8f000006a3                 	pushl	$L435
 432  00011A70    fe 08 ef000000f7              	callf	$8,_print_pipe7_er
 433  00011A77                                   # 	     writes(
 434  00011A77                                   # 	     "The NEGF should not have been executed but apparently was.\n");
 435  00011A77                                  	.data	1
 436  000006bc *                                L436:
 437  000006bc *  546865204E4547462073686F7     	.ascii	"The NEGF should not have been executed but apparently was.\12\0"
                  56C64206E6F74206861766520
                  6265656E20657865637574656
                  420627574206170706172656E
                  746C79207761732E0A00
 438  000006f8 *                                	.text
 439  00011A77    dd 8f000006bc                 	pushl	$L436
 440  00011A7D    fe 08 effffffc70              	callf	$8,_writes
 441  00011A84                                   # 	     writes("op1 = ");
 442  00011A84                                  	.data	1
 443  000006f8 *                                L437:
 444  000006f8 *  6F7031203D2000                	.ascii	"op1 = \0"
 445  000006ff *                                	.text
 446  00011A84    dd 8f000006f8                 	pushl	$L437
 447  00011A8A    fe 08 effffffc63              	callf	$8,_writes
 448  00011A91                                   # 	     write32h( dbl_value_1.m );
 449  00011A91    dd effffffc5d                 	pushl	_dbl_value_1
 450  00011A97    fe 08 effffffc56              	callf	$8,_write32h
 451  00011A9E                                   # 	     writes(",  final Acc. = ");
 452  00011A9E                                  	.data	1
 453  000006ff *                                L438:
 454  000006ff *  2C202066696E616C204163632     	.ascii	",  final Acc. = \0"
                  E203D2000
 455  00000710 *                                	.text
 456  00011A9E    dd 8f000006ff                 	pushl	$L438
 457  00011AA4    fe 08 effffffc49              	callf	$8,_writes
 458  00011AAB                                   # 	     write32h( post_evt_acc.m );
 459  00011AAB    dd effffffc43                 	pushl	_post_evt_acc
 460  00011AB1    fe 08 effffffc3c              	callf	$8,_write32h
 461  00011AB8                                   # 	     writes(",  op3 = ");
 462  00011AB8                                  	.data	1
 463  00000710 *                                L439:
 464  00000710 *  2C20206F7033203D2000          	.ascii	",  op3 = \0"
 465  0000071a *                                	.text
 466  00011AB8    dd 8f00000710                 	pushl	$L439
 467  00011ABE    fe 08 effffffc2f              	callf	$8,_writes
 468  00011AC5                                   # 	     write32h( sgl_value_1 );
 469  00011AC5    dd effffffc29                 	pushl	_sgl_value_1
 470  00011ACB    fe 08 effffffc22              	callf	$8,_write32h
 471  00011AD2                                   # 	     writes("\nop2 = ");
 472  00011AD2                                  	.data	1
 473  0000071a *                                L440:
 474  0000071a *  0A6F7032203D2000              	.ascii	"\12op2 = \0"
 475  00000722 *                                	.text
 476  00011AD2    dd 8f0000071a                 	pushl	$L440
 477  00011AD8    fe 08 effffffc15              	callf	$8,_writes
 478  00011ADF                                   # 	     write32h( dbl_value_2.m );
 479  00011ADF    dd effffffc0f                 	pushl	_dbl_value_2
 480  00011AE5    fe 08 effffffc08              	callf	$8,_write32h
 481  00011AEC                                   # 	     writes(",    expected = ");
 482  00011AEC                                  	.data	1
 483  00000722 *                                L441:
 484  00000722 *  2C20202020657870656374656     	.ascii	",    expected = \0"
                  4203D2000
 485  00000733 *                                	.text
 486  00011AEC    dd 8f00000722                 	pushl	$L441
 487  00011AF2    fe 08 effffffbfb              	callf	$8,_writes
 488  00011AF9                                   # 	     write32h( dbl_expected.m );
 489  00011AF9    dd effffffbf5                 	pushl	_dbl_expected
 490  00011AFF    fe 08 effffffbee              	callf	$8,_write32h
 491  00011B06                                   # 	     writes(",  op4 = ");
 492  00011B06                                  	.data	1
 493  00000733 *                                L442:
 494  00000733 *  2C20206F7034203D2000          	.ascii	",  op4 = \0"
 495  0000073d *                                	.text
 496  00011B06    dd 8f00000733                 	pushl	$L442
 497  00011B0C    fe 08 effffffbe1              	callf	$8,_writes
 498  00011B13                                   # 	     write32h( sgl_value_2 );
 499  00011B13    dd effffffbdb                 	pushl	_sgl_value_2
 500  00011B19    fe 08 effffffbd4              	callf	$8,_write32h
 501  00011B20                                   # 	     writes(",  op5 = ");
 502  00011B20                                  	.data	1
 503  0000073d *                                L443:
 504  0000073d *  2C20206F7035203D2000          	.ascii	",  op5 = \0"
 505  00000747 *                                	.text
 506  00011B20    dd 8f0000073d                 	pushl	$L443
 507  00011B26    fe 08 effffffbc7              	callf	$8,_writes
 508  00011B2D                                   # 	     write32h( sgl_value_3 );
 509  00011B2D    dd effffffbc1                 	pushl	_sgl_value_3
 510  00011B33    fe 08 effffffbba              	callf	$8,_write32h
 511  00011B3A                                   # 	     writec('\n');
 512  00011B3A    dd 0a                         	pushl	$10
 513  00011B3C    fe 08 effffffbb1              	callf	$8,_writec
 514  00011B43                                   # 	}
 515  00011B43                                   # 	if ( halt_flg ) 			/* halt on error?           */
 516  00011B43                                  L434:
 517  00011B43    5d effffffbab                 	tstl	_halt_flg
 518  00011B49    31 09                         	jeql	L444
 519  00011B4B                                   # 	     pipe7_halt( 3 );
 520  00011B4B    dd 03                         	pushl	$3
 521  00011B4D    fe 08 ef000000c6              	callf	$8,_pipe7_halt
 522  00011B54                                   # 	if ( loop_on_err ) 
 523  00011B54                                  L444:
 524  00011B54    5d effffffb9a                 	tstl	_loop_on_err
 525  00011B5A    31 0d                         	jeql	L445
 526  00011B5C                                   # 	{
 527  00011B5C                                   # 	     force_loop = TRUE;		/* set the force loop flag */
 528  00011B5C    0d 01 effffffb91              	movl	$1,_force_loop
 529  00011B63                                   # 	     asm("jmp _pipe7_lp1");	/* and loop                */
 530  00011B63    71 effffffc4d                 jmp _pipe7_lp1
 531  00011B69                                   # 	};
 532  00011B69                                  L445:
 533  00011B69                                   # }
 534  00011B69    40                            	ret#2
 535  00011B6A                                  	.set	L430,0x0
 536  00011B6A                                  L432:
 537  00011B6A    13 feec                       	jbr 	L433
 538  00011B6D                                  	.data
 539  000005c8 *                                	.text
 540  00011B6D    00                            	.align	1
 541  00011B6E                                  	.globl	_print_pipe7_er
 542  00011B6E                                  _print_pipe7_er:
 543  00011B6E    0000                          	.word	L446
 544  00011B70                                   # 
 545  00011B70                                   # 
 546  00011B70                                   # 
 547  00011B70                                   # /****************************************************************************
 548  00011B70                                   # *		print an error message of the form:
 549  00011B70                                   # *
 550  00011B70                                   # * Cycle: xx. EVT test xx. subtest xx. <your message here> index = xx
 551  00011B70                                   # * inst = LDF op1, DIVF op2, MULL3 op3,op4,op5, NEGF  (int. overflow on MULL3)
 552  00011B70                                   # ****************************************************************************/
 553  00011B70                                   # print_pipe7_er( msg )
 554  00011B70                                   # char *msg;					/* error message to print  */
 555  00011B70                                   # {
 556  00011B70    13 00a3                       	jbr 	L448
 557  00011B73                                  L449:
 558  00011B73                                   # 	     if( errcnt == 1 )			/* 1st error?              */
 559  00011B73    1d effffffb7b 01              	cmpl	_errcnt,$1
 560  00011B7A    21 0d                         	jneq	L450
 561  00011B7C                                   # 		  writes(" \n");		/* start a new print line  */
 562  00011B7C                                  	.data	1
 563  00000747 *                                L451:
 564  00000747 *  200A00                        	.ascii	" \12\0"
 565  0000074a *                                	.text
 566  00011B7C    dd 8f00000747                 	pushl	$L451
 567  00011B82    fe 08 effffffb6b              	callf	$8,_writes
 568  00011B89                                   # 	     writes("Cycle: ");
 569  00011B89                                  L450:
 570  00011B89                                  	.data	1
 571  0000074a *                                L452:
 572  0000074a *  4379636C653A2000              	.ascii	"Cycle: \0"
 573  00000752 *                                	.text
 574  00011B89    dd 8f0000074a                 	pushl	$L452
 575  00011B8F    fe 08 effffffb5e              	callf	$8,_writes
 576  00011B96                                   # 	     writed( cycle );
 577  00011B96    dd effffffb58                 	pushl	_cycle
 578  00011B9C    fe 08 effffffb51              	callf	$8,_writed
 579  00011BA3                                   # 	     writes("  EVT test ");
 580  00011BA3                                  	.data	1
 581  00000752 *                                L454:
 582  00000752 *  202045565420746573742000      	.ascii	"  EVT test \0"
 583  0000075e *                                	.text
 584  00011BA3    dd 8f00000752                 	pushl	$L454
 585  00011BA9    fe 08 effffffb44              	callf	$8,_writes
 586  00011BB0                                   # 	     writed( test_no );
 587  00011BB0    dd effffffb3e                 	pushl	_test_no
 588  00011BB6    fe 08 effffffb37              	callf	$8,_writed
 589  00011BBD                                   # 	     writes(". subtest ");
 590  00011BBD                                  	.data	1
 591  0000075e *                                L455:
 592  0000075e *  2E20737562746573742000        	.ascii	". subtest \0"
 593  00000769 *                                	.text
 594  00011BBD    dd 8f0000075e                 	pushl	$L455
 595  00011BC3    fe 08 effffffb2a              	callf	$8,_writes
 596  00011BCA                                   # 	     writed( subtest );
 597  00011BCA    dd effffffb24                 	pushl	_subtest
 598  00011BD0    fe 08 effffffb1d              	callf	$8,_writed
 599  00011BD7                                   # 	     writes( msg );			/* print the error message */
 600  00011BD7    dd ad04                       	pushl	4(fp)
 601  00011BDA    fe 08 effffffb13              	callf	$8,_writes
 602  00011BE1                                   # 	     writes(" index = ");
 603  00011BE1                                  	.data	1
 604  00000769 *                                L456:
 605  00000769 *  20696E646578203D2000          	.ascii	" index = \0"
 606  00000773 *                                	.text
 607  00011BE1    dd 8f00000769                 	pushl	$L456
 608  00011BE7    fe 08 effffffb06              	callf	$8,_writes
 609  00011BEE                                   # 	     writed( index );
 610  00011BEE    dd effffffb00                 	pushl	_index
 611  00011BF4    fe 08 effffffaf9              	callf	$8,_writed
 612  00011BFB                                   # 	     writes("\ninst = LDF op1, DIVF op2, MULL3 op3,op4,op5, NEGF");
 613  00011BFB                                  	.data	1
 614  00000773 *                                L457:
 615  00000773 *  0A696E7374203D204C4446206     	.ascii	"\12inst = LDF op1, DIVF op2, MULL3 op3,op4,op5, NEGF\0"
                  F70312C2044495646206F7032
                  2C204D554C4C33206F70332C6
                  F70342C6F70352C204E454746
                  00
 616  000007a6 *                                	.text
 617  00011BFB    dd 8f00000773                 	pushl	$L457
 618  00011C01    fe 08 effffffaec              	callf	$8,_writes
 619  00011C08                                   # 	     writes("  (int. overflow on MULL3)\n");
 620  00011C08                                  	.data	1
 621  000007a6 *                                L458:
 622  000007a6 *  202028696E742E206F7665726     	.ascii	"  (int. overflow on MULL3)\12\0"
                  66C6F77206F6E204D554C4C33
                  290A00
 623  000007c2 *                                	.text
 624  00011C08    dd 8f000007a6                 	pushl	$L458
 625  00011C0E    fe 08 effffffadf              	callf	$8,_writes
 626  00011C15                                   # }
 627  00011C15    40                            	ret#2
 628  00011C16                                  	.set	L446,0x0
 629  00011C16                                  L448:
 630  00011C16    13 ff5a                       	jbr 	L449
 631  00011C19                                  	.data
 632  000005c8 *                                	.text
 633  00011C19    00                            	.align	1
 634  00011C1A                                  	.globl	_pipe7_halt
 635  00011C1A                                  _pipe7_halt:
 636  00011C1A    0000                          	.word	L459
 637  00011C1C                                   # 
 638  00011C1C                                   # 
 639  00011C1C                                   # 
 640  00011C1C                                   # /****************************************************************************
 641  00011C1C                                   # *		Halt on Error routine
 642  00011C1C                                   # ****************************************************************************/
 643  00011C1C                                   # pipe7_halt( code )
 644  00011C1C                                   # int code;					/* error code to halt with */
 645  00011C1C                                   # {
 646  00011C1C    13 0099                       	jbr 	L461
 647  00011C1F                                  L462:
 648  00011C1F                                   # 	err_code = code;
 649  00011C1F    0d ad04 effffffacd            	movl	4(fp),_err_code
 650  00011C27                                   # 	sgl_value_4 = dbl_ld_acc.m;
 651  00011C27    0d effffffac7 effffffac2      	movl	_dbl_ld_acc,_sgl_value_4
 652  00011C32                                   # 	sgl_value_5 = dbl_value_1.m;
 653  00011C32    0d effffffabc effffffab7      	movl	_dbl_value_1,_sgl_value_5
 654  00011C3D                                   # 	asm("movl _test_no,r0");		/* r0  = test number        */
 655  00011C3D    0d effffffab1 50              movl _test_no,r0
 656  00011C44                                   # 	asm("movl _subtest,r1");		/* r1  = subtest number     */
 657  00011C44    0d effffffaaa 51              movl _subtest,r1
 658  00011C4B                                   # 	asm("movl _err_code,r2");		/* r2  = error code         */
 659  00011C4B    0d effffffaa3 52              movl _err_code,r2
 660  00011C52                                   # 	asm("movl _cycle,r3");			/* r3  = cycle count        */
 661  00011C52    0d effffffa9c 53              movl _cycle,r3
 662  00011C59                                   # 	asm("movl _sgl_value_4,r4");		/* r4  = floating operand 1 */
 663  00011C59    0d effffffa95 54              movl _sgl_value_4,r4
 664  00011C60                                   # 	asm("movl _sgl_value_5,r5");		/* r5  = floating operand 2 */
 665  00011C60    0d effffffa8e 55              movl _sgl_value_5,r5
 666  00011C67                                   # 	asm("movl _sgl_value_1,r6");		/* r6  = integer operand 1  */
 667  00011C67    0d effffffa87 56              movl _sgl_value_1,r6
 668  00011C6E                                   # 	asm("movl _sgl_value_2,r7");		/* r7  = integer operand 2  */
 669  00011C6E    0d effffffa80 57              movl _sgl_value_2,r7
 670  00011C75                                   # 	asm("movl _sgl_value_3,r8");		/* r8  = final int. value   */
 671  00011C75    0d effffffa79 58              movl _sgl_value_3,r8
 672  00011C7C                                   # 	if( code == 1 )
 673  00011C7C    1d ad04 01                    	cmpl	4(fp),$1
 674  00011C80    21 09                         	jneq	L463
 675  00011C82                                   # 	     asm("movl _index,r9");		/* r9  = data index         */
 676  00011C82    0d effffffa6c 59              movl _index,r9
 677  00011C89                                   # 	else {
 678  00011C89    11 2b                         	jbr 	L464
 679  00011C8B                                  L463:
 680  00011C8B                                   # 	     sgl_value_6 = post_evt_acc.m;
 681  00011C8B    0d effffffa63 effffffa5e      	movl	_post_evt_acc,_sgl_value_6
 682  00011C96                                   # 	     sgl_value_7 = dbl_expected.m;
 683  00011C96    0d effffffa58 effffffa53      	movl	_dbl_expected,_sgl_value_7
 684  00011CA1                                   # 	     asm("movl _sgl_value_6,r9");	/* r9  = final accumulator  */
 685  00011CA1    0d effffffa4d 59              movl _sgl_value_6,r9
 686  00011CA8                                   # 	     asm("movl _sgl_value_7,r10");	/* r10 = expected acc.      */
 687  00011CA8    0d effffffa46 5a              movl _sgl_value_7,r10
 688  00011CAF                                   # 	     asm("movl _index,r11");		/* r11 = data index         */
 689  00011CAF    0d effffffa3f 5b              movl _index,r11
 690  00011CB6                                   # 	}
 691  00011CB6                                  L464:
 692  00011CB6                                   # 	asm("halt");;				/* HALT ...                 */
 693  00011CB6    00                            halt
 694  00011CB7                                   # }
 695  00011CB7    40                            	ret#2
 696  00011CB8                                  	.set	L459,0x0
 697  00011CB8                                  L461:
 698  00011CB8    13 ff64                       	jbr 	L462
 699  00011CBB                                  	.data
 699  000233AF                                  	.data

unix.superglobalmegacorp.com

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