Цитата(ReAl @ Oct 21 2012, 15:50)

я стараюсь поддерживать список PORT_TOGGLE_BY_PIN_WRITE актуальным
Неблагодарная работа. Поддержкой этого дефайна должен avr-libc заниматься. ИМХО.
А Вы правы, так оптимальнее выходит
Код
# define PM_CPL(port,bit,val) (PIN##port |= (1 << (bit)))
нежели
Код
# define PM_CPL(port,bit,val) (PIN##port = (1 << (bit)))
sbi PINx,n будет получше чем
ldi R, (1<<n)
out PINx,R
Остаётся подумать над тем, что всегда-ли PINx лежит в области применимости инструкции sbi,
а то можно немного доработать макросы и проверять этот момент чтобы не хватануть вариант с lds ori sts...