20_set_sfrb_bitfield_0.c

来自「linux下编程用 编译软件」· C语言 代码 · 共 32 行

C
32
字号
/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } *//* { dg-final { scan-assembler "set1 32532,#0" } } */typedef struct{  unsigned char b0:1;  unsigned char b1:1;  unsigned char b2:1;  unsigned char b3:1;  unsigned char b4:1;  unsigned char b5:1;  unsigned char b6:1;  unsigned char b7:1;} BitField;#define SFR (*((volatile BitField*)0x7f14))unsigned char *p = (unsigned char *) 0x7f14;voidDo (void){  SFR.b0 = 1;}intmain (void){  *p = 0x34;  Do ();  return (*p == 0x35) ? 0 : 1;}

⌨️ 快捷键说明

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