Hola gracias por responder!
Leyendo el datasheet "16 bit MCU and DSC Programmer " encontré unas funciones optimizadas para multiplicar en formato Q15 y revisando la "Dissasembly listen file"
se ve que utiliza las funciones dsp como MPY.
Migsantiago ya la había posteado y no le preste atención, pero cuando leí el datasheet recordé que la había visto en algún lado... jejeje
la vuelvo a copiar del post:
fractional d, e, f;
e = Q15(0.25); //0.25
f = Q15(0.5); //0.5
register int result asm("A"); //usa acumulador A
//ni * n2 sin prefetches
result = __builtin_mpy(n1, n2, 0, 0, 0, 0, 0, 0);
d = __builtin_sac(result, 0); //regresa el MSB de A
También las estoy combinando con las que se encuentran en libq.h para poder optimizar el código y obtener los menores tiempos de calculo.
Otra cosa el código en ensamblador me sigue sin funcionar... no se que estaré haciendo mal...
Saludos!