📄 endian.h
字号:
#ifndef __ENDIAN_H__
#define __ENDIAN_H__
#include "cpu.h"
#ifdef LITTLE_ENDIAN
#undef LITTLE_ENDIAN
#endif
#ifdef BIG_ENDIAN
#undef BIG_ENDIAN
#endif
#define LITTLE_ENDIAN 1
#define BIG_ENDIAN 2
#if (CPU == MC68VZ328)
#define ENDIAN BIG_ENDIAN
#elif ((CPU == MC9328MXL) || (CPU==LPC22xx))
#define ENDIAN LITTLE_ENDIAN
#else
#error ENDIAN Setting cannot be defined because CPU is invalid
#endif
#if (ENDIAN==BIG_ENDIAN)
#define SWAP16(x) ((((x) >> 8) & 0x00ff) | (((x) << 8) & 0xff00))
#define SWAP32(x) ((((x) >> 24) & 0x000000ff) | \
(((x) >> 8) & 0x0000ff00) | \
(((x) << 8) & 0x00ff0000) | \
(((x) << 24) & 0xff000000))
#else
#define SWAP16(x) x
#define SWAP32(x) x
#endif
// these macros are for swapping regardless of endian
#define SWAPSHORT(x) ((((x) >> 8) & 0x00ff) | (((x) << 8) & 0xff00))
#define SWAPLONG(x) ((((x) >> 24) & 0x000000ff) | \
(((x) >> 8) & 0x0000ff00) | \
(((x) << 8) & 0x00ff0000) | \
(((x) << 24) & 0xff000000))
#endif /* _ENDIAN_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -