Steve Tell fixed a nested for-loop bug in the PIC Port
[fw/sdcc] / src / regression / xor.c
1 #define __16F873
2 #include "p16f873.h"
3 unsigned char success=0;
4 unsigned char failures=0;
5 unsigned char dummy=0;
6
7 unsigned char achar0 = 0;
8 unsigned char achar1 = 0;
9 unsigned char achar2 = 0;
10
11 void done()
12 {
13
14   dummy++;
15
16 }
17
18 void xor_chars_0_1(void)
19 {
20
21   achar2 = achar0 ^ achar1;
22
23   achar0 = achar0 ^ 0x1;
24
25   achar1 = achar0 ^ achar1 ^ 4;
26 }
27
28 void xor_if(void)
29 {
30
31   if(achar0 ^ achar1) 
32     failures++;
33
34   achar0 ^= 0xff;
35
36   if( !(achar0 ^ achar1) ) 
37     failures++;
38
39 }
40
41 void main(void)
42 {
43
44   xor_chars_0_1();
45
46   if(achar2)
47     failures++;
48
49   if(achar0 != 1)
50     failures++;
51
52   if(achar1 != 5)
53     failures++;
54
55   achar0 = achar1;
56   xor_if();
57
58   success = failures;
59   done();
60 }