Вот так без битбанда: 	static	u32	flags;
	GPIOA->ODR ^= 1 << 5;
	flags ^= 1 << 15;
	BBB(GPIOA->ODR, 5) ^= 1;
	BBB(flags, 15) ^= 1;
 
    43:                         GPIOA->ODR ^= 1 << 5; 
0x08000422 4823      LDR      r0,[pc,#140]  ; @0x080004B0
0x08000424 300C      ADDS     r0,r0,#0x0C
0x08000426 6800      LDR      r0,[r0,#0x00]
0x08000428 F0800020  EOR      r0,r0,#0x20
0x0800042C 4920      LDR      r1,[pc,#128]  ; @0x080004B0
0x0800042E 310C      ADDS     r1,r1,#0x0C
0x08000430 6008      STR      r0,[r1,#0x00]
    44:                         flags ^= 1 << 15; 
0x08000432 4821      LDR      r0,[pc,#132]  ; @0x080004B8
0x08000434 6800      LDR      r0,[r0,#0x00]
0x08000436 F4804000  EOR      r0,r0,#0x8000
0x0800043A 491F      LDR      r1,[pc,#124]  ; @0x080004B8
0x0800043C 6008      STR      r0,[r1,#0x00]
    45:                         BBB(GPIOA->ODR, 5) ^= 1; 
0x0800043E 481F      LDR      r0,[pc,#124]  ; @0x080004BC
0x08000440 6800      LDR      r0,[r0,#0x00]
0x08000442 F0800001  EOR      r0,r0,#0x01
0x08000446 491E      LDR      r1,[pc,#120]  ; @0x080004C0
0x08000448 F8C10194  STR      r0,[r1,#0x194]
    46:                         BBB(flags, 15) ^= 1; 
0x0800044C 481A      LDR      r0,[pc,#104]  ; @0x080004B8
0x0800044E F36F0013  BFC      r0,#0,#20
0x08000452 491C      LDR      r1,[pc,#112]  ; @0x080004C4
0x08000454 4308      ORRS     r0,r0,r1
0x08000456 4918      LDR      r1,[pc,#96]  ; @0x080004B8
0x08000458 F3C10113  UBFX     r1,r1,#0,#20
0x0800045C EA401041  ORR      r0,r0,r1,LSL #5
0x08000460 6800      LDR      r0,[r0,#0x00]
0x08000462 F0800101  EOR      r1,r0,#0x01
0x08000466 4814      LDR      r0,[pc,#80]  ; @0x080004B8
0x08000468 F36F0013  BFC      r0,#0,#20
0x0800046C 4B15      LDR      r3,[pc,#84]  ; @0x080004C4
0x0800046E 4318      ORRS     r0,r0,r3
0x08000470 4B11      LDR      r3,[pc,#68]  ; @0x080004B8
0x08000472 F3C30313  UBFX     r3,r3,#0,#20
0x08000476 EA401043  ORR      r0,r0,r3,LSL #5
0x0800047A 6001      STR      r1,[r0,#0x00]