X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=src%2Fcore_common.inc;fp=src%2Fcore_common.inc;h=ec364eff40377f8ae60a9b95755b83652194b6ec;hb=6f720ff00773571c2fa2d35e67bff68547617639;hp=0000000000000000000000000000000000000000;hpb=807b2dd5b7365eb87b482197af3b4a3f520c14f7;p=msp430-libc.git diff --git a/src/core_common.inc b/src/core_common.inc new file mode 100644 index 0000000..ec364ef --- /dev/null +++ b/src/core_common.inc @@ -0,0 +1,52 @@ +#ifndef __CORE_COMMON_H__ +#define __CORE_COMMON_H__ +#if defined (__ASSEMBLER__) + +/* + * if __MSP430X2__ defined, __MSP430X__ is defined too + * so we check for __MSP430X__ only + */ +#if defined(__MSP430X__) + #if defined(__MSP430X_ADDR_16BIT__) + #define XBR br + #define XCALL call + #define XRET ret + #define XMOVA mov + #define XCMP cmp + #else + #define XBR bra + #define XCALL calla + #define XRET reta + #define XMOVA mova + #define XCMP cmpa + #endif + #if defined(__MSP430X_REGS_16BIT__) + #define XPUSH pushx.w + #define XPOP popx.w + #define XPUSHM pushm.w + #define XPOPM popm.w + #define XMOV movx.w + .equ PUSH_BYTES, 2 + #else + #define XPUSH pushx.a + #define XPOP popx.a + #define XPUSHM pushm.a + #define XPOPM popm.a + #define XMOV movx.a + .equ PUSH_BYTES, 4 + #endif +#else + #define XBR br + #define XCALL call + #define XRET ret + #define XMOV mov + #define XCMP cmp + #define XPUSH push + #define XPOP pop + #define XMOVA mov + .equ PUSH_BYTES, 2 +#endif + +#endif /* __ASSEMBLER__ */ + +#endif /* __CORE_COMMON_H__ */