1 #include "gpsim_assert.h"
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 0
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 failures=0;
31 unsigned int aint0 = 0;
32 unsigned int aint1 = 0;
33 unsigned char achar0 = 0;
34 unsigned char achar1 = 0;
35 unsigned char achar2 = 0;
36 unsigned char achar3 = 0;
37 unsigned char *acharP = 0;
42 ASSERT(MANGLE(failures) == 0);
46 void sub_lit_from_uchar(void)
59 achar0 = achar0 -1; // Should be a decrement
63 for(achar1 = 0; achar1 < 100; achar1++)
74 void sub_uchar2uchar(void)
77 achar1 = achar1 - achar0;
82 for(achar2 = 0; achar2<7; achar2++)
93 // achar2, achar3 can be anything.
95 void sub_uchar2uchar2(void)
111 achar2 = achar1 - achar0;
116 achar3 = achar2 - achar1 - achar0;
123 // all bit variables are 0 upon entry.
125 #if SUPPORT_BIT_TYPES
136 bit1 = bit0-bit1; // 1 - 0 => 1
140 #if SUPPORT_BIT_ARITHMETIC
141 bit2 = bit1-bit0; // 1 - 1 => 0
147 bit3 = bit4-bit5-bit6-bit7-bit0; // 0-0-0-0-1 => 1
153 /* sub_bit2uchar(void) - assumes bit0 = 1, achar0 = 7 */
155 void sub_bit2uchar(void)
168 void sub_bit2uint(void)
181 void sub_ucharFromLit(void)
200 aint0 = 0x100 - aint0;
205 aint0 = 0xff00 - aint0;
210 aint0 = 0x0e01 - aint0;
215 aint0 = 0x10ff - aint0;
227 sub_lit_from_uchar();
238 #if SUPPORT_BIT_TYPES