[an error occurred while processing this directive]
|
Думаю что компилятор будет делать read-modify-write для каждого бита. В этом есть смысл, так как даже последовательность записи бит в volatile ячейку может иметь значение. регистры замапленные в память как правило объявляют volatile. Если это не volatile и нет проблем с aliasing, достаточно умный компилятор может сообразить что можно загрузить ячейку памяти в регистр и модифицировать значение регистра. Хотя в коде все равно будет куча or или нечто типа кучи bitset. Вобщем, смотреть надо.
Можно, как SM говорил, соорудить макрос и собирать требуемое значение константы препроцессором. Тогда будет только один цикл read-modify-write.
E-mail: info@telesys.ru