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