1//  test program for microcontroller instructions
2//  Test instructions
3//  r4 = r2 & r3;
4//  r4 = r2 | r3;
5//  r4 = r2 ^ r3;
6//  r4 = ~ r2;
7# mach: bfin
8
9.include "testutils.inc"
10	start
11
12	loadsym P0, data0;
13	R0 = [ P0 ++ ];
14	R1 = [ P0 ++ ];
15	R2 = [ P0 ++ ];
16	R3 = [ P0 ++ ];
17	R4 = [ P0 ++ ];
18
19	R7 = R0 & R1;
20	DBGA ( R7.L , 0x1111 );
21	DBGA ( R7.H , 0x1111 );
22
23	R7 = R2 & R3;
24	DBGA ( R7.L , 0x0001 );
25	DBGA ( R7.H , 0x0000 );
26
27	R7 = R0 | R1;
28	DBGA ( R7.L , 0xffff );
29	DBGA ( R7.H , 0xffff );
30
31	R7 = R2 | R3;
32	DBGA ( R7.L , 0x000f );
33	DBGA ( R7.H , 0x0000 );
34
35	R7 = R0 ^ R1;
36	DBGA ( R7.L , 0xeeee );
37	DBGA ( R7.H , 0xeeee );
38
39	R7 = R2 ^ R3;
40	DBGA ( R7.L , 0x000e );
41	DBGA ( R7.H , 0x0000 );
42
43	R7 = ~ R0;
44	DBGA ( R7.L , 0xeeee );
45	DBGA ( R7.H , 0xeeee );
46
47	R7 = ~ R2;
48	DBGA ( R7.L , 0xfffe );
49	DBGA ( R7.H , 0xffff );
50
51	pass
52
53	.data
54data0:
55	.dw 0x1111
56	.dw 0x1111
57	.dw 0xffff
58	.dw 0xffff
59	.dw 0x0001
60	.dw 0x0000
61	.dw 0x000f
62	.dw 0x0000
63	.dw 0x0000
64	.dw 0x0000
65