阅读:1302回复:4
请问这句话是什么意思?
// PCI Status
#define PLX9056_PCISR ULONG(0x0006) #define PLX9056_PCISR_NCFS USHORT(1 << 4) #define PLX9056_PCISR_66MHZC USHORT(1 << 5) #define PLX9056_PCISR_UDF USHORT(1 << 6) #define PLX9056_PCISR_FBTBC USHORT(1 << 7) #define PLX9056_PCISR_MDPED USHORT(1 << 8) #define PLX9056_PCISR_DEVSELT USHORT(3 << 9) #define PLX9056_PCISR_TA USHORT(1 << 11) #define PLX9056_PCISR_RTA USHORT(1 << 12) #define PLX9056_PCISR_RMA USHORT(1 << 13) #define PLX9056_PCISR_SSE USHORT(1 << 14) #define PLX9056_PCISR_DPE USHORT(1 << 15) USHORT(1 << 4), USHORT(1 << 5) 这样的语句是什么意思呢? 定义寄存器怎么理解? |
|
沙发#
发布于:2007-02-28 11:24
1<<4是把 1 左移四位,ushort表示把结果转成ushort
实际是就是一个值 它表明,你的PLX9056_PCISR是一个位掩码标志 对于 3<< x的形式,你就只能认为它是一个值了. |
|
|
板凳#
发布于:2007-02-28 11:29
谢谢你
那 #define PLX9056_PCISR_DEVSELT USHORT(3 << 9) 意思是把3左移9位? |
|
地板#
发布于:2007-02-28 16:59
是的:)
|
|
|
地下室#
发布于:2007-03-28 23:56
3左移9位,是按二进制移的,即二进制的11000 000 00,可不是移成十进制的3000 000 000哦~~~`
|
|
|