File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / macro4 / cvdl.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  00000c48 *                                	.text
   4  00000000                                  	.align	1
   5  00000000                                  	.globl	_cvdl
   6  00000000                                  _cvdl:
   7  0001DAA8    0000                          	.word	L215
   8  0001DAAA                                   # 
   9  0001DAAA                                   # #include "fpp_defs.h"
  10  0001DAAA                                   # 
  11  0001DAAA                                   # 
  12  0001DAAA                                   # /*****************************************************************************
  13  0001DAAA                                   # *
  14  0001DAAA                                   # *       CVDL - SINGLE PRECISION FLOATING POINT CONVERT LONG TO FLOAT TEST
  15  0001DAAA                                   # *
  16  0001DAAA                                   # *****************************************************************************/
  17  0001DAAA                                   # cvdl()
  18  0001DAAA                                   # {
  19  0001DAAA    11 41                         	jbr 	L217
  20  0001DAAC                                  L218:
  21  0001DAAC                                   #         asm(".globl _cvdl_t");
  22  0001DAAC                                  .globl _cvdl_t
  23  0001DAAC                                   #         asm("_cvdl_t:");                       /* entry address              */
  24  0001DAAC                                  _cvdl_t:
  25  0001DAAC                                   #         if( ( cycle == 1 ) && ( prt_hdrs ) )   /* print headers on 1st cycle */
  26  0001DAAC    1d effffffff6 01              	cmpl	_cycle,$1
  27  0001DAB3    21 15                         	jneq	L219
  28  0001DAB5    5d efffffffed                 	tstl	_prt_hdrs
  29  0001DABB    31 0d                         	jeql	L219
  30  0001DABD                                   #            writes(" CVDL");
  31  0001DABD                                  	.data	1
  32  00000c48 *                                L221:
  33  00000c48 *  204356444C00                  	.ascii	" CVDL\0"
  34  00000c4e *                                	.text
  35  0001DABD    dd 8f00000c48                 	pushl	$L221
  36  0001DAC3    fe 08 efffffffde              	callf	$8,_writes
  37  0001DACA                                   #         cvdl_1();                              /* load through a register    */
  38  0001DACA                                  L219:
  39  0001DACA    fe 04 ef0000001f              	callf	$4,_cvdl_1
  40  0001DAD1                                   #         cvdl_2();                              /* load through the cache     */
  41  0001DAD1    fe 04 ef0000033a              	callf	$4,_cvdl_2
  42  0001DAD8                                   #         cvdl_3();                              /* register stability         */
  43  0001DAD8    fe 04 ef00000631              	callf	$4,_cvdl_3
  44  0001DADF                                   #         cvdl_4();                              /* PSL stability test         */
  45  0001DADF    fe 04 ef00000842              	callf	$4,_cvdl_4
  46  0001DAE6                                   #         asm("jmp *return");                    /* return to the test monitor */
  47  0001DAE6    71 ffffffffbc                 jmp *return
  48  0001DAEC                                   # }
  49  0001DAEC    40                            	ret#2
  50  0001DAED                                  	.set	L215,0x0
  51  0001DAED                                  L217:
  52  0001DAED    11 bd                         	jbr 	L218
  53  0001DAEF                                  	.data
  54  00000c48 *                                	.text
  55  0001DAEF    00                            	.align	1
  56  0001DAF0                                  	.globl	_cvdl_1
  57  0001DAF0                                  _cvdl_1:
  58  0001DAF0    0000                          	.word	L226
  59  0001DAF2                                   #  
  60  0001DAF2                                   # 
  61  0001DAF2                                   # 
  62  0001DAF2                                   # /************************************************************************
  63  0001DAF2                                   # *
  64  0001DAF2                                   # *               SUBTEST 1
  65  0001DAF2                                   # *
  66  0001DAF2                                   # ************************************************************************/
  67  0001DAF2                                   # cvdl_1() 
  68  0001DAF2                                   # {
  69  0001DAF2    13 0319                       	jbr 	L228
  70  0001DAF5                                  L229:
  71  0001DAF5                                   #         force_loop = FALSE;
  72  0001DAF5    4d efffffffad                 	clrl	_force_loop
  73  0001DAFB                                   #         subtest = 1;
  74  0001DAFB    0d 01 efffffffa6              	movl	$1,_subtest
  75  0001DB02                                   #         index = 0;
  76  0001DB02    4d efffffffa0                 	clrl	_index
  77  0001DB08                                   #         do 
  78  0001DB08                                  L232:
  79  0001DB08                                   #         {
  80  0001DB08                                   #              dbl_ld_acc   = cvdl_1_data[index].ld;   /* get the operand     */
  81  0001DB08    5c 0c efffffff99 50           	mull3	$12,_index,r0
  82  0001DB10    0c 8f00000000 50              	addl2	$_cvdl_1_data,r0
  83  0001DB17    0d a004 efffffff8d            	movl	4(r0),_dbl_ld_acc+4
  84  0001DB1F    0d 60 efffffff82              	movl	(r0),_dbl_ld_acc
  85  0001DB26                                   #              sgl_expected = cvdl_1_data[index].exp;  /* get expected result */
  86  0001DB26    5c 0c efffffff7b 50           	mull3	$12,_index,r0
  87  0001DB2E    0d e000000008 efffffff6f      	movl	_cvdl_1_data+8(r0),_sgl_expected
  88  0001DB39                                   #              sgl_value_1  = dbl_ld_acc.m;       /* get an initial value     */
  89  0001DB39    0d efffffff69 efffffff64      	movl	_dbl_ld_acc,_sgl_value_1
  90  0001DB44                                   #              sgl_value_2  = dbl_ld_acc.l;       /* for the accumulator      */
  91  0001DB44    0d efffffff62 efffffff59      	movl	_dbl_ld_acc+4,_sgl_value_2
  92  0001DB4F                                   # /*
  93  0001DB4F                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
  94  0001DB4F                                   #  * The force loop flag is set after the first error.
  95  0001DB4F                                   # */
  96  0001DB4F                                   #              asm("_cvdl_1_lp1:");
  97  0001DB4F                                  _cvdl_1_lp1:
  98  0001DB4F                                   #              asm("movl _sgl_value_1,r4");       /* get the value to convert */
  99  0001DB4F    0d efffffff53 54              movl _sgl_value_1,r4
 100  0001DB56                                   #              asm("movl _sgl_value_2,r5");
 101  0001DB56    0d efffffff4c 55              movl _sgl_value_2,r5
 102  0001DB5D                                   #              asm("ldd r4");                     /* load the value to convert*/
 103  0001DB5D    07 54                         ldd r4
 104  0001DB5F                                   #              asm("cvdl r8");                    /* convert the value        */
 105  0001DB5F    87 58                         cvdl r8
 106  0001DB61                                   #              asm("nop");
 107  0001DB61    10                            nop
 108  0001DB62                                   # 	     asm("std _dbl_st_acc");            /* save the accumulator     */
 109  0001DB62    27 efffffff40                 std _dbl_st_acc
 110  0001DB68                                   #              if( force_loop )
 111  0001DB68    5d efffffff3a                 	tstl	_force_loop
 112  0001DB6E    31 02                         	jeql	L233
 113  0001DB70                                   #                   asm("brb _cvdl_1_lp1");;      /* loop on the error       */
 114  0001DB70    11 dd                         brb _cvdl_1_lp1
 115  0001DB72                                  L233:
 116  0001DB72                                   # /* 
 117  0001DB72                                   #  * end error loop - test the results
 118  0001DB72                                   # */
 119  0001DB72                                   #              asm("movl r8,_sgl_value_3");       /* move result to cache   */
 120  0001DB72    0d 58 efffffff2f              movl r8,_sgl_value_3
 121  0001DB79                                   #              if( sgl_value_3 != sgl_expected ) {/* COMPARE the values     */
 122  0001DB79    1d efffffff29 efffffff24      	cmpl	_sgl_value_3,_sgl_expected
 123  0001DB84    21 03 13 00ff                 	jeql	L234
 124  0001DB89                                   #                    errcnt++;                    /* bump the error count   */
 125  0001DB89    6d efffffff19                 	incl	_errcnt
 126  0001DB8F                                   #                    if( prt_error ) {
 127  0001DB8F    5d efffffff13                 	tstl	_prt_error
 128  0001DB95    21 03 13 00cb                 	jeql	L235
 129  0001DB9A                                   #                         writes(" \n");      /* start a new print line */
 130  0001DB9A                                  	.data	1
 131  00000c4e *                                L236:
 132  00000c4e *  200A00                        	.ascii	" \12\0"
 133  00000c51 *                                	.text
 134  0001DB9A    dd 8f00000c4e                 	pushl	$L236
 135  0001DBA0    fe 08 efffffff01              	callf	$8,_writes
 136  0001DBA7                                   #                         writes("cycle: ");
 137  0001DBA7                                  	.data	1
 138  00000c51 *                                L237:
 139  00000c51 *  6379636C653A2000              	.ascii	"cycle: \0"
 140  00000c59 *                                	.text
 141  0001DBA7    dd 8f00000c51                 	pushl	$L237
 142  0001DBAD    fe 08 effffffef4              	callf	$8,_writes
 143  0001DBB4                                   #                         writed( cycle );
 144  0001DBB4    dd effffffeee                 	pushl	_cycle
 145  0001DBBA    fe 08 effffffee7              	callf	$8,_writed
 146  0001DBC1                                   #                         writes("  CVDL test ");
 147  0001DBC1                                  	.data	1
 148  00000c59 *                                L239:
 149  00000c59 *  20204356444C2074657374200     	.ascii	"  CVDL test \0"
                  0
 150  00000c66 *                                	.text
 151  0001DBC1    dd 8f00000c59                 	pushl	$L239
 152  0001DBC7    fe 08 effffffeda              	callf	$8,_writes
 153  0001DBCE                                   # 			writed( test_no );
 154  0001DBCE    dd effffffed4                 	pushl	_test_no
 155  0001DBD4    fe 08 effffffecd              	callf	$8,_writed
 156  0001DBDB                                   # 			writes(", subtest 1 (Reg. Data) - WRONG DATA STORED\n");
 157  0001DBDB                                  	.data	1
 158  00000c66 *                                L240:
 159  00000c66 *  2C20737562746573742031202     	.ascii	", subtest 1 (Reg. Data) - WRONG DATA STORED\12\0"
                  85265672E204461746129202D
                  2057524F4E472044415441205
                  3544F5245440A00
 160  00000c93 *                                	.text
 161  0001DBDB    dd 8f00000c66                 	pushl	$L240
 162  0001DBE1    fe 08 effffffec0              	callf	$8,_writes
 163  0001DBE8                                   #                         print_cvdl_data();
 164  0001DBE8    fe 04 ef00000989              	callf	$4,_print_cvdl_data
 165  0001DBEF                                   #                         writes(",   index = ");
 166  0001DBEF                                  	.data	1
 167  00000c93 *                                L242:
 168  00000c93 *  2C202020696E646578203D200     	.ascii	",   index = \0"
                  0
 169  00000ca0 *                                	.text
 170  0001DBEF    dd 8f00000c93                 	pushl	$L242
 171  0001DBF5    fe 08 effffffeac              	callf	$8,_writes
 172  0001DBFC                                   #                         writed( index );
 173  0001DBFC    dd effffffea6                 	pushl	_index
 174  0001DC02    fe 08 effffffe9f              	callf	$8,_writed
 175  0001DC09                                   #                         writec('\n');
 176  0001DC09    dd 0a                         	pushl	$10
 177  0001DC0B    fe 08 effffffe96              	callf	$8,_writec
 178  0001DC12                                   #                         writes("  final Acc = ");
 179  0001DC12                                  	.data	1
 180  00000ca0 *                                L244:
 181  00000ca0 *  202066696E616C20416363203     	.ascii	"  final Acc = \0"
                  D2000
 182  00000caf *                                	.text
 183  0001DC12    dd 8f00000ca0                 	pushl	$L244
 184  0001DC18    fe 08 effffffe89              	callf	$8,_writes
 185  0001DC1F                                   #                         write32h( dbl_st_acc.m );
 186  0001DC1F    dd effffffe83                 	pushl	_dbl_st_acc
 187  0001DC25    fe 08 effffffe7c              	callf	$8,_write32h
 188  0001DC2C                                   #                         writec(' ');
 189  0001DC2C    dd 20                         	pushl	$32
 190  0001DC2E    fe 08 effffffe73              	callf	$8,_writec
 191  0001DC35                                   #                         write32h( dbl_st_acc.l );
 192  0001DC35    dd effffffe71                 	pushl	_dbl_st_acc+4
 193  0001DC3B    fe 08 effffffe66              	callf	$8,_write32h
 194  0001DC42                                   #                         writes(",  int. expected = ");
 195  0001DC42                                  	.data	1
 196  00000caf *                                L246:
 197  00000caf *  2C2020696E742E20657870656     	.ascii	",  int. expected = \0"
                  3746564203D2000
 198  00000cc3 *                                	.text
 199  0001DC42    dd 8f00000caf                 	pushl	$L246
 200  0001DC48    fe 08 effffffe59              	callf	$8,_writes
 201  0001DC4F                                   #                         write32h( sgl_expected );
 202  0001DC4F    dd effffffe53                 	pushl	_sgl_expected
 203  0001DC55    fe 08 effffffe4c              	callf	$8,_write32h
 204  0001DC5C                                   #                         writec('\n');
 205  0001DC5C    dd 0a                         	pushl	$10
 206  0001DC5E    fe 08 effffffe43              	callf	$8,_writec
 207  0001DC65                                   #                    }
 208  0001DC65                                   #                    if( halt_flg ) 
 209  0001DC65                                  L235:
 210  0001DC65    5d effffffe3d                 	tstl	_halt_flg
 211  0001DC6B    31 09                         	jeql	L247
 212  0001DC6D                                   #                         cvdl_er_halt( BAD_STORE_HLT );   /* halt on the error */
 213  0001DC6D    dd 09                         	pushl	$9
 214  0001DC6F    fe 08 ef00000954              	callf	$8,_cvdl_er_halt
 215  0001DC76                                   #                    if( loop_on_err ) {
 216  0001DC76                                  L247:
 217  0001DC76    5d effffffe2c                 	tstl	_loop_on_err
 218  0001DC7C    31 0a                         	jeql	L249
 219  0001DC7E                                   #                         force_loop = TRUE;        /* set the force loop flag */
 220  0001DC7E    0d 01 effffffe23              	movl	$1,_force_loop
 221  0001DC85                                   #                         asm("brw _cvdl_1_lp1");;  /* and loop on the error   */
 222  0001DC85    13 fec7                       brw _cvdl_1_lp1
 223  0001DC88                                   #                    }   /* end of loop on error */
 224  0001DC88                                   #              }   /* end of convert compare error */
 225  0001DC88                                  L249:
 226  0001DC88                                   # 	     if( dbl_ld_acc.m & 0x7f800000 )  {
 227  0001DC88                                  L234:
 228  0001DC88    3d 8f7f800000 effffffe15      	bitl	$2139095040,_dbl_ld_acc
 229  0001DC93    31 18                         	jeql	L250
 230  0001DC95                                   # 		 dbl_expected.m = dbl_ld_acc.m;   /* the Acc should */
 231  0001DC95    0d effffffe0d effffffe08      	movl	_dbl_ld_acc,_dbl_expected
 232  0001DCA0                                   # 		 dbl_expected.l = dbl_ld_acc.l;   /* not change */
 233  0001DCA0    0d effffffe06 effffffe01      	movl	_dbl_ld_acc+4,_dbl_expected+4
 234  0001DCAB                                   # 	     } else {
 235  0001DCAB    11 0c                         	jbr 	L251
 236  0001DCAD                                  L250:
 237  0001DCAD                                   # 		 dbl_expected.m = 0;		/* expect a '0' final Acc */
 238  0001DCAD    4d effffffdf5                 	clrl	_dbl_expected
 239  0001DCB3                                   # 		 dbl_expected.l = 0;
 240  0001DCB3    4d effffffdf3                 	clrl	_dbl_expected+4
 241  0001DCB9                                   # 	     }
 242  0001DCB9                                  L251:
 243  0001DCB9                                   # 	     if( ( dbl_st_acc.m != dbl_expected.m ) ||
 244  0001DCB9                                   # 	         ( dbl_st_acc.l != dbl_expected.l ) ) {  /* COMPARE values  */
 245  0001DCB9    1d effffffde9 effffffde4      	cmpl	_dbl_st_acc,_dbl_expected
 246  0001DCC4    21 10                         	jneq	L9999
 247  0001DCC6    1d effffffde0 effffffddb      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 248  0001DCD1    21 03 13 011e                 	jeql	L252
 249  0001DCD6                                  L9999:
 250  0001DCD6                                   #                    errcnt++;                    /* bump the error count   */
 251  0001DCD6    6d effffffdcc                 	incl	_errcnt
 252  0001DCDC                                   #                    if( prt_error ) {
 253  0001DCDC    5d effffffdc6                 	tstl	_prt_error
 254  0001DCE2    21 03 13 00ea                 	jeql	L253
 255  0001DCE7                                   #                         writes(" \n");      /* start a new print line */
 256  0001DCE7                                  	.data	1
 257  00000cc3 *                                L254:
 258  00000cc3 *  200A00                        	.ascii	" \12\0"
 259  00000cc6 *                                	.text
 260  0001DCE7    dd 8f00000cc3                 	pushl	$L254
 261  0001DCED    fe 08 effffffdb4              	callf	$8,_writes
 262  0001DCF4                                   #                         writes("cycle: ");
 263  0001DCF4                                  	.data	1
 264  00000cc6 *                                L255:
 265  00000cc6 *  6379636C653A2000              	.ascii	"cycle: \0"
 266  00000cce *                                	.text
 267  0001DCF4    dd 8f00000cc6                 	pushl	$L255
 268  0001DCFA    fe 08 effffffda7              	callf	$8,_writes
 269  0001DD01                                   #                         writed( cycle );
 270  0001DD01    dd effffffda1                 	pushl	_cycle
 271  0001DD07    fe 08 effffffd9a              	callf	$8,_writed
 272  0001DD0E                                   #                         writes("  CVDL test ");
 273  0001DD0E                                  	.data	1
 274  00000cce *                                L256:
 275  00000cce *  20204356444C2074657374200     	.ascii	"  CVDL test \0"
                  0
 276  00000cdb *                                	.text
 277  0001DD0E    dd 8f00000cce                 	pushl	$L256
 278  0001DD14    fe 08 effffffd8d              	callf	$8,_writes
 279  0001DD1B                                   # 			writed( test_no );
 280  0001DD1B    dd effffffd87                 	pushl	_test_no
 281  0001DD21    fe 08 effffffd80              	callf	$8,_writed
 282  0001DD28                                   # 			writes(", subtest 1 (Reg. Data) - BAD FINAL ACC\n");
 283  0001DD28                                  	.data	1
 284  00000cdb *                                L257:
 285  00000cdb *  2C20737562746573742031202     	.ascii	", subtest 1 (Reg. Data) - BAD FINAL ACC\12\0"
                  85265672E204461746129202D
                  204241442046494E414C20414
                  3430A00
 286  00000d04 *                                	.text
 287  0001DD28    dd 8f00000cdb                 	pushl	$L257
 288  0001DD2E    fe 08 effffffd73              	callf	$8,_writes
 289  0001DD35                                   #                         print_cvdl_data();
 290  0001DD35    fe 04 ef0000083c              	callf	$4,_print_cvdl_data
 291  0001DD3C                                   #                         writes(",   index = ");
 292  0001DD3C                                  	.data	1
 293  00000d04 *                                L258:
 294  00000d04 *  2C202020696E646578203D200     	.ascii	",   index = \0"
                  0
 295  00000d11 *                                	.text
 296  0001DD3C    dd 8f00000d04                 	pushl	$L258
 297  0001DD42    fe 08 effffffd5f              	callf	$8,_writes
 298  0001DD49                                   #                         writed( index );
 299  0001DD49    dd effffffd59                 	pushl	_index
 300  0001DD4F    fe 08 effffffd52              	callf	$8,_writed
 301  0001DD56                                   #                         writec('\n');
 302  0001DD56    dd 0a                         	pushl	$10
 303  0001DD58    fe 08 effffffd49              	callf	$8,_writec
 304  0001DD5F                                   #                         writes("  final Acc = ");
 305  0001DD5F                                  	.data	1
 306  00000d11 *                                L259:
 307  00000d11 *  202066696E616C20416363203     	.ascii	"  final Acc = \0"
                  D2000
 308  00000d20 *                                	.text
 309  0001DD5F    dd 8f00000d11                 	pushl	$L259
 310  0001DD65    fe 08 effffffd3c              	callf	$8,_writes
 311  0001DD6C                                   #                         write32h( dbl_st_acc.m );
 312  0001DD6C    dd effffffd36                 	pushl	_dbl_st_acc
 313  0001DD72    fe 08 effffffd2f              	callf	$8,_write32h
 314  0001DD79                                   #                         writec(' ');
 315  0001DD79    dd 20                         	pushl	$32
 316  0001DD7B    fe 08 effffffd26              	callf	$8,_writec
 317  0001DD82                                   #                         write32h( dbl_st_acc.l );
 318  0001DD82    dd effffffd24                 	pushl	_dbl_st_acc+4
 319  0001DD88    fe 08 effffffd19              	callf	$8,_write32h
 320  0001DD8F                                   #                         writec('\n');
 321  0001DD8F    dd 0a                         	pushl	$10
 322  0001DD91    fe 08 effffffd10              	callf	$8,_writec
 323  0001DD98                                   #                         writes("   expected = ");
 324  0001DD98                                  	.data	1
 325  00000d20 *                                L260:
 326  00000d20 *  2020206578706563746564203     	.ascii	"   expected = \0"
                  D2000
 327  00000d2f *                                	.text
 328  0001DD98    dd 8f00000d20                 	pushl	$L260
 329  0001DD9E    fe 08 effffffd03              	callf	$8,_writes
 330  0001DDA5                                   #                         write32h( dbl_expected.m );
 331  0001DDA5    dd effffffcfd                 	pushl	_dbl_expected
 332  0001DDAB    fe 08 effffffcf6              	callf	$8,_write32h
 333  0001DDB2                                   #                         writec(' ');
 334  0001DDB2    dd 20                         	pushl	$32
 335  0001DDB4    fe 08 effffffced              	callf	$8,_writec
 336  0001DDBB                                   #                         write32h( dbl_expected.l );
 337  0001DDBB    dd effffffceb                 	pushl	_dbl_expected+4
 338  0001DDC1    fe 08 effffffce0              	callf	$8,_write32h
 339  0001DDC8                                   #                         writec('\n');
 340  0001DDC8    dd 0a                         	pushl	$10
 341  0001DDCA    fe 08 effffffcd7              	callf	$8,_writec
 342  0001DDD1                                   #                    }
 343  0001DDD1                                   #                    if( halt_flg ) 
 344  0001DDD1                                  L253:
 345  0001DDD1    5d effffffcd1                 	tstl	_halt_flg
 346  0001DDD7    31 09                         	jeql	L261
 347  0001DDD9                                   #                         cvdl_er_halt( BAD_ACC_HLT );    /* halt on the error */
 348  0001DDD9    dd 01                         	pushl	$1
 349  0001DDDB    fe 08 ef000007e8              	callf	$8,_cvdl_er_halt
 350  0001DDE2                                   #                    if( loop_on_err ) {
 351  0001DDE2                                  L261:
 352  0001DDE2    5d effffffcc0                 	tstl	_loop_on_err
 353  0001DDE8    31 0a                         	jeql	L262
 354  0001DDEA                                   #                         force_loop = TRUE;        /* set the force loop flag */
 355  0001DDEA    0d 01 effffffcb7              	movl	$1,_force_loop
 356  0001DDF1                                   #                         asm("brw _cvdl_1_lp1");;  /* and loop on the error   */
 357  0001DDF1    13 fd5b                       brw _cvdl_1_lp1
 358  0001DDF4                                   #                    }   /* end of loop on error */
 359  0001DDF4                                   #              }   /* end of ACC compare error */
 360  0001DDF4                                  L262:
 361  0001DDF4                                   #         }  while( index++ < max_cvdl_1_index ); /* end of WHILE loop */
 362  0001DDF4                                  L252:
 363  0001DDF4                                  L231:
 364  0001DDF4    0d effffffcae 50              	movl	_index,r0
 365  0001DDFB    6d effffffca7                 	incl	_index
 366  0001DE01    1d 50 effffffca0              	cmpl	r0,_max_cvdl_1_index
 367  0001DE08    81 03 13 fcfb                 	jlss	L232
 368  0001DE0D                                  L230:
 369  0001DE0D                                   # }  /* end of subtest 1 */
 370  0001DE0D    40                            	ret#2
 371  0001DE0E                                  	.set	L226,0x0
 372  0001DE0E                                  L228:
 373  0001DE0E    13 fce4                       	jbr 	L229
 374  0001DE11                                  	.data
 375  00000c48 *                                	.text
 376  0001DE11    00                            	.align	1
 377  0001DE12                                  	.globl	_cvdl_2
 378  0001DE12                                  _cvdl_2:
 379  0001DE12    0000                          	.word	L263
 380  0001DE14                                   #  
 381  0001DE14                                   # 
 382  0001DE14                                   # 
 383  0001DE14                                   # /************************************************************************
 384  0001DE14                                   # *
 385  0001DE14                                   # *               SUBTEST 2 - convert through memory
 386  0001DE14                                   # *
 387  0001DE14                                   # ************************************************************************/
 388  0001DE14                                   # cvdl_2() 
 389  0001DE14                                   # {
 390  0001DE14    13 02f6                       	jbr 	L265
 391  0001DE17                                  L266:
 392  0001DE17                                   #         force_loop = FALSE;
 393  0001DE17    4d effffffc8b                 	clrl	_force_loop
 394  0001DE1D                                   #         subtest = 2;
 395  0001DE1D    0d 02 effffffc84              	movl	$2,_subtest
 396  0001DE24                                   #         index = 0;
 397  0001DE24    4d effffffc7e                 	clrl	_index
 398  0001DE2A                                   #         do 
 399  0001DE2A                                  L269:
 400  0001DE2A                                   #         {
 401  0001DE2A                                   #              dbl_ld_acc   = cvdl_1_data[index].ld;   /* get the operand     */
 402  0001DE2A    5c 0c effffffc77 50           	mull3	$12,_index,r0
 403  0001DE32    0c 8f00000000 50              	addl2	$_cvdl_1_data,r0
 404  0001DE39    0d a004 effffffc6b            	movl	4(r0),_dbl_ld_acc+4
 405  0001DE41    0d 60 effffffc60              	movl	(r0),_dbl_ld_acc
 406  0001DE48                                   #              sgl_expected = cvdl_1_data[index].exp;  /* get expected result */
 407  0001DE48    5c 0c effffffc59 50           	mull3	$12,_index,r0
 408  0001DE50    0d e000000008 effffffc4d      	movl	_cvdl_1_data+8(r0),_sgl_expected
 409  0001DE5B                                   # /*
 410  0001DE5B                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 411  0001DE5B                                   #  * The force loop flag is set after the first error.
 412  0001DE5B                                   # */
 413  0001DE5B                                   #              asm("_cvdl_2_lp1:");
 414  0001DE5B                                  _cvdl_2_lp1:
 415  0001DE5B                                   #              asm("ldd _dbl_ld_acc");            /* load the background     */
 416  0001DE5B    07 effffffc47                 ldd _dbl_ld_acc
 417  0001DE61                                   #              asm("cvdl _sgl_value_3");          /* convert the value       */
 418  0001DE61    87 effffffc41                 cvdl _sgl_value_3
 419  0001DE67                                   #              asm("nop");
 420  0001DE67    10                            nop
 421  0001DE68                                   #              asm("std _dbl_st_acc");            /* save the accumulator     */
 422  0001DE68    27 effffffc3a                 std _dbl_st_acc
 423  0001DE6E                                   #              if( force_loop )
 424  0001DE6E    5d effffffc34                 	tstl	_force_loop
 425  0001DE74    31 02                         	jeql	L270
 426  0001DE76                                   #                   asm("brb _cvdl_2_lp1");;      /* loop on the error       */
 427  0001DE76    11 e3                         brb _cvdl_2_lp1
 428  0001DE78                                  L270:
 429  0001DE78                                   # /* 
 430  0001DE78                                   #  * end error loop - test the results
 431  0001DE78                                   # */
 432  0001DE78                                   #              if( sgl_value_3 != sgl_expected ) {/* COMPARE the values */
 433  0001DE78    1d effffffc2a effffffc25      	cmpl	_sgl_value_3,_sgl_expected
 434  0001DE83    21 03 13 00ff                 	jeql	L271
 435  0001DE88                                   #                    errcnt++;                    /* bump the error count   */
 436  0001DE88    6d effffffc1a                 	incl	_errcnt
 437  0001DE8E                                   #                    if( prt_error ) {
 438  0001DE8E    5d effffffc14                 	tstl	_prt_error
 439  0001DE94    21 03 13 00cb                 	jeql	L272
 440  0001DE99                                   #                         writes(" \n");      /* start a new print line */
 441  0001DE99                                  	.data	1
 442  00000d2f *                                L273:
 443  00000d2f *  200A00                        	.ascii	" \12\0"
 444  00000d32 *                                	.text
 445  0001DE99    dd 8f00000d2f                 	pushl	$L273
 446  0001DE9F    fe 08 effffffc02              	callf	$8,_writes
 447  0001DEA6                                   #                         writes("cycle: ");
 448  0001DEA6                                  	.data	1
 449  00000d32 *                                L274:
 450  00000d32 *  6379636C653A2000              	.ascii	"cycle: \0"
 451  00000d3a *                                	.text
 452  0001DEA6    dd 8f00000d32                 	pushl	$L274
 453  0001DEAC    fe 08 effffffbf5              	callf	$8,_writes
 454  0001DEB3                                   #                         writed( cycle );
 455  0001DEB3    dd effffffbef                 	pushl	_cycle
 456  0001DEB9    fe 08 effffffbe8              	callf	$8,_writed
 457  0001DEC0                                   #                         writes("  CVDL test ");
 458  0001DEC0                                  	.data	1
 459  00000d3a *                                L275:
 460  00000d3a *  20204356444C2074657374200     	.ascii	"  CVDL test \0"
                  0
 461  00000d47 *                                	.text
 462  0001DEC0    dd 8f00000d3a                 	pushl	$L275
 463  0001DEC6    fe 08 effffffbdb              	callf	$8,_writes
 464  0001DECD                                   # 			writed( test_no );
 465  0001DECD    dd effffffbd5                 	pushl	_test_no
 466  0001DED3    fe 08 effffffbce              	callf	$8,_writed
 467  0001DEDA                                   # 	writes(", subtest 2 (Cache Data) - WRONG DATA STORED\n");
 468  0001DEDA                                  	.data	1
 469  00000d47 *                                L276:
 470  00000d47 *  2C20737562746573742032202     	.ascii	", subtest 2 (Cache Data) - WRONG DATA STORED\12\0"
                  8436163686520446174612920
                  2D2057524F4E4720444154412
                  053544F5245440A00
 471  00000d75 *                                	.text
 472  0001DEDA    dd 8f00000d47                 	pushl	$L276
 473  0001DEE0    fe 08 effffffbc1              	callf	$8,_writes
 474  0001DEE7                                   #                         print_cvdl_data();
 475  0001DEE7    fe 04 ef0000068a              	callf	$4,_print_cvdl_data
 476  0001DEEE                                   #                         writes(",   index = ");
 477  0001DEEE                                  	.data	1
 478  00000d75 *                                L277:
 479  00000d75 *  2C202020696E646578203D200     	.ascii	",   index = \0"
                  0
 480  00000d82 *                                	.text
 481  0001DEEE    dd 8f00000d75                 	pushl	$L277
 482  0001DEF4    fe 08 effffffbad              	callf	$8,_writes
 483  0001DEFB                                   #                         writed( index );
 484  0001DEFB    dd effffffba7                 	pushl	_index
 485  0001DF01    fe 08 effffffba0              	callf	$8,_writed
 486  0001DF08                                   #                         writec('\n');
 487  0001DF08    dd 0a                         	pushl	$10
 488  0001DF0A    fe 08 effffffb97              	callf	$8,_writec
 489  0001DF11                                   #                         writes("  final Acc = ");
 490  0001DF11                                  	.data	1
 491  00000d82 *                                L278:
 492  00000d82 *  202066696E616C20416363203     	.ascii	"  final Acc = \0"
                  D2000
 493  00000d91 *                                	.text
 494  0001DF11    dd 8f00000d82                 	pushl	$L278
 495  0001DF17    fe 08 effffffb8a              	callf	$8,_writes
 496  0001DF1E                                   #                         write32h( dbl_st_acc.m );
 497  0001DF1E    dd effffffb84                 	pushl	_dbl_st_acc
 498  0001DF24    fe 08 effffffb7d              	callf	$8,_write32h
 499  0001DF2B                                   #                         writec(' ');
 500  0001DF2B    dd 20                         	pushl	$32
 501  0001DF2D    fe 08 effffffb74              	callf	$8,_writec
 502  0001DF34                                   #                         write32h( dbl_st_acc.l );
 503  0001DF34    dd effffffb72                 	pushl	_dbl_st_acc+4
 504  0001DF3A    fe 08 effffffb67              	callf	$8,_write32h
 505  0001DF41                                   #                         writes(",  int. expected = ");
 506  0001DF41                                  	.data	1
 507  00000d91 *                                L279:
 508  00000d91 *  2C2020696E742E20657870656     	.ascii	",  int. expected = \0"
                  3746564203D2000
 509  00000da5 *                                	.text
 510  0001DF41    dd 8f00000d91                 	pushl	$L279
 511  0001DF47    fe 08 effffffb5a              	callf	$8,_writes
 512  0001DF4E                                   #                         write32h( sgl_expected );
 513  0001DF4E    dd effffffb54                 	pushl	_sgl_expected
 514  0001DF54    fe 08 effffffb4d              	callf	$8,_write32h
 515  0001DF5B                                   #                         writec('\n');
 516  0001DF5B    dd 0a                         	pushl	$10
 517  0001DF5D    fe 08 effffffb44              	callf	$8,_writec
 518  0001DF64                                   #                    }
 519  0001DF64                                   #                    if( halt_flg ) 
 520  0001DF64                                  L272:
 521  0001DF64    5d effffffb3e                 	tstl	_halt_flg
 522  0001DF6A    31 09                         	jeql	L280
 523  0001DF6C                                   #                         cvdl_er_halt( BAD_STORE_HLT );  /* halt on the error */
 524  0001DF6C    dd 09                         	pushl	$9
 525  0001DF6E    fe 08 ef00000655              	callf	$8,_cvdl_er_halt
 526  0001DF75                                   #                    if( loop_on_err ) {
 527  0001DF75                                  L280:
 528  0001DF75    5d effffffb2d                 	tstl	_loop_on_err
 529  0001DF7B    31 0a                         	jeql	L281
 530  0001DF7D                                   #                         force_loop = TRUE;        /* set the force loop flag */
 531  0001DF7D    0d 01 effffffb24              	movl	$1,_force_loop
 532  0001DF84                                   #                         asm("brw _cvdl_2_lp1");;  /* and loop on the error   */
 533  0001DF84    13 fed4                       brw _cvdl_2_lp1
 534  0001DF87                                   #                    }   /* end of loop on error */
 535  0001DF87                                   #              }   /* end of convert compare error */
 536  0001DF87                                  L281:
 537  0001DF87                                   # 	     if( dbl_ld_acc.m & 0x7f800000 ) {
 538  0001DF87                                  L271:
 539  0001DF87    3d 8f7f800000 effffffb16      	bitl	$2139095040,_dbl_ld_acc
 540  0001DF92    31 18                         	jeql	L282
 541  0001DF94                                   # 		 dbl_expected.m = dbl_ld_acc.m;   /* the Acc should */
 542  0001DF94    0d effffffb0e effffffb09      	movl	_dbl_ld_acc,_dbl_expected
 543  0001DF9F                                   # 		 dbl_expected.l = dbl_ld_acc.l;   /* not change */
 544  0001DF9F    0d effffffb07 effffffb02      	movl	_dbl_ld_acc+4,_dbl_expected+4
 545  0001DFAA                                   # 	     } else {
 546  0001DFAA    11 0c                         	jbr 	L283
 547  0001DFAC                                  L282:
 548  0001DFAC                                   # 		 dbl_expected.m = 0;		/* expect a '0' final Acc */
 549  0001DFAC    4d effffffaf6                 	clrl	_dbl_expected
 550  0001DFB2                                   # 		 dbl_expected.l = 0;
 551  0001DFB2    4d effffffaf4                 	clrl	_dbl_expected+4
 552  0001DFB8                                   # 	     }
 553  0001DFB8                                  L283:
 554  0001DFB8                                   # 	     if( ( dbl_st_acc.m != dbl_expected.m ) ||
 555  0001DFB8                                   # 	         ( dbl_st_acc.l != dbl_expected.l ) ) {  /* COMPARE values  */
 556  0001DFB8    1d effffffaea effffffae5      	cmpl	_dbl_st_acc,_dbl_expected
 557  0001DFC3    21 10                         	jneq	L9998
 558  0001DFC5    1d effffffae1 effffffadc      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 559  0001DFD0    21 03 13 011e                 	jeql	L284
 560  0001DFD5                                  L9998:
 561  0001DFD5                                   #                    errcnt++;                    /* bump the error count   */
 562  0001DFD5    6d effffffacd                 	incl	_errcnt
 563  0001DFDB                                   #                    if( prt_error ) {
 564  0001DFDB    5d effffffac7                 	tstl	_prt_error
 565  0001DFE1    21 03 13 00ea                 	jeql	L285
 566  0001DFE6                                   #                         writes(" \n");      /* start a new print line */
 567  0001DFE6                                  	.data	1
 568  00000da5 *                                L286:
 569  00000da5 *  200A00                        	.ascii	" \12\0"
 570  00000da8 *                                	.text
 571  0001DFE6    dd 8f00000da5                 	pushl	$L286
 572  0001DFEC    fe 08 effffffab5              	callf	$8,_writes
 573  0001DFF3                                   #                         writes("cycle: ");
 574  0001DFF3                                  	.data	1
 575  00000da8 *                                L287:
 576  00000da8 *  6379636C653A2000              	.ascii	"cycle: \0"
 577  00000db0 *                                	.text
 578  0001DFF3    dd 8f00000da8                 	pushl	$L287
 579  0001DFF9    fe 08 effffffaa8              	callf	$8,_writes
 580  0001E000                                   #                         writed( cycle );
 581  0001E000    dd effffffaa2                 	pushl	_cycle
 582  0001E006    fe 08 effffffa9b              	callf	$8,_writed
 583  0001E00D                                   #                         writes("  CVDL test ");
 584  0001E00D                                  	.data	1
 585  00000db0 *                                L288:
 586  00000db0 *  20204356444C2074657374200     	.ascii	"  CVDL test \0"
                  0
 587  00000dbd *                                	.text
 588  0001E00D    dd 8f00000db0                 	pushl	$L288
 589  0001E013    fe 08 effffffa8e              	callf	$8,_writes
 590  0001E01A                                   # 			writed( test_no );
 591  0001E01A    dd effffffa88                 	pushl	_test_no
 592  0001E020    fe 08 effffffa81              	callf	$8,_writed
 593  0001E027                                   # 			writes(", subtest 2 (Cache Data) - BAD FINAL ACC\n");
 594  0001E027                                  	.data	1
 595  00000dbd *                                L289:
 596  00000dbd *  2C20737562746573742032202     	.ascii	", subtest 2 (Cache Data) - BAD FINAL ACC\12\0"
                  8436163686520446174612920
                  2D204241442046494E414C204
                  143430A00
 597  00000de7 *                                	.text
 598  0001E027    dd 8f00000dbd                 	pushl	$L289
 599  0001E02D    fe 08 effffffa74              	callf	$8,_writes
 600  0001E034                                   #                         print_cvdl_data();
 601  0001E034    fe 04 ef0000053d              	callf	$4,_print_cvdl_data
 602  0001E03B                                   #                         writes(",   index = ");
 603  0001E03B                                  	.data	1
 604  00000de7 *                                L290:
 605  00000de7 *  2C202020696E646578203D200     	.ascii	",   index = \0"
                  0
 606  00000df4 *                                	.text
 607  0001E03B    dd 8f00000de7                 	pushl	$L290
 608  0001E041    fe 08 effffffa60              	callf	$8,_writes
 609  0001E048                                   #                         writed( index );
 610  0001E048    dd effffffa5a                 	pushl	_index
 611  0001E04E    fe 08 effffffa53              	callf	$8,_writed
 612  0001E055                                   #                         writec('\n');
 613  0001E055    dd 0a                         	pushl	$10
 614  0001E057    fe 08 effffffa4a              	callf	$8,_writec
 615  0001E05E                                   #                         writes("  final Acc = ");
 616  0001E05E                                  	.data	1
 617  00000df4 *                                L291:
 618  00000df4 *  202066696E616C20416363203     	.ascii	"  final Acc = \0"
                  D2000
 619  00000e03 *                                	.text
 620  0001E05E    dd 8f00000df4                 	pushl	$L291
 621  0001E064    fe 08 effffffa3d              	callf	$8,_writes
 622  0001E06B                                   #                         write32h( dbl_st_acc.m );
 623  0001E06B    dd effffffa37                 	pushl	_dbl_st_acc
 624  0001E071    fe 08 effffffa30              	callf	$8,_write32h
 625  0001E078                                   #                         writec(' ');
 626  0001E078    dd 20                         	pushl	$32
 627  0001E07A    fe 08 effffffa27              	callf	$8,_writec
 628  0001E081                                   #                         write32h( dbl_st_acc.l );
 629  0001E081    dd effffffa25                 	pushl	_dbl_st_acc+4
 630  0001E087    fe 08 effffffa1a              	callf	$8,_write32h
 631  0001E08E                                   #                         writec('\n');
 632  0001E08E    dd 0a                         	pushl	$10
 633  0001E090    fe 08 effffffa11              	callf	$8,_writec
 634  0001E097                                   #                         writes("   expected = ");
 635  0001E097                                  	.data	1
 636  00000e03 *                                L292:
 637  00000e03 *  2020206578706563746564203     	.ascii	"   expected = \0"
                  D2000
 638  00000e12 *                                	.text
 639  0001E097    dd 8f00000e03                 	pushl	$L292
 640  0001E09D    fe 08 effffffa04              	callf	$8,_writes
 641  0001E0A4                                   #                         write32h( dbl_expected.m );
 642  0001E0A4    dd effffff9fe                 	pushl	_dbl_expected
 643  0001E0AA    fe 08 effffff9f7              	callf	$8,_write32h
 644  0001E0B1                                   #                         writec(' ');
 645  0001E0B1    dd 20                         	pushl	$32
 646  0001E0B3    fe 08 effffff9ee              	callf	$8,_writec
 647  0001E0BA                                   #                         write32h( dbl_expected.l );
 648  0001E0BA    dd effffff9ec                 	pushl	_dbl_expected+4
 649  0001E0C0    fe 08 effffff9e1              	callf	$8,_write32h
 650  0001E0C7                                   #                         writec('\n');
 651  0001E0C7    dd 0a                         	pushl	$10
 652  0001E0C9    fe 08 effffff9d8              	callf	$8,_writec
 653  0001E0D0                                   #                    }
 654  0001E0D0                                   #                    if( halt_flg ) 
 655  0001E0D0                                  L285:
 656  0001E0D0    5d effffff9d2                 	tstl	_halt_flg
 657  0001E0D6    31 09                         	jeql	L293
 658  0001E0D8                                   #                         cvdl_er_halt( BAD_ACC_HLT );    /* halt on the error */
 659  0001E0D8    dd 01                         	pushl	$1
 660  0001E0DA    fe 08 ef000004e9              	callf	$8,_cvdl_er_halt
 661  0001E0E1                                   #                    if( loop_on_err ) {
 662  0001E0E1                                  L293:
 663  0001E0E1    5d effffff9c1                 	tstl	_loop_on_err
 664  0001E0E7    31 0a                         	jeql	L294
 665  0001E0E9                                   #                         force_loop = TRUE;        /* set the force loop flag */
 666  0001E0E9    0d 01 effffff9b8              	movl	$1,_force_loop
 667  0001E0F0                                   #                         asm("brw _cvdl_1_lp1");;  /* and loop on the error   */
 668  0001E0F0    13 fa5c                       brw _cvdl_1_lp1
 669  0001E0F3                                   #                    }   /* end of loop on error */
 670  0001E0F3                                   #              }   /* end of ACC compare error */
 671  0001E0F3                                  L294:
 672  0001E0F3                                   #         } while( index++ < max_cvdl_1_index );  /* end of WHILE loop */
 673  0001E0F3                                  L284:
 674  0001E0F3                                  L268:
 675  0001E0F3    0d effffff9af 50              	movl	_index,r0
 676  0001E0FA    6d effffff9a8                 	incl	_index
 677  0001E100    1d 50 effffff9a1              	cmpl	r0,_max_cvdl_1_index
 678  0001E107    81 03 13 fd1e                 	jlss	L269
 679  0001E10C                                  L267:
 680  0001E10C                                   # }  /* end of subtest 2 */
 681  0001E10C    40                            	ret#2
 682  0001E10D                                  	.set	L263,0x0
 683  0001E10D                                  L265:
 684  0001E10D    13 fd07                       	jbr 	L266
 685  0001E110                                  	.data
 686  00000c48 *                                	.text
 687  0001E110                                  	.align	1
 688  0001E110                                  	.globl	_cvdl_3
 689  0001E110                                  _cvdl_3:
 690  0001E110    0000                          	.word	L295
 691  0001E112                                   #  
 692  0001E112                                   # 
 693  0001E112                                   # 
 694  0001E112                                   # /************************************************************************
 695  0001E112                                   # *
 696  0001E112                                   # *       SUBTEST 3 - Check for register corruption 
 697  0001E112                                   # *
 698  0001E112                                   # ************************************************************************/
 699  0001E112                                   # cvdl_3() 
 700  0001E112                                   # {
 701  0001E112    13 0210                       	jbr 	L297
 702  0001E115                                  L298:
 703  0001E115                                   #         force_loop = FALSE;                     /* clear force_loop flg */
 704  0001E115    4d effffff98d                 	clrl	_force_loop
 705  0001E11B                                   #         subtest = 3;
 706  0001E11B    0d 03 effffff986              	movl	$3,_subtest
 707  0001E122                                   #         fill_reg_buf( load_regs );              /* get patterns for regs */
 708  0001E122    dd 8f00000000                 	pushl	$_load_regs
 709  0001E128    fe 08 effffff979              	callf	$8,_fill_reg_buf
 710  0001E12F                                   #         index = 0;
 711  0001E12F    4d effffff973                 	clrl	_index
 712  0001E135                                   #              dbl_ld_acc   = cvdl_1_data[index].ld;   /* get the operand     */
 713  0001E135    5c 0c effffff96c 50           	mull3	$12,_index,r0
 714  0001E13D    0c 8f00000000 50              	addl2	$_cvdl_1_data,r0
 715  0001E144    0d a004 effffff960            	movl	4(r0),_dbl_ld_acc+4
 716  0001E14C    0d 60 effffff955              	movl	(r0),_dbl_ld_acc
 717  0001E153                                   #              sgl_expected = cvdl_1_data[index].exp;  /* get expected result */
 718  0001E153    5c 0c effffff94e 50           	mull3	$12,_index,r0
 719  0001E15B    0d e000000008 effffff942      	movl	_cvdl_1_data+8(r0),_sgl_expected
 720  0001E166                                   # /*
 721  0001E166                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 722  0001E166                                   #  * The force loop flag is set after the first error.
 723  0001E166                                   # */
 724  0001E166                                   #         asm("_cvdl_3_lp1:");
 725  0001E166                                  _cvdl_3_lp1:
 726  0001E166                                   #         asm("ldd _dbl_ld_acc");                 /* load base value       */
 727  0001E166    07 effffff93c                 ldd _dbl_ld_acc
 728  0001E16C                                   #         asm("loadr $0x1fff,_load_regs");        /* load regs 0 - 12      */
 729  0001E16C    ab 891fff effffff933          loadr $0x1fff,_load_regs
 730  0001E175                                   #         asm("nop");
 731  0001E175    10                            nop
 732  0001E176                                   #         asm("cvdl _sgl_value_3");               /* convert the value     */
 733  0001E176    87 effffff92c                 cvdl _sgl_value_3
 734  0001E17C                                   #         asm("nop");
 735  0001E17C    10                            nop
 736  0001E17D                                   #         asm("storer $0x1fff,_store_regs");      /* store regs 0 - 12 */
 737  0001E17D    bb 891fff effffff922          storer $0x1fff,_store_regs
 738  0001E186                                   #         asm("std _dbl_st_acc");                 /* save the accumulator     */
 739  0001E186    27 effffff91c                 std _dbl_st_acc
 740  0001E18C                                   #         if( force_loop )
 741  0001E18C    5d effffff916                 	tstl	_force_loop
 742  0001E192    31 02                         	jeql	L300
 743  0001E194                                   #              asm("brb _cvdl_3_lp1");;           /* loop on the error     */
 744  0001E194    11 d0                         brb _cvdl_3_lp1
 745  0001E196                                  L300:
 746  0001E196                                   # /*
 747  0001E196                                   #  * Now compare the stored register values to those that were loaded
 748  0001E196                                   # */
 749  0001E196                                   #         index2 = 0;
 750  0001E196    4d effffff90c                 	clrl	_index2
 751  0001E19C                                   #         while( (load_regs[index2] == store_regs[index2]) && (index2 < 13) )
 752  0001E19C                                  L301:
 753  0001E19C    0d effffff906 50              	movl	_index2,r0
 754  0001E1A3    0d effffff8ff 51              	movl	_index2,r1
 755  0001E1AA    1d 40effffff8f7               	cmpl	_load_regs[r0],_store_regs[r1]
                  41effffff8f1 
 756  0001E1B7    21 11                         	jneq	L302
 757  0001E1B9    1d effffff8e9 0d              	cmpl	_index2,$13
 758  0001E1C0    81 08                         	jgeq	L302
 759  0001E1C2                                   #              index2++;                          /* check reg values        */
 760  0001E1C2    6d effffff8e0                 	incl	_index2
 761  0001E1C8    11 d2                         	jbr 	L301
 762  0001E1CA                                  L302:
 763  0001E1CA                                   #         if( index2 < 13 ) {                     /* error if index2 < 13    */
 764  0001E1CA    1d effffff8d8 0d              	cmpl	_index2,$13
 765  0001E1D1    91 03 13 0136                 	jgeq	L303
 766  0001E1D6                                   #              errcnt++;                          /* bump the error count    */
 767  0001E1D6    6d effffff8cc                 	incl	_errcnt
 768  0001E1DC                                   #              if( prt_error ) {
 769  0001E1DC    5d effffff8c6                 	tstl	_prt_error
 770  0001E1E2    21 03 13 0102                 	jeql	L304
 771  0001E1E7                                   #                   writes(" \n");           /* start a new print line  */
 772  0001E1E7                                  	.data	1
 773  00000e12 *                                L305:
 774  00000e12 *  200A00                        	.ascii	" \12\0"
 775  00000e15 *                                	.text
 776  0001E1E7    dd 8f00000e12                 	pushl	$L305
 777  0001E1ED    fe 08 effffff8b4              	callf	$8,_writes
 778  0001E1F4                                   #                   writes("cycle: ");
 779  0001E1F4                                  	.data	1
 780  00000e15 *                                L306:
 781  00000e15 *  6379636C653A2000              	.ascii	"cycle: \0"
 782  00000e1d *                                	.text
 783  0001E1F4    dd 8f00000e15                 	pushl	$L306
 784  0001E1FA    fe 08 effffff8a7              	callf	$8,_writes
 785  0001E201                                   #                   writed( cycle );
 786  0001E201    dd effffff8a1                 	pushl	_cycle
 787  0001E207    fe 08 effffff89a              	callf	$8,_writed
 788  0001E20E                                   #                   writes("  CVDL test ");
 789  0001E20E                                  	.data	1
 790  00000e1d *                                L307:
 791  00000e1d *  20204356444C2074657374200     	.ascii	"  CVDL test \0"
                  0
 792  00000e2a *                                	.text
 793  0001E20E    dd 8f00000e1d                 	pushl	$L307
 794  0001E214    fe 08 effffff88d              	callf	$8,_writes
 795  0001E21B                                   # 		  writed( test_no );
 796  0001E21B    dd effffff887                 	pushl	_test_no
 797  0001E221    fe 08 effffff880              	callf	$8,_writed
 798  0001E228                                   # 	writes(", subtest 3 - A REGISTER WAS MODIFIED\n");
 799  0001E228                                  	.data	1
 800  00000e2a *                                L308:
 801  00000e2a *  2C20737562746573742033202     	.ascii	", subtest 3 - A REGISTER WAS MODIFIED\12\0"
                  D204120524547495354455220
                  574153204D4F4449464945440
                  A00
 802  00000e51 *                                	.text
 803  0001E228    dd 8f00000e2a                 	pushl	$L308
 804  0001E22E    fe 08 effffff873              	callf	$8,_writes
 805  0001E235                                   #                   print_cvdl_data();            /* print the operands      */
 806  0001E235    fe 04 ef0000033c              	callf	$4,_print_cvdl_data
 807  0001E23C                                   #                   writec('\n');
 808  0001E23C    dd 0a                         	pushl	$10
 809  0001E23E    fe 08 effffff863              	callf	$8,_writec
 810  0001E245                                   #                   writes("  final Acc = ");
 811  0001E245                                  	.data	1
 812  00000e51 *                                L309:
 813  00000e51 *  202066696E616C20416363203     	.ascii	"  final Acc = \0"
                  D2000
 814  00000e60 *                                	.text
 815  0001E245    dd 8f00000e51                 	pushl	$L309
 816  0001E24B    fe 08 effffff856              	callf	$8,_writes
 817  0001E252                                   #                   write32h( dbl_st_acc.m );
 818  0001E252    dd effffff850                 	pushl	_dbl_st_acc
 819  0001E258    fe 08 effffff849              	callf	$8,_write32h
 820  0001E25F                                   #                   writec(' ');
 821  0001E25F    dd 20                         	pushl	$32
 822  0001E261    fe 08 effffff840              	callf	$8,_writec
 823  0001E268                                   #                   write32h( dbl_st_acc.l );
 824  0001E268    dd effffff83e                 	pushl	_dbl_st_acc+4
 825  0001E26E    fe 08 effffff833              	callf	$8,_write32h
 826  0001E275                                   #                   writec('\n');
 827  0001E275    dd 0a                         	pushl	$10
 828  0001E277    fe 08 effffff82a              	callf	$8,_writec
 829  0001E27E                                   #                   writes("register ");          /* print the information   */
 830  0001E27E                                  	.data	1
 831  00000e60 *                                L310:
 832  00000e60 *  72656769737465722000          	.ascii	"register \0"
 833  00000e6a *                                	.text
 834  0001E27E    dd 8f00000e60                 	pushl	$L310
 835  0001E284    fe 08 effffff81d              	callf	$8,_writes
 836  0001E28B                                   #                   writed( index2 );             /*    about the corrupted  */
 837  0001E28B    dd effffff817                 	pushl	_index2
 838  0001E291    fe 08 effffff810              	callf	$8,_writed
 839  0001E298                                   #                   writes(" = ");                /*        register         */
 840  0001E298                                  	.data	1
 841  00000e6a *                                L311:
 842  00000e6a *  203D2000                      	.ascii	" = \0"
 843  00000e6e *                                	.text
 844  0001E298    dd 8f00000e6a                 	pushl	$L311
 845  0001E29E    fe 08 effffff803              	callf	$8,_writes
 846  0001E2A5                                   #                   write32h( store_regs[index2] );
 847  0001E2A5    0d effffff7fd 50              	movl	_index2,r0
 848  0001E2AC    dd 40effffff7f5               	pushl	_store_regs[r0]
 849  0001E2B3    fe 08 effffff7ee              	callf	$8,_write32h
 850  0001E2BA                                   #                   writes(",  should be = ");
 851  0001E2BA                                  	.data	1
 852  00000e6e *                                L312:
 853  00000e6e *  2C202073686F756C642062652     	.ascii	",  should be = \0"
                  03D2000
 854  00000e7e *                                	.text
 855  0001E2BA    dd 8f00000e6e                 	pushl	$L312
 856  0001E2C0    fe 08 effffff7e1              	callf	$8,_writes
 857  0001E2C7                                   #                   write32h( load_regs[index2] );
 858  0001E2C7    0d effffff7db 50              	movl	_index2,r0
 859  0001E2CE    dd 40effffff7d3               	pushl	_load_regs[r0]
 860  0001E2D5    fe 08 effffff7cc              	callf	$8,_write32h
 861  0001E2DC                                   #                   writes("\n");
 862  0001E2DC                                  	.data	1
 863  00000e7e *                                L313:
 864  00000e7e *  0A00                          	.ascii	"\12\0"
 865  00000e80 *                                	.text
 866  0001E2DC    dd 8f00000e7e                 	pushl	$L313
 867  0001E2E2    fe 08 effffff7bf              	callf	$8,_writes
 868  0001E2E9                                   #              }
 869  0001E2E9                                   #              if( halt_flg )   
 870  0001E2E9                                  L304:
 871  0001E2E9    5d effffff7b9                 	tstl	_halt_flg
 872  0001E2EF    31 09                         	jeql	L314
 873  0001E2F1                                   #                   cvdl_er_halt( BAD_REG_HLT );  /* halt on the error      */
 874  0001E2F1    dd 02                         	pushl	$2
 875  0001E2F3    fe 08 ef000002d0              	callf	$8,_cvdl_er_halt
 876  0001E2FA                                   #              if( loop_on_err ) {
 877  0001E2FA                                  L314:
 878  0001E2FA    5d effffff7a8                 	tstl	_loop_on_err
 879  0001E300    31 0a                         	jeql	L315
 880  0001E302                                   #                   force_loop = TRUE;        /* set the force loop flag */
 881  0001E302    0d 01 effffff79f              	movl	$1,_force_loop
 882  0001E309                                   #                   asm("brw _cvdl_3_lp1");;  /* and loop on the error   */
 883  0001E309    13 fe5a                       brw _cvdl_3_lp1
 884  0001E30C                                   #              }   /* end of loop on error */
 885  0001E30C                                   #         } while( index++ < max_cvdl_1_index );/* end of reg corruption error */
 886  0001E30C                                  L315:
 887  0001E30C                                  L303:
 888  0001E30C                                  L316:
 889  0001E30C    0d effffff796 50              	movl	_index,r0
 890  0001E313    6d effffff78f                 	incl	_index
 891  0001E319    1d 50 effffff788              	cmpl	r0,_max_cvdl_1_index
 892  0001E320    81 02                         	jgeq	L317
 893  0001E322    11 e8                         	jbr 	L316
 894  0001E324                                  L317:
 895  0001E324                                   # }  /* end of subtest 3 */
 896  0001E324    40                            	ret#2
 897  0001E325                                  	.set	L295,0x0
 898  0001E325                                  L297:
 899  0001E325    13 fded                       	jbr 	L298
 900  0001E328                                  	.data
 901  00000c48 *                                	.text
 902  0001E328                                  	.align	1
 903  0001E328                                  	.globl	_cvdl_4
 904  0001E328                                  _cvdl_4:
 905  0001E328    0000                          	.word	L318
 906  0001E32A                                   #   
 907  0001E32A                                   # 
 908  0001E32A                                   # 
 909  0001E32A                                   # /************************************************************************
 910  0001E32A                                   # *
 911  0001E32A                                   # *       SUBTEST 4 - Check for PSL corruption 
 912  0001E32A                                   # *
 913  0001E32A                                   # ************************************************************************/
 914  0001E32A                                   # cvdl_4() 
 915  0001E32A                                   # {
 916  0001E32A    13 0247                       	jbr 	L320
 917  0001E32D                                  L321:
 918  0001E32D                                   #         force_loop = FALSE;                     /* clear force_loop flg */
 919  0001E32D    4d effffff775                 	clrl	_force_loop
 920  0001E333                                   #         subtest = 4;
 921  0001E333    0d 04 effffff76e              	movl	$4,_subtest
 922  0001E33A                                   #         for( index = 0; index < max_cvdl_1_index; index++ ) {
 923  0001E33A    4d effffff768                 	clrl	_index
 924  0001E340                                  L324:
 925  0001E340    1d effffff762 effffff75d      	cmpl	_index,_max_cvdl_1_index
 926  0001E34B    91 03 13 0223                 	jgeq	L323
 927  0001E350                                   #              dbl_ld_acc   = cvdl_1_data[index].ld;   /* get the operand     */
 928  0001E350    5c 0c effffff751 50           	mull3	$12,_index,r0
 929  0001E358    0c 8f00000000 50              	addl2	$_cvdl_1_data,r0
 930  0001E35F    0d a004 effffff745            	movl	4(r0),_dbl_ld_acc+4
 931  0001E367    0d 60 effffff73a              	movl	(r0),_dbl_ld_acc
 932  0001E36E                                   #              sgl_expected = cvdl_1_data[index].exp;  /* get expected  */
 933  0001E36E    5c 0c effffff733 50           	mull3	$12,_index,r0
 934  0001E376    0d e000000008 effffff727      	movl	_cvdl_1_data+8(r0),_sgl_expected
 935  0001E381                                   #              sgl_value_1 = dbl_ld_acc.m;
 936  0001E381    0d effffff721 effffff71c      	movl	_dbl_ld_acc,_sgl_value_1
 937  0001E38C                                   # 	     sgl_value_2 = dbl_ld_acc.l;
 938  0001E38C    0d effffff71a effffff711      	movl	_dbl_ld_acc+4,_sgl_value_2
 939  0001E397                                   # 	     for( status_index = 0; status_index < 3; status_index++ ) {
 940  0001E397    4d effffff70b                 	clrl	_status_index
 941  0001E39D                                  L327:
 942  0001E39D    1d effffff705 03              	cmpl	_status_index,$3
 943  0001E3A4    91 03 13 01c1                 	jgeq	L326
 944  0001E3A9                                   #                   sgl_dummy1 = status_array[status_index];/* status = +, -, 0 */
 945  0001E3A9    0d effffff6f9 50              	movl	_status_index,r0
 946  0001E3B0    0d 40effffff6f1               	movl	_status_array[r0],_sgl_dummy1
                  effffff6ec 
 947  0001E3BC                                   # /*
 948  0001E3BC                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 949  0001E3BC                                   #  * The force loop flag is set after the first error.
 950  0001E3BC                                   # */
 951  0001E3BC                                   #                   asm("_cvdl_4_lp1:");
 952  0001E3BC                                  _cvdl_4_lp1:
 953  0001E3BC                                   #                   asm("movl _sgl_value_1,r4");	    /* put MS value in r4    */
 954  0001E3BC    0d effffff6e6 54              movl _sgl_value_1,r4
 955  0001E3C3                                   #                   asm("movl _sgl_value_2,r5");	    /* put LS value in r5    */
 956  0001E3C3    0d effffff6df 55              movl _sgl_value_2,r5
 957  0001E3CA                                   # 	          asm("ldd r4");		    /* load the acc          */
 958  0001E3CA    07 54                         ldd r4
 959  0001E3CC                                   # 	          asm("tstl _sgl_dummy1");	    /* set the PSL status    */
 960  0001E3CC    5d effffff6d6                 tstl _sgl_dummy1
 961  0001E3D2                                   # 	          asm("movpsl _init_psl");	    /* save the initial PSL  */
 962  0001E3D2    cd effffff6d0                 movpsl _init_psl
 963  0001E3D8                                   #                   asm("nop");
 964  0001E3D8    10                            nop
 965  0001E3D9                                   #                   asm("cvdl r8");		     /* convert the value     */
 966  0001E3D9    87 58                         cvdl r8
 967  0001E3DB                                   #                   asm("nop");
 968  0001E3DB    10                            nop
 969  0001E3DC                                   #                   asm("movpsl _psl_val");            /* save the final PSL    */
 970  0001E3DC    cd effffff6c6                 movpsl _psl_val
 971  0001E3E2                                   #                   asm("nop");
 972  0001E3E2    10                            nop
 973  0001E3E3                                   #                   asm("std _dbl_st_acc");            /* save the accumulator  */
 974  0001E3E3    27 effffff6bf                 std _dbl_st_acc
 975  0001E3E9                                   #                   if( force_loop )
 976  0001E3E9    5d effffff6b9                 	tstl	_force_loop
 977  0001E3EF    31 02                         	jeql	L328
 978  0001E3F1                                   #                        asm("brb _cvdl_4_lp1");;      /* loop on the error     */
 979  0001E3F1    11 c9                         brb _cvdl_4_lp1
 980  0001E3F3                                  L328:
 981  0001E3F3                                   # /*
 982  0001E3F3                                   #  * Now compare the final PSL to the initial PSL -they should be the same
 983  0001E3F3                                   # */
 984  0001E3F3                                   #                     asm("movl r8,_sgl_value_3");     /* mave result to cache  */
 985  0001E3F3    0d 58 effffff6ae              movl r8,_sgl_value_3
 986  0001E3FA                                   # 	            exp_psl = init_psl;              /* get the initial PSL  */
 987  0001E3FA    0d effffff6a8 effffff6a3      	movl	_init_psl,_exp_psl
 988  0001E405                                   #                     exp_psl &= 0xfffffff3;           /* clear ZERO, NEGATIVE */
 989  0001E405    ac 88f3 effffff69b            	andl2	$-13,_exp_psl
 990  0001E40D                                   #                     if( !sgl_expected )
 991  0001E40D    5d effffff695                 	tstl	_sgl_expected
 992  0001E413    21 07                         	jneq	L329
 993  0001E415                                   #                         exp_psl |= PSL_Z;            /* expect ZERO bit set  */
 994  0001E415    8c 04 effffff68c              	orl2	$4,_exp_psl
 995  0001E41C                                   #                     if( sgl_expected < 0 )
 996  0001E41C                                  L329:
 997  0001E41C    5d effffff686                 	tstl	_sgl_expected
 998  0001E422    81 07                         	jgeq	L330
 999  0001E424                                   #                         exp_psl |= PSL_N;            /* expect NEG bit set   */
1000  0001E424    8c 08 effffff67d              	orl2	$8,_exp_psl
1001  0001E42B                                   #                   if( psl_val != exp_psl ) {
1002  0001E42B                                  L330:
1003  0001E42B    1d effffff677 effffff672      	cmpl	_psl_val,_exp_psl
1004  0001E436    21 03 13 0126                 	jeql	L331
1005  0001E43B                                   #                        errcnt++;                     /* bump error count    */
1006  0001E43B    6d effffff667                 	incl	_errcnt
1007  0001E441                                   #                        if( prt_error ) {
1008  0001E441    5d effffff661                 	tstl	_prt_error
1009  0001E447    21 03 13 00f2                 	jeql	L332
1010  0001E44C                                   #                             writes(" \n");      /* start new print line  */
1011  0001E44C                                  	.data	1
1012  00000e80 *                                L333:
1013  00000e80 *  200A00                        	.ascii	" \12\0"
1014  00000e83 *                                	.text
1015  0001E44C    dd 8f00000e80                 	pushl	$L333
1016  0001E452    fe 08 effffff64f              	callf	$8,_writes
1017  0001E459                                   #                             writes("cycle: ");
1018  0001E459                                  	.data	1
1019  00000e83 *                                L334:
1020  00000e83 *  6379636C653A2000              	.ascii	"cycle: \0"
1021  00000e8b *                                	.text
1022  0001E459    dd 8f00000e83                 	pushl	$L334
1023  0001E45F    fe 08 effffff642              	callf	$8,_writes
1024  0001E466                                   #                             writed( cycle );
1025  0001E466    dd effffff63c                 	pushl	_cycle
1026  0001E46C    fe 08 effffff635              	callf	$8,_writed
1027  0001E473                                   #                             writes(
1028  0001E473                                   # 	     "  CVDL test 24, subtest 4 - INCORRECT FINAL PSL\n");
1029  0001E473                                  	.data	1
1030  00000e8b *                                L335:
1031  00000e8b *  20204356444C2074657374203     	.ascii	"  CVDL test 24, subtest 4 - INCORRECT FINAL PSL\12\0"
                  2342C20737562746573742034
                  202D20494E434F52524543542
                  046494E414C2050534C0A00
1032  00000ebc *                                	.text
1033  0001E473    dd 8f00000e8b                 	pushl	$L335
1034  0001E479    fe 08 effffff628              	callf	$8,_writes
1035  0001E480                                   #                             print_cvdl_data();       /* print operands      */
1036  0001E480    fe 04 ef000000f1              	callf	$4,_print_cvdl_data
1037  0001E487                                   #                             writes(",   index = ");
1038  0001E487                                  	.data	1
1039  00000ebc *                                L336:
1040  00000ebc *  2C202020696E646578203D200     	.ascii	",   index = \0"
                  0
1041  00000ec9 *                                	.text
1042  0001E487    dd 8f00000ebc                 	pushl	$L336
1043  0001E48D    fe 08 effffff614              	callf	$8,_writes
1044  0001E494                                   #                             writed( index );
1045  0001E494    dd effffff60e                 	pushl	_index
1046  0001E49A    fe 08 effffff607              	callf	$8,_writed
1047  0001E4A1                                   #                             writec('\n');
1048  0001E4A1    dd 0a                         	pushl	$10
1049  0001E4A3    fe 08 effffff5fe              	callf	$8,_writec
1050  0001E4AA                                   #                             writes("  final Acc = ");
1051  0001E4AA                                  	.data	1
1052  00000ec9 *                                L337:
1053  00000ec9 *  202066696E616C20416363203     	.ascii	"  final Acc = \0"
                  D2000
1054  00000ed8 *                                	.text
1055  0001E4AA    dd 8f00000ec9                 	pushl	$L337
1056  0001E4B0    fe 08 effffff5f1              	callf	$8,_writes
1057  0001E4B7                                   #                             write32h( dbl_st_acc.m );
1058  0001E4B7    dd effffff5eb                 	pushl	_dbl_st_acc
1059  0001E4BD    fe 08 effffff5e4              	callf	$8,_write32h
1060  0001E4C4                                   #                             writec(' ');
1061  0001E4C4    dd 20                         	pushl	$32
1062  0001E4C6    fe 08 effffff5db              	callf	$8,_writec
1063  0001E4CD                                   #                             write32h( dbl_st_acc.l );
1064  0001E4CD    dd effffff5d9                 	pushl	_dbl_st_acc+4
1065  0001E4D3    fe 08 effffff5ce              	callf	$8,_write32h
1066  0001E4DA                                   #                             writec('\n');
1067  0001E4DA    dd 0a                         	pushl	$10
1068  0001E4DC    fe 08 effffff5c5              	callf	$8,_writec
1069  0001E4E3                                   #                             writes("initial PSL = ");
1070  0001E4E3                                  	.data	1
1071  00000ed8 *                                L338:
1072  00000ed8 *  696E697469616C2050534C203     	.ascii	"initial PSL = \0"
                  D2000
1073  00000ee7 *                                	.text
1074  0001E4E3    dd 8f00000ed8                 	pushl	$L338
1075  0001E4E9    fe 08 effffff5b8              	callf	$8,_writes
1076  0001E4F0                                   #                             write32h( init_psl );
1077  0001E4F0    dd effffff5b2                 	pushl	_init_psl
1078  0001E4F6    fe 08 effffff5ab              	callf	$8,_write32h
1079  0001E4FD                                   #                             writes(",  final PSL = ");
1080  0001E4FD                                  	.data	1
1081  00000ee7 *                                L339:
1082  00000ee7 *  2C202066696E616C2050534C2     	.ascii	",  final PSL = \0"
                  03D2000
1083  00000ef7 *                                	.text
1084  0001E4FD    dd 8f00000ee7                 	pushl	$L339
1085  0001E503    fe 08 effffff59e              	callf	$8,_writes
1086  0001E50A                                   #                             write32h( psl_val );
1087  0001E50A    dd effffff598                 	pushl	_psl_val
1088  0001E510    fe 08 effffff591              	callf	$8,_write32h
1089  0001E517                                   #                             writes(",  expected PSL = ");
1090  0001E517                                  	.data	1
1091  00000ef7 *                                L340:
1092  00000ef7 *  2C20206578706563746564205     	.ascii	",  expected PSL = \0"
                  0534C203D2000
1093  00000f0a *                                	.text
1094  0001E517    dd 8f00000ef7                 	pushl	$L340
1095  0001E51D    fe 08 effffff584              	callf	$8,_writes
1096  0001E524                                   #                             write32h( exp_psl );
1097  0001E524    dd effffff57e                 	pushl	_exp_psl
1098  0001E52A    fe 08 effffff577              	callf	$8,_write32h
1099  0001E531                                   #                             writes("\n");
1100  0001E531                                  	.data	1
1101  00000f0a *                                L341:
1102  00000f0a *  0A00                          	.ascii	"\12\0"
1103  00000f0c *                                	.text
1104  0001E531    dd 8f00000f0a                 	pushl	$L341
1105  0001E537    fe 08 effffff56a              	callf	$8,_writes
1106  0001E53E                                   #                        }
1107  0001E53E                                   #                        if( halt_flg )   
1108  0001E53E                                  L332:
1109  0001E53E    5d effffff564                 	tstl	_halt_flg
1110  0001E544    31 09                         	jeql	L342
1111  0001E546                                   #                             cvdl_er_halt( BAD_PSL_HLT );   /* halt on error */
1112  0001E546    dd 03                         	pushl	$3
1113  0001E548    fe 08 ef0000007b              	callf	$8,_cvdl_er_halt
1114  0001E54F                                   #                        if( loop_on_err ) {
1115  0001E54F                                  L342:
1116  0001E54F    5d effffff553                 	tstl	_loop_on_err
1117  0001E555    31 0a                         	jeql	L343
1118  0001E557                                   #                             force_loop = TRUE;        /* set force loop flag */
1119  0001E557    0d 01 effffff54a              	movl	$1,_force_loop
1120  0001E55E                                   #                             asm("brw _cvdl_4_lp1");;  /* and loop on error   */
1121  0001E55E    13 fe5b                       brw _cvdl_4_lp1
1122  0001E561                                   #                        }   /* end of loop on error */
1123  0001E561                                   #                   }  /* end of PSL corruption error */
1124  0001E561                                  L343:
1125  0001E561                                   #              }  /* end of status WHILE loop */
1126  0001E561                                  L331:
1127  0001E561                                  L325:
1128  0001E561    6d effffff541                 	incl	_status_index
1129  0001E567    13 fe33                       	jbr 	L327
1130  0001E56A                                  L326:
1131  0001E56A                                   #         }  /* end of data WHILE loop */
1132  0001E56A                                  L322:
1133  0001E56A    6d effffff538                 	incl	_index
1134  0001E570    13 fdcd                       	jbr 	L324
1135  0001E573                                  L323:
1136  0001E573                                   # }  /* end of subtest 4 */
1137  0001E573    40                            	ret#2
1138  0001E574                                  	.set	L318,0x0
1139  0001E574                                  L320:
1140  0001E574    13 fdb6                       	jbr 	L321
1141  0001E577                                  	.data
1142  00000c48 *                                	.text
1143  0001E577    00                            	.align	1
1144  0001E578                                  	.globl	_print_cvdl_data
1145  0001E578                                  _print_cvdl_data:
1146  0001E578    0000                          	.word	L344
1147  0001E57A                                   #   
1148  0001E57A                                   # 
1149  0001E57A                                   # 
1150  0001E57A                                   # /**************************************************************************
1151  0001E57A                                   # *
1152  0001E57A                                   # *       PRINT THE DATA AND STORE RESULTS
1153  0001E57A                                   # *
1154  0001E57A                                   # * initial Acc = xxxxxxxx xxxxxxxx,  integer stored = xxxxxxxx
1155  0001E57A                                   # **************************************************************************/
1156  0001E57A                                   # print_cvdl_data()
1157  0001E57A                                   # {
1158  0001E57A    11 4b                         	jbr 	L346
1159  0001E57C                                  L347:
1160  0001E57C                                   #         writes("initial Acc = ");
1161  0001E57C                                  	.data	1
1162  00000f0c *                                L348:
1163  00000f0c *  696E697469616C20416363203     	.ascii	"initial Acc = \0"
                  D2000
1164  00000f1b *                                	.text
1165  0001E57C    dd 8f00000f0c                 	pushl	$L348
1166  0001E582    fe 08 effffff51f              	callf	$8,_writes
1167  0001E589                                   #         write32h( dbl_ld_acc.m );
1168  0001E589    dd effffff519                 	pushl	_dbl_ld_acc
1169  0001E58F    fe 08 effffff512              	callf	$8,_write32h
1170  0001E596                                   #         writec(' ');
1171  0001E596    dd 20                         	pushl	$32
1172  0001E598    fe 08 effffff509              	callf	$8,_writec
1173  0001E59F                                   #         write32h( dbl_ld_acc.l );
1174  0001E59F    dd effffff507                 	pushl	_dbl_ld_acc+4
1175  0001E5A5    fe 08 effffff4fc              	callf	$8,_write32h
1176  0001E5AC                                   #         writes(",    int. stored = ");
1177  0001E5AC                                  	.data	1
1178  00000f1b *                                L349:
1179  00000f1b *  2C20202020696E742E2073746     	.ascii	",    int. stored = \0"
                  F726564203D2000
1180  00000f2f *                                	.text
1181  0001E5AC    dd 8f00000f1b                 	pushl	$L349
1182  0001E5B2    fe 08 effffff4ef              	callf	$8,_writes
1183  0001E5B9                                   #         write32h( sgl_value_3 );
1184  0001E5B9    dd effffff4e9                 	pushl	_sgl_value_3
1185  0001E5BF    fe 08 effffff4e2              	callf	$8,_write32h
1186  0001E5C6                                   # }
1187  0001E5C6    40                            	ret#2
1188  0001E5C7                                  	.set	L344,0x0
1189  0001E5C7                                  L346:
1190  0001E5C7    11 b3                         	jbr 	L347
1191  0001E5C9                                  	.data
1192  00000c48 *                                	.text
1193  0001E5C9    00                            	.align	1
1194  0001E5CA                                  	.globl	_cvdl_er_halt
1195  0001E5CA                                  _cvdl_er_halt:
1196  0001E5CA    0000                          	.word	L350
1197  0001E5CC                                   #   
1198  0001E5CC                                   # 
1199  0001E5CC                                   # 
1200  0001E5CC                                   # /**************************************************************************
1201  0001E5CC                                   # *
1202  0001E5CC                                   # *               HALT ON ERROR ROUTINE 
1203  0001E5CC                                   # *
1204  0001E5CC                                   # **************************************************************************/
1205  0001E5CC                                   # cvdl_er_halt( halt_code )
1206  0001E5CC                                   # int halt_code;
1207  0001E5CC                                   # {
1208  0001E5CC    13 011c                       	jbr 	L352
1209  0001E5CF                                  L353:
1210  0001E5CF                                   #         sgl_value_1 = dbl_ld_acc.m;
1211  0001E5CF    0d effffff4d3 effffff4ce      	movl	_dbl_ld_acc,_sgl_value_1
1212  0001E5DA                                   #         sgl_value_2 = dbl_ld_acc.l;
1213  0001E5DA    0d effffff4cc effffff4c3      	movl	_dbl_ld_acc+4,_sgl_value_2
1214  0001E5E5                                   #         sgl_value_4 = dbl_st_acc.m;
1215  0001E5E5    0d effffff4bd effffff4b8      	movl	_dbl_st_acc,_sgl_value_4
1216  0001E5F0                                   #         sgl_value_5 = dbl_st_acc.l;
1217  0001E5F0    0d effffff4b6 effffff4ad      	movl	_dbl_st_acc+4,_sgl_value_5
1218  0001E5FB                                   #         sgl_dummy1 = halt_code;                 /* get the error type    */
1219  0001E5FB    0d ad04 effffff4a5            	movl	4(fp),_sgl_dummy1
1220  0001E603                                   #         asm("movl _test_no,r0");                /* r0  = test number     */
1221  0001E603    0d effffff49f 50              movl _test_no,r0
1222  0001E60A                                   #         asm("movl _subtest,r1");                /* r1  = subtest number  */
1223  0001E60A    0d effffff498 51              movl _subtest,r1
1224  0001E611                                   #         asm("movl _sgl_dummy1,r2");             /* r2  = error code      */
1225  0001E611    0d effffff491 52              movl _sgl_dummy1,r2
1226  0001E618                                   #         asm("movl _cycle,r3");                  /* r3  = cycle count     */
1227  0001E618    0d effffff48a 53              movl _cycle,r3
1228  0001E61F                                   #         asm("movl _sgl_value_1,r4");            /* r4  = MS acc loaded   */
1229  0001E61F    0d effffff483 54              movl _sgl_value_1,r4
1230  0001E626                                   #         asm("movl _sgl_value_2,r5");            /* r5  = LS acc loaded   */
1231  0001E626    0d effffff47c 55              movl _sgl_value_2,r5
1232  0001E62D                                   #         asm("movl _sgl_value_4,r6");            /* r6  = MS acc stored   */
1233  0001E62D    0d effffff475 56              movl _sgl_value_4,r6
1234  0001E634                                   #         asm("movl _sgl_value_5,r7");            /* r7  = LS acc stored   */
1235  0001E634    0d effffff46e 57              movl _sgl_value_5,r7
1236  0001E63B                                   #         asm("movl _sgl_value_3,r8");            /* r8  = integer stored  */
1237  0001E63B    0d effffff467 58              movl _sgl_value_3,r8
1238  0001E642                                   #         if( halt_code == BAD_ACC_HLT ) {
1239  0001E642    1d ad04 01                    	cmpl	4(fp),$1
1240  0001E646    21 2d                         	jneq	L354
1241  0001E648                                   #              sgl_value_1 = dbl_expected.m;
1242  0001E648    0d effffff45a effffff455      	movl	_dbl_expected,_sgl_value_1
1243  0001E653                                   #              sgl_value_2 = dbl_expected.l;
1244  0001E653    0d effffff453 effffff44a      	movl	_dbl_expected+4,_sgl_value_2
1245  0001E65E                                   #              asm("movl _sgl_value_1,r9");       /* r9  = MS expected     */
1246  0001E65E    0d effffff444 59              movl _sgl_value_1,r9
1247  0001E665                                   #              asm("movl _sgl_value_2,r10");      /* r10 = LS expected     */
1248  0001E665    0d effffff43d 5a              movl _sgl_value_2,r10
1249  0001E66C                                   #              asm("movl _index,r11");            /* r11 = data index      */
1250  0001E66C    0d effffff436 5b              movl _index,r11
1251  0001E673                                   #         } else 
1252  0001E673    11 74                         	jbr 	L355
1253  0001E675                                  L354:
1254  0001E675                                   #         if( halt_code == BAD_STORE_HLT ) {
1255  0001E675    1d ad04 09                    	cmpl	4(fp),$9
1256  0001E679    21 10                         	jneq	L356
1257  0001E67B                                   #              asm("movl _sgl_expected,r9");      /* r9  = int expected    */
1258  0001E67B    0d effffff427 59              movl _sgl_expected,r9
1259  0001E682                                   #              asm("movl _index,r10");            /* r10 = data index      */
1260  0001E682    0d effffff420 5a              movl _index,r10
1261  0001E689                                   #         } else 
1262  0001E689    11 5e                         	jbr 	L357
1263  0001E68B                                  L356:
1264  0001E68B                                   #           if( halt_code == BAD_REG_HLT ) {
1265  0001E68B    1d ad04 02                    	cmpl	4(fp),$2
1266  0001E68F    21 3d                         	jneq	L358
1267  0001E691                                   #              sgl_dummy1 = load_regs[index2];
1268  0001E691    0d effffff411 50              	movl	_index2,r0
1269  0001E698    0d 40effffff409               	movl	_load_regs[r0],_sgl_dummy1
                  effffff404 
1270  0001E6A4                                   #              sgl_dummy2 = store_regs[index2];
1271  0001E6A4    0d effffff3fe 50              	movl	_index2,r0
1272  0001E6AB    0d 40effffff3f6               	movl	_store_regs[r0],_sgl_dummy2
                  effffff3f1 
1273  0001E6B7                                   #              asm("movl _index2,r9");            /* r9  = bad register #  */
1274  0001E6B7    0d effffff3eb 59              movl _index2,r9
1275  0001E6BE                                   #              asm("movl _sgl_dummy2,r10");       /* r10 = actual value    */
1276  0001E6BE    0d effffff3e4 5a              movl _sgl_dummy2,r10
1277  0001E6C5                                   #              asm("movl _sgl_dummy1,r11");       /* r11 = expected value  */
1278  0001E6C5    0d effffff3dd 5b              movl _sgl_dummy1,r11
1279  0001E6CC                                   #         } else
1280  0001E6CC    11 1b                         	jbr 	L359
1281  0001E6CE                                  L358:
1282  0001E6CE                                   #           if( halt_code == BAD_PSL_HLT ) {
1283  0001E6CE    1d ad04 03                    	cmpl	4(fp),$3
1284  0001E6D2    21 15                         	jneq	L360
1285  0001E6D4                                   #              asm("movl _init_psl,r9");          /* r9  = initial PSL     */
1286  0001E6D4    0d effffff3ce 59              movl _init_psl,r9
1287  0001E6DB                                   #              asm("movl _psl_val,r10");          /* r10 = final PSL       */
1288  0001E6DB    0d effffff3c7 5a              movl _psl_val,r10
1289  0001E6E2                                   #              asm("movl _exp_psl,r11");          /* r11 = expected PSL    */
1290  0001E6E2    0d effffff3c0 5b              movl _exp_psl,r11
1291  0001E6E9                                   #         };
1292  0001E6E9                                  L360:
1293  0001E6E9                                  L359:
1294  0001E6E9                                  L357:
1295  0001E6E9                                  L355:
1296  0001E6E9                                   #         asm("halt");                            /* HALT ...              */
1297  0001E6E9    00                            halt
1298  0001E6EA                                   # }  
1299  0001E6EA    40                            	ret#2
1300  0001E6EB                                  	.set	L350,0x0
1301  0001E6EB                                  L352:
1302  0001E6EB    13 fee1                       	jbr 	L353
1303  0001E6EE                                  	.data
1303  0003C196                                  	.data

unix.superglobalmegacorp.com

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