1 // Copyright (c) 1997,1998,1999 Analog Devices Inc., All Rights Reserved
2 // Test A0 = ROT (A0 by imm6);
5 .include "testutils.inc"
14 // 00 8000 0001 -> 01 0000 0002 cc=0
23 DBGA ( R1.L , 0x0002 );
24 DBGA ( R1.H , 0x0000 );
26 DBGA ( R1.L , 0x0001 );
28 DBGA ( R7.L , 0x0000 );
32 // 80 0000 0001 -> 00 0000 0002 cc=1
43 DBGA ( R1.L , 0x0002 );
44 DBGA ( R1.H , 0x0000 );
46 DBGA ( R1.L , 0x0000 );
48 DBGA ( R7.L , 0x0001 );
51 // left by 1 with cc=1
52 // 80 8000 0001 -> 01 0000 0003 cc=1
63 DBGA ( R1.L , 0x0003 );
64 DBGA ( R1.H , 0x0000 );
66 DBGA ( R1.L , 0x0001 );
68 DBGA ( R7.L , 0x0001 );
71 // left by 2 with cc=1
72 // 80 0000 0001 -> 00 0000 0007 cc=0
83 DBGA ( R1.L , 0x0007 );
84 DBGA ( R1.H , 0x0000 );
86 DBGA ( R1.L , 0x0000 );
88 DBGA ( R7.L , 0x0000 );
91 // left by 3 with cc=0
102 DBGA ( R1.L , 0x000a );
103 DBGA ( R1.H , 0x0000 );
105 DBGA ( R1.L , 0x0000 );
107 DBGA ( R7.L , 0x0000 );
110 // left by largest positive magnitude of 31
111 // 80 0000 0001 -> 00 a000 0000 cc=0
122 DBGA ( R1.L , 0x0000 );
123 DBGA ( R1.H , 0xa000 );
125 DBGA ( R1.L , 0x0000 );
127 DBGA ( R7.L , 0x0000 );
131 // 80 0000 0001 -> 40 0000 0000 cc=1
142 DBGA ( R1.L , 0x0000 );
143 DBGA ( R1.H , 0x0000 );
145 DBGA ( R1.L , 0x0040 );
147 DBGA ( R7.L , 0x0001 );
151 // 80 0000 0001 -> c0 0000 0000 cc=1
162 DBGA ( R1.L , 0x0000 );
163 DBGA ( R1.H , 0x0000 );
165 DBGA ( R1.L , 0xffc0 );
167 DBGA ( R7.L , 0x0001 );
171 // 80 0000 0001 -> e0 0000 0000 cc=0
182 DBGA ( R1.L , 0x0000 );
183 DBGA ( R1.H , 0x0000 );
185 DBGA ( R1.L , 0xffe0 );
187 DBGA ( R7.L , 0x0000 );
191 // 80 0000 0001 -> 01 c000 0000 cc=0
202 DBGA ( R1.L , 0x0000 );
203 DBGA ( R1.H , 0xc000 );
205 DBGA ( R1.L , 0x0001 );
207 DBGA ( R7.L , 0x0000 );
210 // right by 9 with reg
211 // 80 0000 0001 -> 01 c000 0000 cc=0
223 DBGA ( R1.L , 0x0000 );
224 DBGA ( R1.H , 0xc000 );
226 DBGA ( R1.L , 0x0001 );
228 DBGA ( R7.L , 0x0000 );
230 // rot left by 4 with cc=1
244 DBGA ( R4.H , 0x4567 ); DBGA ( R4.L , 0x89a8 );
245 DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x0023 );
247 // rot left by 28 with cc=1
261 DBGA ( R4.H , 0xa891 ); DBGA ( R4.L , 0xa2b3 );
262 DBGA ( R5.H , 0xffff ); DBGA ( R5.L , 0xff89 );
264 // rot right by 4 with cc=1
278 DBGA ( R4.H , 0x2345 ); DBGA ( R4.L , 0x6789 );
279 DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x0051 );
281 // rot right by 8 with cc=1
295 DBGA ( R4.H , 0xcf13 ); DBGA ( R4.L , 0x5123 );
296 DBGA ( R5.H , 0xffff ); DBGA ( R5.L , 0xff8a );