Да нет, это вообще не о том. Кстати, можно сделать небольшую
обёртку типа такого: void modify_reg(int volatile* reg, int reset, int set)
{
int volatile count;
int before;
do
{
before = count;
*reg = (*reg & ~reset) | set;
}
while (count != before);
count++;
}