Home | History | Annotate | Line # | Download | only in bfin
s8.s revision 1.1
      1  1.1  christos //  Test  rl4 = VMAX r5  A0<<1;
      2  1.1  christos //  Test  rl4 = VMAX r5  A0>>1;
      3  1.1  christos # mach: bfin
      4  1.1  christos 
      5  1.1  christos .include "testutils.inc"
      6  1.1  christos 	start
      7  1.1  christos 
      8  1.1  christos 
      9  1.1  christos // max value in high half, hence bit into A0 is one
     10  1.1  christos 	A0 = 0;
     11  1.1  christos 	R1.L = 0x2;	// max in r1 is 3
     12  1.1  christos 	R1.H = 0x3;
     13  1.1  christos 
     14  1.1  christos 	R6.L = VIT_MAX( R1 ) (ASL);
     15  1.1  christos 
     16  1.1  christos 	DBGA ( R6.L , 0x0003 );
     17  1.1  christos 	R7 = A0.w;
     18  1.1  christos 	DBGA ( R7.L , 0x0001 );
     19  1.1  christos 	DBGA ( R7.H , 0x0000 );
     20  1.1  christos 	R7.L = A0.x;
     21  1.1  christos 	DBGA ( R7.L , 0x0000 );
     22  1.1  christos 
     23  1.1  christos // max value in low half, hence bit into A0 is zero
     24  1.1  christos 	R0.L = 0x8000;
     25  1.1  christos 	R0.H = 0x8000;
     26  1.1  christos 	A0.w = R0;
     27  1.1  christos 	R1.L = 0x8001;	// max in r1 is 8001
     28  1.1  christos 	R1.H = 0x7f00;
     29  1.1  christos 
     30  1.1  christos 	R6.L = VIT_MAX( R1 ) (ASL);
     31  1.1  christos 
     32  1.1  christos 	DBGA ( R6.L , 0x8001 );
     33  1.1  christos 	R7 = A0.w;
     34  1.1  christos 	DBGA ( R7.L , 0x0000 );
     35  1.1  christos 	DBGA ( R7.H , 0x0001 );
     36  1.1  christos 	R7.L = A0.x;
     37  1.1  christos 	DBGA ( R7.L , 0x0001 );
     38  1.1  christos 
     39  1.1  christos // max value in high half, hence bit into A0 is one
     40  1.1  christos 	R0.L = 0x8000;
     41  1.1  christos 	R0.H = 0x0000;
     42  1.1  christos 	A0.w = R0;
     43  1.1  christos 	R1.L = 0x7fff;	// max in r1 is 8001
     44  1.1  christos 	R1.H = 0x8001;
     45  1.1  christos 
     46  1.1  christos 	R6.L = VIT_MAX( R1 ) (ASR);
     47  1.1  christos 
     48  1.1  christos 	DBGA ( R6.L , 0x8001 );
     49  1.1  christos 	R7 = A0.w;
     50  1.1  christos 	DBGA ( R7.L , 0x4000 );
     51  1.1  christos 	DBGA ( R7.H , 0x8000 );
     52  1.1  christos 	R7.L = A0.x;
     53  1.1  christos 	DBGA ( R7.L , 0x0000 );
     54  1.1  christos 
     55  1.1  christos 	pass
     56