Почему чтение-изменение-запись необходимо для регистров во встроенных системах?

я читалhttp://embeddedgurus.com/embedded-bridge/2010/03/different-bit-types-in-different-registers/, который сказал:

С битами чтения / записи, прошивка устанавливает и очищает биты при необходимости. Обычно он сначала читает регистр, изменяет нужный бит, а затем записывает измененное значение обратно

и я столкнулся с этим, сохраняя при этом некоторый производственный код, закодированный здесь старыми ребятами из соли. Я не понимаю, почему это необходимо.

Когда я хочу установить / очистить немного, я всегда просто или / nand с битовой маской. На мой взгляд, это решает любые проблемы с безопасностью потоков, так как я предполагаю, что установка (либо путем присваивания, либо путем маски) регистра занимает всего один цикл. С другой стороны, если вы сначала прочитаете регистр, затем измените, а затем запишите, прерывание, происходящее между чтением и записью, может привести к записи старого значения в регистр.

Так зачем читать-модифицировать-писать? Это все еще необходимо?

Ответы на вопрос(5)

Ваш ответ на вопрос