в микроконтроллерах АРМ асм тоже не нужен: есть хорошие компиляторы и оптимизаторы типа gcc, keil, iar. Есть библиотеки с готовыми асм вставками от производителя проца - арм консорциума. Итог писать на асме не нужно никогда и ничего. Очень и очень иногда использовать спец либы ДСП может да, с стилем "псевдо-ассемблер на си" когда инлайн-функциями записаны асм команды обрабатывающие вектор. Но обычно уже все свёртки, фурье и тд очень быстрый уже есть. И оптимизировать там - всё равно что биться голой об стену и воевать с компилятором насколько близко ты его догонишь.
Но если так хочется:
Есть соглашения как писать ассемблерный код, какие регистры волатильные какие нет, как организовывать стековый фрейм и тд и тп. И если всего этого придерживаться, то выйдет очень долго и нудно, а результат очень сильно разочарует.
Да раньше для арм МК писали на асме код запуска, куски RTOS, обработка исключений, но с освоением кортекса, формата LD и секций gcc даже это стало не нужно вообще.
За свою практику (7 лет на арм) я ни разу на асме не писал. Нужно быстродействие - ставь FPGA.