Parece ser una opinión generalizada que la programación de ensamblaje lleva más tiempo y es más difícil de programar que un lenguaje de nivel superior como C. Por lo tanto, parece recomendarse o asumir que es mejor escribir en un lenguaje de nivel superior por estas razones. y por la mejor portabilidad.
Recientemente he estado escribiendo en ensamblaje x86 y me di cuenta de que quizás estas razones no son realmente ciertas, excepto quizás la portabilidad. Quizás es más una cuestión de familiaridad y saber cómo escribir bien el ensamblaje. También noté que la programación en ensamblaje es bastante diferente a la programación en un HLL. Quizás un programador de ensamblaje bueno y experimentado podría escribir programas con la misma facilidad y rapidez que un programador de C experimentado escribiendo en C.
Quizás sea porque la programación de ensamblaje es bastante diferente a las HLL y, por lo tanto, requiere diferentes formas de pensar, métodos y formas, lo que hace que parezca muy incómodo programar para personas desconocidas, por lo que le da su mal nombre para escribir programas.
Si la portabilidad no es un problema, entonces, ¿qué tendría C sobre un buen ensamblador como NASM?
Editar: solo para señalar. Cuando escribe en conjunto, no tiene que escribir solo en códigos de instrucciones. Puede usar macros y procedimientos y sus propias convenciones para hacer varias abstracciones para hacer que los programas sean más modulares, más fáciles de mantener y más fáciles de leer. Aquí es donde entra familiarizarse con cómo escribir un buen ensamblaje.