ассемблер незаменим в эксклюзивных задачах достижения максимальной
эффективности и компактности, но такие, к счастью , встречаются
крайне редко, но они бывают, и камень "пожирнее" не всегда есть
возможность выбрать (вот, к примеру у меня в одном проекте ATtiny10
стоит и другой не поставить по габаритам/стоимости :)) при прочих равных по определению Си код не может превзойти по эффективности и компактности ассемблер, так как ассеблер это "последняя инстанция" :)) но повторюсь, таких задач, где только исключительно асм и ничто другое - исчезающе мало :) А с т.зр программирования (а не кодописания) - всё равно, что ассемблер, что Си, Паскаль, Фортран, Ада или Модула-2, и даже Форт :)))) тут всё дело именно в алгоритме и математике!!
Хотите на Си - не вопрос - можно поставить задачу - "максимально эффективно на СИ" а просто "максимально эффективно" предполагает на чём угодно :)
и да, итерация цикла на Си совсем не равна итерации на ассемблере. На си вообще сильно всё от компилятора зависит. Тогда уж и его нужно в условие задачи включать, например "максимально эффективно на GCC" :))