Вы меня не услышали. Операции с регистрами НЕ ДОЛЖНЫ БЫТЬ размазаны по прикладному коду. Настройка ли периферии, команды ли
в регистры общего назначения, они должны быть внутри функций,
реализующих (при взгляде снаружи) действия прикладного понятийного
уровня. Внутри каждой из таких функций может быть ровно одна команда манипуляции с битами, а может быть их там несколько и плюс что-то еще.
Адепты ООП радостно кидаются писать "снизу вверх", наворачивая несколько слоев абстракции и создавая "классы операций над битами",
но по факту, ВСЕ РАВНО их вызовы группируются в отдельных функциях, изолирующих прикладной код от манипуляции с SFR
и все это их творчество запросто можно вынести за скобки и сократить.
Если битовые операции ВСЕГДА внутри отдельной функции, то банально пофиг как они написаны, с ООП или напрямую, через маски "И-ИЛИ".