En ASM podés implementar los flotantes, y seguro que vas a tener alguna librería. Pero usualmente es más cómodo hacer un punto fijo. Q1.15 por ejemplo o Q1.14.
Es más sencillo de operar, ya que todo es un número y no como los flotantes que es parte exponente, parte mantisa y signo.
Y de hacerlo todo se puede hacer, pero lo vale la pena ya que con XC8 ya tenés un control bastante bueno de todo. Solo se escapa la parte de manejo de memoria y stack que lo maneja el compilador y el linker.
En resumen: si lo querés hacer adelante, es un aprendizaje para vos, sino es un tiempo perdido a no ser que realmente no te quede otra opción.