que tal Daniel
para empezar te conviene assembler, porque aprendes mejor como trabaja el micro, entendes la realidad de lo que hace.
con assembler el codigo que escribis es exactamente lo que hace el micro, por lo tanto tenes el control total del micro y de lo que hace.
por eso se dice que el asm es de bajo nivel, no porque sea trucho, sino porque tenes acceso directo al hardware (en este caso del micro).
luego tenes lenguajes de alto nivel, como el C, pascal o basic.
Aunque al C se lo considera de lenguaje medio.
luego que hayas aprendido asm, te recomiendo C porque esta mas difundido.
Al programar en C, asi como en otro lenguaje de alto nivel, podes olvidarte de algunas cosas que tenias que tener en cuenta en asm para poder programar.
ya que el compilador de C lo tiene en cuenta por vos. Vos haces tu programa sin tener en cuenta posiciones de memoria, paginado, etc. Siempre con cuidado.
por ejemplo, para multiplicar en asm tenes que usar unas rutinas para eso, o hacerlas vos.
en cambio en C pones: a=b*c;
listo, multiplicaste b y c, y lo guardaste en a. una pavada.
osea, si queres aprender bien posta, empeza con asm.
luego que consideres que hayas aprendido bien, pasate al C, esto te permitira hacer tus programas con mucha mas facilidad.
espero haberte ayudado.
saludos