macros.h

来自「ADI公司SHARC与BlackFin通过SPI协议相互通信的源代码」· C头文件 代码 · 共 46 行

H
46
字号
#define CORE_MMR_BASE   0xFFE00000
#define SYS_MMR_BASE    0xFFC00000

#define UPPER_( x ) (((x) >> 16) & 0x0000FFFF)
#define LOWER_( x ) ((x) & 0x0000FFFF)

/* Load Immediate 32-bit value into data or address register */
#define IMM32(reg,val) reg##.H=hi(val); reg##.L=lo(val)

/* Long call */
#define call(x)\
    [--SP] = P5;\
    IMM32(P5,x);\
    call (P5);\
    P5 = [SP++]


/* Stack PUSH/POP operations*/
#define PUSH_LOOP_REGx(x)\
    [--SP] = LC ## x;\
    [--SP] = LT ## x;\
    [--SP] = LB ## x

#define POP_LOOP_REGx(x)\
    LC ## x = [SP++];\
    LT ## x = [SP++];\
    LB ## x = [SP++]


#define PUSH_DAG_REGx(x)\
    [--SP] = I ## x;\
    [--SP] = B ## x;\
    [--SP] = M ## x;\
    [--SP] = L ## x

#define POP_DAG_REGx(x)\
    L ## x = [SP++];\
    M ## x = [SP++];\
    B ## x = [SP++];\
    I ## x = [SP++]


/*****************************************************************************
 EOF
******************************************************************************/

⌨️ 快捷键说明

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