Questa è la spiegazione che da la ST delle migliori prestazioni del C rispetto all' asm dopo aver condotto dei benchmark sulle loro stesse librerie:
"Analysis of the PID timing shows that assembly code is not as fast as C code. The compiler is more efficient in accessing variables than manual optimization (offset computation and data placement in literal pool)."
La descrizione delle librerie, i test ed altro sono contenuti nel UM0585 User manual reperibile sul sito ST, precisamente:
www.st.com/stonline/books/pdf/docs/14988.pdf
Non essendo io un mostro del' assembler (e nemmeno del C) mi fido di chi ne sa più di me ed anche delle mie verifiche sperimentali.
In alcuni casi, anche con i PIC, è piuttosto difficile ottimizzare veramente al 100% calcoli complessi in ASM, è possibile che un buon compilatore adotti strategie migliori.