(y))?(x):(y))#defineMIN(x,y)(((x)<(y))?(x):(y))得到一個field在結構體(struct)中的偏移量#defineFPOS(type,field)((dword)&((type*)0)->field)得到一個" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

宏定義

系統 1750 0
得到指定地址上的一個字節或字
#define MEM_B(x) (*((byte *)(x)))
#define MEM_W(x) (*((word *)(x)))

求最大值和最小值
#define MAX(x,y) (((x)>(y)) ? (x) : (y))
#define MIN(x,y) (((x) < (y)) ? (x) : (y))

得到一個field在結構體(struct)中的偏移量
#define FPOS(type,field) ((dword)&((type *)0)->field)

得到一個結構體中field所占用的字節數
#define FSIZ(type,field) sizeof(((type *)0)->field)

按照LSB格式把兩個字節轉化為一個Word
#define FLIPW(ray) ((((word)(ray)[0]) * 256) + (ray)[1])

按照LSB格式把一個Word轉化為兩個字節
#define FLOPW(ray,val) (ray)[0] = ((val)/256); (ray)[1] = ((val) & 0xFF)

得到一個變量的地址(word寬度)
#define B_PTR(var) ((byte *) (void *) &(var))
#define W_PTR(var) ((word *) (void *) &(var))

得到一個字的高位和低位字節
#define WORD_LO(xxx) ((byte) ((word)(xxx) & 255))
#define WORD_HI(xxx) ((byte) ((word)(xxx) >> )

返回一個比X大的最接近的8的倍數
#define RND8(x) ((((x) + 7)/8) *

將一個字母轉換為大寫
#define UPCASE(c) (((c)>='a' && (c) <= 'z') ? ((c) - 0x20) : (c))

判斷字符是不是10進值的數字
#define DECCHK(c) ((c)>='0' && (c)<='9')

判斷字符是不是16進值的數字
#define HEXCHK(c) (((c) >= '0' && (c)<='9') ((c)>='A' && (c)<= 'F') \
((c)>='a' && (c)<='f'))

防止溢出的一個方法
#define INC_SAT(val) (val=((val)+1>(val)) ? (val)+1 : (val))

返回數組元素的個數
#define ARR_SIZE(a) (sizeof((a))/sizeof((a[0])))

返回一個無符號數n尾的值
MOD_BY_POWER_OF_TWO(X,n)=X%(2^n)
#define MOD_BY_POWER_OF_TWO( val, mod_by ) ((dword)(val) & (dword)((mod_by)-1))

對于IO空間映射在存儲空間的結構,輸入輸出處理
#define inp(port) (*((volatile byte *)(port)))
#define inpw(port) (*((volatile word *)(port)))
#define inpdw(port) (*((volatile dword *)(port)))
#define outp(port,val) (*((volatile byte *)(port))=((byte)(val)))
#define outpw(port, val) (*((volatile word *)(port))=((word)(val)))
#define outpdw(port, val) (*((volatile dword *)(port))=((dword)(val)))

宏定義


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产成人精品免费视频 | 午夜一级精品免费毛片 | 欧美国产永久免费看片 | 熟妇毛茸茸xxxoo | 成人高清视频在线观看大全 | 国产欧美在线观看精品一区二区 | 国产一级毛片视频 | 国产伦码精品一区二区三区 | 久久精品日日躁精品 | 亚洲毛片儿 | 天天狠天天天天透在线 | 久久综合九九亚洲一区 | 色综合久久久久久久久五月性色 | 999精品在线 | 国产精品视频免费视频 | 在线观看日本免费视频大片一区 | 91热久久免费频精品99欧美 | 亚洲精品98久久久久久中文字幕 | 精品99久久 | 中文字幕亚洲欧美 | 欧美日韩国产一区三区 | 欧美激情综合 | 日本成本人在线观看免费视频 | 久久高清一区二区三区 | 国产日韩精品视频一区二区三区 | 亚洲欧美在线观看91偷拍 | 久久99九九99九九精品 | 九九视频免费在线 | 99re这里有精品 | 国产精品亚洲精品观看不卡 | 热99re久久精品这里都是免费 | 亚洲韩国日本一级二级r级 亚洲韩精品欧美一区二区三区 | 国产精品真实对白精彩久久 | 久久99久久99精品免费看动漫 | 97精品国产91久久久久久 | 欧美成人香蕉网在线观看 | 亚洲国产高清一区二区三区 | 久久伊人网站 | 国产青色| 日韩毛片在线免费观看 | 亚洲精品人成在线观看 |