Почему чтение-изменение-запись необходимо для регистров во встроенных системах?
я читалhttp://embeddedgurus.com/embedded-bridge/2010/03/different-bit-types-in-different-registers/, который сказал:
С битами чтения / записи, прошивка устанавливает и очищает биты при необходимости. Обычно он сначала читает регистр, изменяет нужный бит, а затем записывает измененное значение обратно
и я столкнулся с этим, сохраняя при этом некоторый производственный код, закодированный здесь старыми ребятами из соли. Я не понимаю, почему это необходимо.
Когда я хочу установить / очистить немного, я всегда просто или / nand с битовой маской. На мой взгляд, это решает любые проблемы с безопасностью потоков, так как я предполагаю, что установка (либо путем присваивания, либо путем маски) регистра занимает всего один цикл. С другой стороны, если вы сначала прочитаете регистр, затем измените, а затем запишите, прерывание, происходящее между чтением и записью, может привести к записи старого значения в регистр.
Так зачем читать-модифицировать-писать? Это все еще необходимо?