Je ne pense pas qu'il soit obligatoire de connaître l'ASM pour programmer en C. L'ASM varie évidemment beaucoup d'une architecture à l'autre (même s'il y a quelques points communs)
En revanche, pour programmer de façon optimisée _sur une plate-forme donnée_, c'est indispensable de bien connaître l'ASM de cette plate-forme, et de regarder la sortie du compilateur.