Chinaunix首页 | 论坛 | 博客
  • 博客访问: 111884
  • 博文数量: 15
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 445
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-30 09:48
文章分类

全部博文(15)

文章存档

2011年(1)

2010年(10)

2009年(1)

2008年(3)

我的朋友

分类: C/C++

2010-04-14 13:59:36

 
//宏定义方法:
#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) |
给主人留下些什么吧!~~