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

   1  00000000                                  LL0:
   2  00000000                                  	.data
   3  00000d28 *                                	.text
   4  00000000                                  	.align	1
   5  00000000                                  	.globl	_subf
   6  00000000                                  _subf:
   7  0000E0A4    0000                          	.word	L215
   8  0000E0A6                                   # 
   9  0000E0A6                                   # #include "fpp_defs.h"
  10  0000E0A6                                   # 
  11  0000E0A6                                   # 
  12  0000E0A6                                   # /*****************************************************************************
  13  0000E0A6                                   # *
  14  0000E0A6                                   # *               SUBF - SINGLE PRECISION FLOATING POINT ADD TEST
  15  0000E0A6                                   # *
  16  0000E0A6                                   # *****************************************************************************/
  17  0000E0A6                                   # subf()
  18  0000E0A6                                   # {
  19  0000E0A6    11 64                         	jbr 	L217
  20  0000E0A8                                  L218:
  21  0000E0A8                                   #         asm(".globl _subf_t");
  22  0000E0A8                                  .globl _subf_t
  23  0000E0A8                                   #         asm("_subf_t:");                        /* entry address            */
  24  0000E0A8                                  _subf_t:
  25  0000E0A8                                   #         if( ( cycle == 1 ) && ( prt_hdrs ) )    /* print headers on 1st pass */
  26  0000E0A8    1d effffffff6 01              	cmpl	_cycle,$1
  27  0000E0AF    21 15                         	jneq	L219
  28  0000E0B1    5d efffffffed                 	tstl	_prt_hdrs
  29  0000E0B7    31 0d                         	jeql	L219
  30  0000E0B9                                   #            writes(" SUBF");
  31  0000E0B9                                  	.data	1
  32  00000d28 *                                L221:
  33  00000d28 *  205355424600                  	.ascii	" SUBF\0"
  34  00000d2e *                                	.text
  35  0000E0B9    dd 8f00000d28                 	pushl	$L221
  36  0000E0BF    fe 08 efffffffde              	callf	$8,_writes
  37  0000E0C6                                   #         subf_1();                               /* subract through a register */
  38  0000E0C6                                  L219:
  39  0000E0C6    fe 04 ef00000041              	callf	$4,_subf_1
  40  0000E0CD                                   #         subf_2();                               /* subract through the cache  */
  41  0000E0CD    fe 04 ef00000160              	callf	$4,_subf_2
  42  0000E0D4                                   #         subf_3();                               /* wait 3 NOPs                */
  43  0000E0D4    fe 04 ef00000279              	callf	$4,_subf_3
  44  0000E0DB                                   #         subf_4();                               /* wait 2 NOPs                */
  45  0000E0DB    fe 04 ef00000396              	callf	$4,_subf_4
  46  0000E0E2                                   #         subf_5();                               /* wait 1 NOP before storing  */
  47  0000E0E2    fe 04 ef000004b3              	callf	$4,_subf_5
  48  0000E0E9                                   #         subf_6();                               /* register stability test    */
  49  0000E0E9    fe 04 ef000005ce              	callf	$4,_subf_6
  50  0000E0F0                                   #         subf_7();                               /* PSL stability test         */
  51  0000E0F0    fe 04 ef00000777              	callf	$4,_subf_7
  52  0000E0F7                                   #         subf_8();                               /* pipelined entry test       */
  53  0000E0F7    fe 04 ef0000092a              	callf	$4,_subf_8
  54  0000E0FE                                   #         subf_9();                               /* pipelined exit test        */
  55  0000E0FE    fe 04 ef00000a49              	callf	$4,_subf_9
  56  0000E105                                   #         asm("jmp *return");                     /* return to the test monitor */
  57  0000E105    71 ffffffff99                 jmp *return
  58  0000E10B                                   # }
  59  0000E10B    40                            	ret#2
  60  0000E10C                                  	.set	L215,0x0
  61  0000E10C                                  L217:
  62  0000E10C    11 9a                         	jbr 	L218
  63  0000E10E                                  	.data
  64  00000d28 *                                	.text
  65  0000E10E                                  	.align	1
  66  0000E10E                                  	.globl	_subf_1
  67  0000E10E                                  _subf_1:
  68  0000E10E    0000                          	.word	L231
  69  0000E110                                   #   
  70  0000E110                                   # 
  71  0000E110                                   # 
  72  0000E110                                   # /************************************************************************
  73  0000E110                                   # *
  74  0000E110                                   # *               SUBTEST 1 - subract through a register
  75  0000E110                                   # *
  76  0000E110                                   # ************************************************************************/
  77  0000E110                                   # subf_1() 
  78  0000E110                                   # {
  79  0000E110    13 011e                       	jbr 	L233
  80  0000E113                                  L234:
  81  0000E113                                   #         force_loop = FALSE;
  82  0000E113    4d efffffff8b                 	clrl	_force_loop
  83  0000E119                                   #         subtest = 1;
  84  0000E119    0d 01 efffffff84              	movl	$1,_subtest
  85  0000E120                                   #         for( index = 0; index < max_subf_1_index; index++ ) {
  86  0000E120    4d efffffff7e                 	clrl	_index
  87  0000E126                                  L237:
  88  0000E126    1d efffffff78 efffffff73      	cmpl	_index,_max_subf_1_index
  89  0000E131    91 03 13 00fa                 	jgeq	L236
  90  0000E136                                   #              sgl_ld_acc   = subf_1_data[index].op_1; /* get operand 1       */
  91  0000E136    5c 0c efffffff67 50           	mull3	$12,_index,r0
  92  0000E13E    0d e000000000 efffffff5b      	movl	_subf_1_data(r0),_sgl_ld_acc
  93  0000E149                                   #              sgl_value_1  = subf_1_data[index].op_2; /* get operand 2       */
  94  0000E149    5c 0c efffffff54 50           	mull3	$12,_index,r0
  95  0000E151    0d e000000004 efffffff48      	movl	_subf_1_data+4(r0),_sgl_value_1
  96  0000E15C                                   #              sgl_expected = subf_1_data[index].exp;  /* get expected result */
  97  0000E15C    5c 0c efffffff41 50           	mull3	$12,_index,r0
  98  0000E164    0d e000000008 efffffff35      	movl	_subf_1_data+8(r0),_sgl_expected
  99  0000E16F                                   # /*
 100  0000E16F                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 101  0000E16F                                   #  * The force loop flag is set after the first error.
 102  0000E16F                                   # */
 103  0000E16F                                   #              asm("_subf_1_lp1:");
 104  0000E16F                                  _subf_1_lp1:
 105  0000E16F                                   #              asm("movl _sgl_ld_acc,r3");        /* move the 1st data to r3 */
 106  0000E16F    0d efffffff2f 53              movl _sgl_ld_acc,r3
 107  0000E176                                   #              asm("movl _sgl_value_1,r4");       /* move the 2nd data to r4 */
 108  0000E176    0d efffffff28 54              movl _sgl_value_1,r4
 109  0000E17D                                   #              asm("ldf r3");                     /* load the 1st operand    */
 110  0000E17D    06 53                         ldf r3
 111  0000E17F                                   #              asm("subf r4");                    /* subract the 2nd operand */
 112  0000E17F    d6 54                         subf r4
 113  0000E181                                   #              asm("stf _sgl_st_acc");            /* store the result        */
 114  0000E181    26 efffffff1d                 stf _sgl_st_acc
 115  0000E187                                   #              if( force_loop )
 116  0000E187    5d efffffff17                 	tstl	_force_loop
 117  0000E18D    31 02                         	jeql	L238
 118  0000E18F                                   #                   asm("brb _subf_1_lp1");;      /* loop on the error       */
 119  0000E18F    11 de                         brb _subf_1_lp1
 120  0000E191                                  L238:
 121  0000E191                                   # /* 
 122  0000E191                                   #  * end error loop - test the results
 123  0000E191                                   # */
 124  0000E191                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
 125  0000E191    1d efffffff0d efffffff08      	cmpl	_sgl_st_acc,_sgl_expected
 126  0000E19C    21 03 13 0086                 	jeql	L239
 127  0000E1A1                                   #                    errcnt++;                    /* bump the error count   */
 128  0000E1A1    6d effffffefd                 	incl	_errcnt
 129  0000E1A7                                   #                    if( prt_error ) {
 130  0000E1A7    5d effffffef7                 	tstl	_prt_error
 131  0000E1AD    31 55                         	jeql	L240
 132  0000E1AF                                   #                         writes(" \n");      /* start a new print line */
 133  0000E1AF                                  	.data	1
 134  00000d2e *                                L241:
 135  00000d2e *  200A00                        	.ascii	" \12\0"
 136  00000d31 *                                	.text
 137  0000E1AF    dd 8f00000d2e                 	pushl	$L241
 138  0000E1B5    fe 08 effffffee8              	callf	$8,_writes
 139  0000E1BC                                   #                         writes("cycle: ");
 140  0000E1BC                                  	.data	1
 141  00000d31 *                                L242:
 142  00000d31 *  6379636C653A2000              	.ascii	"cycle: \0"
 143  00000d39 *                                	.text
 144  0000E1BC    dd 8f00000d31                 	pushl	$L242
 145  0000E1C2    fe 08 effffffedb              	callf	$8,_writes
 146  0000E1C9                                   #                         writed( cycle );
 147  0000E1C9    dd effffffed5                 	pushl	_cycle
 148  0000E1CF    fe 08 effffffece              	callf	$8,_writed
 149  0000E1D6                                   #                         writes("  SUBF test ");
 150  0000E1D6                                  	.data	1
 151  00000d39 *                                L244:
 152  00000d39 *  2020535542462074657374200     	.ascii	"  SUBF test \0"
                  0
 153  00000d46 *                                	.text
 154  0000E1D6    dd 8f00000d39                 	pushl	$L244
 155  0000E1DC    fe 08 effffffec1              	callf	$8,_writes
 156  0000E1E3                                   # 			writed( test_no );
 157  0000E1E3    dd effffffebb                 	pushl	_test_no
 158  0000E1E9    fe 08 effffffeb4              	callf	$8,_writed
 159  0000E1F0                                   # 			writes(", subtest 1 (Reg. Data) - BAD FINAL ACC\n");
 160  0000E1F0                                  	.data	1
 161  00000d46 *                                L245:
 162  00000d46 *  2C20737562746573742031202     	.ascii	", subtest 1 (Reg. Data) - BAD FINAL ACC\12\0"
                  85265672E204461746129202D
                  204241442046494E414C20414
                  3430A00
 163  00000d6f *                                	.text
 164  0000E1F0    dd 8f00000d46                 	pushl	$L245
 165  0000E1F6    fe 08 effffffea7              	callf	$8,_writes
 166  0000E1FD                                   #                         print_subf_data();
 167  0000E1FD    fe 04 ef00000a70              	callf	$4,_print_subf_data
 168  0000E204                                   #                    }
 169  0000E204                                   #                    if( halt_flg ) 
 170  0000E204                                  L240:
 171  0000E204    5d effffffe9a                 	tstl	_halt_flg
 172  0000E20A    31 09                         	jeql	L247
 173  0000E20C                                   #                         subf_er_halt( BAD_ACC_HLT );    /* halt on the error */
 174  0000E20C    dd 01                         	pushl	$1
 175  0000E20E    fe 08 ef00000afd              	callf	$8,_subf_er_halt
 176  0000E215                                   #                    if( loop_on_err ) {
 177  0000E215                                  L247:
 178  0000E215    5d effffffe89                 	tstl	_loop_on_err
 179  0000E21B    31 0a                         	jeql	L249
 180  0000E21D                                   #                         force_loop = TRUE;        /* set the force loop flag */
 181  0000E21D    0d 01 effffffe80              	movl	$1,_force_loop
 182  0000E224                                   #                         asm("brw _subf_1_lp1");;  /* and loop on the error   */
 183  0000E224    13 ff48                       brw _subf_1_lp1
 184  0000E227                                   #                    }   /* end of loop on error */
 185  0000E227                                   #              }   /* end of compare error */
 186  0000E227                                  L249:
 187  0000E227                                   #         }  /* end of WHILE loop */
 188  0000E227                                  L239:
 189  0000E227                                  L235:
 190  0000E227    6d effffffe77                 	incl	_index
 191  0000E22D    13 fef6                       	jbr 	L237
 192  0000E230                                  L236:
 193  0000E230                                   # }  /* end of subtest 1 */
 194  0000E230    40                            	ret#2
 195  0000E231                                  	.set	L231,0x0
 196  0000E231                                  L233:
 197  0000E231    13 fedf                       	jbr 	L234
 198  0000E234                                  	.data
 199  00000d28 *                                	.text
 200  0000E234                                  	.align	1
 201  0000E234                                  	.globl	_subf_2
 202  0000E234                                  _subf_2:
 203  0000E234    0000                          	.word	L250
 204  0000E236                                   #   
 205  0000E236                                   # 
 206  0000E236                                   # 
 207  0000E236                                   # /************************************************************************
 208  0000E236                                   # *
 209  0000E236                                   # *               SUBTEST 2 - subract through memory
 210  0000E236                                   # *
 211  0000E236                                   # ************************************************************************/
 212  0000E236                                   # subf_2() 
 213  0000E236                                   # {
 214  0000E236    13 0118                       	jbr 	L252
 215  0000E239                                  L253:
 216  0000E239                                   #         force_loop = FALSE;
 217  0000E239    4d effffffe65                 	clrl	_force_loop
 218  0000E23F                                   #         subtest = 2;
 219  0000E23F    0d 02 effffffe5e              	movl	$2,_subtest
 220  0000E246                                   #         for( index = 0; index < max_subf_1_index; index++ ) {
 221  0000E246    4d effffffe58                 	clrl	_index
 222  0000E24C                                  L256:
 223  0000E24C    1d effffffe52 effffffe4d      	cmpl	_index,_max_subf_1_index
 224  0000E257    91 03 13 00f4                 	jgeq	L255
 225  0000E25C                                   #              sgl_ld_acc   = subf_1_data[index].op_1; /* get operand 1       */
 226  0000E25C    5c 0c effffffe41 50           	mull3	$12,_index,r0
 227  0000E264    0d e000000000 effffffe35      	movl	_subf_1_data(r0),_sgl_ld_acc
 228  0000E26F                                   #              sgl_value_1  = subf_1_data[index].op_2; /* get operand 2       */
 229  0000E26F    5c 0c effffffe2e 50           	mull3	$12,_index,r0
 230  0000E277    0d e000000004 effffffe22      	movl	_subf_1_data+4(r0),_sgl_value_1
 231  0000E282                                   #              sgl_expected = subf_1_data[index].exp;  /* get expected result */
 232  0000E282    5c 0c effffffe1b 50           	mull3	$12,_index,r0
 233  0000E28A    0d e000000008 effffffe0f      	movl	_subf_1_data+8(r0),_sgl_expected
 234  0000E295                                   # /*
 235  0000E295                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 236  0000E295                                   #  * The force loop flag is set after the first error.
 237  0000E295                                   # */
 238  0000E295                                   #              asm("_subf_2_lp1:");
 239  0000E295                                  _subf_2_lp1:
 240  0000E295                                   #              asm("ldf _sgl_ld_acc");            /* load the 1st operand    */
 241  0000E295    06 effffffe09                 ldf _sgl_ld_acc
 242  0000E29B                                   #              asm("subf _sgl_value_1");          /* sub the 2nd operand     */
 243  0000E29B    d6 effffffe03                 subf _sgl_value_1
 244  0000E2A1                                   #              asm("stf _sgl_st_acc");            /* store the result        */
 245  0000E2A1    26 effffffdfd                 stf _sgl_st_acc
 246  0000E2A7                                   #              if( force_loop )
 247  0000E2A7    5d effffffdf7                 	tstl	_force_loop
 248  0000E2AD    31 02                         	jeql	L257
 249  0000E2AF                                   #                   asm("brb _subf_2_lp1");;      /* loop on the error       */
 250  0000E2AF    11 e4                         brb _subf_2_lp1
 251  0000E2B1                                  L257:
 252  0000E2B1                                   # /* 
 253  0000E2B1                                   #  * end error loop - test the results
 254  0000E2B1                                   # */
 255  0000E2B1                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
 256  0000E2B1    1d effffffded effffffde8      	cmpl	_sgl_st_acc,_sgl_expected
 257  0000E2BC    21 03 13 0086                 	jeql	L258
 258  0000E2C1                                   #                    errcnt++;                    /* bump the error count   */
 259  0000E2C1    6d effffffddd                 	incl	_errcnt
 260  0000E2C7                                   #                    if( prt_error ) {
 261  0000E2C7    5d effffffdd7                 	tstl	_prt_error
 262  0000E2CD    31 55                         	jeql	L259
 263  0000E2CF                                   #                         writes(" \n");      /* start a new print line */
 264  0000E2CF                                  	.data	1
 265  00000d6f *                                L260:
 266  00000d6f *  200A00                        	.ascii	" \12\0"
 267  00000d72 *                                	.text
 268  0000E2CF    dd 8f00000d6f                 	pushl	$L260
 269  0000E2D5    fe 08 effffffdc8              	callf	$8,_writes
 270  0000E2DC                                   #                         writes("cycle: ");
 271  0000E2DC                                  	.data	1
 272  00000d72 *                                L261:
 273  00000d72 *  6379636C653A2000              	.ascii	"cycle: \0"
 274  00000d7a *                                	.text
 275  0000E2DC    dd 8f00000d72                 	pushl	$L261
 276  0000E2E2    fe 08 effffffdbb              	callf	$8,_writes
 277  0000E2E9                                   #                         writed( cycle );
 278  0000E2E9    dd effffffdb5                 	pushl	_cycle
 279  0000E2EF    fe 08 effffffdae              	callf	$8,_writed
 280  0000E2F6                                   #                         writes("  SUBF test ");
 281  0000E2F6                                  	.data	1
 282  00000d7a *                                L262:
 283  00000d7a *  2020535542462074657374200     	.ascii	"  SUBF test \0"
                  0
 284  00000d87 *                                	.text
 285  0000E2F6    dd 8f00000d7a                 	pushl	$L262
 286  0000E2FC    fe 08 effffffda1              	callf	$8,_writes
 287  0000E303                                   # 			writed( test_no );
 288  0000E303    dd effffffd9b                 	pushl	_test_no
 289  0000E309    fe 08 effffffd94              	callf	$8,_writed
 290  0000E310                                   # 			writes(", subtest 2 (Cache Data) - BAD FINAL ACC\n");
 291  0000E310                                  	.data	1
 292  00000d87 *                                L263:
 293  00000d87 *  2C20737562746573742032202     	.ascii	", subtest 2 (Cache Data) - BAD FINAL ACC\12\0"
                  8436163686520446174612920
                  2D204241442046494E414C204
                  143430A00
 294  00000db1 *                                	.text
 295  0000E310    dd 8f00000d87                 	pushl	$L263
 296  0000E316    fe 08 effffffd87              	callf	$8,_writes
 297  0000E31D                                   #                         print_subf_data();
 298  0000E31D    fe 04 ef00000950              	callf	$4,_print_subf_data
 299  0000E324                                   #                    }
 300  0000E324                                   #                    if( halt_flg ) 
 301  0000E324                                  L259:
 302  0000E324    5d effffffd7a                 	tstl	_halt_flg
 303  0000E32A    31 09                         	jeql	L264
 304  0000E32C                                   #                         subf_er_halt( BAD_ACC_HLT );    /* halt on the error */
 305  0000E32C    dd 01                         	pushl	$1
 306  0000E32E    fe 08 ef000009dd              	callf	$8,_subf_er_halt
 307  0000E335                                   #                    if( loop_on_err ) {
 308  0000E335                                  L264:
 309  0000E335    5d effffffd69                 	tstl	_loop_on_err
 310  0000E33B    31 0a                         	jeql	L265
 311  0000E33D                                   #                         force_loop = TRUE;        /* set the force loop flag */
 312  0000E33D    0d 01 effffffd60              	movl	$1,_force_loop
 313  0000E344                                   #                         asm("brw _subf_2_lp1");;  /* and loop on the error   */
 314  0000E344    13 ff4e                       brw _subf_2_lp1
 315  0000E347                                   #                    }   /* end of loop on error */
 316  0000E347                                   #              }   /* end of compare error */
 317  0000E347                                  L265:
 318  0000E347                                   #         }  /* end of WHILE loop */
 319  0000E347                                  L258:
 320  0000E347                                  L254:
 321  0000E347    6d effffffd57                 	incl	_index
 322  0000E34D    13 fefc                       	jbr 	L256
 323  0000E350                                  L255:
 324  0000E350                                   # }  /* end of subtest 2 */
 325  0000E350    40                            	ret#2
 326  0000E351                                  	.set	L250,0x0
 327  0000E351                                  L252:
 328  0000E351    13 fee5                       	jbr 	L253
 329  0000E354                                  	.data
 330  00000d28 *                                	.text
 331  0000E354                                  	.align	1
 332  0000E354                                  	.globl	_subf_3
 333  0000E354                                  _subf_3:
 334  0000E354    0000                          	.word	L266
 335  0000E356                                   #   
 336  0000E356                                   # 
 337  0000E356                                   # 
 338  0000E356                                   # /************************************************************************
 339  0000E356                                   # *
 340  0000E356                                   # *       SUBTEST 3 - Wait 3 NOPs before storing the results
 341  0000E356                                   # *
 342  0000E356                                   # ************************************************************************/
 343  0000E356                                   # subf_3() 
 344  0000E356                                   # {
 345  0000E356    13 011c                       	jbr 	L268
 346  0000E359                                  L269:
 347  0000E359                                   #         force_loop = FALSE;
 348  0000E359    4d effffffd45                 	clrl	_force_loop
 349  0000E35F                                   #         subtest = 3;
 350  0000E35F    0d 03 effffffd3e              	movl	$3,_subtest
 351  0000E366                                   #         for( index = 0; index < max_subf_1_index; index++ ) {
 352  0000E366    4d effffffd38                 	clrl	_index
 353  0000E36C                                  L272:
 354  0000E36C    1d effffffd32 effffffd2d      	cmpl	_index,_max_subf_1_index
 355  0000E377    91 03 13 00f8                 	jgeq	L271
 356  0000E37C                                   #              sgl_ld_acc   = subf_1_data[index].op_1; /* get operand 1       */
 357  0000E37C    5c 0c effffffd21 50           	mull3	$12,_index,r0
 358  0000E384    0d e000000000 effffffd15      	movl	_subf_1_data(r0),_sgl_ld_acc
 359  0000E38F                                   #              sgl_value_1  = subf_1_data[index].op_2; /* get operand 2       */
 360  0000E38F    5c 0c effffffd0e 50           	mull3	$12,_index,r0
 361  0000E397    0d e000000004 effffffd02      	movl	_subf_1_data+4(r0),_sgl_value_1
 362  0000E3A2                                   #              sgl_expected = subf_1_data[index].exp;  /* get expected result */
 363  0000E3A2    5c 0c effffffcfb 50           	mull3	$12,_index,r0
 364  0000E3AA    0d e000000008 effffffcef      	movl	_subf_1_data+8(r0),_sgl_expected
 365  0000E3B5                                   # /*
 366  0000E3B5                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 367  0000E3B5                                   #  * The force loop flag is set after the first error.
 368  0000E3B5                                   # */
 369  0000E3B5                                   #              asm("_subf_3_lp1:");
 370  0000E3B5                                  _subf_3_lp1:
 371  0000E3B5                                   #              asm("ldf _sgl_ld_acc");            /* load the 1st operand    */
 372  0000E3B5    06 effffffce9                 ldf _sgl_ld_acc
 373  0000E3BB                                   #              asm("nop");                        /* delay                   */
 374  0000E3BB    10                            nop
 375  0000E3BC                                   #              asm("subf _sgl_value_1");          /* sub the 2nd operand     */
 376  0000E3BC    d6 effffffce2                 subf _sgl_value_1
 377  0000E3C2                                   #              asm("nop");                        /* delay before ...        */
 378  0000E3C2    10                            nop
 379  0000E3C3                                   #              asm("nop");
 380  0000E3C3    10                            nop
 381  0000E3C4                                   #              asm("nop");                        /* ... storing the result  */
 382  0000E3C4    10                            nop
 383  0000E3C5                                   #              asm("stf _sgl_st_acc");            /* store the result        */
 384  0000E3C5    26 effffffcd9                 stf _sgl_st_acc
 385  0000E3CB                                   #              if( force_loop )
 386  0000E3CB    5d effffffcd3                 	tstl	_force_loop
 387  0000E3D1    31 02                         	jeql	L273
 388  0000E3D3                                   #                   asm("brb _subf_3_lp1");;      /* loop on the error       */
 389  0000E3D3    11 e0                         brb _subf_3_lp1
 390  0000E3D5                                  L273:
 391  0000E3D5                                   # /* 
 392  0000E3D5                                   #  * end error loop - test the results
 393  0000E3D5                                   # */
 394  0000E3D5                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
 395  0000E3D5    1d effffffcc9 effffffcc4      	cmpl	_sgl_st_acc,_sgl_expected
 396  0000E3E0    21 03 13 0086                 	jeql	L274
 397  0000E3E5                                   #                    errcnt++;                    /* bump the error count   */
 398  0000E3E5    6d effffffcb9                 	incl	_errcnt
 399  0000E3EB                                   #                    if( prt_error ) {
 400  0000E3EB    5d effffffcb3                 	tstl	_prt_error
 401  0000E3F1    31 55                         	jeql	L275
 402  0000E3F3                                   #                         writes(" \n");      /* start a new print line */
 403  0000E3F3                                  	.data	1
 404  00000db1 *                                L276:
 405  00000db1 *  200A00                        	.ascii	" \12\0"
 406  00000db4 *                                	.text
 407  0000E3F3    dd 8f00000db1                 	pushl	$L276
 408  0000E3F9    fe 08 effffffca4              	callf	$8,_writes
 409  0000E400                                   #                         writes("cycle: ");
 410  0000E400                                  	.data	1
 411  00000db4 *                                L277:
 412  00000db4 *  6379636C653A2000              	.ascii	"cycle: \0"
 413  00000dbc *                                	.text
 414  0000E400    dd 8f00000db4                 	pushl	$L277
 415  0000E406    fe 08 effffffc97              	callf	$8,_writes
 416  0000E40D                                   #                         writed( cycle );
 417  0000E40D    dd effffffc91                 	pushl	_cycle
 418  0000E413    fe 08 effffffc8a              	callf	$8,_writed
 419  0000E41A                                   #                         writes("  SUBF test ");
 420  0000E41A                                  	.data	1
 421  00000dbc *                                L278:
 422  00000dbc *  2020535542462074657374200     	.ascii	"  SUBF test \0"
                  0
 423  00000dc9 *                                	.text
 424  0000E41A    dd 8f00000dbc                 	pushl	$L278
 425  0000E420    fe 08 effffffc7d              	callf	$8,_writes
 426  0000E427                                   # 			writed( test_no );
 427  0000E427    dd effffffc77                 	pushl	_test_no
 428  0000E42D    fe 08 effffffc70              	callf	$8,_writed
 429  0000E434                                   # 	writes(", subtest 3 (Cache Data - 3 NOPS) - BAD FINAL ACC\n");
 430  0000E434                                  	.data	1
 431  00000dc9 *                                L279:
 432  00000dc9 *  2C20737562746573742033202     	.ascii	", subtest 3 (Cache Data - 3 NOPS) - BAD FINAL ACC\12\0"
                  843616368652044617461202D
                  2033204E4F505329202D20424
                  1442046494E414C204143430A
                  00
 433  00000dfc *                                	.text
 434  0000E434    dd 8f00000dc9                 	pushl	$L279
 435  0000E43A    fe 08 effffffc63              	callf	$8,_writes
 436  0000E441                                   #                         print_subf_data();
 437  0000E441    fe 04 ef0000082c              	callf	$4,_print_subf_data
 438  0000E448                                   #                    }
 439  0000E448                                   #                    if( halt_flg ) 
 440  0000E448                                  L275:
 441  0000E448    5d effffffc56                 	tstl	_halt_flg
 442  0000E44E    31 09                         	jeql	L280
 443  0000E450                                   #                         subf_er_halt( BAD_ACC_HLT );    /* halt on the error */
 444  0000E450    dd 01                         	pushl	$1
 445  0000E452    fe 08 ef000008b9              	callf	$8,_subf_er_halt
 446  0000E459                                   #                    if( loop_on_err ) {
 447  0000E459                                  L280:
 448  0000E459    5d effffffc45                 	tstl	_loop_on_err
 449  0000E45F    31 0a                         	jeql	L281
 450  0000E461                                   #                         force_loop = TRUE;        /* set the force loop flag */
 451  0000E461    0d 01 effffffc3c              	movl	$1,_force_loop
 452  0000E468                                   #                         asm("brw _subf_3_lp1");;  /* and loop on the error   */
 453  0000E468    13 ff4a                       brw _subf_3_lp1
 454  0000E46B                                   #                    }   /* end of loop on error */
 455  0000E46B                                   #              }   /* end of compare error */
 456  0000E46B                                  L281:
 457  0000E46B                                   #         }  /* end of WHILE loop */
 458  0000E46B                                  L274:
 459  0000E46B                                  L270:
 460  0000E46B    6d effffffc33                 	incl	_index
 461  0000E471    13 fef8                       	jbr 	L272
 462  0000E474                                  L271:
 463  0000E474                                   # }  /* end of subtest 3 */
 464  0000E474    40                            	ret#2
 465  0000E475                                  	.set	L266,0x0
 466  0000E475                                  L268:
 467  0000E475    13 fee1                       	jbr 	L269
 468  0000E478                                  	.data
 469  00000d28 *                                	.text
 470  0000E478                                  	.align	1
 471  0000E478                                  	.globl	_subf_4
 472  0000E478                                  _subf_4:
 473  0000E478    0000                          	.word	L282
 474  0000E47A                                   #   
 475  0000E47A                                   # 
 476  0000E47A                                   # 
 477  0000E47A                                   # /************************************************************************
 478  0000E47A                                   # *
 479  0000E47A                                   # *       SUBTEST 4 - Wait 2 NOPs before storing the results
 480  0000E47A                                   # *
 481  0000E47A                                   # ************************************************************************/
 482  0000E47A                                   # subf_4() 
 483  0000E47A                                   # {
 484  0000E47A    13 011b                       	jbr 	L284
 485  0000E47D                                  L285:
 486  0000E47D                                   #         force_loop = FALSE;
 487  0000E47D    4d effffffc21                 	clrl	_force_loop
 488  0000E483                                   #         subtest = 4;
 489  0000E483    0d 04 effffffc1a              	movl	$4,_subtest
 490  0000E48A                                   #         for( index = 0; index < max_subf_1_index; index++ ) {
 491  0000E48A    4d effffffc14                 	clrl	_index
 492  0000E490                                  L288:
 493  0000E490    1d effffffc0e effffffc09      	cmpl	_index,_max_subf_1_index
 494  0000E49B    91 03 13 00f7                 	jgeq	L287
 495  0000E4A0                                   #              sgl_ld_acc   = subf_1_data[index].op_1; /* get operand 1       */
 496  0000E4A0    5c 0c effffffbfd 50           	mull3	$12,_index,r0
 497  0000E4A8    0d e000000000 effffffbf1      	movl	_subf_1_data(r0),_sgl_ld_acc
 498  0000E4B3                                   #              sgl_value_1  = subf_1_data[index].op_2; /* get operand 2       */
 499  0000E4B3    5c 0c effffffbea 50           	mull3	$12,_index,r0
 500  0000E4BB    0d e000000004 effffffbde      	movl	_subf_1_data+4(r0),_sgl_value_1
 501  0000E4C6                                   #              sgl_expected = subf_1_data[index].exp;  /* get expected result */
 502  0000E4C6    5c 0c effffffbd7 50           	mull3	$12,_index,r0
 503  0000E4CE    0d e000000008 effffffbcb      	movl	_subf_1_data+8(r0),_sgl_expected
 504  0000E4D9                                   # /*
 505  0000E4D9                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 506  0000E4D9                                   #  * The force loop flag is set after the first error.
 507  0000E4D9                                   # */
 508  0000E4D9                                   #              asm("_subf_4_lp1:");
 509  0000E4D9                                  _subf_4_lp1:
 510  0000E4D9                                   #              asm("ldf _sgl_ld_acc");            /* load the 1st operand    */
 511  0000E4D9    06 effffffbc5                 ldf _sgl_ld_acc
 512  0000E4DF                                   #              asm("nop");                        /* delay                   */
 513  0000E4DF    10                            nop
 514  0000E4E0                                   #              asm("subf _sgl_value_1");          /* subract the 2nd operand */
 515  0000E4E0    d6 effffffbbe                 subf _sgl_value_1
 516  0000E4E6                                   #              asm("nop");                        /* delay before ...        */
 517  0000E4E6    10                            nop
 518  0000E4E7                                   #              asm("nop");                        /* ... storing the result  */
 519  0000E4E7    10                            nop
 520  0000E4E8                                   #              asm("stf _sgl_st_acc");            /* store the result        */
 521  0000E4E8    26 effffffbb6                 stf _sgl_st_acc
 522  0000E4EE                                   #              if( force_loop )
 523  0000E4EE    5d effffffbb0                 	tstl	_force_loop
 524  0000E4F4    31 02                         	jeql	L289
 525  0000E4F6                                   #                   asm("brb _subf_4_lp1");;      /* loop on the error       */
 526  0000E4F6    11 e1                         brb _subf_4_lp1
 527  0000E4F8                                  L289:
 528  0000E4F8                                   # /* 
 529  0000E4F8                                   #  * end error loop - test the results
 530  0000E4F8                                   # */
 531  0000E4F8                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
 532  0000E4F8    1d effffffba6 effffffba1      	cmpl	_sgl_st_acc,_sgl_expected
 533  0000E503    21 03 13 0086                 	jeql	L290
 534  0000E508                                   #                    errcnt++;                    /* bump the error count   */
 535  0000E508    6d effffffb96                 	incl	_errcnt
 536  0000E50E                                   #                    if( prt_error ) {
 537  0000E50E    5d effffffb90                 	tstl	_prt_error
 538  0000E514    31 55                         	jeql	L291
 539  0000E516                                   #                         writes(" \n");      /* start a new print line */
 540  0000E516                                  	.data	1
 541  00000dfc *                                L292:
 542  00000dfc *  200A00                        	.ascii	" \12\0"
 543  00000dff *                                	.text
 544  0000E516    dd 8f00000dfc                 	pushl	$L292
 545  0000E51C    fe 08 effffffb81              	callf	$8,_writes
 546  0000E523                                   #                         writes("cycle: ");
 547  0000E523                                  	.data	1
 548  00000dff *                                L293:
 549  00000dff *  6379636C653A2000              	.ascii	"cycle: \0"
 550  00000e07 *                                	.text
 551  0000E523    dd 8f00000dff                 	pushl	$L293
 552  0000E529    fe 08 effffffb74              	callf	$8,_writes
 553  0000E530                                   #                         writed( cycle );
 554  0000E530    dd effffffb6e                 	pushl	_cycle
 555  0000E536    fe 08 effffffb67              	callf	$8,_writed
 556  0000E53D                                   #                         writes("  SUBF test ");
 557  0000E53D                                  	.data	1
 558  00000e07 *                                L294:
 559  00000e07 *  2020535542462074657374200     	.ascii	"  SUBF test \0"
                  0
 560  00000e14 *                                	.text
 561  0000E53D    dd 8f00000e07                 	pushl	$L294
 562  0000E543    fe 08 effffffb5a              	callf	$8,_writes
 563  0000E54A                                   # 			writed( test_no );
 564  0000E54A    dd effffffb54                 	pushl	_test_no
 565  0000E550    fe 08 effffffb4d              	callf	$8,_writed
 566  0000E557                                   # 			writes(", subtest 4 (Cache Data - 2 NOPS) - BAD FINAL ACC\n");
 567  0000E557                                  	.data	1
 568  00000e14 *                                L295:
 569  00000e14 *  2C20737562746573742034202     	.ascii	", subtest 4 (Cache Data - 2 NOPS) - BAD FINAL ACC\12\0"
                  843616368652044617461202D
                  2032204E4F505329202D20424
                  1442046494E414C204143430A
                  00
 570  00000e47 *                                	.text
 571  0000E557    dd 8f00000e14                 	pushl	$L295
 572  0000E55D    fe 08 effffffb40              	callf	$8,_writes
 573  0000E564                                   #                         print_subf_data();
 574  0000E564    fe 04 ef00000709              	callf	$4,_print_subf_data
 575  0000E56B                                   #                    }
 576  0000E56B                                   #                    if( halt_flg ) 
 577  0000E56B                                  L291:
 578  0000E56B    5d effffffb33                 	tstl	_halt_flg
 579  0000E571    31 09                         	jeql	L296
 580  0000E573                                   #                         subf_er_halt( BAD_ACC_HLT );    /* halt on the error */
 581  0000E573    dd 01                         	pushl	$1
 582  0000E575    fe 08 ef00000796              	callf	$8,_subf_er_halt
 583  0000E57C                                   #                    if( loop_on_err ) {
 584  0000E57C                                  L296:
 585  0000E57C    5d effffffb22                 	tstl	_loop_on_err
 586  0000E582    31 0a                         	jeql	L297
 587  0000E584                                   #                         force_loop = TRUE;        /* set the force loop flag */
 588  0000E584    0d 01 effffffb19              	movl	$1,_force_loop
 589  0000E58B                                   #                         asm("brw _subf_4_lp1");;  /* and loop on the error   */
 590  0000E58B    13 ff4b                       brw _subf_4_lp1
 591  0000E58E                                   #                    }   /* end of loop on error */
 592  0000E58E                                   #              }   /* end of compare error */
 593  0000E58E                                  L297:
 594  0000E58E                                   #         }  /* end of WHILE loop */
 595  0000E58E                                  L290:
 596  0000E58E                                  L286:
 597  0000E58E    6d effffffb10                 	incl	_index
 598  0000E594    13 fef9                       	jbr 	L288
 599  0000E597                                  L287:
 600  0000E597                                   # }  /* end of subtest 4 */
 601  0000E597    40                            	ret#2
 602  0000E598                                  	.set	L282,0x0
 603  0000E598                                  L284:
 604  0000E598    13 fee2                       	jbr 	L285
 605  0000E59B                                  	.data
 606  00000d28 *                                	.text
 607  0000E59B    00                            	.align	1
 608  0000E59C                                  	.globl	_subf_5
 609  0000E59C                                  _subf_5:
 610  0000E59C    0000                          	.word	L298
 611  0000E59E                                   #   
 612  0000E59E                                   # 
 613  0000E59E                                   # 
 614  0000E59E                                   # /************************************************************************
 615  0000E59E                                   # *
 616  0000E59E                                   # *       SUBTEST 5 - Wait 1 NOP before storing the results
 617  0000E59E                                   # *
 618  0000E59E                                   # ************************************************************************/
 619  0000E59E                                   # subf_5() 
 620  0000E59E                                   # {
 621  0000E59E    13 011a                       	jbr 	L300
 622  0000E5A1                                  L301:
 623  0000E5A1                                   #         force_loop = FALSE;
 624  0000E5A1    4d effffffafd                 	clrl	_force_loop
 625  0000E5A7                                   #         subtest = 5;
 626  0000E5A7    0d 05 effffffaf6              	movl	$5,_subtest
 627  0000E5AE                                   #         for( index = 0; index < max_subf_1_index; index++ ) {
 628  0000E5AE    4d effffffaf0                 	clrl	_index
 629  0000E5B4                                  L304:
 630  0000E5B4    1d effffffaea effffffae5      	cmpl	_index,_max_subf_1_index
 631  0000E5BF    91 03 13 00f6                 	jgeq	L303
 632  0000E5C4                                   #              sgl_ld_acc   = subf_1_data[index].op_1; /* get operand 1       */
 633  0000E5C4    5c 0c effffffad9 50           	mull3	$12,_index,r0
 634  0000E5CC    0d e000000000 effffffacd      	movl	_subf_1_data(r0),_sgl_ld_acc
 635  0000E5D7                                   #              sgl_value_1  = subf_1_data[index].op_2; /* get operand 2       */
 636  0000E5D7    5c 0c effffffac6 50           	mull3	$12,_index,r0
 637  0000E5DF    0d e000000004 effffffaba      	movl	_subf_1_data+4(r0),_sgl_value_1
 638  0000E5EA                                   #              sgl_expected = subf_1_data[index].exp;  /* get expected result */
 639  0000E5EA    5c 0c effffffab3 50           	mull3	$12,_index,r0
 640  0000E5F2    0d e000000008 effffffaa7      	movl	_subf_1_data+8(r0),_sgl_expected
 641  0000E5FD                                   # /*
 642  0000E5FD                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 643  0000E5FD                                   #  * The force loop flag is set after the first error.
 644  0000E5FD                                   # */
 645  0000E5FD                                   #              asm("_subf_5_lp1:");
 646  0000E5FD                                  _subf_5_lp1:
 647  0000E5FD                                   #              asm("ldf _sgl_ld_acc");            /* load the 1st operand    */
 648  0000E5FD    06 effffffaa1                 ldf _sgl_ld_acc
 649  0000E603                                   #              asm("nop");                        /* delay                   */
 650  0000E603    10                            nop
 651  0000E604                                   #              asm("subf _sgl_value_1");          /* subract the 2nd operand */
 652  0000E604    d6 effffffa9a                 subf _sgl_value_1
 653  0000E60A                                   #              asm("nop");                        /* delay before storing    */
 654  0000E60A    10                            nop
 655  0000E60B                                   #              asm("stf _sgl_st_acc");            /* store the result        */
 656  0000E60B    26 effffffa93                 stf _sgl_st_acc
 657  0000E611                                   #              if( force_loop )
 658  0000E611    5d effffffa8d                 	tstl	_force_loop
 659  0000E617    31 02                         	jeql	L305
 660  0000E619                                   #                   asm("brb _subf_5_lp1");;      /* loop on the error       */
 661  0000E619    11 e2                         brb _subf_5_lp1
 662  0000E61B                                  L305:
 663  0000E61B                                   # /* 
 664  0000E61B                                   #  * end error loop - test the results
 665  0000E61B                                   # */
 666  0000E61B                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
 667  0000E61B    1d effffffa83 effffffa7e      	cmpl	_sgl_st_acc,_sgl_expected
 668  0000E626    21 03 13 0086                 	jeql	L306
 669  0000E62B                                   #                    errcnt++;                    /* bump the error count   */
 670  0000E62B    6d effffffa73                 	incl	_errcnt
 671  0000E631                                   #                    if( prt_error ) {
 672  0000E631    5d effffffa6d                 	tstl	_prt_error
 673  0000E637    31 55                         	jeql	L307
 674  0000E639                                   #                         writes(" \n");      /* start a new print line */
 675  0000E639                                  	.data	1
 676  00000e47 *                                L308:
 677  00000e47 *  200A00                        	.ascii	" \12\0"
 678  00000e4a *                                	.text
 679  0000E639    dd 8f00000e47                 	pushl	$L308
 680  0000E63F    fe 08 effffffa5e              	callf	$8,_writes
 681  0000E646                                   #                         writes("cycle: ");
 682  0000E646                                  	.data	1
 683  00000e4a *                                L309:
 684  00000e4a *  6379636C653A2000              	.ascii	"cycle: \0"
 685  00000e52 *                                	.text
 686  0000E646    dd 8f00000e4a                 	pushl	$L309
 687  0000E64C    fe 08 effffffa51              	callf	$8,_writes
 688  0000E653                                   #                         writed( cycle );
 689  0000E653    dd effffffa4b                 	pushl	_cycle
 690  0000E659    fe 08 effffffa44              	callf	$8,_writed
 691  0000E660                                   #                         writes("  SUBF test ");
 692  0000E660                                  	.data	1
 693  00000e52 *                                L310:
 694  00000e52 *  2020535542462074657374200     	.ascii	"  SUBF test \0"
                  0
 695  00000e5f *                                	.text
 696  0000E660    dd 8f00000e52                 	pushl	$L310
 697  0000E666    fe 08 effffffa37              	callf	$8,_writes
 698  0000E66D                                   # 			writed( test_no );
 699  0000E66D    dd effffffa31                 	pushl	_test_no
 700  0000E673    fe 08 effffffa2a              	callf	$8,_writed
 701  0000E67A                                   # 			writes(", subtest 5 (Cache Data - 1 NOPS) - BAD FINAL ACC\n");
 702  0000E67A                                  	.data	1
 703  00000e5f *                                L311:
 704  00000e5f *  2C20737562746573742035202     	.ascii	", subtest 5 (Cache Data - 1 NOPS) - BAD FINAL ACC\12\0"
                  843616368652044617461202D
                  2031204E4F505329202D20424
                  1442046494E414C204143430A
                  00
 705  00000e92 *                                	.text
 706  0000E67A    dd 8f00000e5f                 	pushl	$L311
 707  0000E680    fe 08 effffffa1d              	callf	$8,_writes
 708  0000E687                                   #                         print_subf_data();
 709  0000E687    fe 04 ef000005e6              	callf	$4,_print_subf_data
 710  0000E68E                                   #                    }
 711  0000E68E                                   #                    if( halt_flg ) 
 712  0000E68E                                  L307:
 713  0000E68E    5d effffffa10                 	tstl	_halt_flg
 714  0000E694    31 09                         	jeql	L312
 715  0000E696                                   #                         subf_er_halt( BAD_ACC_HLT );    /* halt on the error */
 716  0000E696    dd 01                         	pushl	$1
 717  0000E698    fe 08 ef00000673              	callf	$8,_subf_er_halt
 718  0000E69F                                   #                    if( loop_on_err ) {
 719  0000E69F                                  L312:
 720  0000E69F    5d effffff9ff                 	tstl	_loop_on_err
 721  0000E6A5    31 0a                         	jeql	L313
 722  0000E6A7                                   #                         force_loop = TRUE;        /* set the force loop flag */
 723  0000E6A7    0d 01 effffff9f6              	movl	$1,_force_loop
 724  0000E6AE                                   #                         asm("brw _subf_5_lp1");;  /* and loop on the error   */
 725  0000E6AE    13 ff4c                       brw _subf_5_lp1
 726  0000E6B1                                   #                    }   /* end of loop on error */
 727  0000E6B1                                   #              }   /* end of compare error */
 728  0000E6B1                                  L313:
 729  0000E6B1                                   #         }  /* end of WHILE loop */
 730  0000E6B1                                  L306:
 731  0000E6B1                                  L302:
 732  0000E6B1    6d effffff9ed                 	incl	_index
 733  0000E6B7    13 fefa                       	jbr 	L304
 734  0000E6BA                                  L303:
 735  0000E6BA                                   # }  /* end of subtest 5 */
 736  0000E6BA    40                            	ret#2
 737  0000E6BB                                  	.set	L298,0x0
 738  0000E6BB                                  L300:
 739  0000E6BB    13 fee3                       	jbr 	L301
 740  0000E6BE                                  	.data
 741  00000d28 *                                	.text
 742  0000E6BE                                  	.align	1
 743  0000E6BE                                  	.globl	_subf_6
 744  0000E6BE                                  _subf_6:
 745  0000E6BE    0000                          	.word	L314
 746  0000E6C0                                   #   
 747  0000E6C0                                   # 
 748  0000E6C0                                   # 
 749  0000E6C0                                   # /************************************************************************
 750  0000E6C0                                   # *
 751  0000E6C0                                   # *       SUBTEST 6 - Check for register corruption
 752  0000E6C0                                   # *
 753  0000E6C0                                   # ************************************************************************/
 754  0000E6C0                                   # subf_6() 
 755  0000E6C0                                   # {
 756  0000E6C0    13 01a7                       	jbr 	L316
 757  0000E6C3                                  L317:
 758  0000E6C3                                   #         force_loop = FALSE;                     /* clear force_loop flg */
 759  0000E6C3    4d effffff9db                 	clrl	_force_loop
 760  0000E6C9                                   #         subtest = 6;
 761  0000E6C9    0d 06 effffff9d4              	movl	$6,_subtest
 762  0000E6D0                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
 763  0000E6D0    dd 8f00000000                 	pushl	$_load_regs
 764  0000E6D6    fe 08 effffff9c7              	callf	$8,_fill_reg_buf
 765  0000E6DD                                   #         index = 0;
 766  0000E6DD    4d effffff9c1                 	clrl	_index
 767  0000E6E3                                   #         sgl_ld_acc   = subf_1_data[0].op_1;     /* get operand 1       */
 768  0000E6E3    0d effffff9bb effffff9b6      	movl	_subf_1_data,_sgl_ld_acc
 769  0000E6EE                                   #         sgl_value_1  = subf_1_data[0].op_2;     /* get operand 2       */
 770  0000E6EE    0d effffff9b4 effffff9ab      	movl	_subf_1_data+4,_sgl_value_1
 771  0000E6F9                                   #         sgl_expected = subf_1_data[0].exp;      /* get expected result */
 772  0000E6F9    0d effffff9ad effffff9a0      	movl	_subf_1_data+8,_sgl_expected
 773  0000E704                                   # /*
 774  0000E704                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 775  0000E704                                   #  * The force loop flag is set after the first error.
 776  0000E704                                   # */
 777  0000E704                                   #         asm("_subf_6_lp1:");
 778  0000E704                                  _subf_6_lp1:
 779  0000E704                                   #         asm("ldf _sgl_ld_acc");                 /* LOAD the accumulator  */
 780  0000E704    06 effffff99a                 ldf _sgl_ld_acc
 781  0000E70A                                   #         asm("nop");
 782  0000E70A    10                            nop
 783  0000E70B                                   #         asm("loadr $0x1fff,_load_regs");        /* load regs 0 - 12      */
 784  0000E70B    ab 891fff effffff990          loadr $0x1fff,_load_regs
 785  0000E714                                   #         asm("nop");
 786  0000E714    10                            nop
 787  0000E715                                   #         asm("subf _sgl_value_1");               /* do the subraction     */
 788  0000E715    d6 effffff989                 subf _sgl_value_1
 789  0000E71B                                   #         asm("nop");
 790  0000E71B    10                            nop
 791  0000E71C                                   #         asm("storer $0x1fff,_store_regs");      /* store regs 0 - 12 */
 792  0000E71C    bb 891fff effffff97f          storer $0x1fff,_store_regs
 793  0000E725                                   #         asm("stf _sgl_st_acc");                 /* save the accumulator  */
 794  0000E725    26 effffff979                 stf _sgl_st_acc
 795  0000E72B                                   #         if( force_loop )
 796  0000E72B    5d effffff973                 	tstl	_force_loop
 797  0000E731    31 02                         	jeql	L319
 798  0000E733                                   #              asm("brb _subf_6_lp1");;           /* loop on the error     */
 799  0000E733    11 cf                         brb _subf_6_lp1
 800  0000E735                                  L319:
 801  0000E735                                   # /*
 802  0000E735                                   #  * Now compare the stored register values to those that were loaded
 803  0000E735                                   # */
 804  0000E735                                   #         index2 = 0;
 805  0000E735    4d effffff969                 	clrl	_index2
 806  0000E73B                                   #         while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
 807  0000E73B                                  L320:
 808  0000E73B    0d effffff963 50              	movl	_index2,r0
 809  0000E742    0d effffff95c 51              	movl	_index2,r1
 810  0000E749    1d 40effffff954               	cmpl	_load_regs[r0],_store_regs[r1]
                  41effffff94e 
 811  0000E756    21 11                         	jneq	L321
 812  0000E758    1d effffff946 0d              	cmpl	_index2,$13
 813  0000E75F    81 08                         	jgeq	L321
 814  0000E761                                   #              index2++;                          /* check reg values        */
 815  0000E761    6d effffff93d                 	incl	_index2
 816  0000E767    11 d2                         	jbr 	L320
 817  0000E769                                  L321:
 818  0000E769                                   #         if( index2 < 13 ) {                     /* error if index2 < 13    */
 819  0000E769    1d effffff935 0d              	cmpl	_index2,$13
 820  0000E770    91 03 13 00f4                 	jgeq	L322
 821  0000E775                                   #              errcnt++;                          /* bump the error count    */
 822  0000E775    6d effffff929                 	incl	_errcnt
 823  0000E77B                                   #              if( prt_error ) {
 824  0000E77B    5d effffff923                 	tstl	_prt_error
 825  0000E781    21 03 13 00c0                 	jeql	L323
 826  0000E786                                   #                   writes(" \n");           /* start a new print line  */
 827  0000E786                                  	.data	1
 828  00000e92 *                                L324:
 829  00000e92 *  200A00                        	.ascii	" \12\0"
 830  00000e95 *                                	.text
 831  0000E786    dd 8f00000e92                 	pushl	$L324
 832  0000E78C    fe 08 effffff911              	callf	$8,_writes
 833  0000E793                                   #                   writes("cycle: ");
 834  0000E793                                  	.data	1
 835  00000e95 *                                L325:
 836  00000e95 *  6379636C653A2000              	.ascii	"cycle: \0"
 837  00000e9d *                                	.text
 838  0000E793    dd 8f00000e95                 	pushl	$L325
 839  0000E799    fe 08 effffff904              	callf	$8,_writes
 840  0000E7A0                                   #                   writed( cycle );
 841  0000E7A0    dd effffff8fe                 	pushl	_cycle
 842  0000E7A6    fe 08 effffff8f7              	callf	$8,_writed
 843  0000E7AD                                   #                   writes("  SUBF test ");
 844  0000E7AD                                  	.data	1
 845  00000e9d *                                L326:
 846  00000e9d *  2020535542462074657374200     	.ascii	"  SUBF test \0"
                  0
 847  00000eaa *                                	.text
 848  0000E7AD    dd 8f00000e9d                 	pushl	$L326
 849  0000E7B3    fe 08 effffff8ea              	callf	$8,_writes
 850  0000E7BA                                   # 		  writed( test_no );
 851  0000E7BA    dd effffff8e4                 	pushl	_test_no
 852  0000E7C0    fe 08 effffff8dd              	callf	$8,_writed
 853  0000E7C7                                   # 	writes(", subtest 6 - A REGISTER WAS MODIFIED\n");
 854  0000E7C7                                  	.data	1
 855  00000eaa *                                L327:
 856  00000eaa *  2C20737562746573742036202     	.ascii	", subtest 6 - A REGISTER WAS MODIFIED\12\0"
                  D204120524547495354455220
                  574153204D4F4449464945440
                  A00
 857  00000ed1 *                                	.text
 858  0000E7C7    dd 8f00000eaa                 	pushl	$L327
 859  0000E7CD    fe 08 effffff8d0              	callf	$8,_writes
 860  0000E7D4                                   #                   print_subf_data();            /* print the operands      */
 861  0000E7D4    fe 04 ef00000499              	callf	$4,_print_subf_data
 862  0000E7DB                                   #                   writes("register ");          /* print the information   */
 863  0000E7DB                                  	.data	1
 864  00000ed1 *                                L328:
 865  00000ed1 *  72656769737465722000          	.ascii	"register \0"
 866  00000edb *                                	.text
 867  0000E7DB    dd 8f00000ed1                 	pushl	$L328
 868  0000E7E1    fe 08 effffff8bc              	callf	$8,_writes
 869  0000E7E8                                   #                   writed( index2 );             /*    about the corrupted  */
 870  0000E7E8    dd effffff8b6                 	pushl	_index2
 871  0000E7EE    fe 08 effffff8af              	callf	$8,_writed
 872  0000E7F5                                   #                   writes(" = ");                /*        register         */
 873  0000E7F5                                  	.data	1
 874  00000edb *                                L329:
 875  00000edb *  203D2000                      	.ascii	" = \0"
 876  00000edf *                                	.text
 877  0000E7F5    dd 8f00000edb                 	pushl	$L329
 878  0000E7FB    fe 08 effffff8a2              	callf	$8,_writes
 879  0000E802                                   #                   write32h( store_regs[index2] );
 880  0000E802    0d effffff89c 50              	movl	_index2,r0
 881  0000E809    dd 40effffff894               	pushl	_store_regs[r0]
 882  0000E810    fe 08 effffff88d              	callf	$8,_write32h
 883  0000E817                                   #                   writes(",  should be = ");
 884  0000E817                                  	.data	1
 885  00000edf *                                L331:
 886  00000edf *  2C202073686F756C642062652     	.ascii	",  should be = \0"
                  03D2000
 887  00000eef *                                	.text
 888  0000E817    dd 8f00000edf                 	pushl	$L331
 889  0000E81D    fe 08 effffff880              	callf	$8,_writes
 890  0000E824                                   #                   write32h( load_regs[index2] );
 891  0000E824    0d effffff87a 50              	movl	_index2,r0
 892  0000E82B    dd 40effffff872               	pushl	_load_regs[r0]
 893  0000E832    fe 08 effffff86b              	callf	$8,_write32h
 894  0000E839                                   #                   writes("\n");
 895  0000E839                                  	.data	1
 896  00000eef *                                L332:
 897  00000eef *  0A00                          	.ascii	"\12\0"
 898  00000ef1 *                                	.text
 899  0000E839    dd 8f00000eef                 	pushl	$L332
 900  0000E83F    fe 08 effffff85e              	callf	$8,_writes
 901  0000E846                                   #              }
 902  0000E846                                   #              if( halt_flg )   
 903  0000E846                                  L323:
 904  0000E846    5d effffff858                 	tstl	_halt_flg
 905  0000E84C    31 09                         	jeql	L333
 906  0000E84E                                   #                   subf_er_halt( BAD_REG_HLT );  /* halt on the error      */
 907  0000E84E    dd 02                         	pushl	$2
 908  0000E850    fe 08 ef000004bb              	callf	$8,_subf_er_halt
 909  0000E857                                   #                    if( loop_on_err ) {
 910  0000E857                                  L333:
 911  0000E857    5d effffff847                 	tstl	_loop_on_err
 912  0000E85D    31 0a                         	jeql	L334
 913  0000E85F                                   #                         force_loop = TRUE;        /* set the force loop flag */
 914  0000E85F    0d 01 effffff83e              	movl	$1,_force_loop
 915  0000E866                                   #                         asm("brw _subf_6_lp1");;  /* and loop on the error   */
 916  0000E866    13 fe9b                       brw _subf_6_lp1
 917  0000E869                                   #                    }   /* end of loop on error */
 918  0000E869                                   #         }  /* end of register corruption error */
 919  0000E869                                  L334:
 920  0000E869                                   # }  /* end of subtest 6 */
 921  0000E869                                  L322:
 922  0000E869    40                            	ret#2
 923  0000E86A                                  	.set	L314,0x0
 924  0000E86A                                  L316:
 925  0000E86A    13 fe56                       	jbr 	L317
 926  0000E86D                                  	.data
 927  00000d28 *                                	.text
 928  0000E86D    00                            	.align	1
 929  0000E86E                                  	.globl	_subf_7
 930  0000E86E                                  _subf_7:
 931  0000E86E    0000                          	.word	L335
 932  0000E870                                   #   
 933  0000E870                                   # 
 934  0000E870                                   # 
 935  0000E870                                   # /************************************************************************
 936  0000E870                                   # *
 937  0000E870                                   # *       SUBTEST 7 - Check for PSL corruption
 938  0000E870                                   # *
 939  0000E870                                   # ************************************************************************/
 940  0000E870                                   # subf_7() 
 941  0000E870                                   # {
 942  0000E870    13 01b1                       	jbr 	L337
 943  0000E873                                  L338:
 944  0000E873                                   #         force_loop = FALSE;                     /* clear force_loop flg */
 945  0000E873    4d effffff82b                 	clrl	_force_loop
 946  0000E879                                   #         subtest = 7;
 947  0000E879    0d 07 effffff824              	movl	$7,_subtest
 948  0000E880                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
 949  0000E880    dd 8f00000000                 	pushl	$_load_regs
 950  0000E886    fe 08 effffff817              	callf	$8,_fill_reg_buf
 951  0000E88D                                   #         for( index = 0; index < 3; index++ ) {
 952  0000E88D    4d effffff811                 	clrl	_index
 953  0000E893                                  L341:
 954  0000E893    1d effffff80b 03              	cmpl	_index,$3
 955  0000E89A    91 03 13 0184                 	jgeq	L340
 956  0000E89F                                   #              sgl_ld_acc   = subf_1_data[index].op_1;    /* get operand 1 */
 957  0000E89F    5c 0c effffff7fe 50           	mull3	$12,_index,r0
 958  0000E8A7    0d e000000000 effffff7f2      	movl	_subf_1_data(r0),_sgl_ld_acc
 959  0000E8B2                                   #              sgl_value_1  = subf_1_data[index].op_2;    /* get operand 2 */
 960  0000E8B2    5c 0c effffff7eb 50           	mull3	$12,_index,r0
 961  0000E8BA    0d e000000004 effffff7df      	movl	_subf_1_data+4(r0),_sgl_value_1
 962  0000E8C5                                   #              sgl_expected = subf_1_data[index].exp;     /* get expected  */
 963  0000E8C5    5c 0c effffff7d8 50           	mull3	$12,_index,r0
 964  0000E8CD    0d e000000008 effffff7cc      	movl	_subf_1_data+8(r0),_sgl_expected
 965  0000E8D8                                   #              sgl_dummy1 = status_array[status_index];    /* status = +, -, 0 */
 966  0000E8D8    0d effffff7c6 50              	movl	_status_index,r0
 967  0000E8DF    0d 40effffff7be               	movl	_status_array[r0],_sgl_dummy1
                  effffff7b9 
 968  0000E8EB                                   # /*
 969  0000E8EB                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 970  0000E8EB                                   #  * The force loop flag is set after the first error.
 971  0000E8EB                                   # */
 972  0000E8EB                                   #              asm("_subf_7_lp1:");
 973  0000E8EB                                  _subf_7_lp1:
 974  0000E8EB                                   #              asm("ldf _sgl_ld_acc");            /* LOAD the accumulator  */
 975  0000E8EB    06 effffff7b3                 ldf _sgl_ld_acc
 976  0000E8F1                                   #              asm("nop");
 977  0000E8F1    10                            nop
 978  0000E8F2                                   #              asm("tstl _sgl_dummy1");		/* set the PSL status    */
 979  0000E8F2    5d effffff7ac                 tstl _sgl_dummy1
 980  0000E8F8                                   # 	     asm("movpsl _init_psl");		/* save the initial PSL  */
 981  0000E8F8    cd effffff7a6                 movpsl _init_psl
 982  0000E8FE                                   #              asm("subf _sgl_value_1");          /* do the subract        */
 983  0000E8FE    d6 effffff7a0                 subf _sgl_value_1
 984  0000E904                                   #              asm("nop");
 985  0000E904    10                            nop
 986  0000E905                                   #              asm("movpsl _psl_val");            /* save the final PSL    */
 987  0000E905    cd effffff799                 movpsl _psl_val
 988  0000E90B                                   #              asm("stf _sgl_st_acc");            /* save the accumulator  */
 989  0000E90B    26 effffff793                 stf _sgl_st_acc
 990  0000E911                                   #              if( force_loop )
 991  0000E911    5d effffff78d                 	tstl	_force_loop
 992  0000E917    31 02                         	jeql	L342
 993  0000E919                                   #                   asm("brb _subf_7_lp1");;      /* loop on the error     */
 994  0000E919    11 d0                         brb _subf_7_lp1
 995  0000E91B                                  L342:
 996  0000E91B                                   # /*
 997  0000E91B                                   #  * Now compare the final PSL to the initial PSL -they should be the same
 998  0000E91B                                   # */
 999  0000E91B                                   #              exp_psl = init_psl;
1000  0000E91B    0d effffff783 effffff77e      	movl	_init_psl,_exp_psl
1001  0000E926                                   # 	     if( psl_val != init_psl ) {
1002  0000E926    1d effffff778 effffff773      	cmpl	_psl_val,_init_psl
1003  0000E931    21 03 13 00e4                 	jeql	L343
1004  0000E936                                   #                   errcnt++;                     /* bump the error count    */
1005  0000E936    6d effffff768                 	incl	_errcnt
1006  0000E93C                                   #                   if( prt_error ) {
1007  0000E93C    5d effffff762                 	tstl	_prt_error
1008  0000E942    21 03 13 00b0                 	jeql	L344
1009  0000E947                                   #                        writes(" \n");      /* start a new print line  */
1010  0000E947                                  	.data	1
1011  00000ef1 *                                L345:
1012  00000ef1 *  200A00                        	.ascii	" \12\0"
1013  00000ef4 *                                	.text
1014  0000E947    dd 8f00000ef1                 	pushl	$L345
1015  0000E94D    fe 08 effffff750              	callf	$8,_writes
1016  0000E954                                   #                        writes("cycle: ");
1017  0000E954                                  	.data	1
1018  00000ef4 *                                L346:
1019  00000ef4 *  6379636C653A2000              	.ascii	"cycle: \0"
1020  00000efc *                                	.text
1021  0000E954    dd 8f00000ef4                 	pushl	$L346
1022  0000E95A    fe 08 effffff743              	callf	$8,_writes
1023  0000E961                                   #                        writed( cycle );
1024  0000E961    dd effffff73d                 	pushl	_cycle
1025  0000E967    fe 08 effffff736              	callf	$8,_writed
1026  0000E96E                                   #                        writes("  SUBF test ");
1027  0000E96E                                  	.data	1
1028  00000efc *                                L347:
1029  00000efc *  2020535542462074657374200     	.ascii	"  SUBF test \0"
                  0
1030  00000f09 *                                	.text
1031  0000E96E    dd 8f00000efc                 	pushl	$L347
1032  0000E974    fe 08 effffff729              	callf	$8,_writes
1033  0000E97B                                   # 		       writed( test_no );
1034  0000E97B    dd effffff723                 	pushl	_test_no
1035  0000E981    fe 08 effffff71c              	callf	$8,_writed
1036  0000E988                                   # 	writes(", subtest 7 - INCORRECT FINAL PSL\n");
1037  0000E988                                  	.data	1
1038  00000f09 *                                L348:
1039  00000f09 *  2C20737562746573742037202     	.ascii	", subtest 7 - INCORRECT FINAL PSL\12\0"
                  D20494E434F52524543542046
                  494E414C2050534C0A00
1040  00000f2c *                                	.text
1041  0000E988    dd 8f00000f09                 	pushl	$L348
1042  0000E98E    fe 08 effffff70f              	callf	$8,_writes
1043  0000E995                                   #                        print_subf_data();       /* print the operands      */
1044  0000E995    fe 04 ef000002d8              	callf	$4,_print_subf_data
1045  0000E99C                                   #                        writes("initial PSL = ");
1046  0000E99C                                  	.data	1
1047  00000f2c *                                L349:
1048  00000f2c *  696E697469616C2050534C203     	.ascii	"initial PSL = \0"
                  D2000
1049  00000f3b *                                	.text
1050  0000E99C    dd 8f00000f2c                 	pushl	$L349
1051  0000E9A2    fe 08 effffff6fb              	callf	$8,_writes
1052  0000E9A9                                   #                        write32h( init_psl );
1053  0000E9A9    dd effffff6f5                 	pushl	_init_psl
1054  0000E9AF    fe 08 effffff6ee              	callf	$8,_write32h
1055  0000E9B6                                   #                        writes(", final PSL = ");
1056  0000E9B6                                  	.data	1
1057  00000f3b *                                L350:
1058  00000f3b *  2C2066696E616C2050534C203     	.ascii	", final PSL = \0"
                  D2000
1059  00000f4a *                                	.text
1060  0000E9B6    dd 8f00000f3b                 	pushl	$L350
1061  0000E9BC    fe 08 effffff6e1              	callf	$8,_writes
1062  0000E9C3                                   #                        write32h( psl_val );
1063  0000E9C3    dd effffff6db                 	pushl	_psl_val
1064  0000E9C9    fe 08 effffff6d4              	callf	$8,_write32h
1065  0000E9D0                                   #                        writes(", expected PSL = ");
1066  0000E9D0                                  	.data	1
1067  00000f4a *                                L351:
1068  00000f4a *  2C20657870656374656420505     	.ascii	", expected PSL = \0"
                  34C203D2000
1069  00000f5c *                                	.text
1070  0000E9D0    dd 8f00000f4a                 	pushl	$L351
1071  0000E9D6    fe 08 effffff6c7              	callf	$8,_writes
1072  0000E9DD                                   #                        write32h( exp_psl );
1073  0000E9DD    dd effffff6c1                 	pushl	_exp_psl
1074  0000E9E3    fe 08 effffff6ba              	callf	$8,_write32h
1075  0000E9EA                                   #                        writes("\n");
1076  0000E9EA                                  	.data	1
1077  00000f5c *                                L352:
1078  00000f5c *  0A00                          	.ascii	"\12\0"
1079  00000f5e *                                	.text
1080  0000E9EA    dd 8f00000f5c                 	pushl	$L352
1081  0000E9F0    fe 08 effffff6ad              	callf	$8,_writes
1082  0000E9F7                                   #                   }
1083  0000E9F7                                   #                   if( halt_flg )   
1084  0000E9F7                                  L344:
1085  0000E9F7    5d effffff6a7                 	tstl	_halt_flg
1086  0000E9FD    31 09                         	jeql	L353
1087  0000E9FF                                   #                        subf_er_halt( BAD_PSL_HLT );   /* halt on the error */
1088  0000E9FF    dd 03                         	pushl	$3
1089  0000EA01    fe 08 ef0000030a              	callf	$8,_subf_er_halt
1090  0000EA08                                   #                    if( loop_on_err ) {
1091  0000EA08                                  L353:
1092  0000EA08    5d effffff696                 	tstl	_loop_on_err
1093  0000EA0E    31 0a                         	jeql	L354
1094  0000EA10                                   #                         force_loop = TRUE;        /* set the force loop flag */
1095  0000EA10    0d 01 effffff68d              	movl	$1,_force_loop
1096  0000EA17                                   #                         asm("brw _subf_7_lp1");;  /* and loop on the error   */
1097  0000EA17    13 fed1                       brw _subf_7_lp1
1098  0000EA1A                                   #                    }   /* end of loop on error */
1099  0000EA1A                                   #              }  /* end of PSL corruption error */
1100  0000EA1A                                  L354:
1101  0000EA1A                                   #         }  /* end of WHILE loop */
1102  0000EA1A                                  L343:
1103  0000EA1A                                  L339:
1104  0000EA1A    6d effffff684                 	incl	_index
1105  0000EA20    13 fe70                       	jbr 	L341
1106  0000EA23                                  L340:
1107  0000EA23                                   # }  /* end of subtest 7 */
1108  0000EA23    40                            	ret#2
1109  0000EA24                                  	.set	L335,0x0
1110  0000EA24                                  L337:
1111  0000EA24    13 fe4c                       	jbr 	L338
1112  0000EA27                                  	.data
1113  00000d28 *                                	.text
1114  0000EA27    00                            	.align	1
1115  0000EA28                                  	.globl	_subf_8
1116  0000EA28                                  _subf_8:
1117  0000EA28    0000                          	.word	L355
1118  0000EA2A                                   #   
1119  0000EA2A                                   # 
1120  0000EA2A                                   # 
1121  0000EA2A                                   # /************************************************************************
1122  0000EA2A                                   # *
1123  0000EA2A                                   # *               SUBTEST 8 - pipelined entry test
1124  0000EA2A                                   # *
1125  0000EA2A                                   # ************************************************************************/
1126  0000EA2A                                   # subf_8() 
1127  0000EA2A                                   # {
1128  0000EA2A    13 011d                       	jbr 	L357
1129  0000EA2D                                  L358:
1130  0000EA2D                                   #         force_loop = FALSE;
1131  0000EA2D    4d effffff671                 	clrl	_force_loop
1132  0000EA33                                   #         subtest = 8;
1133  0000EA33    0d 08 effffff66a              	movl	$8,_subtest
1134  0000EA3A                                   #         for( index = 0; index < max_subf_1_index; index++ ) {
1135  0000EA3A    4d effffff664                 	clrl	_index
1136  0000EA40                                  L361:
1137  0000EA40    1d effffff65e effffff659      	cmpl	_index,_max_subf_1_index
1138  0000EA4B    91 03 13 00f9                 	jgeq	L360
1139  0000EA50                                   #              sgl_ld_acc   = subf_1_data[index].op_1; /* get operand 1       */
1140  0000EA50    5c 0c effffff64d 50           	mull3	$12,_index,r0
1141  0000EA58    0d e000000000 effffff641      	movl	_subf_1_data(r0),_sgl_ld_acc
1142  0000EA63                                   #              sgl_value_1  = subf_1_data[index].op_2; /* get operand 2       */
1143  0000EA63    5c 0c effffff63a 50           	mull3	$12,_index,r0
1144  0000EA6B    0d e000000004 effffff62e      	movl	_subf_1_data+4(r0),_sgl_value_1
1145  0000EA76                                   #              sgl_expected = subf_1_data[index].exp;  /* get expected result */
1146  0000EA76    5c 0c effffff627 50           	mull3	$12,_index,r0
1147  0000EA7E    0d e000000008 effffff61b      	movl	_subf_1_data+8(r0),_sgl_expected
1148  0000EA89                                   # /*
1149  0000EA89                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
1150  0000EA89                                   #  * The force loop flag is set after the first error.
1151  0000EA89                                   # */
1152  0000EA89                                   #              asm("_subf_8_lp1:");
1153  0000EA89                                  _subf_8_lp1:
1154  0000EA89                                   #              asm("movl $0,r0");                 /* clear r0                */
1155  0000EA89    0d 00 50                      movl $0,r0
1156  0000EA8C                                   #              asm("ldf r0");                     /* load the Acc. with 0.0  */
1157  0000EA8C    06 50                         ldf r0
1158  0000EA8E                                   #              asm("addf _sgl_ld_acc");           /* add the 1st operand     */
1159  0000EA8E    c6 effffff610                 addf _sgl_ld_acc
1160  0000EA94                                   #              asm("subf _sgl_value_1");          /* subract the 2nd operand */
1161  0000EA94    d6 effffff60a                 subf _sgl_value_1
1162  0000EA9A                                   #              asm("stf _sgl_st_acc");            /* store the result        */
1163  0000EA9A    26 effffff604                 stf _sgl_st_acc
1164  0000EAA0                                   #              if( force_loop )
1165  0000EAA0    5d effffff5fe                 	tstl	_force_loop
1166  0000EAA6    31 02                         	jeql	L362
1167  0000EAA8                                   #                   asm("brb _subf_8_lp1");;      /* loop on the error       */
1168  0000EAA8    11 df                         brb _subf_8_lp1
1169  0000EAAA                                  L362:
1170  0000EAAA                                   # /* 
1171  0000EAAA                                   #  * end error loop - test the results
1172  0000EAAA                                   # */
1173  0000EAAA                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
1174  0000EAAA    1d effffff5f4 effffff5ef      	cmpl	_sgl_st_acc,_sgl_expected
1175  0000EAB5    21 03 13 0086                 	jeql	L363
1176  0000EABA                                   #                    errcnt++;                    /* bump the error count   */
1177  0000EABA    6d effffff5e4                 	incl	_errcnt
1178  0000EAC0                                   #                    if( prt_error ) {
1179  0000EAC0    5d effffff5de                 	tstl	_prt_error
1180  0000EAC6    31 55                         	jeql	L364
1181  0000EAC8                                   #                         writes(" \n");      /* start a new print line */
1182  0000EAC8                                  	.data	1
1183  00000f5e *                                L365:
1184  00000f5e *  200A00                        	.ascii	" \12\0"
1185  00000f61 *                                	.text
1186  0000EAC8    dd 8f00000f5e                 	pushl	$L365
1187  0000EACE    fe 08 effffff5cf              	callf	$8,_writes
1188  0000EAD5                                   #                         writes("cycle: ");
1189  0000EAD5                                  	.data	1
1190  00000f61 *                                L366:
1191  00000f61 *  6379636C653A2000              	.ascii	"cycle: \0"
1192  00000f69 *                                	.text
1193  0000EAD5    dd 8f00000f61                 	pushl	$L366
1194  0000EADB    fe 08 effffff5c2              	callf	$8,_writes
1195  0000EAE2                                   #                         writed( cycle );
1196  0000EAE2    dd effffff5bc                 	pushl	_cycle
1197  0000EAE8    fe 08 effffff5b5              	callf	$8,_writed
1198  0000EAEF                                   #                         writes("  SUBF test ");
1199  0000EAEF                                  	.data	1
1200  00000f69 *                                L367:
1201  00000f69 *  2020535542462074657374200     	.ascii	"  SUBF test \0"
                  0
1202  00000f76 *                                	.text
1203  0000EAEF    dd 8f00000f69                 	pushl	$L367
1204  0000EAF5    fe 08 effffff5a8              	callf	$8,_writes
1205  0000EAFC                                   # 			writed( test_no );
1206  0000EAFC    dd effffff5a2                 	pushl	_test_no
1207  0000EB02    fe 08 effffff59b              	callf	$8,_writed
1208  0000EB09                                   # 			writes(", subtest 8 (Piped Entry) - BAD FINAL ACC\n");
1209  0000EB09                                  	.data	1
1210  00000f76 *                                L368:
1211  00000f76 *  2C20737562746573742038202     	.ascii	", subtest 8 (Piped Entry) - BAD FINAL ACC\12\0"
                  8506970656420456E74727929
                  202D204241442046494E414C2
                  04143430A00
1212  00000fa1 *                                	.text
1213  0000EB09    dd 8f00000f76                 	pushl	$L368
1214  0000EB0F    fe 08 effffff58e              	callf	$8,_writes
1215  0000EB16                                   #                         print_subf_data();
1216  0000EB16    fe 04 ef00000157              	callf	$4,_print_subf_data
1217  0000EB1D                                   #                    }
1218  0000EB1D                                   #                    if( halt_flg ) 
1219  0000EB1D                                  L364:
1220  0000EB1D    5d effffff581                 	tstl	_halt_flg
1221  0000EB23    31 09                         	jeql	L369
1222  0000EB25                                   #                         subf_er_halt( BAD_ACC_HLT );    /* halt on the error */
1223  0000EB25    dd 01                         	pushl	$1
1224  0000EB27    fe 08 ef000001e4              	callf	$8,_subf_er_halt
1225  0000EB2E                                   #                    if( loop_on_err ) {
1226  0000EB2E                                  L369:
1227  0000EB2E    5d effffff570                 	tstl	_loop_on_err
1228  0000EB34    31 0a                         	jeql	L370
1229  0000EB36                                   #                         force_loop = TRUE;        /* set the force loop flag */
1230  0000EB36    0d 01 effffff567              	movl	$1,_force_loop
1231  0000EB3D                                   #                         asm("brw _subf_8_lp1");;  /* and loop on the error   */
1232  0000EB3D    13 ff49                       brw _subf_8_lp1
1233  0000EB40                                   #                    }   /* end of loop on error */
1234  0000EB40                                   #              }   /* end of compare error */
1235  0000EB40                                  L370:
1236  0000EB40                                   #         }  /* end of WHILE loop */
1237  0000EB40                                  L363:
1238  0000EB40                                  L359:
1239  0000EB40    6d effffff55e                 	incl	_index
1240  0000EB46    13 fef7                       	jbr 	L361
1241  0000EB49                                  L360:
1242  0000EB49                                   # }  /* end of subtest 8 */
1243  0000EB49    40                            	ret#2
1244  0000EB4A                                  	.set	L355,0x0
1245  0000EB4A                                  L357:
1246  0000EB4A    13 fee0                       	jbr 	L358
1247  0000EB4D                                  	.data
1248  00000d28 *                                	.text
1249  0000EB4D    00                            	.align	1
1250  0000EB4E                                  	.globl	_subf_9
1251  0000EB4E                                  _subf_9:
1252  0000EB4E    0000                          	.word	L371
1253  0000EB50                                   #   
1254  0000EB50                                   # 
1255  0000EB50                                   # 
1256  0000EB50                                   # /************************************************************************
1257  0000EB50                                   # *
1258  0000EB50                                   # *               SUBTEST 9 - pipelined exit test
1259  0000EB50                                   # *
1260  0000EB50                                   # ************************************************************************/
1261  0000EB50                                   # subf_9() 
1262  0000EB50                                   # {
1263  0000EB50    13 011d                       	jbr 	L373
1264  0000EB53                                  L374:
1265  0000EB53                                   #         force_loop = FALSE;
1266  0000EB53    4d effffff54b                 	clrl	_force_loop
1267  0000EB59                                   #         subtest = 9;
1268  0000EB59    0d 09 effffff544              	movl	$9,_subtest
1269  0000EB60                                   #         for( index = 0; index < max_subf_1_index; index++ ) {
1270  0000EB60    4d effffff53e                 	clrl	_index
1271  0000EB66                                  L377:
1272  0000EB66    1d effffff538 effffff533      	cmpl	_index,_max_subf_1_index
1273  0000EB71    91 03 13 00f9                 	jgeq	L376
1274  0000EB76                                   #              sgl_ld_acc   = subf_1_data[index].op_1; /* get operand 1       */
1275  0000EB76    5c 0c effffff527 50           	mull3	$12,_index,r0
1276  0000EB7E    0d e000000000 effffff51b      	movl	_subf_1_data(r0),_sgl_ld_acc
1277  0000EB89                                   #              sgl_value_1  = subf_1_data[index].op_2; /* get operand 2       */
1278  0000EB89    5c 0c effffff514 50           	mull3	$12,_index,r0
1279  0000EB91    0d e000000004 effffff508      	movl	_subf_1_data+4(r0),_sgl_value_1
1280  0000EB9C                                   #              sgl_expected = subf_1_data[index].exp;  /* get expected result */
1281  0000EB9C    5c 0c effffff501 50           	mull3	$12,_index,r0
1282  0000EBA4    0d e000000008 effffff4f5      	movl	_subf_1_data+8(r0),_sgl_expected
1283  0000EBAF                                   # /*
1284  0000EBAF                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
1285  0000EBAF                                   #  * The force loop flag is set after the first error.
1286  0000EBAF                                   # */
1287  0000EBAF                                   #              asm("_subf_9_lp1:");
1288  0000EBAF                                  _subf_9_lp1:
1289  0000EBAF                                   #              asm("movl $0,r0");                 /* clear r0                */
1290  0000EBAF    0d 00 50                      movl $0,r0
1291  0000EBB2                                   #              asm("ldf _sgl_ld_acc");            /* load the 1st operand    */
1292  0000EBB2    06 effffff4ec                 ldf _sgl_ld_acc
1293  0000EBB8                                   #              asm("subf _sgl_value_1");          /* subract the 2nd operand */
1294  0000EBB8    d6 effffff4e6                 subf _sgl_value_1
1295  0000EBBE                                   #              asm("addf r0");                    /* add a 0.0 to the result */
1296  0000EBBE    c6 50                         addf r0
1297  0000EBC0                                   #              asm("stf _sgl_st_acc");            /* store the result        */
1298  0000EBC0    26 effffff4de                 stf _sgl_st_acc
1299  0000EBC6                                   #              if( force_loop )
1300  0000EBC6    5d effffff4d8                 	tstl	_force_loop
1301  0000EBCC    31 02                         	jeql	L378
1302  0000EBCE                                   #                   asm("brb _subf_9_lp1");;      /* loop on the error       */
1303  0000EBCE    11 df                         brb _subf_9_lp1
1304  0000EBD0                                  L378:
1305  0000EBD0                                   # /* 
1306  0000EBD0                                   #  * end error loop - test the results
1307  0000EBD0                                   # */
1308  0000EBD0                                   #              if( sgl_st_acc != sgl_expected ) { /* COMPARE the values     */
1309  0000EBD0    1d effffff4ce effffff4c9      	cmpl	_sgl_st_acc,_sgl_expected
1310  0000EBDB    21 03 13 0086                 	jeql	L379
1311  0000EBE0                                   #                    errcnt++;                    /* bump the error count   */
1312  0000EBE0    6d effffff4be                 	incl	_errcnt
1313  0000EBE6                                   #                    if( prt_error ) {
1314  0000EBE6    5d effffff4b8                 	tstl	_prt_error
1315  0000EBEC    31 55                         	jeql	L380
1316  0000EBEE                                   #                         writes(" \n");      /* start a new print line */
1317  0000EBEE                                  	.data	1
1318  00000fa1 *                                L381:
1319  00000fa1 *  200A00                        	.ascii	" \12\0"
1320  00000fa4 *                                	.text
1321  0000EBEE    dd 8f00000fa1                 	pushl	$L381
1322  0000EBF4    fe 08 effffff4a9              	callf	$8,_writes
1323  0000EBFB                                   #                         writes("cycle: ");
1324  0000EBFB                                  	.data	1
1325  00000fa4 *                                L382:
1326  00000fa4 *  6379636C653A2000              	.ascii	"cycle: \0"
1327  00000fac *                                	.text
1328  0000EBFB    dd 8f00000fa4                 	pushl	$L382
1329  0000EC01    fe 08 effffff49c              	callf	$8,_writes
1330  0000EC08                                   #                         writed( cycle );
1331  0000EC08    dd effffff496                 	pushl	_cycle
1332  0000EC0E    fe 08 effffff48f              	callf	$8,_writed
1333  0000EC15                                   #                         writes("  SUBF test ");
1334  0000EC15                                  	.data	1
1335  00000fac *                                L383:
1336  00000fac *  2020535542462074657374200     	.ascii	"  SUBF test \0"
                  0
1337  00000fb9 *                                	.text
1338  0000EC15    dd 8f00000fac                 	pushl	$L383
1339  0000EC1B    fe 08 effffff482              	callf	$8,_writes
1340  0000EC22                                   # 			writed( test_no );
1341  0000EC22    dd effffff47c                 	pushl	_test_no
1342  0000EC28    fe 08 effffff475              	callf	$8,_writed
1343  0000EC2F                                   # 			writes(", subtest 9 (Piped Exit) - BAD FINAL ACC\n");
1344  0000EC2F                                  	.data	1
1345  00000fb9 *                                L384:
1346  00000fb9 *  2C20737562746573742039202     	.ascii	", subtest 9 (Piped Exit) - BAD FINAL ACC\12\0"
                  8506970656420457869742920
                  2D204241442046494E414C204
                  143430A00
1347  00000fe3 *                                	.text
1348  0000EC2F    dd 8f00000fb9                 	pushl	$L384
1349  0000EC35    fe 08 effffff468              	callf	$8,_writes
1350  0000EC3C                                   #                         print_subf_data();
1351  0000EC3C    fe 04 ef00000031              	callf	$4,_print_subf_data
1352  0000EC43                                   #                    }
1353  0000EC43                                   #                    if( halt_flg ) 
1354  0000EC43                                  L380:
1355  0000EC43    5d effffff45b                 	tstl	_halt_flg
1356  0000EC49    31 09                         	jeql	L385
1357  0000EC4B                                   #                         subf_er_halt( BAD_ACC_HLT );    /* halt on the error */
1358  0000EC4B    dd 01                         	pushl	$1
1359  0000EC4D    fe 08 ef000000be              	callf	$8,_subf_er_halt
1360  0000EC54                                   #                    if( loop_on_err ) {
1361  0000EC54                                  L385:
1362  0000EC54    5d effffff44a                 	tstl	_loop_on_err
1363  0000EC5A    31 0a                         	jeql	L386
1364  0000EC5C                                   #                         force_loop = TRUE;        /* set the force loop flag */
1365  0000EC5C    0d 01 effffff441              	movl	$1,_force_loop
1366  0000EC63                                   #                         asm("brw _subf_9_lp1");;  /* and loop on the error   */
1367  0000EC63    13 ff49                       brw _subf_9_lp1
1368  0000EC66                                   #                    }   /* end of loop on error */
1369  0000EC66                                   #              }   /* end of compare error */
1370  0000EC66                                  L386:
1371  0000EC66                                   #         }  /* end of WHILE loop */
1372  0000EC66                                  L379:
1373  0000EC66                                  L375:
1374  0000EC66    6d effffff438                 	incl	_index
1375  0000EC6C    13 fef7                       	jbr 	L377
1376  0000EC6F                                  L376:
1377  0000EC6F                                   # }  /* end of subtest 9 */
1378  0000EC6F    40                            	ret#2
1379  0000EC70                                  	.set	L371,0x0
1380  0000EC70                                  L373:
1381  0000EC70    13 fee0                       	jbr 	L374
1382  0000EC73                                  	.data
1383  00000d28 *                                	.text
1384  0000EC73    00                            	.align	1
1385  0000EC74                                  	.globl	_print_subf_data
1386  0000EC74                                  _print_subf_data:
1387  0000EC74    0000                          	.word	L387
1388  0000EC76                                   #   
1389  0000EC76                                   # 
1390  0000EC76                                   # 
1391  0000EC76                                   # /**************************************************************************
1392  0000EC76                                   # *
1393  0000EC76                                   # *       PRINT THE DATA AND STORE RESULTS
1394  0000EC76                                   # *
1395  0000EC76                                   # *  initial Acc = xxxxxxxx,     stored = xxxxxxxx,   data index = xx
1396  0000EC76                                   # *      operand = xxxxxxxx,   expected = xxxxxxxx
1397  0000EC76                                   # **************************************************************************/
1398  0000EC76                                   # print_subf_data()
1399  0000EC76                                   # {
1400  0000EC76    13 0095                       	jbr 	L389
1401  0000EC79                                  L390:
1402  0000EC79                                   #         writes("initial Acc = ");
1403  0000EC79                                  	.data	1
1404  00000fe3 *                                L391:
1405  00000fe3 *  696E697469616C20416363203     	.ascii	"initial Acc = \0"
                  D2000
1406  00000ff2 *                                	.text
1407  0000EC79    dd 8f00000fe3                 	pushl	$L391
1408  0000EC7F    fe 08 effffff41e              	callf	$8,_writes
1409  0000EC86                                   #         write32h( sgl_ld_acc );
1410  0000EC86    dd effffff418                 	pushl	_sgl_ld_acc
1411  0000EC8C    fe 08 effffff411              	callf	$8,_write32h
1412  0000EC93                                   #         writes(",    stored = ");
1413  0000EC93                                  	.data	1
1414  00000ff2 *                                L392:
1415  00000ff2 *  2C2020202073746F726564203     	.ascii	",    stored = \0"
                  D2000
1416  00001001 *                                	.text
1417  0000EC93    dd 8f00000ff2                 	pushl	$L392
1418  0000EC99    fe 08 effffff404              	callf	$8,_writes
1419  0000ECA0                                   #         write32h( sgl_st_acc );
1420  0000ECA0    dd effffff3fe                 	pushl	_sgl_st_acc
1421  0000ECA6    fe 08 effffff3f7              	callf	$8,_write32h
1422  0000ECAD                                   #         writes(",  data index = ");
1423  0000ECAD                                  	.data	1
1424  00001001 *                                L393:
1425  00001001 *  2C20206461746120696E64657     	.ascii	",  data index = \0"
                  8203D2000
1426  00001012 *                                	.text
1427  0000ECAD    dd 8f00001001                 	pushl	$L393
1428  0000ECB3    fe 08 effffff3ea              	callf	$8,_writes
1429  0000ECBA                                   #         writed( index );
1430  0000ECBA    dd effffff3e4                 	pushl	_index
1431  0000ECC0    fe 08 effffff3dd              	callf	$8,_writed
1432  0000ECC7                                   #         writec('\n');
1433  0000ECC7    dd 0a                         	pushl	$10
1434  0000ECC9    fe 08 effffff3d4              	callf	$8,_writec
1435  0000ECD0                                   #         writes("    operand = ");
1436  0000ECD0                                  	.data	1
1437  00001012 *                                L395:
1438  00001012 *  202020206F706572616E64203     	.ascii	"    operand = \0"
                  D2000
1439  00001021 *                                	.text
1440  0000ECD0    dd 8f00001012                 	pushl	$L395
1441  0000ECD6    fe 08 effffff3c7              	callf	$8,_writes
1442  0000ECDD                                   #         write32h( sgl_value_1 );
1443  0000ECDD    dd effffff3c1                 	pushl	_sgl_value_1
1444  0000ECE3    fe 08 effffff3ba              	callf	$8,_write32h
1445  0000ECEA                                   #         writes(",  expected = ");
1446  0000ECEA                                  	.data	1
1447  00001021 *                                L396:
1448  00001021 *  2C20206578706563746564203     	.ascii	",  expected = \0"
                  D2000
1449  00001030 *                                	.text
1450  0000ECEA    dd 8f00001021                 	pushl	$L396
1451  0000ECF0    fe 08 effffff3ad              	callf	$8,_writes
1452  0000ECF7                                   #         write32h( sgl_expected );
1453  0000ECF7    dd effffff3a7                 	pushl	_sgl_expected
1454  0000ECFD    fe 08 effffff3a0              	callf	$8,_write32h
1455  0000ED04                                   #         writec('\n');
1456  0000ED04    dd 0a                         	pushl	$10
1457  0000ED06    fe 08 effffff397              	callf	$8,_writec
1458  0000ED0D                                   # }
1459  0000ED0D    40                            	ret#2
1460  0000ED0E                                  	.set	L387,0x0
1461  0000ED0E                                  L389:
1462  0000ED0E    13 ff68                       	jbr 	L390
1463  0000ED11                                  	.data
1464  00000d28 *                                	.text
1465  0000ED11    00                            	.align	1
1466  0000ED12                                  	.globl	_subf_er_halt
1467  0000ED12                                  _subf_er_halt:
1468  0000ED12    0000                          	.word	L397
1469  0000ED14                                   #  
1470  0000ED14                                   # 
1471  0000ED14                                   # 
1472  0000ED14                                   # /**************************************************************************
1473  0000ED14                                   # *
1474  0000ED14                                   # *               HALT ON ERROR ROUTINE 
1475  0000ED14                                   # *
1476  0000ED14                                   # **************************************************************************/
1477  0000ED14                                   # subf_er_halt( halt_code )
1478  0000ED14                                   # int halt_code;
1479  0000ED14                                   # {
1480  0000ED14    13 00af                       	jbr 	L399
1481  0000ED17                                  L400:
1482  0000ED17                                   #         sgl_dummy1 = halt_code;                 /* get the error type    */
1483  0000ED17    0d ad04 effffff385            	movl	4(fp),_sgl_dummy1
1484  0000ED1F                                   #         asm("movl _test_no,r0");                /* r0  = test number     */
1485  0000ED1F    0d effffff37f 50              movl _test_no,r0
1486  0000ED26                                   #         asm("movl _subtest,r1");                /* r1  = subtest number  */
1487  0000ED26    0d effffff378 51              movl _subtest,r1
1488  0000ED2D                                   #         asm("movl _sgl_dummy1,r2");             /* r2  = error code      */
1489  0000ED2D    0d effffff371 52              movl _sgl_dummy1,r2
1490  0000ED34                                   #         asm("movl _cycle,r3");                  /* r3  = cycle count     */
1491  0000ED34    0d effffff36a 53              movl _cycle,r3
1492  0000ED3B                                   #         asm("movl _sgl_ld_acc,r4");             /* r4  = initial data    */
1493  0000ED3B    0d effffff363 54              movl _sgl_ld_acc,r4
1494  0000ED42                                   #         asm("movl _sgl_value_1,r5");            /* r5  = data subtracted */
1495  0000ED42    0d effffff35c 55              movl _sgl_value_1,r5
1496  0000ED49                                   #         asm("movl _sgl_st_acc,r6");             /* r6  = data stored     */
1497  0000ED49    0d effffff355 56              movl _sgl_st_acc,r6
1498  0000ED50                                   #         if(halt_code == BAD_ACC_HLT ) {
1499  0000ED50    1d ad04 01                    	cmpl	4(fp),$1
1500  0000ED54    21 10                         	jneq	L401
1501  0000ED56                                   #              asm("movl _sgl_expected,r7");      /* r7  = data expected   */
1502  0000ED56    0d effffff348 57              movl _sgl_expected,r7
1503  0000ED5D                                   #              asm("movl _index,r8");             /* r8  = data index      */
1504  0000ED5D    0d effffff341 58              movl _index,r8
1505  0000ED64                                   #         } else
1506  0000ED64    11 5e                         	jbr 	L402
1507  0000ED66                                  L401:
1508  0000ED66                                   #         if( halt_code == BAD_REG_HLT ) {
1509  0000ED66    1d ad04 02                    	cmpl	4(fp),$2
1510  0000ED6A    21 3d                         	jneq	L403
1511  0000ED6C                                   #              sgl_dummy1 = load_regs[index2];
1512  0000ED6C    0d effffff332 50              	movl	_index2,r0
1513  0000ED73    0d 40effffff32a               	movl	_load_regs[r0],_sgl_dummy1
                  effffff325 
1514  0000ED7F                                   #              sgl_dummy2 = store_regs[index2];
1515  0000ED7F    0d effffff31f 50              	movl	_index2,r0
1516  0000ED86    0d 40effffff317               	movl	_store_regs[r0],_sgl_dummy2
                  effffff312 
1517  0000ED92                                   #              asm("movl _index2,r7");            /* r7  = bad register #  */
1518  0000ED92    0d effffff30c 57              movl _index2,r7
1519  0000ED99                                   #              asm("movl _sgl_dummy2,r8");        /* r8  = actual value    */
1520  0000ED99    0d effffff305 58              movl _sgl_dummy2,r8
1521  0000EDA0                                   #              asm("movl _sgl_dummy1,r9");        /* r9  = expected value  */
1522  0000EDA0    0d effffff2fe 59              movl _sgl_dummy1,r9
1523  0000EDA7                                   #         } else
1524  0000EDA7    11 1b                         	jbr 	L404
1525  0000EDA9                                  L403:
1526  0000EDA9                                   #           if( halt_code == BAD_PSL_HLT ) {
1527  0000EDA9    1d ad04 03                    	cmpl	4(fp),$3
1528  0000EDAD    21 15                         	jneq	L405
1529  0000EDAF                                   #              asm("movl _init_psl,r7");          /* r7  = initial PSL     */
1530  0000EDAF    0d effffff2ef 57              movl _init_psl,r7
1531  0000EDB6                                   #              asm("movl _psl_val,r8");           /* r8  = final PSL       */
1532  0000EDB6    0d effffff2e8 58              movl _psl_val,r8
1533  0000EDBD                                   #              asm("movl _exp_psl,r9");           /* r9  = expected PSL    */
1534  0000EDBD    0d effffff2e1 59              movl _exp_psl,r9
1535  0000EDC4                                   #         };
1536  0000EDC4                                  L405:
1537  0000EDC4                                  L404:
1538  0000EDC4                                  L402:
1539  0000EDC4                                   #         asm("halt");                            /* HALT ...              */
1540  0000EDC4    00                            halt
1541  0000EDC5                                   # }  
1542  0000EDC5    40                            	ret#2
1543  0000EDC6                                  	.set	L397,0x0
1544  0000EDC6                                  L399:
1545  0000EDC6    13 ff4e                       	jbr 	L400
1546  0000EDC9                                  	.data
1546  0001CE6D                                  	.data

unix.superglobalmegacorp.com

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