macro_rules! atomic_bits {
    ($ldrex:expr) => {
        execute(|| {
            asm!($ldrex
                 : "=r"(raw)
                 : "r"(address)
                 :
                 : "volatile");
        })
    };
}