Ambos lenguajes son buenos,dependiendo de los objetivos de quien programa.
El ASeMbler,es minucioso y poderoso en el detalle,pero lento para escribirlo .
Bueno para pequeños programas,aunque complejos.Sumamente flexible.
Su compilador es muy simple comparativamente.
Para programas muy voluminosos y de mucha estructura, es preferible el C.
Este sacrifica a menudo -detalle- , en pos de acelerar el objetivo final,dando mucho poder a las
instrucciones.Pierde flexibilidad.
Comparativamente el C es de nivel MEDIO,el ASEMBLER de BAJO y el BASIC seria el mas ALTO
El ASM se usa para escribir sistemas operativos compactos y rapidos.
La tendencia seria que C podria usar mas memoria para hacer lo mismo,ya que tiende a usar mas direccionamiento indirecto para las matrices y cosas asi.
El C apunta a las MACRO INSTRUCCIONES hechas por quien diseño el compilador C
Espero ayude.