4 /* bit types are not ANSI - so provide a way of disabling bit types
5 * if this file is used to test other compilers besides SDCC */
6 #define SUPPORT_BIT_TYPES 1
8 /* Some compilers that support bit types do not support bit arithmetic
9 * (like bitx = bity + bitz;) */
10 #define SUPPORT_BIT_ARITHMETIC 1
12 unsigned char success=0;
13 unsigned char failures=0;
14 unsigned char dummy=0;
33 unsigned int aint0 = 0;
34 unsigned int aint1 = 0;
35 unsigned char achar0 = 0;
36 unsigned char achar1 = 0;
37 unsigned char achar2 = 0;
38 unsigned char achar3 = 0;
39 unsigned char *acharP = 0;
48 void sub_lit_from_uchar(void)
61 achar0 = achar0 -1; // Should be a decrement
65 for(achar1 = 0; achar1 < 100; achar1++)
76 void sub_uchar2uchar(void)
79 achar1 = achar1 - achar0;
84 for(achar2 = 0; achar2<7; achar2++)
95 // achar2, achar3 can be anything.
97 void sub_uchar2uchar2(void)
113 achar2 = achar1 - achar0;
118 achar3 = achar2 - achar1 - achar0;
125 // all bit variables are 0 upon entry.
127 #if SUPPORT_BIT_TYPES
138 bit1 = bit0-bit1; // 1 - 0 => 1
142 #if SUPPORT_BIT_ARITHMETIC
143 bit2 = bit1-bit0; // 1 - 1 => 0
149 bit3 = bit4-bit5-bit6-bit7-bit0; // 0-0-0-0-1 => 1
156 /* sub_bit2uchar(void) - assumes bit0 = 1, achar0 = 7 */
158 void sub_bit2uchar(void)
171 void sub_bit2uint(void)
183 void sub_ucharFromLit(void)
202 aint0 = 0x100 - aint0;
207 aint0 = 0xff00 - aint0;
212 aint0 = 0x0e01 - aint0;
217 aint0 = 0x10ff - aint0;
229 sub_lit_from_uchar();
240 #if SUPPORT_BIT_TYPES