Цитата(zöner @ Mar 10 2012, 13:41)

обращение к порту происходит только в последней команде. Это и есть атомарность.здесь - нигде
Перечитайте внимательнее начальное сообщение. Там говорится о "атомарности операции bit-banding", а не атомарности доступа к порту.
Сделать эту последовательность из 3-х команд атомарной можно тока запретом прерываний.
Тогда как в 1-м случае, как я понимаю, используется спец. адресное пространство и команда STR r0,[r1,#0x64] модифицирует только заданные биты ячейки памяти
(заданные маской или номером бита в R0).