//宏定义方法:
#define __NOP1__ asm("nop");
#define __NOP2__ __NOP1__ __NOP1__
#define __NOP4__ __NOP2__ __NOP2__
#define __NOP8__ __NOP4__ __NOP4__
#define __NOP16__ __NOP8__ __NOP8__
#define __NOP32__ __NOP16__ __NOP16__
#define __NOP64__ __NOP32__ __NOP32__
#define __NOP128__ __NOP64__ __NOP64__
#define __NOPX__(a) \
if ((a)&(0x01)) {__NOP1__} \
if ((a)&(0x02)) {__NOP2__} \
if ((a)&(0x04)) {__NOP4__} \
if ((a)&(0x08)) {__NOP8__} \
if ((a)&(0x10)) {__NOP16__} \
if ((a)&(0x20)) {__NOP32__} \
if ((a)&(0x40)) {__NOP64__} \
if ((a)&(0x80)) {__NOP128__}
//宏引用方法(举例):
__NOPX__(13)
//编译结果:
138: __NOPX__(13)
051D 0000 NOP
051E 0000 NOP
051F 0000 NOP
0520 0000 NOP
0521 0000 NOP
0522 0000 NOP
0523 0000 NOP
0524 0000 NOP
0525 0000 NOP
0526 0000 NOP
0527 0000 NOP
0528 0000 NOP
0529 0000 NOP
//说明,此宏在PICC中编译通过
//程序匠人 于 2008-06-03
阅读(986) | 评论(0) | 转发(0) |