⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scott-add.c

📁 sdcc是为51等小型嵌入式cpu设计的c语言编译器支持数种不同类型的cpu
💻 C
字号:
/* Addition tests */#include <testfwk.h>/* bit types are not ANSI - so provide a way of disabling bit types * if this file is used to test other compilers besides SDCC */#define SUPPORT_BIT_TYPES 0/* Some compilers that support bit types do not support bit arithmetic  * (like bitx = bity + bitz;) */#define SUPPORT_BIT_ARITHMETIC 0#if SUPPORT_BIT_TYPESbit bit0 = 0;bit bit1 = 0;bit bit2 = 0;bit bit3 = 0;bit bit4 = 0;bit bit5 = 0;bit bit6 = 0;bit bit7 = 0;bit bit8 = 0;bit bit9 = 0;bit bit10 = 0;bit bit11 = 0;#endifunsigned int aint0 = 0;unsigned int aint1 = 0;unsigned char achar0 = 0;unsigned char achar1 = 0;unsigned char achar2 = 0;unsigned char achar3 = 0;unsigned char *acharP = 0;void test_add_lit2uchar(void){  achar0 = achar0 + 5;  ASSERT(achar0 == 5);  achar0 += 10;    ASSERT(achar0 == 15);  achar0 = achar0 +1;  // Should be an increment  ASSERT(achar0 == 16);  for(achar1 = 0; achar1 < 100; achar1++)    achar0 += 2;  ASSERT(achar0 == 216);}voidtest_add_uchar2uchar_setup(void){  achar0=16;  achar1=0;}void test_add_uchar2uchar(void){  achar1 = achar1 + achar0;  ASSERT(achar1 == 16);  for(achar2 = 0; achar2<7; achar2++)    achar1 += achar0;  ASSERT(achar1 == 128);}// assumes//  achar0 = 0//  achar1 = 32//  achar2, achar3 can be anything.void test_add_uchar2uchar2_setup(void){  achar0 = 0;  achar1 = 32;}void test_add_uchar2uchar2(void){  achar0++;  achar0 = achar0 + 1;  achar0 = achar0 + 2;  achar0 = achar0 + 3;  ASSERT(achar0 == 7);  achar1 += achar0;  ASSERT(achar1 == 39);  achar2 = achar1 + achar0;  ASSERT(achar2 == 46);  achar3 = achar2 + achar1 + achar0;  ASSERT(achar3 == 92);}#if SUPPORT_BIT_TYPESvoid add_bits(void){  bit1 = bit0;  bit0 = 1;  if(bit1 != 0)    failures++;  bit1 = bit1+bit0;  ASSERT(bit1 == 1);#if SUPPORT_BIT_ARITHMETIC  bit2 = bit1+bit3;  ASSERT(bit2 != 0);  bit3 = bit4+bit5+bit6+bit7+bit0;  ASSERT(bit3 == 0);#endif}/* add_bit2uchar(void) - assumes bit0 = 1, achar0 = 7  */void disabled_test_add_bit2uchar(void){  achar0 += bit0;  ASSERT(achar0 == 8);  ASSERT(achar0 == bit0);}void disabled_test_add_bit2uint(void){  ASSERT(aint0 == bit11);  aint0 += bit0;  ASSERT(aint0 == 1);}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -