Jasne - struktury i unie.
Trzeba tylko pamiętać, że modyfikacja bitów zadeklarowanych w ten sposób nie jest operacja atomową. Pojawią się więc problemy gdy bity będą modyfikowane w przerwaniu i programie głównym (przerwanie ustawia flagę, program główny kasuje ją). W ARM ATOMIC_BLOCK niekoniecznie musi byc tak prosty jak w AVR czy '51 (sei, cli) bo może działać DMA. ARM ma wielopoziomowy układ przerwań, należałby blokować tylko te poziomy, które mogą modyfikować bity.
Czy warto utrudniać sobie życie?
8051 ma 128 bitów o bezpośrednim dostępie co zajmuje 16 bajtów RAM. 8051 ma 128bajtów RAM ewentualnie 256 adresowanych @Rx. 16*100/256 = 6,25%. ARM mają 8...128KB RAM. 128bajtów to ok 1,6% przy 20KB, 0,19% przy 128KB.
Warto?
Niektóre ARM maja obszary adresowane bitowo.