Вот так без битбанда: 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]