c_macro.h

来自「在台湾义统公司」· C头文件 代码 · 共 60 行

H
60
字号

#define M_BANK(x)      _asm BANK x _endasm

#define M_SETRAMBANK1(x) RAMBS1 = x

#define M_ENI          _asm ENI _endasm
#define M_DISI         _asm DISI _endasm
#define M_BTG(x,y)     _asm BTG x,y _endasm 
#define M_NOP	       _asm NOP _endasm
#define NOP1           _asm NOP _endasm;


#define M_BS(x,y) 	x |= (0x01 << y)
#define M_BC(x,y) 	x &= (0xFF^(0x01 << y))
#define M_ISBS(x,y)	x & (0x01 << y)
#define M_ISBC(x,y)	!(M_ISBS(x,y))


// Macro for BS
#define M_BS0(x)  x |= 0x01
#define M_BS1(x)  x |= 0x02
#define M_BS2(x)  x |= 0x04
#define M_BS3(x)  x |= 0x08
#define M_BS4(x)  x |= 0x10
#define M_BS5(x)  x |= 0x20
#define M_BS6(x)  x |= 0x40
#define M_BS7(x)  x |= 0x80

// Macro for BC
#define M_BC0(x)  x &= 0xFE // 11111110b
#define M_BC1(x)  x &= 0xFD // 11111101b
#define M_BC2(x)  x &= 0xFB // 11111011b
#define M_BC3(x)  x &= 0xF7 // 11110111b
#define M_BC4(x)  x &= 0xEF // 11101111b
#define M_BC5(x)  x &= 0xDF // 11011111b
#define M_BC6(x)  x &= 0xBF // 10111111b
#define M_BC7(x)  x &= 0x7F // 01111111b

#define M_ISBS0(x)   x&0x01
#define M_ISBS1(x)   x&0x02
#define M_ISBS2(x)   x&0x04
#define M_ISBS3(x)   x&0x08
#define M_ISBS4(x)   x&0x10
#define M_ISBS5(x)   x&0x20
#define M_ISBS6(x)   x&0x40
#define M_ISBS7(x)   x&0x80

#define M_ISBC0(x)   !(M_ISBS0(x))
#define M_ISBC1(x)   !(M_ISBS1(x))
#define M_ISBC2(x)   !(M_ISBS2(x))
#define M_ISBC3(x)   !(M_ISBS3(x))
#define M_ISBC4(x)   !(M_ISBS4(x))
#define M_ISBC5(x)   !(M_ISBS5(x))
#define M_ISBC6(x)   !(M_ISBS6(x))
#define M_ISBC7(x)   !(M_ISBS7(x))


#define BYTE  unsigned char
#define UINT  unsigned int
#define ULONG unsigned long

⌨️ 快捷键说明

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