Yo creo que la palabra "obsoleto" no aplica al lenguaje ensamblador... Sería como decir que por tener un auto TESLA con autopilot es obsoleto saber de mecánica básica...
Estoy de acuerdo en lo qué mencionan muchos comentarios, es muy útil saber ensamblador para tener las nociones básicas de qué hace el micro y si quieres programarlo en C, pero sabiendo qué pasa bajo el capó del micro.
Si te fijas bien en los temas del foro, muchas, pero muchísimas preguntas del uso de PICS (usando C) van relacionadas a cuestiones básicas del micro como manejo de los ADCs, inicialización de los fusibles, configuración de los TIMERS etc...
Muchas de esas preguntas tienen una respuesta muy obvia cuando se conoce la estructura del micro o se sabe como hacer esas partes en ASM, pues te obliga a conocer los registros y como se configuran, pero al NO saber ASM hace que muchos que usan C sin saber ASM se atoren seguido en esas partes.
En especial no tengo nada en contra del lenguaje C, salvo por los compiladores, es ahí en donde cojea el asunto.
Resulta qué a pesar de que C se escribe igual, NO se compila IGUAL en todos los compiladores...
En los compiladores de C de microchip, resulta que los qué son gratis, generan mucho código basura, y los que son eficientes, son de paga. (Pienso qué es muy injusto porque abusan del usuario qué va a usar sus micros, obligandolo a pagar por optimizar y ser eficiente).
El compilador C de CSS, en lo personal considero qué es una BASURA... En cada versión cuando arreglan algo, descomponen otra cosa, incluso, un mismo proyecto compilado con versiones distintas de CSS te puede dar problemas qué antes no tenías!
Así qué depende mucho de que es lo qué vayas a programar o tengas pensado usar el micro...
A nivel de hobbista, usa lo que más te acomode, aunque es recomendable saber ASM primero y luego C
A nivel PROFESIONAL, la cosa es distinta, pues deberás evaluar cual lenguaje o qué compilador te conviene más y permita generar productos o diseños libres de errores.
Saludos