Я даже больше скажу -- если написать на асме программу размером байт десять, то С-шный вариант проиграет раз в пять-восемь, так как С (по крайней мере WinAVR) и всю таблицу прерываний заполняет переходом на ловушку необработанных прерываний, и прочие «общеподготовительные» вещи могут место занять. Т.е. у С-шной программы даже без желания автора обычно несколько другой функционал.
И на малых программах асм позволяет почти все переменные в регистрах разместить.
На больших программах недостаток С в виде некоторых начальных затрат и преимущество асма по размещению части переменных в оптимальных для этого регистрах пропадают и разница уже не такая большая.
Никаких противоречий со сказанным ранее про асм и С

Для tiny13, tiny26, tiny24 я и сам на асме пишу -- когда нужно вылизывать такты/потребление.
А когда не нужно — то лишь бы влезло.
Кстати, если оно на С под WinAVR или без особой привязке к компилятору, если можно — в личку оба проекта, я посмотрю, что можно сделать с С-шным вариантом.Увидел всё по линку, гляну по свободе. На носу куча выходных

Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.