При написании кода на ассемблере вы всегда должны знать, действительно ли данный фрагмент кода должен быть написан на ассемблере. Необходимо взвесить все за и против, современные компиляторы способны оптимизировать код и могут достичь сопоставимой производительности (в том числе и большей, если версия ассемблера, написанная программистом, не оптимальна с самого начала).
Главный недостаток ассемблера — непереносимость полученной программы в будущем для других платформ.