|
单片机编程里用到很多小段数组,一般不超过20,用for和memset感觉很慢,呵呵。
发现pm+编译的话直接写编译出来还不错,呵呵
方法如下:
#define CLR1(a) a[0]=0
#define CLR2(a) CLR1(a);a[1]=0
#define CLR3(a) CLR2(a);a[2]=0
#define CLR4(a) CLR3(a);a[3]=0
#define CLR5(a) CLR4(a);a[4]=0
#define CLR6(a) CLR5(a);a[5]=0
#define CLR7(a) CLR6(a);a[6]=0
#define CLR8(a) CLR7(a);a[7]=0
#define CLR9(a) CLR8(a);a[8]=0
#define CLR10(a) CLR9(a);a[9]=0
#define CLR11(a) CLR10(a);a[10]=0
#define CLR12(a) CLR11(a);a[11]=0
#define CLR13(a) CLR12(a);a[12]=0
#define CLR14(a) CLR13(a);a[13]=0
#define CLR15(a) CLR14(a);a[14]=0
#define CLR16(a) CLR15(a);a[15]=0
#define CLR17(a) CLR16(a);a[16]=0
#define CLR18(a) CLR17(a);a[17]=0
#define CLR19(a) CLR18(a);a[18]=0
#define CLR20(a) CLR19(a);a[19]=0
看看结果:
326 CLR10(b);
032B 0A43 XOR A,A
032D E9B4FE MOV !_b,A
0330 E9B5FE MOV !_b+0x1,A
0333 E9B6FE MOV !_b+0x2,A
0336 E9B7FE MOV !_b+0x3,A
0339 E9B8FE MOV !_b+0x4,A
033C E9B9FE MOV !_b+0x5,A
033F E9BAFE MOV !_b+0x6,A
0342 E9BBFE MOV !_b+0x7,A
0345 E9BCFE MOV !_b+0x8,A
0348 E9BDFE MOV !_b+0x9,A
理想,呵呵。 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|