【发布时间】:2014-08-20 13:31:38
【问题描述】:
我正在编写以下代码...
CPUToBE16(uint16 x)
{
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
if (!__builtin_constant_p(x)) {
int bits = 8;
__asm__ ("rolw %%cl, %0"
: "=r" (x)
: "0" (x), "c" (bits));
return x;
}
#endif
return ((x >> 8) & 0x00ff) | ((x << 8) & 0xff00);
}
如果 x 的值为 0x0800,谁能解释一下代码的作用
【问题讨论】:
标签: linux linux-kernel linux-device-driver